<?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>34529</bug_id>
          
          <creation_ts>2010-02-03 08:09:17 -0800</creation_ts>
          <short_desc>[CSSOM] issues with cssText and selectorText</short_desc>
          <delta_ts>2010-06-08 22:08:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://glazman.org/forCSSWG/selectorTextBug.html</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Yuzo Fujishima">yuzo</assigned_to>
          <cc>abarth</cc>
    
    <cc>annevk</cc>
    
    <cc>bdakin</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>webkit.bugzilla</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yuzo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>187365</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-02-03 08:09:17 -0800</bug_when>
    <thetext>Resent-From: 	www-style list &lt;www-style@w3.org&gt;
	From: 	Daniel Glazman &lt;daniel.glazman@disruptive-innovations.com&gt;
	Subject: 	[CSSOM] issues with cssText and selectorText
	Date: 	February 3, 2010 7:58:15 am PST
	To: 	www-style list &lt;www-style@w3.org&gt;
Message-Id: 	&lt;4B699D17.5060009@disruptive-innovations.com&gt;

Hi there,

I just discovered that Opera is the only &quot;major&quot; browser
that does not return a useless result for selectorText and
cssText in some cases that are not edge cases any more...

If the selector of a rule contains a ident itself containing
a colon, the colon must be escaped in the selector. But its
serialization in selectorText and cssText is NOT escaped. The
same issue happens with many escaped characters.

So the result of cssText and selectorText is useless because
unparseable and invalid...

FWIW, I have written a small test here

 http://glazman.org/forCSSWG/selectorTextBug.html

I said it&apos;s not an edge case any more because a small site called
Facebook gives its partners embeddable stylesheets with such selectors.
I discovered them validating a stylesheet in a famous newspaper&apos;s
website.
It&apos;s also super important to have a bijection here for editing
environments. If cssText and selectorText are unreliable, then building
a conforming style editor is almost impossible.

I think we should clarify the situation here, saying that the result
of selectorText and cssText must be parseable and represent really
what they are the serialization of...

FWIW, both Safari and Mozilla fail on the test above. MSIE of course
is not even able of running the three lines of script...

&lt;/Daniel&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201744</commentid>
    <comment_count>1</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2010-03-19 00:11:34 -0700</bug_when>
    <thetext>FWIW, http://dev.w3.org/csswg/cssom/ now defines the rules for how to serialize these things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227127</commentid>
    <comment_count>2</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-05-17 22:35:34 -0700</bug_when>
    <thetext>*** Bug 33725 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227243</commentid>
    <comment_count>3</comment_count>
      <attachid>56354</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-05-18 03:58:46 -0700</bug_when>
    <thetext>Created attachment 56354
Fix for Bug 34529 -  [CSSOM] issues with cssText and selectorText</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227249</commentid>
    <comment_count>4</comment_count>
      <attachid>56357</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-05-18 04:07:03 -0700</bug_when>
    <thetext>Created attachment 56357
Style fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227250</commentid>
    <comment_count>5</comment_count>
      <attachid>56358</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-05-18 04:19:41 -0700</bug_when>
    <thetext>Created attachment 56358
Add another test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227313</commentid>
    <comment_count>6</comment_count>
      <attachid>56358</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-05-18 08:19:55 -0700</bug_when>
    <thetext>Comment on attachment 56358
Add another test

In general this looks good, but doing lots of String appends is inefficient. You should use StringBuilder instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227348</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-18 09:36:05 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; In general this looks good, but doing lots of String appends is inefficient. You should use StringBuilder instead.

Good point! But for building strings a character at a time, StringBuilder isn&apos;t efficient either. Vector&lt;UChar&gt; is probably the type of choice, or even Vector&lt;UChar, 256&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227635</commentid>
    <comment_count>8</comment_count>
      <attachid>56446</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-05-18 20:28:04 -0700</bug_when>
    <thetext>Created attachment 56446
Use Vector&lt;UChar&gt; for better performance</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227636</commentid>
    <comment_count>9</comment_count>
      <attachid>56447</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-05-18 20:29:46 -0700</bug_when>
    <thetext>Created attachment 56447
Use Vector&lt;UChar&gt; for better performance</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227639</commentid>
    <comment_count>10</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-05-18 20:31:12 -0700</bug_when>
    <thetext>Simon, Darin,

Thank you for reviewing this.
I&apos;ve changed to use Vector&lt;UChar&gt;. Please take another look.

(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; In general this looks good, but doing lots of String appends is inefficient. You should use StringBuilder instead.
&gt; 
&gt; Good point! But for building strings a character at a time, StringBuilder isn&apos;t efficient either. Vector&lt;UChar&gt; is probably the type of choice, or even Vector&lt;UChar, 256&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227643</commentid>
    <comment_count>11</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-05-18 20:38:09 -0700</bug_when>
    <thetext>Attachment 56447 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/2320319</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227651</commentid>
    <comment_count>12</comment_count>
      <attachid>56450</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-05-18 21:09:50 -0700</bug_when>
    <thetext>Created attachment 56450
Try to fix Qt compilation error</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227658</commentid>
    <comment_count>13</comment_count>
      <attachid>56450</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-05-18 21:42:45 -0700</bug_when>
    <thetext>Comment on attachment 56450
Try to fix Qt compilation error

WebCore/css/CSSOMUtils.cpp:56
 +      append(appendTo, String::format(&quot;\\%x &quot;, c));
Do we have test case which checks this path?

WebCore/css/CSSOMUtils.cpp:76
 +          if (c &lt;= 0x1f || (0x30 &lt;= c &amp;&amp; c &lt;= 0x39 &amp;&amp; (isFirst || (isSecond &amp;&amp; isFirstCharHyphen))))
Are there any reason we cannot use character literals such as &apos;0&apos; or &apos;9&apos; (or maybe L&apos;0&apos; or L&apos;9&apos;) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227659</commentid>
    <comment_count>14</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-05-18 21:56:09 -0700</bug_when>
    <thetext>Thank you for the review.

(In reply to comment #13)
&gt; (From update of attachment 56450 [details])
&gt; WebCore/css/CSSOMUtils.cpp:56
&gt;  +      append(appendTo, String::format(&quot;\\%x &quot;, c));
&gt; Do we have test case which checks this path?
&gt; 

Yes. Tests 1 through 6 run the path.

&gt; WebCore/css/CSSOMUtils.cpp:76
&gt;  +          if (c &lt;= 0x1f || (0x30 &lt;= c &amp;&amp; c &lt;= 0x39 &amp;&amp; (isFirst || (isSecond &amp;&amp; isFirstCharHyphen))))
&gt; Are there any reason we cannot use character literals such as &apos;0&apos; or &apos;9&apos; (or maybe L&apos;0&apos; or L&apos;9&apos;) ?

I used character code in hopes of making it easier to see if the
function truthfully implements http://dev.w3.org/csswg/cssom/#common-serializing-idioms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227680</commentid>
    <comment_count>15</comment_count>
      <attachid>56457</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-05-18 22:53:23 -0700</bug_when>
    <thetext>Created attachment 56457
Add test descriptions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233604</commentid>
    <comment_count>16</comment_count>
      <attachid>56457</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-06-02 21:57:48 -0700</bug_when>
    <thetext>Comment on attachment 56457
Add test descriptions

(In reply to comment #15)
&gt; Created an attachment (id=56457) [details]
&gt; Add test descriptions

Thanks for your description! This change looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235649</commentid>
    <comment_count>17</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-06-08 21:44:37 -0700</bug_when>
    <thetext>Committed r60880: &lt;http://trac.webkit.org/changeset/60880&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235652</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-08 22:08:27 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/60880 might have broken Qt Linux Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56354</attachid>
            <date>2010-05-18 03:58:46 -0700</date>
            <delta_ts>2010-05-18 04:06:56 -0700</delta_ts>
            <desc>Fix for Bug 34529 -  [CSSOM] issues with cssText and selectorText</desc>
            <filename>bug-34529-20100518035844.patch</filename>
            <type>text/plain</type>
            <size>22421</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiMjI1ZDU4NThkYjU3NmIxNmZhOTZjMWVlMWYyZDJhZjIwZTlhNWQ1Li5mM2NiMmI5
NzI5NTczMzI0MzBiY2QxMDg2Y2ZkNjc1NzhmMjkzOGVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDUtMTggIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgQnVnIDM0NTI5
IC0gIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0b3JUZXh0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDUyOQorCisgICAgICAg
ICogZmFzdC9jc3Mvc2VsZWN0b3ItdGV4dC1lc2NhcGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sOiBBZGRlZC4KKwogMjAx
MC0wNS0xNiAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9z
ZWxlY3Rvci10ZXh0LWVzY2FwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9z
ZWxlY3Rvci10ZXh0LWVzY2FwZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM4M2FjMWIyMDM1
Yjk4NzExYzYxM2M3MjMzMGM5YTMzMDBlMTI0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQ5IEBACitUZXN0IGZvciBCdWcgMzQ1MjkgLSBbQ1NTT01dIGlzc3VlcyB3aXRoIGNzc1RleHQg
YW5kIHNlbGVjdG9yVGV4dAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworTGlzdCBp
dGVtcyBtdXN0IGJlIGdyZWVuLiBPdGhlcndpc2Ugc29tZSBzZWxlY3RvcnMgYXJlIGludmFsaWQu
CitjbGFzcz0iJiMwMDE7X2NsYXNzIgorY2xhc3M9IiYjMDMxO19jbGFzcyIKK2NsYXNzPSIwX2Ns
YXNzIgorY2xhc3M9IjlfY2xhc3MiCitjbGFzcz0iLTBfY2xhc3MiCitjbGFzcz0iLTlfY2xhc3Mi
CitjbGFzcz0iLS1fY2xhc3MiCitjbGFzcz0iJiMxMjk7X2NsYXNzIgorY2xhc3M9IuaXpeacrOiq
nl9jbGFzcyIKK2NsYXNzPSLwkJCAX2NsYXNzIgorY2xhc3M9ImF6QVowOV9jbGFzcyIKK2NsYXNz
PSIoLzpAW35fY2xhc3MiCitpZD0iYS5leHRlcm5hbDp2aXNpdGVkIgorUEFTUyBydWxlc1swXS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1swXQorUEFTUyBydWxlc1swXS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbMF0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1sxXS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1sxXQorUEFTUyBydWxlc1sxXS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbMV0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1syXS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1syXQorUEFTUyBydWxlc1syXS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbMl0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1szXS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1szXQorUEFTUyBydWxlc1szXS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbM10gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s0XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s0XQorUEFTUyBydWxlc1s0XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbNF0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s1XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s1XQorUEFTUyBydWxlc1s1XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbNV0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s2XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s2XQorUEFTUyBydWxlc1s2XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbNl0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s3XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s3XQorUEFTUyBydWxlc1s3XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbN10gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s4XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s4XQorUEFTUyBydWxlc1s4XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbOF0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s5XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s5XQorUEFTUyBydWxlc1s5XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbOV0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1sxMF0u
c2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMTBdCitQQVNTIHJ1bGVzWzEwXS5jc3NUZXh0
IGlzIGV4cGVjdGVkVGV4dHNbMTBdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BBU1MgcnVsZXNb
MTFdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzExXQorUEFTUyBydWxlc1sxMV0uY3Nz
VGV4dCBpcyBleHBlY3RlZFRleHRzWzExXSArICcgeyBjb2xvcjogZ3JlZW47IH0nCitQQVNTIHJ1
bGVzWzEyXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1sxMl0KK1BBU1MgcnVsZXNbMTJd
LmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1sxMl0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJk
ZWFhNjllMGM4ZGY2ZjI4ZGYwMWE2YmI0YWExOGQ5ZTcyMzNiYmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sCkBAIC0wLDAg
KzEsMTAzIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVx
dWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIvPgor
PHRpdGxlPkJ1ZyAzNDUyOSAtIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0
b3JUZXh0PC90aXRsZT4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisuXDAxX2NsYXNzIHsKKyAg
ICBjb2xvcjpncmVlbjsKK30KKy5cMWZfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLlwz
MF9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9CisuXDM5X2NsYXNzIHsKKyAgICBjb2xvcjpn
cmVlbjsKK30KKy4tXDMwX2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy4tXDM5X2NsYXNz
IHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy4tXDJkX2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsK
K30KKy5cODFfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLuaXpeacrOiqnl9jbGFzcyB7
CisgICAgY29sb3I6Z3JlZW47Cit9Cisu8JCQgF9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9
CisuYXpBWjA5X2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy5cKFwvXDpcQFxbXH5fY2xh
c3MgeworICAgIGNvbG9yOmdyZWVuOworfQorI2FcLmV4dGVybmFsXDp2aXNpdGVkIHsKKyAgICBj
b2xvcjpncmVlbjsKK30KK2xpIHsKKyAgICBjb2xvcjpyZWQ7Cit9Cis8L3N0eWxlPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorCitMaXN0IGl0ZW1z
IG11c3QgYmUgZ3JlZW4uIE90aGVyd2lzZSBzb21lIHNlbGVjdG9ycyBhcmUgaW52YWxpZC4KKzx1
bD4KKzxsaSBjbGFzcz0iJiMwMDE7X2NsYXNzIj5jbGFzcz0iJmFtcDsjMDAxO19jbGFzcyI8L2xp
PgorPGxpIGNsYXNzPSImIzAzMTtfY2xhc3MiPmNsYXNzPSImYW1wOyMwMzE7X2NsYXNzIjwvbGk+
Cis8bGkgY2xhc3M9IjBfY2xhc3MiPmNsYXNzPSIwX2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9Ijlf
Y2xhc3MiPmNsYXNzPSI5X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9Ii0wX2NsYXNzIj5jbGFzcz0i
LTBfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iLTlfY2xhc3MiPmNsYXNzPSItOV9jbGFzcyI8L2xp
PgorPGxpIGNsYXNzPSItLV9jbGFzcyI+Y2xhc3M9Ii0tX2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9
IiYjMTI5O19jbGFzcyI+Y2xhc3M9IiZhbXA7IzEyOTtfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0i
5pel5pys6KqeX2NsYXNzIj5jbGFzcz0i5pel5pys6KqeX2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9
IiYjNjY1NjA7X2NsYXNzIj5jbGFzcz0iJiM2NjU2MDtfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0i
YXpBWjA5X2NsYXNzIj5jbGFzcz0iYXpBWjA5X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9IigvOkBb
fl9jbGFzcyI+Y2xhc3M9IigvOkBbfl9jbGFzcyI8L2xpPgorPGxpIGlkPSJhLmV4dGVybmFsOnZp
c2l0ZWQiPmlkPSJhLmV4dGVybmFsOnZpc2l0ZWQiPC9saT4KKzwvdWw+CisKKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRp
b24oIlRlc3QgZm9yIEJ1ZyAzNDUyOSAtIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQg
c2VsZWN0b3JUZXh0Iik7CisKK3ZhciBleHBlY3RlZFRleHRzID0gWworICAgICIuXFwxIF9jbGFz
cyIsCisgICAgIi5cXDFmIF9jbGFzcyIsCisgICAgIi5cXDMwIF9jbGFzcyIsCisgICAgIi5cXDM5
IF9jbGFzcyIsCisgICAgIi4tXFwzMCBfY2xhc3MiLAorICAgICIuLVxcMzkgX2NsYXNzIiwKKyAg
ICAiLi1cXC1fY2xhc3MiLAorICAgICIuXHg4MV9jbGFzcyIsCisgICAgIi7ml6XmnKzoqp5fY2xh
c3MiLAorICAgICIu8JCQgF9jbGFzcyIsCisgICAgIi5hekFaMDlfY2xhc3MiLAorICAgICIuXFwo
XFwvXFw6XFxAXFxbXFx+X2NsYXNzIiwKKyAgICAiI2FcXC5leHRlcm5hbFxcOnZpc2l0ZWQiCitd
OworCit2YXIgcnVsZXMgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlczsKK2ZvciAo
dmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWRUZXh0cy5sZW5ndGg7IGkrKykgeworICAgIHNob3VsZEJl
KCJydWxlc1siICsgaSArICJdLnNlbGVjdG9yVGV4dCIsICJleHBlY3RlZFRleHRzWyIgKyBpICsg
Il0iKTsKKyAgICBzaG91bGRCZSgicnVsZXNbIiArIGkgKyAiXS5jc3NUZXh0IiwgImV4cGVjdGVk
VGV4dHNbIiArIGkgKyAiXSArICcgeyBjb2xvcjogZ3JlZW47IH0nIik7Cit9CisKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9XZWJDb3JlL0FuZHJvaWQubWsgYi9XZWJDb3JlL0FuZHJvaWQubWsKaW5kZXggZDNm
ZTM5OTliZTczZWJmMGU0ODE5NTY1Y2E3ZTg1MDBiM2RkYzM5Yy4uYTFiODVhODJkNTUyOThmOWIw
ZDczMGQzZGU1YzEwNGFkYmIyNzkyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLm1rCisr
KyBiL1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtNDQsNiArNDQsNyBAQCBMT0NBTF9TUkNfRklMRVMg
Oj0gXAogCWNzcy9DU1NJbml0aWFsVmFsdWUuY3BwIFwKIAljc3MvQ1NTTWVkaWFSdWxlLmNwcCBc
CiAJY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBcCisJY3NzL0NTU09NVXRpbHMu
Y3BwIFwKIAljc3MvQ1NTUGFnZVJ1bGUuY3BwIFwKIAljc3MvQ1NTUGFyc2VyLmNwcCBcCiAJY3Nz
L0NTU1BhcnNlclZhbHVlcy5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWEzMjIwZmM2NWEwNDY4ZDc5M2M0MDU2
NDkwY2M1MWM0OTRkYThjMS4uZDE4NjdlN2QzNDk5ZGU4NjJlMGY1MTQ4M2VhOGU1ZjdkOTYyZDZm
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC02ODQsNiArNjg0LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGNz
cy9DU1NJbml0aWFsVmFsdWUuY3BwCiAgICAgY3NzL0NTU01lZGlhUnVsZS5jcHAKICAgICBjc3Mv
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCisgICAgY3NzL0NTU09NVXRpbHMuY3BwCiAg
ICAgY3NzL0NTU1BhZ2VSdWxlLmNwcAogICAgIGNzcy9DU1NQYXJzZXIuY3BwCiAgICAgY3NzL0NT
U1BhcnNlclZhbHVlcy5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggYzc2NmFlOTQ5MTllMmU5NGMxZTkzYzNkNDRlNTg3OWI1NTg0YTgy
OS4uZjZmNjI4ODY2NTBjYTdkMGQ1YWVlZWUyNTkwZDJlNmIwZmI4MWVmYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBA
QAorMjAxMC0wNS0xOCAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgMzQ1
MjkgLSAgW0NTU09NXSBpc3N1ZXMgd2l0aCBjc3NUZXh0IGFuZCBzZWxlY3RvclRleHQKKyAgICAg
ICAgU2VyaWFsaXplIHNlbGVjdG9yIGFzIHBlciBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3Nv
bS8jc2VyaWFsaXppbmctc2VsZWN0b3JzCisgICAgICAgIFdpdGhvdXQgdGhpcyBwYXRjaCwgZm9y
IGV4YW1wbGUsIHNlbGVjdG9ycyBjb250YWluaW5nICc6JyBvciAnLicgYXJlIG5vdCBwcm9wZXJs
eSBzZXJpYWxpemVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzQ1MjkKKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2Fw
ZS5odG1sCisKKyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogY3NzL0NTU09NVXRpbHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFwcGVu
ZENoYXJhY3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpzZXJpYWxpemVDaGFyYWN0ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6c2VyaWFsaXplQ2hhcmFjdGVyQXNDb2RlUG9pbnQpOgorICAgICAgICAo
V2ViQ29yZTo6c2VyaWFsaXplSWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpzZXJpYWxp
emVTdHJpbmcpOgorICAgICAgICAqIGNzcy9DU1NPTVV0aWxzLmg6IEFkZGVkLgorICAgICAgICAq
IGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6c2Vs
ZWN0b3JUZXh0KToKKwogMjAxMC0wNS0xNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggNWUwYTEyNjNh
MjE3NTdmMTU3MTdhODFhYWQ2Mjc2ZDRjNWRmNjNhNS4uODkxYzUzMGQ2NDI1YzIxZGI4YTZlZDcw
NmY2NGYzMDhjNDczOTc4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysg
Yi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC02MzAsNiArNjMwLDggQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlXZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgXAog
CVdlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggXAogCVdlYkNvcmUvY3Nz
L0NTU05hbWVzcGFjZS5oIFwKKwlXZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmNwcCBcCisJV2ViQ29y
ZS9jc3MvQ1NTT01VdGlscy5oIFwKIAlXZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAgXAogCVdl
YkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmggXAogCVdlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCA5MWQ3ZWRhYjVhNTMwNzQ1NjdmNTAxYzE2MjZmNzMzNjYyOTJmYmI2Li41MDY2NmUwMjBh
OGY5ODI0MmY1NGVlNjU1Y2Q4NzllYTVjZmYwZDEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtOTU5LDYgKzk1OSw4IEBACiAg
ICAgICAgICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCcsCiAgICAgICAg
ICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgnLAogICAgICAgICAgICAgJ2Nz
cy9DU1NOYW1lc3BhY2UuaCcsCisgICAgICAgICAgICAnY3NzL0NTU09NVXRpbHMuY3BwJywKKyAg
ICAgICAgICAgICdjc3MvQ1NTT01VdGlscy5oJywKICAgICAgICAgICAgICdjc3MvQ1NTUGFnZVJ1
bGUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTUGFnZVJ1bGUuaCcsCiAgICAgICAgICAgICAn
Y3NzL0NTU1BhcnNlci5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dl
YkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTMzMDgxYWMyNjliNjE4OWZjY2NkMmFkZTQyYzI1YWRi
YmZmNzBiYi4uNjRiZGY5ZjVkMGQ4Mjc2YTJiODVhODFmYzhhMjVhZWNiNzVmOWU2NiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC00
MDIsNiArNDAyLDcgQEAgU09VUkNFUyArPSBcCiAgICAgY3NzL0NTU0luaXRpYWxWYWx1ZS5jcHAg
XAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb24uY3BwIFwKKyAgICBjc3MvQ1NTT01VdGlscy5jcHAgXAogICAgIGNzcy9DU1NQYWdl
UnVsZS5jcHAgXAogICAgIGNzcy9DU1NQYXJzZXIuY3BwIFwKICAgICBjc3MvQ1NTUGFyc2VyVmFs
dWVzLmNwcCBcCkBAIC0xMTI2LDYgKzExMjcsNyBAQCBIRUFERVJTICs9IFwKICAgICBjc3MvQ1NT
SW5pdGlhbFZhbHVlLmggXAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuaCBcCiAgICAgY3NzL0NTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLmggXAorICAgIGNzcy9DU1NPTVV0aWxzLmggXAogICAgIGNz
cy9DU1NQYWdlUnVsZS5oIFwKICAgICBjc3MvQ1NTUGFyc2VyLmggXAogICAgIGNzcy9DU1NQYXJz
ZXJWYWx1ZXMuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBkOTMw
MmE5OWJlNTQ4MGVhNjAzNDk4NGE0MDk1YWNkMDU0NTE5ZWUwLi4wNmY5MGUxYjhkZWJmODI4YTcz
NGEzNjM3YzU4ZDkxZTA5ZDY1MGEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKQEAgLTI3MjI1LDYgKzI3MjI1LDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NPTVV0aWxzLmNwcCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NPTVV0aWxz
LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIu
Llxjc3NcQ1NTTmFtZXNwYWNlLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2NDFlZWJlZDYxODA2ZTExZmNiNjIx
YzliMDAwYzc4MGVjMTc5NjllLi45OTg2MmU4MGY4YWIzNTgxNmE4NTljM2RmNjQ5ZDQzYWE3N2Ni
YzkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTAx
OSw2ICs1MDE5LDggQEAKIAkJRjVEM0E1N0QxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVDb21wb25l
bnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUQz
QTU3QjEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGOTE2QzQ4RDBEQjUxMEY4MDA3NkNE
ODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjkxNkM0OEIwREI1MTBGODAwNzZDRDgzIC8q
IEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAqLzsgfTsKIAkJRjkxNkM0OEUwREI1
MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOTE2QzQ4QzBEQjUxMEY4MDA3
NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLzsgfTsKKwkJRjk4RkZG
NDQxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjk4RkZGNDIxMUEyNjc2MjAwRjU0OEU4IC8qIENT
U09NVXRpbHMuY3BwICovOyB9OworCQlGOThGRkY0NTExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01V
dGlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjk4
RkZGNDMxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCAqLzsgfTsKIAkJRjlGMEVEN0Ew
REI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjlGMEVENzcwREI1MENBMjAw
RDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovOyB9OwogCQlGQTBCMUY4
NjExMTI1Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTBCMUY4MjExMTI1Q0VFMDA3Rjk4Mzkg
LyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgKi87IH07CiAJCUZBMEIxRjg3MTExMjVDRUUwMDdGOTgz
OSAvKiBSZW5kZXJNYXRoTUxNYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGQTBCMUY4MzExMTI1Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0
aC5oICovOyB9OwpAQCAtMTA1NTcsNiArMTA1NTksOCBAQAogCQlGODIxNjI5OTAyOUY0RkI1MDEw
MDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IHBhdGggPSBKYXZh
U2NyaXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07
CiAJCUY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNYTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
OTE2QzQ4QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY5OEZGRjQyMTFBMjY3
NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENTU09NVXRpbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
OThGRkY0MzExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDU1NPTVV0aWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGOUYwRUQ3ODBEQjUw
Q0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkEwQjFGODIxMTEyNUNFRTAwN0Y5ODM5IC8qIFJlbmRlck1h
dGhNTE1hdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVy
TWF0aE1MTWF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTk1NSw2ICsx
NTk1OSw4IEBACiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2MzVDQSAvKiBjc3MgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUY5OEZGRjQyMTFBMjY3NjIwMEY1
NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLywKKwkJCQlGOThGRkY0MzExQTI2NzYyMDBGNTQ4RTgg
LyogQ1NTT01VdGlscy5oICovLAogCQkJCTkzQ0E0QzlDMDlERjkzRkEwMERGODY3NyAvKiBtYWtl
dG9rZW5pemVyICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdGQjhDNSAvKiBDb3VudGVyLmgg
Ki8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIuaWRsICovLApAQCAt
MTkyNTgsNiArMTkyNjQsNyBAQAogCQkJCUM1NkM5MUEzMTE5RDkxODEwMERFNENEOSAvKiBKU0lE
QkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNTZDOTFBNzExOUQ5MTg3MDBERTRDRDkgLyog
SlNJREJTdWNjZXNzRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RThCMzU3MTFBMjNDRTIw
MDE2OTQwOSAvKiBIVE1MNVRva2VuaXplci5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjk4RkZGNDUx
MUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjE1Mzks
NiArMjE1NDYsNyBAQAogCQkJCUM1NkM5MUEyMTE5RDkxODEwMERFNENEOSAvKiBKU0lEQkV2ZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1NkM5MUE2MTE5RDkxODcwMERFNENEOSAvKiBKU0lE
QlN1Y2Nlc3NFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0U4QjM1NjExQTIzQ0UyMDAx
Njk0MDkgLyogSFRNTDVUb2tlbml6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRjk4RkZGNDQx
MUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmNwcCBiL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM5OTc5OTg5MmY2NmFmYWZjMzQyNWExNTQ3ODM5ODI1NDQzZWQyZWMK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmNwcApAQCAtMCwwICsx
LDEwNyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NPTVV0aWxzLmgiCisKKyNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRp
YyB2b2lkIGFwcGVuZENoYXJhY3RlcihVQ2hhcjMyIGMsIFN0cmluZyYgYWRkVG8pCit7CisgICAg
aWYgKFUxNl9MRU5HVEgoYykgPT0gMSkKKyAgICAgICAgYWRkVG8uYXBwZW5kKHN0YXRpY19jYXN0
PFVDaGFyPihjKSk7CisgICAgZWxzZSB7CisgICAgICAgIGFkZFRvLmFwcGVuZChVMTZfTEVBRChj
KSk7CisgICAgICAgIGFkZFRvLmFwcGVuZChVMTZfVFJBSUwoYykpOworICAgIH0KK30KKwordm9p
ZCBzZXJpYWxpemVDaGFyYWN0ZXIoVUNoYXIzMiBjLCBTdHJpbmcmIGFkZFRvKQoreworICAgIGFk
ZFRvLmFwcGVuZCgnXFwnKTsKKyAgICBhcHBlbmRDaGFyYWN0ZXIoYywgYWRkVG8pOworfQorCit2
b2lkIHNlcmlhbGl6ZUNoYXJhY3RlckFzQ29kZVBvaW50KFVDaGFyMzIgYywgU3RyaW5nJiBhZGRU
bykKK3sKKyAgICBhZGRUbyArPSBTdHJpbmc6OmZvcm1hdCgiXFwleCAiLCBjKTsKK30KKwordm9p
ZCBzZXJpYWxpemVJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgU3RyaW5nJiBh
ZGRUbykKK3sKKyAgICBib29sIGlzRmlyc3QgPSB0cnVlOworICAgIGJvb2wgaXNTZWNvbmQgPSBm
YWxzZTsKKyAgICBib29sIGlzRmlyc3RDaGFySHlwaGVuID0gZmFsc2U7CisgICAgdW5zaWduZWQg
aW5kZXggPSAwOworICAgIHdoaWxlIChpbmRleCA8IGlkZW50aWZpZXIubGVuZ3RoKCkpIHsKKyAg
ICAgICAgVUNoYXIzMiBjID0gaWRlbnRpZmllci5jaGFyYWN0ZXJTdGFydGluZ0F0KGluZGV4KTsK
KyAgICAgICAgaW5kZXggKz0gVTE2X0xFTkdUSChjKTsKKworICAgICAgICBpZiAoKDAgPD0gYyAm
JiBjIDw9IDB4MWYpIHx8ICgweDMwIDw9IGMgJiYgYyA8PSAweDM5ICYmIChpc0ZpcnN0IHx8IChp
c1NlY29uZCAmJiBpc0ZpcnN0Q2hhckh5cGhlbikpKSkKKyAgICAgICAgICAgIHNlcmlhbGl6ZUNo
YXJhY3RlckFzQ29kZVBvaW50KGMsIGFkZFRvKTsKKyAgICAgICAgZWxzZSBpZiAoYyA9PSAweDJk
ICYmIGlzU2Vjb25kICYmIGlzRmlyc3RDaGFySHlwaGVuKQorICAgICAgICAgICAgc2VyaWFsaXpl
Q2hhcmFjdGVyKGMsIGFkZFRvKTsKKyAgICAgICAgZWxzZSBpZiAoMHg4MCA8PSBjIHx8IGMgPT0g
MHgyZCB8fCBjID09IDB4NWYgfHwgKDB4MzAgPD0gYyAmJiBjIDw9IDB4MzkpIHx8ICgweDQxIDw9
IGMgJiYgYyA8PSAweDVhKSB8fCAoMHg2MSA8PSBjICYmIGMgPD0gMHg3YSkpCisgICAgICAgICAg
ICBhcHBlbmRDaGFyYWN0ZXIoYywgYWRkVG8pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBz
ZXJpYWxpemVDaGFyYWN0ZXIoYywgYWRkVG8pOworCisgICAgICAgIGlmIChpc0ZpcnN0KSB7Cisg
ICAgICAgICAgICBpc0ZpcnN0ID0gZmFsc2U7CisgICAgICAgICAgICBpc1NlY29uZCA9IHRydWU7
CisgICAgICAgICAgICBpc0ZpcnN0Q2hhckh5cGhlbiA9IChjID09IDB4MmQpOworICAgICAgICB9
IGVsc2UgaWYgKGlzU2Vjb25kKSB7CisgICAgICAgICAgICBpc1NlY29uZCA9IGZhbHNlOworICAg
ICAgICB9CisgICAgfQorfQorCit2b2lkIHNlcmlhbGl6ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0
cmluZywgU3RyaW5nJiBhZGRUbykKK3sKKyAgICBhZGRUby5hcHBlbmQoJ1wiJyk7CisKKyAgICB1
bnNpZ25lZCBpbmRleCA9IDA7CisgICAgd2hpbGUgKGluZGV4IDwgc3RyaW5nLmxlbmd0aCgpKSB7
CisgICAgICAgIFVDaGFyMzIgYyA9IHN0cmluZy5jaGFyYWN0ZXJTdGFydGluZ0F0KGluZGV4KTsK
KyAgICAgICAgaW5kZXggKz0gVTE2X0xFTkdUSChjKTsKKyAgICAgICAgaWYgKDAgPD0gYyAmJiBj
IDw9IDB4MWYpCisgICAgICAgICAgICBzZXJpYWxpemVDaGFyYWN0ZXJBc0NvZGVQb2ludChjLCBh
ZGRUbyk7CisgICAgICAgIGVsc2UgaWYgKGMgPT0gMHgyMiB8fCBjID09IDB4NWMpCisgICAgICAg
ICAgICBzZXJpYWxpemVDaGFyYWN0ZXIoYywgYWRkVG8pOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBhcHBlbmRDaGFyYWN0ZXIoYywgYWRkVG8pOworICAgIH0KKworICAgIGFkZFRvLmFwcGVu
ZCgnXCInKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTT01VdGlscy5oIGIvV2ViQ29yZS9jc3MvQ1NTT01VdGlscy5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE1NjMxNDRkYzczNGJkNmFjZjVkY2MxOGI5YzU4ZjAwMjFmOGJhNjMKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENv
cHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lmbmRlZiBD
U1NPTVV0aWxzX2gKKyNkZWZpbmUgQ1NTT01VdGlsc19oCisKKyNpbmNsdWRlIDx3dGYvdW5pY29k
ZS9Vbmljb2RlLmg+CisKKy8vIFV0aWxpdGllcyBmb3IgQ1NTT00gaHR0cDovL2Rldi53My5vcmcv
Y3Nzd2cvY3Nzb20vCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNsYXNzIFN0cmluZzsK
KworICAgIC8vIENvbW1vbiBzZXJpYWxpemluZyBtZXRob2RzLiBTZWU6IGh0dHA6Ly9kZXYudzMu
b3JnL2Nzc3dnL2Nzc29tLyNjb21tb24tc2VyaWFsaXppbmctaWRpb21zCisgICAgdm9pZCBzZXJp
YWxpemVDaGFyYWN0ZXIoVUNoYXIzMiwgU3RyaW5nJiBhZGRUbyk7CisgICAgdm9pZCBzZXJpYWxp
emVDaGFyYWN0ZXJBc0NvZGVQb2ludChVQ2hhcjMyLCBTdHJpbmcmIGFkZFRvKTsKKyAgICB2b2lk
IHNlcmlhbGl6ZUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBTdHJpbmcmIGFk
ZFRvKTsKKyAgICB2b2lkIHNlcmlhbGl6ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywgU3Ry
aW5nJiBhZGRUbyk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENTU09N
VXRpbHNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGVlOWM4NDY1YzYzMjYxNjA5ZGJkYWQ5OGQ5M2Zk
ZDNlMzJhNWYyNGYuLjg0Yjg1YmM5NzhhOTMyNWUwMDMzYTY0NWFlODI2YzE1OGM3OTVlZjAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9D
U1NTZWxlY3Rvci5jcHAKQEAgLTI1LDkgKzI1LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJDU1NTZWxlY3Rvci5oIgogCi0jaW5jbHVkZSAid3RmL0Fzc2VydGlvbnMuaCIKKyNp
bmNsdWRlICJDU1NPTVV0aWxzLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0KKyNpbmNsdWRl
ICJ3dGYvQXNzZXJ0aW9ucy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL1N0ZExpYkV4dHJhcy5oPgogCkBAIC01ODIsMTAgKzU4MiwxMCBAQCBTdHJpbmcgQ1NTU2Vs
ZWN0b3I6OnNlbGVjdG9yVGV4dCgpIGNvbnN0CiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAg
aWYgKGNzLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpJZCkgewogICAgICAgICAgICAgc3RyICs9
ICIjIjsKLSAgICAgICAgICAgIHN0ciArPSBjcy0+bV92YWx1ZTsKKyAgICAgICAgICAgIHNlcmlh
bGl6ZUlkZW50aWZpZXIoY3MtPm1fdmFsdWUsIHN0cik7CiAgICAgICAgIH0gZWxzZSBpZiAoY3Mt
Pm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OkNsYXNzKSB7CiAgICAgICAgICAgICBzdHIgKz0gIi4i
OwotICAgICAgICAgICAgc3RyICs9IGNzLT5tX3ZhbHVlOworICAgICAgICAgICAgc2VyaWFsaXpl
SWRlbnRpZmllcihjcy0+bV92YWx1ZSwgc3RyKTsKICAgICAgICAgfSBlbHNlIGlmIChjcy0+bV9t
YXRjaCA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3MpIHsKICAgICAgICAgICAgIHN0ciArPSAi
OiI7CiAgICAgICAgICAgICBzdHIgKz0gY3MtPm1fdmFsdWU7CkBAIC02MzcsOSArNjM3LDggQEAg
U3RyaW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoKSBjb25zdAogICAgICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChjcy0+bV9tYXRjaCAh
PSBDU1NTZWxlY3Rvcjo6U2V0KSB7Ci0gICAgICAgICAgICAgICAgc3RyICs9ICJcIiI7Ci0gICAg
ICAgICAgICAgICAgc3RyICs9IGNzLT5tX3ZhbHVlOwotICAgICAgICAgICAgICAgIHN0ciArPSAi
XCJdIjsKKyAgICAgICAgICAgICAgICBzZXJpYWxpemVTdHJpbmcoY3MtPm1fdmFsdWUsIHN0cik7
CisgICAgICAgICAgICAgICAgc3RyICs9ICJdIjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgICAgICBpZiAoY3MtPnJlbGF0aW9uKCkgIT0gQ1NTU2VsZWN0b3I6OlN1YlNlbGVjdG9yIHx8
ICFjcy0+dGFnSGlzdG9yeSgpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56357</attachid>
            <date>2010-05-18 04:07:03 -0700</date>
            <delta_ts>2010-05-18 04:19:34 -0700</delta_ts>
            <desc>Style fix</desc>
            <filename>bug-34529-20100518040701.patch</filename>
            <type>text/plain</type>
            <size>22397</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiMjI1ZDU4NThkYjU3NmIxNmZhOTZjMWVlMWYyZDJhZjIwZTlhNWQ1Li5mM2NiMmI5
NzI5NTczMzI0MzBiY2QxMDg2Y2ZkNjc1NzhmMjkzOGVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDUtMTggIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgQnVnIDM0NTI5
IC0gIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0b3JUZXh0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDUyOQorCisgICAgICAg
ICogZmFzdC9jc3Mvc2VsZWN0b3ItdGV4dC1lc2NhcGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sOiBBZGRlZC4KKwogMjAx
MC0wNS0xNiAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9z
ZWxlY3Rvci10ZXh0LWVzY2FwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9z
ZWxlY3Rvci10ZXh0LWVzY2FwZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM4M2FjMWIyMDM1
Yjk4NzExYzYxM2M3MjMzMGM5YTMzMDBlMTI0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQ5IEBACitUZXN0IGZvciBCdWcgMzQ1MjkgLSBbQ1NTT01dIGlzc3VlcyB3aXRoIGNzc1RleHQg
YW5kIHNlbGVjdG9yVGV4dAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworTGlzdCBp
dGVtcyBtdXN0IGJlIGdyZWVuLiBPdGhlcndpc2Ugc29tZSBzZWxlY3RvcnMgYXJlIGludmFsaWQu
CitjbGFzcz0iJiMwMDE7X2NsYXNzIgorY2xhc3M9IiYjMDMxO19jbGFzcyIKK2NsYXNzPSIwX2Ns
YXNzIgorY2xhc3M9IjlfY2xhc3MiCitjbGFzcz0iLTBfY2xhc3MiCitjbGFzcz0iLTlfY2xhc3Mi
CitjbGFzcz0iLS1fY2xhc3MiCitjbGFzcz0iJiMxMjk7X2NsYXNzIgorY2xhc3M9IuaXpeacrOiq
nl9jbGFzcyIKK2NsYXNzPSLwkJCAX2NsYXNzIgorY2xhc3M9ImF6QVowOV9jbGFzcyIKK2NsYXNz
PSIoLzpAW35fY2xhc3MiCitpZD0iYS5leHRlcm5hbDp2aXNpdGVkIgorUEFTUyBydWxlc1swXS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1swXQorUEFTUyBydWxlc1swXS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbMF0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1sxXS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1sxXQorUEFTUyBydWxlc1sxXS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbMV0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1syXS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1syXQorUEFTUyBydWxlc1syXS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbMl0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1szXS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1szXQorUEFTUyBydWxlc1szXS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbM10gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s0XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s0XQorUEFTUyBydWxlc1s0XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbNF0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s1XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s1XQorUEFTUyBydWxlc1s1XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbNV0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s2XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s2XQorUEFTUyBydWxlc1s2XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbNl0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s3XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s3XQorUEFTUyBydWxlc1s3XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbN10gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s4XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s4XQorUEFTUyBydWxlc1s4XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbOF0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s5XS5z
ZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1s5XQorUEFTUyBydWxlc1s5XS5jc3NUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbOV0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1sxMF0u
c2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMTBdCitQQVNTIHJ1bGVzWzEwXS5jc3NUZXh0
IGlzIGV4cGVjdGVkVGV4dHNbMTBdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BBU1MgcnVsZXNb
MTFdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzExXQorUEFTUyBydWxlc1sxMV0uY3Nz
VGV4dCBpcyBleHBlY3RlZFRleHRzWzExXSArICcgeyBjb2xvcjogZ3JlZW47IH0nCitQQVNTIHJ1
bGVzWzEyXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1sxMl0KK1BBU1MgcnVsZXNbMTJd
LmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1sxMl0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJk
ZWFhNjllMGM4ZGY2ZjI4ZGYwMWE2YmI0YWExOGQ5ZTcyMzNiYmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sCkBAIC0wLDAg
KzEsMTAzIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVx
dWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIvPgor
PHRpdGxlPkJ1ZyAzNDUyOSAtIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0
b3JUZXh0PC90aXRsZT4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisuXDAxX2NsYXNzIHsKKyAg
ICBjb2xvcjpncmVlbjsKK30KKy5cMWZfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLlwz
MF9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9CisuXDM5X2NsYXNzIHsKKyAgICBjb2xvcjpn
cmVlbjsKK30KKy4tXDMwX2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy4tXDM5X2NsYXNz
IHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy4tXDJkX2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsK
K30KKy5cODFfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLuaXpeacrOiqnl9jbGFzcyB7
CisgICAgY29sb3I6Z3JlZW47Cit9Cisu8JCQgF9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9
CisuYXpBWjA5X2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy5cKFwvXDpcQFxbXH5fY2xh
c3MgeworICAgIGNvbG9yOmdyZWVuOworfQorI2FcLmV4dGVybmFsXDp2aXNpdGVkIHsKKyAgICBj
b2xvcjpncmVlbjsKK30KK2xpIHsKKyAgICBjb2xvcjpyZWQ7Cit9Cis8L3N0eWxlPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorCitMaXN0IGl0ZW1z
IG11c3QgYmUgZ3JlZW4uIE90aGVyd2lzZSBzb21lIHNlbGVjdG9ycyBhcmUgaW52YWxpZC4KKzx1
bD4KKzxsaSBjbGFzcz0iJiMwMDE7X2NsYXNzIj5jbGFzcz0iJmFtcDsjMDAxO19jbGFzcyI8L2xp
PgorPGxpIGNsYXNzPSImIzAzMTtfY2xhc3MiPmNsYXNzPSImYW1wOyMwMzE7X2NsYXNzIjwvbGk+
Cis8bGkgY2xhc3M9IjBfY2xhc3MiPmNsYXNzPSIwX2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9Ijlf
Y2xhc3MiPmNsYXNzPSI5X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9Ii0wX2NsYXNzIj5jbGFzcz0i
LTBfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iLTlfY2xhc3MiPmNsYXNzPSItOV9jbGFzcyI8L2xp
PgorPGxpIGNsYXNzPSItLV9jbGFzcyI+Y2xhc3M9Ii0tX2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9
IiYjMTI5O19jbGFzcyI+Y2xhc3M9IiZhbXA7IzEyOTtfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0i
5pel5pys6KqeX2NsYXNzIj5jbGFzcz0i5pel5pys6KqeX2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9
IiYjNjY1NjA7X2NsYXNzIj5jbGFzcz0iJiM2NjU2MDtfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0i
YXpBWjA5X2NsYXNzIj5jbGFzcz0iYXpBWjA5X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9IigvOkBb
fl9jbGFzcyI+Y2xhc3M9IigvOkBbfl9jbGFzcyI8L2xpPgorPGxpIGlkPSJhLmV4dGVybmFsOnZp
c2l0ZWQiPmlkPSJhLmV4dGVybmFsOnZpc2l0ZWQiPC9saT4KKzwvdWw+CisKKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRp
b24oIlRlc3QgZm9yIEJ1ZyAzNDUyOSAtIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQg
c2VsZWN0b3JUZXh0Iik7CisKK3ZhciBleHBlY3RlZFRleHRzID0gWworICAgICIuXFwxIF9jbGFz
cyIsCisgICAgIi5cXDFmIF9jbGFzcyIsCisgICAgIi5cXDMwIF9jbGFzcyIsCisgICAgIi5cXDM5
IF9jbGFzcyIsCisgICAgIi4tXFwzMCBfY2xhc3MiLAorICAgICIuLVxcMzkgX2NsYXNzIiwKKyAg
ICAiLi1cXC1fY2xhc3MiLAorICAgICIuXHg4MV9jbGFzcyIsCisgICAgIi7ml6XmnKzoqp5fY2xh
c3MiLAorICAgICIu8JCQgF9jbGFzcyIsCisgICAgIi5hekFaMDlfY2xhc3MiLAorICAgICIuXFwo
XFwvXFw6XFxAXFxbXFx+X2NsYXNzIiwKKyAgICAiI2FcXC5leHRlcm5hbFxcOnZpc2l0ZWQiCitd
OworCit2YXIgcnVsZXMgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlczsKK2ZvciAo
dmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWRUZXh0cy5sZW5ndGg7IGkrKykgeworICAgIHNob3VsZEJl
KCJydWxlc1siICsgaSArICJdLnNlbGVjdG9yVGV4dCIsICJleHBlY3RlZFRleHRzWyIgKyBpICsg
Il0iKTsKKyAgICBzaG91bGRCZSgicnVsZXNbIiArIGkgKyAiXS5jc3NUZXh0IiwgImV4cGVjdGVk
VGV4dHNbIiArIGkgKyAiXSArICcgeyBjb2xvcjogZ3JlZW47IH0nIik7Cit9CisKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9XZWJDb3JlL0FuZHJvaWQubWsgYi9XZWJDb3JlL0FuZHJvaWQubWsKaW5kZXggZDNm
ZTM5OTliZTczZWJmMGU0ODE5NTY1Y2E3ZTg1MDBiM2RkYzM5Yy4uYTFiODVhODJkNTUyOThmOWIw
ZDczMGQzZGU1YzEwNGFkYmIyNzkyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLm1rCisr
KyBiL1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtNDQsNiArNDQsNyBAQCBMT0NBTF9TUkNfRklMRVMg
Oj0gXAogCWNzcy9DU1NJbml0aWFsVmFsdWUuY3BwIFwKIAljc3MvQ1NTTWVkaWFSdWxlLmNwcCBc
CiAJY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBcCisJY3NzL0NTU09NVXRpbHMu
Y3BwIFwKIAljc3MvQ1NTUGFnZVJ1bGUuY3BwIFwKIAljc3MvQ1NTUGFyc2VyLmNwcCBcCiAJY3Nz
L0NTU1BhcnNlclZhbHVlcy5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWEzMjIwZmM2NWEwNDY4ZDc5M2M0MDU2
NDkwY2M1MWM0OTRkYThjMS4uZDE4NjdlN2QzNDk5ZGU4NjJlMGY1MTQ4M2VhOGU1ZjdkOTYyZDZm
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC02ODQsNiArNjg0LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGNz
cy9DU1NJbml0aWFsVmFsdWUuY3BwCiAgICAgY3NzL0NTU01lZGlhUnVsZS5jcHAKICAgICBjc3Mv
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCisgICAgY3NzL0NTU09NVXRpbHMuY3BwCiAg
ICAgY3NzL0NTU1BhZ2VSdWxlLmNwcAogICAgIGNzcy9DU1NQYXJzZXIuY3BwCiAgICAgY3NzL0NT
U1BhcnNlclZhbHVlcy5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggYzc2NmFlOTQ5MTllMmU5NGMxZTkzYzNkNDRlNTg3OWI1NTg0YTgy
OS4uZjZmNjI4ODY2NTBjYTdkMGQ1YWVlZWUyNTkwZDJlNmIwZmI4MWVmYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBA
QAorMjAxMC0wNS0xOCAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgMzQ1
MjkgLSAgW0NTU09NXSBpc3N1ZXMgd2l0aCBjc3NUZXh0IGFuZCBzZWxlY3RvclRleHQKKyAgICAg
ICAgU2VyaWFsaXplIHNlbGVjdG9yIGFzIHBlciBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3Nv
bS8jc2VyaWFsaXppbmctc2VsZWN0b3JzCisgICAgICAgIFdpdGhvdXQgdGhpcyBwYXRjaCwgZm9y
IGV4YW1wbGUsIHNlbGVjdG9ycyBjb250YWluaW5nICc6JyBvciAnLicgYXJlIG5vdCBwcm9wZXJs
eSBzZXJpYWxpemVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzQ1MjkKKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2Fw
ZS5odG1sCisKKyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogY3NzL0NTU09NVXRpbHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFwcGVu
ZENoYXJhY3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpzZXJpYWxpemVDaGFyYWN0ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6c2VyaWFsaXplQ2hhcmFjdGVyQXNDb2RlUG9pbnQpOgorICAgICAgICAo
V2ViQ29yZTo6c2VyaWFsaXplSWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpzZXJpYWxp
emVTdHJpbmcpOgorICAgICAgICAqIGNzcy9DU1NPTVV0aWxzLmg6IEFkZGVkLgorICAgICAgICAq
IGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6c2Vs
ZWN0b3JUZXh0KToKKwogMjAxMC0wNS0xNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggNWUwYTEyNjNh
MjE3NTdmMTU3MTdhODFhYWQ2Mjc2ZDRjNWRmNjNhNS4uODkxYzUzMGQ2NDI1YzIxZGI4YTZlZDcw
NmY2NGYzMDhjNDczOTc4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysg
Yi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC02MzAsNiArNjMwLDggQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlXZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgXAog
CVdlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggXAogCVdlYkNvcmUvY3Nz
L0NTU05hbWVzcGFjZS5oIFwKKwlXZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmNwcCBcCisJV2ViQ29y
ZS9jc3MvQ1NTT01VdGlscy5oIFwKIAlXZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAgXAogCVdl
YkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmggXAogCVdlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCA5MWQ3ZWRhYjVhNTMwNzQ1NjdmNTAxYzE2MjZmNzMzNjYyOTJmYmI2Li41MDY2NmUwMjBh
OGY5ODI0MmY1NGVlNjU1Y2Q4NzllYTVjZmYwZDEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtOTU5LDYgKzk1OSw4IEBACiAg
ICAgICAgICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCcsCiAgICAgICAg
ICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgnLAogICAgICAgICAgICAgJ2Nz
cy9DU1NOYW1lc3BhY2UuaCcsCisgICAgICAgICAgICAnY3NzL0NTU09NVXRpbHMuY3BwJywKKyAg
ICAgICAgICAgICdjc3MvQ1NTT01VdGlscy5oJywKICAgICAgICAgICAgICdjc3MvQ1NTUGFnZVJ1
bGUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTUGFnZVJ1bGUuaCcsCiAgICAgICAgICAgICAn
Y3NzL0NTU1BhcnNlci5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dl
YkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTMzMDgxYWMyNjliNjE4OWZjY2NkMmFkZTQyYzI1YWRi
YmZmNzBiYi4uNjRiZGY5ZjVkMGQ4Mjc2YTJiODVhODFmYzhhMjVhZWNiNzVmOWU2NiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC00
MDIsNiArNDAyLDcgQEAgU09VUkNFUyArPSBcCiAgICAgY3NzL0NTU0luaXRpYWxWYWx1ZS5jcHAg
XAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb24uY3BwIFwKKyAgICBjc3MvQ1NTT01VdGlscy5jcHAgXAogICAgIGNzcy9DU1NQYWdl
UnVsZS5jcHAgXAogICAgIGNzcy9DU1NQYXJzZXIuY3BwIFwKICAgICBjc3MvQ1NTUGFyc2VyVmFs
dWVzLmNwcCBcCkBAIC0xMTI2LDYgKzExMjcsNyBAQCBIRUFERVJTICs9IFwKICAgICBjc3MvQ1NT
SW5pdGlhbFZhbHVlLmggXAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuaCBcCiAgICAgY3NzL0NTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLmggXAorICAgIGNzcy9DU1NPTVV0aWxzLmggXAogICAgIGNz
cy9DU1NQYWdlUnVsZS5oIFwKICAgICBjc3MvQ1NTUGFyc2VyLmggXAogICAgIGNzcy9DU1NQYXJz
ZXJWYWx1ZXMuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBkOTMw
MmE5OWJlNTQ4MGVhNjAzNDk4NGE0MDk1YWNkMDU0NTE5ZWUwLi4wNmY5MGUxYjhkZWJmODI4YTcz
NGEzNjM3YzU4ZDkxZTA5ZDY1MGEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKQEAgLTI3MjI1LDYgKzI3MjI1LDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NPTVV0aWxzLmNwcCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NPTVV0aWxz
LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIu
Llxjc3NcQ1NTTmFtZXNwYWNlLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2NDFlZWJlZDYxODA2ZTExZmNiNjIx
YzliMDAwYzc4MGVjMTc5NjllLi45OTg2MmU4MGY4YWIzNTgxNmE4NTljM2RmNjQ5ZDQzYWE3N2Ni
YzkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTAx
OSw2ICs1MDE5LDggQEAKIAkJRjVEM0E1N0QxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVDb21wb25l
bnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUQz
QTU3QjEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGOTE2QzQ4RDBEQjUxMEY4MDA3NkNE
ODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjkxNkM0OEIwREI1MTBGODAwNzZDRDgzIC8q
IEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAqLzsgfTsKIAkJRjkxNkM0OEUwREI1
MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOTE2QzQ4QzBEQjUxMEY4MDA3
NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLzsgfTsKKwkJRjk4RkZG
NDQxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjk4RkZGNDIxMUEyNjc2MjAwRjU0OEU4IC8qIENT
U09NVXRpbHMuY3BwICovOyB9OworCQlGOThGRkY0NTExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01V
dGlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjk4
RkZGNDMxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCAqLzsgfTsKIAkJRjlGMEVEN0Ew
REI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjlGMEVENzcwREI1MENBMjAw
RDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovOyB9OwogCQlGQTBCMUY4
NjExMTI1Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTBCMUY4MjExMTI1Q0VFMDA3Rjk4Mzkg
LyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgKi87IH07CiAJCUZBMEIxRjg3MTExMjVDRUUwMDdGOTgz
OSAvKiBSZW5kZXJNYXRoTUxNYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGQTBCMUY4MzExMTI1Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0
aC5oICovOyB9OwpAQCAtMTA1NTcsNiArMTA1NTksOCBAQAogCQlGODIxNjI5OTAyOUY0RkI1MDEw
MDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IHBhdGggPSBKYXZh
U2NyaXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07
CiAJCUY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNYTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
OTE2QzQ4QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY5OEZGRjQyMTFBMjY3
NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENTU09NVXRpbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
OThGRkY0MzExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDU1NPTVV0aWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGOUYwRUQ3ODBEQjUw
Q0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkEwQjFGODIxMTEyNUNFRTAwN0Y5ODM5IC8qIFJlbmRlck1h
dGhNTE1hdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVy
TWF0aE1MTWF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTk1NSw2ICsx
NTk1OSw4IEBACiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2MzVDQSAvKiBjc3MgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUY5OEZGRjQyMTFBMjY3NjIwMEY1
NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLywKKwkJCQlGOThGRkY0MzExQTI2NzYyMDBGNTQ4RTgg
LyogQ1NTT01VdGlscy5oICovLAogCQkJCTkzQ0E0QzlDMDlERjkzRkEwMERGODY3NyAvKiBtYWtl
dG9rZW5pemVyICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdGQjhDNSAvKiBDb3VudGVyLmgg
Ki8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIuaWRsICovLApAQCAt
MTkyNTgsNiArMTkyNjQsNyBAQAogCQkJCUM1NkM5MUEzMTE5RDkxODEwMERFNENEOSAvKiBKU0lE
QkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNTZDOTFBNzExOUQ5MTg3MDBERTRDRDkgLyog
SlNJREJTdWNjZXNzRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RThCMzU3MTFBMjNDRTIw
MDE2OTQwOSAvKiBIVE1MNVRva2VuaXplci5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjk4RkZGNDUx
MUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjE1Mzks
NiArMjE1NDYsNyBAQAogCQkJCUM1NkM5MUEyMTE5RDkxODEwMERFNENEOSAvKiBKU0lEQkV2ZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1NkM5MUE2MTE5RDkxODcwMERFNENEOSAvKiBKU0lE
QlN1Y2Nlc3NFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0U4QjM1NjExQTIzQ0UyMDAx
Njk0MDkgLyogSFRNTDVUb2tlbml6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRjk4RkZGNDQx
MUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmNwcCBiL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM5OTc5OTg5MmY2NmFmYWZjMzQyNWExNTQ3ODM5ODI1NDQzZWQyZWMK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmNwcApAQCAtMCwwICsx
LDEwNyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NPTVV0aWxzLmgiCisKKyNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRp
YyB2b2lkIGFwcGVuZENoYXJhY3RlcihVQ2hhcjMyIGMsIFN0cmluZyYgYWRkVG8pCit7CisgICAg
aWYgKFUxNl9MRU5HVEgoYykgPT0gMSkKKyAgICAgICAgYWRkVG8uYXBwZW5kKHN0YXRpY19jYXN0
PFVDaGFyPihjKSk7CisgICAgZWxzZSB7CisgICAgICAgIGFkZFRvLmFwcGVuZChVMTZfTEVBRChj
KSk7CisgICAgICAgIGFkZFRvLmFwcGVuZChVMTZfVFJBSUwoYykpOworICAgIH0KK30KKwordm9p
ZCBzZXJpYWxpemVDaGFyYWN0ZXIoVUNoYXIzMiBjLCBTdHJpbmcmIGFkZFRvKQoreworICAgIGFk
ZFRvLmFwcGVuZCgnXFwnKTsKKyAgICBhcHBlbmRDaGFyYWN0ZXIoYywgYWRkVG8pOworfQorCit2
b2lkIHNlcmlhbGl6ZUNoYXJhY3RlckFzQ29kZVBvaW50KFVDaGFyMzIgYywgU3RyaW5nJiBhZGRU
bykKK3sKKyAgICBhZGRUbyArPSBTdHJpbmc6OmZvcm1hdCgiXFwleCAiLCBjKTsKK30KKwordm9p
ZCBzZXJpYWxpemVJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgU3RyaW5nJiBh
ZGRUbykKK3sKKyAgICBib29sIGlzRmlyc3QgPSB0cnVlOworICAgIGJvb2wgaXNTZWNvbmQgPSBm
YWxzZTsKKyAgICBib29sIGlzRmlyc3RDaGFySHlwaGVuID0gZmFsc2U7CisgICAgdW5zaWduZWQg
aW5kZXggPSAwOworICAgIHdoaWxlIChpbmRleCA8IGlkZW50aWZpZXIubGVuZ3RoKCkpIHsKKyAg
ICAgICAgVUNoYXIzMiBjID0gaWRlbnRpZmllci5jaGFyYWN0ZXJTdGFydGluZ0F0KGluZGV4KTsK
KyAgICAgICAgaW5kZXggKz0gVTE2X0xFTkdUSChjKTsKKworICAgICAgICBpZiAoKDAgPD0gYyAm
JiBjIDw9IDB4MWYpIHx8ICgweDMwIDw9IGMgJiYgYyA8PSAweDM5ICYmIChpc0ZpcnN0IHx8IChp
c1NlY29uZCAmJiBpc0ZpcnN0Q2hhckh5cGhlbikpKSkKKyAgICAgICAgICAgIHNlcmlhbGl6ZUNo
YXJhY3RlckFzQ29kZVBvaW50KGMsIGFkZFRvKTsKKyAgICAgICAgZWxzZSBpZiAoYyA9PSAweDJk
ICYmIGlzU2Vjb25kICYmIGlzRmlyc3RDaGFySHlwaGVuKQorICAgICAgICAgICAgc2VyaWFsaXpl
Q2hhcmFjdGVyKGMsIGFkZFRvKTsKKyAgICAgICAgZWxzZSBpZiAoMHg4MCA8PSBjIHx8IGMgPT0g
MHgyZCB8fCBjID09IDB4NWYgfHwgKDB4MzAgPD0gYyAmJiBjIDw9IDB4MzkpIHx8ICgweDQxIDw9
IGMgJiYgYyA8PSAweDVhKSB8fCAoMHg2MSA8PSBjICYmIGMgPD0gMHg3YSkpCisgICAgICAgICAg
ICBhcHBlbmRDaGFyYWN0ZXIoYywgYWRkVG8pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBz
ZXJpYWxpemVDaGFyYWN0ZXIoYywgYWRkVG8pOworCisgICAgICAgIGlmIChpc0ZpcnN0KSB7Cisg
ICAgICAgICAgICBpc0ZpcnN0ID0gZmFsc2U7CisgICAgICAgICAgICBpc1NlY29uZCA9IHRydWU7
CisgICAgICAgICAgICBpc0ZpcnN0Q2hhckh5cGhlbiA9IChjID09IDB4MmQpOworICAgICAgICB9
IGVsc2UgaWYgKGlzU2Vjb25kKSB7CisgICAgICAgICAgICBpc1NlY29uZCA9IGZhbHNlOworICAg
ICAgICB9CisgICAgfQorfQorCit2b2lkIHNlcmlhbGl6ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0
cmluZywgU3RyaW5nJiBhZGRUbykKK3sKKyAgICBhZGRUby5hcHBlbmQoJ1wiJyk7CisKKyAgICB1
bnNpZ25lZCBpbmRleCA9IDA7CisgICAgd2hpbGUgKGluZGV4IDwgc3RyaW5nLmxlbmd0aCgpKSB7
CisgICAgICAgIFVDaGFyMzIgYyA9IHN0cmluZy5jaGFyYWN0ZXJTdGFydGluZ0F0KGluZGV4KTsK
KyAgICAgICAgaW5kZXggKz0gVTE2X0xFTkdUSChjKTsKKyAgICAgICAgaWYgKDAgPD0gYyAmJiBj
IDw9IDB4MWYpCisgICAgICAgICAgICBzZXJpYWxpemVDaGFyYWN0ZXJBc0NvZGVQb2ludChjLCBh
ZGRUbyk7CisgICAgICAgIGVsc2UgaWYgKGMgPT0gMHgyMiB8fCBjID09IDB4NWMpCisgICAgICAg
ICAgICBzZXJpYWxpemVDaGFyYWN0ZXIoYywgYWRkVG8pOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBhcHBlbmRDaGFyYWN0ZXIoYywgYWRkVG8pOworICAgIH0KKworICAgIGFkZFRvLmFwcGVu
ZCgnXCInKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTT01VdGlscy5oIGIvV2ViQ29yZS9jc3MvQ1NTT01VdGlscy5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjcwMTA5YTNhYTlhNjg5YTNmMGY4NGI0ZWVmNmU1NDI3YjcyOWRiMGUKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENv
cHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lmbmRlZiBD
U1NPTVV0aWxzX2gKKyNkZWZpbmUgQ1NTT01VdGlsc19oCisKKyNpbmNsdWRlIDx3dGYvdW5pY29k
ZS9Vbmljb2RlLmg+CisKKy8vIFV0aWxpdGllcyBmb3IgQ1NTT00gaHR0cDovL2Rldi53My5vcmcv
Y3Nzd2cvY3Nzb20vCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3RyaW5nOworCisv
LyBDb21tb24gc2VyaWFsaXppbmcgbWV0aG9kcy4gU2VlOiBodHRwOi8vZGV2LnczLm9yZy9jc3N3
Zy9jc3NvbS8jY29tbW9uLXNlcmlhbGl6aW5nLWlkaW9tcwordm9pZCBzZXJpYWxpemVDaGFyYWN0
ZXIoVUNoYXIzMiwgU3RyaW5nJiBhZGRUbyk7Cit2b2lkIHNlcmlhbGl6ZUNoYXJhY3RlckFzQ29k
ZVBvaW50KFVDaGFyMzIsIFN0cmluZyYgYWRkVG8pOwordm9pZCBzZXJpYWxpemVJZGVudGlmaWVy
KGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgU3RyaW5nJiBhZGRUbyk7Cit2b2lkIHNlcmlhbGl6
ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywgU3RyaW5nJiBhZGRUbyk7CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENTU09NVXRpbHNfaApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmlu
ZGV4IGVlOWM4NDY1YzYzMjYxNjA5ZGJkYWQ5OGQ5M2ZkZDNlMzJhNWYyNGYuLjAwYTNiMWU5OWIy
NDQyMWJkMmY0OTVkNGJiZjhkMWQ2ZmExZDkxNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NT
U1NlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTI1LDkg
KzI1LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgog
Ci0jaW5jbHVkZSAid3RmL0Fzc2VydGlvbnMuaCIKKyNpbmNsdWRlICJDU1NPTVV0aWxzLmgiCiAj
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0KKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCkBA
IC01ODIsMTAgKzU4MiwxMCBAQCBTdHJpbmcgQ1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dCgpIGNv
bnN0CiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgaWYgKGNzLT5tX21hdGNoID09IENTU1Nl
bGVjdG9yOjpJZCkgewogICAgICAgICAgICAgc3RyICs9ICIjIjsKLSAgICAgICAgICAgIHN0ciAr
PSBjcy0+bV92YWx1ZTsKKyAgICAgICAgICAgIHNlcmlhbGl6ZUlkZW50aWZpZXIoY3MtPm1fdmFs
dWUsIHN0cik7CiAgICAgICAgIH0gZWxzZSBpZiAoY3MtPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6
OkNsYXNzKSB7CiAgICAgICAgICAgICBzdHIgKz0gIi4iOwotICAgICAgICAgICAgc3RyICs9IGNz
LT5tX3ZhbHVlOworICAgICAgICAgICAgc2VyaWFsaXplSWRlbnRpZmllcihjcy0+bV92YWx1ZSwg
c3RyKTsKICAgICAgICAgfSBlbHNlIGlmIChjcy0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3MpIHsKICAgICAgICAgICAgIHN0ciArPSAiOiI7CiAgICAgICAgICAgICBzdHIgKz0g
Y3MtPm1fdmFsdWU7CkBAIC02MzcsOSArNjM3LDggQEAgU3RyaW5nIENTU1NlbGVjdG9yOjpzZWxl
Y3RvclRleHQoKSBjb25zdAogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIGlmIChjcy0+bV9tYXRjaCAhPSBDU1NTZWxlY3Rvcjo6U2V0KSB7Ci0g
ICAgICAgICAgICAgICAgc3RyICs9ICJcIiI7Ci0gICAgICAgICAgICAgICAgc3RyICs9IGNzLT5t
X3ZhbHVlOwotICAgICAgICAgICAgICAgIHN0ciArPSAiXCJdIjsKKyAgICAgICAgICAgICAgICBz
ZXJpYWxpemVTdHJpbmcoY3MtPm1fdmFsdWUsIHN0cik7CisgICAgICAgICAgICAgICAgc3RyICs9
ICJdIjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBpZiAoY3MtPnJlbGF0aW9u
KCkgIT0gQ1NTU2VsZWN0b3I6OlN1YlNlbGVjdG9yIHx8ICFjcy0+dGFnSGlzdG9yeSgpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56358</attachid>
            <date>2010-05-18 04:19:41 -0700</date>
            <delta_ts>2010-05-18 20:27:57 -0700</delta_ts>
            <desc>Add another test</desc>
            <filename>bug-34529-20100518041939.patch</filename>
            <type>text/plain</type>
            <size>22688</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiMjI1ZDU4NThkYjU3NmIxNmZhOTZjMWVlMWYyZDJhZjIwZTlhNWQ1Li5mM2NiMmI5
NzI5NTczMzI0MzBiY2QxMDg2Y2ZkNjc1NzhmMjkzOGVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDUtMTggIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgQnVnIDM0NTI5
IC0gIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0b3JUZXh0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDUyOQorCisgICAgICAg
ICogZmFzdC9jc3Mvc2VsZWN0b3ItdGV4dC1lc2NhcGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sOiBBZGRlZC4KKwogMjAx
MC0wNS0xNiAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9z
ZWxlY3Rvci10ZXh0LWVzY2FwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9z
ZWxlY3Rvci10ZXh0LWVzY2FwZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWVkNDVhZjJjM2Qz
ZTJkNzM2MTVmMjRiNWU0YmFkMGY4MGMzM2UwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUyIEBACitUZXN0IGZvciBCdWcgMzQ1MjkgLSBbQ1NTT01dIGlzc3VlcyB3aXRoIGNzc1RleHQg
YW5kIHNlbGVjdG9yVGV4dAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworTGlzdCBp
dGVtcyBtdXN0IGJlIGdyZWVuLiBPdGhlcndpc2Ugc29tZSBzZWxlY3RvcnMgYXJlIGludmFsaWQu
CitjbGFzcz0iJiMwMDE7X2NsYXNzIgorY2xhc3M9IiYjMDMxO19jbGFzcyIKK2NsYXNzPSIwX2Ns
YXNzIgorY2xhc3M9IjlfY2xhc3MiCitjbGFzcz0iLTBfY2xhc3MiCitjbGFzcz0iLTlfY2xhc3Mi
CitjbGFzcz0iLS1fY2xhc3MiCitjbGFzcz0iJiMxMjk7X2NsYXNzIgorY2xhc3M9IuaXpeacrOiq
nl9jbGFzcyIKK2NsYXNzPSLwkJCAX2NsYXNzIgorY2xhc3M9ImF6QVowOV9jbGFzcyIKK2NsYXNz
PSIoLzpAW35fY2xhc3MiCitpZD0iYS5leHRlcm5hbDp2aXNpdGVkIgorbXlhdHRyPSJteSJ2YWx1
ZVwiCitQQVNTIHJ1bGVzWzBdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzBdCitQQVNT
IHJ1bGVzWzBdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1swXSArICcgeyBjb2xvcjogZ3JlZW47
IH0nCitQQVNTIHJ1bGVzWzFdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzFdCitQQVNT
IHJ1bGVzWzFdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1sxXSArICcgeyBjb2xvcjogZ3JlZW47
IH0nCitQQVNTIHJ1bGVzWzJdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzJdCitQQVNT
IHJ1bGVzWzJdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1syXSArICcgeyBjb2xvcjogZ3JlZW47
IH0nCitQQVNTIHJ1bGVzWzNdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzNdCitQQVNT
IHJ1bGVzWzNdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1szXSArICcgeyBjb2xvcjogZ3JlZW47
IH0nCitQQVNTIHJ1bGVzWzRdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzRdCitQQVNT
IHJ1bGVzWzRdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1s0XSArICcgeyBjb2xvcjogZ3JlZW47
IH0nCitQQVNTIHJ1bGVzWzVdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzVdCitQQVNT
IHJ1bGVzWzVdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1s1XSArICcgeyBjb2xvcjogZ3JlZW47
IH0nCitQQVNTIHJ1bGVzWzZdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzZdCitQQVNT
IHJ1bGVzWzZdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1s2XSArICcgeyBjb2xvcjogZ3JlZW47
IH0nCitQQVNTIHJ1bGVzWzddLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzddCitQQVNT
IHJ1bGVzWzddLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1s3XSArICcgeyBjb2xvcjogZ3JlZW47
IH0nCitQQVNTIHJ1bGVzWzhdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzhdCitQQVNT
IHJ1bGVzWzhdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1s4XSArICcgeyBjb2xvcjogZ3JlZW47
IH0nCitQQVNTIHJ1bGVzWzldLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzldCitQQVNT
IHJ1bGVzWzldLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1s5XSArICcgeyBjb2xvcjogZ3JlZW47
IH0nCitQQVNTIHJ1bGVzWzEwXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1sxMF0KK1BB
U1MgcnVsZXNbMTBdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1sxMF0gKyAnIHsgY29sb3I6IGdy
ZWVuOyB9JworUEFTUyBydWxlc1sxMV0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMTFd
CitQQVNTIHJ1bGVzWzExXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMTFdICsgJyB7IGNvbG9y
OiBncmVlbjsgfScKK1BBU1MgcnVsZXNbMTJdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRz
WzEyXQorUEFTUyBydWxlc1sxMl0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzEyXSArICcgeyBj
b2xvcjogZ3JlZW47IH0nCitQQVNTIHJ1bGVzWzEzXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRU
ZXh0c1sxM10KK1BBU1MgcnVsZXNbMTNdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1sxM10gKyAn
IHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3NlbGVjdG9y
LXRleHQtZXNjYXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVz
Y2FwZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhODllYjQxMmZkZTlhMzg1MDZjNThkODQyOTBiZjBlMTVm
ZjJhMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zZWxlY3Rvci10
ZXh0LWVzY2FwZS5odG1sCkBAIC0wLDAgKzEsMTA4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQv
aHRtbDsgY2hhcnNldD11dGYtOCIvPgorPHRpdGxlPkJ1ZyAzNDUyOSAtIFtDU1NPTV0gaXNzdWVz
IHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0b3JUZXh0PC90aXRsZT4KKzxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+CisuXDAxX2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy5cMWZfY2xhc3Mgewor
ICAgIGNvbG9yOmdyZWVuOworfQorLlwzMF9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9Cisu
XDM5X2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy4tXDMwX2NsYXNzIHsKKyAgICBjb2xv
cjpncmVlbjsKK30KKy4tXDM5X2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy4tXDJkX2Ns
YXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy5cODFfY2xhc3MgeworICAgIGNvbG9yOmdyZWVu
OworfQorLuaXpeacrOiqnl9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9Cisu8JCQgF9jbGFz
cyB7CisgICAgY29sb3I6Z3JlZW47Cit9CisuYXpBWjA5X2NsYXNzIHsKKyAgICBjb2xvcjpncmVl
bjsKK30KKy5cKFwvXDpcQFxbXH5fY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorI2FcLmV4
dGVybmFsXDp2aXNpdGVkIHsKKyAgICBjb2xvcjpncmVlbjsKK30KK2xpW215YXR0cj0ibXlcInZh
bHVlXFwiXSB7CisgICAgY29sb3I6Z3JlZW47Cit9CitsaSB7CisgICAgY29sb3I6cmVkOworfQor
PC9zdHlsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKworTGlzdCBpdGVtcyBtdXN0IGJlIGdyZWVuLiBPdGhlcndpc2Ugc29tZSBzZWxlY3RvcnMg
YXJlIGludmFsaWQuCis8dWw+Cis8bGkgY2xhc3M9IiYjMDAxO19jbGFzcyI+Y2xhc3M9IiZhbXA7
IzAwMTtfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iJiMwMzE7X2NsYXNzIj5jbGFzcz0iJmFtcDsj
MDMxO19jbGFzcyI8L2xpPgorPGxpIGNsYXNzPSIwX2NsYXNzIj5jbGFzcz0iMF9jbGFzcyI8L2xp
PgorPGxpIGNsYXNzPSI5X2NsYXNzIj5jbGFzcz0iOV9jbGFzcyI8L2xpPgorPGxpIGNsYXNzPSIt
MF9jbGFzcyI+Y2xhc3M9Ii0wX2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9Ii05X2NsYXNzIj5jbGFz
cz0iLTlfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iLS1fY2xhc3MiPmNsYXNzPSItLV9jbGFzcyI8
L2xpPgorPGxpIGNsYXNzPSImIzEyOTtfY2xhc3MiPmNsYXNzPSImYW1wOyMxMjk7X2NsYXNzIjwv
bGk+Cis8bGkgY2xhc3M9IuaXpeacrOiqnl9jbGFzcyI+Y2xhc3M9IuaXpeacrOiqnl9jbGFzcyI8
L2xpPgorPGxpIGNsYXNzPSImIzY2NTYwO19jbGFzcyI+Y2xhc3M9IiYjNjY1NjA7X2NsYXNzIjwv
bGk+Cis8bGkgY2xhc3M9ImF6QVowOV9jbGFzcyI+Y2xhc3M9ImF6QVowOV9jbGFzcyI8L2xpPgor
PGxpIGNsYXNzPSIoLzpAW35fY2xhc3MiPmNsYXNzPSIoLzpAW35fY2xhc3MiPC9saT4KKzxsaSBp
ZD0iYS5leHRlcm5hbDp2aXNpdGVkIj5pZD0iYS5leHRlcm5hbDp2aXNpdGVkIjwvbGk+Cis8bGkg
bXlhdHRyPSJteSYjMDM0O3ZhbHVlJiMwOTI7Ij5teWF0dHI9Im15JiMwMzQ7dmFsdWUmIzA5Mjsi
PC9saT4KKzwvdWw+CisKKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgZm9yIEJ1ZyAzNDUyOSAtIFtDU1NP
TV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0b3JUZXh0Iik7CisKK3ZhciBleHBlY3Rl
ZFRleHRzID0gWworICAgICIuXFwxIF9jbGFzcyIsCisgICAgIi5cXDFmIF9jbGFzcyIsCisgICAg
Ii5cXDMwIF9jbGFzcyIsCisgICAgIi5cXDM5IF9jbGFzcyIsCisgICAgIi4tXFwzMCBfY2xhc3Mi
LAorICAgICIuLVxcMzkgX2NsYXNzIiwKKyAgICAiLi1cXC1fY2xhc3MiLAorICAgICIuXHg4MV9j
bGFzcyIsCisgICAgIi7ml6XmnKzoqp5fY2xhc3MiLAorICAgICIu8JCQgF9jbGFzcyIsCisgICAg
Ii5hekFaMDlfY2xhc3MiLAorICAgICIuXFwoXFwvXFw6XFxAXFxbXFx+X2NsYXNzIiwKKyAgICAi
I2FcXC5leHRlcm5hbFxcOnZpc2l0ZWQiLAorICAgICdsaVtteWF0dHI9Im15XFwidmFsdWVcXFxc
Il0nCitdOworCit2YXIgcnVsZXMgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlczsK
K2ZvciAodmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWRUZXh0cy5sZW5ndGg7IGkrKykgeworICAgIHNo
b3VsZEJlKCJydWxlc1siICsgaSArICJdLnNlbGVjdG9yVGV4dCIsICJleHBlY3RlZFRleHRzWyIg
KyBpICsgIl0iKTsKKyAgICBzaG91bGRCZSgicnVsZXNbIiArIGkgKyAiXS5jc3NUZXh0IiwgImV4
cGVjdGVkVGV4dHNbIiArIGkgKyAiXSArICcgeyBjb2xvcjogZ3JlZW47IH0nIik7Cit9CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQubWsgYi9XZWJDb3JlL0FuZHJvaWQubWsKaW5k
ZXggZDNmZTM5OTliZTczZWJmMGU0ODE5NTY1Y2E3ZTg1MDBiM2RkYzM5Yy4uYTFiODVhODJkNTUy
OThmOWIwZDczMGQzZGU1YzEwNGFkYmIyNzkyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lk
Lm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtNDQsNiArNDQsNyBAQCBMT0NBTF9TUkNf
RklMRVMgOj0gXAogCWNzcy9DU1NJbml0aWFsVmFsdWUuY3BwIFwKIAljc3MvQ1NTTWVkaWFSdWxl
LmNwcCBcCiAJY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBcCisJY3NzL0NTU09N
VXRpbHMuY3BwIFwKIAljc3MvQ1NTUGFnZVJ1bGUuY3BwIFwKIAljc3MvQ1NTUGFyc2VyLmNwcCBc
CiAJY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWEzMjIwZmM2NWEwNDY4ZDc5
M2M0MDU2NDkwY2M1MWM0OTRkYThjMS4uZDE4NjdlN2QzNDk5ZGU4NjJlMGY1MTQ4M2VhOGU1Zjdk
OTYyZDZmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC02ODQsNiArNjg0LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwog
ICAgIGNzcy9DU1NJbml0aWFsVmFsdWUuY3BwCiAgICAgY3NzL0NTU01lZGlhUnVsZS5jcHAKICAg
ICBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCisgICAgY3NzL0NTU09NVXRpbHMu
Y3BwCiAgICAgY3NzL0NTU1BhZ2VSdWxlLmNwcAogICAgIGNzcy9DU1NQYXJzZXIuY3BwCiAgICAg
Y3NzL0NTU1BhcnNlclZhbHVlcy5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzc2NmFlOTQ5MTllMmU5NGMxZTkzYzNkNDRlNTg3OWI1
NTg0YTgyOS4uZjZmNjI4ODY2NTBjYTdkMGQ1YWVlZWUyNTkwZDJlNmIwZmI4MWVmYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzMSBAQAorMjAxMC0wNS0xOCAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBC
dWcgMzQ1MjkgLSAgW0NTU09NXSBpc3N1ZXMgd2l0aCBjc3NUZXh0IGFuZCBzZWxlY3RvclRleHQK
KyAgICAgICAgU2VyaWFsaXplIHNlbGVjdG9yIGFzIHBlciBodHRwOi8vZGV2LnczLm9yZy9jc3N3
Zy9jc3NvbS8jc2VyaWFsaXppbmctc2VsZWN0b3JzCisgICAgICAgIFdpdGhvdXQgdGhpcyBwYXRj
aCwgZm9yIGV4YW1wbGUsIHNlbGVjdG9ycyBjb250YWluaW5nICc6JyBvciAnLicgYXJlIG5vdCBw
cm9wZXJseSBzZXJpYWxpemVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzQ1MjkKKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zZWxlY3Rvci10ZXh0
LWVzY2FwZS5odG1sCisKKyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogY3NzL0NTU09NVXRpbHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OmFwcGVuZENoYXJhY3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpzZXJpYWxpemVDaGFyYWN0ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6c2VyaWFsaXplQ2hhcmFjdGVyQXNDb2RlUG9pbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6c2VyaWFsaXplSWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpz
ZXJpYWxpemVTdHJpbmcpOgorICAgICAgICAqIGNzcy9DU1NPTVV0aWxzLmg6IEFkZGVkLgorICAg
ICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rv
cjo6c2VsZWN0b3JUZXh0KToKKwogMjAxMC0wNS0xNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggNWUw
YTEyNjNhMjE3NTdmMTU3MTdhODFhYWQ2Mjc2ZDRjNWRmNjNhNS4uODkxYzUzMGQ2NDI1YzIxZGI4
YTZlZDcwNmY2NGYzMDhjNDczOTc4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC02MzAsNiArNjMwLDggQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5j
cHAgXAogCVdlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggXAogCVdlYkNv
cmUvY3NzL0NTU05hbWVzcGFjZS5oIFwKKwlXZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmNwcCBcCisJ
V2ViQ29yZS9jc3MvQ1NTT01VdGlscy5oIFwKIAlXZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAg
XAogCVdlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmggXAogCVdlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQppbmRleCA5MWQ3ZWRhYjVhNTMwNzQ1NjdmNTAxYzE2MjZmNzMzNjYyOTJmYmI2Li41MDY2
NmUwMjBhOGY5ODI0MmY1NGVlNjU1Y2Q4NzllYTVjZmYwZDEzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtOTU5LDYgKzk1OSw4
IEBACiAgICAgICAgICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCcsCiAg
ICAgICAgICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgnLAogICAgICAgICAg
ICAgJ2Nzcy9DU1NOYW1lc3BhY2UuaCcsCisgICAgICAgICAgICAnY3NzL0NTU09NVXRpbHMuY3Bw
JywKKyAgICAgICAgICAgICdjc3MvQ1NTT01VdGlscy5oJywKICAgICAgICAgICAgICdjc3MvQ1NT
UGFnZVJ1bGUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTUGFnZVJ1bGUuaCcsCiAgICAgICAg
ICAgICAnY3NzL0NTU1BhcnNlci5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBy
byBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTMzMDgxYWMyNjliNjE4OWZjY2NkMmFkZTQy
YzI1YWRiYmZmNzBiYi4uNjRiZGY5ZjVkMGQ4Mjc2YTJiODVhODFmYzhhMjVhZWNiNzVmOWU2NiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJv
CkBAIC00MDIsNiArNDAyLDcgQEAgU09VUkNFUyArPSBcCiAgICAgY3NzL0NTU0luaXRpYWxWYWx1
ZS5jcHAgXAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb24uY3BwIFwKKyAgICBjc3MvQ1NTT01VdGlscy5jcHAgXAogICAgIGNzcy9D
U1NQYWdlUnVsZS5jcHAgXAogICAgIGNzcy9DU1NQYXJzZXIuY3BwIFwKICAgICBjc3MvQ1NTUGFy
c2VyVmFsdWVzLmNwcCBcCkBAIC0xMTI2LDYgKzExMjcsNyBAQCBIRUFERVJTICs9IFwKICAgICBj
c3MvQ1NTSW5pdGlhbFZhbHVlLmggXAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuaCBcCiAgICAgY3Nz
L0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggXAorICAgIGNzcy9DU1NPTVV0aWxzLmggXAog
ICAgIGNzcy9DU1NQYWdlUnVsZS5oIFwKICAgICBjc3MvQ1NTUGFyc2VyLmggXAogICAgIGNzcy9D
U1NQYXJzZXJWYWx1ZXMuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCBkOTMwMmE5OWJlNTQ4MGVhNjAzNDk4NGE0MDk1YWNkMDU0NTE5ZWUwLi4wNmY5MGUxYjhkZWJm
ODI4YTczNGEzNjM3YzU4ZDkxZTA5ZDY1MGEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKQEAgLTI3MjI1LDYgKzI3MjI1LDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NPTVV0aWxzLmNwcCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NP
TVV0aWxzLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxjc3NcQ1NTTmFtZXNwYWNlLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2NDFlZWJlZDYxODA2ZTEx
ZmNiNjIxYzliMDAwYzc4MGVjMTc5NjllLi45OTg2MmU4MGY4YWIzNTgxNmE4NTljM2RmNjQ5ZDQz
YWE3N2NiYzkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNTAxOSw2ICs1MDE5LDggQEAKIAkJRjVEM0E1N0QxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVD
b21wb25lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNUQzQTU3QjEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGOTE2QzQ4RDBEQjUxMEY4
MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjkxNkM0OEIwREI1MTBGODAwNzZD
RDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAqLzsgfTsKIAkJRjkxNkM0
OEUwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOTE2QzQ4QzBEQjUx
MEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLzsgfTsKKwkJ
Rjk4RkZGNDQxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjk4RkZGNDIxMUEyNjc2MjAwRjU0OEU4
IC8qIENTU09NVXRpbHMuY3BwICovOyB9OworCQlGOThGRkY0NTExQTI2NzYyMDBGNTQ4RTggLyog
Q1NTT01VdGlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjk4RkZGNDMxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCAqLzsgfTsKIAkJRjlG
MEVEN0EwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjlGMEVENzcwREI1
MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovOyB9OwogCQlG
QTBCMUY4NjExMTI1Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTBCMUY4MjExMTI1Q0VFMDA3
Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgKi87IH07CiAJCUZBMEIxRjg3MTExMjVDRUUw
MDdGOTgzOSAvKiBSZW5kZXJNYXRoTUxNYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGQTBCMUY4MzExMTI1Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0
aE1MTWF0aC5oICovOyB9OwpAQCAtMTA1NTcsNiArMTA1NTksOCBAQAogCQlGODIxNjI5OTAyOUY0
RkI1MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IHBhdGgg
PSBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19E
SVI7IH07CiAJCUY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNY
TUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGOTE2QzQ4QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY5OEZGRjQy
MTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENTU09NVXRpbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGOThGRkY0MzExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NPTVV0aWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGOUYwRUQ3
ODBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkEwQjFGODIxMTEyNUNFRTAwN0Y5ODM5IC8qIFJl
bmRlck1hdGhNTE1hdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmVuZGVyTWF0aE1MTWF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTk1
NSw2ICsxNTk1OSw4IEBACiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2MzVDQSAvKiBjc3MgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUY5OEZGRjQyMTFBMjY3
NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLywKKwkJCQlGOThGRkY0MzExQTI2NzYyMDBG
NTQ4RTggLyogQ1NTT01VdGlscy5oICovLAogCQkJCTkzQ0E0QzlDMDlERjkzRkEwMERGODY3NyAv
KiBtYWtldG9rZW5pemVyICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdGQjhDNSAvKiBDb3Vu
dGVyLmggKi8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIuaWRsICov
LApAQCAtMTkyNTgsNiArMTkyNjQsNyBAQAogCQkJCUM1NkM5MUEzMTE5RDkxODEwMERFNENEOSAv
KiBKU0lEQkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNTZDOTFBNzExOUQ5MTg3MDBERTRD
RDkgLyogSlNJREJTdWNjZXNzRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RThCMzU3MTFB
MjNDRTIwMDE2OTQwOSAvKiBIVE1MNVRva2VuaXplci5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjk4
RkZGNDUxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MjE1MzksNiArMjE1NDYsNyBAQAogCQkJCUM1NkM5MUEyMTE5RDkxODEwMERFNENEOSAvKiBKU0lE
QkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1NkM5MUE2MTE5RDkxODcwMERFNENEOSAv
KiBKU0lEQlN1Y2Nlc3NFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0U4QjM1NjExQTIz
Q0UyMDAxNjk0MDkgLyogSFRNTDVUb2tlbml6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRjk4
RkZGNDQxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmNwcCBiL1dlYkNvcmUvY3NzL0NTU09N
VXRpbHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5OTc5OTg5MmY2NmFmYWZjMzQyNWExNTQ3ODM5ODI1NDQz
ZWQyZWMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmNwcApAQCAt
MCwwICsxLDEwNyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NPTVV0aWxzLmgi
CisKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3N0YXRpYyB2b2lkIGFwcGVuZENoYXJhY3RlcihVQ2hhcjMyIGMsIFN0cmluZyYgYWRkVG8pCit7
CisgICAgaWYgKFUxNl9MRU5HVEgoYykgPT0gMSkKKyAgICAgICAgYWRkVG8uYXBwZW5kKHN0YXRp
Y19jYXN0PFVDaGFyPihjKSk7CisgICAgZWxzZSB7CisgICAgICAgIGFkZFRvLmFwcGVuZChVMTZf
TEVBRChjKSk7CisgICAgICAgIGFkZFRvLmFwcGVuZChVMTZfVFJBSUwoYykpOworICAgIH0KK30K
Kwordm9pZCBzZXJpYWxpemVDaGFyYWN0ZXIoVUNoYXIzMiBjLCBTdHJpbmcmIGFkZFRvKQorewor
ICAgIGFkZFRvLmFwcGVuZCgnXFwnKTsKKyAgICBhcHBlbmRDaGFyYWN0ZXIoYywgYWRkVG8pOwor
fQorCit2b2lkIHNlcmlhbGl6ZUNoYXJhY3RlckFzQ29kZVBvaW50KFVDaGFyMzIgYywgU3RyaW5n
JiBhZGRUbykKK3sKKyAgICBhZGRUbyArPSBTdHJpbmc6OmZvcm1hdCgiXFwleCAiLCBjKTsKK30K
Kwordm9pZCBzZXJpYWxpemVJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgU3Ry
aW5nJiBhZGRUbykKK3sKKyAgICBib29sIGlzRmlyc3QgPSB0cnVlOworICAgIGJvb2wgaXNTZWNv
bmQgPSBmYWxzZTsKKyAgICBib29sIGlzRmlyc3RDaGFySHlwaGVuID0gZmFsc2U7CisgICAgdW5z
aWduZWQgaW5kZXggPSAwOworICAgIHdoaWxlIChpbmRleCA8IGlkZW50aWZpZXIubGVuZ3RoKCkp
IHsKKyAgICAgICAgVUNoYXIzMiBjID0gaWRlbnRpZmllci5jaGFyYWN0ZXJTdGFydGluZ0F0KGlu
ZGV4KTsKKyAgICAgICAgaW5kZXggKz0gVTE2X0xFTkdUSChjKTsKKworICAgICAgICBpZiAoKDAg
PD0gYyAmJiBjIDw9IDB4MWYpIHx8ICgweDMwIDw9IGMgJiYgYyA8PSAweDM5ICYmIChpc0ZpcnN0
IHx8IChpc1NlY29uZCAmJiBpc0ZpcnN0Q2hhckh5cGhlbikpKSkKKyAgICAgICAgICAgIHNlcmlh
bGl6ZUNoYXJhY3RlckFzQ29kZVBvaW50KGMsIGFkZFRvKTsKKyAgICAgICAgZWxzZSBpZiAoYyA9
PSAweDJkICYmIGlzU2Vjb25kICYmIGlzRmlyc3RDaGFySHlwaGVuKQorICAgICAgICAgICAgc2Vy
aWFsaXplQ2hhcmFjdGVyKGMsIGFkZFRvKTsKKyAgICAgICAgZWxzZSBpZiAoMHg4MCA8PSBjIHx8
IGMgPT0gMHgyZCB8fCBjID09IDB4NWYgfHwgKDB4MzAgPD0gYyAmJiBjIDw9IDB4MzkpIHx8ICgw
eDQxIDw9IGMgJiYgYyA8PSAweDVhKSB8fCAoMHg2MSA8PSBjICYmIGMgPD0gMHg3YSkpCisgICAg
ICAgICAgICBhcHBlbmRDaGFyYWN0ZXIoYywgYWRkVG8pOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBzZXJpYWxpemVDaGFyYWN0ZXIoYywgYWRkVG8pOworCisgICAgICAgIGlmIChpc0ZpcnN0
KSB7CisgICAgICAgICAgICBpc0ZpcnN0ID0gZmFsc2U7CisgICAgICAgICAgICBpc1NlY29uZCA9
IHRydWU7CisgICAgICAgICAgICBpc0ZpcnN0Q2hhckh5cGhlbiA9IChjID09IDB4MmQpOworICAg
ICAgICB9IGVsc2UgaWYgKGlzU2Vjb25kKSB7CisgICAgICAgICAgICBpc1NlY29uZCA9IGZhbHNl
OworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIHNlcmlhbGl6ZVN0cmluZyhjb25zdCBTdHJp
bmcmIHN0cmluZywgU3RyaW5nJiBhZGRUbykKK3sKKyAgICBhZGRUby5hcHBlbmQoJ1wiJyk7CisK
KyAgICB1bnNpZ25lZCBpbmRleCA9IDA7CisgICAgd2hpbGUgKGluZGV4IDwgc3RyaW5nLmxlbmd0
aCgpKSB7CisgICAgICAgIFVDaGFyMzIgYyA9IHN0cmluZy5jaGFyYWN0ZXJTdGFydGluZ0F0KGlu
ZGV4KTsKKyAgICAgICAgaW5kZXggKz0gVTE2X0xFTkdUSChjKTsKKyAgICAgICAgaWYgKDAgPD0g
YyAmJiBjIDw9IDB4MWYpCisgICAgICAgICAgICBzZXJpYWxpemVDaGFyYWN0ZXJBc0NvZGVQb2lu
dChjLCBhZGRUbyk7CisgICAgICAgIGVsc2UgaWYgKGMgPT0gMHgyMiB8fCBjID09IDB4NWMpCisg
ICAgICAgICAgICBzZXJpYWxpemVDaGFyYWN0ZXIoYywgYWRkVG8pOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBhcHBlbmRDaGFyYWN0ZXIoYywgYWRkVG8pOworICAgIH0KKworICAgIGFkZFRv
LmFwcGVuZCgnXCInKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTT01VdGlscy5oIGIvV2ViQ29yZS9jc3MvQ1NTT01VdGlscy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjcwMTA5YTNhYTlhNjg5YTNmMGY4NGI0ZWVmNmU1NDI3YjcyOWRiMGUKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmgKQEAgLTAsMCArMSw1MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lm
bmRlZiBDU1NPTVV0aWxzX2gKKyNkZWZpbmUgQ1NTT01VdGlsc19oCisKKyNpbmNsdWRlIDx3dGYv
dW5pY29kZS9Vbmljb2RlLmg+CisKKy8vIFV0aWxpdGllcyBmb3IgQ1NTT00gaHR0cDovL2Rldi53
My5vcmcvY3Nzd2cvY3Nzb20vCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3RyaW5n
OworCisvLyBDb21tb24gc2VyaWFsaXppbmcgbWV0aG9kcy4gU2VlOiBodHRwOi8vZGV2LnczLm9y
Zy9jc3N3Zy9jc3NvbS8jY29tbW9uLXNlcmlhbGl6aW5nLWlkaW9tcwordm9pZCBzZXJpYWxpemVD
aGFyYWN0ZXIoVUNoYXIzMiwgU3RyaW5nJiBhZGRUbyk7Cit2b2lkIHNlcmlhbGl6ZUNoYXJhY3Rl
ckFzQ29kZVBvaW50KFVDaGFyMzIsIFN0cmluZyYgYWRkVG8pOwordm9pZCBzZXJpYWxpemVJZGVu
dGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgU3RyaW5nJiBhZGRUbyk7Cit2b2lkIHNl
cmlhbGl6ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywgU3RyaW5nJiBhZGRUbyk7CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENTU09NVXRpbHNfaApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
Y3BwCmluZGV4IGVlOWM4NDY1YzYzMjYxNjA5ZGJkYWQ5OGQ5M2ZkZDNlMzJhNWYyNGYuLjAwYTNi
MWU5OWIyNDQyMWJkMmY0OTVkNGJiZjhkMWQ2ZmExZDkxNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAg
LTI1LDkgKzI1LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NTZWxlY3Rv
ci5oIgogCi0jaW5jbHVkZSAid3RmL0Fzc2VydGlvbnMuaCIKKyNpbmNsdWRlICJDU1NPTVV0aWxz
LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0KKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5o
PgogCkBAIC01ODIsMTAgKzU4MiwxMCBAQCBTdHJpbmcgQ1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4
dCgpIGNvbnN0CiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgaWYgKGNzLT5tX21hdGNoID09
IENTU1NlbGVjdG9yOjpJZCkgewogICAgICAgICAgICAgc3RyICs9ICIjIjsKLSAgICAgICAgICAg
IHN0ciArPSBjcy0+bV92YWx1ZTsKKyAgICAgICAgICAgIHNlcmlhbGl6ZUlkZW50aWZpZXIoY3Mt
Pm1fdmFsdWUsIHN0cik7CiAgICAgICAgIH0gZWxzZSBpZiAoY3MtPm1fbWF0Y2ggPT0gQ1NTU2Vs
ZWN0b3I6OkNsYXNzKSB7CiAgICAgICAgICAgICBzdHIgKz0gIi4iOwotICAgICAgICAgICAgc3Ry
ICs9IGNzLT5tX3ZhbHVlOworICAgICAgICAgICAgc2VyaWFsaXplSWRlbnRpZmllcihjcy0+bV92
YWx1ZSwgc3RyKTsKICAgICAgICAgfSBlbHNlIGlmIChjcy0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rv
cjo6UHNldWRvQ2xhc3MpIHsKICAgICAgICAgICAgIHN0ciArPSAiOiI7CiAgICAgICAgICAgICBz
dHIgKz0gY3MtPm1fdmFsdWU7CkBAIC02MzcsOSArNjM3LDggQEAgU3RyaW5nIENTU1NlbGVjdG9y
OjpzZWxlY3RvclRleHQoKSBjb25zdAogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmIChjcy0+bV9tYXRjaCAhPSBDU1NTZWxlY3Rvcjo6U2V0
KSB7Ci0gICAgICAgICAgICAgICAgc3RyICs9ICJcIiI7Ci0gICAgICAgICAgICAgICAgc3RyICs9
IGNzLT5tX3ZhbHVlOwotICAgICAgICAgICAgICAgIHN0ciArPSAiXCJdIjsKKyAgICAgICAgICAg
ICAgICBzZXJpYWxpemVTdHJpbmcoY3MtPm1fdmFsdWUsIHN0cik7CisgICAgICAgICAgICAgICAg
c3RyICs9ICJdIjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBpZiAoY3MtPnJl
bGF0aW9uKCkgIT0gQ1NTU2VsZWN0b3I6OlN1YlNlbGVjdG9yIHx8ICFjcy0+dGFnSGlzdG9yeSgp
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56446</attachid>
            <date>2010-05-18 20:28:04 -0700</date>
            <delta_ts>2010-05-18 20:29:39 -0700</delta_ts>
            <desc>Use Vector&lt;UChar&gt; for better performance</desc>
            <filename>bug-34529-20100518202802.patch</filename>
            <type>text/plain</type>
            <size>23357</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MjBiNjkyMWVlMjBmMTVmZWZjMzU3MjkwNzUzMzAzNzZhNjRmMGMxLi4yYzMxMzc3
NTRjY2NmMTQ1N2U2OWNlMGQ3ZTViN2JkNGNhNGMzYWUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDUtMTggIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgQnVnIDM0NTI5
IC0gIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0b3JUZXh0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDUyOQorCisgICAgICAg
ICogZmFzdC9jc3Mvc2VsZWN0b3ItdGV4dC1lc2NhcGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sOiBBZGRlZC4KKwogMjAx
MC0wNS0xOCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zZWxlY3Rvci10
ZXh0LWVzY2FwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zZWxlY3Rvci10
ZXh0LWVzY2FwZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzI3NGNkMDIyZGU4NTZiOGVmY2Fk
NmEyNjAxMjEyMWM2NWYxODYxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUyIEBACitU
ZXN0IGZvciBCdWcgMzQ1MjkgLSBbQ1NTT01dIGlzc3VlcyB3aXRoIGNzc1RleHQgYW5kIHNlbGVj
dG9yVGV4dAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworTGlzdCBpdGVtcyBtdXN0
IGJlIGdyZWVuLiBPdGhlcndpc2Ugc29tZSBzZWxlY3RvcnMgYXJlIGludmFsaWQuCitjbGFzcz0i
JiMwMDE7X2NsYXNzIgorY2xhc3M9IiYjMDMxO19jbGFzcyIKK2NsYXNzPSIwX2NsYXNzIgorY2xh
c3M9IjlfY2xhc3MiCitjbGFzcz0iLTBfY2xhc3MiCitjbGFzcz0iLTlfY2xhc3MiCitjbGFzcz0i
LS1fY2xhc3MiCitjbGFzcz0iJiMxMjk7X2NsYXNzIgorY2xhc3M9IuaXpeacrOiqnl9jbGFzcyIK
K2NsYXNzPSLwkJCAX2NsYXNzIgorY2xhc3M9ImF6QVowOV8tX2NsYXNzIgorY2xhc3M9IigvOkBb
fl9jbGFzcyIKK2lkPSJhLmV4dGVybmFsOnZpc2l0ZWQiCitteWF0dHI9Im15InZhbHVlXCIKK1BB
U1MgcnVsZXNbMF0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMF0KK1BBU1MgcnVsZXNb
MF0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzBdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbMV0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMV0KK1BBU1MgcnVsZXNb
MV0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzFdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbMl0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMl0KK1BBU1MgcnVsZXNb
Ml0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzJdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbM10uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbM10KK1BBU1MgcnVsZXNb
M10uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzNdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbNF0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNF0KK1BBU1MgcnVsZXNb
NF0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzRdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbNV0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNV0KK1BBU1MgcnVsZXNb
NV0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzVdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbNl0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNl0KK1BBU1MgcnVsZXNb
Nl0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzZdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbN10uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbN10KK1BBU1MgcnVsZXNb
N10uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzddICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbOF0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbOF0KK1BBU1MgcnVsZXNb
OF0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzhdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbOV0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbOV0KK1BBU1MgcnVsZXNb
OV0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzldICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbMTBdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzEwXQorUEFTUyBydWxl
c1sxMF0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzEwXSArICcgeyBjb2xvcjogZ3JlZW47IH0n
CitQQVNTIHJ1bGVzWzExXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1sxMV0KK1BBU1Mg
cnVsZXNbMTFdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1sxMV0gKyAnIHsgY29sb3I6IGdyZWVu
OyB9JworUEFTUyBydWxlc1sxMl0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMTJdCitQ
QVNTIHJ1bGVzWzEyXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMTJdICsgJyB7IGNvbG9yOiBn
cmVlbjsgfScKK1BBU1MgcnVsZXNbMTNdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzEz
XQorUEFTUyBydWxlc1sxM10uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzEzXSArICcgeyBjb2xv
cjogZ3JlZW47IH0nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2VsZWN0b3ItdGV4dC1l
c2NhcGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGI3OTI2OTQ5NDliN2Y3MDczYjgwZTU4NWIyZDljOTQzNThhNDFiNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3NlbGVjdG9yLXRleHQtZXNj
YXBlLmh0bWwKQEAgLTAsMCArMSwxMDggQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBj
aGFyc2V0PXV0Zi04Ii8+Cis8dGl0bGU+QnVnIDM0NTI5IC0gW0NTU09NXSBpc3N1ZXMgd2l0aCBj
c3NUZXh0IGFuZCBzZWxlY3RvclRleHQ8L3RpdGxlPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
Ky5cMDFfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLlwxZl9jbGFzcyB7CisgICAgY29s
b3I6Z3JlZW47Cit9CisuXDMwX2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy5cMzlfY2xh
c3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLi1cMzBfY2xhc3MgeworICAgIGNvbG9yOmdyZWVu
OworfQorLi1cMzlfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLi1cMmRfY2xhc3Mgewor
ICAgIGNvbG9yOmdyZWVuOworfQorLlw4MV9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9Cisu
5pel5pys6KqeX2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy7wkJCAX2NsYXNzIHsKKyAg
ICBjb2xvcjpncmVlbjsKK30KKy5hekFaMDlfLV9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9
CisuXChcL1w6XEBcW1x+X2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKyNhXC5leHRlcm5h
bFw6dmlzaXRlZCB7CisgICAgY29sb3I6Z3JlZW47Cit9CitsaVtteWF0dHI9Im15XCJ2YWx1ZVxc
Il0geworICAgIGNvbG9yOmdyZWVuOworfQorbGkgeworICAgIGNvbG9yOnJlZDsKK30KKzwvc3R5
bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CisK
K0xpc3QgaXRlbXMgbXVzdCBiZSBncmVlbi4gT3RoZXJ3aXNlIHNvbWUgc2VsZWN0b3JzIGFyZSBp
bnZhbGlkLgorPHVsPgorPGxpIGNsYXNzPSImIzAwMTtfY2xhc3MiPmNsYXNzPSImYW1wOyMwMDE7
X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9IiYjMDMxO19jbGFzcyI+Y2xhc3M9IiZhbXA7IzAzMTtf
Y2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iMF9jbGFzcyI+Y2xhc3M9IjBfY2xhc3MiPC9saT4KKzxs
aSBjbGFzcz0iOV9jbGFzcyI+Y2xhc3M9IjlfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iLTBfY2xh
c3MiPmNsYXNzPSItMF9jbGFzcyI8L2xpPgorPGxpIGNsYXNzPSItOV9jbGFzcyI+Y2xhc3M9Ii05
X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9Ii0tX2NsYXNzIj5jbGFzcz0iLS1fY2xhc3MiPC9saT4K
KzxsaSBjbGFzcz0iJiMxMjk7X2NsYXNzIj5jbGFzcz0iJmFtcDsjMTI5O19jbGFzcyI8L2xpPgor
PGxpIGNsYXNzPSLml6XmnKzoqp5fY2xhc3MiPmNsYXNzPSLml6XmnKzoqp5fY2xhc3MiPC9saT4K
KzxsaSBjbGFzcz0iJiM2NjU2MDtfY2xhc3MiPmNsYXNzPSImIzY2NTYwO19jbGFzcyI8L2xpPgor
PGxpIGNsYXNzPSJhekFaMDlfLV9jbGFzcyI+Y2xhc3M9ImF6QVowOV8tX2NsYXNzIjwvbGk+Cis8
bGkgY2xhc3M9IigvOkBbfl9jbGFzcyI+Y2xhc3M9IigvOkBbfl9jbGFzcyI8L2xpPgorPGxpIGlk
PSJhLmV4dGVybmFsOnZpc2l0ZWQiPmlkPSJhLmV4dGVybmFsOnZpc2l0ZWQiPC9saT4KKzxsaSBt
eWF0dHI9Im15JiMwMzQ7dmFsdWUmIzA5MjsiPm15YXR0cj0ibXkmIzAzNDt2YWx1ZSYjMDkyOyI8
L2xpPgorPC91bD4KKworPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBmb3IgQnVnIDM0NTI5IC0gW0NTU09N
XSBpc3N1ZXMgd2l0aCBjc3NUZXh0IGFuZCBzZWxlY3RvclRleHQiKTsKKwordmFyIGV4cGVjdGVk
VGV4dHMgPSBbCisgICAgIi5cXDEgX2NsYXNzIiwKKyAgICAiLlxcMWYgX2NsYXNzIiwKKyAgICAi
LlxcMzAgX2NsYXNzIiwKKyAgICAiLlxcMzkgX2NsYXNzIiwKKyAgICAiLi1cXDMwIF9jbGFzcyIs
CisgICAgIi4tXFwzOSBfY2xhc3MiLAorICAgICIuLVxcLV9jbGFzcyIsCisgICAgIi5ceDgxX2Ns
YXNzIiwKKyAgICAiLuaXpeacrOiqnl9jbGFzcyIsCisgICAgIi7wkJCAX2NsYXNzIiwKKyAgICAi
LmF6QVowOV8tX2NsYXNzIiwKKyAgICAiLlxcKFxcL1xcOlxcQFxcW1xcfl9jbGFzcyIsCisgICAg
IiNhXFwuZXh0ZXJuYWxcXDp2aXNpdGVkIiwKKyAgICAnbGlbbXlhdHRyPSJteVxcInZhbHVlXFxc
XCJdJworXTsKKwordmFyIHJ1bGVzID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uY3NzUnVsZXM7
Citmb3IgKHZhciBpID0gMDsgaSA8IGV4cGVjdGVkVGV4dHMubGVuZ3RoOyBpKyspIHsKKyAgICBz
aG91bGRCZSgicnVsZXNbIiArIGkgKyAiXS5zZWxlY3RvclRleHQiLCAiZXhwZWN0ZWRUZXh0c1si
ICsgaSArICJdIik7CisgICAgc2hvdWxkQmUoInJ1bGVzWyIgKyBpICsgIl0uY3NzVGV4dCIsICJl
eHBlY3RlZFRleHRzWyIgKyBpICsgIl0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JyIpOworfQorCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLm1rIGIvV2ViQ29yZS9BbmRyb2lkLm1rCmlu
ZGV4IGRiOWZmNGI3NmJmZTZlNGFlYjM1MGVmNzY5NTk2YzQ4YzVhMWNmMzkuLmEwZjQ0NmMxMWRl
NGY2YjE0M2MyMzRjNzQ3NTUwYzBjODI2YjFkMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9p
ZC5taworKysgYi9XZWJDb3JlL0FuZHJvaWQubWsKQEAgLTQ0LDYgKzQ0LDcgQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9IFwKIAljc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcCBcCiAJY3NzL0NTU01lZGlhUnVs
ZS5jcHAgXAogCWNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgXAorCWNzcy9DU1NP
TVV0aWxzLmNwcCBcCiAJY3NzL0NTU1BhZ2VSdWxlLmNwcCBcCiAJY3NzL0NTU1BhcnNlci5jcHAg
XAogCWNzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDFiYjcyMDg5NzE3MzlkOWY2
OTI0NDEyNzgwZjQ4NjRlNTU1ZTBiMjcuLmVhN2VhNzIxNWVkNTg1MWQzY2I5Y2JiZjFiOWI1NTA3
N2MwMTdmYjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtNjg1LDYgKzY4NSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMK
ICAgICBjc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwCiAg
ICAgY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAorICAgIGNzcy9DU1NPTVV0aWxz
LmNwcAogICAgIGNzcy9DU1NQYWdlUnVsZS5jcHAKICAgICBjc3MvQ1NTUGFyc2VyLmNwcAogICAg
IGNzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM0YzRkODRjODMyNWU3YTYzYjcwNzllMGI0ZTVhODA3
ZmM0YjMzYjAuLjhlYjFjOTViZGY3MDQ3NGZjMGU1NGFjNmJkNzI5NjZmZDIxZWUxZmIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzEgQEAKKzIwMTAtMDUtMTggIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3Ig
QnVnIDM0NTI5IC0gIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0b3JUZXh0
CisgICAgICAgIFNlcmlhbGl6ZSBzZWxlY3RvciBhcyBwZXIgaHR0cDovL2Rldi53My5vcmcvY3Nz
d2cvY3Nzb20vI3NlcmlhbGl6aW5nLXNlbGVjdG9ycworICAgICAgICBXaXRob3V0IHRoaXMgcGF0
Y2gsIGZvciBleGFtcGxlLCBzZWxlY3RvcnMgY29udGFpbmluZyAnOicgb3IgJy4nIGFyZSBub3Qg
cHJvcGVybHkgc2VyaWFsaXplZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM0NTI5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mvc2VsZWN0b3ItdGV4
dC1lc2NhcGUuaHRtbAorCisgICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGNzcy9DU1NPTVV0aWxzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjphcHBlbmRDaGFyYWN0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6c2VyaWFsaXplQ2hhcmFjdGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6ZUNoYXJhY3RlckFzQ29kZVBvaW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6ZUlkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
c2VyaWFsaXplU3RyaW5nKToKKyAgICAgICAgKiBjc3MvQ1NTT01VdGlscy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0
b3I6OnNlbGVjdG9yVGV4dCk6CisKIDIwMTAtMDUtMTggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5k
ZXggNGYzOTUwYjMzYjVjNjdiN2E5NzdmNjU2ODRjZmU0YTI5MDc2MzVmMC4uYWQyNmE1NWViNjQz
MTM5Yjk4MmI3YWE0NGRiMGEyNDk4NzU2NWJjYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC02MzIsNiArNjMyLDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbi5jcHAgXAogCVdlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggXAog
CVdlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oIFwKKwlXZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmNw
cCBcCisJV2ViQ29yZS9jc3MvQ1NTT01VdGlscy5oIFwKIAlXZWJDb3JlL2Nzcy9DU1NQYWdlUnVs
ZS5jcHAgXAogCVdlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmggXAogCVdlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCAwNDY2MGZiZGZmNWYxM2RhOTIyNDU4MTRhZTU0NzI4YzM2YTQ4ZTY0
Li5mOGQzZTdjY2RkZDUzMDhjZmQ0NDgzNGI0NmQ4MmE4OTI4NTVhNjc2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtOTYxLDYg
Kzk2MSw4IEBACiAgICAgICAgICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNw
cCcsCiAgICAgICAgICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgnLAogICAg
ICAgICAgICAgJ2Nzcy9DU1NOYW1lc3BhY2UuaCcsCisgICAgICAgICAgICAnY3NzL0NTU09NVXRp
bHMuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTT01VdGlscy5oJywKICAgICAgICAgICAgICdj
c3MvQ1NTUGFnZVJ1bGUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTUGFnZVJ1bGUuaCcsCiAg
ICAgICAgICAgICAnY3NzL0NTU1BhcnNlci5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMTcxNjE0MzIzMWQ0YThiZjFlNzA2
YTM0NmFmOGZkMjI1NmViNmRiNS4uYzczNDljNjU0NmRiNTAyNDQ5MWU2YjVkMGY2NjNjOGY0OTUy
OTIwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNv
cmUucHJvCkBAIC00MDMsNiArNDAzLDcgQEAgU09VUkNFUyArPSBcCiAgICAgY3NzL0NTU0luaXRp
YWxWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwIFwKKyAgICBjc3MvQ1NTT01VdGlscy5jcHAgXAogICAg
IGNzcy9DU1NQYWdlUnVsZS5jcHAgXAogICAgIGNzcy9DU1NQYXJzZXIuY3BwIFwKICAgICBjc3Mv
Q1NTUGFyc2VyVmFsdWVzLmNwcCBcCkBAIC0xMTI5LDYgKzExMzAsNyBAQCBIRUFERVJTICs9IFwK
ICAgICBjc3MvQ1NTSW5pdGlhbFZhbHVlLmggXAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuaCBcCiAg
ICAgY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggXAorICAgIGNzcy9DU1NPTVV0aWxz
LmggXAogICAgIGNzcy9DU1NQYWdlUnVsZS5oIFwKICAgICBjc3MvQ1NTUGFyc2VyLmggXAogICAg
IGNzcy9DU1NQYXJzZXJWYWx1ZXMuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCA1ZGYyMDNiN2FhMTdkNDYxNDExZjkxNzk5ZTEwMTBkN2M3OWUzY2QyLi42YTIyNTll
MTBmYzE4YjdhYWRjMWJlMWNlMjYyOWNmZGZhMWZiMzA4IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTI3MjMzLDYgKzI3MjMzLDE0IEBACiAJCQkJPg0KIAkJCTwvRmls
ZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NPTVV0aWxzLmNwcCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNz
c1xDU1NPTVV0aWxzLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVs
YXRpdmVQYXRoPSIuLlxjc3NcQ1NTTmFtZXNwYWNlLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzODNjNDM4M2Fi
ODI2MTE4OWMxMTA3OTQwNjAyZGU1ZTgyMGZkZWM0Li5mNmM0ZTgxMjEzM2E5N2Q1Mzk5ZmQ1YmU0
YWViYWMzNzhjY2MxNWI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNTAyMyw2ICs1MDIzLDggQEAKIAkJRjVEM0E1N0QxMDZCODNCMzAwNTQ1Mjk3IC8q
IERhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNUQzQTU3QjEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGOTE2QzQ4RDBE
QjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjkxNkM0OEIwREI1MTBG
ODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAqLzsgfTsKIAkJ
RjkxNkM0OEUwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOTE2QzQ4
QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLzsg
fTsKKwkJRjk4RkZGNDQxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjk4RkZGNDIxMUEyNjc2MjAw
RjU0OEU4IC8qIENTU09NVXRpbHMuY3BwICovOyB9OworCQlGOThGRkY0NTExQTI2NzYyMDBGNTQ4
RTggLyogQ1NTT01VdGlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjk4RkZGNDMxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCAqLzsgfTsK
IAkJRjlGMEVEN0EwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjlGMEVE
NzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovOyB9
OwogCQlGQTBCMUY4NjExMTI1Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTBCMUY4MjExMTI1
Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgKi87IH07CiAJCUZBMEIxRjg3MTEx
MjVDRUUwMDdGOTgzOSAvKiBSZW5kZXJNYXRoTUxNYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTBCMUY4MzExMTI1Q0VFMDA3Rjk4MzkgLyogUmVu
ZGVyTWF0aE1MTWF0aC5oICovOyB9OwpAQCAtMTA1NjYsNiArMTA1NjgsOCBAQAogCQlGODIxNjI5
OTAyOUY0RkI1MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7
IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CiAJCUY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGOTE2QzQ4QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY5
OEZGRjQyMTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU09NVXRpbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlGOThGRkY0MzExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NPTVV0aWxzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
OUYwRUQ3ODBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkEwQjFGODIxMTEyNUNFRTAwN0Y5ODM5
IC8qIFJlbmRlck1hdGhNTE1hdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVuZGVyTWF0aE1MTWF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNTk3MSw2ICsxNTk3NSw4IEBACiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2MzVDQSAvKiBjc3Mg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUY5OEZGRjQy
MTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLywKKwkJCQlGOThGRkY0MzExQTI2
NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oICovLAogCQkJCTkzQ0E0QzlDMDlERjkzRkEwMERG
ODY3NyAvKiBtYWtldG9rZW5pemVyICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdGQjhDNSAv
KiBDb3VudGVyLmggKi8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIu
aWRsICovLApAQCAtMTkyNzQsNiArMTkyODAsNyBAQAogCQkJCTk3RThCM0MzMTFBMjg5MDgwMDE2
OTQwOSAvKiBIVE1MNVRva2VuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxMDM4QjExQTI5NDcw
MDBEQkQ1MEUgLyogSFRNTDVUb2tlbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMzI3RDYw
MTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUY5
OEZGRjQ1MTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmggaW4gSGVhZGVycyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTIxNTU3LDYgKzIxNTY0LDcgQEAKIAkJCQk5N0U4QjM1NjExQTIzQ0UyMDAxNjk0MDkgLyogSFRN
TDVMZXhlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxMDM4QTExQTI5NDcwMDBEQkQ1MEUg
LyogSFRNTDVUb2tlbml6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEzMjdENjExMUEzM0Ey
QjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGOThGRkY0
NDExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTT01VdGls
cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTI3MjFjMGE4ZTQ3YWZjNzZlMGQ2MDA1NjlmOTI2NGQ5NjhhZmMz
NAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMuY3BwCkBAIC0wLDAg
KzEsMTIxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU09NVXRpbHMuaCIKKwor
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Rh
dGljIHZvaWQgYXBwZW5kQ2hhcmFjdGVyKFVDaGFyMzIgYywgVmVjdG9yPFVDaGFyPiYgYXBwZW5k
VG8pCit7CisgICAgaWYgKFUxNl9MRU5HVEgoYykgPT0gMSkKKyAgICAgICAgYXBwZW5kVG8uYXBw
ZW5kKHN0YXRpY19jYXN0PFVDaGFyPihjKSk7CisgICAgZWxzZSB7CisgICAgICAgIGFwcGVuZFRv
LmFwcGVuZChVMTZfTEVBRChjKSk7CisgICAgICAgIGFwcGVuZFRvLmFwcGVuZChVMTZfVFJBSUwo
YykpOworICAgIH0KK30KKwordm9pZCBzZXJpYWxpemVDaGFyYWN0ZXIoVUNoYXIzMiBjLCBWZWN0
b3I8VUNoYXI+JiBhcHBlbmRUbykKK3sKKyAgICBhcHBlbmRUby5hcHBlbmQoJ1xcJyk7CisgICAg
YXBwZW5kQ2hhcmFjdGVyKGMsIGFwcGVuZFRvKTsKK30KKwordm9pZCBzZXJpYWxpemVDaGFyYWN0
ZXJBc0NvZGVQb2ludChVQ2hhcjMyIGMsIFZlY3RvcjxVQ2hhcj4mIGFwcGVuZFRvKQoreworICAg
IGFwcGVuZChhcHBlbmRUbyxTdHJpbmc6OmZvcm1hdCgiXFwleCAiLCBjKSk7Cit9CisKK3ZvaWQg
c2VyaWFsaXplSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFN0cmluZyYgYXBw
ZW5kVG8pCit7CisgICAgVmVjdG9yPFVDaGFyPiBhZGRlbmQ7CisgICAgc2VyaWFsaXplSWRlbnRp
ZmllcihpZGVudGlmaWVyLCBhZGRlbmQpOworICAgIGFwcGVuZFRvLmFwcGVuZChTdHJpbmc6OmFk
b3B0KGFkZGVuZCkpOworfQorCit2b2lkIHNlcmlhbGl6ZUlkZW50aWZpZXIoY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyLCBWZWN0b3I8VUNoYXI+JiBhcHBlbmRUbykKK3sKKyAgICBib29sIGlzRmly
c3QgPSB0cnVlOworICAgIGJvb2wgaXNTZWNvbmQgPSBmYWxzZTsKKyAgICBib29sIGlzRmlyc3RD
aGFySHlwaGVuID0gZmFsc2U7CisgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgIHdoaWxlIChp
bmRleCA8IGlkZW50aWZpZXIubGVuZ3RoKCkpIHsKKyAgICAgICAgVUNoYXIzMiBjID0gaWRlbnRp
Zmllci5jaGFyYWN0ZXJTdGFydGluZ0F0KGluZGV4KTsKKyAgICAgICAgaW5kZXggKz0gVTE2X0xF
TkdUSChjKTsKKworICAgICAgICBpZiAoKDAgPD0gYyAmJiBjIDw9IDB4MWYpIHx8ICgweDMwIDw9
IGMgJiYgYyA8PSAweDM5ICYmIChpc0ZpcnN0IHx8IChpc1NlY29uZCAmJiBpc0ZpcnN0Q2hhckh5
cGhlbikpKSkKKyAgICAgICAgICAgIHNlcmlhbGl6ZUNoYXJhY3RlckFzQ29kZVBvaW50KGMsIGFw
cGVuZFRvKTsKKyAgICAgICAgZWxzZSBpZiAoYyA9PSAweDJkICYmIGlzU2Vjb25kICYmIGlzRmly
c3RDaGFySHlwaGVuKQorICAgICAgICAgICAgc2VyaWFsaXplQ2hhcmFjdGVyKGMsIGFwcGVuZFRv
KTsKKyAgICAgICAgZWxzZSBpZiAoMHg4MCA8PSBjIHx8IGMgPT0gMHgyZCB8fCBjID09IDB4NWYg
fHwgKDB4MzAgPD0gYyAmJiBjIDw9IDB4MzkpIHx8ICgweDQxIDw9IGMgJiYgYyA8PSAweDVhKSB8
fCAoMHg2MSA8PSBjICYmIGMgPD0gMHg3YSkpCisgICAgICAgICAgICBhcHBlbmRDaGFyYWN0ZXIo
YywgYXBwZW5kVG8pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzZXJpYWxpemVDaGFyYWN0
ZXIoYywgYXBwZW5kVG8pOworCisgICAgICAgIGlmIChpc0ZpcnN0KSB7CisgICAgICAgICAgICBp
c0ZpcnN0ID0gZmFsc2U7CisgICAgICAgICAgICBpc1NlY29uZCA9IHRydWU7CisgICAgICAgICAg
ICBpc0ZpcnN0Q2hhckh5cGhlbiA9IChjID09IDB4MmQpOworICAgICAgICB9IGVsc2UgaWYgKGlz
U2Vjb25kKSB7CisgICAgICAgICAgICBpc1NlY29uZCA9IGZhbHNlOworICAgICAgICB9CisgICAg
fQorfQorCit2b2lkIHNlcmlhbGl6ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywgU3RyaW5n
JiBhcHBlbmRUbykKK3sKKyAgICBWZWN0b3I8VUNoYXI+IGFkZGVuZDsKKyAgICBzZXJpYWxpemVT
dHJpbmcoc3RyaW5nLCBhZGRlbmQpOworICAgIGFwcGVuZFRvLmFwcGVuZChTdHJpbmc6OmFkb3B0
KGFkZGVuZCkpOworfQorCit2b2lkIHNlcmlhbGl6ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmlu
ZywgVmVjdG9yPFVDaGFyPiYgYXBwZW5kVG8pCit7CisgICAgYXBwZW5kVG8uYXBwZW5kKCdcIicp
OworCisgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgIHdoaWxlIChpbmRleCA8IHN0cmluZy5s
ZW5ndGgoKSkgeworICAgICAgICBVQ2hhcjMyIGMgPSBzdHJpbmcuY2hhcmFjdGVyU3RhcnRpbmdB
dChpbmRleCk7CisgICAgICAgIGluZGV4ICs9IFUxNl9MRU5HVEgoYyk7CisgICAgICAgIGlmICgw
IDw9IGMgJiYgYyA8PSAweDFmKQorICAgICAgICAgICAgc2VyaWFsaXplQ2hhcmFjdGVyQXNDb2Rl
UG9pbnQoYywgYXBwZW5kVG8pOworICAgICAgICBlbHNlIGlmIChjID09IDB4MjIgfHwgYyA9PSAw
eDVjKQorICAgICAgICAgICAgc2VyaWFsaXplQ2hhcmFjdGVyKGMsIGFwcGVuZFRvKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgYXBwZW5kQ2hhcmFjdGVyKGMsIGFwcGVuZFRvKTsKKyAgICB9
CisKKyAgICBhcHBlbmRUby5hcHBlbmQoJ1wiJyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMuaCBiL1dlYkNvcmUvY3NzL0NT
U09NVXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjAyYjM1YWMwMGZlODM0MGE0ZDA0YzExY2YxNzI5YWNh
YjAyZTYxCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9jc3MvQ1NTT01VdGlscy5oCkBAIC0w
LDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIENTU09NVXRpbHNfaAorI2RlZmluZSBDU1NPTVV0aWxzX2gKKwor
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+
CisKKy8vIFV0aWxpdGllcyBmb3IgQ1NTT00gaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20v
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3RyaW5nOworCisvLyBDb21tb24gc2Vy
aWFsaXppbmcgbWV0aG9kcy4gU2VlOiBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3NvbS8jY29t
bW9uLXNlcmlhbGl6aW5nLWlkaW9tcwordm9pZCBzZXJpYWxpemVDaGFyYWN0ZXIoVUNoYXIzMiwg
VmVjdG9yPFVDaGFyPiYgYXBwZW5kVG8pOwordm9pZCBzZXJpYWxpemVDaGFyYWN0ZXJBc0NvZGVQ
b2ludChVQ2hhcjMyLCBWZWN0b3I8VUNoYXI+JiBhcHBlbmRUbyk7Cit2b2lkIHNlcmlhbGl6ZUlk
ZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBTdHJpbmcmIGFwcGVuZFRvKTsKK3Zv
aWQgc2VyaWFsaXplSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFZlY3RvcjxV
Q2hhcj4mIGFwcGVuZFRvKTsKK3ZvaWQgc2VyaWFsaXplU3RyaW5nKGNvbnN0IFN0cmluZyYgc3Ry
aW5nLCBTdHJpbmcmIGFwcGVuZFRvKTsKK3ZvaWQgc2VyaWFsaXplU3RyaW5nKGNvbnN0IFN0cmlu
ZyYgc3RyaW5nLCBWZWN0b3I8VUNoYXI+JiBhcHBlbmRUbyk7CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIENTU09NVXRpbHNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGVlOWM4
NDY1YzYzMjYxNjA5ZGJkYWQ5OGQ5M2ZkZDNlMzJhNWYyNGYuLjAwYTNiMWU5OWIyNDQyMWJkMmY0
OTVkNGJiZjhkMWQ2ZmExZDkxNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTI1LDkgKzI1LDkgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogCi0jaW5jbHVk
ZSAid3RmL0Fzc2VydGlvbnMuaCIKKyNpbmNsdWRlICJDU1NPTVV0aWxzLmgiCiAjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCi0KKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCkBAIC01ODIsMTAg
KzU4MiwxMCBAQCBTdHJpbmcgQ1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dCgpIGNvbnN0CiAgICAg
d2hpbGUgKHRydWUpIHsKICAgICAgICAgaWYgKGNzLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpJ
ZCkgewogICAgICAgICAgICAgc3RyICs9ICIjIjsKLSAgICAgICAgICAgIHN0ciArPSBjcy0+bV92
YWx1ZTsKKyAgICAgICAgICAgIHNlcmlhbGl6ZUlkZW50aWZpZXIoY3MtPm1fdmFsdWUsIHN0cik7
CiAgICAgICAgIH0gZWxzZSBpZiAoY3MtPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OkNsYXNzKSB7
CiAgICAgICAgICAgICBzdHIgKz0gIi4iOwotICAgICAgICAgICAgc3RyICs9IGNzLT5tX3ZhbHVl
OworICAgICAgICAgICAgc2VyaWFsaXplSWRlbnRpZmllcihjcy0+bV92YWx1ZSwgc3RyKTsKICAg
ICAgICAgfSBlbHNlIGlmIChjcy0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3Mp
IHsKICAgICAgICAgICAgIHN0ciArPSAiOiI7CiAgICAgICAgICAgICBzdHIgKz0gY3MtPm1fdmFs
dWU7CkBAIC02MzcsOSArNjM3LDggQEAgU3RyaW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQo
KSBjb25zdAogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIGlmIChjcy0+bV9tYXRjaCAhPSBDU1NTZWxlY3Rvcjo6U2V0KSB7Ci0gICAgICAgICAg
ICAgICAgc3RyICs9ICJcIiI7Ci0gICAgICAgICAgICAgICAgc3RyICs9IGNzLT5tX3ZhbHVlOwot
ICAgICAgICAgICAgICAgIHN0ciArPSAiXCJdIjsKKyAgICAgICAgICAgICAgICBzZXJpYWxpemVT
dHJpbmcoY3MtPm1fdmFsdWUsIHN0cik7CisgICAgICAgICAgICAgICAgc3RyICs9ICJdIjsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBpZiAoY3MtPnJlbGF0aW9uKCkgIT0gQ1NT
U2VsZWN0b3I6OlN1YlNlbGVjdG9yIHx8ICFjcy0+dGFnSGlzdG9yeSgpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56447</attachid>
            <date>2010-05-18 20:29:46 -0700</date>
            <delta_ts>2010-05-18 21:09:42 -0700</delta_ts>
            <desc>Use Vector&lt;UChar&gt; for better performance</desc>
            <filename>bug-34529-20100518202944.patch</filename>
            <type>text/plain</type>
            <size>23358</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MjBiNjkyMWVlMjBmMTVmZWZjMzU3MjkwNzUzMzAzNzZhNjRmMGMxLi4yYzMxMzc3
NTRjY2NmMTQ1N2U2OWNlMGQ3ZTViN2JkNGNhNGMzYWUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDUtMTggIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgQnVnIDM0NTI5
IC0gIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0b3JUZXh0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDUyOQorCisgICAgICAg
ICogZmFzdC9jc3Mvc2VsZWN0b3ItdGV4dC1lc2NhcGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sOiBBZGRlZC4KKwogMjAx
MC0wNS0xOCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zZWxlY3Rvci10
ZXh0LWVzY2FwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zZWxlY3Rvci10
ZXh0LWVzY2FwZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzI3NGNkMDIyZGU4NTZiOGVmY2Fk
NmEyNjAxMjEyMWM2NWYxODYxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUyIEBACitU
ZXN0IGZvciBCdWcgMzQ1MjkgLSBbQ1NTT01dIGlzc3VlcyB3aXRoIGNzc1RleHQgYW5kIHNlbGVj
dG9yVGV4dAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworTGlzdCBpdGVtcyBtdXN0
IGJlIGdyZWVuLiBPdGhlcndpc2Ugc29tZSBzZWxlY3RvcnMgYXJlIGludmFsaWQuCitjbGFzcz0i
JiMwMDE7X2NsYXNzIgorY2xhc3M9IiYjMDMxO19jbGFzcyIKK2NsYXNzPSIwX2NsYXNzIgorY2xh
c3M9IjlfY2xhc3MiCitjbGFzcz0iLTBfY2xhc3MiCitjbGFzcz0iLTlfY2xhc3MiCitjbGFzcz0i
LS1fY2xhc3MiCitjbGFzcz0iJiMxMjk7X2NsYXNzIgorY2xhc3M9IuaXpeacrOiqnl9jbGFzcyIK
K2NsYXNzPSLwkJCAX2NsYXNzIgorY2xhc3M9ImF6QVowOV8tX2NsYXNzIgorY2xhc3M9IigvOkBb
fl9jbGFzcyIKK2lkPSJhLmV4dGVybmFsOnZpc2l0ZWQiCitteWF0dHI9Im15InZhbHVlXCIKK1BB
U1MgcnVsZXNbMF0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMF0KK1BBU1MgcnVsZXNb
MF0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzBdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbMV0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMV0KK1BBU1MgcnVsZXNb
MV0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzFdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbMl0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMl0KK1BBU1MgcnVsZXNb
Ml0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzJdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbM10uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbM10KK1BBU1MgcnVsZXNb
M10uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzNdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbNF0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNF0KK1BBU1MgcnVsZXNb
NF0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzRdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbNV0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNV0KK1BBU1MgcnVsZXNb
NV0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzVdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbNl0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNl0KK1BBU1MgcnVsZXNb
Nl0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzZdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbN10uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbN10KK1BBU1MgcnVsZXNb
N10uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzddICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbOF0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbOF0KK1BBU1MgcnVsZXNb
OF0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzhdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbOV0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbOV0KK1BBU1MgcnVsZXNb
OV0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzldICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BB
U1MgcnVsZXNbMTBdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzEwXQorUEFTUyBydWxl
c1sxMF0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzEwXSArICcgeyBjb2xvcjogZ3JlZW47IH0n
CitQQVNTIHJ1bGVzWzExXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0c1sxMV0KK1BBU1Mg
cnVsZXNbMTFdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1sxMV0gKyAnIHsgY29sb3I6IGdyZWVu
OyB9JworUEFTUyBydWxlc1sxMl0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMTJdCitQ
QVNTIHJ1bGVzWzEyXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMTJdICsgJyB7IGNvbG9yOiBn
cmVlbjsgfScKK1BBU1MgcnVsZXNbMTNdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3RlZFRleHRzWzEz
XQorUEFTUyBydWxlc1sxM10uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzEzXSArICcgeyBjb2xv
cjogZ3JlZW47IH0nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2VsZWN0b3ItdGV4dC1l
c2NhcGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGI3OTI2OTQ5NDliN2Y3MDczYjgwZTU4NWIyZDljOTQzNThhNDFiNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3NlbGVjdG9yLXRleHQtZXNj
YXBlLmh0bWwKQEAgLTAsMCArMSwxMDggQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBj
aGFyc2V0PXV0Zi04Ii8+Cis8dGl0bGU+QnVnIDM0NTI5IC0gW0NTU09NXSBpc3N1ZXMgd2l0aCBj
c3NUZXh0IGFuZCBzZWxlY3RvclRleHQ8L3RpdGxlPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
Ky5cMDFfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLlwxZl9jbGFzcyB7CisgICAgY29s
b3I6Z3JlZW47Cit9CisuXDMwX2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy5cMzlfY2xh
c3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLi1cMzBfY2xhc3MgeworICAgIGNvbG9yOmdyZWVu
OworfQorLi1cMzlfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLi1cMmRfY2xhc3Mgewor
ICAgIGNvbG9yOmdyZWVuOworfQorLlw4MV9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9Cisu
5pel5pys6KqeX2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy7wkJCAX2NsYXNzIHsKKyAg
ICBjb2xvcjpncmVlbjsKK30KKy5hekFaMDlfLV9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9
CisuXChcL1w6XEBcW1x+X2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKyNhXC5leHRlcm5h
bFw6dmlzaXRlZCB7CisgICAgY29sb3I6Z3JlZW47Cit9CitsaVtteWF0dHI9Im15XCJ2YWx1ZVxc
Il0geworICAgIGNvbG9yOmdyZWVuOworfQorbGkgeworICAgIGNvbG9yOnJlZDsKK30KKzwvc3R5
bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CisK
K0xpc3QgaXRlbXMgbXVzdCBiZSBncmVlbi4gT3RoZXJ3aXNlIHNvbWUgc2VsZWN0b3JzIGFyZSBp
bnZhbGlkLgorPHVsPgorPGxpIGNsYXNzPSImIzAwMTtfY2xhc3MiPmNsYXNzPSImYW1wOyMwMDE7
X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9IiYjMDMxO19jbGFzcyI+Y2xhc3M9IiZhbXA7IzAzMTtf
Y2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iMF9jbGFzcyI+Y2xhc3M9IjBfY2xhc3MiPC9saT4KKzxs
aSBjbGFzcz0iOV9jbGFzcyI+Y2xhc3M9IjlfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iLTBfY2xh
c3MiPmNsYXNzPSItMF9jbGFzcyI8L2xpPgorPGxpIGNsYXNzPSItOV9jbGFzcyI+Y2xhc3M9Ii05
X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9Ii0tX2NsYXNzIj5jbGFzcz0iLS1fY2xhc3MiPC9saT4K
KzxsaSBjbGFzcz0iJiMxMjk7X2NsYXNzIj5jbGFzcz0iJmFtcDsjMTI5O19jbGFzcyI8L2xpPgor
PGxpIGNsYXNzPSLml6XmnKzoqp5fY2xhc3MiPmNsYXNzPSLml6XmnKzoqp5fY2xhc3MiPC9saT4K
KzxsaSBjbGFzcz0iJiM2NjU2MDtfY2xhc3MiPmNsYXNzPSImIzY2NTYwO19jbGFzcyI8L2xpPgor
PGxpIGNsYXNzPSJhekFaMDlfLV9jbGFzcyI+Y2xhc3M9ImF6QVowOV8tX2NsYXNzIjwvbGk+Cis8
bGkgY2xhc3M9IigvOkBbfl9jbGFzcyI+Y2xhc3M9IigvOkBbfl9jbGFzcyI8L2xpPgorPGxpIGlk
PSJhLmV4dGVybmFsOnZpc2l0ZWQiPmlkPSJhLmV4dGVybmFsOnZpc2l0ZWQiPC9saT4KKzxsaSBt
eWF0dHI9Im15JiMwMzQ7dmFsdWUmIzA5MjsiPm15YXR0cj0ibXkmIzAzNDt2YWx1ZSYjMDkyOyI8
L2xpPgorPC91bD4KKworPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBmb3IgQnVnIDM0NTI5IC0gW0NTU09N
XSBpc3N1ZXMgd2l0aCBjc3NUZXh0IGFuZCBzZWxlY3RvclRleHQiKTsKKwordmFyIGV4cGVjdGVk
VGV4dHMgPSBbCisgICAgIi5cXDEgX2NsYXNzIiwKKyAgICAiLlxcMWYgX2NsYXNzIiwKKyAgICAi
LlxcMzAgX2NsYXNzIiwKKyAgICAiLlxcMzkgX2NsYXNzIiwKKyAgICAiLi1cXDMwIF9jbGFzcyIs
CisgICAgIi4tXFwzOSBfY2xhc3MiLAorICAgICIuLVxcLV9jbGFzcyIsCisgICAgIi5ceDgxX2Ns
YXNzIiwKKyAgICAiLuaXpeacrOiqnl9jbGFzcyIsCisgICAgIi7wkJCAX2NsYXNzIiwKKyAgICAi
LmF6QVowOV8tX2NsYXNzIiwKKyAgICAiLlxcKFxcL1xcOlxcQFxcW1xcfl9jbGFzcyIsCisgICAg
IiNhXFwuZXh0ZXJuYWxcXDp2aXNpdGVkIiwKKyAgICAnbGlbbXlhdHRyPSJteVxcInZhbHVlXFxc
XCJdJworXTsKKwordmFyIHJ1bGVzID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uY3NzUnVsZXM7
Citmb3IgKHZhciBpID0gMDsgaSA8IGV4cGVjdGVkVGV4dHMubGVuZ3RoOyBpKyspIHsKKyAgICBz
aG91bGRCZSgicnVsZXNbIiArIGkgKyAiXS5zZWxlY3RvclRleHQiLCAiZXhwZWN0ZWRUZXh0c1si
ICsgaSArICJdIik7CisgICAgc2hvdWxkQmUoInJ1bGVzWyIgKyBpICsgIl0uY3NzVGV4dCIsICJl
eHBlY3RlZFRleHRzWyIgKyBpICsgIl0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JyIpOworfQorCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLm1rIGIvV2ViQ29yZS9BbmRyb2lkLm1rCmlu
ZGV4IGRiOWZmNGI3NmJmZTZlNGFlYjM1MGVmNzY5NTk2YzQ4YzVhMWNmMzkuLmEwZjQ0NmMxMWRl
NGY2YjE0M2MyMzRjNzQ3NTUwYzBjODI2YjFkMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9p
ZC5taworKysgYi9XZWJDb3JlL0FuZHJvaWQubWsKQEAgLTQ0LDYgKzQ0LDcgQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9IFwKIAljc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcCBcCiAJY3NzL0NTU01lZGlhUnVs
ZS5jcHAgXAogCWNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgXAorCWNzcy9DU1NP
TVV0aWxzLmNwcCBcCiAJY3NzL0NTU1BhZ2VSdWxlLmNwcCBcCiAJY3NzL0NTU1BhcnNlci5jcHAg
XAogCWNzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDFiYjcyMDg5NzE3MzlkOWY2
OTI0NDEyNzgwZjQ4NjRlNTU1ZTBiMjcuLmVhN2VhNzIxNWVkNTg1MWQzY2I5Y2JiZjFiOWI1NTA3
N2MwMTdmYjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtNjg1LDYgKzY4NSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMK
ICAgICBjc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwCiAg
ICAgY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAorICAgIGNzcy9DU1NPTVV0aWxz
LmNwcAogICAgIGNzcy9DU1NQYWdlUnVsZS5jcHAKICAgICBjc3MvQ1NTUGFyc2VyLmNwcAogICAg
IGNzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM0YzRkODRjODMyNWU3YTYzYjcwNzllMGI0ZTVhODA3
ZmM0YjMzYjAuLjhlYjFjOTViZGY3MDQ3NGZjMGU1NGFjNmJkNzI5NjZmZDIxZWUxZmIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzEgQEAKKzIwMTAtMDUtMTggIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3Ig
QnVnIDM0NTI5IC0gIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0b3JUZXh0
CisgICAgICAgIFNlcmlhbGl6ZSBzZWxlY3RvciBhcyBwZXIgaHR0cDovL2Rldi53My5vcmcvY3Nz
d2cvY3Nzb20vI3NlcmlhbGl6aW5nLXNlbGVjdG9ycworICAgICAgICBXaXRob3V0IHRoaXMgcGF0
Y2gsIGZvciBleGFtcGxlLCBzZWxlY3RvcnMgY29udGFpbmluZyAnOicgb3IgJy4nIGFyZSBub3Qg
cHJvcGVybHkgc2VyaWFsaXplZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM0NTI5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mvc2VsZWN0b3ItdGV4
dC1lc2NhcGUuaHRtbAorCisgICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGNzcy9DU1NPTVV0aWxzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjphcHBlbmRDaGFyYWN0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6c2VyaWFsaXplQ2hhcmFjdGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6ZUNoYXJhY3RlckFzQ29kZVBvaW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6ZUlkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
c2VyaWFsaXplU3RyaW5nKToKKyAgICAgICAgKiBjc3MvQ1NTT01VdGlscy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0
b3I6OnNlbGVjdG9yVGV4dCk6CisKIDIwMTAtMDUtMTggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5k
ZXggNGYzOTUwYjMzYjVjNjdiN2E5NzdmNjU2ODRjZmU0YTI5MDc2MzVmMC4uYWQyNmE1NWViNjQz
MTM5Yjk4MmI3YWE0NGRiMGEyNDk4NzU2NWJjYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC02MzIsNiArNjMyLDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbi5jcHAgXAogCVdlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggXAog
CVdlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oIFwKKwlXZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmNw
cCBcCisJV2ViQ29yZS9jc3MvQ1NTT01VdGlscy5oIFwKIAlXZWJDb3JlL2Nzcy9DU1NQYWdlUnVs
ZS5jcHAgXAogCVdlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmggXAogCVdlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCAwNDY2MGZiZGZmNWYxM2RhOTIyNDU4MTRhZTU0NzI4YzM2YTQ4ZTY0
Li5mOGQzZTdjY2RkZDUzMDhjZmQ0NDgzNGI0NmQ4MmE4OTI4NTVhNjc2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtOTYxLDYg
Kzk2MSw4IEBACiAgICAgICAgICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNw
cCcsCiAgICAgICAgICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgnLAogICAg
ICAgICAgICAgJ2Nzcy9DU1NOYW1lc3BhY2UuaCcsCisgICAgICAgICAgICAnY3NzL0NTU09NVXRp
bHMuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTT01VdGlscy5oJywKICAgICAgICAgICAgICdj
c3MvQ1NTUGFnZVJ1bGUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTUGFnZVJ1bGUuaCcsCiAg
ICAgICAgICAgICAnY3NzL0NTU1BhcnNlci5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMTcxNjE0MzIzMWQ0YThiZjFlNzA2
YTM0NmFmOGZkMjI1NmViNmRiNS4uYzczNDljNjU0NmRiNTAyNDQ5MWU2YjVkMGY2NjNjOGY0OTUy
OTIwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNv
cmUucHJvCkBAIC00MDMsNiArNDAzLDcgQEAgU09VUkNFUyArPSBcCiAgICAgY3NzL0NTU0luaXRp
YWxWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwIFwKKyAgICBjc3MvQ1NTT01VdGlscy5jcHAgXAogICAg
IGNzcy9DU1NQYWdlUnVsZS5jcHAgXAogICAgIGNzcy9DU1NQYXJzZXIuY3BwIFwKICAgICBjc3Mv
Q1NTUGFyc2VyVmFsdWVzLmNwcCBcCkBAIC0xMTI5LDYgKzExMzAsNyBAQCBIRUFERVJTICs9IFwK
ICAgICBjc3MvQ1NTSW5pdGlhbFZhbHVlLmggXAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuaCBcCiAg
ICAgY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggXAorICAgIGNzcy9DU1NPTVV0aWxz
LmggXAogICAgIGNzcy9DU1NQYWdlUnVsZS5oIFwKICAgICBjc3MvQ1NTUGFyc2VyLmggXAogICAg
IGNzcy9DU1NQYXJzZXJWYWx1ZXMuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCA1ZGYyMDNiN2FhMTdkNDYxNDExZjkxNzk5ZTEwMTBkN2M3OWUzY2QyLi42YTIyNTll
MTBmYzE4YjdhYWRjMWJlMWNlMjYyOWNmZGZhMWZiMzA4IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTI3MjMzLDYgKzI3MjMzLDE0IEBACiAJCQkJPg0KIAkJCTwvRmls
ZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NPTVV0aWxzLmNwcCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNz
c1xDU1NPTVV0aWxzLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVs
YXRpdmVQYXRoPSIuLlxjc3NcQ1NTTmFtZXNwYWNlLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzODNjNDM4M2Fi
ODI2MTE4OWMxMTA3OTQwNjAyZGU1ZTgyMGZkZWM0Li5mNmM0ZTgxMjEzM2E5N2Q1Mzk5ZmQ1YmU0
YWViYWMzNzhjY2MxNWI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNTAyMyw2ICs1MDIzLDggQEAKIAkJRjVEM0E1N0QxMDZCODNCMzAwNTQ1Mjk3IC8q
IERhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNUQzQTU3QjEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGOTE2QzQ4RDBE
QjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjkxNkM0OEIwREI1MTBG
ODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAqLzsgfTsKIAkJ
RjkxNkM0OEUwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOTE2QzQ4
QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLzsg
fTsKKwkJRjk4RkZGNDQxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjk4RkZGNDIxMUEyNjc2MjAw
RjU0OEU4IC8qIENTU09NVXRpbHMuY3BwICovOyB9OworCQlGOThGRkY0NTExQTI2NzYyMDBGNTQ4
RTggLyogQ1NTT01VdGlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjk4RkZGNDMxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCAqLzsgfTsK
IAkJRjlGMEVEN0EwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjlGMEVE
NzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovOyB9
OwogCQlGQTBCMUY4NjExMTI1Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTBCMUY4MjExMTI1
Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgKi87IH07CiAJCUZBMEIxRjg3MTEx
MjVDRUUwMDdGOTgzOSAvKiBSZW5kZXJNYXRoTUxNYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTBCMUY4MzExMTI1Q0VFMDA3Rjk4MzkgLyogUmVu
ZGVyTWF0aE1MTWF0aC5oICovOyB9OwpAQCAtMTA1NjYsNiArMTA1NjgsOCBAQAogCQlGODIxNjI5
OTAyOUY0RkI1MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7
IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CiAJCUY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGOTE2QzQ4QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY5
OEZGRjQyMTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU09NVXRpbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlGOThGRkY0MzExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NPTVV0aWxzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
OUYwRUQ3ODBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkEwQjFGODIxMTEyNUNFRTAwN0Y5ODM5
IC8qIFJlbmRlck1hdGhNTE1hdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVuZGVyTWF0aE1MTWF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNTk3MSw2ICsxNTk3NSw4IEBACiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2MzVDQSAvKiBjc3Mg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUY5OEZGRjQy
MTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLywKKwkJCQlGOThGRkY0MzExQTI2
NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oICovLAogCQkJCTkzQ0E0QzlDMDlERjkzRkEwMERG
ODY3NyAvKiBtYWtldG9rZW5pemVyICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdGQjhDNSAv
KiBDb3VudGVyLmggKi8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIu
aWRsICovLApAQCAtMTkyNzQsNiArMTkyODAsNyBAQAogCQkJCTk3RThCM0MzMTFBMjg5MDgwMDE2
OTQwOSAvKiBIVE1MNVRva2VuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxMDM4QjExQTI5NDcw
MDBEQkQ1MEUgLyogSFRNTDVUb2tlbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMzI3RDYw
MTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUY5
OEZGRjQ1MTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmggaW4gSGVhZGVycyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTIxNTU3LDYgKzIxNTY0LDcgQEAKIAkJCQk5N0U4QjM1NjExQTIzQ0UyMDAxNjk0MDkgLyogSFRN
TDVMZXhlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxMDM4QTExQTI5NDcwMDBEQkQ1MEUg
LyogSFRNTDVUb2tlbml6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEzMjdENjExMUEzM0Ey
QjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGOThGRkY0
NDExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTT01VdGls
cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDhkNWY1ZDI3MjBiOTJiYWM5M2UxNGViNTU4NWRlNmFjMjY2MTNl
NgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMuY3BwCkBAIC0wLDAg
KzEsMTIxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU09NVXRpbHMuaCIKKwor
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Rh
dGljIHZvaWQgYXBwZW5kQ2hhcmFjdGVyKFVDaGFyMzIgYywgVmVjdG9yPFVDaGFyPiYgYXBwZW5k
VG8pCit7CisgICAgaWYgKFUxNl9MRU5HVEgoYykgPT0gMSkKKyAgICAgICAgYXBwZW5kVG8uYXBw
ZW5kKHN0YXRpY19jYXN0PFVDaGFyPihjKSk7CisgICAgZWxzZSB7CisgICAgICAgIGFwcGVuZFRv
LmFwcGVuZChVMTZfTEVBRChjKSk7CisgICAgICAgIGFwcGVuZFRvLmFwcGVuZChVMTZfVFJBSUwo
YykpOworICAgIH0KK30KKwordm9pZCBzZXJpYWxpemVDaGFyYWN0ZXIoVUNoYXIzMiBjLCBWZWN0
b3I8VUNoYXI+JiBhcHBlbmRUbykKK3sKKyAgICBhcHBlbmRUby5hcHBlbmQoJ1xcJyk7CisgICAg
YXBwZW5kQ2hhcmFjdGVyKGMsIGFwcGVuZFRvKTsKK30KKwordm9pZCBzZXJpYWxpemVDaGFyYWN0
ZXJBc0NvZGVQb2ludChVQ2hhcjMyIGMsIFZlY3RvcjxVQ2hhcj4mIGFwcGVuZFRvKQoreworICAg
IGFwcGVuZChhcHBlbmRUbywgU3RyaW5nOjpmb3JtYXQoIlxcJXggIiwgYykpOworfQorCit2b2lk
IHNlcmlhbGl6ZUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBTdHJpbmcmIGFw
cGVuZFRvKQoreworICAgIFZlY3RvcjxVQ2hhcj4gYWRkZW5kOworICAgIHNlcmlhbGl6ZUlkZW50
aWZpZXIoaWRlbnRpZmllciwgYWRkZW5kKTsKKyAgICBhcHBlbmRUby5hcHBlbmQoU3RyaW5nOjph
ZG9wdChhZGRlbmQpKTsKK30KKwordm9pZCBzZXJpYWxpemVJZGVudGlmaWVyKGNvbnN0IFN0cmlu
ZyYgaWRlbnRpZmllciwgVmVjdG9yPFVDaGFyPiYgYXBwZW5kVG8pCit7CisgICAgYm9vbCBpc0Zp
cnN0ID0gdHJ1ZTsKKyAgICBib29sIGlzU2Vjb25kID0gZmFsc2U7CisgICAgYm9vbCBpc0ZpcnN0
Q2hhckh5cGhlbiA9IGZhbHNlOworICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICB3aGlsZSAo
aW5kZXggPCBpZGVudGlmaWVyLmxlbmd0aCgpKSB7CisgICAgICAgIFVDaGFyMzIgYyA9IGlkZW50
aWZpZXIuY2hhcmFjdGVyU3RhcnRpbmdBdChpbmRleCk7CisgICAgICAgIGluZGV4ICs9IFUxNl9M
RU5HVEgoYyk7CisKKyAgICAgICAgaWYgKCgwIDw9IGMgJiYgYyA8PSAweDFmKSB8fCAoMHgzMCA8
PSBjICYmIGMgPD0gMHgzOSAmJiAoaXNGaXJzdCB8fCAoaXNTZWNvbmQgJiYgaXNGaXJzdENoYXJI
eXBoZW4pKSkpCisgICAgICAgICAgICBzZXJpYWxpemVDaGFyYWN0ZXJBc0NvZGVQb2ludChjLCBh
cHBlbmRUbyk7CisgICAgICAgIGVsc2UgaWYgKGMgPT0gMHgyZCAmJiBpc1NlY29uZCAmJiBpc0Zp
cnN0Q2hhckh5cGhlbikKKyAgICAgICAgICAgIHNlcmlhbGl6ZUNoYXJhY3RlcihjLCBhcHBlbmRU
byk7CisgICAgICAgIGVsc2UgaWYgKDB4ODAgPD0gYyB8fCBjID09IDB4MmQgfHwgYyA9PSAweDVm
IHx8ICgweDMwIDw9IGMgJiYgYyA8PSAweDM5KSB8fCAoMHg0MSA8PSBjICYmIGMgPD0gMHg1YSkg
fHwgKDB4NjEgPD0gYyAmJiBjIDw9IDB4N2EpKQorICAgICAgICAgICAgYXBwZW5kQ2hhcmFjdGVy
KGMsIGFwcGVuZFRvKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2VyaWFsaXplQ2hhcmFj
dGVyKGMsIGFwcGVuZFRvKTsKKworICAgICAgICBpZiAoaXNGaXJzdCkgeworICAgICAgICAgICAg
aXNGaXJzdCA9IGZhbHNlOworICAgICAgICAgICAgaXNTZWNvbmQgPSB0cnVlOworICAgICAgICAg
ICAgaXNGaXJzdENoYXJIeXBoZW4gPSAoYyA9PSAweDJkKTsKKyAgICAgICAgfSBlbHNlIGlmIChp
c1NlY29uZCkgeworICAgICAgICAgICAgaXNTZWNvbmQgPSBmYWxzZTsKKyAgICAgICAgfQorICAg
IH0KK30KKwordm9pZCBzZXJpYWxpemVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIFN0cmlu
ZyYgYXBwZW5kVG8pCit7CisgICAgVmVjdG9yPFVDaGFyPiBhZGRlbmQ7CisgICAgc2VyaWFsaXpl
U3RyaW5nKHN0cmluZywgYWRkZW5kKTsKKyAgICBhcHBlbmRUby5hcHBlbmQoU3RyaW5nOjphZG9w
dChhZGRlbmQpKTsKK30KKwordm9pZCBzZXJpYWxpemVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJp
bmcsIFZlY3RvcjxVQ2hhcj4mIGFwcGVuZFRvKQoreworICAgIGFwcGVuZFRvLmFwcGVuZCgnXCIn
KTsKKworICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICB3aGlsZSAoaW5kZXggPCBzdHJpbmcu
bGVuZ3RoKCkpIHsKKyAgICAgICAgVUNoYXIzMiBjID0gc3RyaW5nLmNoYXJhY3RlclN0YXJ0aW5n
QXQoaW5kZXgpOworICAgICAgICBpbmRleCArPSBVMTZfTEVOR1RIKGMpOworICAgICAgICBpZiAo
MCA8PSBjICYmIGMgPD0gMHgxZikKKyAgICAgICAgICAgIHNlcmlhbGl6ZUNoYXJhY3RlckFzQ29k
ZVBvaW50KGMsIGFwcGVuZFRvKTsKKyAgICAgICAgZWxzZSBpZiAoYyA9PSAweDIyIHx8IGMgPT0g
MHg1YykKKyAgICAgICAgICAgIHNlcmlhbGl6ZUNoYXJhY3RlcihjLCBhcHBlbmRUbyk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIGFwcGVuZENoYXJhY3RlcihjLCBhcHBlbmRUbyk7CisgICAg
fQorCisgICAgYXBwZW5kVG8uYXBwZW5kKCdcIicpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmggYi9XZWJDb3JlL2Nzcy9D
U1NPTVV0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjYwMmIzNWFjMDBmZTgzNDBhNGQwNGMxMWNmMTcyOWFj
YWIwMmU2MQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMuaApAQCAt
MCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBDU1NPTVV0aWxzX2gKKyNkZWZpbmUgQ1NTT01VdGlsc19oCisK
KyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5o
PgorCisvLyBVdGlsaXRpZXMgZm9yIENTU09NIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29t
LworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFN0cmluZzsKKworLy8gQ29tbW9uIHNl
cmlhbGl6aW5nIG1ldGhvZHMuIFNlZTogaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20vI2Nv
bW1vbi1zZXJpYWxpemluZy1pZGlvbXMKK3ZvaWQgc2VyaWFsaXplQ2hhcmFjdGVyKFVDaGFyMzIs
IFZlY3RvcjxVQ2hhcj4mIGFwcGVuZFRvKTsKK3ZvaWQgc2VyaWFsaXplQ2hhcmFjdGVyQXNDb2Rl
UG9pbnQoVUNoYXIzMiwgVmVjdG9yPFVDaGFyPiYgYXBwZW5kVG8pOwordm9pZCBzZXJpYWxpemVJ
ZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgU3RyaW5nJiBhcHBlbmRUbyk7Cit2
b2lkIHNlcmlhbGl6ZUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBWZWN0b3I8
VUNoYXI+JiBhcHBlbmRUbyk7Cit2b2lkIHNlcmlhbGl6ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0
cmluZywgU3RyaW5nJiBhcHBlbmRUbyk7Cit2b2lkIHNlcmlhbGl6ZVN0cmluZyhjb25zdCBTdHJp
bmcmIHN0cmluZywgVmVjdG9yPFVDaGFyPiYgYXBwZW5kVG8pOworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBDU1NPTVV0aWxzX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBlZTlj
ODQ2NWM2MzI2MTYwOWRiZGFkOThkOTNmZGQzZTMyYTVmMjRmLi4wMGEzYjFlOTliMjQ0MjFiZDJm
NDk1ZDRiYmY4ZDFkNmZhMWQ5MTY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC0yNSw5ICsyNSw5IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKIAotI2luY2x1
ZGUgInd0Zi9Bc3NlcnRpb25zLmgiCisjaW5jbHVkZSAiQ1NTT01VdGlscy5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgotCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtNTgyLDEw
ICs1ODIsMTAgQEAgU3RyaW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoKSBjb25zdAogICAg
IHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGlmIChjcy0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6
SWQpIHsKICAgICAgICAgICAgIHN0ciArPSAiIyI7Ci0gICAgICAgICAgICBzdHIgKz0gY3MtPm1f
dmFsdWU7CisgICAgICAgICAgICBzZXJpYWxpemVJZGVudGlmaWVyKGNzLT5tX3ZhbHVlLCBzdHIp
OwogICAgICAgICB9IGVsc2UgaWYgKGNzLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpDbGFzcykg
ewogICAgICAgICAgICAgc3RyICs9ICIuIjsKLSAgICAgICAgICAgIHN0ciArPSBjcy0+bV92YWx1
ZTsKKyAgICAgICAgICAgIHNlcmlhbGl6ZUlkZW50aWZpZXIoY3MtPm1fdmFsdWUsIHN0cik7CiAg
ICAgICAgIH0gZWxzZSBpZiAoY3MtPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNz
KSB7CiAgICAgICAgICAgICBzdHIgKz0gIjoiOwogICAgICAgICAgICAgc3RyICs9IGNzLT5tX3Zh
bHVlOwpAQCAtNjM3LDkgKzYzNyw4IEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0
KCkgY29uc3QKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBpZiAoY3MtPm1fbWF0Y2ggIT0gQ1NTU2VsZWN0b3I6OlNldCkgewotICAgICAgICAg
ICAgICAgIHN0ciArPSAiXCIiOwotICAgICAgICAgICAgICAgIHN0ciArPSBjcy0+bV92YWx1ZTsK
LSAgICAgICAgICAgICAgICBzdHIgKz0gIlwiXSI7CisgICAgICAgICAgICAgICAgc2VyaWFsaXpl
U3RyaW5nKGNzLT5tX3ZhbHVlLCBzdHIpOworICAgICAgICAgICAgICAgIHN0ciArPSAiXSI7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKGNzLT5yZWxhdGlvbigpICE9IENT
U1NlbGVjdG9yOjpTdWJTZWxlY3RvciB8fCAhY3MtPnRhZ0hpc3RvcnkoKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56450</attachid>
            <date>2010-05-18 21:09:50 -0700</date>
            <delta_ts>2010-05-18 22:53:15 -0700</delta_ts>
            <desc>Try to fix Qt compilation error</desc>
            <filename>bug-34529-20100518210948.patch</filename>
            <type>text/plain</type>
            <size>25348</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA4N2U5ODk5MzgyNWIyMTQyY2Q4YmYzZDlkMTg4YzZkNGRkNTkwMTVkLi4z
Yzk4ZDI4ZjJkODQ0ZjU4OWNmNzU3ZDZiZWQwMWFmMWUzYmNjNmMwIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTAtMDUtMTggIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBm
b3IgQnVnIDM0NTI5IC0gIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0b3JU
ZXh0CisgICAgICAgIEFkZCBVMTZfTEVOR1RIIHRoYXQgaXMgbmVlZGVkIHRvIGltcGxlbWVudCBD
U1MgY2hhcmFjdGVyIHNlcmlhbGl6YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNDUyOQorCisgICAgICAgICogd3RmL3VuaWNvZGUvcXQ0L1Vu
aWNvZGVRdDQuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS93aW5jZS9Vbmljb2RlV2luY2UuaDoK
KwogMjAxMC0wNS0xOCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFRy
eSB0byBmaXggdGhlIHdpbmRvd3MgYnVpbGQuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvdW5pY29kZS9xdDQvVW5pY29kZVF0NC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUv
cXQ0L1VuaWNvZGVRdDQuaAppbmRleCA5N2M0MmI3YmI4MTBiOTE0NmEzMjk2M2EyZjQyMTFkMjcx
Y2MwMTEyLi5hYTIwM2EyODFlM2QyYTY4Y2U1NDFhYTA5M2I5NTY1N2RhYjdhMTQwIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9xdDQvVW5pY29kZVF0NC5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3F0NC9Vbmljb2RlUXQ0LmgKQEAgLTczLDYgKzczLDcg
QEAgdHlwZWRlZiB1aW50MzJfdCBVQ2hhcjMyOwogCiAjZGVmaW5lIFUxNl9MRUFEKHN1cHBsZW1l
bnRhcnkpIChVQ2hhcikoKChzdXBwbGVtZW50YXJ5KT4+MTApKzB4ZDdjMCkKICNkZWZpbmUgVTE2
X1RSQUlMKHN1cHBsZW1lbnRhcnkpIChVQ2hhcikoKChzdXBwbGVtZW50YXJ5KSYweDNmZil8MHhk
YzAwKQorI2RlZmluZSBVMTZfTEVOR1RIKGMpICgodWludDMyX3QpKGMpIDw9IDB4ZmZmZiA/IDEg
OiAyKQogCiAjZGVmaW5lIFVfSVNfU1VSUk9HQVRFKGMpICgoKGMpJjB4ZmZmZmY4MDApPT0weGQ4
MDApCiAjZGVmaW5lIFUxNl9JU19TSU5HTEUoYykgIVVfSVNfU1VSUk9HQVRFKGMpCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS93aW5jZS9Vbmljb2RlV2luY2UuaCBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3dpbmNlL1VuaWNvZGVXaW5jZS5oCmluZGV4IGRiNjU2
ZWNhMzBmNTI5NWM2ZDE1MjViOTlmMjE5YzI5ZTE1MDlkYjcuLjViZWQ5ZTgyYTVlMmQ4YjFiMTQy
NjFjYTdiNzEyMDEzMWFlYzkwNzcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi91bmlj
b2RlL3dpbmNlL1VuaWNvZGVXaW5jZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2Rl
L3dpbmNlL1VuaWNvZGVXaW5jZS5oCkBAIC0zOCw2ICszOCw3IEBACiAKICNkZWZpbmUgVTE2X0xF
QUQoc3VwcGxlbWVudGFyeSkgKFVDaGFyKSgoKHN1cHBsZW1lbnRhcnkpID4+IDEwKSArIDB4ZDdj
MCkKICNkZWZpbmUgVTE2X1RSQUlMKHN1cHBsZW1lbnRhcnkpIChVQ2hhcikoKChzdXBwbGVtZW50
YXJ5KSAmIDB4M2ZmKSB8IDB4ZGMwMCkKKyNkZWZpbmUgVTE2X0xFTkdUSChjKSAoKHVpbnQzMl90
KShjKSA8PSAweGZmZmYgPyAxIDogMikKIAogI2RlZmluZSBVX0lTX1NVUlJPR0FURShjKSAoKChj
KSAmIDB4ZmZmZmY4MDApID09IDB4ZDgwMCkKICNkZWZpbmUgVTE2X0lTX1NVUlJPR0FURShjKSBV
X0lTX1NVUlJPR0FURShjKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUyMGI2OTIxZWUyMGYxNWZlZmMzNTcyOTA3NTMzMDM3
NmE2NGYwYzEuLjJjMzEzNzc1NGNjY2YxNDU3ZTY5Y2UwZDdlNWI3YmQ0Y2E0YzNhZTMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMC0wNS0xOCAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2ds
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Rml4IGZvciBCdWcgMzQ1MjkgLSAgW0NTU09NXSBpc3N1ZXMgd2l0aCBjc3NUZXh0IGFuZCBzZWxl
Y3RvclRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM0NTI5CisKKyAgICAgICAgKiBmYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLmh0
bWw6IEFkZGVkLgorCiAyMDEwLTA1LTE4ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Mjc0
Y2QwMjJkZTg1NmI4ZWZjYWQ2YTI2MDEyMTIxYzY1ZjE4NjFmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2VsZWN0b3ItdGV4dC1lc2NhcGUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNTIgQEAKK1Rlc3QgZm9yIEJ1ZyAzNDUyOSAtIFtDU1NPTV0gaXNzdWVzIHdpdGgg
Y3NzVGV4dCBhbmQgc2VsZWN0b3JUZXh0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitMaXN0IGl0ZW1zIG11c3QgYmUgZ3JlZW4uIE90aGVyd2lzZSBzb21lIHNlbGVjdG9ycyBhcmUg
aW52YWxpZC4KK2NsYXNzPSImIzAwMTtfY2xhc3MiCitjbGFzcz0iJiMwMzE7X2NsYXNzIgorY2xh
c3M9IjBfY2xhc3MiCitjbGFzcz0iOV9jbGFzcyIKK2NsYXNzPSItMF9jbGFzcyIKK2NsYXNzPSIt
OV9jbGFzcyIKK2NsYXNzPSItLV9jbGFzcyIKK2NsYXNzPSImIzEyOTtfY2xhc3MiCitjbGFzcz0i
5pel5pys6KqeX2NsYXNzIgorY2xhc3M9IvCQkIBfY2xhc3MiCitjbGFzcz0iYXpBWjA5Xy1fY2xh
c3MiCitjbGFzcz0iKC86QFt+X2NsYXNzIgoraWQ9ImEuZXh0ZXJuYWw6dmlzaXRlZCIKK215YXR0
cj0ibXkidmFsdWVcIgorUEFTUyBydWxlc1swXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1swXQorUEFTUyBydWxlc1swXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMF0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1sxXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1sxXQorUEFTUyBydWxlc1sxXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMV0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1syXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1syXQorUEFTUyBydWxlc1syXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMl0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1szXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1szXQorUEFTUyBydWxlc1szXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbM10gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s0XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s0XQorUEFTUyBydWxlc1s0XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNF0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s1XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s1XQorUEFTUyBydWxlc1s1XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNV0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s2XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s2XQorUEFTUyBydWxlc1s2XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNl0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s3XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s3XQorUEFTUyBydWxlc1s3XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbN10gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s4XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s4XQorUEFTUyBydWxlc1s4XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbOF0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s5XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s5XQorUEFTUyBydWxlc1s5XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbOV0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1sxMF0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4
dHNbMTBdCitQQVNTIHJ1bGVzWzEwXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMTBdICsgJyB7
IGNvbG9yOiBncmVlbjsgfScKK1BBU1MgcnVsZXNbMTFdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3Rl
ZFRleHRzWzExXQorUEFTUyBydWxlc1sxMV0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzExXSAr
ICcgeyBjb2xvcjogZ3JlZW47IH0nCitQQVNTIHJ1bGVzWzEyXS5zZWxlY3RvclRleHQgaXMgZXhw
ZWN0ZWRUZXh0c1sxMl0KK1BBU1MgcnVsZXNbMTJdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1sx
Ml0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1sxM10uc2VsZWN0b3JUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbMTNdCitQQVNTIHJ1bGVzWzEzXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4
dHNbMTNdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2VsZWN0
b3ItdGV4dC1lc2NhcGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Yjc5MjY5NDk0OWI3ZjcwNzNiODBlNTg1
YjJkOWM5NDM1OGE0MWI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c2VsZWN0b3ItdGV4dC1lc2NhcGUuaHRtbApAQCAtMCwwICsxLDEwOCBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250
ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLz4KKzx0aXRsZT5CdWcgMzQ1MjkgLSBbQ1NT
T01dIGlzc3VlcyB3aXRoIGNzc1RleHQgYW5kIHNlbGVjdG9yVGV4dDwvdGl0bGU+Cis8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgorLlwwMV9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9CisuXDFm
X2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy5cMzBfY2xhc3MgeworICAgIGNvbG9yOmdy
ZWVuOworfQorLlwzOV9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9CisuLVwzMF9jbGFzcyB7
CisgICAgY29sb3I6Z3JlZW47Cit9CisuLVwzOV9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9
CisuLVwyZF9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9CisuXDgxX2NsYXNzIHsKKyAgICBj
b2xvcjpncmVlbjsKK30KKy7ml6XmnKzoqp5fY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQor
LvCQkIBfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLmF6QVowOV8tX2NsYXNzIHsKKyAg
ICBjb2xvcjpncmVlbjsKK30KKy5cKFwvXDpcQFxbXH5fY2xhc3MgeworICAgIGNvbG9yOmdyZWVu
OworfQorI2FcLmV4dGVybmFsXDp2aXNpdGVkIHsKKyAgICBjb2xvcjpncmVlbjsKK30KK2xpW215
YXR0cj0ibXlcInZhbHVlXFwiXSB7CisgICAgY29sb3I6Z3JlZW47Cit9CitsaSB7CisgICAgY29s
b3I6cmVkOworfQorPC9zdHlsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKworTGlzdCBpdGVtcyBtdXN0IGJlIGdyZWVuLiBPdGhlcndpc2Ugc29t
ZSBzZWxlY3RvcnMgYXJlIGludmFsaWQuCis8dWw+Cis8bGkgY2xhc3M9IiYjMDAxO19jbGFzcyI+
Y2xhc3M9IiZhbXA7IzAwMTtfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iJiMwMzE7X2NsYXNzIj5j
bGFzcz0iJmFtcDsjMDMxO19jbGFzcyI8L2xpPgorPGxpIGNsYXNzPSIwX2NsYXNzIj5jbGFzcz0i
MF9jbGFzcyI8L2xpPgorPGxpIGNsYXNzPSI5X2NsYXNzIj5jbGFzcz0iOV9jbGFzcyI8L2xpPgor
PGxpIGNsYXNzPSItMF9jbGFzcyI+Y2xhc3M9Ii0wX2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9Ii05
X2NsYXNzIj5jbGFzcz0iLTlfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iLS1fY2xhc3MiPmNsYXNz
PSItLV9jbGFzcyI8L2xpPgorPGxpIGNsYXNzPSImIzEyOTtfY2xhc3MiPmNsYXNzPSImYW1wOyMx
Mjk7X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9IuaXpeacrOiqnl9jbGFzcyI+Y2xhc3M9IuaXpeac
rOiqnl9jbGFzcyI8L2xpPgorPGxpIGNsYXNzPSImIzY2NTYwO19jbGFzcyI+Y2xhc3M9IiYjNjY1
NjA7X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9ImF6QVowOV8tX2NsYXNzIj5jbGFzcz0iYXpBWjA5
Xy1fY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iKC86QFt+X2NsYXNzIj5jbGFzcz0iKC86QFt+X2Ns
YXNzIjwvbGk+Cis8bGkgaWQ9ImEuZXh0ZXJuYWw6dmlzaXRlZCI+aWQ9ImEuZXh0ZXJuYWw6dmlz
aXRlZCI8L2xpPgorPGxpIG15YXR0cj0ibXkmIzAzNDt2YWx1ZSYjMDkyOyI+bXlhdHRyPSJteSYj
MDM0O3ZhbHVlJiMwOTI7IjwvbGk+Cis8L3VsPgorCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IGZvciBC
dWcgMzQ1MjkgLSBbQ1NTT01dIGlzc3VlcyB3aXRoIGNzc1RleHQgYW5kIHNlbGVjdG9yVGV4dCIp
OworCit2YXIgZXhwZWN0ZWRUZXh0cyA9IFsKKyAgICAiLlxcMSBfY2xhc3MiLAorICAgICIuXFwx
ZiBfY2xhc3MiLAorICAgICIuXFwzMCBfY2xhc3MiLAorICAgICIuXFwzOSBfY2xhc3MiLAorICAg
ICIuLVxcMzAgX2NsYXNzIiwKKyAgICAiLi1cXDM5IF9jbGFzcyIsCisgICAgIi4tXFwtX2NsYXNz
IiwKKyAgICAiLlx4ODFfY2xhc3MiLAorICAgICIu5pel5pys6KqeX2NsYXNzIiwKKyAgICAiLvCQ
kIBfY2xhc3MiLAorICAgICIuYXpBWjA5Xy1fY2xhc3MiLAorICAgICIuXFwoXFwvXFw6XFxAXFxb
XFx+X2NsYXNzIiwKKyAgICAiI2FcXC5leHRlcm5hbFxcOnZpc2l0ZWQiLAorICAgICdsaVtteWF0
dHI9Im15XFwidmFsdWVcXFxcIl0nCitdOworCit2YXIgcnVsZXMgPSBkb2N1bWVudC5zdHlsZVNo
ZWV0c1swXS5jc3NSdWxlczsKK2ZvciAodmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWRUZXh0cy5sZW5n
dGg7IGkrKykgeworICAgIHNob3VsZEJlKCJydWxlc1siICsgaSArICJdLnNlbGVjdG9yVGV4dCIs
ICJleHBlY3RlZFRleHRzWyIgKyBpICsgIl0iKTsKKyAgICBzaG91bGRCZSgicnVsZXNbIiArIGkg
KyAiXS5jc3NUZXh0IiwgImV4cGVjdGVkVGV4dHNbIiArIGkgKyAiXSArICcgeyBjb2xvcjogZ3Jl
ZW47IH0nIik7Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQubWsgYi9XZWJD
b3JlL0FuZHJvaWQubWsKaW5kZXggZGI5ZmY0Yjc2YmZlNmU0YWViMzUwZWY3Njk1OTZjNDhjNWEx
Y2YzOS4uYTBmNDQ2YzExZGU0ZjZiMTQzYzIzNGM3NDc1NTBjMGM4MjZiMWQxZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9BbmRyb2lkLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtNDQsNiAr
NDQsNyBAQCBMT0NBTF9TUkNfRklMRVMgOj0gXAogCWNzcy9DU1NJbml0aWFsVmFsdWUuY3BwIFwK
IAljc3MvQ1NTTWVkaWFSdWxlLmNwcCBcCiAJY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
LmNwcCBcCisJY3NzL0NTU09NVXRpbHMuY3BwIFwKIAljc3MvQ1NTUGFnZVJ1bGUuY3BwIFwKIAlj
c3MvQ1NTUGFyc2VyLmNwcCBcCiAJY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAgXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
MWJiNzIwODk3MTczOWQ5ZjY5MjQ0MTI3ODBmNDg2NGU1NTVlMGIyNy4uZWE3ZWE3MjE1ZWQ1ODUx
ZDNjYjljYmJmMWI5YjU1MDc3YzAxN2ZiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC02ODUsNiArNjg1LDcgQEAgU0VU
KFdlYkNvcmVfU09VUkNFUwogICAgIGNzcy9DU1NJbml0aWFsVmFsdWUuY3BwCiAgICAgY3NzL0NT
U01lZGlhUnVsZS5jcHAKICAgICBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCisg
ICAgY3NzL0NTU09NVXRpbHMuY3BwCiAgICAgY3NzL0NTU1BhZ2VSdWxlLmNwcAogICAgIGNzcy9D
U1NQYXJzZXIuY3BwCiAgICAgY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzRjNGQ4NGM4MzI1ZTdh
NjNiNzA3OWUwYjRlNWE4MDdmYzRiMzNiMC4uOGViMWM5NWJkZjcwNDc0ZmMwZTU0YWM2YmQ3Mjk2
NmZkMjFlZTFmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMC0wNS0xOCAgWXV6byBGdWppc2hpbWEgIDx5
dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRml4IGZvciBCdWcgMzQ1MjkgLSAgW0NTU09NXSBpc3N1ZXMgd2l0aCBjc3NUZXh0
IGFuZCBzZWxlY3RvclRleHQKKyAgICAgICAgU2VyaWFsaXplIHNlbGVjdG9yIGFzIHBlciBodHRw
Oi8vZGV2LnczLm9yZy9jc3N3Zy9jc3NvbS8jc2VyaWFsaXppbmctc2VsZWN0b3JzCisgICAgICAg
IFdpdGhvdXQgdGhpcyBwYXRjaCwgZm9yIGV4YW1wbGUsIHNlbGVjdG9ycyBjb250YWluaW5nICc6
JyBvciAnLicgYXJlIG5vdCBwcm9wZXJseSBzZXJpYWxpemVkLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ1MjkKKworICAgICAgICBUZXN0OiBmYXN0
L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sCisKKyAgICAgICAgKiBBbmRyb2lkLm1rOgor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBX
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU09NVXRpbHMuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OmFwcGVuZENoYXJhY3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpz
ZXJpYWxpemVDaGFyYWN0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6c2VyaWFsaXplQ2hhcmFjdGVy
QXNDb2RlUG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6c2VyaWFsaXplSWRlbnRpZmllcik6Cisg
ICAgICAgIChXZWJDb3JlOjpzZXJpYWxpemVTdHJpbmcpOgorICAgICAgICAqIGNzcy9DU1NPTVV0
aWxzLmg6IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KToKKwogMjAxMC0wNS0xOCAgQW5kZXJz
IENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNh
bSBXZWluaWcuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQppbmRleCA0ZjM5NTBiMzNiNWM2N2I3YTk3N2Y2NTY4NGNmZTRhMjkwNzYz
NWYwLi5hZDI2YTU1ZWI2NDMxMzliOTgyYjdhYTQ0ZGIwYTI0OTg3NTY1YmNhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAg
LTYzMiw2ICs2MzIsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvY3NzL0NTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBcCiAJV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb24uaCBcCiAJV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmggXAorCVdlYkNvcmUv
Y3NzL0NTU09NVXRpbHMuY3BwIFwKKwlXZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmggXAogCVdlYkNv
cmUvY3NzL0NTU1BhZ2VSdWxlLmNwcCBcCiAJV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuaCBcCiAJ
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA0NjYwZmJkZmY1ZjEzZGE5MjI0NTgx
NGFlNTQ3MjhjMzZhNDhlNjQuLmY4ZDNlN2NjZGRkNTMwOGNmZDQ0ODM0YjQ2ZDgyYTg5Mjg1NWE2
NzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCkBAIC05NjEsNiArOTYxLDggQEAKICAgICAgICAgICAgICdjc3MvQ1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb24uY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb24uaCcsCiAgICAgICAgICAgICAnY3NzL0NTU05hbWVzcGFjZS5oJywKKyAgICAgICAg
ICAgICdjc3MvQ1NTT01VdGlscy5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9DU1NPTVV0aWxzLmgn
LAogICAgICAgICAgICAgJ2Nzcy9DU1NQYWdlUnVsZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9D
U1NQYWdlUnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTUGFyc2VyLmNwcCcsCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAxNzE2
MTQzMjMxZDRhOGJmMWU3MDZhMzQ2YWY4ZmQyMjU2ZWI2ZGI1Li5jNzM0OWM2NTQ2ZGI1MDI0NDkx
ZTZiNWQwZjY2M2M4ZjQ5NTI5MjBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisr
KyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQwMyw2ICs0MDMsNyBAQCBTT1VSQ0VTICs9IFwK
ICAgICBjc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU01lZGlhUnVsZS5jcHAg
XAogICAgIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgXAorICAgIGNzcy9DU1NP
TVV0aWxzLmNwcCBcCiAgICAgY3NzL0NTU1BhZ2VSdWxlLmNwcCBcCiAgICAgY3NzL0NTU1BhcnNl
ci5jcHAgXAogICAgIGNzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwIFwKQEAgLTExMjksNiArMTEzMCw3
IEBAIEhFQURFUlMgKz0gXAogICAgIGNzcy9DU1NJbml0aWFsVmFsdWUuaCBcCiAgICAgY3NzL0NT
U01lZGlhUnVsZS5oIFwKICAgICBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaCBcCisg
ICAgY3NzL0NTU09NVXRpbHMuaCBcCiAgICAgY3NzL0NTU1BhZ2VSdWxlLmggXAogICAgIGNzcy9D
U1NQYXJzZXIuaCBcCiAgICAgY3NzL0NTU1BhcnNlclZhbHVlcy5oIFwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDVkZjIwM2I3YWExN2Q0NjE0MTFmOTE3OTllMTAxMGQ3
Yzc5ZTNjZDIuLjZhMjI1OWUxMGZjMThiN2FhZGMxYmUxY2UyNjI5Y2ZkZmExZmIzMDggMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjcyMzMsNiArMjcyMzMsMTQgQEAK
IAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3Nz
XENTU09NVXRpbHMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cY3NzXENTU09NVXRpbHMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NOYW1lc3BhY2UuaCINCiAJCQkJ
Pg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDM4M2M0MzgzYWI4MjYxMTg5YzExMDc5NDA2MDJkZTVlODIwZmRlYzQuLmY2YzRlODEy
MTMzYTk3ZDUzOTlmZDViZTRhZWJhYzM3OGNjYzE1YjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MDIzLDYgKzUwMjMsOCBAQAogCQlGNUQzQTU3RDEw
NkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1RDNBNTdCMTA2QjgzQjMwMDU0NTI5NyAvKiBEYXRl
Q29tcG9uZW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUY5MTZDNDhEMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGOTE2QzQ4QjBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQuY3BwICovOyB9OwogCQlGOTE2QzQ4RTBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY5MTZDNDhDMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudC5oICovOyB9OworCQlGOThGRkY0NDExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01V
dGlscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
OThGRkY0MjExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5jcHAgKi87IH07CisJCUY5OEZG
RjQ1MTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOThGRkY0MzExQTI2NzYyMDBGNTQ4RTggLyogQ1NT
T01VdGlscy5oICovOyB9OwogCQlGOUYwRUQ3QTBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJl
cXVlc3RQcm9ncmVzc0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGOUYwRUQ3NzBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50LmggKi87IH07CiAJCUZBMEIxRjg2MTExMjVDRUUwMDdGOTgzOSAvKiBSZW5kZXJN
YXRoTUxNYXRoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZBMEIxRjgyMTExMjVDRUUwMDdGOTgzOSAvKiBSZW5kZXJNYXRoTUxNYXRoLmNwcCAqLzsg
fTsKIAkJRkEwQjFGODcxMTEyNUNFRTAwN0Y5ODM5IC8qIFJlbmRlck1hdGhNTE1hdGguaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBMEIxRjgzMTExMjVD
RUUwMDdGOTgzOSAvKiBSZW5kZXJNYXRoTUxNYXRoLmggKi87IH07CkBAIC0xMDU2Niw2ICsxMDU2
OCw4IEBACiAJCUY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEzMSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFt
ZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3
cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9IEphdmFTY3JpcHRDb3JlLmZyYW1ld29yazsgc291cmNl
VHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJRjkxNkM0OEIwREI1MTBGODAwNzZDRDgz
IC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY5MTZDNDhDMERCNTEwRjgwMDc2Q0Q4MyAvKiBK
U1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRjk4RkZGNDIxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTT01VdGlscy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY5OEZGRjQzMTFBMjY3NjIwMEY1NDhFOCAvKiBD
U1NPTVV0aWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU09NVXRpbHMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjlGMEVENzcwREI1MENBMjAwRDE2REI5
IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY5RjBFRDc4MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBYTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQTBCMUY4
MjExMTI1Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxNYXRoLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE1OTcxLDYgKzE1OTc1LDggQEAKIAkJRjUyM0QxODQwMkRFNDJF
ODAxODYzNUNBIC8qIGNzcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCisJCQkJRjk4RkZGNDIxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwICovLAor
CQkJCUY5OEZGRjQzMTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmggKi8sCiAJCQkJOTND
QTRDOUMwOURGOTNGQTAwREY4Njc3IC8qIG1ha2V0b2tlbml6ZXIgKi8sCiAJCQkJQTgwRTZDREEw
QTE5ODlDQTAwN0ZCOEM1IC8qIENvdW50ZXIuaCAqLywKIAkJCQk5MzA3MDVDNzA5RTBDOTVGMDBC
MTdGRTQgLyogQ291bnRlci5pZGwgKi8sCkBAIC0xOTI3NCw2ICsxOTI4MCw3IEBACiAJCQkJOTdF
OEIzQzMxMUEyODkwODAwMTY5NDA5IC8qIEhUTUw1VG9rZW4uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE4NzEwMzhCMTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRva2VuaXplci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTEzMjdENjAxMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRjk4RkZGNDUxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuaCBp
biBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMjE1NTcsNiArMjE1NjQsNyBAQAogCQkJCTk3RThCMzU2MTFBMjND
RTIwMDE2OTQwOSAvKiBIVE1MNUxleGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzEwMzhB
MTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRva2VuaXplci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1MTMyN0Q2MTExQTMzQTJCMDA0RjlENjUgLyogU2lua0RvY3VtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUY5OEZGRjQ0MTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTT01VdGlscy5jcHAgYi9XZWJD
b3JlL2Nzcy9DU1NPTVV0aWxzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWU5NjM4ZjVlZDliZTFiMTE5NjE5
YzY0ZjJkNGE5ZjIxNGYyNWExCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9jc3MvQ1NTT01V
dGlscy5jcHAKQEAgLTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
Q1NTT01VdGlscy5oIgorCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitzdGF0aWMgdm9pZCBhcHBlbmRDaGFyYWN0ZXIoVUNoYXIzMiBjLCBWZWN0
b3I8VUNoYXI+JiBhcHBlbmRUbykKK3sKKyAgICBpZiAoVTE2X0xFTkdUSChjKSA9PSAxKQorICAg
ICAgICBhcHBlbmRUby5hcHBlbmQoc3RhdGljX2Nhc3Q8VUNoYXI+KGMpKTsKKyAgICBlbHNlIHsK
KyAgICAgICAgYXBwZW5kVG8uYXBwZW5kKFUxNl9MRUFEKGMpKTsKKyAgICAgICAgYXBwZW5kVG8u
YXBwZW5kKFUxNl9UUkFJTChjKSk7CisgICAgfQorfQorCit2b2lkIHNlcmlhbGl6ZUNoYXJhY3Rl
cihVQ2hhcjMyIGMsIFZlY3RvcjxVQ2hhcj4mIGFwcGVuZFRvKQoreworICAgIGFwcGVuZFRvLmFw
cGVuZCgnXFwnKTsKKyAgICBhcHBlbmRDaGFyYWN0ZXIoYywgYXBwZW5kVG8pOworfQorCit2b2lk
IHNlcmlhbGl6ZUNoYXJhY3RlckFzQ29kZVBvaW50KFVDaGFyMzIgYywgVmVjdG9yPFVDaGFyPiYg
YXBwZW5kVG8pCit7CisgICAgYXBwZW5kKGFwcGVuZFRvLCBTdHJpbmc6OmZvcm1hdCgiXFwleCAi
LCBjKSk7Cit9CisKK3ZvaWQgc2VyaWFsaXplSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIsIFN0cmluZyYgYXBwZW5kVG8pCit7CisgICAgVmVjdG9yPFVDaGFyPiBhZGRlbmQ7Cisg
ICAgc2VyaWFsaXplSWRlbnRpZmllcihpZGVudGlmaWVyLCBhZGRlbmQpOworICAgIGFwcGVuZFRv
LmFwcGVuZChTdHJpbmc6OmFkb3B0KGFkZGVuZCkpOworfQorCit2b2lkIHNlcmlhbGl6ZUlkZW50
aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBWZWN0b3I8VUNoYXI+JiBhcHBlbmRUbykK
K3sKKyAgICBib29sIGlzRmlyc3QgPSB0cnVlOworICAgIGJvb2wgaXNTZWNvbmQgPSBmYWxzZTsK
KyAgICBib29sIGlzRmlyc3RDaGFySHlwaGVuID0gZmFsc2U7CisgICAgdW5zaWduZWQgaW5kZXgg
PSAwOworICAgIHdoaWxlIChpbmRleCA8IGlkZW50aWZpZXIubGVuZ3RoKCkpIHsKKyAgICAgICAg
VUNoYXIzMiBjID0gaWRlbnRpZmllci5jaGFyYWN0ZXJTdGFydGluZ0F0KGluZGV4KTsKKyAgICAg
ICAgaW5kZXggKz0gVTE2X0xFTkdUSChjKTsKKworICAgICAgICBpZiAoYyA8PSAweDFmIHx8ICgw
eDMwIDw9IGMgJiYgYyA8PSAweDM5ICYmIChpc0ZpcnN0IHx8IChpc1NlY29uZCAmJiBpc0ZpcnN0
Q2hhckh5cGhlbikpKSkKKyAgICAgICAgICAgIHNlcmlhbGl6ZUNoYXJhY3RlckFzQ29kZVBvaW50
KGMsIGFwcGVuZFRvKTsKKyAgICAgICAgZWxzZSBpZiAoYyA9PSAweDJkICYmIGlzU2Vjb25kICYm
IGlzRmlyc3RDaGFySHlwaGVuKQorICAgICAgICAgICAgc2VyaWFsaXplQ2hhcmFjdGVyKGMsIGFw
cGVuZFRvKTsKKyAgICAgICAgZWxzZSBpZiAoMHg4MCA8PSBjIHx8IGMgPT0gMHgyZCB8fCBjID09
IDB4NWYgfHwgKDB4MzAgPD0gYyAmJiBjIDw9IDB4MzkpIHx8ICgweDQxIDw9IGMgJiYgYyA8PSAw
eDVhKSB8fCAoMHg2MSA8PSBjICYmIGMgPD0gMHg3YSkpCisgICAgICAgICAgICBhcHBlbmRDaGFy
YWN0ZXIoYywgYXBwZW5kVG8pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzZXJpYWxpemVD
aGFyYWN0ZXIoYywgYXBwZW5kVG8pOworCisgICAgICAgIGlmIChpc0ZpcnN0KSB7CisgICAgICAg
ICAgICBpc0ZpcnN0ID0gZmFsc2U7CisgICAgICAgICAgICBpc1NlY29uZCA9IHRydWU7CisgICAg
ICAgICAgICBpc0ZpcnN0Q2hhckh5cGhlbiA9IChjID09IDB4MmQpOworICAgICAgICB9IGVsc2Ug
aWYgKGlzU2Vjb25kKSB7CisgICAgICAgICAgICBpc1NlY29uZCA9IGZhbHNlOworICAgICAgICB9
CisgICAgfQorfQorCit2b2lkIHNlcmlhbGl6ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywg
U3RyaW5nJiBhcHBlbmRUbykKK3sKKyAgICBWZWN0b3I8VUNoYXI+IGFkZGVuZDsKKyAgICBzZXJp
YWxpemVTdHJpbmcoc3RyaW5nLCBhZGRlbmQpOworICAgIGFwcGVuZFRvLmFwcGVuZChTdHJpbmc6
OmFkb3B0KGFkZGVuZCkpOworfQorCit2b2lkIHNlcmlhbGl6ZVN0cmluZyhjb25zdCBTdHJpbmcm
IHN0cmluZywgVmVjdG9yPFVDaGFyPiYgYXBwZW5kVG8pCit7CisgICAgYXBwZW5kVG8uYXBwZW5k
KCdcIicpOworCisgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgIHdoaWxlIChpbmRleCA8IHN0
cmluZy5sZW5ndGgoKSkgeworICAgICAgICBVQ2hhcjMyIGMgPSBzdHJpbmcuY2hhcmFjdGVyU3Rh
cnRpbmdBdChpbmRleCk7CisgICAgICAgIGluZGV4ICs9IFUxNl9MRU5HVEgoYyk7CisgICAgICAg
IGlmIChjIDw9IDB4MWYpCisgICAgICAgICAgICBzZXJpYWxpemVDaGFyYWN0ZXJBc0NvZGVQb2lu
dChjLCBhcHBlbmRUbyk7CisgICAgICAgIGVsc2UgaWYgKGMgPT0gMHgyMiB8fCBjID09IDB4NWMp
CisgICAgICAgICAgICBzZXJpYWxpemVDaGFyYWN0ZXIoYywgYXBwZW5kVG8pOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBhcHBlbmRDaGFyYWN0ZXIoYywgYXBwZW5kVG8pOworICAgIH0KKwor
ICAgIGFwcGVuZFRvLmFwcGVuZCgnXCInKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTT01VdGlscy5oIGIvV2ViQ29yZS9jc3MvQ1NTT01V
dGlscy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY2MDJiMzVhYzAwZmU4MzQwYTRkMDRjMTFjZjE3MjlhY2FiMDJl
NjEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy9DU1NPTVV0aWxzLmgKQEAgLTAsMCAr
MSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgQ1NTT01VdGlsc19oCisjZGVmaW5lIENTU09NVXRpbHNfaAorCisjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KKwor
Ly8gVXRpbGl0aWVzIGZvciBDU1NPTSBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3NvbS8KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTdHJpbmc7CisKKy8vIENvbW1vbiBzZXJpYWxp
emluZyBtZXRob2RzLiBTZWU6IGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLyNjb21tb24t
c2VyaWFsaXppbmctaWRpb21zCit2b2lkIHNlcmlhbGl6ZUNoYXJhY3RlcihVQ2hhcjMyLCBWZWN0
b3I8VUNoYXI+JiBhcHBlbmRUbyk7Cit2b2lkIHNlcmlhbGl6ZUNoYXJhY3RlckFzQ29kZVBvaW50
KFVDaGFyMzIsIFZlY3RvcjxVQ2hhcj4mIGFwcGVuZFRvKTsKK3ZvaWQgc2VyaWFsaXplSWRlbnRp
Zmllcihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFN0cmluZyYgYXBwZW5kVG8pOwordm9pZCBz
ZXJpYWxpemVJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgVmVjdG9yPFVDaGFy
PiYgYXBwZW5kVG8pOwordm9pZCBzZXJpYWxpemVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcs
IFN0cmluZyYgYXBwZW5kVG8pOwordm9pZCBzZXJpYWxpemVTdHJpbmcoY29uc3QgU3RyaW5nJiBz
dHJpbmcsIFZlY3RvcjxVQ2hhcj4mIGFwcGVuZFRvKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gQ1NTT01VdGlsc19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NT
ZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKaW5kZXggZWU5Yzg0NjVj
NjMyNjE2MDlkYmRhZDk4ZDkzZmRkM2UzMmE1ZjI0Zi4uMDBhM2IxZTk5YjI0NDIxYmQyZjQ5NWQ0
YmJmOGQxZDZmYTFkOTE2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3Bw
CisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcApAQCAtMjUsOSArMjUsOSBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCiAKLSNpbmNsdWRlICJ3
dGYvQXNzZXJ0aW9ucy5oIgorI2luY2x1ZGUgIkNTU09NVXRpbHMuaCIKICNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKLQorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTU4MiwxMCArNTgy
LDEwIEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KCkgY29uc3QKICAgICB3aGls
ZSAodHJ1ZSkgewogICAgICAgICBpZiAoY3MtPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OklkKSB7
CiAgICAgICAgICAgICBzdHIgKz0gIiMiOwotICAgICAgICAgICAgc3RyICs9IGNzLT5tX3ZhbHVl
OworICAgICAgICAgICAgc2VyaWFsaXplSWRlbnRpZmllcihjcy0+bV92YWx1ZSwgc3RyKTsKICAg
ICAgICAgfSBlbHNlIGlmIChjcy0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6Q2xhc3MpIHsKICAg
ICAgICAgICAgIHN0ciArPSAiLiI7Ci0gICAgICAgICAgICBzdHIgKz0gY3MtPm1fdmFsdWU7Cisg
ICAgICAgICAgICBzZXJpYWxpemVJZGVudGlmaWVyKGNzLT5tX3ZhbHVlLCBzdHIpOwogICAgICAg
ICB9IGVsc2UgaWYgKGNzLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcykgewog
ICAgICAgICAgICAgc3RyICs9ICI6IjsKICAgICAgICAgICAgIHN0ciArPSBjcy0+bV92YWx1ZTsK
QEAgLTYzNyw5ICs2MzcsOCBAQCBTdHJpbmcgQ1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dCgpIGNv
bnN0CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgaWYgKGNzLT5tX21hdGNoICE9IENTU1NlbGVjdG9yOjpTZXQpIHsKLSAgICAgICAgICAgICAg
ICBzdHIgKz0gIlwiIjsKLSAgICAgICAgICAgICAgICBzdHIgKz0gY3MtPm1fdmFsdWU7Ci0gICAg
ICAgICAgICAgICAgc3RyICs9ICJcIl0iOworICAgICAgICAgICAgICAgIHNlcmlhbGl6ZVN0cmlu
Zyhjcy0+bV92YWx1ZSwgc3RyKTsKKyAgICAgICAgICAgICAgICBzdHIgKz0gIl0iOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmIChjcy0+cmVsYXRpb24oKSAhPSBDU1NTZWxl
Y3Rvcjo6U3ViU2VsZWN0b3IgfHwgIWNzLT50YWdIaXN0b3J5KCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56457</attachid>
            <date>2010-05-18 22:53:23 -0700</date>
            <delta_ts>2010-06-02 21:57:47 -0700</delta_ts>
            <desc>Add test descriptions</desc>
            <filename>bug-34529-20100518225321.patch</filename>
            <type>text/plain</type>
            <size>25568</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA4N2U5ODk5MzgyNWIyMTQyY2Q4YmYzZDlkMTg4YzZkNGRkNTkwMTVkLi4z
Yzk4ZDI4ZjJkODQ0ZjU4OWNmNzU3ZDZiZWQwMWFmMWUzYmNjNmMwIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTAtMDUtMTggIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBm
b3IgQnVnIDM0NTI5IC0gIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2VsZWN0b3JU
ZXh0CisgICAgICAgIEFkZCBVMTZfTEVOR1RIIHRoYXQgaXMgbmVlZGVkIHRvIGltcGxlbWVudCBD
U1MgY2hhcmFjdGVyIHNlcmlhbGl6YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNDUyOQorCisgICAgICAgICogd3RmL3VuaWNvZGUvcXQ0L1Vu
aWNvZGVRdDQuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS93aW5jZS9Vbmljb2RlV2luY2UuaDoK
KwogMjAxMC0wNS0xOCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFRy
eSB0byBmaXggdGhlIHdpbmRvd3MgYnVpbGQuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvdW5pY29kZS9xdDQvVW5pY29kZVF0NC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUv
cXQ0L1VuaWNvZGVRdDQuaAppbmRleCA5N2M0MmI3YmI4MTBiOTE0NmEzMjk2M2EyZjQyMTFkMjcx
Y2MwMTEyLi5hYTIwM2EyODFlM2QyYTY4Y2U1NDFhYTA5M2I5NTY1N2RhYjdhMTQwIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9xdDQvVW5pY29kZVF0NC5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3F0NC9Vbmljb2RlUXQ0LmgKQEAgLTczLDYgKzczLDcg
QEAgdHlwZWRlZiB1aW50MzJfdCBVQ2hhcjMyOwogCiAjZGVmaW5lIFUxNl9MRUFEKHN1cHBsZW1l
bnRhcnkpIChVQ2hhcikoKChzdXBwbGVtZW50YXJ5KT4+MTApKzB4ZDdjMCkKICNkZWZpbmUgVTE2
X1RSQUlMKHN1cHBsZW1lbnRhcnkpIChVQ2hhcikoKChzdXBwbGVtZW50YXJ5KSYweDNmZil8MHhk
YzAwKQorI2RlZmluZSBVMTZfTEVOR1RIKGMpICgodWludDMyX3QpKGMpIDw9IDB4ZmZmZiA/IDEg
OiAyKQogCiAjZGVmaW5lIFVfSVNfU1VSUk9HQVRFKGMpICgoKGMpJjB4ZmZmZmY4MDApPT0weGQ4
MDApCiAjZGVmaW5lIFUxNl9JU19TSU5HTEUoYykgIVVfSVNfU1VSUk9HQVRFKGMpCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS93aW5jZS9Vbmljb2RlV2luY2UuaCBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3dpbmNlL1VuaWNvZGVXaW5jZS5oCmluZGV4IGRiNjU2
ZWNhMzBmNTI5NWM2ZDE1MjViOTlmMjE5YzI5ZTE1MDlkYjcuLjViZWQ5ZTgyYTVlMmQ4YjFiMTQy
NjFjYTdiNzEyMDEzMWFlYzkwNzcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi91bmlj
b2RlL3dpbmNlL1VuaWNvZGVXaW5jZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2Rl
L3dpbmNlL1VuaWNvZGVXaW5jZS5oCkBAIC0zOCw2ICszOCw3IEBACiAKICNkZWZpbmUgVTE2X0xF
QUQoc3VwcGxlbWVudGFyeSkgKFVDaGFyKSgoKHN1cHBsZW1lbnRhcnkpID4+IDEwKSArIDB4ZDdj
MCkKICNkZWZpbmUgVTE2X1RSQUlMKHN1cHBsZW1lbnRhcnkpIChVQ2hhcikoKChzdXBwbGVtZW50
YXJ5KSAmIDB4M2ZmKSB8IDB4ZGMwMCkKKyNkZWZpbmUgVTE2X0xFTkdUSChjKSAoKHVpbnQzMl90
KShjKSA8PSAweGZmZmYgPyAxIDogMikKIAogI2RlZmluZSBVX0lTX1NVUlJPR0FURShjKSAoKChj
KSAmIDB4ZmZmZmY4MDApID09IDB4ZDgwMCkKICNkZWZpbmUgVTE2X0lTX1NVUlJPR0FURShjKSBV
X0lTX1NVUlJPR0FURShjKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUyMGI2OTIxZWUyMGYxNWZlZmMzNTcyOTA3NTMzMDM3
NmE2NGYwYzEuLjJjMzEzNzc1NGNjY2YxNDU3ZTY5Y2UwZDdlNWI3YmQ0Y2E0YzNhZTMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMC0wNS0xOCAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2ds
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Rml4IGZvciBCdWcgMzQ1MjkgLSAgW0NTU09NXSBpc3N1ZXMgd2l0aCBjc3NUZXh0IGFuZCBzZWxl
Y3RvclRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM0NTI5CisKKyAgICAgICAgKiBmYXN0L2Nzcy9zZWxlY3Rvci10ZXh0LWVzY2FwZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLmh0
bWw6IEFkZGVkLgorCiAyMDEwLTA1LTE4ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3NlbGVjdG9yLXRleHQtZXNjYXBlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Mjc0
Y2QwMjJkZTg1NmI4ZWZjYWQ2YTI2MDEyMTIxYzY1ZjE4NjFmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2VsZWN0b3ItdGV4dC1lc2NhcGUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNTIgQEAKK1Rlc3QgZm9yIEJ1ZyAzNDUyOSAtIFtDU1NPTV0gaXNzdWVzIHdpdGgg
Y3NzVGV4dCBhbmQgc2VsZWN0b3JUZXh0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitMaXN0IGl0ZW1zIG11c3QgYmUgZ3JlZW4uIE90aGVyd2lzZSBzb21lIHNlbGVjdG9ycyBhcmUg
aW52YWxpZC4KK2NsYXNzPSImIzAwMTtfY2xhc3MiCitjbGFzcz0iJiMwMzE7X2NsYXNzIgorY2xh
c3M9IjBfY2xhc3MiCitjbGFzcz0iOV9jbGFzcyIKK2NsYXNzPSItMF9jbGFzcyIKK2NsYXNzPSIt
OV9jbGFzcyIKK2NsYXNzPSItLV9jbGFzcyIKK2NsYXNzPSImIzEyOTtfY2xhc3MiCitjbGFzcz0i
5pel5pys6KqeX2NsYXNzIgorY2xhc3M9IvCQkIBfY2xhc3MiCitjbGFzcz0iYXpBWjA5Xy1fY2xh
c3MiCitjbGFzcz0iKC86QFt+X2NsYXNzIgoraWQ9ImEuZXh0ZXJuYWw6dmlzaXRlZCIKK215YXR0
cj0ibXkidmFsdWVcIgorUEFTUyBydWxlc1swXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1swXQorUEFTUyBydWxlc1swXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMF0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1sxXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1sxXQorUEFTUyBydWxlc1sxXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMV0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1syXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1syXQorUEFTUyBydWxlc1syXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMl0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1szXS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1szXQorUEFTUyBydWxlc1szXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbM10gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s0XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s0XQorUEFTUyBydWxlc1s0XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNF0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s1XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s1XQorUEFTUyBydWxlc1s1XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNV0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s2XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s2XQorUEFTUyBydWxlc1s2XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbNl0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s3XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s3XQorUEFTUyBydWxlc1s3XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbN10gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s4XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s4XQorUEFTUyBydWxlc1s4XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbOF0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1s5XS5zZWxlY3RvclRleHQgaXMgZXhwZWN0ZWRUZXh0
c1s5XQorUEFTUyBydWxlc1s5XS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbOV0gKyAnIHsgY29s
b3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1sxMF0uc2VsZWN0b3JUZXh0IGlzIGV4cGVjdGVkVGV4
dHNbMTBdCitQQVNTIHJ1bGVzWzEwXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4dHNbMTBdICsgJyB7
IGNvbG9yOiBncmVlbjsgfScKK1BBU1MgcnVsZXNbMTFdLnNlbGVjdG9yVGV4dCBpcyBleHBlY3Rl
ZFRleHRzWzExXQorUEFTUyBydWxlc1sxMV0uY3NzVGV4dCBpcyBleHBlY3RlZFRleHRzWzExXSAr
ICcgeyBjb2xvcjogZ3JlZW47IH0nCitQQVNTIHJ1bGVzWzEyXS5zZWxlY3RvclRleHQgaXMgZXhw
ZWN0ZWRUZXh0c1sxMl0KK1BBU1MgcnVsZXNbMTJdLmNzc1RleHQgaXMgZXhwZWN0ZWRUZXh0c1sx
Ml0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JworUEFTUyBydWxlc1sxM10uc2VsZWN0b3JUZXh0IGlz
IGV4cGVjdGVkVGV4dHNbMTNdCitQQVNTIHJ1bGVzWzEzXS5jc3NUZXh0IGlzIGV4cGVjdGVkVGV4
dHNbMTNdICsgJyB7IGNvbG9yOiBncmVlbjsgfScKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9zZWxlY3Rvci10ZXh0LWVzY2FwZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2VsZWN0
b3ItdGV4dC1lc2NhcGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOWFmYzMzY2IxZmJiZjAwYWZmYWVlYjE5
MjUyOGM3MDdmMjAxNzQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c2VsZWN0b3ItdGV4dC1lc2NhcGUuaHRtbApAQCAtMCwwICsxLDExNyBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250
ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLz4KKzx0aXRsZT5CdWcgMzQ1MjkgLSBbQ1NT
T01dIGlzc3VlcyB3aXRoIGNzc1RleHQgYW5kIHNlbGVjdG9yVGV4dDwvdGl0bGU+Cis8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgorLyogQ29udHJvbCBjaGFyYWN0ZXJzICovCisuXDAxX2NsYXNzIHsK
KyAgICBjb2xvcjpncmVlbjsKK30KKy5cMWZfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQor
LlwzMF9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9CisuXDM5X2NsYXNzIHsKKyAgICBjb2xv
cjpncmVlbjsKK30KKy8qIENoYXJhY3RlcnMgZm9sbG93aW5nICctJyAqLworLi1cMzBfY2xhc3Mg
eworICAgIGNvbG9yOmdyZWVuOworfQorLi1cMzlfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOwor
fQorLi1cMmRfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLyogbm9uLUFTQ0lJIGNoYXJh
Y3RlcnMgKi8KKy5cODFfY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLyogdW5pY29kZSBj
aGFyYWN0ZXJzICovCisu5pel5pys6KqeX2NsYXNzIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy8q
IHVuaWNvZGUgc3VwcGxlbWVudGFyeSBjaGFyYWN0ZXJzIChzdXJyb2dhdGUgcGFpcnMpICovCisu
8JCQgF9jbGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9CisvKiBwbGFpbiBjaGFyYWN0ZXJzICov
CisuYXpBWjA5Xy1fY2xhc3MgeworICAgIGNvbG9yOmdyZWVuOworfQorLlwoXC9cOlxAXFtcfl9j
bGFzcyB7CisgICAgY29sb3I6Z3JlZW47Cit9CisvKiBJRCAqLworI2FcLmV4dGVybmFsXDp2aXNp
dGVkIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKy8qIFN0cmluZyAqLworbGlbbXlhdHRyPSJteVwi
dmFsdWVcXCJdIHsKKyAgICBjb2xvcjpncmVlbjsKK30KKworbGkgeworICAgIGNvbG9yOnJlZDsK
K30KKzwvc3R5bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+CisKK0xpc3QgaXRlbXMgbXVzdCBiZSBncmVlbi4gT3RoZXJ3aXNlIHNvbWUgc2VsZWN0
b3JzIGFyZSBpbnZhbGlkLgorPHVsPgorPGxpIGNsYXNzPSImIzAwMTtfY2xhc3MiPmNsYXNzPSIm
YW1wOyMwMDE7X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9IiYjMDMxO19jbGFzcyI+Y2xhc3M9IiZh
bXA7IzAzMTtfY2xhc3MiPC9saT4KKzxsaSBjbGFzcz0iMF9jbGFzcyI+Y2xhc3M9IjBfY2xhc3Mi
PC9saT4KKzxsaSBjbGFzcz0iOV9jbGFzcyI+Y2xhc3M9IjlfY2xhc3MiPC9saT4KKzxsaSBjbGFz
cz0iLTBfY2xhc3MiPmNsYXNzPSItMF9jbGFzcyI8L2xpPgorPGxpIGNsYXNzPSItOV9jbGFzcyI+
Y2xhc3M9Ii05X2NsYXNzIjwvbGk+Cis8bGkgY2xhc3M9Ii0tX2NsYXNzIj5jbGFzcz0iLS1fY2xh
c3MiPC9saT4KKzxsaSBjbGFzcz0iJiMxMjk7X2NsYXNzIj5jbGFzcz0iJmFtcDsjMTI5O19jbGFz
cyI8L2xpPgorPGxpIGNsYXNzPSLml6XmnKzoqp5fY2xhc3MiPmNsYXNzPSLml6XmnKzoqp5fY2xh
c3MiPC9saT4KKzxsaSBjbGFzcz0iJiM2NjU2MDtfY2xhc3MiPmNsYXNzPSImIzY2NTYwO19jbGFz
cyI8L2xpPgorPGxpIGNsYXNzPSJhekFaMDlfLV9jbGFzcyI+Y2xhc3M9ImF6QVowOV8tX2NsYXNz
IjwvbGk+Cis8bGkgY2xhc3M9IigvOkBbfl9jbGFzcyI+Y2xhc3M9IigvOkBbfl9jbGFzcyI8L2xp
PgorPGxpIGlkPSJhLmV4dGVybmFsOnZpc2l0ZWQiPmlkPSJhLmV4dGVybmFsOnZpc2l0ZWQiPC9s
aT4KKzxsaSBteWF0dHI9Im15JiMwMzQ7dmFsdWUmIzA5MjsiPm15YXR0cj0ibXkmIzAzNDt2YWx1
ZSYjMDkyOyI8L2xpPgorPC91bD4KKworPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBmb3IgQnVnIDM0NTI5
IC0gW0NTU09NXSBpc3N1ZXMgd2l0aCBjc3NUZXh0IGFuZCBzZWxlY3RvclRleHQiKTsKKwordmFy
IGV4cGVjdGVkVGV4dHMgPSBbCisgICAgIi5cXDEgX2NsYXNzIiwKKyAgICAiLlxcMWYgX2NsYXNz
IiwKKyAgICAiLlxcMzAgX2NsYXNzIiwKKyAgICAiLlxcMzkgX2NsYXNzIiwKKyAgICAiLi1cXDMw
IF9jbGFzcyIsCisgICAgIi4tXFwzOSBfY2xhc3MiLAorICAgICIuLVxcLV9jbGFzcyIsCisgICAg
Ii5ceDgxX2NsYXNzIiwKKyAgICAiLuaXpeacrOiqnl9jbGFzcyIsCisgICAgIi7wkJCAX2NsYXNz
IiwKKyAgICAiLmF6QVowOV8tX2NsYXNzIiwKKyAgICAiLlxcKFxcL1xcOlxcQFxcW1xcfl9jbGFz
cyIsCisgICAgIiNhXFwuZXh0ZXJuYWxcXDp2aXNpdGVkIiwKKyAgICAnbGlbbXlhdHRyPSJteVxc
InZhbHVlXFxcXCJdJworXTsKKwordmFyIHJ1bGVzID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0u
Y3NzUnVsZXM7Citmb3IgKHZhciBpID0gMDsgaSA8IGV4cGVjdGVkVGV4dHMubGVuZ3RoOyBpKysp
IHsKKyAgICBzaG91bGRCZSgicnVsZXNbIiArIGkgKyAiXS5zZWxlY3RvclRleHQiLCAiZXhwZWN0
ZWRUZXh0c1siICsgaSArICJdIik7CisgICAgc2hvdWxkQmUoInJ1bGVzWyIgKyBpICsgIl0uY3Nz
VGV4dCIsICJleHBlY3RlZFRleHRzWyIgKyBpICsgIl0gKyAnIHsgY29sb3I6IGdyZWVuOyB9JyIp
OworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLm1rIGIvV2ViQ29yZS9BbmRy
b2lkLm1rCmluZGV4IGRiOWZmNGI3NmJmZTZlNGFlYjM1MGVmNzY5NTk2YzQ4YzVhMWNmMzkuLmEw
ZjQ0NmMxMWRlNGY2YjE0M2MyMzRjNzQ3NTUwYzBjODI2YjFkMWYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQW5kcm9pZC5taworKysgYi9XZWJDb3JlL0FuZHJvaWQubWsKQEAgLTQ0LDYgKzQ0LDcgQEAg
TE9DQUxfU1JDX0ZJTEVTIDo9IFwKIAljc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcCBcCiAJY3NzL0NT
U01lZGlhUnVsZS5jcHAgXAogCWNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgXAor
CWNzcy9DU1NPTVV0aWxzLmNwcCBcCiAJY3NzL0NTU1BhZ2VSdWxlLmNwcCBcCiAJY3NzL0NTU1Bh
cnNlci5jcHAgXAogCWNzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDFiYjcyMDg5
NzE3MzlkOWY2OTI0NDEyNzgwZjQ4NjRlNTU1ZTBiMjcuLmVhN2VhNzIxNWVkNTg1MWQzY2I5Y2Ji
ZjFiOWI1NTA3N2MwMTdmYjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNjg1LDYgKzY4NSw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBjc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcAogICAgIGNzcy9DU1NNZWRpYVJ1
bGUuY3BwCiAgICAgY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAorICAgIGNzcy9D
U1NPTVV0aWxzLmNwcAogICAgIGNzcy9DU1NQYWdlUnVsZS5jcHAKICAgICBjc3MvQ1NTUGFyc2Vy
LmNwcAogICAgIGNzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0No
YW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM0YzRkODRjODMyNWU3YTYzYjcwNzll
MGI0ZTVhODA3ZmM0YjMzYjAuLjhlYjFjOTViZGY3MDQ3NGZjMGU1NGFjNmJkNzI5NjZmZDIxZWUx
ZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzEgQEAKKzIwMTAtMDUtMTggIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZpeCBmb3IgQnVnIDM0NTI5IC0gIFtDU1NPTV0gaXNzdWVzIHdpdGggY3NzVGV4dCBhbmQgc2Vs
ZWN0b3JUZXh0CisgICAgICAgIFNlcmlhbGl6ZSBzZWxlY3RvciBhcyBwZXIgaHR0cDovL2Rldi53
My5vcmcvY3Nzd2cvY3Nzb20vI3NlcmlhbGl6aW5nLXNlbGVjdG9ycworICAgICAgICBXaXRob3V0
IHRoaXMgcGF0Y2gsIGZvciBleGFtcGxlLCBzZWxlY3RvcnMgY29udGFpbmluZyAnOicgb3IgJy4n
IGFyZSBub3QgcHJvcGVybHkgc2VyaWFsaXplZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM0NTI5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mvc2Vs
ZWN0b3ItdGV4dC1lc2NhcGUuaHRtbAorCisgICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NPTVV0aWxzLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjphcHBlbmRDaGFyYWN0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6c2VyaWFsaXpl
Q2hhcmFjdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6ZUNoYXJhY3RlckFzQ29kZVBv
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6ZUlkZW50aWZpZXIpOgorICAgICAgICAo
V2ViQ29yZTo6c2VyaWFsaXplU3RyaW5nKToKKyAgICAgICAgKiBjc3MvQ1NTT01VdGlscy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dCk6CisKIDIwMTAtMDUtMTggIEFuZGVycyBDYXJsc3Nv
biAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2Vpbmln
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KaW5kZXggNGYzOTUwYjMzYjVjNjdiN2E5NzdmNjU2ODRjZmU0YTI5MDc2MzVmMC4uYWQy
NmE1NWViNjQzMTM5Yjk4MmI3YWE0NGRiMGEyNDk4NzU2NWJjYSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC02MzIsNiAr
NjMyLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbi5jcHAgXAogCVdlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0
aW9uLmggXAogCVdlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oIFwKKwlXZWJDb3JlL2Nzcy9DU1NP
TVV0aWxzLmNwcCBcCisJV2ViQ29yZS9jc3MvQ1NTT01VdGlscy5oIFwKIAlXZWJDb3JlL2Nzcy9D
U1NQYWdlUnVsZS5jcHAgXAogCVdlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmggXAogCVdlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwNDY2MGZiZGZmNWYxM2RhOTIyNDU4MTRhZTU0NzI4
YzM2YTQ4ZTY0Li5mOGQzZTdjY2RkZDUzMDhjZmQ0NDgzNGI0NmQ4MmE4OTI4NTVhNjc2IDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtOTYxLDYgKzk2MSw4IEBACiAgICAgICAgICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
LmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NOYW1lc3BhY2UuaCcsCisgICAgICAgICAgICAnY3Nz
L0NTU09NVXRpbHMuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTT01VdGlscy5oJywKICAgICAg
ICAgICAgICdjc3MvQ1NTUGFnZVJ1bGUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTUGFnZVJ1
bGUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU1BhcnNlci5jcHAnLApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMTcxNjE0MzIzMWQ0
YThiZjFlNzA2YTM0NmFmOGZkMjI1NmViNmRiNS4uYzczNDljNjU0NmRiNTAyNDQ5MWU2YjVkMGY2
NjNjOGY0OTUyOTIwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJD
b3JlL1dlYkNvcmUucHJvCkBAIC00MDMsNiArNDAzLDcgQEAgU09VUkNFUyArPSBcCiAgICAgY3Nz
L0NTU0luaXRpYWxWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NNZWRpYVJ1bGUuY3BwIFwKICAgICBj
c3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwIFwKKyAgICBjc3MvQ1NTT01VdGlscy5j
cHAgXAogICAgIGNzcy9DU1NQYWdlUnVsZS5jcHAgXAogICAgIGNzcy9DU1NQYXJzZXIuY3BwIFwK
ICAgICBjc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcCBcCkBAIC0xMTI5LDYgKzExMzAsNyBAQCBIRUFE
RVJTICs9IFwKICAgICBjc3MvQ1NTSW5pdGlhbFZhbHVlLmggXAogICAgIGNzcy9DU1NNZWRpYVJ1
bGUuaCBcCiAgICAgY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggXAorICAgIGNzcy9D
U1NPTVV0aWxzLmggXAogICAgIGNzcy9DU1NQYWdlUnVsZS5oIFwKICAgICBjc3MvQ1NTUGFyc2Vy
LmggXAogICAgIGNzcy9DU1NQYXJzZXJWYWx1ZXMuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagppbmRleCA1ZGYyMDNiN2FhMTdkNDYxNDExZjkxNzk5ZTEwMTBkN2M3OWUzY2Qy
Li42YTIyNTllMTBmYzE4YjdhYWRjMWJlMWNlMjYyOWNmZGZhMWZiMzA4IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI3MjMzLDYgKzI3MjMzLDE0IEBACiAJCQkJPg0K
IAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NPTVV0
aWxzLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGNzc1xDU1NPTVV0aWxzLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTTmFtZXNwYWNlLmgiDQogCQkJCT4NCiAJCQk8
L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAz
ODNjNDM4M2FiODI2MTE4OWMxMTA3OTQwNjAyZGU1ZTgyMGZkZWM0Li5mNmM0ZTgxMjEzM2E5N2Q1
Mzk5ZmQ1YmU0YWViYWMzNzhjY2MxNWI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNTAyMyw2ICs1MDIzLDggQEAKIAkJRjVEM0E1N0QxMDZCODNCMzAw
NTQ1Mjk3IC8qIERhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNUQzQTU3QjEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVu
dHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlG
OTE2QzQ4RDBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjkxNkM0
OEIwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAq
LzsgfTsKIAkJRjkxNkM0OEUwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGOTE2QzQ4QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQuaCAqLzsgfTsKKwkJRjk4RkZGNDQxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjk4RkZGNDIx
MUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwICovOyB9OworCQlGOThGRkY0NTExQTI2
NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjk4RkZGNDMxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMu
aCAqLzsgfTsKIAkJRjlGMEVEN0EwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjlGMEVENzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dC5oICovOyB9OwogCQlGQTBCMUY4NjExMTI1Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0
aC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTBC
MUY4MjExMTI1Q0VFMDA3Rjk4MzkgLyogUmVuZGVyTWF0aE1MTWF0aC5jcHAgKi87IH07CiAJCUZB
MEIxRjg3MTExMjVDRUUwMDdGOTgzOSAvKiBSZW5kZXJNYXRoTUxNYXRoLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTBCMUY4MzExMTI1Q0VFMDA3Rjk4
MzkgLyogUmVuZGVyTWF0aE1MTWF0aC5oICovOyB9OwpAQCAtMTA1NjYsNiArMTA1NjgsOCBAQAog
CQlGODIxNjI5OTAyOUY0RkI1MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5m
cmFtZXdvcms7IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBC
VUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGOTE2QzQ4QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUY5OEZGRjQyMTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU09NVXRpbHMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlGOThGRkY0MzExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGls
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NPTVV0aWxzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGOUYwRUQ3ODBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkEwQjFGODIxMTEyNUNF
RTAwN0Y5ODM5IC8qIFJlbmRlck1hdGhNTE1hdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUmVuZGVyTWF0aE1MTWF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNTk3MSw2ICsxNTk3NSw4IEBACiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2MzVD
QSAvKiBjc3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJ
CUY5OEZGRjQyMTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmNwcCAqLywKKwkJCQlGOThG
RkY0MzExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oICovLAogCQkJCTkzQ0E0QzlDMDlE
RjkzRkEwMERGODY3NyAvKiBtYWtldG9rZW5pemVyICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0Ew
MDdGQjhDNSAvKiBDb3VudGVyLmggKi8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8q
IENvdW50ZXIuaWRsICovLApAQCAtMTkyNzQsNiArMTkyODAsNyBAQAogCQkJCTk3RThCM0MzMTFB
Mjg5MDgwMDE2OTQwOSAvKiBIVE1MNVRva2VuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxMDM4
QjExQTI5NDcwMDBEQkQ1MEUgLyogSFRNTDVUb2tlbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxMzI3RDYwMTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCBpbiBIZWFkZXJzICov
LAorCQkJCUY5OEZGRjQ1MTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmggaW4gSGVhZGVy
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKQEAgLTIxNTU3LDYgKzIxNTY0LDcgQEAKIAkJCQk5N0U4QjM1NjExQTIzQ0UyMDAxNjk0
MDkgLyogSFRNTDVMZXhlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxMDM4QTExQTI5NDcw
MDBEQkQ1MEUgLyogSFRNTDVUb2tlbml6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEzMjdE
NjExMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlGOThGRkY0NDExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMuY3BwIGIvV2ViQ29yZS9jc3Mv
Q1NTT01VdGlscy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDFlOTYzOGY1ZWQ5YmUxYjExOTYxOWM2NGYyZDRh
OWYyMTRmMjVhMQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMuY3Bw
CkBAIC0wLDAgKzEsMTIxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU09NVXRp
bHMuaCIKKworI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RhdGljIHZvaWQgYXBwZW5kQ2hhcmFjdGVyKFVDaGFyMzIgYywgVmVjdG9yPFVDaGFy
PiYgYXBwZW5kVG8pCit7CisgICAgaWYgKFUxNl9MRU5HVEgoYykgPT0gMSkKKyAgICAgICAgYXBw
ZW5kVG8uYXBwZW5kKHN0YXRpY19jYXN0PFVDaGFyPihjKSk7CisgICAgZWxzZSB7CisgICAgICAg
IGFwcGVuZFRvLmFwcGVuZChVMTZfTEVBRChjKSk7CisgICAgICAgIGFwcGVuZFRvLmFwcGVuZChV
MTZfVFJBSUwoYykpOworICAgIH0KK30KKwordm9pZCBzZXJpYWxpemVDaGFyYWN0ZXIoVUNoYXIz
MiBjLCBWZWN0b3I8VUNoYXI+JiBhcHBlbmRUbykKK3sKKyAgICBhcHBlbmRUby5hcHBlbmQoJ1xc
Jyk7CisgICAgYXBwZW5kQ2hhcmFjdGVyKGMsIGFwcGVuZFRvKTsKK30KKwordm9pZCBzZXJpYWxp
emVDaGFyYWN0ZXJBc0NvZGVQb2ludChVQ2hhcjMyIGMsIFZlY3RvcjxVQ2hhcj4mIGFwcGVuZFRv
KQoreworICAgIGFwcGVuZChhcHBlbmRUbywgU3RyaW5nOjpmb3JtYXQoIlxcJXggIiwgYykpOwor
fQorCit2b2lkIHNlcmlhbGl6ZUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBT
dHJpbmcmIGFwcGVuZFRvKQoreworICAgIFZlY3RvcjxVQ2hhcj4gYWRkZW5kOworICAgIHNlcmlh
bGl6ZUlkZW50aWZpZXIoaWRlbnRpZmllciwgYWRkZW5kKTsKKyAgICBhcHBlbmRUby5hcHBlbmQo
U3RyaW5nOjphZG9wdChhZGRlbmQpKTsKK30KKwordm9pZCBzZXJpYWxpemVJZGVudGlmaWVyKGNv
bnN0IFN0cmluZyYgaWRlbnRpZmllciwgVmVjdG9yPFVDaGFyPiYgYXBwZW5kVG8pCit7CisgICAg
Ym9vbCBpc0ZpcnN0ID0gdHJ1ZTsKKyAgICBib29sIGlzU2Vjb25kID0gZmFsc2U7CisgICAgYm9v
bCBpc0ZpcnN0Q2hhckh5cGhlbiA9IGZhbHNlOworICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAg
ICB3aGlsZSAoaW5kZXggPCBpZGVudGlmaWVyLmxlbmd0aCgpKSB7CisgICAgICAgIFVDaGFyMzIg
YyA9IGlkZW50aWZpZXIuY2hhcmFjdGVyU3RhcnRpbmdBdChpbmRleCk7CisgICAgICAgIGluZGV4
ICs9IFUxNl9MRU5HVEgoYyk7CisKKyAgICAgICAgaWYgKGMgPD0gMHgxZiB8fCAoMHgzMCA8PSBj
ICYmIGMgPD0gMHgzOSAmJiAoaXNGaXJzdCB8fCAoaXNTZWNvbmQgJiYgaXNGaXJzdENoYXJIeXBo
ZW4pKSkpCisgICAgICAgICAgICBzZXJpYWxpemVDaGFyYWN0ZXJBc0NvZGVQb2ludChjLCBhcHBl
bmRUbyk7CisgICAgICAgIGVsc2UgaWYgKGMgPT0gMHgyZCAmJiBpc1NlY29uZCAmJiBpc0ZpcnN0
Q2hhckh5cGhlbikKKyAgICAgICAgICAgIHNlcmlhbGl6ZUNoYXJhY3RlcihjLCBhcHBlbmRUbyk7
CisgICAgICAgIGVsc2UgaWYgKDB4ODAgPD0gYyB8fCBjID09IDB4MmQgfHwgYyA9PSAweDVmIHx8
ICgweDMwIDw9IGMgJiYgYyA8PSAweDM5KSB8fCAoMHg0MSA8PSBjICYmIGMgPD0gMHg1YSkgfHwg
KDB4NjEgPD0gYyAmJiBjIDw9IDB4N2EpKQorICAgICAgICAgICAgYXBwZW5kQ2hhcmFjdGVyKGMs
IGFwcGVuZFRvKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2VyaWFsaXplQ2hhcmFjdGVy
KGMsIGFwcGVuZFRvKTsKKworICAgICAgICBpZiAoaXNGaXJzdCkgeworICAgICAgICAgICAgaXNG
aXJzdCA9IGZhbHNlOworICAgICAgICAgICAgaXNTZWNvbmQgPSB0cnVlOworICAgICAgICAgICAg
aXNGaXJzdENoYXJIeXBoZW4gPSAoYyA9PSAweDJkKTsKKyAgICAgICAgfSBlbHNlIGlmIChpc1Nl
Y29uZCkgeworICAgICAgICAgICAgaXNTZWNvbmQgPSBmYWxzZTsKKyAgICAgICAgfQorICAgIH0K
K30KKwordm9pZCBzZXJpYWxpemVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIFN0cmluZyYg
YXBwZW5kVG8pCit7CisgICAgVmVjdG9yPFVDaGFyPiBhZGRlbmQ7CisgICAgc2VyaWFsaXplU3Ry
aW5nKHN0cmluZywgYWRkZW5kKTsKKyAgICBhcHBlbmRUby5hcHBlbmQoU3RyaW5nOjphZG9wdChh
ZGRlbmQpKTsKK30KKwordm9pZCBzZXJpYWxpemVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcs
IFZlY3RvcjxVQ2hhcj4mIGFwcGVuZFRvKQoreworICAgIGFwcGVuZFRvLmFwcGVuZCgnXCInKTsK
KworICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICB3aGlsZSAoaW5kZXggPCBzdHJpbmcubGVu
Z3RoKCkpIHsKKyAgICAgICAgVUNoYXIzMiBjID0gc3RyaW5nLmNoYXJhY3RlclN0YXJ0aW5nQXQo
aW5kZXgpOworICAgICAgICBpbmRleCArPSBVMTZfTEVOR1RIKGMpOworICAgICAgICBpZiAoYyA8
PSAweDFmKQorICAgICAgICAgICAgc2VyaWFsaXplQ2hhcmFjdGVyQXNDb2RlUG9pbnQoYywgYXBw
ZW5kVG8pOworICAgICAgICBlbHNlIGlmIChjID09IDB4MjIgfHwgYyA9PSAweDVjKQorICAgICAg
ICAgICAgc2VyaWFsaXplQ2hhcmFjdGVyKGMsIGFwcGVuZFRvKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgYXBwZW5kQ2hhcmFjdGVyKGMsIGFwcGVuZFRvKTsKKyAgICB9CisKKyAgICBhcHBl
bmRUby5hcHBlbmQoJ1wiJyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMuaCBiL1dlYkNvcmUvY3NzL0NTU09NVXRpbHMuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42NjAyYjM1YWMwMGZlODM0MGE0ZDA0YzExY2YxNzI5YWNhYjAyZTYxCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9jc3MvQ1NTT01VdGlscy5oCkBAIC0wLDAgKzEsNTMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIENTU09NVXRpbHNfaAorI2RlZmluZSBDU1NPTVV0aWxzX2gKKworI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CisKKy8vIFV0aWxp
dGllcyBmb3IgQ1NTT00gaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20vCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgU3RyaW5nOworCisvLyBDb21tb24gc2VyaWFsaXppbmcgbWV0
aG9kcy4gU2VlOiBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3NvbS8jY29tbW9uLXNlcmlhbGl6
aW5nLWlkaW9tcwordm9pZCBzZXJpYWxpemVDaGFyYWN0ZXIoVUNoYXIzMiwgVmVjdG9yPFVDaGFy
PiYgYXBwZW5kVG8pOwordm9pZCBzZXJpYWxpemVDaGFyYWN0ZXJBc0NvZGVQb2ludChVQ2hhcjMy
LCBWZWN0b3I8VUNoYXI+JiBhcHBlbmRUbyk7Cit2b2lkIHNlcmlhbGl6ZUlkZW50aWZpZXIoY29u
c3QgU3RyaW5nJiBpZGVudGlmaWVyLCBTdHJpbmcmIGFwcGVuZFRvKTsKK3ZvaWQgc2VyaWFsaXpl
SWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFZlY3RvcjxVQ2hhcj4mIGFwcGVu
ZFRvKTsKK3ZvaWQgc2VyaWFsaXplU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBTdHJpbmcm
IGFwcGVuZFRvKTsKK3ZvaWQgc2VyaWFsaXplU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBW
ZWN0b3I8VUNoYXI+JiBhcHBlbmRUbyk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIENTU09NVXRpbHNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
Y3BwIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGVlOWM4NDY1YzYzMjYxNjA5
ZGJkYWQ5OGQ5M2ZkZDNlMzJhNWYyNGYuLjAwYTNiMWU5OWIyNDQyMWJkMmY0OTVkNGJiZjhkMWQ2
ZmExZDkxNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9X
ZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTI1LDkgKzI1LDkgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogCi0jaW5jbHVkZSAid3RmL0Fzc2Vy
dGlvbnMuaCIKKyNpbmNsdWRlICJDU1NPTVV0aWxzLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgi
Ci0KKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCkBAIC01ODIsMTAgKzU4MiwxMCBAQCBT
dHJpbmcgQ1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dCgpIGNvbnN0CiAgICAgd2hpbGUgKHRydWUp
IHsKICAgICAgICAgaWYgKGNzLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpJZCkgewogICAgICAg
ICAgICAgc3RyICs9ICIjIjsKLSAgICAgICAgICAgIHN0ciArPSBjcy0+bV92YWx1ZTsKKyAgICAg
ICAgICAgIHNlcmlhbGl6ZUlkZW50aWZpZXIoY3MtPm1fdmFsdWUsIHN0cik7CiAgICAgICAgIH0g
ZWxzZSBpZiAoY3MtPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OkNsYXNzKSB7CiAgICAgICAgICAg
ICBzdHIgKz0gIi4iOwotICAgICAgICAgICAgc3RyICs9IGNzLT5tX3ZhbHVlOworICAgICAgICAg
ICAgc2VyaWFsaXplSWRlbnRpZmllcihjcy0+bV92YWx1ZSwgc3RyKTsKICAgICAgICAgfSBlbHNl
IGlmIChjcy0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3MpIHsKICAgICAgICAg
ICAgIHN0ciArPSAiOiI7CiAgICAgICAgICAgICBzdHIgKz0gY3MtPm1fdmFsdWU7CkBAIC02Mzcs
OSArNjM3LDggQEAgU3RyaW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoKSBjb25zdAogICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChj
cy0+bV9tYXRjaCAhPSBDU1NTZWxlY3Rvcjo6U2V0KSB7Ci0gICAgICAgICAgICAgICAgc3RyICs9
ICJcIiI7Ci0gICAgICAgICAgICAgICAgc3RyICs9IGNzLT5tX3ZhbHVlOwotICAgICAgICAgICAg
ICAgIHN0ciArPSAiXCJdIjsKKyAgICAgICAgICAgICAgICBzZXJpYWxpemVTdHJpbmcoY3MtPm1f
dmFsdWUsIHN0cik7CisgICAgICAgICAgICAgICAgc3RyICs9ICJdIjsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgICAgICBpZiAoY3MtPnJlbGF0aW9uKCkgIT0gQ1NTU2VsZWN0b3I6OlN1
YlNlbGVjdG9yIHx8ICFjcy0+dGFnSGlzdG9yeSgpKQo=
</data>
<flag name="review"
          id="40874"
          type_id="1"
          status="+"
          setter="hamaji"
    />
          </attachment>
      

    </bug>

</bugzilla>