<?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>106283</bug_id>
          
          <creation_ts>2013-01-07 17:54:24 -0800</creation_ts>
          <short_desc>[Shadow DOM] HTMLContentElement and HTMLShadowElement should be behind SHADOW_DOM</short_desc>
          <delta_ts>2013-01-10 23:40:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>106614</dependson>
          <blocked>103339</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>peter+ews</cc>
    
    <cc>philn</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>801897</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-07 17:54:24 -0800</bug_when>
    <thetext>Part of Bug 103339. This is easy one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803974</commentid>
    <comment_count>1</comment_count>
      <attachid>182050</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-09 19:40:31 -0800</bug_when>
    <thetext>Created attachment 182050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803997</commentid>
    <comment_count>2</comment_count>
      <attachid>182050</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-09 20:07:03 -0800</bug_when>
    <thetext>Comment on attachment 182050
Patch

Attachment 182050 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15764746</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804003</commentid>
    <comment_count>3</comment_count>
      <attachid>182050</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-09 20:18:48 -0800</bug_when>
    <thetext>Comment on attachment 182050
Patch

Attachment 182050 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15757791</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804013</commentid>
    <comment_count>4</comment_count>
      <attachid>182055</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-09 20:43:05 -0800</bug_when>
    <thetext>Created attachment 182055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804022</commentid>
    <comment_count>5</comment_count>
      <attachid>182055</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-09 20:57:04 -0800</bug_when>
    <thetext>Comment on attachment 182055
Patch

Attachment 182055 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15757802</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804029</commentid>
    <comment_count>6</comment_count>
      <attachid>182055</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-09 21:14:33 -0800</bug_when>
    <thetext>Comment on attachment 182055
Patch

Attachment 182055 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15756872</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804054</commentid>
    <comment_count>7</comment_count>
      <attachid>182062</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-09 22:13:31 -0800</bug_when>
    <thetext>Created attachment 182062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804056</commentid>
    <comment_count>8</comment_count>
      <attachid>182062</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-09 22:17:19 -0800</bug_when>
    <thetext>Comment on attachment 182062
Patch

Attachment 182062 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15795064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804057</commentid>
    <comment_count>9</comment_count>
      <attachid>182062</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-09 22:17:58 -0800</bug_when>
    <thetext>Comment on attachment 182062
Patch

Attachment 182062 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15755869</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804059</commentid>
    <comment_count>10</comment_count>
      <attachid>182062</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-01-09 22:18:38 -0800</bug_when>
    <thetext>Comment on attachment 182062
Patch

Attachment 182062 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15766697</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804062</commentid>
    <comment_count>11</comment_count>
      <attachid>182062</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-01-09 22:24:18 -0800</bug_when>
    <thetext>Comment on attachment 182062
Patch

Attachment 182062 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/15795065</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804077</commentid>
    <comment_count>12</comment_count>
      <attachid>182069</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-09 22:37:25 -0800</bug_when>
    <thetext>Created attachment 182069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804083</commentid>
    <comment_count>13</comment_count>
      <attachid>182069</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-09 22:59:45 -0800</bug_when>
    <thetext>Comment on attachment 182069
Patch

Attachment 182069 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15775652</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804086</commentid>
    <comment_count>14</comment_count>
      <attachid>182069</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-09 23:01:53 -0800</bug_when>
    <thetext>Comment on attachment 182069
Patch

Attachment 182069 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15771828</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804118</commentid>
    <comment_count>15</comment_count>
      <attachid>182078</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 00:05:52 -0800</bug_when>
    <thetext>Created attachment 182078
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804458</commentid>
    <comment_count>16</comment_count>
      <attachid>182078</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-01-10 09:45:09 -0800</bug_when>
    <thetext>Comment on attachment 182078
Patch

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

Can you split up the prematch code into a separate patch? Seems like it would make reviewing easier.

&gt; Source/WebCore/ChangeLog:12
&gt; +        even after this chagne. They are for minimizing #if/#endif usage

chagne -&gt; change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804809</commentid>
    <comment_count>17</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 16:16:58 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 182078 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=182078&amp;action=review
&gt; 
&gt; Can you split up the prematch code into a separate patch? Seems like it would make reviewing easier.

Sure I should. Filed Bug 106614.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804913</commentid>
    <comment_count>18</comment_count>
      <attachid>182253</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 20:35:23 -0800</bug_when>
    <thetext>Created attachment 182253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804920</commentid>
    <comment_count>19</comment_count>
      <attachid>182253</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-10 20:39:11 -0800</bug_when>
    <thetext>Comment on attachment 182253
Patch

Attachment 182253 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15801290</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804927</commentid>
    <comment_count>20</comment_count>
      <attachid>182257</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 20:55:20 -0800</bug_when>
    <thetext>Created attachment 182257
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804931</commentid>
    <comment_count>21</comment_count>
      <attachid>182257</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-10 20:59:27 -0800</bug_when>
    <thetext>Comment on attachment 182257
Patch

Attachment 182257 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15795487</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804932</commentid>
    <comment_count>22</comment_count>
      <attachid>182257</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-10 21:04:41 -0800</bug_when>
    <thetext>Comment on attachment 182257
Patch

Attachment 182257 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15804201</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804937</commentid>
    <comment_count>23</comment_count>
      <attachid>182257</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-10 21:07:19 -0800</bug_when>
    <thetext>Comment on attachment 182257
Patch

Attachment 182257 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15811144</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804940</commentid>
    <comment_count>24</comment_count>
      <attachid>182257</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-10 21:13:37 -0800</bug_when>
    <thetext>Comment on attachment 182257
Patch

Attachment 182257 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15801304</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804941</commentid>
    <comment_count>25</comment_count>
      <attachid>182258</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 21:13:56 -0800</bug_when>
    <thetext>Created attachment 182258
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804942</commentid>
    <comment_count>26</comment_count>
      <attachid>182259</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-10 21:17:45 -0800</bug_when>
    <thetext>Created attachment 182259
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805000</commentid>
    <comment_count>27</comment_count>
      <attachid>182259</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 23:40:47 -0800</bug_when>
    <thetext>Comment on attachment 182259
Patch

Clearing flags on attachment: 182259

Committed r139410: &lt;http://trac.webkit.org/changeset/139410&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805001</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 23:40:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182050</attachid>
            <date>2013-01-09 19:40:31 -0800</date>
            <delta_ts>2013-01-09 20:43:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106283-20130110123734.patch</filename>
            <type>text/plain</type>
            <size>17003</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgyOTE2M2NjYzkzNzZj
MWU3MmI0MTk1MDQ4YjYwYWIzZjQ2OGVkNC4uM2NjZmE0MjM2ZGZlYzI0ODhhNDQ4MGRjMWQ5NzJj
MGQ3ZGUzYjU1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYwIEBACiAyMDEzLTAxLTA5ICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2MjgzCisgICAgICAgIFtTaGFkb3cgRE9NXSBI
VE1MQ29udGVudEVsZW1lbnQgYW5kIEhUTUxTaGFkb3dFbGVtZW50IHNob3VsZCBiZSBiZWhpbmQg
U0hBRE9XX0RPTQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICBU
aGlzIGNoYW5nZSBtb3ZlcyA8Y29udGVudD4gYW5kIDxzaGFkb3c+IGJlaGluZAorICAgICAgICBF
TkFCTEUoU0hBRE9XX0RPTSkuIE5vdGUgdGhhdCBlbXB0eSBzdHViIGRlZmluaXRpb25zIGFyZSBy
ZW1haW5pbmcKKyAgICAgICAgZXZlbiBhZnRlciB0aGlzIGNoYWduZS4gVGhleSBhcmUgZm9yIG1p
bmltaXppbmcgI2lmLyNlbmRpZiB1c2FnZQorICAgICAgICBhbmQgd29uJ3QgaHVydCBjb2RlIHNp
emUuCisKKyAgICAgICAgVG8gbWFrZSB0aGUgbWFpbiBjaGFuZ2UgcG9zc2libGUsIHRoaXMgY2hh
bmdlIGFsc28gaW50cm9kdWNlcworICAgICAgICBJbnNlcnRpb25Qb2ludDo6cHJlbWF0Y2goKSB0
byBsZXQgV2ViQ29yZSBIVE1MQ29udGVudEVsZW1lbnQKKyAgICAgICAgc3VibGFzc2VzIGVtdWxh
dGUgZnVsbC1mZWF0dXJlIEhUTUxDb250ZW50RWxlbWVudCBldmVuIHdpdGhvdXQKKyAgICAgICAg
RU5BQkxFKFNIQURPV19ET00pLiBEZXRhaWxzU3VtbWFyeUVsZW1lbnQgZW1wbG95cyB0aGlzIG1l
Y2hhbmlzbS4KKworICAgICAgICAqIGh0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRldGFpbHNTdW1tYXJ5RWxlbWVudDo6RGV0YWlsc1N1bW1hcnlFbGVtZW50
KToKKyAgICAgICAgKERldGFpbHNTdW1tYXJ5RWxlbWVudCk6CisgICAgICAgICogaHRtbC9JbnB1
dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpkZXN0cm95U2hhZG93U3Vi
dHJlZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnREaXN0cmlidXRvcjo6ZGlzdHJpYnV0ZSk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGVudFNlbGVjdG9yUXVlcnk6OkNvbnRlbnRTZWxlY3RvclF1ZXJ5KToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRlbnRTZWxlY3RvclF1ZXJ5OjptYXRjaGVzKToKKyAgICAgICAgKiBodG1s
L3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6OnByZW1hdGNoKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxDb250ZW50RWxlbWVudDo6c2VsZWN0KToKKyAgICAgICAgKiBodG1sL3NoYWRv
dy9IVE1MQ29udGVudEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSFRN
TENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb250ZW50RWxlbWVudDo6
aXNTZWxlY3RWYWxpZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50
RWxlbWVudCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwOgor
ICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTaGFkb3dFbGVtZW50OjpwcmVtYXRjaCk6Cisg
ICAgICAgIChXZWJDb3JlOjppc0hUTUxTaGFkb3dFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OnRvSFRNTFNoYWRvd0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBv
aW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50OjplbXB0eVNlbGVjdG9y
TGlzdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9JbnNlcnRp
b25Qb2ludC5oOgorICAgICAgICAoSW5zZXJ0aW9uUG9pbnQpOgorICAgICAgICAqIGh0bWwvc2hh
ZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRGaWVsZERlY29yYXRpb25FbGVtZW50OjpkZWNvcmF0ZSk6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjppc1ZhbGlkQ29udGVu
dFNlbGVjdCk6CisKKzIwMTMtMDEtMDkgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBnb29nbGUu
Y29tPgorCiAgICAgICAgIFtTaGFkb3cgRE9NXSBEaXN0cmlidXRpb24gcmVsYXRlZCBjb2RlIG9u
IEVsZW1lbnRTaGFkb3cgc2hvdWxkIGJlIG1pbmltaXplZC4KICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjI5NAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKaW5kZXggYTI3ODZiYzZmODQyNGNiNzViYzQwZTQ0MTc5
YTQ1Y2YxMDk0OGU1OS4uYjg2ZjZkMzUxYmZmODJjNzRlZWMyYTMxNWZmZDM5ODcyZDRkM2VjNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcApAQCAtNzEsOCAr
NzEsMTMgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBEZXRhaWxzU3VtbWFyeUVsZW1lbnQoRG9j
dW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6IEhUTUxDb250ZW50RWxlbWVudChIVE1MTmFtZXM6
OndlYmtpdFNoYWRvd0NvbnRlbnRUYWcsIGRvY3VtZW50KQorICAgIHsgfQorCisgICAgdmlydHVh
bCBQcmVtYXRjaFJlc3VsdCBwcmVtYXRjaChOb2RlKiBub2RlKSBPVkVSUklERQogICAgIHsKLSAg
ICAgICAgc2V0U2VsZWN0KHN1bW1hcnlRdWVyeVNlbGVjdG9yKCkpOworICAgICAgICBpZiAobm9k
ZS0+aXNFbGVtZW50Tm9kZSgpICYmIG5vZGUgPT0gbm9kZS0+cGFyZW50Tm9kZSgpLT5xdWVyeVNl
bGVjdG9yKHN1bW1hcnlRdWVyeVNlbGVjdG9yKCksIEFTU0VSVF9OT19FWENFUFRJT04pKQorICAg
ICAgICAgICAgcmV0dXJuIFByZW1hdGNoRm9yY2VNYXRjaDsKKyAgICAgICAgcmV0dXJuIFByZW1h
dGNoRm9yY2VSZWplY3Q7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmlu
ZGV4IGIxNmZhM2IxOGU0ZWE0NjFiNmMyMTgzYWRkZjFmZmYzMTEwNjQ3OGIuLjI1ZTlhZTQ2MDg4
ZTIwNDcyY2NmMzEzMjZkODNhNTA0NjEwYjUzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5j
cHAKQEAgLTQ5MCw4ICs0OTAsMTIgQEAgdm9pZCBJbnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0
cmVlKCkKICAgICAvLyBiZWVuIGNyZWF0ZWQgYnkgVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQs
IGFuZCB3ZSBkb24ndCBhbGxvdyBhZGRpbmcKICAgICAvLyBBdXRob3JTaGFkb3dSb290IHRvIEhU
TUxJbnB1dEVsZW1lbnQuCiAgICAgd2hpbGUgKChyb290ID0gcm9vdC0+eW91bmdlclNoYWRvd1Jv
b3QoKSkpIHsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICAgICAgcm9vdC0+cmVtb3ZlQWxs
Q2hpbGRyZW4oKTsKICAgICAgICAgcm9vdC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0VsZW1lbnQ6
OmNyZWF0ZShzaGFkb3dUYWcsIGVsZW1lbnQoKS0+ZG9jdW1lbnQoKSkpOworI2Vsc2UKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisjZW5kaWYKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwCmluZGV4IDBkM2Ri
ZWEwYjhiN2NiMTY4MjIyY2JhZjgyZTA5NjgyNzNhYmI3YTkuLjg2N2ExNzQ1N2I1MjllZjA4OWQ4
MGIwZmQ4ODNlMTRhNjJjN2VlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcApAQCAtMjQ5LDYgKzI0OSw3IEBAIHZvaWQgQ29udGVu
dERpc3RyaWJ1dG9yOjpkaXN0cmlidXRlKEVsZW1lbnQqIGhvc3QpCiAgICAgICAgICAgICBhY3Rp
dmVTaGFkb3dJbnNlcnRpb25Qb2ludHMuYXBwZW5kKGZpcnN0QWN0aXZlU2hhZG93SW5zZXJ0aW9u
UG9pbnQpOwogICAgIH0KIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAgIGZvciAoc2l6ZV90
IGkgPSBhY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2ludHMuc2l6ZSgpOyBpID4gMDsgLS1pKSB7CiAg
ICAgICAgIEhUTUxTaGFkb3dFbGVtZW50KiBzaGFkb3dFbGVtZW50ID0gYWN0aXZlU2hhZG93SW5z
ZXJ0aW9uUG9pbnRzW2kgLSAxXTsKICAgICAgICAgU2hhZG93Um9vdCogcm9vdCA9IHNoYWRvd0Vs
ZW1lbnQtPmNvbnRhaW5pbmdTaGFkb3dSb290KCk7CkBAIC0yNjIsNiArMjYzLDkgQEAgdm9pZCBD
b250ZW50RGlzdHJpYnV0b3I6OmRpc3RyaWJ1dGUoRWxlbWVudCogaG9zdCkKICAgICAgICAgICAg
ICAgICBzaGFkb3ctPmludmFsaWRhdGVEaXN0cmlidXRpb24oKTsKICAgICAgICAgfQogICAgIH0K
KyNlbHNlCisgICAgQVNTRVJUKCFhY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2ludHMuc2l6ZSgpKTsK
KyNlbmRpZgogfQogCiBib29sIENvbnRlbnREaXN0cmlidXRvcjo6aW52YWxpZGF0ZShFbGVtZW50
KiBob3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudFNl
bGVjdG9yUXVlcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudFNlbGVj
dG9yUXVlcnkuY3BwCmluZGV4IDYxMThjNTJjODExNGI1M2NjY2YwMDE5NDFjMzUwMzVkZTQxMjFm
MmQuLmE2ODhmNGNiZGQwOGE5NTk2MDZlZWYzMzc2OWM3YTZmODJmZTY1YTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JRdWVyeS5jcHAKQEAg
LTY4LDggKzY4LDcgQEAgQ29udGVudFNlbGVjdG9yUXVlcnk6OkNvbnRlbnRTZWxlY3RvclF1ZXJ5
KEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCkKICAgICA6IG1faW5zZXJ0aW9uUG9pbnQo
aW5zZXJ0aW9uUG9pbnQpCiAgICAgLCBtX3NlbGVjdG9yQ2hlY2tlcihpbnNlcnRpb25Qb2ludC0+
ZG9jdW1lbnQoKSkKIHsKLSAgICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmlzU2VsZWN0VmFsaWQoKSkK
LSAgICAgICAgbV9zZWxlY3RvcnMuaW5pdGlhbGl6ZShpbnNlcnRpb25Qb2ludC0+c2VsZWN0b3JM
aXN0KCkpOworICAgIG1fc2VsZWN0b3JzLmluaXRpYWxpemUoaW5zZXJ0aW9uUG9pbnQtPnNlbGVj
dG9yTGlzdCgpKTsKIH0KIAogYm9vbCBDb250ZW50U2VsZWN0b3JRdWVyeTo6bWF0Y2hlcyhjb25z
dCBWZWN0b3I8UmVmUHRyPE5vZGU+ID4mIHNpYmxpbmdzLCBpbnQgbnRoKSBjb25zdApAQCAtNzcs
MTYgKzc2LDE3IEBAIGJvb2wgQ29udGVudFNlbGVjdG9yUXVlcnk6Om1hdGNoZXMoY29uc3QgVmVj
dG9yPFJlZlB0cjxOb2RlPiA+JiBzaWJsaW5ncywgaW50IG50CiAgICAgTm9kZSogbm9kZSA9IHNp
YmxpbmdzW250aF0uZ2V0KCk7CiAgICAgQVNTRVJUKG5vZGUpOwogCi0gICAgaWYgKG1faW5zZXJ0
aW9uUG9pbnQtPnNlbGVjdCgpLmlzTnVsbCgpIHx8IG1faW5zZXJ0aW9uUG9pbnQtPnNlbGVjdCgp
LmlzRW1wdHkoKSkKKyAgICBzd2l0Y2ggKG1faW5zZXJ0aW9uUG9pbnQtPnByZW1hdGNoKG5vZGUp
KSB7CisgICAgY2FzZSBJbnNlcnRpb25Qb2ludDo6UHJlbWF0Y2hGb3JjZU1hdGNoOgogICAgICAg
ICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICghbV9pbnNlcnRpb25Qb2ludC0+aXNTZWxlY3RWYWxp
ZCgpKQorICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6OlByZW1hdGNoRm9yY2VSZWplY3Q6CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghbm9kZS0+aXNFbGVtZW50Tm9kZSgpKQorICAg
IGNhc2UgSW5zZXJ0aW9uUG9pbnQ6OlByZW1hdGNoTWF0Y2hTZWxlY3Q6CisgICAgICAgIHJldHVy
biBub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgbV9zZWxlY3RvcnMubWF0Y2hlcyhtX3NlbGVjdG9y
Q2hlY2tlciwgc2libGluZ3MsIG50aCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBtX3NlbGVj
dG9ycy5tYXRjaGVzKG1fc2VsZWN0b3JDaGVja2VyLCBzaWJsaW5ncywgbnRoKTsKKyAgICB9CiB9
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1l
bnQuY3BwCmluZGV4IDM3ZDU3MGI1YmE2MTIwNjk5NzZmMThmZTdjZmIzOWQxNTAyYTRlNWQuLmVk
Y2U1MDQ3ZDgyMjk2ZWFlNzgyOGRhZTlhMGVhZDE2MTEwMGI1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcApAQCAtNTEsNiArNTEs
OCBAQCBjb25zdCBRdWFsaWZpZWROYW1lJiBIVE1MQ29udGVudEVsZW1lbnQ6OmNvbnRlbnRUYWdO
YW1lKERvY3VtZW50KikKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisKIFBh
c3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBIVE1MQ29udGVudEVsZW1lbnQ6OmNyZWF0ZShE
b2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIVE1MQ29udGVu
dEVsZW1lbnQoY29udGVudFRhZ05hbWUoZG9jdW1lbnQpLCBkb2N1bWVudCkpOwpAQCAtNzIsMTUg
Kzc0LDE4IEBAIEhUTUxDb250ZW50RWxlbWVudDo6fkhUTUxDb250ZW50RWxlbWVudCgpCiB7CiB9
CiAKLWNvbnN0IEF0b21pY1N0cmluZyYgSFRNTENvbnRlbnRFbGVtZW50OjpzZWxlY3QoKSBjb25z
dAorSW5zZXJ0aW9uUG9pbnQ6OlByZW1hdGNoUmVzdWx0IEhUTUxDb250ZW50RWxlbWVudDo6cHJl
bWF0Y2goTm9kZSopCiB7Ci0gICAgcmV0dXJuIGdldEF0dHJpYnV0ZShzZWxlY3RBdHRyKTsKKyAg
ICBpZiAoc2VsZWN0KCkuaXNOdWxsKCkgfHwgc2VsZWN0KCkuaXNFbXB0eSgpKQorICAgICAgICBy
ZXR1cm4gUHJlbWF0Y2hGb3JjZU1hdGNoOworICAgIGlmICghaXNTZWxlY3RWYWxpZCgpKQorICAg
ICAgICByZXR1cm4gUHJlbWF0Y2hGb3JjZVJlamVjdDsKKyAgICByZXR1cm4gUHJlbWF0Y2hNYXRj
aFNlbGVjdDsKIH0KIAotYm9vbCBIVE1MQ29udGVudEVsZW1lbnQ6OmlzU2VsZWN0VmFsaWQoKQor
Y29uc3QgQXRvbWljU3RyaW5nJiBIVE1MQ29udGVudEVsZW1lbnQ6OnNlbGVjdCgpIGNvbnN0CiB7
Ci0gICAgZW5zdXJlU2VsZWN0UGFyc2VkKCk7Ci0gICAgcmV0dXJuIG1faXNWYWxpZFNlbGVjdG9y
OworICAgIHJldHVybiBnZXRBdHRyaWJ1dGUoc2VsZWN0QXR0cik7CiB9CiAKIHZvaWQgSFRNTENv
bnRlbnRFbGVtZW50OjplbnN1cmVTZWxlY3RQYXJzZWQoKQpAQCAtMTkyLDUgKzE5Nyw3IEBAIGJv
b2wgSFRNTENvbnRlbnRFbGVtZW50Ojp2YWxpZGF0ZVNlbGVjdCgpIGNvbnN0CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKKyNlbmRpZiAvLyBpZiBFTkFCTEUoU0hBRE9XX0RPTSkKIAogfQorCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oCmluZGV4IGEz
MThjZjc4YmVjNjkzZGExNzg4YmUyZjFiNzQ0ZDVmNDVlMWM1MmYuLjNjZDdjNjlhYWVlYjI1NDg0
YjY5NDYyMzIwY2Q1N2RhNjUyMDQxYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0hUTUxDb250ZW50RWxlbWVudC5oCkBAIC0zNyw2ICszNyw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorCiBjbGFzcyBIVE1MQ29udGVudEVs
ZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9pbnQgewogcHVibGljOgogICAgIHN0YXRpYyBjb25z
dCBRdWFsaWZpZWROYW1lJiBjb250ZW50VGFnTmFtZShEb2N1bWVudCopOwpAQCAtNDYsOSArNDgs
MTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkhUTUxDb250ZW50RWxlbWVudCgpOwogCiAgICAg
dm9pZCBzZXRTZWxlY3QoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgdmlydHVhbCBjb25zdCBB
dG9taWNTdHJpbmcmIHNlbGVjdCgpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBpc1NlbGVjdFZh
bGlkKCk7Ci0gICAgdmlydHVhbCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgp
OworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2VsZWN0KCkgY29uc3Q7CisgICAgYm9vbCBpc1Nl
bGVjdFZhbGlkKCk7CisKKyAgICB2aXJ0dWFsIFByZW1hdGNoUmVzdWx0IHByZW1hdGNoKE5vZGUq
KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JM
aXN0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBUeXBlIGluc2VydGlvblBvaW50VHlwZSgpIGNv
bnN0IE9WRVJSSURFIHsgcmV0dXJuIENvbnRlbnRJbnNlcnRpb25Qb2ludDsgfQogICAgIHZpcnR1
YWwgYm9vbCBjYW5BZmZlY3RTZWxlY3RvcigpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7
IH0KIApAQCAtNzcsNiArODEsMzYgQEAgaW5saW5lIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgSFRN
TENvbnRlbnRFbGVtZW50OjpzZWxlY3Rvckxpc3QoKQogICAgIHJldHVybiBtX3NlbGVjdG9yTGlz
dDsKIH0KIAoraW5saW5lIGJvb2wgSFRNTENvbnRlbnRFbGVtZW50Ojppc1NlbGVjdFZhbGlkKCkK
K3sKKyAgICBlbnN1cmVTZWxlY3RQYXJzZWQoKTsKKyAgICByZXR1cm4gbV9pc1ZhbGlkU2VsZWN0
b3I7Cit9CisKKyNlbHNlCisKKy8vIEZJWE1FOiBzaG91bGRuJ3QgaW5oZXJpdCBmcm9tIEluc2Vy
dGlvblBvaW50OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMzM5
CitjbGFzcyBIVE1MQ29udGVudEVsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9pbnQgeworcHVi
bGljOgorICAgIHN0YXRpYyBjb25zdCBRdWFsaWZpZWROYW1lJiBjb250ZW50VGFnTmFtZShEb2N1
bWVudCopOworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBjcmVh
dGUoRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBIVE1MQ29udGVudEVsZW1lbnQoY29udGVudFRhZ05hbWUoZG9jdW1lbnQpLCBkb2N1bWVudCkp
OworICAgIH0KKworICAgIHZpcnR1YWwgUHJlbWF0Y2hSZXN1bHQgcHJlbWF0Y2goTm9kZSopIE9W
RVJSSURFIHsgcmV0dXJuIFByZW1hdGNoRm9yY2VNYXRjaDsgfQorICAgIHZpcnR1YWwgVHlwZSBp
bnNlcnRpb25Qb2ludFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBDb250ZW50SW5zZXJ0
aW9uUG9pbnQ7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JM
aXN0KCkgT1ZFUlJJREUgeyByZXR1cm4gZW1wdHlTZWxlY3Rvckxpc3QoKTsgfQorCitwcm90ZWN0
ZWQ6CisgICAgSFRNTENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKKyAgICAgICAgOiBJbnNlcnRpb25Qb2ludCh0YWdOYW1lLCBk
b2N1bWVudCkKKyAgICB7IH0KK307CisKKyNlbmRpZiAvLyBpZiBFTkFCTEUoU0hBRE9XX0RPTSkK
KwogaW5saW5lIGJvb2wgaXNIVE1MQ29udGVudEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKIHsK
ICAgICBBU1NFUlQobm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9IVE1MU2hhZG93RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1M
U2hhZG93RWxlbWVudC5jcHAKaW5kZXggMTc0N2VjZDE3MjkwOWNmMjFlZWNmNjIzYjY3OTczMGIz
ZmQ1NTBkNy4uNjM3NGRjN2RjYTQyZTdjNDcxYTdiM2IyNTdiYjk4YmQ0MDgyNDNmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcApAQCAt
MzUsNiArMzUsOCBAQAogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwpAQCAtNTQsMTcgKzU2LDYgQEAgSFRNTFNoYWRv
d0VsZW1lbnQ6On5IVE1MU2hhZG93RWxlbWVudCgpCiB7CiB9CiAKLWNvbnN0IEF0b21pY1N0cmlu
ZyYgSFRNTFNoYWRvd0VsZW1lbnQ6OnNlbGVjdCgpIGNvbnN0Ci17Ci0gICAgIHJldHVybiBudWxs
QXRvbTsKLX0KLQotY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBIVE1MU2hhZG93RWxlbWVudDo6ZW1w
dHlTZWxlY3Rvckxpc3QoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ1NTU2VsZWN0b3JM
aXN0LCBzZWxlY3Rvckxpc3QsIChDU1NTZWxlY3Rvckxpc3QoKSkpOwotICAgIHJldHVybiBzZWxl
Y3Rvckxpc3Q7Ci19Ci0KIFNoYWRvd1Jvb3QqIEhUTUxTaGFkb3dFbGVtZW50OjpvbGRlclNoYWRv
d1Jvb3QoKQogewogICAgIGlmICghdHJlZVNjb3BlKCktPnJvb3ROb2RlKCktPmlzU2hhZG93Um9v
dCgpKQpAQCAtODAsMyArNzEsNSBAQCBTaGFkb3dSb290KiBIVE1MU2hhZG93RWxlbWVudDo6b2xk
ZXJTaGFkb3dSb290KCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
aWYgRU5BQkxFKFNIQURPV19ET00pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9IVE1MU2hhZG93RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRN
TFNoYWRvd0VsZW1lbnQuaAppbmRleCAzMWVlODY4MzMzMjA3Zjk5YTk2YjEyNDY4NTVlNjlmN2Ri
MTk1NGM3Li5mZDExNTkyMWJjOTI3NWUwOGM5ZjhmZGM5MWM5N2RhNmYxM2JjMDA0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmgKQEAgLTM2LDE0
ICszNiwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RP
TSkKKwogY2xhc3MgSFRNTFNoYWRvd0VsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9pbnQgewog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxTaGFkb3dFbGVtZW50PiBjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKICAgICB2aXJ0dWFsIH5IVE1MU2hh
ZG93RWxlbWVudCgpOwogCi0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCgp
IGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBpc1NlbGVjdFZhbGlkKCkgT1ZFUlJJREUgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgUHJlbWF0Y2hSZXN1bHQgcHJlbWF0Y2goTm9kZSopIHsg
cmV0dXJuIFByZW1hdGNoRm9yY2VNYXRjaDsgfQogICAgIHZpcnR1YWwgY29uc3QgQ1NTU2VsZWN0
b3JMaXN0JiBzZWxlY3Rvckxpc3QoKSB7IHJldHVybiBlbXB0eVNlbGVjdG9yTGlzdCgpOyB9CiAg
ICAgdmlydHVhbCBUeXBlIGluc2VydGlvblBvaW50VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIFNoYWRvd0luc2VydGlvblBvaW50OyB9CiAKQEAgLTUxLDggKzUyLDYgQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIEhUTUxTaGFkb3dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCopOwotCi0gICAgc3RhdGljIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgZW1wdHlTZWxl
Y3Rvckxpc3QoKTsKIH07CiAKIGlubGluZSBib29sIGlzSFRNTFNoYWRvd0VsZW1lbnQoY29uc3Qg
Tm9kZSogbm9kZSkKQEAgLTczLDYgKzcyLDE1IEBAIGlubGluZSBjb25zdCBIVE1MU2hhZG93RWxl
bWVudCogdG9IVE1MU2hhZG93RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQogICAgIHJldHVybiBz
dGF0aWNfY2FzdDxjb25zdCBIVE1MU2hhZG93RWxlbWVudCo+KG5vZGUpOwogfQogCisjZWxzZQor
CitjbGFzcyBIVE1MU2hhZG93RWxlbWVudCB7IH07CitpbmxpbmUgYm9vbCBpc0hUTUxTaGFkb3dF
bGVtZW50KGNvbnN0IE5vZGUqKSB7IHJldHVybiBmYWxzZTsgfQoraW5saW5lIEhUTUxTaGFkb3dF
bGVtZW50KiB0b0hUTUxTaGFkb3dFbGVtZW50KE5vZGUqKSB7IHJldHVybiAwOyB9CitpbmxpbmUg
Y29uc3QgSFRNTFNoYWRvd0VsZW1lbnQqIHRvSFRNTFNoYWRvd0VsZW1lbnQoY29uc3QgTm9kZSop
IHsgcmV0dXJuIDA7IH0KKworI2VuZGlmIC8vIGlmIEVOQUJMRShTSEFET1dfRE9NKQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBIVE1MU2hhZG93RWxlbWVudF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKaW5kZXggNWFjNTIw
ZDU1ZWQzOTBmZTJmYjk3ZjEwMDhiYWM5MzY2OWYyNTg1MC4uOTZmYjI1MDBmMjBhYzdhZmM5M2M4
YWU4ZTVmMmVjMjdiZWM3ZWRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSW5zZXJ0aW9uUG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0lu
c2VydGlvblBvaW50LmNwcApAQCAtMTkxLDYgKzE5MSwxMiBAQCBib29sIEluc2VydGlvblBvaW50
Ojpjb250YWlucyhjb25zdCBOb2RlKiBub2RlKSBjb25zdAogICAgIHJldHVybiBtX2Rpc3RyaWJ1
dGlvbi5jb250YWlucyhjb25zdF9jYXN0PE5vZGUqPihub2RlKSkgfHwgKG5vZGUtPmlzU2hhZG93
Um9vdCgpICYmIFNjb3BlQ29udGVudERpc3RyaWJ1dGlvbjo6YXNzaWduZWRUbyh0b1NoYWRvd1Jv
b3Qobm9kZSkpID09IHRoaXMpOwogfQogCitjb25zdCBDU1NTZWxlY3Rvckxpc3QmIEluc2VydGlv
blBvaW50OjplbXB0eVNlbGVjdG9yTGlzdCgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChD
U1NTZWxlY3Rvckxpc3QsIHNlbGVjdG9yTGlzdCwgKENTU1NlbGVjdG9yTGlzdCgpKSk7CisgICAg
cmV0dXJuIHNlbGVjdG9yTGlzdDsKK30KKwogSW5zZXJ0aW9uUG9pbnQqIHJlc29sdmVSZXByb2pl
Y3Rpb24oY29uc3QgTm9kZSogcHJvamVjdGVkTm9kZSkKIHsKICAgICBJbnNlcnRpb25Qb2ludCog
aW5zZXJ0aW9uUG9pbnQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSW5zZXJ0aW9uUG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlv
blBvaW50LmgKaW5kZXggMjBjZTc3ZDBhMzc5ZWZjYzI0NDhhNjU4OTlkNmM1OGYzN2Y5YzliOC4u
ZTE3MzNkM2E3MDNmODJlM2QzZGY4YzI0ZDg5NmRlNGJjNDg0MGI1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCkBAIC00OCw2ICs0OCwxMiBAQCBwdWJs
aWM6CiAgICAgICAgIENvbnRlbnRJbnNlcnRpb25Qb2ludAogICAgIH07CiAKKyAgICBlbnVtIFBy
ZW1hdGNoUmVzdWx0IHsKKyAgICAgICAgUHJlbWF0Y2hGb3JjZU1hdGNoLAorICAgICAgICBQcmVt
YXRjaEZvcmNlUmVqZWN0LAorICAgICAgICBQcmVtYXRjaE1hdGNoU2VsZWN0CisgICAgfTsKKwog
ICAgIHZpcnR1YWwgfkluc2VydGlvblBvaW50KCk7CiAKICAgICBib29sIGhhc0Rpc3RyaWJ1dGlv
bigpIGNvbnN0IHsgcmV0dXJuICFtX2Rpc3RyaWJ1dGlvbi5pc0VtcHR5KCk7IH0KQEAgLTU4LDgg
KzY0LDcgQEAgcHVibGljOgogCiAgICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gZ2V0RGlzdHJpYnV0
ZWROb2RlcygpIGNvbnN0OwogCi0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVj
dCgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpID0gMDsKKyAg
ICB2aXJ0dWFsIFByZW1hdGNoUmVzdWx0IHByZW1hdGNoKE5vZGUqKSA9IDA7CiAgICAgdmlydHVh
bCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgpID0gMDsKICAgICB2aXJ0dWFs
IFR5cGUgaW5zZXJ0aW9uUG9pbnRUeXBlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBj
YW5BZmZlY3RTZWxlY3RvcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC05MCw2ICs5NSw4
IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Ym9vbCBpc0luc2VydGlvblBvaW50Tm9kZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7
IH0KIAorICAgIHN0YXRpYyBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIGVtcHR5U2VsZWN0b3JMaXN0
KCk7CisKIHByaXZhdGU6CiAKICAgICBDb250ZW50RGlzdHJpYnV0aW9uIG1fZGlzdHJpYnV0aW9u
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3Jh
dGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVj
b3JhdGlvbkVsZW1lbnQuY3BwCmluZGV4IDdkZjcwMWUxMjVmMDEyNWFlYmYyYzYwZDhlMDZiYzIx
MGEyMDQwZGYuLjc5YTFkMjJiODFlOTNiNTViMmNlNmNjMWJhN2Y3YmQyYjRkOTE2ZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0
aW9uRWxlbWVudC5jcHAKQEAgLTEwOSw4ICsxMDksOSBAQCB2b2lkIFRleHRGaWVsZERlY29yYXRp
b25FbGVtZW50OjpkZWNvcmF0ZShIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCwgYm9vbCB2aXNpYmxl
KQogICAgIGJveC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEJveEFs
aWduLCBDU1NWYWx1ZUNlbnRlcik7CiAgICAgQVNTRVJUKGV4aXN0aW5nUm9vdC0+Y2hpbGROb2Rl
Q291bnQoKSA9PSAxKTsKICAgICB0b0hUTUxFbGVtZW50KGV4aXN0aW5nUm9vdC0+Zmlyc3RDaGls
ZCgpKS0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEJveEZsZXgsIDEu
MCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOworI2lmIEVOQUJMRShTSEFET1dfRE9N
KQogICAgIGJveC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0VsZW1lbnQ6OmNyZWF0ZShIVE1MTmFt
ZXM6OnNoYWRvd1RhZywgaW5wdXQtPmRvY3VtZW50KCkpKTsKLQorI2VuZGlmCiAgICAgc2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIHZpc2libGUgPyBDU1NWYWx1ZUJs
b2NrIDogQ1NTVmFsdWVOb25lKTsKICAgICBib3gtPmFwcGVuZENoaWxkKHRoaXMpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDlhNDM3OWYzNTE3ZDYzMDdiNTcwOTEy
MWE2NWEwYmU3Y2JjMTgyMzEuLmFlYWRjYzBjZjgxNzJiMTgwYTMyMWU2OTdlMmNmMmY4ZWIyYjAz
YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMxMCw3ICszMTAsMTEg
QEAgYm9vbCBJbnRlcm5hbHM6OmlzVmFsaWRDb250ZW50U2VsZWN0KEVsZW1lbnQqIGluc2VydGlv
blBvaW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
IAotICAgIHJldHVybiB0b0luc2VydGlvblBvaW50KGluc2VydGlvblBvaW50KS0+aXNTZWxlY3RW
YWxpZCgpOworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgIHJldHVybiBpc0hUTUxDb250ZW50
RWxlbWVudChpbnNlcnRpb25Qb2ludCkgJiYgdG9IVE1MQ29udGVudEVsZW1lbnQoaW5zZXJ0aW9u
UG9pbnQpLT5pc1NlbGVjdFZhbGlkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgogfQogCiBOb2RlKiBJbnRlcm5hbHM6OnRyZWVTY29wZVJvb3ROb2RlKE5vZGUqIG5vZGUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182055</attachid>
            <date>2013-01-09 20:43:05 -0800</date>
            <delta_ts>2013-01-09 22:13:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106283-20130110134008.patch</filename>
            <type>text/plain</type>
            <size>19442</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgyOTE2M2NjYzkzNzZj
MWU3MmI0MTk1MDQ4YjYwYWIzZjQ2OGVkNC4uYzY4MTdiYzdhOWRmZGE0YTBkODlhODg3ODYyODk4
MTBlZTRkYjJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYxIEBACiAyMDEzLTAxLTA5ICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2MjgzCisgICAgICAgIFtTaGFkb3cgRE9NXSBI
VE1MQ29udGVudEVsZW1lbnQgYW5kIEhUTUxTaGFkb3dFbGVtZW50IHNob3VsZCBiZSBiZWhpbmQg
U0hBRE9XX0RPTQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICBU
aGlzIGNoYW5nZSBtb3ZlcyA8Y29udGVudD4gYW5kIDxzaGFkb3c+IGJlaGluZAorICAgICAgICBF
TkFCTEUoU0hBRE9XX0RPTSkuIE5vdGUgdGhhdCBlbXB0eSBzdHViIGRlZmluaXRpb25zIGFyZSBy
ZW1haW5pbmcKKyAgICAgICAgZXZlbiBhZnRlciB0aGlzIGNoYWduZS4gVGhleSBhcmUgZm9yIG1p
bmltaXppbmcgI2lmLyNlbmRpZiB1c2FnZQorICAgICAgICBhbmQgd29uJ3QgaHVydCBjb2RlIHNp
emUuCisKKyAgICAgICAgVG8gbWFrZSB0aGUgbWFpbiBjaGFuZ2UgcG9zc2libGUsIHRoaXMgY2hh
bmdlIGFsc28gaW50cm9kdWNlcworICAgICAgICBJbnNlcnRpb25Qb2ludDo6cHJlbWF0Y2goKSB0
byBsZXQgV2ViQ29yZSBIVE1MQ29udGVudEVsZW1lbnQKKyAgICAgICAgc3VibGFzc2VzIGVtdWxh
dGUgZnVsbC1mZWF0dXJlIEhUTUxDb250ZW50RWxlbWVudCBldmVuIHdpdGhvdXQKKyAgICAgICAg
RU5BQkxFKFNIQURPV19ET00pLiBEZXRhaWxzU3VtbWFyeUVsZW1lbnQgZW1wbG95cyB0aGlzIG1l
Y2hhbmlzbS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGh0bWwvSFRN
TERldGFpbHNFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldGFpbHNTdW1tYXJ5RWxl
bWVudDo6RGV0YWlsc1N1bW1hcnlFbGVtZW50KToKKyAgICAgICAgKERldGFpbHNTdW1tYXJ5RWxl
bWVudCk6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5wdXRUeXBlOjpkZXN0cm95U2hhZG93U3VidHJlZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cv
Q29udGVudERpc3RyaWJ1dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnREaXN0cmli
dXRvcjo6ZGlzdHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvQ29udGVudFNlbGVjdG9y
UXVlcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlbGVjdG9yUXVlcnk6OkNvbnRl
bnRTZWxlY3RvclF1ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWxlY3RvclF1ZXJ5
OjptYXRjaGVzKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29udGVudEVsZW1l
bnQ6OnByZW1hdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb250ZW50RWxlbWVudDo6c2Vs
ZWN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSFRNTENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxDb250ZW50RWxlbWVudDo6aXNTZWxlY3RWYWxpZCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
Q29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAgICogaHRtbC9zaGFk
b3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxTaGFk
b3dFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
aGFkb3dFbGVtZW50OjpwcmVtYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjppc0hUTUxTaGFkb3dF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OnRvSFRNTFNoYWRvd0VsZW1lbnQpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c2VydGlvblBvaW50OjplbXB0eVNlbGVjdG9yTGlzdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oOgorICAgICAgICAoSW5zZXJ0aW9u
UG9pbnQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZERlY29yYXRpb25FbGVtZW50OjpkZWNv
cmF0ZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjppc1ZhbGlkQ29udGVudFNlbGVjdCk6CisKKzIwMTMtMDEtMDkgIEhhamlt
ZSBNb3JyaXRhICA8bW9ycml0YUBnb29nbGUuY29tPgorCiAgICAgICAgIFtTaGFkb3cgRE9NXSBE
aXN0cmlidXRpb24gcmVsYXRlZCBjb2RlIG9uIEVsZW1lbnRTaGFkb3cgc2hvdWxkIGJlIG1pbmlt
aXplZC4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
NjI5NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggNmI1MzkxNmRlY2U4OGY5Zjc0NGEwODQwMzcwYzQ0
NjM4ZDkyM2Q3MS4uZGE1NjVhNzY3YmMyMzEyMGIzNjU5MDJmZjNjMzllNGE5ZGQyNWZlNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBACiAyMDEzLTAxLTA5ICBIYWppbWUgTW9ycml0
YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA2MjgzCisgICAgICAgIFtTaGFkb3cgRE9NXSBIVE1MQ29udGVu
dEVsZW1lbnQgYW5kIEhUTUxTaGFkb3dFbGVtZW50IHNob3VsZCBiZSBiZWhpbmQgU0hBRE9XX0RP
TQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
S2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbjoKKworMjAxMy0wMS0wOSAgSGFqaW1lIE1v
cnJpdGEgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKICAgICAgICAgW1NoYWRvdyBET01dIERpc3Ry
aWJ1dGlvbiByZWxhdGVkIGNvZGUgb24gRWxlbWVudFNoYWRvdyBzaG91bGQgYmUgbWluaW1pemVk
LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2Mjk0
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMmRlZmI1OTJmNWZlNTc3MGFlZGM3ZjgzOTc2YWU3
NWY4YjViZDMyNy4uMjIxNzBjM2Y3OWY4ZTc5OTRlY2YzMjIwNzliYzNiYTZmN2I1ZmVmMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KQEAgLTUxMyw3ICs1MTMsNiBAQCBfX1pON1dlYkNvcmUxN2NhY2hl
RE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM0pTQzlTdHJ1Y3R1cmVFUEtO
UzJfOQogX19aTjdXZWJDb3JlMTdvcGVuVGVtcG9yYXJ5RmlsZUVSS04zV1RGNlN0cmluZ0VSaQog
X19aTjdXZWJDb3JlMTd1c2VyVmlzaWJsZVN0cmluZ0VQNU5TVVJMCiBfX1pON1dlYkNvcmUxOERP
TVdpbmRvd0V4dGVuc2lvbkMxRVBOU181RnJhbWVFUE5TXzE1RE9NV3JhcHBlcldvcmxkRQotX19a
TjdXZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQ2Y3JlYXRlRVBOU184RG9jdW1lbnRFCiBfX1pO
N1dlYkNvcmUxMFBhc3RlYm9hcmQxN2dlbmVyYWxQYXN0ZWJvYXJkRXYKIF9fWk43V2ViQ29yZTEw
UGFzdGVib2FyZDE0d3JpdGVQbGFpblRleHRFUktOM1dURjZTdHJpbmdFTlMwXzE4U21hcnRSZXBs
YWNlT3B0aW9uRQogX19aTjdXZWJDb3JlMThDb250ZW50RGlzdHJpYnV0b3IyMmVuc3VyZVNlbGVj
dEZlYXR1cmVTZXRFUE5TXzEzRWxlbWVudFNoYWRvd0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TERldGFpbHNFbGVtZW50LmNwcAppbmRleCBhMjc4NmJjNmY4NDI0Y2I3NWJjNDBlNDQxNzlhNDVj
ZjEwOTQ4ZTU5Li5iODZmNmQzNTFiZmY4MmM3NGVlYzJhMzE1ZmZkMzk4NzJkNGQzZWM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCkBAIC03MSw4ICs3MSwx
MyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIERldGFpbHNTdW1tYXJ5RWxlbWVudChEb2N1bWVu
dCogZG9jdW1lbnQpCiAgICAgICAgIDogSFRNTENvbnRlbnRFbGVtZW50KEhUTUxOYW1lczo6d2Vi
a2l0U2hhZG93Q29udGVudFRhZywgZG9jdW1lbnQpCisgICAgeyB9CisKKyAgICB2aXJ0dWFsIFBy
ZW1hdGNoUmVzdWx0IHByZW1hdGNoKE5vZGUqIG5vZGUpIE9WRVJSSURFCiAgICAgewotICAgICAg
ICBzZXRTZWxlY3Qoc3VtbWFyeVF1ZXJ5U2VsZWN0b3IoKSk7CisgICAgICAgIGlmIChub2RlLT5p
c0VsZW1lbnROb2RlKCkgJiYgbm9kZSA9PSBub2RlLT5wYXJlbnROb2RlKCktPnF1ZXJ5U2VsZWN0
b3Ioc3VtbWFyeVF1ZXJ5U2VsZWN0b3IoKSwgQVNTRVJUX05PX0VYQ0VQVElPTikpCisgICAgICAg
ICAgICByZXR1cm4gUHJlbWF0Y2hGb3JjZU1hdGNoOworICAgICAgICByZXR1cm4gUHJlbWF0Y2hG
b3JjZVJlamVjdDsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXgg
YjE2ZmEzYjE4ZTRlYTQ2MWI2YzIxODNhZGRmMWZmZjMxMTA2NDc4Yi4uMjVlOWFlNDYwODhlMjA0
NzJjY2YzMTMyNmQ4M2E1MDQ2MTBiNTM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApA
QCAtNDkwLDggKzQ5MCwxMiBAQCB2b2lkIElucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUo
KQogICAgIC8vIGJlZW4gY3JlYXRlZCBieSBUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudCwgYW5k
IHdlIGRvbid0IGFsbG93IGFkZGluZwogICAgIC8vIEF1dGhvclNoYWRvd1Jvb3QgdG8gSFRNTElu
cHV0RWxlbWVudC4KICAgICB3aGlsZSAoKHJvb3QgPSByb290LT55b3VuZ2VyU2hhZG93Um9vdCgp
KSkgeworI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAgICAgICByb290LT5yZW1vdmVBbGxDaGls
ZHJlbigpOwogICAgICAgICByb290LT5hcHBlbmRDaGlsZChIVE1MU2hhZG93RWxlbWVudDo6Y3Jl
YXRlKHNoYWRvd1RhZywgZWxlbWVudCgpLT5kb2N1bWVudCgpKSk7CisjZWxzZQorICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAKaW5kZXggMGQzZGJlYTBi
OGI3Y2IxNjgyMjJjYmFmODJlMDk2ODI3M2FiYjdhOS4uODY3YTE3NDU3YjUyOWVmMDg5ZDgwYjBm
ZDg4M2UxNGE2MmM3ZWUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
Q29udGVudERpc3RyaWJ1dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9D
b250ZW50RGlzdHJpYnV0b3IuY3BwCkBAIC0yNDksNiArMjQ5LDcgQEAgdm9pZCBDb250ZW50RGlz
dHJpYnV0b3I6OmRpc3RyaWJ1dGUoRWxlbWVudCogaG9zdCkKICAgICAgICAgICAgIGFjdGl2ZVNo
YWRvd0luc2VydGlvblBvaW50cy5hcHBlbmQoZmlyc3RBY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2lu
dCk7CiAgICAgfQogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCiAgICAgZm9yIChzaXplX3QgaSA9
IGFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50cy5zaXplKCk7IGkgPiAwOyAtLWkpIHsKICAgICAg
ICAgSFRNTFNoYWRvd0VsZW1lbnQqIHNoYWRvd0VsZW1lbnQgPSBhY3RpdmVTaGFkb3dJbnNlcnRp
b25Qb2ludHNbaSAtIDFdOwogICAgICAgICBTaGFkb3dSb290KiByb290ID0gc2hhZG93RWxlbWVu
dC0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKQEAgLTI2Miw2ICsyNjMsOSBAQCB2b2lkIENvbnRl
bnREaXN0cmlidXRvcjo6ZGlzdHJpYnV0ZShFbGVtZW50KiBob3N0KQogICAgICAgICAgICAgICAg
IHNoYWRvdy0+aW52YWxpZGF0ZURpc3RyaWJ1dGlvbigpOwogICAgICAgICB9CiAgICAgfQorI2Vs
c2UKKyAgICBBU1NFUlQoIWFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50cy5zaXplKCkpOworI2Vu
ZGlmCiB9CiAKIGJvb2wgQ29udGVudERpc3RyaWJ1dG9yOjppbnZhbGlkYXRlKEVsZW1lbnQqIGhv
c3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0
b3JRdWVyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JR
dWVyeS5jcHAKaW5kZXggNjExOGM1MmM4MTE0YjUzY2NjZjAwMTk0MWMzNTAzNWRlNDEyMWYyZC4u
YTY4OGY0Y2JkZDA4YTk1OTYwNmVlZjMzNzY5YzdhNmY4MmZlNjVhNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcApAQCAtNjgs
OCArNjgsNyBAQCBDb250ZW50U2VsZWN0b3JRdWVyeTo6Q29udGVudFNlbGVjdG9yUXVlcnkoSW5z
ZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50KQogICAgIDogbV9pbnNlcnRpb25Qb2ludChpbnNl
cnRpb25Qb2ludCkKICAgICAsIG1fc2VsZWN0b3JDaGVja2VyKGluc2VydGlvblBvaW50LT5kb2N1
bWVudCgpKQogewotICAgIGlmIChpbnNlcnRpb25Qb2ludC0+aXNTZWxlY3RWYWxpZCgpKQotICAg
ICAgICBtX3NlbGVjdG9ycy5pbml0aWFsaXplKGluc2VydGlvblBvaW50LT5zZWxlY3Rvckxpc3Qo
KSk7CisgICAgbV9zZWxlY3RvcnMuaW5pdGlhbGl6ZShpbnNlcnRpb25Qb2ludC0+c2VsZWN0b3JM
aXN0KCkpOwogfQogCiBib29sIENvbnRlbnRTZWxlY3RvclF1ZXJ5OjptYXRjaGVzKGNvbnN0IFZl
Y3RvcjxSZWZQdHI8Tm9kZT4gPiYgc2libGluZ3MsIGludCBudGgpIGNvbnN0CkBAIC03NywxNiAr
NzYsMTcgQEAgYm9vbCBDb250ZW50U2VsZWN0b3JRdWVyeTo6bWF0Y2hlcyhjb25zdCBWZWN0b3I8
UmVmUHRyPE5vZGU+ID4mIHNpYmxpbmdzLCBpbnQgbnQKICAgICBOb2RlKiBub2RlID0gc2libGlu
Z3NbbnRoXS5nZXQoKTsKICAgICBBU1NFUlQobm9kZSk7CiAKLSAgICBpZiAobV9pbnNlcnRpb25Q
b2ludC0+c2VsZWN0KCkuaXNOdWxsKCkgfHwgbV9pbnNlcnRpb25Qb2ludC0+c2VsZWN0KCkuaXNF
bXB0eSgpKQorICAgIHN3aXRjaCAobV9pbnNlcnRpb25Qb2ludC0+cHJlbWF0Y2gobm9kZSkpIHsK
KyAgICBjYXNlIEluc2VydGlvblBvaW50OjpQcmVtYXRjaEZvcmNlTWF0Y2g6CiAgICAgICAgIHJl
dHVybiB0cnVlOwotCi0gICAgaWYgKCFtX2luc2VydGlvblBvaW50LT5pc1NlbGVjdFZhbGlkKCkp
CisgICAgY2FzZSBJbnNlcnRpb25Qb2ludDo6UHJlbWF0Y2hGb3JjZVJlamVjdDoKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFub2RlLT5pc0VsZW1lbnROb2RlKCkpCisgICAgY2Fz
ZSBJbnNlcnRpb25Qb2ludDo6UHJlbWF0Y2hNYXRjaFNlbGVjdDoKKyAgICAgICAgcmV0dXJuIG5v
ZGUtPmlzRWxlbWVudE5vZGUoKSAmJiBtX3NlbGVjdG9ycy5tYXRjaGVzKG1fc2VsZWN0b3JDaGVj
a2VyLCBzaWJsaW5ncywgbnRoKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIG1fc2VsZWN0b3Jz
Lm1hdGNoZXMobV9zZWxlY3RvckNoZWNrZXIsIHNpYmxpbmdzLCBudGgpOworICAgIH0KIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5j
cHAKaW5kZXggMzdkNTcwYjViYTYxMjA2OTk3NmYxOGZlN2NmYjM5ZDE1MDJhNGU1ZC4uZGNjN2Vh
MDJlZTJkMDNlOTQ3ODA1MTBjMTVkYjgyOWI5MGU3MzI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCkBAIC01MSw2ICs1MSw4IEBA
IGNvbnN0IFF1YWxpZmllZE5hbWUmIEhUTUxDb250ZW50RWxlbWVudDo6Y29udGVudFRhZ05hbWUo
RG9jdW1lbnQqKQogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKwogUGFzc1Jl
ZlB0cjxIVE1MQ29udGVudEVsZW1lbnQ+IEhUTUxDb250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3Vt
ZW50KiBkb2N1bWVudCkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxDb250ZW50RWxl
bWVudChjb250ZW50VGFnTmFtZShkb2N1bWVudCksIGRvY3VtZW50KSk7CkBAIC03Miw2ICs3NCwx
NSBAQCBIVE1MQ29udGVudEVsZW1lbnQ6On5IVE1MQ29udGVudEVsZW1lbnQoKQogewogfQogCitJ
bnNlcnRpb25Qb2ludDo6UHJlbWF0Y2hSZXN1bHQgSFRNTENvbnRlbnRFbGVtZW50OjpwcmVtYXRj
aChOb2RlKikKK3sKKyAgICBpZiAoc2VsZWN0KCkuaXNOdWxsKCkgfHwgc2VsZWN0KCkuaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm4gUHJlbWF0Y2hGb3JjZU1hdGNoOworICAgIGlmICghaXNTZWxl
Y3RWYWxpZCgpKQorICAgICAgICByZXR1cm4gUHJlbWF0Y2hGb3JjZVJlamVjdDsKKyAgICByZXR1
cm4gUHJlbWF0Y2hNYXRjaFNlbGVjdDsKK30KKwogY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MQ29u
dGVudEVsZW1lbnQ6OnNlbGVjdCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGdldEF0dHJpYnV0ZShz
ZWxlY3RBdHRyKTsKQEAgLTE5Miw1ICsyMDMsNyBAQCBib29sIEhUTUxDb250ZW50RWxlbWVudDo6
dmFsaWRhdGVTZWxlY3QoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCisjZW5kaWYgLy8g
aWYgRU5BQkxFKFNIQURPV19ET00pCiAKIH0KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaAppbmRleCBhMzE4Y2Y3OGJlYzY5M2RhMTc4OGJlMmYx
Yjc0NGQ1ZjQ1ZTFjNTJmLi5iMjNjY2IyYWYxZDg1MzJmNGVmMjVkZTIyNjQ1MmEwNTgzZDM1YWZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQu
aApAQCAtMzcsNiArMzcsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKKwogY2xhc3MgSFRNTENvbnRlbnRFbGVtZW50IDogcHVibGljIEluc2VydGlv
blBvaW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSYgY29udGVu
dFRhZ05hbWUoRG9jdW1lbnQqKTsKQEAgLTQ2LDkgKzQ4LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5IVE1MQ29udGVudEVsZW1lbnQoKTsKIAogICAgIHZvaWQgc2V0U2VsZWN0KGNvbnN0IEF0
b21pY1N0cmluZyYpOwotICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3QoKSBj
b25zdDsKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCgpIGNvbnN0OworCiAgICAgdmly
dHVhbCBib29sIGlzU2VsZWN0VmFsaWQoKTsKLSAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9y
TGlzdCYgc2VsZWN0b3JMaXN0KCk7CisgICAgdmlydHVhbCBQcmVtYXRjaFJlc3VsdCBwcmVtYXRj
aChOb2RlKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNl
bGVjdG9yTGlzdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgVHlwZSBpbnNlcnRpb25Qb2ludFR5
cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBDb250ZW50SW5zZXJ0aW9uUG9pbnQ7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgY2FuQWZmZWN0U2VsZWN0b3IoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biB0cnVlOyB9CiAKQEAgLTc3LDYgKzgxLDMwIEBAIGlubGluZSBjb25zdCBDU1NTZWxlY3Rvckxp
c3QmIEhUTUxDb250ZW50RWxlbWVudDo6c2VsZWN0b3JMaXN0KCkKICAgICByZXR1cm4gbV9zZWxl
Y3Rvckxpc3Q7CiB9CiAKKyNlbHNlCisKKy8vIEZJWE1FOiBzaG91bGRuJ3QgaW5oZXJpdCBmcm9t
IEluc2VydGlvblBvaW50OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAzMzM5CitjbGFzcyBIVE1MQ29udGVudEVsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9pbnQg
eworcHVibGljOgorICAgIHN0YXRpYyBjb25zdCBRdWFsaWZpZWROYW1lJiBjb250ZW50VGFnTmFt
ZShEb2N1bWVudCopOworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50
PiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBIVE1MQ29udGVudEVsZW1lbnQoY29udGVudFRhZ05hbWUoZG9jdW1lbnQpLCBkb2N1
bWVudCkpOworICAgIH0KKworICAgIHZpcnR1YWwgUHJlbWF0Y2hSZXN1bHQgcHJlbWF0Y2goTm9k
ZSopIE9WRVJSSURFIHsgcmV0dXJuIFByZW1hdGNoRm9yY2VNYXRjaDsgfQorICAgIHZpcnR1YWwg
VHlwZSBpbnNlcnRpb25Qb2ludFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBDb250ZW50
SW5zZXJ0aW9uUG9pbnQ7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2Vs
ZWN0b3JMaXN0KCkgT1ZFUlJJREUgeyByZXR1cm4gZW1wdHlTZWxlY3Rvckxpc3QoKTsgfQorCitw
cm90ZWN0ZWQ6CisgICAgSFRNTENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKKyAgICAgICAgOiBJbnNlcnRpb25Qb2ludCh0YWdO
YW1lLCBkb2N1bWVudCkKKyAgICB7IH0KK307CisKKyNlbmRpZiAvLyBpZiBFTkFCTEUoU0hBRE9X
X0RPTSkKKwogaW5saW5lIGJvb2wgaXNIVE1MQ29udGVudEVsZW1lbnQoY29uc3QgTm9kZSogbm9k
ZSkKIHsKICAgICBBU1NFUlQobm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9IVE1MU2hhZG93RWxlbWVudC5jcHAKaW5kZXggMTc0N2VjZDE3MjkwOWNmMjFlZWNmNjIzYjY3
OTczMGIzZmQ1NTBkNy4uNjM3NGRjN2RjYTQyZTdjNDcxYTdiM2IyNTdiYjk4YmQ0MDgyNDNmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNw
cApAQCAtMzUsNiArMzUsOCBAQAogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwpAQCAtNTQsMTcgKzU2LDYgQEAgSFRN
TFNoYWRvd0VsZW1lbnQ6On5IVE1MU2hhZG93RWxlbWVudCgpCiB7CiB9CiAKLWNvbnN0IEF0b21p
Y1N0cmluZyYgSFRNTFNoYWRvd0VsZW1lbnQ6OnNlbGVjdCgpIGNvbnN0Ci17Ci0gICAgIHJldHVy
biBudWxsQXRvbTsKLX0KLQotY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBIVE1MU2hhZG93RWxlbWVu
dDo6ZW1wdHlTZWxlY3Rvckxpc3QoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ1NTU2Vs
ZWN0b3JMaXN0LCBzZWxlY3Rvckxpc3QsIChDU1NTZWxlY3Rvckxpc3QoKSkpOwotICAgIHJldHVy
biBzZWxlY3Rvckxpc3Q7Ci19Ci0KIFNoYWRvd1Jvb3QqIEhUTUxTaGFkb3dFbGVtZW50OjpvbGRl
clNoYWRvd1Jvb3QoKQogewogICAgIGlmICghdHJlZVNjb3BlKCktPnJvb3ROb2RlKCktPmlzU2hh
ZG93Um9vdCgpKQpAQCAtODAsMyArNzEsNSBAQCBTaGFkb3dSb290KiBIVE1MU2hhZG93RWxlbWVu
dDo6b2xkZXJTaGFkb3dSb290KCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gaWYgRU5BQkxFKFNIQURPV19ET00pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSFRNTFNoYWRvd0VsZW1lbnQuaAppbmRleCAzMWVlODY4MzMzMjA3Zjk5YTk2YjEyNDY4NTVl
NjlmN2RiMTk1NGM3Li5mZDExNTkyMWJjOTI3NWUwOGM5ZjhmZGM5MWM5N2RhNmYxM2JjMDA0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmgKQEAg
LTM2LDE0ICszNiwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoU0hB
RE9XX0RPTSkKKwogY2xhc3MgSFRNTFNoYWRvd0VsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9p
bnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxTaGFkb3dFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKICAgICB2aXJ0dWFsIH5I
VE1MU2hhZG93RWxlbWVudCgpOwogCi0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNl
bGVjdCgpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBpc1NlbGVjdFZhbGlkKCkgT1ZFUlJJREUg
eyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgUHJlbWF0Y2hSZXN1bHQgcHJlbWF0Y2goTm9k
ZSopIHsgcmV0dXJuIFByZW1hdGNoRm9yY2VNYXRjaDsgfQogICAgIHZpcnR1YWwgY29uc3QgQ1NT
U2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QoKSB7IHJldHVybiBlbXB0eVNlbGVjdG9yTGlzdCgp
OyB9CiAgICAgdmlydHVhbCBUeXBlIGluc2VydGlvblBvaW50VHlwZSgpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIFNoYWRvd0luc2VydGlvblBvaW50OyB9CiAKQEAgLTUxLDggKzUyLDYgQEAgcHVi
bGljOgogCiBwcml2YXRlOgogICAgIEhUTUxTaGFkb3dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCopOwotCi0gICAgc3RhdGljIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgZW1w
dHlTZWxlY3Rvckxpc3QoKTsKIH07CiAKIGlubGluZSBib29sIGlzSFRNTFNoYWRvd0VsZW1lbnQo
Y29uc3QgTm9kZSogbm9kZSkKQEAgLTczLDYgKzcyLDE1IEBAIGlubGluZSBjb25zdCBIVE1MU2hh
ZG93RWxlbWVudCogdG9IVE1MU2hhZG93RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQogICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxjb25zdCBIVE1MU2hhZG93RWxlbWVudCo+KG5vZGUpOwogfQogCisj
ZWxzZQorCitjbGFzcyBIVE1MU2hhZG93RWxlbWVudCB7IH07CitpbmxpbmUgYm9vbCBpc0hUTUxT
aGFkb3dFbGVtZW50KGNvbnN0IE5vZGUqKSB7IHJldHVybiBmYWxzZTsgfQoraW5saW5lIEhUTUxT
aGFkb3dFbGVtZW50KiB0b0hUTUxTaGFkb3dFbGVtZW50KE5vZGUqKSB7IHJldHVybiAwOyB9Citp
bmxpbmUgY29uc3QgSFRNTFNoYWRvd0VsZW1lbnQqIHRvSFRNTFNoYWRvd0VsZW1lbnQoY29uc3Qg
Tm9kZSopIHsgcmV0dXJuIDA7IH0KKworI2VuZGlmIC8vIGlmIEVOQUJMRShTSEFET1dfRE9NKQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBIVE1MU2hhZG93RWxlbWVudF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKaW5kZXgg
NWFjNTIwZDU1ZWQzOTBmZTJmYjk3ZjEwMDhiYWM5MzY2OWYyNTg1MC4uOTZmYjI1MDBmMjBhYzdh
ZmM5M2M4YWU4ZTVmMmVjMjdiZWM3ZWRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0luc2VydGlvblBvaW50LmNwcApAQCAtMTkxLDYgKzE5MSwxMiBAQCBib29sIEluc2VydGlv
blBvaW50Ojpjb250YWlucyhjb25zdCBOb2RlKiBub2RlKSBjb25zdAogICAgIHJldHVybiBtX2Rp
c3RyaWJ1dGlvbi5jb250YWlucyhjb25zdF9jYXN0PE5vZGUqPihub2RlKSkgfHwgKG5vZGUtPmlz
U2hhZG93Um9vdCgpICYmIFNjb3BlQ29udGVudERpc3RyaWJ1dGlvbjo6YXNzaWduZWRUbyh0b1No
YWRvd1Jvb3Qobm9kZSkpID09IHRoaXMpOwogfQogCitjb25zdCBDU1NTZWxlY3Rvckxpc3QmIElu
c2VydGlvblBvaW50OjplbXB0eVNlbGVjdG9yTGlzdCgpCit7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChDU1NTZWxlY3Rvckxpc3QsIHNlbGVjdG9yTGlzdCwgKENTU1NlbGVjdG9yTGlzdCgpKSk7
CisgICAgcmV0dXJuIHNlbGVjdG9yTGlzdDsKK30KKwogSW5zZXJ0aW9uUG9pbnQqIHJlc29sdmVS
ZXByb2plY3Rpb24oY29uc3QgTm9kZSogcHJvamVjdGVkTm9kZSkKIHsKICAgICBJbnNlcnRpb25Q
b2ludCogaW5zZXJ0aW9uUG9pbnQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0lu
c2VydGlvblBvaW50LmgKaW5kZXggMjBjZTc3ZDBhMzc5ZWZjYzI0NDhhNjU4OTlkNmM1OGYzN2Y5
YzliOC4uZTE3MzNkM2E3MDNmODJlM2QzZGY4YzI0ZDg5NmRlNGJjNDg0MGI1MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCkBAIC00OCw2ICs0OCwxMiBA
QCBwdWJsaWM6CiAgICAgICAgIENvbnRlbnRJbnNlcnRpb25Qb2ludAogICAgIH07CiAKKyAgICBl
bnVtIFByZW1hdGNoUmVzdWx0IHsKKyAgICAgICAgUHJlbWF0Y2hGb3JjZU1hdGNoLAorICAgICAg
ICBQcmVtYXRjaEZvcmNlUmVqZWN0LAorICAgICAgICBQcmVtYXRjaE1hdGNoU2VsZWN0CisgICAg
fTsKKwogICAgIHZpcnR1YWwgfkluc2VydGlvblBvaW50KCk7CiAKICAgICBib29sIGhhc0Rpc3Ry
aWJ1dGlvbigpIGNvbnN0IHsgcmV0dXJuICFtX2Rpc3RyaWJ1dGlvbi5pc0VtcHR5KCk7IH0KQEAg
LTU4LDggKzY0LDcgQEAgcHVibGljOgogCiAgICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gZ2V0RGlz
dHJpYnV0ZWROb2RlcygpIGNvbnN0OwogCi0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcm
IHNlbGVjdCgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpID0g
MDsKKyAgICB2aXJ0dWFsIFByZW1hdGNoUmVzdWx0IHByZW1hdGNoKE5vZGUqKSA9IDA7CiAgICAg
dmlydHVhbCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgpID0gMDsKICAgICB2
aXJ0dWFsIFR5cGUgaW5zZXJ0aW9uUG9pbnRUeXBlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
Ym9vbCBjYW5BZmZlY3RTZWxlY3RvcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC05MCw2
ICs5NSw4IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgYm9vbCBpc0luc2VydGlvblBvaW50Tm9kZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IHRydWU7IH0KIAorICAgIHN0YXRpYyBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIGVtcHR5U2VsZWN0
b3JMaXN0KCk7CisKIHByaXZhdGU6CiAKICAgICBDb250ZW50RGlzdHJpYnV0aW9uIG1fZGlzdHJp
YnV0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxk
RGVjb3JhdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZp
ZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwCmluZGV4IDdkZjcwMWUxMjVmMDEyNWFlYmYyYzYwZDhl
MDZiYzIxMGEyMDQwZGYuLjc5YTFkMjJiODFlOTNiNTViMmNlNmNjMWJhN2Y3YmQyYjRkOTE2ZjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRp
b25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGRE
ZWNvcmF0aW9uRWxlbWVudC5jcHAKQEAgLTEwOSw4ICsxMDksOSBAQCB2b2lkIFRleHRGaWVsZERl
Y29yYXRpb25FbGVtZW50OjpkZWNvcmF0ZShIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCwgYm9vbCB2
aXNpYmxlKQogICAgIGJveC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtp
dEJveEFsaWduLCBDU1NWYWx1ZUNlbnRlcik7CiAgICAgQVNTRVJUKGV4aXN0aW5nUm9vdC0+Y2hp
bGROb2RlQ291bnQoKSA9PSAxKTsKICAgICB0b0hUTUxFbGVtZW50KGV4aXN0aW5nUm9vdC0+Zmly
c3RDaGlsZCgpKS0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEJveEZs
ZXgsIDEuMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOworI2lmIEVOQUJMRShTSEFE
T1dfRE9NKQogICAgIGJveC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0VsZW1lbnQ6OmNyZWF0ZShI
VE1MTmFtZXM6OnNoYWRvd1RhZywgaW5wdXQtPmRvY3VtZW50KCkpKTsKLQorI2VuZGlmCiAgICAg
c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIHZpc2libGUgPyBDU1NW
YWx1ZUJsb2NrIDogQ1NTVmFsdWVOb25lKTsKICAgICBib3gtPmFwcGVuZENoaWxkKHRoaXMpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDlhNDM3OWYzNTE3ZDYzMDdi
NTcwOTEyMWE2NWEwYmU3Y2JjMTgyMzEuLmFlYWRjYzBjZjgxNzJiMTgwYTMyMWU2OTdlMmNmMmY4
ZWIyYjAzYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMxMCw3ICsz
MTAsMTEgQEAgYm9vbCBJbnRlcm5hbHM6OmlzVmFsaWRDb250ZW50U2VsZWN0KEVsZW1lbnQqIGlu
c2VydGlvblBvaW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KIAotICAgIHJldHVybiB0b0luc2VydGlvblBvaW50KGluc2VydGlvblBvaW50KS0+aXNT
ZWxlY3RWYWxpZCgpOworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgIHJldHVybiBpc0hUTUxD
b250ZW50RWxlbWVudChpbnNlcnRpb25Qb2ludCkgJiYgdG9IVE1MQ29udGVudEVsZW1lbnQoaW5z
ZXJ0aW9uUG9pbnQpLT5pc1NlbGVjdFZhbGlkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsK
KyNlbmRpZgogfQogCiBOb2RlKiBJbnRlcm5hbHM6OnRyZWVTY29wZVJvb3ROb2RlKE5vZGUqIG5v
ZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2Vi
S2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbiBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYktp
dC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW4KaW5kZXggMWQwZDFkNDZiZDdiM2Y3YjJiYjli
MjA0Yzg5MTBmOTliM2VhNjc2Mi4uMWE1NWE0NDY5MWY2ODlmYjcwNzlhOWJmYjA0NTdkMjU1NDFh
ZWFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXRF
eHBvcnRzLmRlZi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktp
dEV4cG9ydHMuZGVmLmluCkBAIC0xNzMsNyArMTczLDYgQEAgRVhQT1JUUwogICAgICAgICA/YWRk
U2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxA
V1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdl
YkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQ
QlVDbGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRl
bUBXZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgotICAgICAgICA/Y3JlYXRlQEhU
TUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRF
bGVtZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKICAgICAgICAgP2NyZWF0ZUBS
YW5nZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8k
UGFzc1JlZlB0ckBWRG9jdW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJD
b3JlQEBANEBIMUhAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJD
b3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBX
VEZAQEFCVlN0cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVl
QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29y
ZUBAQFdURkBAUEFWRXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQ
dHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0
ckBWQXJyYXlCdWZmZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVA
MkBAWgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182062</attachid>
            <date>2013-01-09 22:13:31 -0800</date>
            <delta_ts>2013-01-09 22:37:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106283-20130110151033.patch</filename>
            <type>text/plain</type>
            <size>22865</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgyOTE2M2NjYzkzNzZj
MWU3MmI0MTk1MDQ4YjYwYWIzZjQ2OGVkNC4uYzY4MTdiYzdhOWRmZGE0YTBkODlhODg3ODYyODk4
MTBlZTRkYjJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYxIEBACiAyMDEzLTAxLTA5ICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2MjgzCisgICAgICAgIFtTaGFkb3cgRE9NXSBI
VE1MQ29udGVudEVsZW1lbnQgYW5kIEhUTUxTaGFkb3dFbGVtZW50IHNob3VsZCBiZSBiZWhpbmQg
U0hBRE9XX0RPTQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICBU
aGlzIGNoYW5nZSBtb3ZlcyA8Y29udGVudD4gYW5kIDxzaGFkb3c+IGJlaGluZAorICAgICAgICBF
TkFCTEUoU0hBRE9XX0RPTSkuIE5vdGUgdGhhdCBlbXB0eSBzdHViIGRlZmluaXRpb25zIGFyZSBy
ZW1haW5pbmcKKyAgICAgICAgZXZlbiBhZnRlciB0aGlzIGNoYWduZS4gVGhleSBhcmUgZm9yIG1p
bmltaXppbmcgI2lmLyNlbmRpZiB1c2FnZQorICAgICAgICBhbmQgd29uJ3QgaHVydCBjb2RlIHNp
emUuCisKKyAgICAgICAgVG8gbWFrZSB0aGUgbWFpbiBjaGFuZ2UgcG9zc2libGUsIHRoaXMgY2hh
bmdlIGFsc28gaW50cm9kdWNlcworICAgICAgICBJbnNlcnRpb25Qb2ludDo6cHJlbWF0Y2goKSB0
byBsZXQgV2ViQ29yZSBIVE1MQ29udGVudEVsZW1lbnQKKyAgICAgICAgc3VibGFzc2VzIGVtdWxh
dGUgZnVsbC1mZWF0dXJlIEhUTUxDb250ZW50RWxlbWVudCBldmVuIHdpdGhvdXQKKyAgICAgICAg
RU5BQkxFKFNIQURPV19ET00pLiBEZXRhaWxzU3VtbWFyeUVsZW1lbnQgZW1wbG95cyB0aGlzIG1l
Y2hhbmlzbS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGh0bWwvSFRN
TERldGFpbHNFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldGFpbHNTdW1tYXJ5RWxl
bWVudDo6RGV0YWlsc1N1bW1hcnlFbGVtZW50KToKKyAgICAgICAgKERldGFpbHNTdW1tYXJ5RWxl
bWVudCk6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5wdXRUeXBlOjpkZXN0cm95U2hhZG93U3VidHJlZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cv
Q29udGVudERpc3RyaWJ1dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnREaXN0cmli
dXRvcjo6ZGlzdHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvQ29udGVudFNlbGVjdG9y
UXVlcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlbGVjdG9yUXVlcnk6OkNvbnRl
bnRTZWxlY3RvclF1ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWxlY3RvclF1ZXJ5
OjptYXRjaGVzKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29udGVudEVsZW1l
bnQ6OnByZW1hdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb250ZW50RWxlbWVudDo6c2Vs
ZWN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSFRNTENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxDb250ZW50RWxlbWVudDo6aXNTZWxlY3RWYWxpZCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
Q29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAgICogaHRtbC9zaGFk
b3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxTaGFk
b3dFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
aGFkb3dFbGVtZW50OjpwcmVtYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjppc0hUTUxTaGFkb3dF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OnRvSFRNTFNoYWRvd0VsZW1lbnQpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c2VydGlvblBvaW50OjplbXB0eVNlbGVjdG9yTGlzdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oOgorICAgICAgICAoSW5zZXJ0aW9u
UG9pbnQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZERlY29yYXRpb25FbGVtZW50OjpkZWNv
cmF0ZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjppc1ZhbGlkQ29udGVudFNlbGVjdCk6CisKKzIwMTMtMDEtMDkgIEhhamlt
ZSBNb3JyaXRhICA8bW9ycml0YUBnb29nbGUuY29tPgorCiAgICAgICAgIFtTaGFkb3cgRE9NXSBE
aXN0cmlidXRpb24gcmVsYXRlZCBjb2RlIG9uIEVsZW1lbnRTaGFkb3cgc2hvdWxkIGJlIG1pbmlt
aXplZC4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
NjI5NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggNmI1MzkxNmRlY2U4OGY5Zjc0NGEwODQwMzcwYzQ0
NjM4ZDkyM2Q3MS4uZGE1NjVhNzY3YmMyMzEyMGIzNjU5MDJmZjNjMzllNGE5ZGQyNWZlNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBACiAyMDEzLTAxLTA5ICBIYWppbWUgTW9ycml0
YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA2MjgzCisgICAgICAgIFtTaGFkb3cgRE9NXSBIVE1MQ29udGVu
dEVsZW1lbnQgYW5kIEhUTUxTaGFkb3dFbGVtZW50IHNob3VsZCBiZSBiZWhpbmQgU0hBRE9XX0RP
TQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
S2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbjoKKworMjAxMy0wMS0wOSAgSGFqaW1lIE1v
cnJpdGEgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKICAgICAgICAgW1NoYWRvdyBET01dIERpc3Ry
aWJ1dGlvbiByZWxhdGVkIGNvZGUgb24gRWxlbWVudFNoYWRvdyBzaG91bGQgYmUgbWluaW1pemVk
LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2Mjk0
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMmRlZmI1OTJmNWZlNTc3MGFlZGM3ZjgzOTc2YWU3
NWY4YjViZDMyNy4uMjIxNzBjM2Y3OWY4ZTc5OTRlY2YzMjIwNzliYzNiYTZmN2I1ZmVmMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KQEAgLTUxMyw3ICs1MTMsNiBAQCBfX1pON1dlYkNvcmUxN2NhY2hl
RE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM0pTQzlTdHJ1Y3R1cmVFUEtO
UzJfOQogX19aTjdXZWJDb3JlMTdvcGVuVGVtcG9yYXJ5RmlsZUVSS04zV1RGNlN0cmluZ0VSaQog
X19aTjdXZWJDb3JlMTd1c2VyVmlzaWJsZVN0cmluZ0VQNU5TVVJMCiBfX1pON1dlYkNvcmUxOERP
TVdpbmRvd0V4dGVuc2lvbkMxRVBOU181RnJhbWVFUE5TXzE1RE9NV3JhcHBlcldvcmxkRQotX19a
TjdXZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQ2Y3JlYXRlRVBOU184RG9jdW1lbnRFCiBfX1pO
N1dlYkNvcmUxMFBhc3RlYm9hcmQxN2dlbmVyYWxQYXN0ZWJvYXJkRXYKIF9fWk43V2ViQ29yZTEw
UGFzdGVib2FyZDE0d3JpdGVQbGFpblRleHRFUktOM1dURjZTdHJpbmdFTlMwXzE4U21hcnRSZXBs
YWNlT3B0aW9uRQogX19aTjdXZWJDb3JlMThDb250ZW50RGlzdHJpYnV0b3IyMmVuc3VyZVNlbGVj
dEZlYXR1cmVTZXRFUE5TXzEzRWxlbWVudFNoYWRvd0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TERldGFpbHNFbGVtZW50LmNwcAppbmRleCBhMjc4NmJjNmY4NDI0Y2I3NWJjNDBlNDQxNzlhNDVj
ZjEwOTQ4ZTU5Li5iODZmNmQzNTFiZmY4MmM3NGVlYzJhMzE1ZmZkMzk4NzJkNGQzZWM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCkBAIC03MSw4ICs3MSwx
MyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIERldGFpbHNTdW1tYXJ5RWxlbWVudChEb2N1bWVu
dCogZG9jdW1lbnQpCiAgICAgICAgIDogSFRNTENvbnRlbnRFbGVtZW50KEhUTUxOYW1lczo6d2Vi
a2l0U2hhZG93Q29udGVudFRhZywgZG9jdW1lbnQpCisgICAgeyB9CisKKyAgICB2aXJ0dWFsIFBy
ZW1hdGNoUmVzdWx0IHByZW1hdGNoKE5vZGUqIG5vZGUpIE9WRVJSSURFCiAgICAgewotICAgICAg
ICBzZXRTZWxlY3Qoc3VtbWFyeVF1ZXJ5U2VsZWN0b3IoKSk7CisgICAgICAgIGlmIChub2RlLT5p
c0VsZW1lbnROb2RlKCkgJiYgbm9kZSA9PSBub2RlLT5wYXJlbnROb2RlKCktPnF1ZXJ5U2VsZWN0
b3Ioc3VtbWFyeVF1ZXJ5U2VsZWN0b3IoKSwgQVNTRVJUX05PX0VYQ0VQVElPTikpCisgICAgICAg
ICAgICByZXR1cm4gUHJlbWF0Y2hGb3JjZU1hdGNoOworICAgICAgICByZXR1cm4gUHJlbWF0Y2hG
b3JjZVJlamVjdDsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXgg
YjE2ZmEzYjE4ZTRlYTQ2MWI2YzIxODNhZGRmMWZmZjMxMTA2NDc4Yi4uMjVlOWFlNDYwODhlMjA0
NzJjY2YzMTMyNmQ4M2E1MDQ2MTBiNTM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApA
QCAtNDkwLDggKzQ5MCwxMiBAQCB2b2lkIElucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUo
KQogICAgIC8vIGJlZW4gY3JlYXRlZCBieSBUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudCwgYW5k
IHdlIGRvbid0IGFsbG93IGFkZGluZwogICAgIC8vIEF1dGhvclNoYWRvd1Jvb3QgdG8gSFRNTElu
cHV0RWxlbWVudC4KICAgICB3aGlsZSAoKHJvb3QgPSByb290LT55b3VuZ2VyU2hhZG93Um9vdCgp
KSkgeworI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAgICAgICByb290LT5yZW1vdmVBbGxDaGls
ZHJlbigpOwogICAgICAgICByb290LT5hcHBlbmRDaGlsZChIVE1MU2hhZG93RWxlbWVudDo6Y3Jl
YXRlKHNoYWRvd1RhZywgZWxlbWVudCgpLT5kb2N1bWVudCgpKSk7CisjZWxzZQorICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAKaW5kZXggMGQzZGJlYTBi
OGI3Y2IxNjgyMjJjYmFmODJlMDk2ODI3M2FiYjdhOS4uODY3YTE3NDU3YjUyOWVmMDg5ZDgwYjBm
ZDg4M2UxNGE2MmM3ZWUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
Q29udGVudERpc3RyaWJ1dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9D
b250ZW50RGlzdHJpYnV0b3IuY3BwCkBAIC0yNDksNiArMjQ5LDcgQEAgdm9pZCBDb250ZW50RGlz
dHJpYnV0b3I6OmRpc3RyaWJ1dGUoRWxlbWVudCogaG9zdCkKICAgICAgICAgICAgIGFjdGl2ZVNo
YWRvd0luc2VydGlvblBvaW50cy5hcHBlbmQoZmlyc3RBY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2lu
dCk7CiAgICAgfQogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCiAgICAgZm9yIChzaXplX3QgaSA9
IGFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50cy5zaXplKCk7IGkgPiAwOyAtLWkpIHsKICAgICAg
ICAgSFRNTFNoYWRvd0VsZW1lbnQqIHNoYWRvd0VsZW1lbnQgPSBhY3RpdmVTaGFkb3dJbnNlcnRp
b25Qb2ludHNbaSAtIDFdOwogICAgICAgICBTaGFkb3dSb290KiByb290ID0gc2hhZG93RWxlbWVu
dC0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKQEAgLTI2Miw2ICsyNjMsOSBAQCB2b2lkIENvbnRl
bnREaXN0cmlidXRvcjo6ZGlzdHJpYnV0ZShFbGVtZW50KiBob3N0KQogICAgICAgICAgICAgICAg
IHNoYWRvdy0+aW52YWxpZGF0ZURpc3RyaWJ1dGlvbigpOwogICAgICAgICB9CiAgICAgfQorI2Vs
c2UKKyAgICBBU1NFUlQoIWFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50cy5zaXplKCkpOworI2Vu
ZGlmCiB9CiAKIGJvb2wgQ29udGVudERpc3RyaWJ1dG9yOjppbnZhbGlkYXRlKEVsZW1lbnQqIGhv
c3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0
b3JRdWVyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JR
dWVyeS5jcHAKaW5kZXggNjExOGM1MmM4MTE0YjUzY2NjZjAwMTk0MWMzNTAzNWRlNDEyMWYyZC4u
YTY4OGY0Y2JkZDA4YTk1OTYwNmVlZjMzNzY5YzdhNmY4MmZlNjVhNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcApAQCAtNjgs
OCArNjgsNyBAQCBDb250ZW50U2VsZWN0b3JRdWVyeTo6Q29udGVudFNlbGVjdG9yUXVlcnkoSW5z
ZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50KQogICAgIDogbV9pbnNlcnRpb25Qb2ludChpbnNl
cnRpb25Qb2ludCkKICAgICAsIG1fc2VsZWN0b3JDaGVja2VyKGluc2VydGlvblBvaW50LT5kb2N1
bWVudCgpKQogewotICAgIGlmIChpbnNlcnRpb25Qb2ludC0+aXNTZWxlY3RWYWxpZCgpKQotICAg
ICAgICBtX3NlbGVjdG9ycy5pbml0aWFsaXplKGluc2VydGlvblBvaW50LT5zZWxlY3Rvckxpc3Qo
KSk7CisgICAgbV9zZWxlY3RvcnMuaW5pdGlhbGl6ZShpbnNlcnRpb25Qb2ludC0+c2VsZWN0b3JM
aXN0KCkpOwogfQogCiBib29sIENvbnRlbnRTZWxlY3RvclF1ZXJ5OjptYXRjaGVzKGNvbnN0IFZl
Y3RvcjxSZWZQdHI8Tm9kZT4gPiYgc2libGluZ3MsIGludCBudGgpIGNvbnN0CkBAIC03NywxNiAr
NzYsMTcgQEAgYm9vbCBDb250ZW50U2VsZWN0b3JRdWVyeTo6bWF0Y2hlcyhjb25zdCBWZWN0b3I8
UmVmUHRyPE5vZGU+ID4mIHNpYmxpbmdzLCBpbnQgbnQKICAgICBOb2RlKiBub2RlID0gc2libGlu
Z3NbbnRoXS5nZXQoKTsKICAgICBBU1NFUlQobm9kZSk7CiAKLSAgICBpZiAobV9pbnNlcnRpb25Q
b2ludC0+c2VsZWN0KCkuaXNOdWxsKCkgfHwgbV9pbnNlcnRpb25Qb2ludC0+c2VsZWN0KCkuaXNF
bXB0eSgpKQorICAgIHN3aXRjaCAobV9pbnNlcnRpb25Qb2ludC0+cHJlbWF0Y2gobm9kZSkpIHsK
KyAgICBjYXNlIEluc2VydGlvblBvaW50OjpQcmVtYXRjaEZvcmNlTWF0Y2g6CiAgICAgICAgIHJl
dHVybiB0cnVlOwotCi0gICAgaWYgKCFtX2luc2VydGlvblBvaW50LT5pc1NlbGVjdFZhbGlkKCkp
CisgICAgY2FzZSBJbnNlcnRpb25Qb2ludDo6UHJlbWF0Y2hGb3JjZVJlamVjdDoKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFub2RlLT5pc0VsZW1lbnROb2RlKCkpCisgICAgY2Fz
ZSBJbnNlcnRpb25Qb2ludDo6UHJlbWF0Y2hNYXRjaFNlbGVjdDoKKyAgICAgICAgcmV0dXJuIG5v
ZGUtPmlzRWxlbWVudE5vZGUoKSAmJiBtX3NlbGVjdG9ycy5tYXRjaGVzKG1fc2VsZWN0b3JDaGVj
a2VyLCBzaWJsaW5ncywgbnRoKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIG1fc2VsZWN0b3Jz
Lm1hdGNoZXMobV9zZWxlY3RvckNoZWNrZXIsIHNpYmxpbmdzLCBudGgpOworICAgIH0KIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5j
cHAKaW5kZXggMzdkNTcwYjViYTYxMjA2OTk3NmYxOGZlN2NmYjM5ZDE1MDJhNGU1ZC4uNzNiMjNh
OGM3MTU4OWNiZDVhNTZhNzU2YTgzODdlNzY5ODE3NTljNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCkBAIC01MSw2ICs1MSw4IEBA
IGNvbnN0IFF1YWxpZmllZE5hbWUmIEhUTUxDb250ZW50RWxlbWVudDo6Y29udGVudFRhZ05hbWUo
RG9jdW1lbnQqKQogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKwogUGFzc1Jl
ZlB0cjxIVE1MQ29udGVudEVsZW1lbnQ+IEhUTUxDb250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3Vt
ZW50KiBkb2N1bWVudCkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxDb250ZW50RWxl
bWVudChjb250ZW50VGFnTmFtZShkb2N1bWVudCksIGRvY3VtZW50KSk7CkBAIC03MiwxMiArNzQs
MjEgQEAgSFRNTENvbnRlbnRFbGVtZW50Ojp+SFRNTENvbnRlbnRFbGVtZW50KCkKIHsKIH0KIAor
SW5zZXJ0aW9uUG9pbnQ6OlByZW1hdGNoUmVzdWx0IEhUTUxDb250ZW50RWxlbWVudDo6cHJlbWF0
Y2goTm9kZSopCit7CisgICAgaWYgKHNlbGVjdCgpLmlzTnVsbCgpIHx8IHNlbGVjdCgpLmlzRW1w
dHkoKSkKKyAgICAgICAgcmV0dXJuIFByZW1hdGNoRm9yY2VNYXRjaDsKKyAgICBpZiAoIWlzU2Vs
ZWN0VmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIFByZW1hdGNoRm9yY2VSZWplY3Q7CisgICAgcmV0
dXJuIFByZW1hdGNoTWF0Y2hTZWxlY3Q7Cit9CisKIGNvbnN0IEF0b21pY1N0cmluZyYgSFRNTENv
bnRlbnRFbGVtZW50OjpzZWxlY3QoKSBjb25zdAogewogICAgIHJldHVybiBnZXRBdHRyaWJ1dGUo
c2VsZWN0QXR0cik7CiB9CiAKLWJvb2wgSFRNTENvbnRlbnRFbGVtZW50Ojppc1NlbGVjdFZhbGlk
KCkKK2Jvb2wgSFRNTENvbnRlbnRFbGVtZW50Ojppc1NlbGVjdFZhbGlkKCkgY29uc3QKIHsKICAg
ICBlbnN1cmVTZWxlY3RQYXJzZWQoKTsKICAgICByZXR1cm4gbV9pc1ZhbGlkU2VsZWN0b3I7CkBA
IC0xOTIsNSArMjAzLDcgQEAgYm9vbCBIVE1MQ29udGVudEVsZW1lbnQ6OnZhbGlkYXRlU2VsZWN0
KCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2VuZGlmIC8vIGlmIEVOQUJMRShTSEFE
T1dfRE9NKQogCiB9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hU
TUxDb250ZW50RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRl
bnRFbGVtZW50LmgKaW5kZXggYTMxOGNmNzhiZWM2OTNkYTE3ODhiZTJmMWI3NDRkNWY0NWUxYzUy
Zi4uNjY0ZjgwMTVhMDZhZTc5ZjkyZmVjN2I0Y2U0NWMzNzZjYzZhMzI3MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmgKQEAgLTM3LDYgKzM3
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisK
IGNsYXNzIEhUTUxDb250ZW50RWxlbWVudCA6IHB1YmxpYyBJbnNlcnRpb25Qb2ludCB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIGNvbnN0IFF1YWxpZmllZE5hbWUmIGNvbnRlbnRUYWdOYW1lKERvY3Vt
ZW50Kik7CkBAIC00NiwxMSArNDgsMTMgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkhUTUxDb250
ZW50RWxlbWVudCgpOwogCiAgICAgdm9pZCBzZXRTZWxlY3QoY29uc3QgQXRvbWljU3RyaW5nJik7
Ci0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCgpIGNvbnN0OwotICAgIHZp
cnR1YWwgYm9vbCBpc1NlbGVjdFZhbGlkKCk7Ci0gICAgdmlydHVhbCBjb25zdCBDU1NTZWxlY3Rv
ckxpc3QmIHNlbGVjdG9yTGlzdCgpOworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2VsZWN0KCkg
Y29uc3Q7CisKKyAgICB2aXJ0dWFsIFByZW1hdGNoUmVzdWx0IHByZW1hdGNoKE5vZGUqKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JMaXN0KCkg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCBUeXBlIGluc2VydGlvblBvaW50VHlwZSgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIENvbnRlbnRJbnNlcnRpb25Qb2ludDsgfQogICAgIHZpcnR1YWwgYm9v
bCBjYW5BZmZlY3RTZWxlY3RvcigpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KKyAg
ICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6CiAgICAg
SFRNTENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwpAQCAt
NzcsMTAgKzgxLDM0IEBAIGlubGluZSBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIEhUTUxDb250ZW50
RWxlbWVudDo6c2VsZWN0b3JMaXN0KCkKICAgICByZXR1cm4gbV9zZWxlY3Rvckxpc3Q7CiB9CiAK
KyNlbHNlCisKKy8vIEZJWE1FOiBzaG91bGRuJ3QgaW5oZXJpdCBmcm9tIEluc2VydGlvblBvaW50
OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMzM5CitjbGFzcyBI
VE1MQ29udGVudEVsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9pbnQgeworcHVibGljOgorICAg
IHN0YXRpYyBjb25zdCBRdWFsaWZpZWROYW1lJiBjb250ZW50VGFnTmFtZShEb2N1bWVudCopOwor
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBjcmVhdGUoRG9jdW1l
bnQqIGRvY3VtZW50KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIVE1MQ29u
dGVudEVsZW1lbnQoY29udGVudFRhZ05hbWUoZG9jdW1lbnQpLCBkb2N1bWVudCkpOworICAgIH0K
KworICAgIHZpcnR1YWwgUHJlbWF0Y2hSZXN1bHQgcHJlbWF0Y2goTm9kZSopIE9WRVJSSURFIHsg
cmV0dXJuIFByZW1hdGNoRm9yY2VNYXRjaDsgfQorICAgIHZpcnR1YWwgVHlwZSBpbnNlcnRpb25Q
b2ludFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBDb250ZW50SW5zZXJ0aW9uUG9pbnQ7
IH0KKyAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JMaXN0KCkgT1ZF
UlJJREUgeyByZXR1cm4gZW1wdHlTZWxlY3Rvckxpc3QoKTsgfQorCitwcm90ZWN0ZWQ6CisgICAg
SFRNTENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCkKKyAgICAgICAgOiBJbnNlcnRpb25Qb2ludCh0YWdOYW1lLCBkb2N1bWVudCkK
KyAgICB7IH0KK307CisKKyNlbmRpZiAvLyBpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKwogaW5saW5l
IGJvb2wgaXNIVE1MQ29udGVudEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKIHsKICAgICBBU1NF
UlQobm9kZSk7Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTENvbnRlbnRFbGVtZW50
Ojpjb250ZW50VGFnTmFtZShub2RlLT5kb2N1bWVudCgpKSk7CisgICAgcmV0dXJuIG5vZGUtPmlz
SW5zZXJ0aW9uUG9pbnQoKSAmJiB0b0luc2VydGlvblBvaW50KG5vZGUpLT5pbnNlcnRpb25Qb2lu
dFR5cGUoKSA9PSBJbnNlcnRpb25Qb2ludDo6Q29udGVudEluc2VydGlvblBvaW50OwogfQogCiBp
bmxpbmUgSFRNTENvbnRlbnRFbGVtZW50KiB0b0hUTUxDb250ZW50RWxlbWVudChOb2RlKiBub2Rl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3Bw
CmluZGV4IDE3NDdlY2QxNzI5MDljZjIxZWVjZjYyM2I2Nzk3MzBiM2ZkNTUwZDcuLjYzNzRkYzdk
Y2E0MmU3YzQ3MWE3YjNiMjU3YmI5OGJkNDA4MjQzZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAKQEAgLTM1LDYgKzM1LDggQEAKICNp
bmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+
CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBEb2N1bWVudDsKQEAgLTU0LDE3ICs1Niw2IEBAIEhUTUxTaGFkb3dFbGVtZW50Ojp+SFRNTFNo
YWRvd0VsZW1lbnQoKQogewogfQogCi1jb25zdCBBdG9taWNTdHJpbmcmIEhUTUxTaGFkb3dFbGVt
ZW50OjpzZWxlY3QoKSBjb25zdAotewotICAgICByZXR1cm4gbnVsbEF0b207Ci19Ci0KLWNvbnN0
IENTU1NlbGVjdG9yTGlzdCYgSFRNTFNoYWRvd0VsZW1lbnQ6OmVtcHR5U2VsZWN0b3JMaXN0KCkK
LXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKENTU1NlbGVjdG9yTGlzdCwgc2VsZWN0b3JMaXN0
LCAoQ1NTU2VsZWN0b3JMaXN0KCkpKTsKLSAgICByZXR1cm4gc2VsZWN0b3JMaXN0OwotfQotCiBT
aGFkb3dSb290KiBIVE1MU2hhZG93RWxlbWVudDo6b2xkZXJTaGFkb3dSb290KCkKIHsKICAgICBp
ZiAoIXRyZWVTY29wZSgpLT5yb290Tm9kZSgpLT5pc1NoYWRvd1Jvb3QoKSkKQEAgLTgwLDMgKzcx
LDUgQEAgU2hhZG93Um9vdCogSFRNTFNoYWRvd0VsZW1lbnQ6Om9sZGVyU2hhZG93Um9vdCgpCiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIGlmIEVOQUJMRShTSEFET1df
RE9NKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmgK
aW5kZXggMzFlZTg2ODMzMzIwN2Y5OWE5NmIxMjQ2ODU1ZTY5ZjdkYjE5NTRjNy4uZmQxMTU5MjFi
YzkyNzVlMDhjOWY4ZmRjOTFjOTdkYTZmMTNiYzAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5oCkBAIC0zNiwxNCArMzYsMTUgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisKIGNsYXNzIEhUTUxT
aGFkb3dFbGVtZW50IDogcHVibGljIEluc2VydGlvblBvaW50IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxIVE1MU2hhZG93RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCopOwogCiAgICAgdmlydHVhbCB+SFRNTFNoYWRvd0VsZW1lbnQoKTsKIAot
ICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3QoKSBjb25zdDsKLSAgICB2aXJ0
dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpIE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2
aXJ0dWFsIFByZW1hdGNoUmVzdWx0IHByZW1hdGNoKE5vZGUqKSB7IHJldHVybiBQcmVtYXRjaEZv
cmNlTWF0Y2g7IH0KICAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JM
aXN0KCkgeyByZXR1cm4gZW1wdHlTZWxlY3Rvckxpc3QoKTsgfQogICAgIHZpcnR1YWwgVHlwZSBp
bnNlcnRpb25Qb2ludFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBTaGFkb3dJbnNlcnRp
b25Qb2ludDsgfQogCkBAIC01MSw4ICs1Miw2IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBI
VE1MU2hhZG93RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAg
IHN0YXRpYyBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIGVtcHR5U2VsZWN0b3JMaXN0KCk7CiB9Owog
CiBpbmxpbmUgYm9vbCBpc0hUTUxTaGFkb3dFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCkBAIC03
Myw2ICs3MiwxNSBAQCBpbmxpbmUgY29uc3QgSFRNTFNoYWRvd0VsZW1lbnQqIHRvSFRNTFNoYWRv
d0VsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3Qg
SFRNTFNoYWRvd0VsZW1lbnQqPihub2RlKTsKIH0KIAorI2Vsc2UKKworY2xhc3MgSFRNTFNoYWRv
d0VsZW1lbnQgeyB9OworaW5saW5lIGJvb2wgaXNIVE1MU2hhZG93RWxlbWVudChjb25zdCBOb2Rl
KikgeyByZXR1cm4gZmFsc2U7IH0KK2lubGluZSBIVE1MU2hhZG93RWxlbWVudCogdG9IVE1MU2hh
ZG93RWxlbWVudChOb2RlKikgeyByZXR1cm4gMDsgfQoraW5saW5lIGNvbnN0IEhUTUxTaGFkb3dF
bGVtZW50KiB0b0hUTUxTaGFkb3dFbGVtZW50KGNvbnN0IE5vZGUqKSB7IHJldHVybiAwOyB9CisK
KyNlbmRpZiAvLyBpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gSFRNTFNoYWRvd0VsZW1lbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwCmluZGV4IDVhYzUyMGQ1NWVkMzkwZmUyZmI5N2Yx
MDA4YmFjOTM2NjlmMjU4NTAuLjk2ZmIyNTAwZjIwYWM3YWZjOTNjOGFlOGU1ZjJlYzI3YmVjN2Vk
ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAK
QEAgLTE5MSw2ICsxOTEsMTIgQEAgYm9vbCBJbnNlcnRpb25Qb2ludDo6Y29udGFpbnMoY29uc3Qg
Tm9kZSogbm9kZSkgY29uc3QKICAgICByZXR1cm4gbV9kaXN0cmlidXRpb24uY29udGFpbnMoY29u
c3RfY2FzdDxOb2RlKj4obm9kZSkpIHx8IChub2RlLT5pc1NoYWRvd1Jvb3QoKSAmJiBTY29wZUNv
bnRlbnREaXN0cmlidXRpb246OmFzc2lnbmVkVG8odG9TaGFkb3dSb290KG5vZGUpKSA9PSB0aGlz
KTsKIH0KIAorY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBJbnNlcnRpb25Qb2ludDo6ZW1wdHlTZWxl
Y3Rvckxpc3QoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ1NTU2VsZWN0b3JMaXN0LCBz
ZWxlY3Rvckxpc3QsIChDU1NTZWxlY3Rvckxpc3QoKSkpOworICAgIHJldHVybiBzZWxlY3Rvckxp
c3Q7Cit9CisKIEluc2VydGlvblBvaW50KiByZXNvbHZlUmVwcm9qZWN0aW9uKGNvbnN0IE5vZGUq
IHByb2plY3RlZE5vZGUpCiB7CiAgICAgSW5zZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50ID0g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCmluZGV4IDIw
Y2U3N2QwYTM3OWVmY2MyNDQ4YTY1ODk5ZDZjNThmMzdmOWM5YjguLmUxNzMzZDNhNzAzZjgyZTNk
M2RmOGMyNGQ4OTZkZTRiYzQ4NDBiNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0luc2VydGlvblBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
SW5zZXJ0aW9uUG9pbnQuaApAQCAtNDgsNiArNDgsMTIgQEAgcHVibGljOgogICAgICAgICBDb250
ZW50SW5zZXJ0aW9uUG9pbnQKICAgICB9OwogCisgICAgZW51bSBQcmVtYXRjaFJlc3VsdCB7Cisg
ICAgICAgIFByZW1hdGNoRm9yY2VNYXRjaCwKKyAgICAgICAgUHJlbWF0Y2hGb3JjZVJlamVjdCwK
KyAgICAgICAgUHJlbWF0Y2hNYXRjaFNlbGVjdAorICAgIH07CisKICAgICB2aXJ0dWFsIH5JbnNl
cnRpb25Qb2ludCgpOwogCiAgICAgYm9vbCBoYXNEaXN0cmlidXRpb24oKSBjb25zdCB7IHJldHVy
biAhbV9kaXN0cmlidXRpb24uaXNFbXB0eSgpOyB9CkBAIC01OCw4ICs2NCw3IEBAIHB1YmxpYzoK
IAogICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGdldERpc3RyaWJ1dGVkTm9kZXMoKSBjb25zdDsK
IAotICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3QoKSBjb25zdCA9IDA7Ci0g
ICAgdmlydHVhbCBib29sIGlzU2VsZWN0VmFsaWQoKSA9IDA7CisgICAgdmlydHVhbCBQcmVtYXRj
aFJlc3VsdCBwcmVtYXRjaChOb2RlKikgPSAwOwogICAgIHZpcnR1YWwgY29uc3QgQ1NTU2VsZWN0
b3JMaXN0JiBzZWxlY3Rvckxpc3QoKSA9IDA7CiAgICAgdmlydHVhbCBUeXBlIGluc2VydGlvblBv
aW50VHlwZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgY2FuQWZmZWN0U2VsZWN0b3Io
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtOTAsNiArOTUsOCBAQCBwcm90ZWN0ZWQ6CiAg
ICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25z
dCBBdG9taWNTdHJpbmcmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNJbnNlcnRpb25Q
b2ludE5vZGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAKKyAgICBzdGF0aWMg
Y29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBlbXB0eVNlbGVjdG9yTGlzdCgpOworCiBwcml2YXRlOgog
CiAgICAgQ29udGVudERpc3RyaWJ1dGlvbiBtX2Rpc3RyaWJ1dGlvbjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNw
cAppbmRleCA3ZGY3MDFlMTI1ZjAxMjVhZWJmMmM2MGQ4ZTA2YmMyMTBhMjA0MGRmLi43OWExZDIy
YjgxZTkzYjU1YjJjZTZjYzFiYTdmN2JkMmI0ZDkxNmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwCkBA
IC0xMDksOCArMTA5LDkgQEAgdm9pZCBUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudDo6ZGVjb3Jh
dGUoSFRNTElucHV0RWxlbWVudCogaW5wdXQsIGJvb2wgdmlzaWJsZSkKICAgICBib3gtPnNldElu
bGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRCb3hBbGlnbiwgQ1NTVmFsdWVDZW50
ZXIpOwogICAgIEFTU0VSVChleGlzdGluZ1Jvb3QtPmNoaWxkTm9kZUNvdW50KCkgPT0gMSk7CiAg
ICAgdG9IVE1MRWxlbWVudChleGlzdGluZ1Jvb3QtPmZpcnN0Q2hpbGQoKSktPnNldElubGluZVN0
eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRCb3hGbGV4LCAxLjAsIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfTlVNQkVSKTsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICBib3gtPmFwcGVu
ZENoaWxkKEhUTUxTaGFkb3dFbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVzOjpzaGFkb3dUYWcsIGlu
cHV0LT5kb2N1bWVudCgpKSk7Ci0KKyNlbmRpZgogICAgIHNldElubGluZVN0eWxlUHJvcGVydHko
Q1NTUHJvcGVydHlEaXNwbGF5LCB2aXNpYmxlID8gQ1NTVmFsdWVCbG9jayA6IENTU1ZhbHVlTm9u
ZSk7CiAgICAgYm94LT5hcHBlbmRDaGlsZCh0aGlzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAppbmRleCA5YTQzNzlmMzUxN2Q2MzA3YjU3MDkxMjFhNjVhMGJlN2NiYzE4MjMx
Li5hZWFkY2MwY2Y4MTcyYjE4MGEzMjFlNjk3ZTJjZjJmOGViMmIwM2I1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0zMTAsNyArMzEwLDExIEBAIGJvb2wgSW50ZXJuYWxz
Ojppc1ZhbGlkQ29udGVudFNlbGVjdChFbGVtZW50KiBpbnNlcnRpb25Qb2ludCwgRXhjZXB0aW9u
Q29kZSYgZWMpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICByZXR1cm4gdG9J
bnNlcnRpb25Qb2ludChpbnNlcnRpb25Qb2ludCktPmlzU2VsZWN0VmFsaWQoKTsKKyNpZiBFTkFC
TEUoU0hBRE9XX0RPTSkKKyAgICByZXR1cm4gaXNIVE1MQ29udGVudEVsZW1lbnQoaW5zZXJ0aW9u
UG9pbnQpICYmIHRvSFRNTENvbnRlbnRFbGVtZW50KGluc2VydGlvblBvaW50KS0+aXNTZWxlY3RW
YWxpZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogTm9kZSogSW50
ZXJuYWxzOjp0cmVlU2NvcGVSb290Tm9kZShOb2RlKiBub2RlLCBFeGNlcHRpb25Db2RlJiBlYykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0
cy5kZWYuaW4gYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMu
ZGVmLmluCmluZGV4IDFkMGQxZDQ2YmQ3YjNmN2IyYmI5YjIwNGM4OTEwZjk5YjNlYTY3NjIuLjQ2
MmVmMTE5YWUyNDYxNWU5N2U4YzdjZWMyYzBhNzVkNDg3YjA2MjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW4KKysrIGIvU291
cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbgpAQCAtMTcz
LDcgKzE3Myw2IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZFNsb3dDYXNlQEF0b21pY1N0cmluZ0BX
VEZAQENBP0FWPyRQYXNzUmVmUHRyQFZTdHJpbmdJbXBsQFdURkBAQDJAUEFWU3RyaW5nSW1wbEAy
QEBaCiAgICAgICAgID9jYWNoZURPTVN0cnVjdHVyZUBXZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBK
U0NAQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWMjNAUEJVQ2xhc3NJbmZvQDNAQFoKICAgICAg
ICAgP2NoaWxkSXRlbVdpdGhUYXJnZXRASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFUEFWMTJAQUJW
U3RyaW5nQFdURkBAQFoKLSAgICAgICAgP2NyZWF0ZUBIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29y
ZUBAU0E/QVY/JFBhc3NSZWZQdHJAVkhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQ
QVZEb2N1bWVudEAyQEBaCiAgICAgICAgID9jcmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBh
c3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdl
YkNvcmVAQEA0QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRASDFIQFoKICAgICAgICAg
P2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJA
VlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAg
ICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1Jl
ZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBK
U0NAQFZKU1ZhbHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3Jl
QEBAV1RGQEAkMDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdU
RkBAJDAwQDRAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKQEAgLTU2MSw3ICs1NjAsNiBA
QCBFWFBPUlRTCiAgICAgICAgID9hZGRTbG93Q2FzZUBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8k
UGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBBVlN0cmluZ0ltcGxAMkBAWgogICAgICAg
ICA/Y2FjaGVET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RP
TUdsb2JhbE9iamVjdEAxQFBBVjIzQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9jaGlsZEl0
ZW1XaXRoVGFyZ2V0QEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFCRVBBVjEyQEFCVlN0cmluZ0BXVEZA
QEBaCi0gICAgICAgID9jcmVhdGVASFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQ
YXNzUmVmUHRyQFZIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAQFdURkBAUEFWRG9jdW1lbnRA
MkBAWgogICAgICAgICA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZS
YW5nZUBXZWJDb3JlQEBAV1RGQEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVudEBXZWJDb3JlQEBANEBW
PyRQYXNzUmVmUHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaCiAgICAgICAgID9jcmVhdGVAU2Vy
aWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVk
U2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0
ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1
ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAw
QDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0
U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCkBAIC05NDksNyArOTQ3LDYgQEAgRVhQT1JUUwog
ICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJA
VlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoKICAgICAgICAgP2NhY2hlRE9N
U3RydWN0dXJlQFdlYkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmpl
Y3RAMUBQQVYyM0BQQlVDbGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdl
dEBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgotICAgICAg
ICA/Y3JlYXRlQEhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBW
SFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKICAgICAg
ICAgP2NyZWF0ZUBSYW5nZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29y
ZUBAQFdURkBAVj8kUGFzc1JlZlB0ckBWRG9jdW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0
ckBWTm9kZUBXZWJDb3JlQEBANEBIMUhAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVl
QFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0
VmFsdWVAV2ViQ29yZUBAQFdURkBAUEFWRXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZl
Y3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVj
dG9yQFY/JFJlZlB0ckBWQXJyYXlCdWZmZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRp
b25FcnJvck1vZGVAMkBAWgpAQCAtMTMzNyw3ICsxMzM0LDYgQEAgRVhQT1JUUwogICAgICAgICA/
YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0lt
cGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJl
QFdlYkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYy
M0BQQlVDbGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5
SXRlbUBXZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgotICAgICAgICA/Y3JlYXRl
QEhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRl
bnRFbGVtZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKICAgICAgICAgP2NyZWF0
ZUBSYW5nZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBA
Vj8kUGFzc1JlZlB0ckBWRG9jdW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBX
ZWJDb3JlQEBANEBIMUhAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBX
ZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVA
QEBXVEZAQEFCVlN0cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZh
bHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2Vi
Q29yZUBAQFdURkBAUEFWRXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRS
ZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJl
ZlB0ckBWQXJyYXlCdWZmZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1v
ZGVAMkBAWgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182069</attachid>
            <date>2013-01-09 22:37:25 -0800</date>
            <delta_ts>2013-01-10 00:05:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106283-20130110153428.patch</filename>
            <type>text/plain</type>
            <size>22588</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWMxMmEwMzM4Yjg0YmJh
ZDQ1MmFjYmE1ZGUwMzJhNGIxMjlkODQzMS4uNDM2MjhiZjQzMGUxN2VlM2NiMDk3ZmNmMmRhY2Mw
NjA4YmRlMzc5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEzLTAxLTA5ICBIYWpp
bWUgTW9ycml0YSA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDYyODMKKyAgICAgICAgW1NoYWRvdyBET01dIEhU
TUxDb250ZW50RWxlbWVudCBhbmQgSFRNTFNoYWRvd0VsZW1lbnQgc2hvdWxkIGJlIGJlaGluZCBT
SEFET1dfRE9NCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLiBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIFRo
aXMgY2hhbmdlIG1vdmVzIDxjb250ZW50PiBhbmQgPHNoYWRvdz4gYmVoaW5kCisgICAgICAgIEVO
QUJMRShTSEFET1dfRE9NKS4gTm90ZSB0aGF0IGVtcHR5IHN0dWIgZGVmaW5pdGlvbnMgYXJlIHJl
bWFpbmluZworICAgICAgICBldmVuIGFmdGVyIHRoaXMgY2hhZ25lLiBUaGV5IGFyZSBmb3IgbWlu
aW1pemluZyAjaWYvI2VuZGlmIHVzYWdlCisgICAgICAgIGFuZCB3b24ndCBodXJ0IGNvZGUgc2l6
ZS4KKworICAgICAgICBUbyBtYWtlIHRoZSBtYWluIGNoYW5nZSBwb3NzaWJsZSwgdGhpcyBjaGFu
Z2UgYWxzbyBpbnRyb2R1Y2VzCisgICAgICAgIEluc2VydGlvblBvaW50OjpwcmVtYXRjaCgpIHRv
IGxldCBXZWJDb3JlIEhUTUxDb250ZW50RWxlbWVudAorICAgICAgICBzdWJsYXNzZXMgZW11bGF0
ZSBmdWxsLWZlYXR1cmUgSFRNTENvbnRlbnRFbGVtZW50IGV2ZW4gd2l0aG91dAorICAgICAgICBF
TkFCTEUoU0hBRE9XX0RPTSkuIERldGFpbHNTdW1tYXJ5RWxlbWVudCBlbXBsb3lzIHRoaXMgbWVj
aGFuaXNtLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaHRtbC9IVE1M
RGV0YWlsc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV0YWlsc1N1bW1hcnlFbGVt
ZW50OjpEZXRhaWxzU3VtbWFyeUVsZW1lbnQpOgorICAgICAgICAoRGV0YWlsc1N1bW1hcnlFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9D
b250ZW50RGlzdHJpYnV0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudERpc3RyaWJ1
dG9yOjpkaXN0cmlidXRlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JR
dWVyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VsZWN0b3JRdWVyeTo6Q29udGVu
dFNlbGVjdG9yUXVlcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlbGVjdG9yUXVlcnk6
Om1hdGNoZXMpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb250ZW50RWxlbWVu
dDo6cHJlbWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnRlbnRFbGVtZW50OjpzZWxl
Y3QpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChIVE1MQ29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTENvbnRlbnRFbGVtZW50Ojppc1NlbGVjdFZhbGlkKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxDb250ZW50RWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxD
b250ZW50RWxlbWVudDo6SFRNTENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL3NoYWRv
dy9IVE1MU2hhZG93RWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRNTFNoYWRv
d0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNo
YWRvd0VsZW1lbnQ6OnByZW1hdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OmlzSFRNTFNoYWRvd0Vs
ZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6dG9IVE1MU2hhZG93RWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
ZXJ0aW9uUG9pbnQ6OmVtcHR5U2VsZWN0b3JMaXN0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50Lmg6CisgICAgICAgIChJbnNlcnRpb25Q
b2ludCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmRlY29y
YXRlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbHM6OmlzVmFsaWRDb250ZW50U2VsZWN0KToKKwogMjAxMy0wMS0wOSAgRXVnZW5l
IEtseXVjaG5pa292ICA8ZXVzdGFzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBbTmV0d29ya10gRGF0YSBncmlkIGhlYWRlciBhbmQgY29udGVudCBjZWxscyBhcmUgbWlz
YWxpZ25lZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA2YjUzOTE2ZGVjZTg4ZjlmNzQ0YTA4NDAzNzBj
NDQ2MzhkOTIzZDcxLi43YjllNWYwYjMwZDc1MTI4YTAxZGY5OTE2NWY1NWI1OTQ3MGNkNWZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDEtMDkgIEhhamltZSBNb3Jy
aXRhIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwNjI4MworICAgICAgICBbU2hhZG93IERPTV0gSFRNTENvbnRl
bnRFbGVtZW50IGFuZCBIVE1MU2hhZG93RWxlbWVudCBzaG91bGQgYmUgYmVoaW5kIFNIQURPV19E
T00KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW46CisKIDIwMTMtMDEtMDkgIEhhamltZSBN
b3JyaXRhICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFtTaGFkb3cgRE9NXSBEaXN0
cmlidXRpb24gcmVsYXRlZCBjb2RlIG9uIEVsZW1lbnRTaGFkb3cgc2hvdWxkIGJlIG1pbmltaXpl
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMmRlZmI1OTJmNWZlNTc3MGFlZGM3ZjgzOTc2YWU3
NWY4YjViZDMyNy4uMjIxNzBjM2Y3OWY4ZTc5OTRlY2YzMjIwNzliYzNiYTZmN2I1ZmVmMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KQEAgLTUxMyw3ICs1MTMsNiBAQCBfX1pON1dlYkNvcmUxN2NhY2hl
RE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM0pTQzlTdHJ1Y3R1cmVFUEtO
UzJfOQogX19aTjdXZWJDb3JlMTdvcGVuVGVtcG9yYXJ5RmlsZUVSS04zV1RGNlN0cmluZ0VSaQog
X19aTjdXZWJDb3JlMTd1c2VyVmlzaWJsZVN0cmluZ0VQNU5TVVJMCiBfX1pON1dlYkNvcmUxOERP
TVdpbmRvd0V4dGVuc2lvbkMxRVBOU181RnJhbWVFUE5TXzE1RE9NV3JhcHBlcldvcmxkRQotX19a
TjdXZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQ2Y3JlYXRlRVBOU184RG9jdW1lbnRFCiBfX1pO
N1dlYkNvcmUxMFBhc3RlYm9hcmQxN2dlbmVyYWxQYXN0ZWJvYXJkRXYKIF9fWk43V2ViQ29yZTEw
UGFzdGVib2FyZDE0d3JpdGVQbGFpblRleHRFUktOM1dURjZTdHJpbmdFTlMwXzE4U21hcnRSZXBs
YWNlT3B0aW9uRQogX19aTjdXZWJDb3JlMThDb250ZW50RGlzdHJpYnV0b3IyMmVuc3VyZVNlbGVj
dEZlYXR1cmVTZXRFUE5TXzEzRWxlbWVudFNoYWRvd0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TERldGFpbHNFbGVtZW50LmNwcAppbmRleCBhMjc4NmJjNmY4NDI0Y2I3NWJjNDBlNDQxNzlhNDVj
ZjEwOTQ4ZTU5Li5iODZmNmQzNTFiZmY4MmM3NGVlYzJhMzE1ZmZkMzk4NzJkNGQzZWM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCkBAIC03MSw4ICs3MSwx
MyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIERldGFpbHNTdW1tYXJ5RWxlbWVudChEb2N1bWVu
dCogZG9jdW1lbnQpCiAgICAgICAgIDogSFRNTENvbnRlbnRFbGVtZW50KEhUTUxOYW1lczo6d2Vi
a2l0U2hhZG93Q29udGVudFRhZywgZG9jdW1lbnQpCisgICAgeyB9CisKKyAgICB2aXJ0dWFsIFBy
ZW1hdGNoUmVzdWx0IHByZW1hdGNoKE5vZGUqIG5vZGUpIE9WRVJSSURFCiAgICAgewotICAgICAg
ICBzZXRTZWxlY3Qoc3VtbWFyeVF1ZXJ5U2VsZWN0b3IoKSk7CisgICAgICAgIGlmIChub2RlLT5p
c0VsZW1lbnROb2RlKCkgJiYgbm9kZSA9PSBub2RlLT5wYXJlbnROb2RlKCktPnF1ZXJ5U2VsZWN0
b3Ioc3VtbWFyeVF1ZXJ5U2VsZWN0b3IoKSwgQVNTRVJUX05PX0VYQ0VQVElPTikpCisgICAgICAg
ICAgICByZXR1cm4gUHJlbWF0Y2hGb3JjZU1hdGNoOworICAgICAgICByZXR1cm4gUHJlbWF0Y2hG
b3JjZVJlamVjdDsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXgg
YjE2ZmEzYjE4ZTRlYTQ2MWI2YzIxODNhZGRmMWZmZjMxMTA2NDc4Yi4uMjVlOWFlNDYwODhlMjA0
NzJjY2YzMTMyNmQ4M2E1MDQ2MTBiNTM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApA
QCAtNDkwLDggKzQ5MCwxMiBAQCB2b2lkIElucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUo
KQogICAgIC8vIGJlZW4gY3JlYXRlZCBieSBUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudCwgYW5k
IHdlIGRvbid0IGFsbG93IGFkZGluZwogICAgIC8vIEF1dGhvclNoYWRvd1Jvb3QgdG8gSFRNTElu
cHV0RWxlbWVudC4KICAgICB3aGlsZSAoKHJvb3QgPSByb290LT55b3VuZ2VyU2hhZG93Um9vdCgp
KSkgeworI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAgICAgICByb290LT5yZW1vdmVBbGxDaGls
ZHJlbigpOwogICAgICAgICByb290LT5hcHBlbmRDaGlsZChIVE1MU2hhZG93RWxlbWVudDo6Y3Jl
YXRlKHNoYWRvd1RhZywgZWxlbWVudCgpLT5kb2N1bWVudCgpKSk7CisjZWxzZQorICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAKaW5kZXggMGQzZGJlYTBi
OGI3Y2IxNjgyMjJjYmFmODJlMDk2ODI3M2FiYjdhOS4uODY3YTE3NDU3YjUyOWVmMDg5ZDgwYjBm
ZDg4M2UxNGE2MmM3ZWUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
Q29udGVudERpc3RyaWJ1dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9D
b250ZW50RGlzdHJpYnV0b3IuY3BwCkBAIC0yNDksNiArMjQ5LDcgQEAgdm9pZCBDb250ZW50RGlz
dHJpYnV0b3I6OmRpc3RyaWJ1dGUoRWxlbWVudCogaG9zdCkKICAgICAgICAgICAgIGFjdGl2ZVNo
YWRvd0luc2VydGlvblBvaW50cy5hcHBlbmQoZmlyc3RBY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2lu
dCk7CiAgICAgfQogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCiAgICAgZm9yIChzaXplX3QgaSA9
IGFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50cy5zaXplKCk7IGkgPiAwOyAtLWkpIHsKICAgICAg
ICAgSFRNTFNoYWRvd0VsZW1lbnQqIHNoYWRvd0VsZW1lbnQgPSBhY3RpdmVTaGFkb3dJbnNlcnRp
b25Qb2ludHNbaSAtIDFdOwogICAgICAgICBTaGFkb3dSb290KiByb290ID0gc2hhZG93RWxlbWVu
dC0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKQEAgLTI2Miw2ICsyNjMsOSBAQCB2b2lkIENvbnRl
bnREaXN0cmlidXRvcjo6ZGlzdHJpYnV0ZShFbGVtZW50KiBob3N0KQogICAgICAgICAgICAgICAg
IHNoYWRvdy0+aW52YWxpZGF0ZURpc3RyaWJ1dGlvbigpOwogICAgICAgICB9CiAgICAgfQorI2Vs
c2UKKyAgICBBU1NFUlQoIWFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50cy5zaXplKCkpOworI2Vu
ZGlmCiB9CiAKIGJvb2wgQ29udGVudERpc3RyaWJ1dG9yOjppbnZhbGlkYXRlKEVsZW1lbnQqIGhv
c3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0
b3JRdWVyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JR
dWVyeS5jcHAKaW5kZXggNjExOGM1MmM4MTE0YjUzY2NjZjAwMTk0MWMzNTAzNWRlNDEyMWYyZC4u
YTY4OGY0Y2JkZDA4YTk1OTYwNmVlZjMzNzY5YzdhNmY4MmZlNjVhNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcApAQCAtNjgs
OCArNjgsNyBAQCBDb250ZW50U2VsZWN0b3JRdWVyeTo6Q29udGVudFNlbGVjdG9yUXVlcnkoSW5z
ZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50KQogICAgIDogbV9pbnNlcnRpb25Qb2ludChpbnNl
cnRpb25Qb2ludCkKICAgICAsIG1fc2VsZWN0b3JDaGVja2VyKGluc2VydGlvblBvaW50LT5kb2N1
bWVudCgpKQogewotICAgIGlmIChpbnNlcnRpb25Qb2ludC0+aXNTZWxlY3RWYWxpZCgpKQotICAg
ICAgICBtX3NlbGVjdG9ycy5pbml0aWFsaXplKGluc2VydGlvblBvaW50LT5zZWxlY3Rvckxpc3Qo
KSk7CisgICAgbV9zZWxlY3RvcnMuaW5pdGlhbGl6ZShpbnNlcnRpb25Qb2ludC0+c2VsZWN0b3JM
aXN0KCkpOwogfQogCiBib29sIENvbnRlbnRTZWxlY3RvclF1ZXJ5OjptYXRjaGVzKGNvbnN0IFZl
Y3RvcjxSZWZQdHI8Tm9kZT4gPiYgc2libGluZ3MsIGludCBudGgpIGNvbnN0CkBAIC03NywxNiAr
NzYsMTcgQEAgYm9vbCBDb250ZW50U2VsZWN0b3JRdWVyeTo6bWF0Y2hlcyhjb25zdCBWZWN0b3I8
UmVmUHRyPE5vZGU+ID4mIHNpYmxpbmdzLCBpbnQgbnQKICAgICBOb2RlKiBub2RlID0gc2libGlu
Z3NbbnRoXS5nZXQoKTsKICAgICBBU1NFUlQobm9kZSk7CiAKLSAgICBpZiAobV9pbnNlcnRpb25Q
b2ludC0+c2VsZWN0KCkuaXNOdWxsKCkgfHwgbV9pbnNlcnRpb25Qb2ludC0+c2VsZWN0KCkuaXNF
bXB0eSgpKQorICAgIHN3aXRjaCAobV9pbnNlcnRpb25Qb2ludC0+cHJlbWF0Y2gobm9kZSkpIHsK
KyAgICBjYXNlIEluc2VydGlvblBvaW50OjpQcmVtYXRjaEZvcmNlTWF0Y2g6CiAgICAgICAgIHJl
dHVybiB0cnVlOwotCi0gICAgaWYgKCFtX2luc2VydGlvblBvaW50LT5pc1NlbGVjdFZhbGlkKCkp
CisgICAgY2FzZSBJbnNlcnRpb25Qb2ludDo6UHJlbWF0Y2hGb3JjZVJlamVjdDoKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFub2RlLT5pc0VsZW1lbnROb2RlKCkpCisgICAgY2Fz
ZSBJbnNlcnRpb25Qb2ludDo6UHJlbWF0Y2hNYXRjaFNlbGVjdDoKKyAgICAgICAgcmV0dXJuIG5v
ZGUtPmlzRWxlbWVudE5vZGUoKSAmJiBtX3NlbGVjdG9ycy5tYXRjaGVzKG1fc2VsZWN0b3JDaGVj
a2VyLCBzaWJsaW5ncywgbnRoKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIG1fc2VsZWN0b3Jz
Lm1hdGNoZXMobV9zZWxlY3RvckNoZWNrZXIsIHNpYmxpbmdzLCBudGgpOworICAgIH0KIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5j
cHAKaW5kZXggMzdkNTcwYjViYTYxMjA2OTk3NmYxOGZlN2NmYjM5ZDE1MDJhNGU1ZC4uZGNjN2Vh
MDJlZTJkMDNlOTQ3ODA1MTBjMTVkYjgyOWI5MGU3MzI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCkBAIC01MSw2ICs1MSw4IEBA
IGNvbnN0IFF1YWxpZmllZE5hbWUmIEhUTUxDb250ZW50RWxlbWVudDo6Y29udGVudFRhZ05hbWUo
RG9jdW1lbnQqKQogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKwogUGFzc1Jl
ZlB0cjxIVE1MQ29udGVudEVsZW1lbnQ+IEhUTUxDb250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3Vt
ZW50KiBkb2N1bWVudCkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxDb250ZW50RWxl
bWVudChjb250ZW50VGFnTmFtZShkb2N1bWVudCksIGRvY3VtZW50KSk7CkBAIC03Miw2ICs3NCwx
NSBAQCBIVE1MQ29udGVudEVsZW1lbnQ6On5IVE1MQ29udGVudEVsZW1lbnQoKQogewogfQogCitJ
bnNlcnRpb25Qb2ludDo6UHJlbWF0Y2hSZXN1bHQgSFRNTENvbnRlbnRFbGVtZW50OjpwcmVtYXRj
aChOb2RlKikKK3sKKyAgICBpZiAoc2VsZWN0KCkuaXNOdWxsKCkgfHwgc2VsZWN0KCkuaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm4gUHJlbWF0Y2hGb3JjZU1hdGNoOworICAgIGlmICghaXNTZWxl
Y3RWYWxpZCgpKQorICAgICAgICByZXR1cm4gUHJlbWF0Y2hGb3JjZVJlamVjdDsKKyAgICByZXR1
cm4gUHJlbWF0Y2hNYXRjaFNlbGVjdDsKK30KKwogY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MQ29u
dGVudEVsZW1lbnQ6OnNlbGVjdCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGdldEF0dHJpYnV0ZShz
ZWxlY3RBdHRyKTsKQEAgLTE5Miw1ICsyMDMsNyBAQCBib29sIEhUTUxDb250ZW50RWxlbWVudDo6
dmFsaWRhdGVTZWxlY3QoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCisjZW5kaWYgLy8g
aWYgRU5BQkxFKFNIQURPV19ET00pCiAKIH0KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaAppbmRleCBhMzE4Y2Y3OGJlYzY5M2RhMTc4OGJlMmYx
Yjc0NGQ1ZjQ1ZTFjNTJmLi5lMTZlZWQ0YzQ1OGRhNzIwMDYwMzgzNmZmMmEzZmM1YzFlNTVjYTk4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQu
aApAQCAtMzcsNiArMzcsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKKwogY2xhc3MgSFRNTENvbnRlbnRFbGVtZW50IDogcHVibGljIEluc2VydGlv
blBvaW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSYgY29udGVu
dFRhZ05hbWUoRG9jdW1lbnQqKTsKQEAgLTQ2LDExICs0OCwxMyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB+SFRNTENvbnRlbnRFbGVtZW50KCk7CiAKICAgICB2b2lkIHNldFNlbGVjdChjb25zdCBB
dG9taWNTdHJpbmcmKTsKLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VsZWN0KCkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGlzU2VsZWN0VmFsaWQoKTsKLSAgICB2aXJ0dWFsIGNv
bnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JMaXN0KCk7CisgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBzZWxlY3QoKSBjb25zdDsKKworICAgIHZpcnR1YWwgUHJlbWF0Y2hSZXN1bHQgcHJlbWF0
Y2goTm9kZSopIE9WRVJSSURFOworICAgIHZpcnR1YWwgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBz
ZWxlY3Rvckxpc3QoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFR5cGUgaW5zZXJ0aW9uUG9pbnRU
eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQ29udGVudEluc2VydGlvblBvaW50OyB9CiAg
ICAgdmlydHVhbCBib29sIGNhbkFmZmVjdFNlbGVjdG9yKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1NlbGVjdFZhbGlkKCk7CiAKIHByb3RlY3Rl
ZDoKICAgICBIVE1MQ29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Kik7CkBAIC03NywxMCArODEsMzQgQEAgaW5saW5lIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgSFRN
TENvbnRlbnRFbGVtZW50OjpzZWxlY3Rvckxpc3QoKQogICAgIHJldHVybiBtX3NlbGVjdG9yTGlz
dDsKIH0KIAorI2Vsc2UKKworLy8gRklYTUU6IHNob3VsZG4ndCBpbmhlcml0IGZyb20gSW5zZXJ0
aW9uUG9pbnQ6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMzMzkK
K2NsYXNzIEhUTUxDb250ZW50RWxlbWVudCA6IHB1YmxpYyBJbnNlcnRpb25Qb2ludCB7CitwdWJs
aWM6CisgICAgc3RhdGljIGNvbnN0IFF1YWxpZmllZE5hbWUmIGNvbnRlbnRUYWdOYW1lKERvY3Vt
ZW50Kik7CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MQ29udGVudEVsZW1lbnQ+IGNyZWF0
ZShEb2N1bWVudCogZG9jdW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEhUTUxDb250ZW50RWxlbWVudChjb250ZW50VGFnTmFtZShkb2N1bWVudCksIGRvY3VtZW50KSk7
CisgICAgfQorCisgICAgdmlydHVhbCBQcmVtYXRjaFJlc3VsdCBwcmVtYXRjaChOb2RlKikgT1ZF
UlJJREUgeyByZXR1cm4gUHJlbWF0Y2hGb3JjZU1hdGNoOyB9CisgICAgdmlydHVhbCBUeXBlIGlu
c2VydGlvblBvaW50VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIENvbnRlbnRJbnNlcnRp
b25Qb2ludDsgfQorICAgIHZpcnR1YWwgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxp
c3QoKSBPVkVSUklERSB7IHJldHVybiBlbXB0eVNlbGVjdG9yTGlzdCgpOyB9CisKK3Byb3RlY3Rl
ZDoKKyAgICBIVE1MQ29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQorICAgICAgICA6IEluc2VydGlvblBvaW50KHRhZ05hbWUsIGRv
Y3VtZW50KQorICAgIHsgfQorfTsKKworI2VuZGlmIC8vIGlmIEVOQUJMRShTSEFET1dfRE9NKQor
CiBpbmxpbmUgYm9vbCBpc0hUTUxDb250ZW50RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQogewog
ICAgIEFTU0VSVChub2RlKTsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MQ29udGVu
dEVsZW1lbnQ6OmNvbnRlbnRUYWdOYW1lKG5vZGUtPmRvY3VtZW50KCkpKTsKKyAgICByZXR1cm4g
bm9kZS0+aXNJbnNlcnRpb25Qb2ludCgpICYmIHRvSW5zZXJ0aW9uUG9pbnQobm9kZSktPmluc2Vy
dGlvblBvaW50VHlwZSgpID09IEluc2VydGlvblBvaW50OjpDb250ZW50SW5zZXJ0aW9uUG9pbnQ7
CiB9CiAKIGlubGluZSBIVE1MQ29udGVudEVsZW1lbnQqIHRvSFRNTENvbnRlbnRFbGVtZW50KE5v
ZGUqIG5vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hh
ZG93RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxl
bWVudC5jcHAKaW5kZXggMTc0N2VjZDE3MjkwOWNmMjFlZWNmNjIzYjY3OTczMGIzZmQ1NTBkNy4u
NjM3NGRjN2RjYTQyZTdjNDcxYTdiM2IyNTdiYjk4YmQ0MDgyNDNmMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcApAQCAtMzUsNiArMzUs
OCBAQAogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNT
dHJpbmcuaD4KIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIERvY3VtZW50OwpAQCAtNTQsMTcgKzU2LDYgQEAgSFRNTFNoYWRvd0VsZW1lbnQ6
On5IVE1MU2hhZG93RWxlbWVudCgpCiB7CiB9CiAKLWNvbnN0IEF0b21pY1N0cmluZyYgSFRNTFNo
YWRvd0VsZW1lbnQ6OnNlbGVjdCgpIGNvbnN0Ci17Ci0gICAgIHJldHVybiBudWxsQXRvbTsKLX0K
LQotY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBIVE1MU2hhZG93RWxlbWVudDo6ZW1wdHlTZWxlY3Rv
ckxpc3QoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ1NTU2VsZWN0b3JMaXN0LCBzZWxl
Y3Rvckxpc3QsIChDU1NTZWxlY3Rvckxpc3QoKSkpOwotICAgIHJldHVybiBzZWxlY3Rvckxpc3Q7
Ci19Ci0KIFNoYWRvd1Jvb3QqIEhUTUxTaGFkb3dFbGVtZW50OjpvbGRlclNoYWRvd1Jvb3QoKQog
ewogICAgIGlmICghdHJlZVNjb3BlKCktPnJvb3ROb2RlKCktPmlzU2hhZG93Um9vdCgpKQpAQCAt
ODAsMyArNzEsNSBAQCBTaGFkb3dSb290KiBIVE1MU2hhZG93RWxlbWVudDo6b2xkZXJTaGFkb3dS
b290KCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gaWYgRU5BQkxF
KFNIQURPV19ET00pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1M
U2hhZG93RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0Vs
ZW1lbnQuaAppbmRleCAzMWVlODY4MzMzMjA3Zjk5YTk2YjEyNDY4NTVlNjlmN2RiMTk1NGM3Li5m
ZDExNTkyMWJjOTI3NWUwOGM5ZjhmZGM5MWM5N2RhNmYxM2JjMDA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmgKQEAgLTM2LDE0ICszNiwxNSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKwogY2xh
c3MgSFRNTFNoYWRvd0VsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9pbnQgewogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxTaGFkb3dFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKICAgICB2aXJ0dWFsIH5IVE1MU2hhZG93RWxlbWVu
dCgpOwogCi0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCgpIGNvbnN0Owot
ICAgIHZpcnR1YWwgYm9vbCBpc1NlbGVjdFZhbGlkKCkgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsg
fQorICAgIHZpcnR1YWwgUHJlbWF0Y2hSZXN1bHQgcHJlbWF0Y2goTm9kZSopIHsgcmV0dXJuIFBy
ZW1hdGNoRm9yY2VNYXRjaDsgfQogICAgIHZpcnR1YWwgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBz
ZWxlY3Rvckxpc3QoKSB7IHJldHVybiBlbXB0eVNlbGVjdG9yTGlzdCgpOyB9CiAgICAgdmlydHVh
bCBUeXBlIGluc2VydGlvblBvaW50VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFNoYWRv
d0luc2VydGlvblBvaW50OyB9CiAKQEAgLTUxLDggKzUyLDYgQEAgcHVibGljOgogCiBwcml2YXRl
OgogICAgIEhUTUxTaGFkb3dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCop
OwotCi0gICAgc3RhdGljIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgZW1wdHlTZWxlY3Rvckxpc3Qo
KTsKIH07CiAKIGlubGluZSBib29sIGlzSFRNTFNoYWRvd0VsZW1lbnQoY29uc3QgTm9kZSogbm9k
ZSkKQEAgLTczLDYgKzcyLDE1IEBAIGlubGluZSBjb25zdCBIVE1MU2hhZG93RWxlbWVudCogdG9I
VE1MU2hhZG93RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBIVE1MU2hhZG93RWxlbWVudCo+KG5vZGUpOwogfQogCisjZWxzZQorCitjbGFzcyBI
VE1MU2hhZG93RWxlbWVudCB7IH07CitpbmxpbmUgYm9vbCBpc0hUTUxTaGFkb3dFbGVtZW50KGNv
bnN0IE5vZGUqKSB7IHJldHVybiBmYWxzZTsgfQoraW5saW5lIEhUTUxTaGFkb3dFbGVtZW50KiB0
b0hUTUxTaGFkb3dFbGVtZW50KE5vZGUqKSB7IHJldHVybiAwOyB9CitpbmxpbmUgY29uc3QgSFRN
TFNoYWRvd0VsZW1lbnQqIHRvSFRNTFNoYWRvd0VsZW1lbnQoY29uc3QgTm9kZSopIHsgcmV0dXJu
IDA7IH0KKworI2VuZGlmIC8vIGlmIEVOQUJMRShTSEFET1dfRE9NKQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBIVE1MU2hhZG93RWxlbWVudF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKaW5kZXggNWFjNTIwZDU1ZWQzOTBm
ZTJmYjk3ZjEwMDhiYWM5MzY2OWYyNTg1MC4uOTZmYjI1MDBmMjBhYzdhZmM5M2M4YWU4ZTVmMmVj
MjdiZWM3ZWRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0
aW9uUG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBv
aW50LmNwcApAQCAtMTkxLDYgKzE5MSwxMiBAQCBib29sIEluc2VydGlvblBvaW50Ojpjb250YWlu
cyhjb25zdCBOb2RlKiBub2RlKSBjb25zdAogICAgIHJldHVybiBtX2Rpc3RyaWJ1dGlvbi5jb250
YWlucyhjb25zdF9jYXN0PE5vZGUqPihub2RlKSkgfHwgKG5vZGUtPmlzU2hhZG93Um9vdCgpICYm
IFNjb3BlQ29udGVudERpc3RyaWJ1dGlvbjo6YXNzaWduZWRUbyh0b1NoYWRvd1Jvb3Qobm9kZSkp
ID09IHRoaXMpOwogfQogCitjb25zdCBDU1NTZWxlY3Rvckxpc3QmIEluc2VydGlvblBvaW50Ojpl
bXB0eVNlbGVjdG9yTGlzdCgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChDU1NTZWxlY3Rv
ckxpc3QsIHNlbGVjdG9yTGlzdCwgKENTU1NlbGVjdG9yTGlzdCgpKSk7CisgICAgcmV0dXJuIHNl
bGVjdG9yTGlzdDsKK30KKwogSW5zZXJ0aW9uUG9pbnQqIHJlc29sdmVSZXByb2plY3Rpb24oY29u
c3QgTm9kZSogcHJvamVjdGVkTm9kZSkKIHsKICAgICBJbnNlcnRpb25Qb2ludCogaW5zZXJ0aW9u
UG9pbnQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0
aW9uUG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgK
aW5kZXggMjBjZTc3ZDBhMzc5ZWZjYzI0NDhhNjU4OTlkNmM1OGYzN2Y5YzliOC4uZTE3MzNkM2E3
MDNmODJlM2QzZGY4YzI0ZDg5NmRlNGJjNDg0MGI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCkBAIC00OCw2ICs0OCwxMiBAQCBwdWJsaWM6CiAgICAg
ICAgIENvbnRlbnRJbnNlcnRpb25Qb2ludAogICAgIH07CiAKKyAgICBlbnVtIFByZW1hdGNoUmVz
dWx0IHsKKyAgICAgICAgUHJlbWF0Y2hGb3JjZU1hdGNoLAorICAgICAgICBQcmVtYXRjaEZvcmNl
UmVqZWN0LAorICAgICAgICBQcmVtYXRjaE1hdGNoU2VsZWN0CisgICAgfTsKKwogICAgIHZpcnR1
YWwgfkluc2VydGlvblBvaW50KCk7CiAKICAgICBib29sIGhhc0Rpc3RyaWJ1dGlvbigpIGNvbnN0
IHsgcmV0dXJuICFtX2Rpc3RyaWJ1dGlvbi5pc0VtcHR5KCk7IH0KQEAgLTU4LDggKzY0LDcgQEAg
cHVibGljOgogCiAgICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gZ2V0RGlzdHJpYnV0ZWROb2Rlcygp
IGNvbnN0OwogCi0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCgpIGNvbnN0
ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpID0gMDsKKyAgICB2aXJ0dWFs
IFByZW1hdGNoUmVzdWx0IHByZW1hdGNoKE5vZGUqKSA9IDA7CiAgICAgdmlydHVhbCBjb25zdCBD
U1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgpID0gMDsKICAgICB2aXJ0dWFsIFR5cGUgaW5z
ZXJ0aW9uUG9pbnRUeXBlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBjYW5BZmZlY3RT
ZWxlY3RvcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC05MCw2ICs5NSw4IEBAIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc0lu
c2VydGlvblBvaW50Tm9kZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KIAorICAg
IHN0YXRpYyBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIGVtcHR5U2VsZWN0b3JMaXN0KCk7CisKIHBy
aXZhdGU6CiAKICAgICBDb250ZW50RGlzdHJpYnV0aW9uIG1fZGlzdHJpYnV0aW9uOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVs
ZW1lbnQuY3BwCmluZGV4IDdkZjcwMWUxMjVmMDEyNWFlYmYyYzYwZDhlMDZiYzIxMGEyMDQwZGYu
Ljc5YTFkMjJiODFlOTNiNTViMmNlNmNjMWJhN2Y3YmQyYjRkOTE2ZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVu
dC5jcHAKQEAgLTEwOSw4ICsxMDksOSBAQCB2b2lkIFRleHRGaWVsZERlY29yYXRpb25FbGVtZW50
OjpkZWNvcmF0ZShIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCwgYm9vbCB2aXNpYmxlKQogICAgIGJv
eC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEJveEFsaWduLCBDU1NW
YWx1ZUNlbnRlcik7CiAgICAgQVNTRVJUKGV4aXN0aW5nUm9vdC0+Y2hpbGROb2RlQ291bnQoKSA9
PSAxKTsKICAgICB0b0hUTUxFbGVtZW50KGV4aXN0aW5nUm9vdC0+Zmlyc3RDaGlsZCgpKS0+c2V0
SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEJveEZsZXgsIDEuMCwgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOworI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAgIGJv
eC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0VsZW1lbnQ6OmNyZWF0ZShIVE1MTmFtZXM6OnNoYWRv
d1RhZywgaW5wdXQtPmRvY3VtZW50KCkpKTsKLQorI2VuZGlmCiAgICAgc2V0SW5saW5lU3R5bGVQ
cm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIHZpc2libGUgPyBDU1NWYWx1ZUJsb2NrIDogQ1NT
VmFsdWVOb25lKTsKICAgICBib3gtPmFwcGVuZENoaWxkKHRoaXMpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDlhNDM3OWYzNTE3ZDYzMDdiNTcwOTEyMWE2NWEwYmU3
Y2JjMTgyMzEuLmFlYWRjYzBjZjgxNzJiMTgwYTMyMWU2OTdlMmNmMmY4ZWIyYjAzYjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMxMCw3ICszMTAsMTEgQEAgYm9vbCBJ
bnRlcm5hbHM6OmlzVmFsaWRDb250ZW50U2VsZWN0KEVsZW1lbnQqIGluc2VydGlvblBvaW50LCBF
eGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIHJl
dHVybiB0b0luc2VydGlvblBvaW50KGluc2VydGlvblBvaW50KS0+aXNTZWxlY3RWYWxpZCgpOwor
I2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgIHJldHVybiBpc0hUTUxDb250ZW50RWxlbWVudChp
bnNlcnRpb25Qb2ludCkgJiYgdG9IVE1MQ29udGVudEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQpLT5p
c1NlbGVjdFZhbGlkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBO
b2RlKiBJbnRlcm5hbHM6OnRyZWVTY29wZVJvb3ROb2RlKE5vZGUqIG5vZGUsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJL
aXRFeHBvcnRzLmRlZi5pbiBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0
RXhwb3J0cy5kZWYuaW4KaW5kZXggMWQwZDFkNDZiZDdiM2Y3YjJiYjliMjA0Yzg5MTBmOTliM2Vh
Njc2Mi4uNDYyZWYxMTlhZTI0NjE1ZTk3ZThjN2NlYzJjMGE3NWQ0ODdiMDYyOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmlu
CkBAIC0xNzMsNyArMTczLDYgQEAgRVhQT1JUUwogICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWlj
U3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJp
bmdJbXBsQDJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdlYkNvcmVAQFlBUEFWU3Ry
dWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQQlVDbGFzc0luZm9AM0BA
WgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVQ
QVYxMkBBQlZTdHJpbmdAV1RGQEBAWgotICAgICAgICA/Y3JlYXRlQEhUTUxDb250ZW50RWxlbWVu
dEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVA
QEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBXZWJDb3JlQEBT
QT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1JlZlB0ckBWRG9j
dW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBANEBIMUhAWgog
ICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFz
c1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0
QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FW
PyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAUEFWRXhl
Y1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0
QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlCdWZmZXJA
V1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgpAQCAtNTYxLDcg
KzU2MCw2IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZFNsb3dDYXNlQEF0b21pY1N0cmluZ0BXVEZA
QENBP0FWPyRQYXNzUmVmUHRyQFZTdHJpbmdJbXBsQFdURkBAQDJAUEFWU3RyaW5nSW1wbEAyQEBa
CiAgICAgICAgID9jYWNoZURPTVN0cnVjdHVyZUBXZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NA
QFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWMjNAUEJVQ2xhc3NJbmZvQDNAQFoKICAgICAgICAg
P2NoaWxkSXRlbVdpdGhUYXJnZXRASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFUEFWMTJAQUJWU3Ry
aW5nQFdURkBAQFoKLSAgICAgICAgP2NyZWF0ZUBIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBA
U0E/QVY/JFBhc3NSZWZQdHJAVkhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQQVZE
b2N1bWVudEAyQEBaCiAgICAgICAgID9jcmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBhc3NS
ZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdlYkNv
cmVAQEA0QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRASDFIQFoKICAgICAgICAgP2Ny
ZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAgICAg
ICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0
ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBKU0NA
QFZKU1ZhbHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBA
V1RGQEAkMDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdURkBA
JDAwQDRAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKQEAgLTk0OSw3ICs5NDcsNiBAQCBF
WFBPUlRTCiAgICAgICAgID9hZGRTbG93Q2FzZUBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8kUGFz
c1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBBVlN0cmluZ0ltcGxAMkBAWgogICAgICAgICA/
Y2FjaGVET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUds
b2JhbE9iamVjdEAxQFBBVjIzQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9jaGlsZEl0ZW1X
aXRoVGFyZ2V0QEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFCRVBBVjEyQEFCVlN0cmluZ0BXVEZAQEBa
Ci0gICAgICAgID9jcmVhdGVASFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNz
UmVmUHRyQFZIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAQFdURkBAUEFWRG9jdW1lbnRAMkBA
WgogICAgICAgICA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5n
ZUBXZWJDb3JlQEBAV1RGQEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVudEBXZWJDb3JlQEBANEBWPyRQ
YXNzUmVmUHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFs
aXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2Ny
aXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBT
ZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2
QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRA
UEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2Vy
aWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCkBAIC0xMzM3LDcgKzEzMzQsNiBAQCBFWFBPUlRTCiAg
ICAgICAgID9hZGRTbG93Q2FzZUBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8kUGFzc1JlZlB0ckBW
U3RyaW5nSW1wbEBXVEZAQEAyQFBBVlN0cmluZ0ltcGxAMkBAWgogICAgICAgICA/Y2FjaGVET01T
dHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVj
dEAxQFBBVjIzQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9jaGlsZEl0ZW1XaXRoVGFyZ2V0
QEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFCRVBBVjEyQEFCVlN0cmluZ0BXVEZAQEBaCi0gICAgICAg
ID9jcmVhdGVASFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZI
VE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAQFdURkBAUEFWRG9jdW1lbnRAMkBAWgogICAgICAg
ICA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3Jl
QEBAV1RGQEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVudEBXZWJDb3JlQEBANEBWPyRQYXNzUmVmUHRy
QFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlw
dFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVA
V2ViQ29yZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVk
U2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVj
dG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0
b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlv
bkVycm9yTW9kZUAyQEBaCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182078</attachid>
            <date>2013-01-10 00:05:52 -0800</date>
            <delta_ts>2013-01-10 20:35:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106283-20130110170255.patch</filename>
            <type>text/plain</type>
            <size>23400</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5Mjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ1MWNiYzE0MWUwMDkw
MDI3NDNmMmRjYTRlMWRkMzYyZmUxZjNiZi4uMmJmNDE1MTVmMmQ3MzBkZGEwNjZlMmQ5YjRhOTY5
NmJiYjI4MDVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEzLTAxLTA5ICBIYWpp
bWUgTW9ycml0YSA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDYyODMKKyAgICAgICAgW1NoYWRvdyBET01dIEhU
TUxDb250ZW50RWxlbWVudCBhbmQgSFRNTFNoYWRvd0VsZW1lbnQgc2hvdWxkIGJlIGJlaGluZCBT
SEFET1dfRE9NCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLiBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIFRo
aXMgY2hhbmdlIG1vdmVzIDxjb250ZW50PiBhbmQgPHNoYWRvdz4gYmVoaW5kCisgICAgICAgIEVO
QUJMRShTSEFET1dfRE9NKS4gTm90ZSB0aGF0IGVtcHR5IHN0dWIgZGVmaW5pdGlvbnMgYXJlIHJl
bWFpbmluZworICAgICAgICBldmVuIGFmdGVyIHRoaXMgY2hhZ25lLiBUaGV5IGFyZSBmb3IgbWlu
aW1pemluZyAjaWYvI2VuZGlmIHVzYWdlCisgICAgICAgIGFuZCB3b24ndCBodXJ0IGNvZGUgc2l6
ZS4KKworICAgICAgICBUbyBtYWtlIHRoZSBtYWluIGNoYW5nZSBwb3NzaWJsZSwgdGhpcyBjaGFu
Z2UgYWxzbyBpbnRyb2R1Y2VzCisgICAgICAgIEluc2VydGlvblBvaW50OjpwcmVtYXRjaCgpIHRv
IGxldCBXZWJDb3JlIEhUTUxDb250ZW50RWxlbWVudAorICAgICAgICBzdWJsYXNzZXMgZW11bGF0
ZSBmdWxsLWZlYXR1cmUgSFRNTENvbnRlbnRFbGVtZW50IGV2ZW4gd2l0aG91dAorICAgICAgICBF
TkFCTEUoU0hBRE9XX0RPTSkuIERldGFpbHNTdW1tYXJ5RWxlbWVudCBlbXBsb3lzIHRoaXMgbWVj
aGFuaXNtLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaHRtbC9IVE1M
RGV0YWlsc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV0YWlsc1N1bW1hcnlFbGVt
ZW50OjpEZXRhaWxzU3VtbWFyeUVsZW1lbnQpOgorICAgICAgICAoRGV0YWlsc1N1bW1hcnlFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9D
b250ZW50RGlzdHJpYnV0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudERpc3RyaWJ1
dG9yOjpkaXN0cmlidXRlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JR
dWVyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VsZWN0b3JRdWVyeTo6Q29udGVu
dFNlbGVjdG9yUXVlcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlbGVjdG9yUXVlcnk6
Om1hdGNoZXMpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb250ZW50RWxlbWVu
dDo6cHJlbWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnRlbnRFbGVtZW50OjpzZWxl
Y3QpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChIVE1MQ29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTENvbnRlbnRFbGVtZW50Ojppc1NlbGVjdFZhbGlkKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxDb250ZW50RWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxD
b250ZW50RWxlbWVudDo6SFRNTENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL3NoYWRv
dy9IVE1MU2hhZG93RWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRNTFNoYWRv
d0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNo
YWRvd0VsZW1lbnQ6OnByZW1hdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OmlzSFRNTFNoYWRvd0Vs
ZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6dG9IVE1MU2hhZG93RWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
ZXJ0aW9uUG9pbnQ6OmVtcHR5U2VsZWN0b3JMaXN0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50Lmg6CisgICAgICAgIChJbnNlcnRpb25Q
b2ludCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmRlY29y
YXRlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbHM6OmlzVmFsaWRDb250ZW50U2VsZWN0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsczo6Y3JlYXRlQ29udGVudEVsZW1lbnQpOgorCiAyMDEzLTAxLTA5ICBKb2huIEouIEJh
cnRvbiAgPGpvaG5qYmFydG9uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBEb24ndCB0aHJvdyBleGNlcHRpb25zIHdoZW4gd2UgZG9uJ3QgaGF2ZSBhIGNhbGxzdGFjawpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCmluZGV4IDZiNTM5MTZkZWNlODhmOWY3NDRhMDg0MDM3MGM0NDYzOGQ5MjNk
NzEuLjdiOWU1ZjBiMzBkNzUxMjhhMDFkZjk5MTY1ZjU1YjU5NDcwY2Q1ZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wMS0wOSAgSGFqaW1lIE1vcnJpdGEgPG1vcnJp
dGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA2MjgzCisgICAgICAgIFtTaGFkb3cgRE9NXSBIVE1MQ29udGVudEVsZW1lbnQg
YW5kIEhUTUxTaGFkb3dFbGVtZW50IHNob3VsZCBiZSBiZWhpbmQgU0hBRE9XX0RPTQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0LnZjcHJv
ai9XZWJLaXRFeHBvcnRzLmRlZi5pbjoKKwogMjAxMy0wMS0wOSAgSGFqaW1lIE1vcnJpdGEgIDxt
b3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgW1NoYWRvdyBET01dIERpc3RyaWJ1dGlvbiBy
ZWxhdGVkIGNvZGUgb24gRWxlbWVudFNoYWRvdyBzaG91bGQgYmUgbWluaW1pemVkLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgppbmRleCAyZGVmYjU5MmY1ZmU1NzcwYWVkYzdmODM5NzZhZTc1ZjhiNWJkMzI3
Li5iNDhmNmEyNjZlNDc1ZjI3YWQxNDI3YjJjYjIyMTkwMWI1N2UwMTM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgpAQCAtNTEzLDcgKzUxMyw2IEBAIF9fWk43V2ViQ29yZTE3Y2FjaGVET01TdHJ1Y3R1
cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQS05TMl85CiBfX1pO
N1dlYkNvcmUxN29wZW5UZW1wb3JhcnlGaWxlRVJLTjNXVEY2U3RyaW5nRVJpCiBfX1pON1dlYkNv
cmUxN3VzZXJWaXNpYmxlU3RyaW5nRVA1TlNVUkwKIF9fWk43V2ViQ29yZTE4RE9NV2luZG93RXh0
ZW5zaW9uQzFFUE5TXzVGcmFtZUVQTlNfMTVET01XcmFwcGVyV29ybGRFCi1fX1pON1dlYkNvcmUx
OEhUTUxDb250ZW50RWxlbWVudDZjcmVhdGVFUE5TXzhEb2N1bWVudEUKIF9fWk43V2ViQ29yZTEw
UGFzdGVib2FyZDE3Z2VuZXJhbFBhc3RlYm9hcmRFdgogX19aTjdXZWJDb3JlMTBQYXN0ZWJvYXJk
MTR3cml0ZVBsYWluVGV4dEVSS04zV1RGNlN0cmluZ0VOUzBfMThTbWFydFJlcGxhY2VPcHRpb25F
CiBfX1pON1dlYkNvcmUxOENvbnRlbnREaXN0cmlidXRvcjIyZW5zdXJlU2VsZWN0RmVhdHVyZVNl
dEVQTlNfMTNFbGVtZW50U2hhZG93RQpAQCAtMjcxNCw2ICsyNzEzLDEwIEBAIF93a0NhcHRpb25B
cHBlYXJhbmNlR2V0VGV4dEVkZ2VTdHlsZQogX3drQ2FwdGlvbkFwcGVhcmFuY2VHZXRTZXR0aW5n
c0NoYW5nZWROb3RpZmljYXRpb24KICNlbmRpZgogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCitf
X1pON1dlYkNvcmUxOEhUTUxDb250ZW50RWxlbWVudDZjcmVhdGVFUE5TXzhEb2N1bWVudEUKKyNl
bmRpZgorCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQogX19aTjdXZWJDb3JlMjJSdW50aW1lRW5h
YmxlZEZlYXR1cmVzMTlpc0NTU1JlZ2lvbnNFbmFibGVkRQogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKaW5kZXggYTI3ODZiYzZmODQyNGNiNzViYzQw
ZTQ0MTc5YTQ1Y2YxMDk0OGU1OS4uYjg2ZjZkMzUxYmZmODJjNzRlZWMyYTMxNWZmZDM5ODcyZDRk
M2VjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcApAQCAt
NzEsOCArNzEsMTMgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBEZXRhaWxzU3VtbWFyeUVsZW1l
bnQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6IEhUTUxDb250ZW50RWxlbWVudChIVE1M
TmFtZXM6OndlYmtpdFNoYWRvd0NvbnRlbnRUYWcsIGRvY3VtZW50KQorICAgIHsgfQorCisgICAg
dmlydHVhbCBQcmVtYXRjaFJlc3VsdCBwcmVtYXRjaChOb2RlKiBub2RlKSBPVkVSUklERQogICAg
IHsKLSAgICAgICAgc2V0U2VsZWN0KHN1bW1hcnlRdWVyeVNlbGVjdG9yKCkpOworICAgICAgICBp
ZiAobm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIG5vZGUgPT0gbm9kZS0+cGFyZW50Tm9kZSgpLT5x
dWVyeVNlbGVjdG9yKHN1bW1hcnlRdWVyeVNlbGVjdG9yKCksIEFTU0VSVF9OT19FWENFUFRJT04p
KQorICAgICAgICAgICAgcmV0dXJuIFByZW1hdGNoRm9yY2VNYXRjaDsKKyAgICAgICAgcmV0dXJu
IFByZW1hdGNoRm9yY2VSZWplY3Q7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUu
Y3BwCmluZGV4IGIxNmZhM2IxOGU0ZWE0NjFiNmMyMTgzYWRkZjFmZmYzMTEwNjQ3OGIuLjI1ZTlh
ZTQ2MDg4ZTIwNDcyY2NmMzEzMjZkODNhNTA0NjEwYjUzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0
VHlwZS5jcHAKQEAgLTQ5MCw4ICs0OTAsMTIgQEAgdm9pZCBJbnB1dFR5cGU6OmRlc3Ryb3lTaGFk
b3dTdWJ0cmVlKCkKICAgICAvLyBiZWVuIGNyZWF0ZWQgYnkgVGV4dEZpZWxkRGVjb3JhdGlvbkVs
ZW1lbnQsIGFuZCB3ZSBkb24ndCBhbGxvdyBhZGRpbmcKICAgICAvLyBBdXRob3JTaGFkb3dSb290
IHRvIEhUTUxJbnB1dEVsZW1lbnQuCiAgICAgd2hpbGUgKChyb290ID0gcm9vdC0+eW91bmdlclNo
YWRvd1Jvb3QoKSkpIHsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICAgICAgcm9vdC0+cmVt
b3ZlQWxsQ2hpbGRyZW4oKTsKICAgICAgICAgcm9vdC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0Vs
ZW1lbnQ6OmNyZWF0ZShzaGFkb3dUYWcsIGVsZW1lbnQoKS0+ZG9jdW1lbnQoKSkpOworI2Vsc2UK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisjZW5kaWYKICAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwCmluZGV4
IDBkM2RiZWEwYjhiN2NiMTY4MjIyY2JhZjgyZTA5NjgyNzNhYmI3YTkuLjg2N2ExNzQ1N2I1Mjll
ZjA4OWQ4MGIwZmQ4ODNlMTRhNjJjN2VlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcApAQCAtMjQ5LDYgKzI0OSw3IEBAIHZvaWQg
Q29udGVudERpc3RyaWJ1dG9yOjpkaXN0cmlidXRlKEVsZW1lbnQqIGhvc3QpCiAgICAgICAgICAg
ICBhY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2ludHMuYXBwZW5kKGZpcnN0QWN0aXZlU2hhZG93SW5z
ZXJ0aW9uUG9pbnQpOwogICAgIH0KIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAgIGZvciAo
c2l6ZV90IGkgPSBhY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2ludHMuc2l6ZSgpOyBpID4gMDsgLS1p
KSB7CiAgICAgICAgIEhUTUxTaGFkb3dFbGVtZW50KiBzaGFkb3dFbGVtZW50ID0gYWN0aXZlU2hh
ZG93SW5zZXJ0aW9uUG9pbnRzW2kgLSAxXTsKICAgICAgICAgU2hhZG93Um9vdCogcm9vdCA9IHNo
YWRvd0VsZW1lbnQtPmNvbnRhaW5pbmdTaGFkb3dSb290KCk7CkBAIC0yNjIsNiArMjYzLDkgQEAg
dm9pZCBDb250ZW50RGlzdHJpYnV0b3I6OmRpc3RyaWJ1dGUoRWxlbWVudCogaG9zdCkKICAgICAg
ICAgICAgICAgICBzaGFkb3ctPmludmFsaWRhdGVEaXN0cmlidXRpb24oKTsKICAgICAgICAgfQog
ICAgIH0KKyNlbHNlCisgICAgQVNTRVJUKCFhY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2ludHMuc2l6
ZSgpKTsKKyNlbmRpZgogfQogCiBib29sIENvbnRlbnREaXN0cmlidXRvcjo6aW52YWxpZGF0ZShF
bGVtZW50KiBob3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29u
dGVudFNlbGVjdG9yUXVlcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVu
dFNlbGVjdG9yUXVlcnkuY3BwCmluZGV4IDYxMThjNTJjODExNGI1M2NjY2YwMDE5NDFjMzUwMzVk
ZTQxMjFmMmQuLmE2ODhmNGNiZGQwOGE5NTk2MDZlZWYzMzc2OWM3YTZmODJmZTY1YTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JRdWVyeS5j
cHAKQEAgLTY4LDggKzY4LDcgQEAgQ29udGVudFNlbGVjdG9yUXVlcnk6OkNvbnRlbnRTZWxlY3Rv
clF1ZXJ5KEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCkKICAgICA6IG1faW5zZXJ0aW9u
UG9pbnQoaW5zZXJ0aW9uUG9pbnQpCiAgICAgLCBtX3NlbGVjdG9yQ2hlY2tlcihpbnNlcnRpb25Q
b2ludC0+ZG9jdW1lbnQoKSkKIHsKLSAgICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmlzU2VsZWN0VmFs
aWQoKSkKLSAgICAgICAgbV9zZWxlY3RvcnMuaW5pdGlhbGl6ZShpbnNlcnRpb25Qb2ludC0+c2Vs
ZWN0b3JMaXN0KCkpOworICAgIG1fc2VsZWN0b3JzLmluaXRpYWxpemUoaW5zZXJ0aW9uUG9pbnQt
PnNlbGVjdG9yTGlzdCgpKTsKIH0KIAogYm9vbCBDb250ZW50U2VsZWN0b3JRdWVyeTo6bWF0Y2hl
cyhjb25zdCBWZWN0b3I8UmVmUHRyPE5vZGU+ID4mIHNpYmxpbmdzLCBpbnQgbnRoKSBjb25zdApA
QCAtNzcsMTYgKzc2LDE3IEBAIGJvb2wgQ29udGVudFNlbGVjdG9yUXVlcnk6Om1hdGNoZXMoY29u
c3QgVmVjdG9yPFJlZlB0cjxOb2RlPiA+JiBzaWJsaW5ncywgaW50IG50CiAgICAgTm9kZSogbm9k
ZSA9IHNpYmxpbmdzW250aF0uZ2V0KCk7CiAgICAgQVNTRVJUKG5vZGUpOwogCi0gICAgaWYgKG1f
aW5zZXJ0aW9uUG9pbnQtPnNlbGVjdCgpLmlzTnVsbCgpIHx8IG1faW5zZXJ0aW9uUG9pbnQtPnNl
bGVjdCgpLmlzRW1wdHkoKSkKKyAgICBzd2l0Y2ggKG1faW5zZXJ0aW9uUG9pbnQtPnByZW1hdGNo
KG5vZGUpKSB7CisgICAgY2FzZSBJbnNlcnRpb25Qb2ludDo6UHJlbWF0Y2hGb3JjZU1hdGNoOgog
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICghbV9pbnNlcnRpb25Qb2ludC0+aXNTZWxl
Y3RWYWxpZCgpKQorICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6OlByZW1hdGNoRm9yY2VSZWplY3Q6
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghbm9kZS0+aXNFbGVtZW50Tm9kZSgp
KQorICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6OlByZW1hdGNoTWF0Y2hTZWxlY3Q6CisgICAgICAg
IHJldHVybiBub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgbV9zZWxlY3RvcnMubWF0Y2hlcyhtX3Nl
bGVjdG9yQ2hlY2tlciwgc2libGluZ3MsIG50aCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBt
X3NlbGVjdG9ycy5tYXRjaGVzKG1fc2VsZWN0b3JDaGVja2VyLCBzaWJsaW5ncywgbnRoKTsKKyAg
ICB9CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxD
b250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVu
dEVsZW1lbnQuY3BwCmluZGV4IDM3ZDU3MGI1YmE2MTIwNjk5NzZmMThmZTdjZmIzOWQxNTAyYTRl
NWQuLjAwYjRmNzEwOGJjZTgyNGJjZDZhNWMzZWY2NzI4NDBlOTRiNGM0MjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcApAQCAtNTEs
NiArNTEsOCBAQCBjb25zdCBRdWFsaWZpZWROYW1lJiBIVE1MQ29udGVudEVsZW1lbnQ6OmNvbnRl
bnRUYWdOYW1lKERvY3VtZW50KikKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKFNIQURPV19ET00p
CisKIFBhc3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBIVE1MQ29udGVudEVsZW1lbnQ6OmNy
ZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIVE1M
Q29udGVudEVsZW1lbnQoY29udGVudFRhZ05hbWUoZG9jdW1lbnQpLCBkb2N1bWVudCkpOwpAQCAt
NzIsNiArNzQsMTUgQEAgSFRNTENvbnRlbnRFbGVtZW50Ojp+SFRNTENvbnRlbnRFbGVtZW50KCkK
IHsKIH0KIAorSW5zZXJ0aW9uUG9pbnQ6OlByZW1hdGNoUmVzdWx0IEhUTUxDb250ZW50RWxlbWVu
dDo6cHJlbWF0Y2goTm9kZSopCit7CisgICAgaWYgKHNlbGVjdCgpLmlzTnVsbCgpIHx8IHNlbGVj
dCgpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIFByZW1hdGNoRm9yY2VNYXRjaDsKKyAgICBp
ZiAoIWlzU2VsZWN0VmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIFByZW1hdGNoRm9yY2VSZWplY3Q7
CisgICAgcmV0dXJuIFByZW1hdGNoTWF0Y2hTZWxlY3Q7Cit9CisKIGNvbnN0IEF0b21pY1N0cmlu
ZyYgSFRNTENvbnRlbnRFbGVtZW50OjpzZWxlY3QoKSBjb25zdAogewogICAgIHJldHVybiBnZXRB
dHRyaWJ1dGUoc2VsZWN0QXR0cik7CkBAIC0xOTIsNSArMjAzLDE4IEBAIGJvb2wgSFRNTENvbnRl
bnRFbGVtZW50Ojp2YWxpZGF0ZVNlbGVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
KyNlbHNlCiAKK1Bhc3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBIVE1MQ29udGVudEVsZW1l
bnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBIVE1MQ29udGVudEVsZW1lbnQoY29udGVudFRhZ05hbWUoZG9jdW1lbnQpLCBkb2N1bWVudCkp
OwogfQorCitIVE1MQ29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50RWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBJbnNlcnRpb25Q
b2ludCh0YWdOYW1lLCBkb2N1bWVudCkKK3sgfQorCisjZW5kaWYgLy8gaWYgRU5BQkxFKFNIQURP
V19ET00pCisKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRN
TENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVu
dEVsZW1lbnQuaAppbmRleCBhMzE4Y2Y3OGJlYzY5M2RhMTc4OGJlMmYxYjc0NGQ1ZjQ1ZTFjNTJm
Li4wYjllZDA5MmNhNzhhZTE4ZTA3ZjE0MTYxZWM3OGIyMjRjMjQzMGFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaApAQCAtMzcsNiArMzcs
OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKwog
Y2xhc3MgSFRNTENvbnRlbnRFbGVtZW50IDogcHVibGljIEluc2VydGlvblBvaW50IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSYgY29udGVudFRhZ05hbWUoRG9jdW1l
bnQqKTsKQEAgLTQ2LDExICs0OCwxMyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+SFRNTENvbnRl
bnRFbGVtZW50KCk7CiAKICAgICB2b2lkIHNldFNlbGVjdChjb25zdCBBdG9taWNTdHJpbmcmKTsK
LSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VsZWN0KCkgY29uc3Q7Ci0gICAgdmly
dHVhbCBib29sIGlzU2VsZWN0VmFsaWQoKTsKLSAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9y
TGlzdCYgc2VsZWN0b3JMaXN0KCk7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3QoKSBj
b25zdDsKKworICAgIHZpcnR1YWwgUHJlbWF0Y2hSZXN1bHQgcHJlbWF0Y2goTm9kZSopIE9WRVJS
SURFOworICAgIHZpcnR1YWwgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QoKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIFR5cGUgaW5zZXJ0aW9uUG9pbnRUeXBlKCkgY29uc3QgT1ZF
UlJJREUgeyByZXR1cm4gQ29udGVudEluc2VydGlvblBvaW50OyB9CiAgICAgdmlydHVhbCBib29s
IGNhbkFmZmVjdFNlbGVjdG9yKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQorICAg
IHZpcnR1YWwgYm9vbCBpc1NlbGVjdFZhbGlkKCk7CiAKIHByb3RlY3RlZDoKICAgICBIVE1MQ29u
dGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CkBAIC03NywxMCAr
ODEsMjkgQEAgaW5saW5lIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgSFRNTENvbnRlbnRFbGVtZW50
OjpzZWxlY3Rvckxpc3QoKQogICAgIHJldHVybiBtX3NlbGVjdG9yTGlzdDsKIH0KIAorI2Vsc2UK
KworLy8gRklYTUU6IHNob3VsZG4ndCBpbmhlcml0IGZyb20gSW5zZXJ0aW9uUG9pbnQ6IGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMzMzkKK2NsYXNzIEhUTUxDb250
ZW50RWxlbWVudCA6IHB1YmxpYyBJbnNlcnRpb25Qb2ludCB7CitwdWJsaWM6CisgICAgc3RhdGlj
IGNvbnN0IFF1YWxpZmllZE5hbWUmIGNvbnRlbnRUYWdOYW1lKERvY3VtZW50Kik7CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqKTsKKwor
ICAgIHZpcnR1YWwgUHJlbWF0Y2hSZXN1bHQgcHJlbWF0Y2goTm9kZSopIE9WRVJSSURFIHsgcmV0
dXJuIFByZW1hdGNoRm9yY2VNYXRjaDsgfQorICAgIHZpcnR1YWwgVHlwZSBpbnNlcnRpb25Qb2lu
dFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBDb250ZW50SW5zZXJ0aW9uUG9pbnQ7IH0K
KyAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JMaXN0KCkgT1ZFUlJJ
REUgeyByZXR1cm4gZW1wdHlTZWxlY3Rvckxpc3QoKTsgfQorCitwcm90ZWN0ZWQ6CisgICAgSFRN
TENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCit9Owor
CisjZW5kaWYgLy8gaWYgRU5BQkxFKFNIQURPV19ET00pCisKIGlubGluZSBib29sIGlzSFRNTENv
bnRlbnRFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUKG5vZGUpOwotICAg
IHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxDb250ZW50RWxlbWVudDo6Y29udGVudFRhZ05h
bWUobm9kZS0+ZG9jdW1lbnQoKSkpOworICAgIHJldHVybiBub2RlLT5pc0luc2VydGlvblBvaW50
KCkgJiYgdG9JbnNlcnRpb25Qb2ludChub2RlKS0+aW5zZXJ0aW9uUG9pbnRUeXBlKCkgPT0gSW5z
ZXJ0aW9uUG9pbnQ6OkNvbnRlbnRJbnNlcnRpb25Qb2ludDsKIH0KIAogaW5saW5lIEhUTUxDb250
ZW50RWxlbWVudCogdG9IVE1MQ29udGVudEVsZW1lbnQoTm9kZSogbm9kZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcAppbmRleCAxNzQ3ZWNk
MTcyOTA5Y2YyMWVlY2Y2MjNiNjc5NzMwYjNmZDU1MGQ3Li42Mzc0ZGM3ZGNhNDJlN2M0NzFhN2Iz
YjI1N2JiOThiZDQwODI0M2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9IVE1MU2hhZG93RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
SFRNTFNoYWRvd0VsZW1lbnQuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSAiU2hhZG93
Um9vdC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCisjaWYgRU5BQkxF
KFNIQURPV19ET00pCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CkBA
IC01NCwxNyArNTYsNiBAQCBIVE1MU2hhZG93RWxlbWVudDo6fkhUTUxTaGFkb3dFbGVtZW50KCkK
IHsKIH0KIAotY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MU2hhZG93RWxlbWVudDo6c2VsZWN0KCkg
Y29uc3QKLXsKLSAgICAgcmV0dXJuIG51bGxBdG9tOwotfQotCi1jb25zdCBDU1NTZWxlY3Rvckxp
c3QmIEhUTUxTaGFkb3dFbGVtZW50OjplbXB0eVNlbGVjdG9yTGlzdCgpCi17Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChDU1NTZWxlY3Rvckxpc3QsIHNlbGVjdG9yTGlzdCwgKENTU1NlbGVjdG9y
TGlzdCgpKSk7Ci0gICAgcmV0dXJuIHNlbGVjdG9yTGlzdDsKLX0KLQogU2hhZG93Um9vdCogSFRN
TFNoYWRvd0VsZW1lbnQ6Om9sZGVyU2hhZG93Um9vdCgpCiB7CiAgICAgaWYgKCF0cmVlU2NvcGUo
KS0+cm9vdE5vZGUoKS0+aXNTaGFkb3dSb290KCkpCkBAIC04MCwzICs3MSw1IEBAIFNoYWRvd1Jv
b3QqIEhUTUxTaGFkb3dFbGVtZW50OjpvbGRlclNoYWRvd1Jvb3QoKQogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBpZiBFTkFCTEUoU0hBRE9XX0RPTSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5oCmluZGV4IDMxZWU4Njgz
MzMyMDdmOTlhOTZiMTI0Njg1NWU2OWY3ZGIxOTU0YzcuLmZkMTE1OTIxYmM5Mjc1ZTA4YzlmOGZk
YzkxYzk3ZGE2ZjEzYmMwMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L0hUTUxTaGFkb3dFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRN
TFNoYWRvd0VsZW1lbnQuaApAQCAtMzYsMTQgKzM2LDE1IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorCiBjbGFzcyBIVE1MU2hhZG93RWxlbWVudCA6
IHB1YmxpYyBJbnNlcnRpb25Qb2ludCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
SFRNTFNoYWRvd0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
KTsKIAogICAgIHZpcnR1YWwgfkhUTUxTaGFkb3dFbGVtZW50KCk7CiAKLSAgICB2aXJ0dWFsIGNv
bnN0IEF0b21pY1N0cmluZyYgc2VsZWN0KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGlzU2Vs
ZWN0VmFsaWQoKSBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBQcmVtYXRj
aFJlc3VsdCBwcmVtYXRjaChOb2RlKikgeyByZXR1cm4gUHJlbWF0Y2hGb3JjZU1hdGNoOyB9CiAg
ICAgdmlydHVhbCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgpIHsgcmV0dXJu
IGVtcHR5U2VsZWN0b3JMaXN0KCk7IH0KICAgICB2aXJ0dWFsIFR5cGUgaW5zZXJ0aW9uUG9pbnRU
eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gU2hhZG93SW5zZXJ0aW9uUG9pbnQ7IH0KIApA
QCAtNTEsOCArNTIsNiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgSFRNTFNoYWRvd0VsZW1l
bnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLSAgICBzdGF0aWMgY29uc3Qg
Q1NTU2VsZWN0b3JMaXN0JiBlbXB0eVNlbGVjdG9yTGlzdCgpOwogfTsKIAogaW5saW5lIGJvb2wg
aXNIVE1MU2hhZG93RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQpAQCAtNzMsNiArNzIsMTUgQEAg
aW5saW5lIGNvbnN0IEhUTUxTaGFkb3dFbGVtZW50KiB0b0hUTUxTaGFkb3dFbGVtZW50KGNvbnN0
IE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEhUTUxTaGFkb3dFbGVt
ZW50Kj4obm9kZSk7CiB9CiAKKyNlbHNlCisKK2NsYXNzIEhUTUxTaGFkb3dFbGVtZW50IHsgfTsK
K2lubGluZSBib29sIGlzSFRNTFNoYWRvd0VsZW1lbnQoY29uc3QgTm9kZSopIHsgcmV0dXJuIGZh
bHNlOyB9CitpbmxpbmUgSFRNTFNoYWRvd0VsZW1lbnQqIHRvSFRNTFNoYWRvd0VsZW1lbnQoTm9k
ZSopIHsgcmV0dXJuIDA7IH0KK2lubGluZSBjb25zdCBIVE1MU2hhZG93RWxlbWVudCogdG9IVE1M
U2hhZG93RWxlbWVudChjb25zdCBOb2RlKikgeyByZXR1cm4gMDsgfQorCisjZW5kaWYgLy8gaWYg
RU5BQkxFKFNIQURPV19ET00pCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEhUTUxTaGFkb3dFbGVtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0luc2VydGlvblBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2Vy
dGlvblBvaW50LmNwcAppbmRleCA1YWM1MjBkNTVlZDM5MGZlMmZiOTdmMTAwOGJhYzkzNjY5ZjI1
ODUwLi45NmZiMjUwMGYyMGFjN2FmYzkzYzhhZThlNWYyZWMyN2JlYzdlZGVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwCkBAIC0xOTEsNiArMTkx
LDEyIEBAIGJvb2wgSW5zZXJ0aW9uUG9pbnQ6OmNvbnRhaW5zKGNvbnN0IE5vZGUqIG5vZGUpIGNv
bnN0CiAgICAgcmV0dXJuIG1fZGlzdHJpYnV0aW9uLmNvbnRhaW5zKGNvbnN0X2Nhc3Q8Tm9kZSo+
KG5vZGUpKSB8fCAobm9kZS0+aXNTaGFkb3dSb290KCkgJiYgU2NvcGVDb250ZW50RGlzdHJpYnV0
aW9uOjphc3NpZ25lZFRvKHRvU2hhZG93Um9vdChub2RlKSkgPT0gdGhpcyk7CiB9CiAKK2NvbnN0
IENTU1NlbGVjdG9yTGlzdCYgSW5zZXJ0aW9uUG9pbnQ6OmVtcHR5U2VsZWN0b3JMaXN0KCkKK3sK
KyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKENTU1NlbGVjdG9yTGlzdCwgc2VsZWN0b3JMaXN0LCAo
Q1NTU2VsZWN0b3JMaXN0KCkpKTsKKyAgICByZXR1cm4gc2VsZWN0b3JMaXN0OworfQorCiBJbnNl
cnRpb25Qb2ludCogcmVzb2x2ZVJlcHJvamVjdGlvbihjb25zdCBOb2RlKiBwcm9qZWN0ZWROb2Rl
KQogewogICAgIEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaAppbmRleCAyMGNlNzdkMGEzNzllZmNj
MjQ0OGE2NTg5OWQ2YzU4ZjM3ZjljOWI4Li5lMTczM2QzYTcwM2Y4MmUzZDNkZjhjMjRkODk2ZGU0
YmM0ODQwYjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRp
b25Qb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50
LmgKQEAgLTQ4LDYgKzQ4LDEyIEBAIHB1YmxpYzoKICAgICAgICAgQ29udGVudEluc2VydGlvblBv
aW50CiAgICAgfTsKIAorICAgIGVudW0gUHJlbWF0Y2hSZXN1bHQgeworICAgICAgICBQcmVtYXRj
aEZvcmNlTWF0Y2gsCisgICAgICAgIFByZW1hdGNoRm9yY2VSZWplY3QsCisgICAgICAgIFByZW1h
dGNoTWF0Y2hTZWxlY3QKKyAgICB9OworCiAgICAgdmlydHVhbCB+SW5zZXJ0aW9uUG9pbnQoKTsK
IAogICAgIGJvb2wgaGFzRGlzdHJpYnV0aW9uKCkgY29uc3QgeyByZXR1cm4gIW1fZGlzdHJpYnV0
aW9uLmlzRW1wdHkoKTsgfQpAQCAtNTgsOCArNjQsNyBAQCBwdWJsaWM6CiAKICAgICBQYXNzUmVm
UHRyPE5vZGVMaXN0PiBnZXREaXN0cmlidXRlZE5vZGVzKCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFs
IGNvbnN0IEF0b21pY1N0cmluZyYgc2VsZWN0KCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9v
bCBpc1NlbGVjdFZhbGlkKCkgPSAwOworICAgIHZpcnR1YWwgUHJlbWF0Y2hSZXN1bHQgcHJlbWF0
Y2goTm9kZSopID0gMDsKICAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0
b3JMaXN0KCkgPSAwOwogICAgIHZpcnR1YWwgVHlwZSBpbnNlcnRpb25Qb2ludFR5cGUoKSBjb25z
dCA9IDA7CiAgICAgdmlydHVhbCBib29sIGNhbkFmZmVjdFNlbGVjdG9yKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KQEAgLTkwLDYgKzk1LDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9p
ZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5n
JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzSW5zZXJ0aW9uUG9pbnROb2RlKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogCisgICAgc3RhdGljIGNvbnN0IENTU1NlbGVj
dG9yTGlzdCYgZW1wdHlTZWxlY3Rvckxpc3QoKTsKKwogcHJpdmF0ZToKIAogICAgIENvbnRlbnRE
aXN0cmlidXRpb24gbV9kaXN0cmlidXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5jcHAKaW5kZXggN2RmNzAx
ZTEyNWYwMTI1YWViZjJjNjBkOGUwNmJjMjEwYTIwNDBkZi4uNzlhMWQyMmI4MWU5M2I1NWIyY2U2
Y2MxYmE3ZjdiZDJiNGQ5MTZmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcApAQCAtMTA5LDggKzEwOSw5
IEBAIHZvaWQgVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmRlY29yYXRlKEhUTUxJbnB1dEVs
ZW1lbnQqIGlucHV0LCBib29sIHZpc2libGUpCiAgICAgYm94LT5zZXRJbmxpbmVTdHlsZVByb3Bl
cnR5KENTU1Byb3BlcnR5V2Via2l0Qm94QWxpZ24sIENTU1ZhbHVlQ2VudGVyKTsKICAgICBBU1NF
UlQoZXhpc3RpbmdSb290LT5jaGlsZE5vZGVDb3VudCgpID09IDEpOwogICAgIHRvSFRNTEVsZW1l
bnQoZXhpc3RpbmdSb290LT5maXJzdENoaWxkKCkpLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENT
U1Byb3BlcnR5V2Via2l0Qm94RmxleCwgMS4wLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJF
Uik7CisjaWYgRU5BQkxFKFNIQURPV19ET00pCiAgICAgYm94LT5hcHBlbmRDaGlsZChIVE1MU2hh
ZG93RWxlbWVudDo6Y3JlYXRlKEhUTUxOYW1lczo6c2hhZG93VGFnLCBpbnB1dC0+ZG9jdW1lbnQo
KSkpOwotCisjZW5kaWYKICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5RGlz
cGxheSwgdmlzaWJsZSA/IENTU1ZhbHVlQmxvY2sgOiBDU1NWYWx1ZU5vbmUpOwogICAgIGJveC0+
YXBwZW5kQ2hpbGQodGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggOWE0Mzc5ZjM1MTdkNjMwN2I1NzA5MTIxYTY1YTBiZTdjYmMxODIzMS4uZDQyYjczOGNlN2U0
ZWU2MWI4NDIxODBkMGU1MzA4NzNjODI5MzJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcApAQCAtMzAwLDcgKzMwMCwxMSBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IEludGVybmFs
czo6Y3JlYXRlQ29udGVudEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpbwogICAg
ICAgICByZXR1cm4gMDsKICAgICB9CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICByZXR1
cm4gSFRNTENvbnRlbnRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOworI2Vsc2UKKyAgICByZXR1
cm4gMDsKKyNlbmRpZgogfQogCiBib29sIEludGVybmFsczo6aXNWYWxpZENvbnRlbnRTZWxlY3Qo
RWxlbWVudCogaW5zZXJ0aW9uUG9pbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQpAQCAtMzEwLDcgKzMx
NCwxMSBAQCBib29sIEludGVybmFsczo6aXNWYWxpZENvbnRlbnRTZWxlY3QoRWxlbWVudCogaW5z
ZXJ0aW9uUG9pbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQogCi0gICAgcmV0dXJuIHRvSW5zZXJ0aW9uUG9pbnQoaW5zZXJ0aW9uUG9pbnQpLT5pc1Nl
bGVjdFZhbGlkKCk7CisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgcmV0dXJuIGlzSFRNTENv
bnRlbnRFbGVtZW50KGluc2VydGlvblBvaW50KSAmJiB0b0hUTUxDb250ZW50RWxlbWVudChpbnNl
cnRpb25Qb2ludCktPmlzU2VsZWN0VmFsaWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOwor
I2VuZGlmCiB9CiAKIE5vZGUqIEludGVybmFsczo6dHJlZVNjb3BlUm9vdE5vZGUoTm9kZSogbm9k
ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJL
aXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmluIGIvU291cmNlL1dlYktpdC93aW4vV2ViS2l0
LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbgppbmRleCAxZDBkMWQ0NmJkN2IzZjdiMmJiOWIy
MDRjODkxMGY5OWIzZWE2NzYyLi40NjJlZjExOWFlMjQ2MTVlOTdlOGM3Y2VjMmMwYTc1ZDQ4N2Iw
NjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4
cG9ydHMuZGVmLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0
RXhwb3J0cy5kZWYuaW4KQEAgLTE3Myw3ICsxNzMsNiBAQCBFWFBPUlRTCiAgICAgICAgID9hZGRT
bG93Q2FzZUBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBX
VEZAQEAyQFBBVlN0cmluZ0ltcGxAMkBAWgogICAgICAgICA/Y2FjaGVET01TdHJ1Y3R1cmVAV2Vi
Q29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVjIzQFBC
VUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9jaGlsZEl0ZW1XaXRoVGFyZ2V0QEhpc3RvcnlJdGVt
QFdlYkNvcmVAQFFCRVBBVjEyQEFCVlN0cmluZ0BXVEZAQEBaCi0gICAgICAgID9jcmVhdGVASFRN
TENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZIVE1MQ29udGVudEVs
ZW1lbnRAV2ViQ29yZUBAQFdURkBAUEFWRG9jdW1lbnRAMkBAWgogICAgICAgICA/Y3JlYXRlQFJh
bmdlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBWPyRQ
YXNzUmVmUHRyQFZEb2N1bWVudEBXZWJDb3JlQEBANEBWPyRQYXNzUmVmUHRyQFZOb2RlQFdlYkNv
cmVAQEA0QEgxSEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNv
cmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdU
RkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVA
V2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3Jl
QEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0
ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRy
QFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAy
QEBaCkBAIC01NjEsNyArNTYwLDYgQEAgRVhQT1JUUwogICAgICAgICA/YWRkU2xvd0Nhc2VAQXRv
bWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZT
dHJpbmdJbXBsQDJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdlYkNvcmVAQFlBUEFW
U3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQQlVDbGFzc0luZm9A
M0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRlbUBXZWJDb3JlQEBR
QkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgotICAgICAgICA/Y3JlYXRlQEhUTUxDb250ZW50RWxl
bWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRFbGVtZW50QFdlYkNv
cmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBXZWJDb3Jl
QEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1JlZlB0ckBW
RG9jdW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBANEBIMUhA
WgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8k
UGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmlu
Z0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNB
P0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAUEFW
RXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQ
b3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlCdWZm
ZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgpAQCAtOTQ5
LDcgKzk0Nyw2IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZFNsb3dDYXNlQEF0b21pY1N0cmluZ0BX
VEZAQENBP0FWPyRQYXNzUmVmUHRyQFZTdHJpbmdJbXBsQFdURkBAQDJAUEFWU3RyaW5nSW1wbEAy
QEBaCiAgICAgICAgID9jYWNoZURPTVN0cnVjdHVyZUBXZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBK
U0NAQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWMjNAUEJVQ2xhc3NJbmZvQDNAQFoKICAgICAg
ICAgP2NoaWxkSXRlbVdpdGhUYXJnZXRASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFUEFWMTJAQUJW
U3RyaW5nQFdURkBAQFoKLSAgICAgICAgP2NyZWF0ZUBIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29y
ZUBAU0E/QVY/JFBhc3NSZWZQdHJAVkhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQ
QVZEb2N1bWVudEAyQEBaCiAgICAgICAgID9jcmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBh
c3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdl
YkNvcmVAQEA0QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRASDFIQFoKICAgICAgICAg
P2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJA
VlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAg
ICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1Jl
ZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBK
U0NAQFZKU1ZhbHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3Jl
QEBAV1RGQEAkMDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdU
RkBAJDAwQDRAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKQEAgLTEzMzcsNyArMTMzNCw2
IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZFNsb3dDYXNlQEF0b21pY1N0cmluZ0BXVEZAQENBP0FW
PyRQYXNzUmVmUHRyQFZTdHJpbmdJbXBsQFdURkBAQDJAUEFWU3RyaW5nSW1wbEAyQEBaCiAgICAg
ICAgID9jYWNoZURPTVN0cnVjdHVyZUBXZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpT
RE9NR2xvYmFsT2JqZWN0QDFAUEFWMjNAUEJVQ2xhc3NJbmZvQDNAQFoKICAgICAgICAgP2NoaWxk
SXRlbVdpdGhUYXJnZXRASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFUEFWMTJAQUJWU3RyaW5nQFdU
RkBAQFoKLSAgICAgICAgP2NyZWF0ZUBIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAU0E/QVY/
JFBhc3NSZWZQdHJAVkhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQQVZEb2N1bWVu
dEAyQEBaCiAgICAgICAgID9jcmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJA
VlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdlYkNvcmVAQEA0
QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRASDFIQFoKICAgICAgICAgP2NyZWF0ZUBT
ZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAgICAgICA/Y3Jl
YXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2Vy
aWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBKU0NAQFZKU1Zh
bHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAk
MDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdURkBAJDAwQDRA
VzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182253</attachid>
            <date>2013-01-10 20:35:23 -0800</date>
            <delta_ts>2013-01-10 20:55:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106283-20130111133225.patch</filename>
            <type>text/plain</type>
            <size>14693</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDJiZWRkYjZlODNiMzMy
ODAwZjQwZmYzNjc3ODg2NDMyYzE1NDU0Yy4uYTY1NjhhNTQ0MDE5Y2M4Yjk2MzdiODk1ZWJhYzhk
ZWQ0NDRmZjNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAxLTEwICBIYWpp
bWUgTW9ycml0YSA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDYyODMKKyAgICAgICAgW1NoYWRvdyBET01dIEhU
TUxDb250ZW50RWxlbWVudCBhbmQgSFRNTFNoYWRvd0VsZW1lbnQgc2hvdWxkIGJlIGJlaGluZCBT
SEFET1dfRE9NCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBjaGFuZ2UgbW92ZXMgPGNvbnRlbnQ+IGFuZCA8c2hhZG93PiBiZWhpbmQKKyAgICAg
ICAgRU5BQkxFKFNIQURPV19ET00pLiBOb3RlIHRoYXQgZW1wdHkgc3R1YiBkZWZpbml0aW9ucyBh
cmUgcmVtYWluaW5nCisgICAgICAgIGV2ZW4gYWZ0ZXIgdGhpcyBjaGFnbmUuIFRoZXkgYXJlIGZv
ciBtaW5pbWl6aW5nICNpZi8jZW5kaWYgdXNhZ2UKKyAgICAgICAgYW5kIHdvbid0IGh1cnQgY29k
ZSBzaXplLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0
cy4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUp
OgorICAgICAgICAqIGh0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50RGlzdHJpYnV0b3I6OmRpc3RyaWJ1dGUpOgorICAgICAgICAqIGh0
bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoSFRNTENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxDb250ZW50RWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb250ZW50
RWxlbWVudDo6SFRNTENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1M
U2hhZG93RWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6aXNIVE1MU2hhZG93
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjp0b0hUTUxTaGFkb3dFbGVtZW50KToKKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oOgorICAgICAgICAqIGh0bWwvc2hhZG93
L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRG
aWVsZERlY29yYXRpb25FbGVtZW50OjpkZWNvcmF0ZSk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjppc1ZhbGlkQ29udGVudFNl
bGVjdCk6CisKIDIwMTMtMDEtMTAgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBnb29nbGUuY29t
PgogCiAgICAgICAgIFtTaGFkb3cgRE9NXSBSZWZhY3RvcmluZzogSW5zZXJ0aW9uUG9pbnQgY291
bGQgc2ltcGxpZnkgaXRzIHN1YmNsYXNzIGhvb2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggNmI1Mzkx
NmRlY2U4OGY5Zjc0NGEwODQwMzcwYzQ0NjM4ZDkyM2Q3MS4uMTVlMWNhODE0MTZiZTJjNjdlNzAz
NGRiZjQ2ODE1NjUwZTM3NTdhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisy
MDEzLTAxLTEwICBIYWppbWUgTW9ycml0YSA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDYyODMKKyAgICAgICAg
W1NoYWRvdyBET01dIEhUTUxDb250ZW50RWxlbWVudCBhbmQgSFRNTFNoYWRvd0VsZW1lbnQgc2hv
dWxkIGJlIGJlaGluZCBTSEFET1dfRE9NCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmluOgor
CiAyMDEzLTAxLTA5ICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBbU2hhZG93IERPTV0gRGlzdHJpYnV0aW9uIHJlbGF0ZWQgY29kZSBvbiBFbGVtZW50U2hh
ZG93IHNob3VsZCBiZSBtaW5pbWl6ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDJkZWZiNTky
ZjVmZTU3NzBhZWRjN2Y4Mzk3NmFlNzVmOGI1YmQzMjcuLjIyMTcwYzNmNzlmOGU3OTk0ZWNmMzIy
MDc5YmMzYmE2ZjdiNWZlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC01MTMsNyArNTEzLDYg
QEAgX19aTjdXZWJDb3JlMTdjYWNoZURPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVj
dEVQTjNKU0M5U3RydWN0dXJlRVBLTlMyXzkKIF9fWk43V2ViQ29yZTE3b3BlblRlbXBvcmFyeUZp
bGVFUktOM1dURjZTdHJpbmdFUmkKIF9fWk43V2ViQ29yZTE3dXNlclZpc2libGVTdHJpbmdFUDVO
U1VSTAogX19aTjdXZWJDb3JlMThET01XaW5kb3dFeHRlbnNpb25DMUVQTlNfNUZyYW1lRVBOU18x
NURPTVdyYXBwZXJXb3JsZEUKLV9fWk43V2ViQ29yZTE4SFRNTENvbnRlbnRFbGVtZW50NmNyZWF0
ZUVQTlNfOERvY3VtZW50RQogX19aTjdXZWJDb3JlMTBQYXN0ZWJvYXJkMTdnZW5lcmFsUGFzdGVi
b2FyZEV2CiBfX1pON1dlYkNvcmUxMFBhc3RlYm9hcmQxNHdyaXRlUGxhaW5UZXh0RVJLTjNXVEY2
U3RyaW5nRU5TMF8xOFNtYXJ0UmVwbGFjZU9wdGlvbkUKIF9fWk43V2ViQ29yZTE4Q29udGVudERp
c3RyaWJ1dG9yMjJlbnN1cmVTZWxlY3RGZWF0dXJlU2V0RVBOU18xM0VsZW1lbnRTaGFkb3dFCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXggYjE2ZmEzYjE4ZTRlYTQ2MWI2YzIxODNhZGRm
MWZmZjMxMTA2NDc4Yi4uMjVlOWFlNDYwODhlMjA0NzJjY2YzMTMyNmQ4M2E1MDQ2MTBiNTM4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtNDkwLDggKzQ5MCwxMiBAQCB2b2lkIElu
cHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUoKQogICAgIC8vIGJlZW4gY3JlYXRlZCBieSBU
ZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudCwgYW5kIHdlIGRvbid0IGFsbG93IGFkZGluZwogICAg
IC8vIEF1dGhvclNoYWRvd1Jvb3QgdG8gSFRNTElucHV0RWxlbWVudC4KICAgICB3aGlsZSAoKHJv
b3QgPSByb290LT55b3VuZ2VyU2hhZG93Um9vdCgpKSkgeworI2lmIEVOQUJMRShTSEFET1dfRE9N
KQogICAgICAgICByb290LT5yZW1vdmVBbGxDaGlsZHJlbigpOwogICAgICAgICByb290LT5hcHBl
bmRDaGlsZChIVE1MU2hhZG93RWxlbWVudDo6Y3JlYXRlKHNoYWRvd1RhZywgZWxlbWVudCgpLT5k
b2N1bWVudCgpKSk7CisjZWxzZQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRp
ZgogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29u
dGVudERpc3RyaWJ1dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnRE
aXN0cmlidXRvci5jcHAKaW5kZXggMGQzZGJlYTBiOGI3Y2IxNjgyMjJjYmFmODJlMDk2ODI3M2Fi
YjdhOS4uODY3YTE3NDU3YjUyOWVmMDg5ZDgwYjBmZDg4M2UxNGE2MmM3ZWUzOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwCkBAIC0y
NDksNiArMjQ5LDcgQEAgdm9pZCBDb250ZW50RGlzdHJpYnV0b3I6OmRpc3RyaWJ1dGUoRWxlbWVu
dCogaG9zdCkKICAgICAgICAgICAgIGFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50cy5hcHBlbmQo
Zmlyc3RBY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2ludCk7CiAgICAgfQogCisjaWYgRU5BQkxFKFNI
QURPV19ET00pCiAgICAgZm9yIChzaXplX3QgaSA9IGFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50
cy5zaXplKCk7IGkgPiAwOyAtLWkpIHsKICAgICAgICAgSFRNTFNoYWRvd0VsZW1lbnQqIHNoYWRv
d0VsZW1lbnQgPSBhY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2ludHNbaSAtIDFdOwogICAgICAgICBT
aGFkb3dSb290KiByb290ID0gc2hhZG93RWxlbWVudC0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKTsK
QEAgLTI2Miw2ICsyNjMsOSBAQCB2b2lkIENvbnRlbnREaXN0cmlidXRvcjo6ZGlzdHJpYnV0ZShF
bGVtZW50KiBob3N0KQogICAgICAgICAgICAgICAgIHNoYWRvdy0+aW52YWxpZGF0ZURpc3RyaWJ1
dGlvbigpOwogICAgICAgICB9CiAgICAgfQorI2Vsc2UKKyAgICBBU1NFUlQoIWFjdGl2ZVNoYWRv
d0luc2VydGlvblBvaW50cy5zaXplKCkpOworI2VuZGlmCiB9CiAKIGJvb2wgQ29udGVudERpc3Ry
aWJ1dG9yOjppbnZhbGlkYXRlKEVsZW1lbnQqIGhvc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAppbmRleCBjMmVmMjdmZGQxY2JhNDg1
ZjQzYmFlMTM2ZDYwNGRmNjczZDhhZDhkLi4wOWE2MGY2MGI2ZmMxZDIzNTcwM2FkMmYzYWI2OTFj
OGM5MzVmMjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29u
dGVudEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250
ZW50RWxlbWVudC5jcHAKQEAgLTUxLDYgKzUxLDggQEAgY29uc3QgUXVhbGlmaWVkTmFtZSYgSFRN
TENvbnRlbnRFbGVtZW50Ojpjb250ZW50VGFnTmFtZShEb2N1bWVudCopCiAjZW5kaWYKIH0KIAor
I2lmIEVOQUJMRShTSEFET1dfRE9NKQorCiBQYXNzUmVmUHRyPEhUTUxDb250ZW50RWxlbWVudD4g
SFRNTENvbnRlbnRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgSFRNTENvbnRlbnRFbGVtZW50KGNvbnRlbnRUYWdOYW1lKGRvY3Vt
ZW50KSwgZG9jdW1lbnQpKTsKQEAgLTIwMSw1ICsyMDMsNyBAQCBib29sIEhUTUxDb250ZW50RWxl
bWVudDo6dmFsaWRhdGVTZWxlY3QoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCisjZW5k
aWYgLy8gaWYgRU5BQkxFKFNIQURPV19ET00pCiAKIH0KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaAppbmRleCA1ZTJkMDMwNDIwZjQ2YjQwMDNl
YzExZjYxMDc5NWZkMDA5YWNhM2ViLi5iYWMyN2E1MGVjZjU5YzZlOTc3NTkxODBjMjM3MTk0MDFi
YjczMzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVu
dEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVs
ZW1lbnQuaApAQCAtMzcsNiArMzcsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKKwogY2xhc3MgSFRNTENvbnRlbnRFbGVtZW50IDogcHVibGljIElu
c2VydGlvblBvaW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSYg
Y29udGVudFRhZ05hbWUoRG9jdW1lbnQqKTsKQEAgLTc5LDYgKzgxLDI4IEBAIGlubGluZSBjb25z
dCBDU1NTZWxlY3Rvckxpc3QmIEhUTUxDb250ZW50RWxlbWVudDo6c2VsZWN0b3JMaXN0KCkKICAg
ICByZXR1cm4gbV9zZWxlY3Rvckxpc3Q7CiB9CiAKKyNlbHNlCisKKy8vIEZJWE1FOiBzaG91bGRu
J3QgaW5oZXJpdCBmcm9tIEluc2VydGlvblBvaW50OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAzMzM5CitjbGFzcyBIVE1MQ29udGVudEVsZW1lbnQgOiBwdWJsaWMg
SW5zZXJ0aW9uUG9pbnQgeworcHVibGljOgorICAgIHN0YXRpYyBjb25zdCBRdWFsaWZpZWROYW1l
JiBjb250ZW50VGFnTmFtZShEb2N1bWVudCopOworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8SFRN
TENvbnRlbnRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIVE1MQ29udGVudEVsZW1lbnQoY29udGVudFRhZ05hbWUo
ZG9jdW1lbnQpLCBkb2N1bWVudCkpOworICAgIH0KKworICAgIHZpcnR1YWwgVHlwZSBpbnNlcnRp
b25Qb2ludFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBDb250ZW50SW5zZXJ0aW9uUG9p
bnQ7IH0KKworcHJvdGVjdGVkOgorICAgIEhUTUxDb250ZW50RWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCisgICAgICAgIDogSW5zZXJ0aW9u
UG9pbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgeyB9Cit9OworCisjZW5kaWYgLy8gaWYgRU5B
QkxFKFNIQURPV19ET00pCisKIGlubGluZSBib29sIGlzSFRNTENvbnRlbnRFbGVtZW50KGNvbnN0
IE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUKG5vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwCmluZGV4IDg1MTg0Zjc2YmJhNTdmZGY2
NjhjODAyYmQ4ZTg1OTgzOTM4OTBlMDQuLjYzNzRkYzdkY2E0MmU3YzQ3MWE3YjNiMjU3YmI5OGJk
NDA4MjQzZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFk
b3dFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93
RWxlbWVudC5jcHAKQEAgLTM1LDYgKzM1LDggQEAKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RP
TSkKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKQEAgLTY5LDMgKzcx
LDUgQEAgU2hhZG93Um9vdCogSFRNTFNoYWRvd0VsZW1lbnQ6Om9sZGVyU2hhZG93Um9vdCgpCiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIGlmIEVOQUJMRShTSEFET1df
RE9NKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmgK
aW5kZXggMWYzOGY5ZmY2ODM3YmUyYzU2NGQ0NGJmMDUzZTFkZmRlZDI4NzY1Yy4uMWIxMjM3N2Yx
ZmQwNmJmNTI2OWVhNGVkMzAwYTRmMjZkZDRmZDYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5oCkBAIC0zNiw2ICszNiw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorCiBjbGFzcyBIVE1MU2hh
ZG93RWxlbWVudCA6IHB1YmxpYyBJbnNlcnRpb25Qb2ludCB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8SFRNTFNoYWRvd0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsKQEAgLTQzLDcgKzQ1LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkhU
TUxTaGFkb3dFbGVtZW50KCk7CiAKICAgICB2aXJ0dWFsIFR5cGUgaW5zZXJ0aW9uUG9pbnRUeXBl
KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gU2hhZG93SW5zZXJ0aW9uUG9pbnQ7IH0KLQogICAg
IFNoYWRvd1Jvb3QqIG9sZGVyU2hhZG93Um9vdCgpOwogCiBwcml2YXRlOgpAQCAtNjgsNiArNjks
MTUgQEAgaW5saW5lIGNvbnN0IEhUTUxTaGFkb3dFbGVtZW50KiB0b0hUTUxTaGFkb3dFbGVtZW50
KGNvbnN0IE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEhUTUxTaGFk
b3dFbGVtZW50Kj4obm9kZSk7CiB9CiAKKyNlbHNlCisKK2NsYXNzIEhUTUxTaGFkb3dFbGVtZW50
IHsgfTsKK2lubGluZSBib29sIGlzSFRNTFNoYWRvd0VsZW1lbnQoY29uc3QgTm9kZSopIHsgcmV0
dXJuIGZhbHNlOyB9CitpbmxpbmUgSFRNTFNoYWRvd0VsZW1lbnQqIHRvSFRNTFNoYWRvd0VsZW1l
bnQoTm9kZSopIHsgcmV0dXJuIDA7IH0KK2lubGluZSBjb25zdCBIVE1MU2hhZG93RWxlbWVudCog
dG9IVE1MU2hhZG93RWxlbWVudChjb25zdCBOb2RlKikgeyByZXR1cm4gMDsgfQorCisjZW5kaWYg
Ly8gaWYgRU5BQkxFKFNIQURPV19ET00pCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEhUTUxTaGFkb3dFbGVtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcAppbmRleCA3ZGY3MDFl
MTI1ZjAxMjVhZWJmMmM2MGQ4ZTA2YmMyMTBhMjA0MGRmLi43OWExZDIyYjgxZTkzYjU1YjJjZTZj
YzFiYTdmN2JkMmI0ZDkxNmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwCkBAIC0xMDksOCArMTA5LDkg
QEAgdm9pZCBUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudDo6ZGVjb3JhdGUoSFRNTElucHV0RWxl
bWVudCogaW5wdXQsIGJvb2wgdmlzaWJsZSkKICAgICBib3gtPnNldElubGluZVN0eWxlUHJvcGVy
dHkoQ1NTUHJvcGVydHlXZWJraXRCb3hBbGlnbiwgQ1NTVmFsdWVDZW50ZXIpOwogICAgIEFTU0VS
VChleGlzdGluZ1Jvb3QtPmNoaWxkTm9kZUNvdW50KCkgPT0gMSk7CiAgICAgdG9IVE1MRWxlbWVu
dChleGlzdGluZ1Jvb3QtPmZpcnN0Q2hpbGQoKSktPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlXZWJraXRCb3hGbGV4LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVS
KTsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICBib3gtPmFwcGVuZENoaWxkKEhUTUxTaGFk
b3dFbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVzOjpzaGFkb3dUYWcsIGlucHV0LT5kb2N1bWVudCgp
KSk7Ci0KKyNlbmRpZgogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXNw
bGF5LCB2aXNpYmxlID8gQ1NTVmFsdWVCbG9jayA6IENTU1ZhbHVlTm9uZSk7CiAgICAgYm94LT5h
cHBlbmRDaGlsZCh0aGlzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRl
eCBiNWJjYzhlZjJlMzYzZDg1MTZiYTRlNWExOTk1YjdjY2E0MWJkZTM1Li5hZWFkY2MwY2Y4MTcy
YjE4MGEzMjFlNjk3ZTJjZjJmOGViMmIwM2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC0zMTAsNyArMzEwLDExIEBAIGJvb2wgSW50ZXJuYWxzOjppc1ZhbGlkQ29udGVu
dFNlbGVjdChFbGVtZW50KiBpbnNlcnRpb25Qb2ludCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICBy
ZXR1cm4gaXNIVE1MQ29udGVudEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQpICYmIHRvSFRNTENvbnRl
bnRFbGVtZW50KGluc2VydGlvblBvaW50KS0+aXNTZWxlY3RWYWxpZCgpOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogTm9kZSogSW50ZXJuYWxzOjp0cmVlU2NvcGVSb290
Tm9kZShOb2RlKiBub2RlLCBFeGNlcHRpb25Db2RlJiBlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW4gYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmluCmluZGV4IDFkMGQxZDQ2
YmQ3YjNmN2IyYmI5YjIwNGM4OTEwZjk5YjNlYTY3NjIuLjQ2MmVmMTE5YWUyNDYxNWU5N2U4Yzdj
ZWMyYzBhNzVkNDg3YjA2MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52
Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW4KKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViS2l0
LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbgpAQCAtMTczLDcgKzE3Myw2IEBAIEVYUE9SVFMK
ICAgICAgICAgP2FkZFNsb3dDYXNlQEF0b21pY1N0cmluZ0BXVEZAQENBP0FWPyRQYXNzUmVmUHRy
QFZTdHJpbmdJbXBsQFdURkBAQDJAUEFWU3RyaW5nSW1wbEAyQEBaCiAgICAgICAgID9jYWNoZURP
TVN0cnVjdHVyZUBXZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpTRE9NR2xvYmFsT2Jq
ZWN0QDFAUEFWMjNAUEJVQ2xhc3NJbmZvQDNAQFoKICAgICAgICAgP2NoaWxkSXRlbVdpdGhUYXJn
ZXRASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFUEFWMTJAQUJWU3RyaW5nQFdURkBAQFoKLSAgICAg
ICAgP2NyZWF0ZUBIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJA
VkhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQQVZEb2N1bWVudEAyQEBaCiAgICAg
ICAgID9jcmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNv
cmVAQEBXVEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdlYkNvcmVAQEA0QFY/JFBhc3NSZWZQ
dHJAVk5vZGVAV2ViQ29yZUBAQDRASDFIQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2Ny
aXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlw
dFZhbHVlQFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBKU0NAQFZKU1ZhbHVlQDZAUEFWPyRW
ZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBANEBQQVY/JFZl
Y3RvckBWPyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdURkBAJDAwQDRAVzRTZXJpYWxpemF0
aW9uRXJyb3JNb2RlQDJAQFoKQEAgLTU2MSw3ICs1NjAsNiBAQCBFWFBPUlRTCiAgICAgICAgID9h
ZGRTbG93Q2FzZUBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1w
bEBXVEZAQEAyQFBBVlN0cmluZ0ltcGxAMkBAWgogICAgICAgICA/Y2FjaGVET01TdHJ1Y3R1cmVA
V2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVjIz
QFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9jaGlsZEl0ZW1XaXRoVGFyZ2V0QEhpc3RvcnlJ
dGVtQFdlYkNvcmVAQFFCRVBBVjEyQEFCVlN0cmluZ0BXVEZAQEBaCi0gICAgICAgID9jcmVhdGVA
SFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZIVE1MQ29udGVu
dEVsZW1lbnRAV2ViQ29yZUBAQFdURkBAUEFWRG9jdW1lbnRAMkBAWgogICAgICAgICA/Y3JlYXRl
QFJhbmdlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBW
PyRQYXNzUmVmUHRyQFZEb2N1bWVudEBXZWJDb3JlQEBANEBWPyRQYXNzUmVmUHRyQFZOb2RlQFdl
YkNvcmVAQEA0QEgxSEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdl
YkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBA
QFdURkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFs
dWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJD
b3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJl
ZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVm
UHRyQFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9k
ZUAyQEBaCkBAIC05NDksNyArOTQ3LDYgQEAgRVhQT1JUUwogICAgICAgICA/YWRkU2xvd0Nhc2VA
QXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQ
QVZTdHJpbmdJbXBsQDJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdlYkNvcmVAQFlB
UEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQQlVDbGFzc0lu
Zm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRlbUBXZWJDb3Jl
QEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgotICAgICAgICA/Y3JlYXRlQEhUTUxDb250ZW50
RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRFbGVtZW50QFdl
YkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBXZWJD
b3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1JlZlB0
ckBWRG9jdW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBANEBI
MUhAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9B
Vj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0
cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVA
QFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBA
UEFWRXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3Nh
Z2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlC
dWZmZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgpAQCAt
MTMzNyw3ICsxMzM0LDYgQEAgRVhQT1JUUwogICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWljU3Ry
aW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJpbmdJ
bXBsQDJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdlYkNvcmVAQFlBUEFWU3RydWN0
dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQQlVDbGFzc0luZm9AM0BAWgog
ICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVQQVYx
MkBBQlZTdHJpbmdAV1RGQEBAWgotICAgICAgICA/Y3JlYXRlQEhUTUxDb250ZW50RWxlbWVudEBX
ZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQEBX
VEZAQFBBVkRvY3VtZW50QDJAQFoKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBXZWJDb3JlQEBTQT9B
Vj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1JlZlB0ckBWRG9jdW1l
bnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBANEBIMUhAWgogICAg
ICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1Jl
ZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0QEBa
CiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQ
YXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAUEFWRXhlY1N0
YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdl
YkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlCdWZmZXJAV1RG
QEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182257</attachid>
            <date>2013-01-10 20:55:20 -0800</date>
            <delta_ts>2013-01-10 21:13:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106283-20130111135222.patch</filename>
            <type>text/plain</type>
            <size>14354</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWM1MjM0ODUwYzI1Y2Ux
ZjFkZTc5ODAzNDg2MDUyYjQxNWMwZjMyNi4uYjgwOTQ5ZjJlZTdlMGYyYjdlMDhhMzBmM2E1YWQ5
ZGZjY2IxYzgxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAxLTEwICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2MjgzCisgICAgICAgIFtTaGFkb3cgRE9NXSBI
VE1MQ29udGVudEVsZW1lbnQgYW5kIEhUTUxTaGFkb3dFbGVtZW50IHNob3VsZCBiZSBiZWhpbmQg
U0hBRE9XX0RPTQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICBU
aGlzIGNoYW5nZSBtb3ZlcyA8Y29udGVudD4gYW5kIDxzaGFkb3c+IGJlaGluZAorICAgICAgICBF
TkFCTEUoU0hBRE9XX0RPTSkuIE5vdGUgdGhhdCBlbXB0eSBzdHViIGRlZmluaXRpb25zIGFyZSBy
ZW1haW5pbmcKKyAgICAgICAgZXZlbiBhZnRlciB0aGlzIGNoYW5nZS4gVGhleSBhcmUgZm9yIG1p
bmltaXppbmcgI2lmLyNlbmRpZiB1c2FnZQorICAgICAgICBhbmQgd29uJ3QgaHVydCBjb2RlIHNp
emUuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0lucHV0VHlw
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVl
KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGVudERpc3RyaWJ1dG9yOjpkaXN0cmlidXRlKToKKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKEhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRN
TFNoYWRvd0VsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmlzSFRNTFNoYWRv
d0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6dG9IVE1MU2hhZG93RWxlbWVudCk6CisgICAg
ICAgICogaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmRlY29yYXRlKToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6
OmNyZWF0ZUNvbnRlbnRFbGVtZW50KToKKwogMjAxMy0wMS0xMCAgU2hpbnlhIEthd2FuYWthICA8
c2hpbnlha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2hlbiBhIHNlbGVjdGVkIG5vZGUgaW4g
bmVzdGVkIFNoYWRvd0RPTSBpcyBkZWxldGVkLCBzZWxlY3Rpb24gaGF2ZSB3cm9uZyByYW5nZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMmRlZmI1OTJmNWZlNTc3MGFlZGM3ZjgzOTc2YWU3NWY4
YjViZDMyNy4uYjQ4ZjZhMjY2ZTQ3NWYyN2FkMTQyN2IyY2IyMjE5MDFiNTdlMDEzOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KQEAgLTUxMyw3ICs1MTMsNiBAQCBfX1pON1dlYkNvcmUxN2NhY2hlRE9N
U3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM0pTQzlTdHJ1Y3R1cmVFUEtOUzJf
OQogX19aTjdXZWJDb3JlMTdvcGVuVGVtcG9yYXJ5RmlsZUVSS04zV1RGNlN0cmluZ0VSaQogX19a
TjdXZWJDb3JlMTd1c2VyVmlzaWJsZVN0cmluZ0VQNU5TVVJMCiBfX1pON1dlYkNvcmUxOERPTVdp
bmRvd0V4dGVuc2lvbkMxRVBOU181RnJhbWVFUE5TXzE1RE9NV3JhcHBlcldvcmxkRQotX19aTjdX
ZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQ2Y3JlYXRlRVBOU184RG9jdW1lbnRFCiBfX1pON1dl
YkNvcmUxMFBhc3RlYm9hcmQxN2dlbmVyYWxQYXN0ZWJvYXJkRXYKIF9fWk43V2ViQ29yZTEwUGFz
dGVib2FyZDE0d3JpdGVQbGFpblRleHRFUktOM1dURjZTdHJpbmdFTlMwXzE4U21hcnRSZXBsYWNl
T3B0aW9uRQogX19aTjdXZWJDb3JlMThDb250ZW50RGlzdHJpYnV0b3IyMmVuc3VyZVNlbGVjdEZl
YXR1cmVTZXRFUE5TXzEzRWxlbWVudFNoYWRvd0UKQEAgLTI3MTQsNiArMjcxMywxMCBAQCBfd2tD
YXB0aW9uQXBwZWFyYW5jZUdldFRleHRFZGdlU3R5bGUKIF93a0NhcHRpb25BcHBlYXJhbmNlR2V0
U2V0dGluZ3NDaGFuZ2VkTm90aWZpY2F0aW9uCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTSEFET1df
RE9NKQorX19aTjdXZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQ2Y3JlYXRlRVBOU184RG9jdW1l
bnRFCisjZW5kaWYKKwogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKIF9fWk43V2ViQ29yZTIyUnVu
dGltZUVuYWJsZWRGZWF0dXJlczE5aXNDU1NSZWdpb25zRW5hYmxlZEUKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IGIxNmZhM2IxOGU0ZWE0NjFiNmMyMTgzYWRkZjFmZmYz
MTEwNjQ3OGIuLjI1ZTlhZTQ2MDg4ZTIwNDcyY2NmMzEzMjZkODNhNTA0NjEwYjUzODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTQ5MCw4ICs0OTAsMTIgQEAgdm9pZCBJbnB1dFR5
cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCkKICAgICAvLyBiZWVuIGNyZWF0ZWQgYnkgVGV4dEZp
ZWxkRGVjb3JhdGlvbkVsZW1lbnQsIGFuZCB3ZSBkb24ndCBhbGxvdyBhZGRpbmcKICAgICAvLyBB
dXRob3JTaGFkb3dSb290IHRvIEhUTUxJbnB1dEVsZW1lbnQuCiAgICAgd2hpbGUgKChyb290ID0g
cm9vdC0+eW91bmdlclNoYWRvd1Jvb3QoKSkpIHsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAg
ICAgICAgcm9vdC0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKICAgICAgICAgcm9vdC0+YXBwZW5kQ2hp
bGQoSFRNTFNoYWRvd0VsZW1lbnQ6OmNyZWF0ZShzaGFkb3dUYWcsIGVsZW1lbnQoKS0+ZG9jdW1l
bnQoKSkpOworI2Vsc2UKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisjZW5kaWYKICAg
ICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnRE
aXN0cmlidXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJp
YnV0b3IuY3BwCmluZGV4IDBkM2RiZWEwYjhiN2NiMTY4MjIyY2JhZjgyZTA5NjgyNzNhYmI3YTku
Ljg2N2ExNzQ1N2I1MjllZjA4OWQ4MGIwZmQ4ODNlMTRhNjJjN2VlMzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcApAQCAtMjQ5LDYg
KzI0OSw3IEBAIHZvaWQgQ29udGVudERpc3RyaWJ1dG9yOjpkaXN0cmlidXRlKEVsZW1lbnQqIGhv
c3QpCiAgICAgICAgICAgICBhY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2ludHMuYXBwZW5kKGZpcnN0
QWN0aXZlU2hhZG93SW5zZXJ0aW9uUG9pbnQpOwogICAgIH0KIAorI2lmIEVOQUJMRShTSEFET1df
RE9NKQogICAgIGZvciAoc2l6ZV90IGkgPSBhY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2ludHMuc2l6
ZSgpOyBpID4gMDsgLS1pKSB7CiAgICAgICAgIEhUTUxTaGFkb3dFbGVtZW50KiBzaGFkb3dFbGVt
ZW50ID0gYWN0aXZlU2hhZG93SW5zZXJ0aW9uUG9pbnRzW2kgLSAxXTsKICAgICAgICAgU2hhZG93
Um9vdCogcm9vdCA9IHNoYWRvd0VsZW1lbnQtPmNvbnRhaW5pbmdTaGFkb3dSb290KCk7CkBAIC0y
NjIsNiArMjYzLDkgQEAgdm9pZCBDb250ZW50RGlzdHJpYnV0b3I6OmRpc3RyaWJ1dGUoRWxlbWVu
dCogaG9zdCkKICAgICAgICAgICAgICAgICBzaGFkb3ctPmludmFsaWRhdGVEaXN0cmlidXRpb24o
KTsKICAgICAgICAgfQogICAgIH0KKyNlbHNlCisgICAgQVNTRVJUKCFhY3RpdmVTaGFkb3dJbnNl
cnRpb25Qb2ludHMuc2l6ZSgpKTsKKyNlbmRpZgogfQogCiBib29sIENvbnRlbnREaXN0cmlidXRv
cjo6aW52YWxpZGF0ZShFbGVtZW50KiBob3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKaW5kZXggYzJlZjI3ZmRkMWNiYTQ4NWY0M2Jh
ZTEzNmQ2MDRkZjY3M2Q4YWQ4ZC4uNzZmY2E2ODU2OGM1N2U4MzhhMjE2ZjJiZWJmOTM3ZmVhMDE4
ODEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVs
ZW1lbnQuY3BwCkBAIC01MSw2ICs1MSw4IEBAIGNvbnN0IFF1YWxpZmllZE5hbWUmIEhUTUxDb250
ZW50RWxlbWVudDo6Y29udGVudFRhZ05hbWUoRG9jdW1lbnQqKQogI2VuZGlmCiB9CiAKKyNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKKwogUGFzc1JlZlB0cjxIVE1MQ29udGVudEVsZW1lbnQ+IEhUTUxD
b250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKIHsKICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IEhUTUxDb250ZW50RWxlbWVudChjb250ZW50VGFnTmFtZShkb2N1bWVudCks
IGRvY3VtZW50KSk7CkBAIC0yMDEsNSArMjAzLDE4IEBAIGJvb2wgSFRNTENvbnRlbnRFbGVtZW50
Ojp2YWxpZGF0ZVNlbGVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNlbHNlCiAK
K1Bhc3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBIVE1MQ29udGVudEVsZW1lbnQ6OmNyZWF0
ZShEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIVE1MQ29u
dGVudEVsZW1lbnQoY29udGVudFRhZ05hbWUoZG9jdW1lbnQpLCBkb2N1bWVudCkpOwogfQorCitI
VE1MQ29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBJbnNlcnRpb25Qb2ludCh0YWdO
YW1lLCBkb2N1bWVudCkKK3sgfQorCisjZW5kaWYgLy8gaWYgRU5BQkxFKFNIQURPV19ET00pCisK
K30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQu
aAppbmRleCA1ZTJkMDMwNDIwZjQ2YjQwMDNlYzExZjYxMDc5NWZkMDA5YWNhM2ViLi4zMDE1OWFi
YjQ4ZjYyOGIzNGRhYjczZjk2YzdjYWYwZTZhY2E0NWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaApAQCAtMzcsNiArMzcsOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKwogY2xhc3MgSFRN
TENvbnRlbnRFbGVtZW50IDogcHVibGljIEluc2VydGlvblBvaW50IHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSYgY29udGVudFRhZ05hbWUoRG9jdW1lbnQqKTsKQEAg
LTc5LDYgKzgxLDI1IEBAIGlubGluZSBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIEhUTUxDb250ZW50
RWxlbWVudDo6c2VsZWN0b3JMaXN0KCkKICAgICByZXR1cm4gbV9zZWxlY3Rvckxpc3Q7CiB9CiAK
KyNlbHNlCisKKy8vIEZJWE1FOiBzaG91bGRuJ3QgaW5oZXJpdCBmcm9tIEluc2VydGlvblBvaW50
OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMzM5CitjbGFzcyBI
VE1MQ29udGVudEVsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9pbnQgeworcHVibGljOgorICAg
IHN0YXRpYyBjb25zdCBRdWFsaWZpZWROYW1lJiBjb250ZW50VGFnTmFtZShEb2N1bWVudCopOwor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxDb250ZW50RWxlbWVudD4gY3JlYXRlKERvY3VtZW50
Kik7CisKKyAgICB2aXJ0dWFsIFByZW1hdGNoUmVzdWx0IHByZW1hdGNoKE5vZGUqKSBPVkVSUklE
RSB7IHJldHVybiBQcmVtYXRjaEZvcmNlTWF0Y2g7IH0KKyAgICB2aXJ0dWFsIFR5cGUgaW5zZXJ0
aW9uUG9pbnRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQ29udGVudEluc2VydGlvblBv
aW50OyB9CisgICAgdmlydHVhbCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgp
IE9WRVJSSURFIHsgcmV0dXJuIGVtcHR5U2VsZWN0b3JMaXN0KCk7IH0KKworcHJvdGVjdGVkOgor
ICAgIEhUTUxDb250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsK
KworfTsKKworI2VuZGlmIC8vIGlmIEVOQUJMRShTSEFET1dfRE9NKQorCiBpbmxpbmUgYm9vbCBp
c0hUTUxDb250ZW50RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQogewogICAgIEFTU0VSVChub2Rl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNw
cAppbmRleCA4NTE4NGY3NmJiYTU3ZmRmNjY4YzgwMmJkOGU4NTk4MzkzODkwZTA0Li42Mzc0ZGM3
ZGNhNDJlN2M0NzFhN2IzYjI1N2JiOThiZDQwODI0M2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAj
aW5jbHVkZSAiU2hhZG93Um9vdC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5o
PgogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRG9jdW1lbnQ7CkBAIC02OSwzICs3MSw1IEBAIFNoYWRvd1Jvb3QqIEhUTUxTaGFkb3dFbGVt
ZW50OjpvbGRlclNoYWRvd1Jvb3QoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBpZiBFTkFCTEUoU0hBRE9XX0RPTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9IVE1MU2hhZG93RWxlbWVudC5oCmluZGV4IDFmMzhmOWZmNjgzN2JlMmM1NjRkNDRiZjA1
M2UxZGZkZWQyODc2NWMuLjUxZDFhODY3YzgxOWNmNzI3MTFlNDlmMWM3MjIyNDBkNTgwZTEyZDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaApA
QCAtMzYsNiArMzYsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoU0hB
RE9XX0RPTSkKKwogY2xhc3MgSFRNTFNoYWRvd0VsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9p
bnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxTaGFkb3dFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CkBAIC02OCw2ICs3MCwxNSBA
QCBpbmxpbmUgY29uc3QgSFRNTFNoYWRvd0VsZW1lbnQqIHRvSFRNTFNoYWRvd0VsZW1lbnQoY29u
c3QgTm9kZSogbm9kZSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgSFRNTFNoYWRvd0Vs
ZW1lbnQqPihub2RlKTsKIH0KIAorI2Vsc2UKKworY2xhc3MgSFRNTFNoYWRvd0VsZW1lbnQgeyB9
OworaW5saW5lIGJvb2wgaXNIVE1MU2hhZG93RWxlbWVudChjb25zdCBOb2RlKikgeyByZXR1cm4g
ZmFsc2U7IH0KK2lubGluZSBIVE1MU2hhZG93RWxlbWVudCogdG9IVE1MU2hhZG93RWxlbWVudChO
b2RlKikgeyByZXR1cm4gMDsgfQoraW5saW5lIGNvbnN0IEhUTUxTaGFkb3dFbGVtZW50KiB0b0hU
TUxTaGFkb3dFbGVtZW50KGNvbnN0IE5vZGUqKSB7IHJldHVybiAwOyB9CisKKyNlbmRpZiAvLyBp
ZiBFTkFCTEUoU0hBRE9XX0RPTSkKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gSFRNTFNoYWRvd0VsZW1lbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwCmluZGV4IDdkZjcwMWUxMjVm
MDEyNWFlYmYyYzYwZDhlMDZiYzIxMGEyMDQwZGYuLjc5YTFkMjJiODFlOTNiNTViMmNlNmNjMWJh
N2Y3YmQyYjRkOTE2ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Rl
eHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5jcHAKQEAgLTEwOSw4ICsxMDksOSBAQCB2
b2lkIFRleHRGaWVsZERlY29yYXRpb25FbGVtZW50OjpkZWNvcmF0ZShIVE1MSW5wdXRFbGVtZW50
KiBpbnB1dCwgYm9vbCB2aXNpYmxlKQogICAgIGJveC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShD
U1NQcm9wZXJ0eVdlYmtpdEJveEFsaWduLCBDU1NWYWx1ZUNlbnRlcik7CiAgICAgQVNTRVJUKGV4
aXN0aW5nUm9vdC0+Y2hpbGROb2RlQ291bnQoKSA9PSAxKTsKICAgICB0b0hUTUxFbGVtZW50KGV4
aXN0aW5nUm9vdC0+Zmlyc3RDaGlsZCgpKS0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVdlYmtpdEJveEZsZXgsIDEuMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwor
I2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAgIGJveC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0Vs
ZW1lbnQ6OmNyZWF0ZShIVE1MTmFtZXM6OnNoYWRvd1RhZywgaW5wdXQtPmRvY3VtZW50KCkpKTsK
LQorI2VuZGlmCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXks
IHZpc2libGUgPyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVOb25lKTsKICAgICBib3gtPmFwcGVu
ZENoaWxkKHRoaXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGI1
YmNjOGVmMmUzNjNkODUxNmJhNGU1YTE5OTViN2NjYTQxYmRlMzUuLjMwNGUzNDg0Y2RhMzdhM2Uz
ZjEwZGE3ZWI1Zjc3MDFlYmM0MzRkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKQEAgLTMwMCw3ICszMDAsMTEgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBJbnRlcm5hbHM6OmNy
ZWF0ZUNvbnRlbnRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW8KICAgICAgICAg
cmV0dXJuIDA7CiAgICAgfQogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCiAgICAgcmV0dXJuIEhU
TUxDb250ZW50RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKKyNlbHNlCisgICAgcmV0dXJuIDA7
CisjZW5kaWYKIH0KIAogYm9vbCBJbnRlcm5hbHM6OmlzVmFsaWRDb250ZW50U2VsZWN0KEVsZW1l
bnQqIGluc2VydGlvblBvaW50LCBFeGNlcHRpb25Db2RlJiBlYykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW4gYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmluCmluZGV4IDFkMGQx
ZDQ2YmQ3YjNmN2IyYmI5YjIwNGM4OTEwZjk5YjNlYTY3NjIuLjQ2MmVmMTE5YWUyNDYxNWU5N2U4
YzdjZWMyYzBhNzVkNDg3YjA2MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYktp
dC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW4KKysrIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
S2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbgpAQCAtMTczLDcgKzE3Myw2IEBAIEVYUE9S
VFMKICAgICAgICAgP2FkZFNsb3dDYXNlQEF0b21pY1N0cmluZ0BXVEZAQENBP0FWPyRQYXNzUmVm
UHRyQFZTdHJpbmdJbXBsQFdURkBAQDJAUEFWU3RyaW5nSW1wbEAyQEBaCiAgICAgICAgID9jYWNo
ZURPTVN0cnVjdHVyZUBXZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpTRE9NR2xvYmFs
T2JqZWN0QDFAUEFWMjNAUEJVQ2xhc3NJbmZvQDNAQFoKICAgICAgICAgP2NoaWxkSXRlbVdpdGhU
YXJnZXRASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFUEFWMTJAQUJWU3RyaW5nQFdURkBAQFoKLSAg
ICAgICAgP2NyZWF0ZUBIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQ
dHJAVkhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQQVZEb2N1bWVudEAyQEBaCiAg
ICAgICAgID9jcmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlJhbmdlQFdl
YkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdlYkNvcmVAQEA0QFY/JFBhc3NS
ZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRASDFIQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVk
U2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAgICAgICA/Y3JlYXRlQFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNj
cmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBKU0NAQFZKU1ZhbHVlQDZAUEFW
PyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBANEBQQVY/
JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdURkBAJDAwQDRAVzRTZXJpYWxp
emF0aW9uRXJyb3JNb2RlQDJAQFoKQEAgLTU2MSw3ICs1NjAsNiBAQCBFWFBPUlRTCiAgICAgICAg
ID9hZGRTbG93Q2FzZUBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5n
SW1wbEBXVEZAQEAyQFBBVlN0cmluZ0ltcGxAMkBAWgogICAgICAgICA/Y2FjaGVET01TdHJ1Y3R1
cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBB
VjIzQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9jaGlsZEl0ZW1XaXRoVGFyZ2V0QEhpc3Rv
cnlJdGVtQFdlYkNvcmVAQFFCRVBBVjEyQEFCVlN0cmluZ0BXVEZAQEBaCi0gICAgICAgID9jcmVh
dGVASFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZIVE1MQ29u
dGVudEVsZW1lbnRAV2ViQ29yZUBAQFdURkBAUEFWRG9jdW1lbnRAMkBAWgogICAgICAgICA/Y3Jl
YXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RG
QEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVudEBXZWJDb3JlQEBANEBWPyRQYXNzUmVmUHRyQFZOb2Rl
QFdlYkNvcmVAQEA0QEgxSEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVl
QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29y
ZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0
VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBX
ZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/
JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8k
UmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9y
TW9kZUAyQEBaCkBAIC05NDksNyArOTQ3LDYgQEAgRVhQT1JUUwogICAgICAgICA/YWRkU2xvd0Nh
c2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBA
MkBQQVZTdHJpbmdJbXBsQDJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdlYkNvcmVA
QFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQQlVDbGFz
c0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRlbUBXZWJD
b3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgotICAgICAgICA/Y3JlYXRlQEhUTUxDb250
ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRFbGVtZW50
QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBX
ZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1Jl
ZlB0ckBWRG9jdW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBA
NEBIMUhAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBT
QT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFC
VlN0cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNv
cmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdU
RkBAUEFWRXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1l
c3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJy
YXlCdWZmZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgpA
QCAtMTMzNyw3ICsxMzM0LDYgQEAgRVhQT1JUUwogICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWlj
U3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJp
bmdJbXBsQDJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdlYkNvcmVAQFlBUEFWU3Ry
dWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQQlVDbGFzc0luZm9AM0BA
WgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVQ
QVYxMkBBQlZTdHJpbmdAV1RGQEBAWgotICAgICAgICA/Y3JlYXRlQEhUTUxDb250ZW50RWxlbWVu
dEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVA
QEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBXZWJDb3JlQEBT
QT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1JlZlB0ckBWRG9j
dW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBANEBIMUhAWgog
ICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFz
c1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0
QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FW
PyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAUEFWRXhl
Y1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0
QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlCdWZmZXJA
V1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182258</attachid>
            <date>2013-01-10 21:13:56 -0800</date>
            <delta_ts>2013-01-10 21:17:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106283-20130111141058.patch</filename>
            <type>text/plain</type>
            <size>15139</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWM1MjM0ODUwYzI1Y2Ux
ZjFkZTc5ODAzNDg2MDUyYjQxNWMwZjMyNi4uNzhhYTk4MmYxMDMwMDY3N2Q5OWFkNTQyMDM0OWJh
ZGZiNzcwNmQzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAxLTEwICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2MjgzCisgICAgICAgIFtTaGFkb3cgRE9NXSBI
VE1MQ29udGVudEVsZW1lbnQgYW5kIEhUTUxTaGFkb3dFbGVtZW50IHNob3VsZCBiZSBiZWhpbmQg
U0hBRE9XX0RPTQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICBU
aGlzIGNoYW5nZSBtb3ZlcyA8Y29udGVudD4gYW5kIDxzaGFkb3c+IGJlaGluZAorICAgICAgICBF
TkFCTEUoU0hBRE9XX0RPTSkuIE5vdGUgdGhhdCBlbXB0eSBzdHViIGRlZmluaXRpb25zIGFyZSBy
ZW1haW5pbmcKKyAgICAgICAgZXZlbiBhZnRlciB0aGlzIGNoYW5nZS4gVGhleSBhcmUgZm9yIG1p
bmltaXppbmcgI2lmLyNlbmRpZiB1c2FnZQorICAgICAgICBhbmQgd29uJ3QgaHVydCBjb2RlIHNp
emUuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0lucHV0VHlw
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVl
KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGVudERpc3RyaWJ1dG9yOjpkaXN0cmlidXRlKToKKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKEhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRN
TFNoYWRvd0VsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmlzSFRNTFNoYWRv
d0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6dG9IVE1MU2hhZG93RWxlbWVudCk6CisgICAg
ICAgICogaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmRlY29yYXRlKToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6
OmNyZWF0ZUNvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aXNW
YWxpZENvbnRlbnRTZWxlY3QpOgorCiAyMDEzLTAxLTEwICBTaGlueWEgS2F3YW5ha2EgIDxzaGlu
eWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXaGVuIGEgc2VsZWN0ZWQgbm9kZSBpbiBuZXN0
ZWQgU2hhZG93RE9NIGlzIGRlbGV0ZWQsIHNlbGVjdGlvbiBoYXZlIHdyb25nIHJhbmdlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgppbmRleCAyZGVmYjU5MmY1ZmU1NzcwYWVkYzdmODM5NzZhZTc1ZjhiNWJk
MzI3Li5iNDhmNmEyNjZlNDc1ZjI3YWQxNDI3YjJjYjIyMTkwMWI1N2UwMTM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgpAQCAtNTEzLDcgKzUxMyw2IEBAIF9fWk43V2ViQ29yZTE3Y2FjaGVET01TdHJ1
Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQS05TMl85CiBf
X1pON1dlYkNvcmUxN29wZW5UZW1wb3JhcnlGaWxlRVJLTjNXVEY2U3RyaW5nRVJpCiBfX1pON1dl
YkNvcmUxN3VzZXJWaXNpYmxlU3RyaW5nRVA1TlNVUkwKIF9fWk43V2ViQ29yZTE4RE9NV2luZG93
RXh0ZW5zaW9uQzFFUE5TXzVGcmFtZUVQTlNfMTVET01XcmFwcGVyV29ybGRFCi1fX1pON1dlYkNv
cmUxOEhUTUxDb250ZW50RWxlbWVudDZjcmVhdGVFUE5TXzhEb2N1bWVudEUKIF9fWk43V2ViQ29y
ZTEwUGFzdGVib2FyZDE3Z2VuZXJhbFBhc3RlYm9hcmRFdgogX19aTjdXZWJDb3JlMTBQYXN0ZWJv
YXJkMTR3cml0ZVBsYWluVGV4dEVSS04zV1RGNlN0cmluZ0VOUzBfMThTbWFydFJlcGxhY2VPcHRp
b25FCiBfX1pON1dlYkNvcmUxOENvbnRlbnREaXN0cmlidXRvcjIyZW5zdXJlU2VsZWN0RmVhdHVy
ZVNldEVQTlNfMTNFbGVtZW50U2hhZG93RQpAQCAtMjcxNCw2ICsyNzEzLDEwIEBAIF93a0NhcHRp
b25BcHBlYXJhbmNlR2V0VGV4dEVkZ2VTdHlsZQogX3drQ2FwdGlvbkFwcGVhcmFuY2VHZXRTZXR0
aW5nc0NoYW5nZWROb3RpZmljYXRpb24KICNlbmRpZgogCisjaWYgRU5BQkxFKFNIQURPV19ET00p
CitfX1pON1dlYkNvcmUxOEhUTUxDb250ZW50RWxlbWVudDZjcmVhdGVFUE5TXzhEb2N1bWVudEUK
KyNlbmRpZgorCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQogX19aTjdXZWJDb3JlMjJSdW50aW1l
RW5hYmxlZEZlYXR1cmVzMTlpc0NTU1JlZ2lvbnNFbmFibGVkRQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5jcHAKaW5kZXggYjE2ZmEzYjE4ZTRlYTQ2MWI2YzIxODNhZGRmMWZmZjMxMTA2
NDc4Yi4uMjVlOWFlNDYwODhlMjA0NzJjY2YzMTMyNmQ4M2E1MDQ2MTBiNTM4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtNDkwLDggKzQ5MCwxMiBAQCB2b2lkIElucHV0VHlwZTo6
ZGVzdHJveVNoYWRvd1N1YnRyZWUoKQogICAgIC8vIGJlZW4gY3JlYXRlZCBieSBUZXh0RmllbGRE
ZWNvcmF0aW9uRWxlbWVudCwgYW5kIHdlIGRvbid0IGFsbG93IGFkZGluZwogICAgIC8vIEF1dGhv
clNoYWRvd1Jvb3QgdG8gSFRNTElucHV0RWxlbWVudC4KICAgICB3aGlsZSAoKHJvb3QgPSByb290
LT55b3VuZ2VyU2hhZG93Um9vdCgpKSkgeworI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAgICAg
ICByb290LT5yZW1vdmVBbGxDaGlsZHJlbigpOwogICAgICAgICByb290LT5hcHBlbmRDaGlsZChI
VE1MU2hhZG93RWxlbWVudDo6Y3JlYXRlKHNoYWRvd1RhZywgZWxlbWVudCgpLT5kb2N1bWVudCgp
KSk7CisjZWxzZQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgogICAgIH0K
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3Ry
aWJ1dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRv
ci5jcHAKaW5kZXggMGQzZGJlYTBiOGI3Y2IxNjgyMjJjYmFmODJlMDk2ODI3M2FiYjdhOS4uODY3
YTE3NDU3YjUyOWVmMDg5ZDgwYjBmZDg4M2UxNGE2MmM3ZWUzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwCkBAIC0yNDksNiArMjQ5
LDcgQEAgdm9pZCBDb250ZW50RGlzdHJpYnV0b3I6OmRpc3RyaWJ1dGUoRWxlbWVudCogaG9zdCkK
ICAgICAgICAgICAgIGFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50cy5hcHBlbmQoZmlyc3RBY3Rp
dmVTaGFkb3dJbnNlcnRpb25Qb2ludCk7CiAgICAgfQogCisjaWYgRU5BQkxFKFNIQURPV19ET00p
CiAgICAgZm9yIChzaXplX3QgaSA9IGFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50cy5zaXplKCk7
IGkgPiAwOyAtLWkpIHsKICAgICAgICAgSFRNTFNoYWRvd0VsZW1lbnQqIHNoYWRvd0VsZW1lbnQg
PSBhY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2ludHNbaSAtIDFdOwogICAgICAgICBTaGFkb3dSb290
KiByb290ID0gc2hhZG93RWxlbWVudC0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKQEAgLTI2Miw2
ICsyNjMsOSBAQCB2b2lkIENvbnRlbnREaXN0cmlidXRvcjo6ZGlzdHJpYnV0ZShFbGVtZW50KiBo
b3N0KQogICAgICAgICAgICAgICAgIHNoYWRvdy0+aW52YWxpZGF0ZURpc3RyaWJ1dGlvbigpOwog
ICAgICAgICB9CiAgICAgfQorI2Vsc2UKKyAgICBBU1NFUlQoIWFjdGl2ZVNoYWRvd0luc2VydGlv
blBvaW50cy5zaXplKCkpOworI2VuZGlmCiB9CiAKIGJvb2wgQ29udGVudERpc3RyaWJ1dG9yOjpp
bnZhbGlkYXRlKEVsZW1lbnQqIGhvc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAppbmRleCBjMmVmMjdmZGQxY2JhNDg1ZjQzYmFlMTM2
ZDYwNGRmNjczZDhhZDhkLi43NmZjYTY4NTY4YzU3ZTgzOGEyMTZmMmJlYmY5MzdmZWEwMTg4MTBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVu
dC5jcHAKQEAgLTUxLDYgKzUxLDggQEAgY29uc3QgUXVhbGlmaWVkTmFtZSYgSFRNTENvbnRlbnRF
bGVtZW50Ojpjb250ZW50VGFnTmFtZShEb2N1bWVudCopCiAjZW5kaWYKIH0KIAorI2lmIEVOQUJM
RShTSEFET1dfRE9NKQorCiBQYXNzUmVmUHRyPEhUTUxDb250ZW50RWxlbWVudD4gSFRNTENvbnRl
bnRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIHJldHVybiBhZG9w
dFJlZihuZXcgSFRNTENvbnRlbnRFbGVtZW50KGNvbnRlbnRUYWdOYW1lKGRvY3VtZW50KSwgZG9j
dW1lbnQpKTsKQEAgLTIwMSw1ICsyMDMsMTggQEAgYm9vbCBIVE1MQ29udGVudEVsZW1lbnQ6OnZh
bGlkYXRlU2VsZWN0KCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2Vsc2UKIAorUGFz
c1JlZlB0cjxIVE1MQ29udGVudEVsZW1lbnQ+IEhUTUxDb250ZW50RWxlbWVudDo6Y3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxDb250ZW50
RWxlbWVudChjb250ZW50VGFnTmFtZShkb2N1bWVudCksIGRvY3VtZW50KSk7CiB9CisKK0hUTUxD
b250ZW50RWxlbWVudDo6SFRNTENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6IEluc2VydGlvblBvaW50KHRhZ05hbWUs
IGRvY3VtZW50KQoreyB9CisKKyNlbmRpZiAvLyBpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKworfQor
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oCmlu
ZGV4IDVlMmQwMzA0MjBmNDZiNDAwM2VjMTFmNjEwNzk1ZmQwMDlhY2EzZWIuLjlkMGM4ZmM0MzUz
YmY5NmNlMjRkMWEyNmYyNTFhZGMzYzk4MWFkMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oCkBAIC0zNyw2ICszNyw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorCiBjbGFzcyBIVE1MQ29u
dGVudEVsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9pbnQgewogcHVibGljOgogICAgIHN0YXRp
YyBjb25zdCBRdWFsaWZpZWROYW1lJiBjb250ZW50VGFnTmFtZShEb2N1bWVudCopOwpAQCAtNzks
NiArODEsMjMgQEAgaW5saW5lIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgSFRNTENvbnRlbnRFbGVt
ZW50OjpzZWxlY3Rvckxpc3QoKQogICAgIHJldHVybiBtX3NlbGVjdG9yTGlzdDsKIH0KIAorI2Vs
c2UKKworLy8gRklYTUU6IHNob3VsZG4ndCBpbmhlcml0IGZyb20gSW5zZXJ0aW9uUG9pbnQ6IGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMzMzkKK2NsYXNzIEhUTUxD
b250ZW50RWxlbWVudCA6IHB1YmxpYyBJbnNlcnRpb25Qb2ludCB7CitwdWJsaWM6CisgICAgc3Rh
dGljIGNvbnN0IFF1YWxpZmllZE5hbWUmIGNvbnRlbnRUYWdOYW1lKERvY3VtZW50Kik7CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqKTsK
KworICAgIHZpcnR1YWwgVHlwZSBpbnNlcnRpb25Qb2ludFR5cGUoKSBjb25zdCBPVkVSUklERSB7
IHJldHVybiBDb250ZW50SW5zZXJ0aW9uUG9pbnQ7IH0KKworcHJvdGVjdGVkOgorICAgIEhUTUxD
b250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKKworfTsKKwor
I2VuZGlmIC8vIGlmIEVOQUJMRShTSEFET1dfRE9NKQorCiBpbmxpbmUgYm9vbCBpc0hUTUxDb250
ZW50RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQogewogICAgIEFTU0VSVChub2RlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcAppbmRleCA4
NTE4NGY3NmJiYTU3ZmRmNjY4YzgwMmJkOGU4NTk4MzkzODkwZTA0Li42Mzc0ZGM3ZGNhNDJlN2M0
NzFhN2IzYjI1N2JiOThiZDQwODI0M2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSAi
U2hhZG93Um9vdC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCisjaWYg
RU5BQkxFKFNIQURPV19ET00pCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1l
bnQ7CkBAIC02OSwzICs3MSw1IEBAIFNoYWRvd1Jvb3QqIEhUTUxTaGFkb3dFbGVtZW50OjpvbGRl
clNoYWRvd1Jvb3QoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBp
ZiBFTkFCTEUoU0hBRE9XX0RPTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0hUTUxTaGFkb3dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1M
U2hhZG93RWxlbWVudC5oCmluZGV4IDFmMzhmOWZmNjgzN2JlMmM1NjRkNDRiZjA1M2UxZGZkZWQy
ODc2NWMuLjUxZDFhODY3YzgxOWNmNzI3MTFlNDlmMWM3MjIyNDBkNTgwZTEyZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaApAQCAtMzYsNiAr
MzYsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkK
KwogY2xhc3MgSFRNTFNoYWRvd0VsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9pbnQgewogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxTaGFkb3dFbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CkBAIC02OCw2ICs3MCwxNSBAQCBpbmxpbmUg
Y29uc3QgSFRNTFNoYWRvd0VsZW1lbnQqIHRvSFRNTFNoYWRvd0VsZW1lbnQoY29uc3QgTm9kZSog
bm9kZSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgSFRNTFNoYWRvd0VsZW1lbnQqPihu
b2RlKTsKIH0KIAorI2Vsc2UKKworY2xhc3MgSFRNTFNoYWRvd0VsZW1lbnQgeyB9OworaW5saW5l
IGJvb2wgaXNIVE1MU2hhZG93RWxlbWVudChjb25zdCBOb2RlKikgeyByZXR1cm4gZmFsc2U7IH0K
K2lubGluZSBIVE1MU2hhZG93RWxlbWVudCogdG9IVE1MU2hhZG93RWxlbWVudChOb2RlKikgeyBy
ZXR1cm4gMDsgfQoraW5saW5lIGNvbnN0IEhUTUxTaGFkb3dFbGVtZW50KiB0b0hUTUxTaGFkb3dF
bGVtZW50KGNvbnN0IE5vZGUqKSB7IHJldHVybiAwOyB9CisKKyNlbmRpZiAvLyBpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gSFRNTFNo
YWRvd0VsZW1lbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4
dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwCmluZGV4IDdkZjcwMWUxMjVmMDEyNWFlYmYy
YzYwZDhlMDZiYzIxMGEyMDQwZGYuLjc5YTFkMjJiODFlOTNiNTViMmNlNmNjMWJhN2Y3YmQyYjRk
OTE2ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERl
Y29yYXRpb25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0
RmllbGREZWNvcmF0aW9uRWxlbWVudC5jcHAKQEAgLTEwOSw4ICsxMDksOSBAQCB2b2lkIFRleHRG
aWVsZERlY29yYXRpb25FbGVtZW50OjpkZWNvcmF0ZShIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCwg
Ym9vbCB2aXNpYmxlKQogICAgIGJveC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eVdlYmtpdEJveEFsaWduLCBDU1NWYWx1ZUNlbnRlcik7CiAgICAgQVNTRVJUKGV4aXN0aW5nUm9v
dC0+Y2hpbGROb2RlQ291bnQoKSA9PSAxKTsKICAgICB0b0hUTUxFbGVtZW50KGV4aXN0aW5nUm9v
dC0+Zmlyc3RDaGlsZCgpKS0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtp
dEJveEZsZXgsIDEuMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOworI2lmIEVOQUJM
RShTSEFET1dfRE9NKQogICAgIGJveC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0VsZW1lbnQ6OmNy
ZWF0ZShIVE1MTmFtZXM6OnNoYWRvd1RhZywgaW5wdXQtPmRvY3VtZW50KCkpKTsKLQorI2VuZGlm
CiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIHZpc2libGUg
PyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVOb25lKTsKICAgICBib3gtPmFwcGVuZENoaWxkKHRo
aXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGI1YmNjOGVmMmUz
NjNkODUxNmJhNGU1YTE5OTViN2NjYTQxYmRlMzUuLmQ0MmI3MzhjZTdlNGVlNjFiODQyMTgwZDBl
NTMwODczYzgyOTMyZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMw
MCw3ICszMDAsMTEgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBJbnRlcm5hbHM6OmNyZWF0ZUNvbnRl
bnRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW8KICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCiAgICAgcmV0dXJuIEhUTUxDb250ZW50
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYK
IH0KIAogYm9vbCBJbnRlcm5hbHM6OmlzVmFsaWRDb250ZW50U2VsZWN0KEVsZW1lbnQqIGluc2Vy
dGlvblBvaW50LCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTMxMCw3ICszMTQsMTEgQEAgYm9vbCBJ
bnRlcm5hbHM6OmlzVmFsaWRDb250ZW50U2VsZWN0KEVsZW1lbnQqIGluc2VydGlvblBvaW50LCBF
eGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorI2lmIEVO
QUJMRShTSEFET1dfRE9NKQogICAgIHJldHVybiBpc0hUTUxDb250ZW50RWxlbWVudChpbnNlcnRp
b25Qb2ludCkgJiYgdG9IVE1MQ29udGVudEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQpLT5pc1NlbGVj
dFZhbGlkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBOb2RlKiBJ
bnRlcm5hbHM6OnRyZWVTY29wZVJvb3ROb2RlKE5vZGUqIG5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVj
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCmluZGV4IGVkYzNjMjgwNTk3YjJlZGI4
YWEzNmEzYzlhYjhkZDA0ZjQyYmMwNjkuLjY5ZGE5YmQyNDlmYjA3OGMzYTBiMDk4NTkyNzM5OGY5
ZDQ0M2ZmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTEwNyw3ICsx
MDcsNyBAQAogICAgICAgJ0VOQUJMRV9SVUJZPTEnLAogICAgICAgJ0VOQUJMRV9TQU5EQk9YPTEn
LAogICAgICAgJ0VOQUJMRV9TQ1JJUFRFRF9TUEVFQ0g9MScsCi0gICAgICAnRU5BQkxFX1NIQURP
V19ET009MScsCisgICAgICAnRU5BQkxFX1NIQURPV19ET009MCcsCiAgICAgICAnRU5BQkxFX1NN
T09USF9TQ1JPTExJTkc9MScsCiAgICAgICAnRU5BQkxFX1NRTF9EQVRBQkFTRT0xJywKICAgICAg
ICdFTkFCTEVfU1RZTEVfU0NPUEVEPTEnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
V2ViS2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbiBiL1NvdXJjZS9XZWJLaXQvd2luL1dl
YktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW4KaW5kZXggMWQwZDFkNDZiZDdiM2Y3YjJi
YjliMjA0Yzg5MTBmOTliM2VhNjc2Mi4uNDYyZWYxMTlhZTI0NjE1ZTk3ZThjN2NlYzJjMGE3NWQ0
ODdiMDYyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJL
aXRFeHBvcnRzLmRlZi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dl
YktpdEV4cG9ydHMuZGVmLmluCkBAIC0xNzMsNyArMTczLDYgQEAgRVhQT1JUUwogICAgICAgICA/
YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0lt
cGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJl
QFdlYkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYy
M0BQQlVDbGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5
SXRlbUBXZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgotICAgICAgICA/Y3JlYXRl
QEhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRl
bnRFbGVtZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKICAgICAgICAgP2NyZWF0
ZUBSYW5nZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBA
Vj8kUGFzc1JlZlB0ckBWRG9jdW1lbnRAV2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBX
ZWJDb3JlQEBANEBIMUhAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBX
ZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVA
QEBXVEZAQEFCVlN0cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZh
bHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2Vi
Q29yZUBAQFdURkBAUEFWRXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRS
ZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJl
ZlB0ckBWQXJyYXlCdWZmZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1v
ZGVAMkBAWgpAQCAtNTYxLDcgKzU2MCw2IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZFNsb3dDYXNl
QEF0b21pY1N0cmluZ0BXVEZAQENBP0FWPyRQYXNzUmVmUHRyQFZTdHJpbmdJbXBsQFdURkBAQDJA
UEFWU3RyaW5nSW1wbEAyQEBaCiAgICAgICAgID9jYWNoZURPTVN0cnVjdHVyZUBXZWJDb3JlQEBZ
QVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWMjNAUEJVQ2xhc3NJ
bmZvQDNAQFoKICAgICAgICAgP2NoaWxkSXRlbVdpdGhUYXJnZXRASGlzdG9yeUl0ZW1AV2ViQ29y
ZUBAUUJFUEFWMTJAQUJWU3RyaW5nQFdURkBAQFoKLSAgICAgICAgP2NyZWF0ZUBIVE1MQ29udGVu
dEVsZW1lbnRAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVkhUTUxDb250ZW50RWxlbWVudEBX
ZWJDb3JlQEBAV1RGQEBQQVZEb2N1bWVudEAyQEBaCiAgICAgICAgID9jcmVhdGVAUmFuZ2VAV2Vi
Q29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQ
dHJAVkRvY3VtZW50QFdlYkNvcmVAQEA0QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRA
SDFIQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/
QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZT
dHJpbmdANEBAWgogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3Jl
QEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZA
QFBBVkV4ZWNTdGF0ZUBKU0NAQFZKU1ZhbHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNz
YWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5
QnVmZmVyQFdURkBAQFdURkBAJDAwQDRAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKQEAg
LTk0OSw3ICs5NDcsNiBAQCBFWFBPUlRTCiAgICAgICAgID9hZGRTbG93Q2FzZUBBdG9taWNTdHJp
bmdAV1RGQEBDQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBBVlN0cmluZ0lt
cGxAMkBAWgogICAgICAgICA/Y2FjaGVET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1
cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVjIzQFBCVUNsYXNzSW5mb0AzQEBaCiAg
ICAgICAgID9jaGlsZEl0ZW1XaXRoVGFyZ2V0QEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFCRVBBVjEy
QEFCVlN0cmluZ0BXVEZAQEBaCi0gICAgICAgID9jcmVhdGVASFRNTENvbnRlbnRFbGVtZW50QFdl
YkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAQFdU
RkBAUEFWRG9jdW1lbnRAMkBAWgogICAgICAgICA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FW
PyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVu
dEBXZWJDb3JlQEBANEBWPyRQYXNzUmVmUHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaCiAgICAg
ICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVm
UHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoK
ICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBh
c3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3Rh
dGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2Vi
Q29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZA
QEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCkBAIC0xMzM3LDcgKzEz
MzQsNiBAQCBFWFBPUlRTCiAgICAgICAgID9hZGRTbG93Q2FzZUBBdG9taWNTdHJpbmdAV1RGQEBD
QT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBBVlN0cmluZ0ltcGxAMkBAWgog
ICAgICAgICA/Y2FjaGVET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQ
QVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVjIzQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9j
aGlsZEl0ZW1XaXRoVGFyZ2V0QEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFCRVBBVjEyQEFCVlN0cmlu
Z0BXVEZAQEBaCi0gICAgICAgID9jcmVhdGVASFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNB
P0FWPyRQYXNzUmVmUHRyQFZIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAQFdURkBAUEFWRG9j
dW1lbnRAMkBAWgogICAgICAgICA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVm
UHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVudEBXZWJDb3Jl
QEBANEBWPyRQYXNzUmVmUHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaCiAgICAgICAgID9jcmVh
dGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJp
YWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAg
P2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJA
VlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBW
SlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdU
RkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQw
MEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182259</attachid>
            <date>2013-01-10 21:17:45 -0800</date>
            <delta_ts>2013-01-10 23:40:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106283-20130111141447.patch</filename>
            <type>text/plain</type>
            <size>14602</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWM1MjM0ODUwYzI1Y2Ux
ZjFkZTc5ODAzNDg2MDUyYjQxNWMwZjMyNi4uNzhhYTk4MmYxMDMwMDY3N2Q5OWFkNTQyMDM0OWJh
ZGZiNzcwNmQzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAxLTEwICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2MjgzCisgICAgICAgIFtTaGFkb3cgRE9NXSBI
VE1MQ29udGVudEVsZW1lbnQgYW5kIEhUTUxTaGFkb3dFbGVtZW50IHNob3VsZCBiZSBiZWhpbmQg
U0hBRE9XX0RPTQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICBU
aGlzIGNoYW5nZSBtb3ZlcyA8Y29udGVudD4gYW5kIDxzaGFkb3c+IGJlaGluZAorICAgICAgICBF
TkFCTEUoU0hBRE9XX0RPTSkuIE5vdGUgdGhhdCBlbXB0eSBzdHViIGRlZmluaXRpb25zIGFyZSBy
ZW1haW5pbmcKKyAgICAgICAgZXZlbiBhZnRlciB0aGlzIGNoYW5nZS4gVGhleSBhcmUgZm9yIG1p
bmltaXppbmcgI2lmLyNlbmRpZiB1c2FnZQorICAgICAgICBhbmQgd29uJ3QgaHVydCBjb2RlIHNp
emUuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0lucHV0VHlw
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVl
KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGVudERpc3RyaWJ1dG9yOjpkaXN0cmlidXRlKToKKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MQ29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKEhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRN
TFNoYWRvd0VsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmlzSFRNTFNoYWRv
d0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6dG9IVE1MU2hhZG93RWxlbWVudCk6CisgICAg
ICAgICogaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmRlY29yYXRlKToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6
OmNyZWF0ZUNvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aXNW
YWxpZENvbnRlbnRTZWxlY3QpOgorCiAyMDEzLTAxLTEwICBTaGlueWEgS2F3YW5ha2EgIDxzaGlu
eWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXaGVuIGEgc2VsZWN0ZWQgbm9kZSBpbiBuZXN0
ZWQgU2hhZG93RE9NIGlzIGRlbGV0ZWQsIHNlbGVjdGlvbiBoYXZlIHdyb25nIHJhbmdlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgppbmRleCAyZGVmYjU5MmY1ZmU1NzcwYWVkYzdmODM5NzZhZTc1ZjhiNWJk
MzI3Li5iNDhmNmEyNjZlNDc1ZjI3YWQxNDI3YjJjYjIyMTkwMWI1N2UwMTM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgpAQCAtNTEzLDcgKzUxMyw2IEBAIF9fWk43V2ViQ29yZTE3Y2FjaGVET01TdHJ1
Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQS05TMl85CiBf
X1pON1dlYkNvcmUxN29wZW5UZW1wb3JhcnlGaWxlRVJLTjNXVEY2U3RyaW5nRVJpCiBfX1pON1dl
YkNvcmUxN3VzZXJWaXNpYmxlU3RyaW5nRVA1TlNVUkwKIF9fWk43V2ViQ29yZTE4RE9NV2luZG93
RXh0ZW5zaW9uQzFFUE5TXzVGcmFtZUVQTlNfMTVET01XcmFwcGVyV29ybGRFCi1fX1pON1dlYkNv
cmUxOEhUTUxDb250ZW50RWxlbWVudDZjcmVhdGVFUE5TXzhEb2N1bWVudEUKIF9fWk43V2ViQ29y
ZTEwUGFzdGVib2FyZDE3Z2VuZXJhbFBhc3RlYm9hcmRFdgogX19aTjdXZWJDb3JlMTBQYXN0ZWJv
YXJkMTR3cml0ZVBsYWluVGV4dEVSS04zV1RGNlN0cmluZ0VOUzBfMThTbWFydFJlcGxhY2VPcHRp
b25FCiBfX1pON1dlYkNvcmUxOENvbnRlbnREaXN0cmlidXRvcjIyZW5zdXJlU2VsZWN0RmVhdHVy
ZVNldEVQTlNfMTNFbGVtZW50U2hhZG93RQpAQCAtMjcxNCw2ICsyNzEzLDEwIEBAIF93a0NhcHRp
b25BcHBlYXJhbmNlR2V0VGV4dEVkZ2VTdHlsZQogX3drQ2FwdGlvbkFwcGVhcmFuY2VHZXRTZXR0
aW5nc0NoYW5nZWROb3RpZmljYXRpb24KICNlbmRpZgogCisjaWYgRU5BQkxFKFNIQURPV19ET00p
CitfX1pON1dlYkNvcmUxOEhUTUxDb250ZW50RWxlbWVudDZjcmVhdGVFUE5TXzhEb2N1bWVudEUK
KyNlbmRpZgorCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQogX19aTjdXZWJDb3JlMjJSdW50aW1l
RW5hYmxlZEZlYXR1cmVzMTlpc0NTU1JlZ2lvbnNFbmFibGVkRQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5jcHAKaW5kZXggYjE2ZmEzYjE4ZTRlYTQ2MWI2YzIxODNhZGRmMWZmZjMxMTA2
NDc4Yi4uMjVlOWFlNDYwODhlMjA0NzJjY2YzMTMyNmQ4M2E1MDQ2MTBiNTM4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtNDkwLDggKzQ5MCwxMiBAQCB2b2lkIElucHV0VHlwZTo6
ZGVzdHJveVNoYWRvd1N1YnRyZWUoKQogICAgIC8vIGJlZW4gY3JlYXRlZCBieSBUZXh0RmllbGRE
ZWNvcmF0aW9uRWxlbWVudCwgYW5kIHdlIGRvbid0IGFsbG93IGFkZGluZwogICAgIC8vIEF1dGhv
clNoYWRvd1Jvb3QgdG8gSFRNTElucHV0RWxlbWVudC4KICAgICB3aGlsZSAoKHJvb3QgPSByb290
LT55b3VuZ2VyU2hhZG93Um9vdCgpKSkgeworI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAgICAg
ICByb290LT5yZW1vdmVBbGxDaGlsZHJlbigpOwogICAgICAgICByb290LT5hcHBlbmRDaGlsZChI
VE1MU2hhZG93RWxlbWVudDo6Y3JlYXRlKHNoYWRvd1RhZywgZWxlbWVudCgpLT5kb2N1bWVudCgp
KSk7CisjZWxzZQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgogICAgIH0K
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3Ry
aWJ1dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRv
ci5jcHAKaW5kZXggMGQzZGJlYTBiOGI3Y2IxNjgyMjJjYmFmODJlMDk2ODI3M2FiYjdhOS4uODY3
YTE3NDU3YjUyOWVmMDg5ZDgwYjBmZDg4M2UxNGE2MmM3ZWUzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwCkBAIC0yNDksNiArMjQ5
LDcgQEAgdm9pZCBDb250ZW50RGlzdHJpYnV0b3I6OmRpc3RyaWJ1dGUoRWxlbWVudCogaG9zdCkK
ICAgICAgICAgICAgIGFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50cy5hcHBlbmQoZmlyc3RBY3Rp
dmVTaGFkb3dJbnNlcnRpb25Qb2ludCk7CiAgICAgfQogCisjaWYgRU5BQkxFKFNIQURPV19ET00p
CiAgICAgZm9yIChzaXplX3QgaSA9IGFjdGl2ZVNoYWRvd0luc2VydGlvblBvaW50cy5zaXplKCk7
IGkgPiAwOyAtLWkpIHsKICAgICAgICAgSFRNTFNoYWRvd0VsZW1lbnQqIHNoYWRvd0VsZW1lbnQg
PSBhY3RpdmVTaGFkb3dJbnNlcnRpb25Qb2ludHNbaSAtIDFdOwogICAgICAgICBTaGFkb3dSb290
KiByb290ID0gc2hhZG93RWxlbWVudC0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKQEAgLTI2Miw2
ICsyNjMsOSBAQCB2b2lkIENvbnRlbnREaXN0cmlidXRvcjo6ZGlzdHJpYnV0ZShFbGVtZW50KiBo
b3N0KQogICAgICAgICAgICAgICAgIHNoYWRvdy0+aW52YWxpZGF0ZURpc3RyaWJ1dGlvbigpOwog
ICAgICAgICB9CiAgICAgfQorI2Vsc2UKKyAgICBBU1NFUlQoIWFjdGl2ZVNoYWRvd0luc2VydGlv
blBvaW50cy5zaXplKCkpOworI2VuZGlmCiB9CiAKIGJvb2wgQ29udGVudERpc3RyaWJ1dG9yOjpp
bnZhbGlkYXRlKEVsZW1lbnQqIGhvc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAppbmRleCBjMmVmMjdmZGQxY2JhNDg1ZjQzYmFlMTM2
ZDYwNGRmNjczZDhhZDhkLi43NmZjYTY4NTY4YzU3ZTgzOGEyMTZmMmJlYmY5MzdmZWEwMTg4MTBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVu
dC5jcHAKQEAgLTUxLDYgKzUxLDggQEAgY29uc3QgUXVhbGlmaWVkTmFtZSYgSFRNTENvbnRlbnRF
bGVtZW50Ojpjb250ZW50VGFnTmFtZShEb2N1bWVudCopCiAjZW5kaWYKIH0KIAorI2lmIEVOQUJM
RShTSEFET1dfRE9NKQorCiBQYXNzUmVmUHRyPEhUTUxDb250ZW50RWxlbWVudD4gSFRNTENvbnRl
bnRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIHJldHVybiBhZG9w
dFJlZihuZXcgSFRNTENvbnRlbnRFbGVtZW50KGNvbnRlbnRUYWdOYW1lKGRvY3VtZW50KSwgZG9j
dW1lbnQpKTsKQEAgLTIwMSw1ICsyMDMsMTggQEAgYm9vbCBIVE1MQ29udGVudEVsZW1lbnQ6OnZh
bGlkYXRlU2VsZWN0KCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2Vsc2UKIAorUGFz
c1JlZlB0cjxIVE1MQ29udGVudEVsZW1lbnQ+IEhUTUxDb250ZW50RWxlbWVudDo6Y3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxDb250ZW50
RWxlbWVudChjb250ZW50VGFnTmFtZShkb2N1bWVudCksIGRvY3VtZW50KSk7CiB9CisKK0hUTUxD
b250ZW50RWxlbWVudDo6SFRNTENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6IEluc2VydGlvblBvaW50KHRhZ05hbWUs
IGRvY3VtZW50KQoreyB9CisKKyNlbmRpZiAvLyBpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKworfQor
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oCmlu
ZGV4IDVlMmQwMzA0MjBmNDZiNDAwM2VjMTFmNjEwNzk1ZmQwMDlhY2EzZWIuLjlkMGM4ZmM0MzUz
YmY5NmNlMjRkMWEyNmYyNTFhZGMzYzk4MWFkMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oCkBAIC0zNyw2ICszNyw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorCiBjbGFzcyBIVE1MQ29u
dGVudEVsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9pbnQgewogcHVibGljOgogICAgIHN0YXRp
YyBjb25zdCBRdWFsaWZpZWROYW1lJiBjb250ZW50VGFnTmFtZShEb2N1bWVudCopOwpAQCAtNzks
NiArODEsMjMgQEAgaW5saW5lIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgSFRNTENvbnRlbnRFbGVt
ZW50OjpzZWxlY3Rvckxpc3QoKQogICAgIHJldHVybiBtX3NlbGVjdG9yTGlzdDsKIH0KIAorI2Vs
c2UKKworLy8gRklYTUU6IHNob3VsZG4ndCBpbmhlcml0IGZyb20gSW5zZXJ0aW9uUG9pbnQ6IGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMzMzkKK2NsYXNzIEhUTUxD
b250ZW50RWxlbWVudCA6IHB1YmxpYyBJbnNlcnRpb25Qb2ludCB7CitwdWJsaWM6CisgICAgc3Rh
dGljIGNvbnN0IFF1YWxpZmllZE5hbWUmIGNvbnRlbnRUYWdOYW1lKERvY3VtZW50Kik7CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqKTsK
KworICAgIHZpcnR1YWwgVHlwZSBpbnNlcnRpb25Qb2ludFR5cGUoKSBjb25zdCBPVkVSUklERSB7
IHJldHVybiBDb250ZW50SW5zZXJ0aW9uUG9pbnQ7IH0KKworcHJvdGVjdGVkOgorICAgIEhUTUxD
b250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKKworfTsKKwor
I2VuZGlmIC8vIGlmIEVOQUJMRShTSEFET1dfRE9NKQorCiBpbmxpbmUgYm9vbCBpc0hUTUxDb250
ZW50RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQogewogICAgIEFTU0VSVChub2RlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcAppbmRleCA4
NTE4NGY3NmJiYTU3ZmRmNjY4YzgwMmJkOGU4NTk4MzkzODkwZTA0Li42Mzc0ZGM3ZGNhNDJlN2M0
NzFhN2IzYjI1N2JiOThiZDQwODI0M2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSAi
U2hhZG93Um9vdC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCisjaWYg
RU5BQkxFKFNIQURPV19ET00pCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1l
bnQ7CkBAIC02OSwzICs3MSw1IEBAIFNoYWRvd1Jvb3QqIEhUTUxTaGFkb3dFbGVtZW50OjpvbGRl
clNoYWRvd1Jvb3QoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBp
ZiBFTkFCTEUoU0hBRE9XX0RPTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0hUTUxTaGFkb3dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1M
U2hhZG93RWxlbWVudC5oCmluZGV4IDFmMzhmOWZmNjgzN2JlMmM1NjRkNDRiZjA1M2UxZGZkZWQy
ODc2NWMuLjUxZDFhODY3YzgxOWNmNzI3MTFlNDlmMWM3MjIyNDBkNTgwZTEyZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaApAQCAtMzYsNiAr
MzYsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkK
KwogY2xhc3MgSFRNTFNoYWRvd0VsZW1lbnQgOiBwdWJsaWMgSW5zZXJ0aW9uUG9pbnQgewogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxTaGFkb3dFbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CkBAIC02OCw2ICs3MCwxNSBAQCBpbmxpbmUg
Y29uc3QgSFRNTFNoYWRvd0VsZW1lbnQqIHRvSFRNTFNoYWRvd0VsZW1lbnQoY29uc3QgTm9kZSog
bm9kZSkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgSFRNTFNoYWRvd0VsZW1lbnQqPihu
b2RlKTsKIH0KIAorI2Vsc2UKKworY2xhc3MgSFRNTFNoYWRvd0VsZW1lbnQgeyB9OworaW5saW5l
IGJvb2wgaXNIVE1MU2hhZG93RWxlbWVudChjb25zdCBOb2RlKikgeyByZXR1cm4gZmFsc2U7IH0K
K2lubGluZSBIVE1MU2hhZG93RWxlbWVudCogdG9IVE1MU2hhZG93RWxlbWVudChOb2RlKikgeyBy
ZXR1cm4gMDsgfQoraW5saW5lIGNvbnN0IEhUTUxTaGFkb3dFbGVtZW50KiB0b0hUTUxTaGFkb3dF
bGVtZW50KGNvbnN0IE5vZGUqKSB7IHJldHVybiAwOyB9CisKKyNlbmRpZiAvLyBpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gSFRNTFNo
YWRvd0VsZW1lbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4
dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwCmluZGV4IDdkZjcwMWUxMjVmMDEyNWFlYmYy
YzYwZDhlMDZiYzIxMGEyMDQwZGYuLjc5YTFkMjJiODFlOTNiNTViMmNlNmNjMWJhN2Y3YmQyYjRk
OTE2ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERl
Y29yYXRpb25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0
RmllbGREZWNvcmF0aW9uRWxlbWVudC5jcHAKQEAgLTEwOSw4ICsxMDksOSBAQCB2b2lkIFRleHRG
aWVsZERlY29yYXRpb25FbGVtZW50OjpkZWNvcmF0ZShIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCwg
Ym9vbCB2aXNpYmxlKQogICAgIGJveC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eVdlYmtpdEJveEFsaWduLCBDU1NWYWx1ZUNlbnRlcik7CiAgICAgQVNTRVJUKGV4aXN0aW5nUm9v
dC0+Y2hpbGROb2RlQ291bnQoKSA9PSAxKTsKICAgICB0b0hUTUxFbGVtZW50KGV4aXN0aW5nUm9v
dC0+Zmlyc3RDaGlsZCgpKS0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtp
dEJveEZsZXgsIDEuMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOworI2lmIEVOQUJM
RShTSEFET1dfRE9NKQogICAgIGJveC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0VsZW1lbnQ6OmNy
ZWF0ZShIVE1MTmFtZXM6OnNoYWRvd1RhZywgaW5wdXQtPmRvY3VtZW50KCkpKTsKLQorI2VuZGlm
CiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIHZpc2libGUg
PyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVOb25lKTsKICAgICBib3gtPmFwcGVuZENoaWxkKHRo
aXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGI1YmNjOGVmMmUz
NjNkODUxNmJhNGU1YTE5OTViN2NjYTQxYmRlMzUuLmQ0MmI3MzhjZTdlNGVlNjFiODQyMTgwZDBl
NTMwODczYzgyOTMyZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMw
MCw3ICszMDAsMTEgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBJbnRlcm5hbHM6OmNyZWF0ZUNvbnRl
bnRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW8KICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCiAgICAgcmV0dXJuIEhUTUxDb250ZW50
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYK
IH0KIAogYm9vbCBJbnRlcm5hbHM6OmlzVmFsaWRDb250ZW50U2VsZWN0KEVsZW1lbnQqIGluc2Vy
dGlvblBvaW50LCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTMxMCw3ICszMTQsMTEgQEAgYm9vbCBJ
bnRlcm5hbHM6OmlzVmFsaWRDb250ZW50U2VsZWN0KEVsZW1lbnQqIGluc2VydGlvblBvaW50LCBF
eGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorI2lmIEVO
QUJMRShTSEFET1dfRE9NKQogICAgIHJldHVybiBpc0hUTUxDb250ZW50RWxlbWVudChpbnNlcnRp
b25Qb2ludCkgJiYgdG9IVE1MQ29udGVudEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQpLT5pc1NlbGVj
dFZhbGlkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBOb2RlKiBJ
bnRlcm5hbHM6OnRyZWVTY29wZVJvb3ROb2RlKE5vZGUqIG5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVj
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXRFeHBv
cnRzLmRlZi5pbiBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0
cy5kZWYuaW4KaW5kZXggMWQwZDFkNDZiZDdiM2Y3YjJiYjliMjA0Yzg5MTBmOTliM2VhNjc2Mi4u
NDYyZWYxMTlhZTI0NjE1ZTk3ZThjN2NlYzJjMGE3NWQ0ODdiMDYyOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbgorKysgYi9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmluCkBAIC0x
NzMsNyArMTczLDYgQEAgRVhQT1JUUwogICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5n
QFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBs
QDJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdlYkNvcmVAQFlBUEFWU3RydWN0dXJl
QEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQQlVDbGFzc0luZm9AM0BAWgogICAg
ICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVQQVYxMkBB
QlZTdHJpbmdAV1RGQEBAWgotICAgICAgICA/Y3JlYXRlQEhUTUxDb250ZW50RWxlbWVudEBXZWJD
b3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQEBXVEZA
QFBBVkRvY3VtZW50QDJAQFoKICAgICAgICAgP2NyZWF0ZUBSYW5nZUBXZWJDb3JlQEBTQT9BVj8k
UGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAVj8kUGFzc1JlZlB0ckBWRG9jdW1lbnRA
V2ViQ29yZUBAQDRAVj8kUGFzc1JlZlB0ckBWTm9kZUBXZWJDb3JlQEBANEBIMUhAWgogICAgICAg
ICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0
ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0QEBaCiAg
ICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNz
UmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAUEFWRXhlY1N0YXRl
QEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNv
cmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlCdWZmZXJAV1RGQEBA
V1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgpAQCAtNTYxLDcgKzU2MCw2
IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZFNsb3dDYXNlQEF0b21pY1N0cmluZ0BXVEZAQENBP0FW
PyRQYXNzUmVmUHRyQFZTdHJpbmdJbXBsQFdURkBAQDJAUEFWU3RyaW5nSW1wbEAyQEBaCiAgICAg
ICAgID9jYWNoZURPTVN0cnVjdHVyZUBXZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpT
RE9NR2xvYmFsT2JqZWN0QDFAUEFWMjNAUEJVQ2xhc3NJbmZvQDNAQFoKICAgICAgICAgP2NoaWxk
SXRlbVdpdGhUYXJnZXRASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFUEFWMTJAQUJWU3RyaW5nQFdU
RkBAQFoKLSAgICAgICAgP2NyZWF0ZUBIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAU0E/QVY/
JFBhc3NSZWZQdHJAVkhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQQVZEb2N1bWVu
dEAyQEBaCiAgICAgICAgID9jcmVhdGVAUmFuZ2VAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJA
VlJhbmdlQFdlYkNvcmVAQEBXVEZAQFY/JFBhc3NSZWZQdHJAVkRvY3VtZW50QFdlYkNvcmVAQEA0
QFY/JFBhc3NSZWZQdHJAVk5vZGVAV2ViQ29yZUBAQDRASDFIQFoKICAgICAgICAgP2NyZWF0ZUBT
ZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAgICAgICA/Y3Jl
YXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2Vy
aWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQFBBVkV4ZWNTdGF0ZUBKU0NAQFZKU1Zh
bHVlQDZAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAk
MDBANEBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVkFycmF5QnVmZmVyQFdURkBAQFdURkBAJDAwQDRA
VzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKQEAgLTk0OSw3ICs5NDcsNiBAQCBFWFBPUlRT
CiAgICAgICAgID9hZGRTbG93Q2FzZUBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8kUGFzc1JlZlB0
ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBBVlN0cmluZ0ltcGxAMkBAWgogICAgICAgICA/Y2FjaGVE
T01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9i
amVjdEAxQFBBVjIzQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9jaGlsZEl0ZW1XaXRoVGFy
Z2V0QEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFCRVBBVjEyQEFCVlN0cmluZ0BXVEZAQEBaCi0gICAg
ICAgID9jcmVhdGVASFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRy
QFZIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29yZUBAQFdURkBAUEFWRG9jdW1lbnRAMkBAWgogICAg
ICAgICA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJD
b3JlQEBAV1RGQEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVudEBXZWJDb3JlQEBANEBWPyRQYXNzUmVm
UHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNj
cmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFs
dWVAV2ViQ29yZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxp
emVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8k
VmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRW
ZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXph
dGlvbkVycm9yTW9kZUAyQEBaCkBAIC0xMzM3LDcgKzEzMzQsNiBAQCBFWFBPUlRTCiAgICAgICAg
ID9hZGRTbG93Q2FzZUBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5n
SW1wbEBXVEZAQEAyQFBBVlN0cmluZ0ltcGxAMkBAWgogICAgICAgICA/Y2FjaGVET01TdHJ1Y3R1
cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBB
VjIzQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9jaGlsZEl0ZW1XaXRoVGFyZ2V0QEhpc3Rv
cnlJdGVtQFdlYkNvcmVAQFFCRVBBVjEyQEFCVlN0cmluZ0BXVEZAQEBaCi0gICAgICAgID9jcmVh
dGVASFRNTENvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZIVE1MQ29u
dGVudEVsZW1lbnRAV2ViQ29yZUBAQFdURkBAUEFWRG9jdW1lbnRAMkBAWgogICAgICAgICA/Y3Jl
YXRlQFJhbmdlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RG
QEBWPyRQYXNzUmVmUHRyQFZEb2N1bWVudEBXZWJDb3JlQEBANEBWPyRQYXNzUmVmUHRyQFZOb2Rl
QFdlYkNvcmVAQEA0QEgxSEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVl
QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29y
ZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0
VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBX
ZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/
JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8k
UmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9y
TW9kZUAyQEBaCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>