<?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>75088</bug_id>
          
          <creation_ts>2011-12-22 07:38:51 -0800</creation_ts>
          <short_desc>[Qt] Consolidate layout test crash logging</short_desc>
          <delta_ts>2012-01-18 05:36:57 -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>Tools / Tests</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>Qt, QtTriaged</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Balazs Kelemen">kbalazs</reporter>
          <assigned_to name="Balazs Kelemen">kbalazs</assigned_to>
          <cc>hausmann</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>526249</commentid>
    <comment_count>0</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-12-22 07:38:51 -0800</bug_when>
    <thetext>For asserts (and manually called CRASH-es) we print the backtrace twice, once with WTFReportBacktrace - which just prints adresses - and once with the signal handler. Also the logic of generating the backtrace is duplicated in DRT and WTR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526254</commentid>
    <comment_count>1</comment_count>
      <attachid>120321</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-12-22 07:48:54 -0800</bug_when>
    <thetext>Created attachment 120321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526259</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-22 07:58:48 -0800</bug_when>
    <thetext>Attachment 120321 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;Source/JavaScriptCore/Change...&quot; exit_code: 1

Tools/DumpRenderTree/qt/main.cpp:57:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528361</commentid>
    <comment_count>3</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-01-01 11:37:55 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 120321 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;Source/JavaScriptCore/Change...&quot; exit_code: 1
&gt; 
&gt; Tools/DumpRenderTree/qt/main.cpp:57:  Alphabetical sorting problem.  [build/include_order] [4]
&gt; Total errors found: 1 in 8 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

This could only be fixed by including config.h in DRT&apos;s main.cpp (because of header cross-dependencies) but I don&apos;t think we should do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533879</commentid>
    <comment_count>4</comment_count>
      <attachid>120321</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-01-11 07:28:13 -0800</bug_when>
    <thetext>Comment on attachment 120321
Patch

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

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:260
&gt; +    globalHook();

As ironic as it may sound in the context of crash handling, but shouldn&apos;t we do a null pointer check here? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533964</commentid>
    <comment_count>5</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-01-11 09:38:03 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 120321 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=120321&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/wtf/Assertions.cpp:260
&gt; &gt; +    globalHook();
&gt; 
&gt; As ironic as it may sound in the context of crash handling, but shouldn&apos;t we do a null pointer check here? :)

Yep, definitely we should.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534663</commentid>
    <comment_count>6</comment_count>
      <attachid>122190</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-01-12 01:58:04 -0800</bug_when>
    <thetext>Created attachment 122190
null-check added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534664</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-12 02:00:12 -0800</bug_when>
    <thetext>Attachment 122190 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;Source/JavaScriptCore/Change...&quot; exit_code: 1

Tools/DumpRenderTree/qt/main.cpp:57:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535680</commentid>
    <comment_count>8</comment_count>
      <attachid>122190</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-01-13 07:57:58 -0800</bug_when>
    <thetext>Comment on attachment 122190
null-check added

I think the patch is a good idea, but it doesn&apos;t seem to build on mac and win yet - according to the EWS :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535769</commentid>
    <comment_count>9</comment_count>
      <attachid>122449</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-01-13 10:28:52 -0800</bug_when>
    <thetext>Created attachment 122449
speculatively fixed mac&amp;win build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535772</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-13 10:31:49 -0800</bug_when>
    <thetext>Attachment 122449 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;Source/JavaScriptCore/Change...&quot; exit_code: 1

Tools/DumpRenderTree/qt/main.cpp:57:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536253</commentid>
    <comment_count>11</comment_count>
      <attachid>122449</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-01-15 02:32:14 -0800</bug_when>
    <thetext>Comment on attachment 122449
speculatively fixed mac&amp;win build

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

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:317
&gt;  #endif
&gt; +#endif
&gt;          const int frameNumber = i - framesToSkip + 1;
&gt;          if (mangledName || cxaDemangled)

The second #endif closes the #if OS(DARWIN) || OS(LINUX) and results in the line below to be compiled on windows, causing the win-ews failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536993</commentid>
    <comment_count>12</comment_count>
      <attachid>122743</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-01-17 02:51:37 -0800</bug_when>
    <thetext>Created attachment 122743
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536998</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-17 02:53:21 -0800</bug_when>
    <thetext>Attachment 122743 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;Source/JavaScriptCore/Change...&quot; exit_code: 1

Tools/DumpRenderTree/qt/main.cpp:57:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537210</commentid>
    <comment_count>14</comment_count>
      <attachid>122743</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-01-17 11:07:07 -0800</bug_when>
    <thetext>Comment on attachment 122743
Patch

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

r=me, but please fix the style issue and add the missing &quot;static&quot; before landing.

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:328
&gt; +WTFCrashHookFunction globalHook = 0;

Missing static?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537729</commentid>
    <comment_count>15</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-01-18 02:27:51 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 122743 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=122743&amp;action=review
&gt; 
&gt; r=me, but please fix the style issue and add the missing &quot;static&quot; before landing.

Unfortunately the includes do not work in alphabetical order because wtf/Assertions.h use some definitions from wtf/ExportMacros.h. Normally this is not an issue because config.h provides such headers but since this is the main.cpp of DRT we don&apos;t include config.h and I guess this is intentional. Do you think it&apos;s ok to change on that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537752</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-01-18 03:26:19 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #14)
&gt; &gt; (From update of attachment 122743 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=122743&amp;action=review
&gt; &gt; 
&gt; &gt; r=me, but please fix the style issue and add the missing &quot;static&quot; before landing.
&gt; 
&gt; Unfortunately the includes do not work in alphabetical order because wtf/Assertions.h use some definitions from wtf/ExportMacros.h. Normally this is not an issue because config.h provides such headers but since this is the main.cpp of DRT we don&apos;t include config.h and I guess this is intentional. Do you think it&apos;s ok to change on that?

Ah right, ok :)

So only &quot;static&quot; is left.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537792</commentid>
    <comment_count>17</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-01-18 05:36:57 -0800</bug_when>
    <thetext>Committed r105267: &lt;http://trac.webkit.org/changeset/105267&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120321</attachid>
            <date>2011-12-22 07:48:54 -0800</date>
            <delta_ts>2012-01-12 01:57:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75088-20111222164852.patch</filename>
            <type>text/plain</type>
            <size>12774</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzNTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
MDUwZWIzOGRkNjE4MTU5ZTExNDQ5OWQ5MTFiOGJlOWJhYmY3YWI2Li5kN2U4OWE1M2UzNGEzZDQx
ZTU5MDQ4OWU0ZWUyNjdmMzZlMGZhNTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMS0xMi0yMiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgW1F0XSBDb25zb2xpZGF0ZSBsYXlvdXQgdGVzdCBjcmFzaCBsb2dnaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgYmFj
a3RyYWNlIGdlbmVyYXRpbmcgbG9naWMgaW50byBXVEZSZXBvcnRCYWNrdHJhY2UKKyAgICAgICAg
YW5kIGFkZCBhIHdheSB0byBkZWluc3RhbGwgc2lnbmFsIGhhbmRsZXJzIGlmIHdlIGtub3cKKyAg
ICAgICAgdGhhdCB3ZSBoYXZlIGFscmVhZHkgcHJpbnRlZCB0aGUgYmFja3RyYWNlLgorCisgICAg
ICAgICogd3RmL0Fzc2VydGlvbnMuY3BwOgorICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisK
IDIwMTEtMTItMjEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBP
UyBYIGJ1aWxkIGZpeCBhZnRlciByMTAzNDg4LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNz
ZXJ0aW9ucy5jcHAKaW5kZXggYmViNjhkMWQ0ZGNkZjU4NmEwNmQ0MjMyZGRhZmJiMWVmNWMwOWJj
Mi4uZDAyNDJjZDdjNGQ0ZDA0ZWU4ZmUyODhhZDUwNjAxNDIxYmEyZDQ0MiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCkBAIC0xOTIsNiArMTkyLDE4IEBAIHZvaWQg
V1RGR2V0QmFja3RyYWNlKHZvaWQqKiBzdGFjaywgaW50KiBzaXplKQogI2VuZGlmCiB9CiAKKyNp
ZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKQorI2RlZmluZSBVU0VfRExBRERSIDAKKyNp
ZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykKKyNkZWZpbmUgV1RG
X1VTRV9CQUNLVFJBQ0VfU1lNQk9MUyAxCisjZWxzZQorI2RlZmluZSBXVEZfVVNFX0JBQ0tUUkFD
RV9TWU1CT0xTIDAKKyNlbmRpZgorI2VsaWYgT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkKKyNkZWZp
bmUgV1RGX1VTRV9CQUNLVFJBQ0VfU1lNQk9MUyAwCisjZGVmaW5lIFdURl9VU0VfRExBRERSIDEK
KyNlbmRpZgorCiB2b2lkIFdURlJlcG9ydEJhY2t0cmFjZSgpCiB7CiAgICAgc3RhdGljIGNvbnN0
IGludCBmcmFtZXNUb1Nob3cgPSAzMTsKQEAgLTIwMSwxNyArMjEzLDI2IEBAIHZvaWQgV1RGUmVw
b3J0QmFja3RyYWNlKCkKIAogICAgIFdURkdldEJhY2t0cmFjZShzYW1wbGVzLCAmZnJhbWVzKTsK
IAorI2lmIFVTRShCQUNLVFJBQ0VfU1lNQk9MUykKKyAgICBjaGFyKiogc3ltYm9scyA9IGJhY2t0
cmFjZV9zeW1ib2xzKHNhbXBsZXMsIGZyYW1lcyk7CisgICAgaWYgKCFzeW1ib2xzKQorICAgICAg
ICByZXR1cm47CisjZW5kaWYKKworI2lmIE9TKERBUldJTikgfHwgT1MoTElOVVgpCiAgICAgZm9y
IChpbnQgaSA9IGZyYW1lc1RvU2tpcDsgaSA8IGZyYW1lczsgKytpKSB7CiAgICAgICAgIGNvbnN0
IGNoYXIqIG1hbmdsZWROYW1lID0gMDsKICAgICAgICAgY2hhciogY3hhRGVtYW5nbGVkID0gMDsK
LQotI2lmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShRVCkgJiYgKE9TKERBUldJTikgfHwg
T1MoTElOVVgpKQorI2lmIFVTRShCQUNLVFJBQ0VfU1lNQk9MUykKKyAgICAgICAgbWFuZ2xlZE5h
bWUgPSBzeW1ib2xzW2ldOworI2VsaWYgVVNFKERMQUREUikKICAgICAgICAgRGxfaW5mbyBpbmZv
OwogICAgICAgICBpZiAoZGxhZGRyKHNhbXBsZXNbaV0sICZpbmZvKSAmJiBpbmZvLmRsaV9zbmFt
ZSkKICAgICAgICAgICAgIG1hbmdsZWROYW1lID0gaW5mby5kbGlfc25hbWU7CiAgICAgICAgIGlm
IChtYW5nbGVkTmFtZSkKICAgICAgICAgICAgIGN4YURlbWFuZ2xlZCA9IGFiaTo6X19jeGFfZGVt
YW5nbGUobWFuZ2xlZE5hbWUsIDAsIDAsIDApOwogI2VuZGlmCisjZW5kaWYKICAgICAgICAgY29u
c3QgaW50IGZyYW1lTnVtYmVyID0gaSAtIGZyYW1lc1RvU2tpcCArIDE7CiAgICAgICAgIGlmICht
YW5nbGVkTmFtZSB8fCBjeGFEZW1hbmdsZWQpCiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
IiUtM2QgJXAgJXNcbiIsIGZyYW1lTnVtYmVyLCBzYW1wbGVzW2ldLCBjeGFEZW1hbmdsZWQgPyBj
eGFEZW1hbmdsZWQgOiBtYW5nbGVkTmFtZSk7CkBAIC0yMTksNiArMjQwLDI0IEBAIHZvaWQgV1RG
UmVwb3J0QmFja3RyYWNlKCkKICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlcFxu
IiwgZnJhbWVOdW1iZXIsIHNhbXBsZXNbaV0pOwogICAgICAgICBmcmVlKGN4YURlbWFuZ2xlZCk7
CiAgICAgfQorI2lmIFVTRShCQUNLVFJBQ0VfU1lNQk9MUykKKyAgICBmcmVlKHN5bWJvbHMpOwor
I2VuZGlmCit9CisKKyN1bmRlZiBXVEZfVVNFX0JBQ0tUUkFDRV9TWU1CT0xTCisjdW5kZWYgV1RG
X1VTRV9ETEFERFIKKworV1RGQ3Jhc2hIb29rRnVuY3Rpb24gZ2xvYmFsSG9vayA9IDA7CisKK3Zv
aWQgV1RGU2V0Q3Jhc2hIb29rKFdURkNyYXNoSG9va0Z1bmN0aW9uIGZ1bmN0aW9uKQoreworICAg
IGdsb2JhbEhvb2sgPSBmdW5jdGlvbjsKK30KKwordm9pZCBXVEZJbnZva2VDcmFzaEhvb2soKQor
eworICAgIGdsb2JhbEhvb2soKTsKIH0KIAogdm9pZCBXVEZSZXBvcnRGYXRhbEVycm9yKGNvbnN0
IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciog
Zm9ybWF0LCAuLi4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2Vy
dGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5oCmluZGV4IDJi
M2Q3OTRhNGQ3ZTAyMjdjZWUwODYwNWU3ZmQ4NjBkN2I0NDk1ZDAuLjQyZGMwYmQzNTE5OWYxOWE0
N2Y0MzA3NzQyMDAzYzlmYmM5MGI5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvQXNzZXJ0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0
aW9ucy5oCkBAIC0xNDcsNiArMTQ3LDEwIEBAIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxv
Z1ZlcmJvc2UoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1CiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZHZXRCYWNrdHJhY2Uodm9pZCoqIHN0YWNrLCBpbnQqIHNp
emUpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCk7CiAKK3R5
cGVkZWYgdm9pZCAoKldURkNyYXNoSG9va0Z1bmN0aW9uKSgpOworV1RGX0VYUE9SVF9QUklWQVRF
IHZvaWQgV1RGU2V0Q3Jhc2hIb29rKFdURkNyYXNoSG9va0Z1bmN0aW9uKTsKK1dURl9FWFBPUlRf
UFJJVkFURSB2b2lkIFdURkludm9rZUNyYXNoSG9vaygpOworCiAjaWZkZWYgX19jcGx1c3BsdXMK
IH0KICNlbmRpZgpAQCAtMTYzLDEyICsxNjcsMTQgQEAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
V1RGUmVwb3J0QmFja3RyYWNlKCk7CiAjaWYgQ09NUElMRVIoQ0xBTkcpCiAjZGVmaW5lIENSQVNI
KCkgZG8geyBcCiAgICAgV1RGUmVwb3J0QmFja3RyYWNlKCk7IFwKKyAgICBXVEZJbnZva2VDcmFz
aEhvb2soKTsgXAogICAgICooaW50ICopKHVpbnRwdHJfdCkweGJiYWRiZWVmID0gMDsgXAogICAg
IF9fYnVpbHRpbl90cmFwKCk7IFwKIH0gd2hpbGUgKGZhbHNlKQogI2Vsc2UKICNkZWZpbmUgQ1JB
U0goKSBkbyB7IFwKICAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsgXAorICAgIFdURkludm9rZUNy
YXNoSG9vaygpOyBcCiAgICAgKihpbnQgKikodWludHB0cl90KTB4YmJhZGJlZWYgPSAwOyBcCiAg
ICAgKCh2b2lkKCopKCkpMCkoKTsgLyogTW9yZSByZWxpYWJsZSwgYnV0IGRvZXNuJ3Qgc2F5IEJC
QURCRUVGICovIFwKIH0gd2hpbGUgKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL3F0d2Via2l0
LWV4cG9ydC5tYXAgYi9Tb3VyY2UvcXR3ZWJraXQtZXhwb3J0Lm1hcAppbmRleCA0OTU4Yzg1MTNk
ZDU2MWI4NDZjNDMxMmJiMDJjMDI1ZTdmYTE1YzU0Li4yOGU2MDgyMjhmYmYxMmI3ZDhmZWYyZDQz
ZTlhYWMyNWQ0YjViNzgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvcXR3ZWJraXQtZXhwb3J0Lm1hcAor
KysgYi9Tb3VyY2UvcXR3ZWJraXQtZXhwb3J0Lm1hcApAQCAtNDAsNiArNDAsOCBAQCBxd2tfMS4w
IHsKICAgICBXVEZSZXBvcnRBcmd1bWVudEFzc2VydGlvbkZhaWx1cmU7CiAgICAgV1RGUmVwb3J0
QXNzZXJ0aW9uRmFpbHVyZTsKICAgICBXVEZSZXBvcnRCYWNrdHJhY2U7CisgICAgV1RGSW52b2tl
Q3Jhc2hIb29rOworICAgIFdURlNldENyYXNoSG9vazsKICAgICBleHRlcm4gIkMrKyIgewogICAg
ICAgICAjIFdlYktpdCAxIEFQSQogICAgICAgICAqUUdyYXBoaWNzV2ViVmlldzsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0YmJiMzAwOTc3YWYx
MTk0MmZiOTM2MjIwYzk5YWU2Y2Q4M2ZmODlhLi41MWU5ZWUzNDZhYmI4NGQwZjI5ZTk1MjY3Nzk4
MjczZmJkMGMwYmU4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMTItMjIgIEJhbGF6cyBLZWxlbWVuICA8a2Jh
bGF6c0B3ZWJraXQub3JnPgorCisgICAgICAgIFtRdF0gQ29uc29saWRhdGUgbGF5b3V0IHRlc3Qg
Y3Jhc2ggbG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzUwODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNb3ZlIGJhY2t0cmFjZSBnZW5lcmF0aW5nIGxvZ2ljIGludG8gV1RGUmVwb3J0QmFja3Ry
YWNlCisgICAgICAgIGFuZCBhZGQgYSB3YXkgdG8gZGVpbnN0YWxsIHNpZ25hbCBoYW5kbGVycyBp
ZiB3ZSBrbm93CisgICAgICAgIHRoYXQgd2UgaGF2ZSBhbHJlYWR5IHByaW50ZWQgdGhlIGJhY2t0
cmFjZS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L21haW4uY3BwOgorICAgICAgICAo
Y3Jhc2hIYW5kbGVyKToKKyAgICAgICAgKHNldHVwU2lnbmFsSGFuZGxlcnMpOgorICAgICAgICAo
V1RGQ3Jhc2hIb29rKToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvcXQvSW5qZWN0ZWRCdW5kbGVRdC5jcHA6CisgICAgICAgIChXVFI6
OmNyYXNoSGFuZGxlcik6CisgICAgICAgIChXVFI6OnNldHVwU2lnbmFsSGFuZGxlcnMpOgorICAg
ICAgICAoV1RSOjpjcmFzaEhvb2spOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6cGxh
dGZvcm1Jbml0aWFsaXplKToKKwogMjAxMS0xMi0yMSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQWRkIHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbSBhbmQgY29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmcgYXMgImNvbnRyaWJ1dG9ycyIKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L21haW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvbWFp
bi5jcHAKaW5kZXggM2Q5NjczYmVlNDFlMjAzOTU4MmI0OTRlZjNjM2U5YzBlMTc1ZDQ2MC4uNDNm
NTI5NGVjNGFkNTkwZmRlZjY3ZTZhODEwMTg1MThkZDBlYjdkZCAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvbWFpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
bWFpbi5jcHAKQEAgLTUzLDkgKzUzLDggQEAKICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRl
IDxzaWduYWwuaD4KIAotI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElC
Q19fKQotI2luY2x1ZGUgPGV4ZWNpbmZvLmg+Ci0jZW5kaWYKKyNpbmNsdWRlIDx3dGYvRXhwb3J0
TWFjcm9zLmg+CisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIAogdm9pZCBtZXNzYWdlSGFu
ZGxlcihRdE1zZ1R5cGUgdHlwZSwgY29uc3QgY2hhciAqbWVzc2FnZSkKIHsKQEAgLTkzLDM4ICs5
MiwzMSBAQCB2b2lkIHByaW50VXNhZ2UoKQogICAgIGZmbHVzaChzdGRlcnIpOwogfQogCi1RU3Ry
aW5nIGdldF9iYWNrdHJhY2UoKSB7Ci0gICAgUVN0cmluZyBzOwotCi0jaWYgZGVmaW5lZChfX0dM
SUJDX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18pCi0gICAgdm9pZCogYXJyYXlbMjU2XTsKLSAg
ICBzaXplX3Qgc2l6ZTsgLyogbnVtYmVyIG9mIHN0YWNrIGZyYW1lcyAqLwotCi0gICAgc2l6ZSA9
IGJhY2t0cmFjZShhcnJheSwgMjU2KTsKLQotICAgIGlmICghc2l6ZSkKLSAgICAgICAgcmV0dXJu
IHM7Ci0KLSAgICBjaGFyKiogc3RyaW5ncyA9IGJhY2t0cmFjZV9zeW1ib2xzKGFycmF5LCBzaXpl
KTsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGludChzaXplKTsgKytpKSB7Ci0gICAgICAgIHMg
Kz0gUVN0cmluZzo6bnVtYmVyKGkpICsKLSAgICAgICAgICAgICBRTGF0aW4xU3RyaW5nKCI6ICIp
ICsKLSAgICAgICAgICAgICBRTGF0aW4xU3RyaW5nKHN0cmluZ3NbaV0pICsgUUxhdGluMVN0cmlu
ZygiXG4iKTsKLSAgICB9CisjaWYgSEFWRShTSUdOQUxfSCkKK3R5cGVkZWYgdm9pZCAoKlNpZ25h
bEhhbmRsZXIpKGludCk7CiAKLSAgICBpZiAoc3RyaW5ncykKLSAgICAgICAgZnJlZSAoc3RyaW5n
cyk7Ci0jZW5kaWYKK3N0YXRpYyBOT19SRVRVUk4gdm9pZCBjcmFzaEhhbmRsZXIoaW50IHNpZykK
K3sKKyAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKKyAgICBleGl0KDEyOCArIHNpZyk7Cit9CiAK
LSAgICByZXR1cm4gczsKK3N0YXRpYyB2b2lkIHNldHVwU2lnbmFsSGFuZGxlcnMoU2lnbmFsSGFu
ZGxlciBoYW5kbGVyKQoreworICAgIHNpZ25hbChTSUdJTEwsIGhhbmRsZXIpOyAgICAvKiA0OiAg
IGlsbGVnYWwgaW5zdHJ1Y3Rpb24gKG5vdCByZXNldCB3aGVuIGNhdWdodCkgKi8KKyAgICBzaWdu
YWwoU0lHVFJBUCwgaGFuZGxlcik7ICAgLyogNTogICB0cmFjZSB0cmFwIChub3QgcmVzZXQgd2hl
biBjYXVnaHQpICovCisgICAgc2lnbmFsKFNJR0ZQRSwgaGFuZGxlcik7ICAgIC8qIDg6ICAgZmxv
YXRpbmcgcG9pbnQgZXhjZXB0aW9uICovCisgICAgc2lnbmFsKFNJR0JVUywgaGFuZGxlcik7ICAg
IC8qIDEwOiAgYnVzIGVycm9yICovCisgICAgc2lnbmFsKFNJR1NFR1YsIGhhbmRsZXIpOyAgIC8q
IDExOiAgc2VnbWVudGF0aW9uIHZpb2xhdGlvbiAqLworICAgIHNpZ25hbChTSUdTWVMsIGhhbmRs
ZXIpOyAgICAvKiAxMjogIGJhZCBhcmd1bWVudCB0byBzeXN0ZW0gY2FsbCAqLworICAgIHNpZ25h
bChTSUdQSVBFLCBoYW5kbGVyKTsgICAvKiAxMzogIHdyaXRlIG9uIGEgcGlwZSB3aXRoIG5vIHJl
YWRlciAqLworICAgIHNpZ25hbChTSUdYQ1BVLCBoYW5kbGVyKTsgICAvKiAyNDogIGV4Y2VlZGVk
IENQVSB0aW1lIGxpbWl0ICovCisgICAgc2lnbmFsKFNJR1hGU1osIGhhbmRsZXIpOyAgIC8qIDI1
OiAgZXhjZWVkZWQgZmlsZSBzaXplIGxpbWl0ICovCiB9CiAKLSNpZiBIQVZFKFNJR05BTF9IKQot
c3RhdGljIE5PX1JFVFVSTiB2b2lkIGNyYXNoSGFuZGxlcihpbnQgc2lnKQorc3RhdGljIHZvaWQg
V1RGQ3Jhc2hIb29rKCkKIHsKLSAgICBmcHJpbnRmKHN0ZGVyciwgIiVzXG4iLCBzdHJzaWduYWwo
c2lnKSk7Ci0gICAgZnByaW50ZihzdGRlcnIsICIlc1xuIiwgZ2V0X2JhY2t0cmFjZSgpLnRvTGF0
aW4xKCkuY29uc3REYXRhKCkpOwotICAgIGV4aXQoMTI4ICsgc2lnKTsKKyAgICBzZXR1cFNpZ25h
bEhhbmRsZXJzKFNJR19ERkwpOwogfQogI2VuZGlmCiAKQEAgLTE3NSwxNSArMTY3LDggQEAgaW50
IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBRQXBwbGljYXRpb246OnNldEZvbnQo
UVdpZGdldCgpLmZvbnQoKSk7CiAKICNpZiBIQVZFKFNJR05BTF9IKQotICAgIHNpZ25hbChTSUdJ
TEwsIGNyYXNoSGFuZGxlcik7ICAgIC8qIDQ6ICAgaWxsZWdhbCBpbnN0cnVjdGlvbiAobm90IHJl
c2V0IHdoZW4gY2F1Z2h0KSAqLwotICAgIHNpZ25hbChTSUdUUkFQLCBjcmFzaEhhbmRsZXIpOyAg
IC8qIDU6ICAgdHJhY2UgdHJhcCAobm90IHJlc2V0IHdoZW4gY2F1Z2h0KSAqLwotICAgIHNpZ25h
bChTSUdGUEUsIGNyYXNoSGFuZGxlcik7ICAgIC8qIDg6ICAgZmxvYXRpbmcgcG9pbnQgZXhjZXB0
aW9uICovCi0gICAgc2lnbmFsKFNJR0JVUywgY3Jhc2hIYW5kbGVyKTsgICAgLyogMTA6ICBidXMg
ZXJyb3IgKi8KLSAgICBzaWduYWwoU0lHU0VHViwgY3Jhc2hIYW5kbGVyKTsgICAvKiAxMTogIHNl
Z21lbnRhdGlvbiB2aW9sYXRpb24gKi8KLSAgICBzaWduYWwoU0lHU1lTLCBjcmFzaEhhbmRsZXIp
OyAgICAvKiAxMjogIGJhZCBhcmd1bWVudCB0byBzeXN0ZW0gY2FsbCAqLwotICAgIHNpZ25hbChT
SUdQSVBFLCBjcmFzaEhhbmRsZXIpOyAgIC8qIDEzOiAgd3JpdGUgb24gYSBwaXBlIHdpdGggbm8g
cmVhZGVyICovCi0gICAgc2lnbmFsKFNJR1hDUFUsIGNyYXNoSGFuZGxlcik7ICAgLyogMjQ6ICBl
eGNlZWRlZCBDUFUgdGltZSBsaW1pdCAqLwotICAgIHNpZ25hbChTSUdYRlNaLCBjcmFzaEhhbmRs
ZXIpOyAgIC8qIDI1OiAgZXhjZWVkZWQgZmlsZSBzaXplIGxpbWl0ICovCisgICAgc2V0dXBTaWdu
YWxIYW5kbGVycygmY3Jhc2hIYW5kbGVyKTsKKyAgICBXVEZTZXRDcmFzaEhvb2soJldURkNyYXNo
SG9vayk7CiAjZW5kaWYKIAogICAgIFFTdHJpbmdMaXN0IGFyZ3MgPSBhcHAuYXJndW1lbnRzKCk7
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L0lu
amVjdGVkQnVuZGxlUXQuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9xdC9JbmplY3RlZEJ1bmRsZVF0LmNwcAppbmRleCA3ZWRiNThiMjIwMWEzYTRiNGQyOTMyYjAx
ZjkxZGRhNzljNjExNTMyLi42NDIwZTdkMDA1MjY0ZmM0MWQ1MWM0MDQ4ODMyZGRjMzIzNzhmNTFl
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L0lu
amVjdGVkQnVuZGxlUXQuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvcXQvSW5qZWN0ZWRCdW5kbGVRdC5jcHAKQEAgLTMxLDQzICszMSwzOSBAQAogI2luY2x1
ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8d3RmL0Fsd2F5c0lu
bGluZS5oPgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKICNpZiBIQVZFKFNJR05BTF9I
KQogI2luY2x1ZGUgPHNpZ25hbC5oPgogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKF9fR0xJQkNfXykg
JiYgIWRlZmluZWQoX19VQ0xJQkNfXykKLSNpbmNsdWRlIDxleGVjaW5mby5oPgotI2VuZGlmCi0K
IG5hbWVzcGFjZSBXVFIgewogCi1zdGF0aWMgaW5saW5lIHZvaWQgcHJpbnRCYWNrdHJhY2UoKQot
ewotI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKQotICAgIHZv
aWQqIGZyYW1lc1syNTZdOwotICAgIHNpemVfdCBzaXplID0gYmFja3RyYWNlKGZyYW1lcywgMjU2
KTsKLSAgICBpZiAoIXNpemUpCi0gICAgICAgIHJldHVybjsKLQotICAgIGNoYXIqKiBzeW1ib2xz
ID0gYmFja3RyYWNlX3N5bWJvbHMoZnJhbWVzLCBzaXplKTsKLSAgICBpZiAoIXN5bWJvbHMpCi0g
ICAgICAgIHJldHVybjsKKyNpZiBIQVZFKFNJR05BTF9IKQordHlwZWRlZiB2b2lkICgqU2lnbmFs
SGFuZGxlcikoaW50KTsKIAotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kp
Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXU6ICVzXG4iLCBpLCBzeW1ib2xzW2ldKTsKK3N0
YXRpYyBOT19SRVRVUk4gdm9pZCBjcmFzaEhhbmRsZXIoaW50IHNpZykKK3sKKyAgICBXVEZSZXBv
cnRCYWNrdHJhY2UoKTsKKyAgICBleGl0KDEyOCArIHNpZyk7Cit9CiAKLSAgICBmZmx1c2goc3Rk
ZXJyKTsKLSAgICBmcmVlKHN5bWJvbHMpOwotI2VuZGlmCitzdGF0aWMgdm9pZCBzZXR1cFNpZ25h
bEhhbmRsZXJzKFNpZ25hbEhhbmRsZXIgaGFuZGxlcikKK3sKKyAgICBzaWduYWwoU0lHSUxMLCBo
YW5kbGVyKTsgICAgLyogNDogICBpbGxlZ2FsIGluc3RydWN0aW9uIChub3QgcmVzZXQgd2hlbiBj
YXVnaHQpICovCisgICAgc2lnbmFsKFNJR1RSQVAsIGhhbmRsZXIpOyAgIC8qIDU6ICAgdHJhY2Ug
dHJhcCAobm90IHJlc2V0IHdoZW4gY2F1Z2h0KSAqLworICAgIHNpZ25hbChTSUdGUEUsIGhhbmRs
ZXIpOyAgICAvKiA4OiAgIGZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiAqLworICAgIHNpZ25hbChT
SUdCVVMsIGhhbmRsZXIpOyAgICAvKiAxMDogIGJ1cyBlcnJvciAqLworICAgIHNpZ25hbChTSUdT
RUdWLCBoYW5kbGVyKTsgICAvKiAxMTogIHNlZ21lbnRhdGlvbiB2aW9sYXRpb24gKi8KKyAgICBz
aWduYWwoU0lHU1lTLCBoYW5kbGVyKTsgICAgLyogMTI6ICBiYWQgYXJndW1lbnQgdG8gc3lzdGVt
IGNhbGwgKi8KKyAgICBzaWduYWwoU0lHUElQRSwgaGFuZGxlcik7ICAgLyogMTM6ICB3cml0ZSBv
biBhIHBpcGUgd2l0aCBubyByZWFkZXIgKi8KKyAgICBzaWduYWwoU0lHWENQVSwgaGFuZGxlcik7
ICAgLyogMjQ6ICBleGNlZWRlZCBDUFUgdGltZSBsaW1pdCAqLworICAgIHNpZ25hbChTSUdYRlNa
LCBoYW5kbGVyKTsgICAvKiAyNTogIGV4Y2VlZGVkIGZpbGUgc2l6ZSBsaW1pdCAqLwogfQogCi0j
aWYgSEFWRShTSUdOQUxfSCkKLXN0YXRpYyBOT19SRVRVUk4gdm9pZCBjcmFzaEhhbmRsZXIoaW50
IHNpZ25hbCkKK3N0YXRpYyB2b2lkIGNyYXNoSG9vaygpCiB7Ci0gICAgZnByaW50ZihzdGRlcnIs
ICIlc1xuIiwgc3Ryc2lnbmFsKHNpZ25hbCkpOwotICAgIHByaW50QmFja3RyYWNlKCk7Ci0gICAg
ZXhpdCgxMjggKyBzaWduYWwpOworICAgIHNldHVwU2lnbmFsSGFuZGxlcnMoU0lHX0RGTCk7CiB9
CiAjZW5kaWYKIApAQCAtNzcsMTUgKzczLDggQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cGxhdGZv
cm1Jbml0aWFsaXplKFdLVHlwZVJlZikKICAgICAgICAgcmV0dXJuOwogCiAjaWYgSEFWRShTSUdO
QUxfSCkKLSAgICBzaWduYWwoU0lHSUxMLCBjcmFzaEhhbmRsZXIpOyAgICAvKiA0OiAgIGlsbGVn
YWwgaW5zdHJ1Y3Rpb24gKG5vdCByZXNldCB3aGVuIGNhdWdodCkgKi8KLSAgICBzaWduYWwoU0lH
VFJBUCwgY3Jhc2hIYW5kbGVyKTsgICAvKiA1OiAgIHRyYWNlIHRyYXAgKG5vdCByZXNldCB3aGVu
IGNhdWdodCkgKi8KLSAgICBzaWduYWwoU0lHRlBFLCBjcmFzaEhhbmRsZXIpOyAgICAvKiA4OiAg
IGZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiAqLwotICAgIHNpZ25hbChTSUdCVVMsIGNyYXNoSGFu
ZGxlcik7ICAgIC8qIDEwOiAgYnVzIGVycm9yICovCi0gICAgc2lnbmFsKFNJR1NFR1YsIGNyYXNo
SGFuZGxlcik7ICAgLyogMTE6ICBzZWdtZW50YXRpb24gdmlvbGF0aW9uICovCi0gICAgc2lnbmFs
KFNJR1NZUywgY3Jhc2hIYW5kbGVyKTsgICAgLyogMTI6ICBiYWQgYXJndW1lbnQgdG8gc3lzdGVt
IGNhbGwgKi8KLSAgICBzaWduYWwoU0lHUElQRSwgY3Jhc2hIYW5kbGVyKTsgICAvKiAxMzogIHdy
aXRlIG9uIGEgcGlwZSB3aXRoIG5vIHJlYWRlciAqLwotICAgIHNpZ25hbChTSUdYQ1BVLCBjcmFz
aEhhbmRsZXIpOyAgIC8qIDI0OiAgZXhjZWVkZWQgQ1BVIHRpbWUgbGltaXQgKi8KLSAgICBzaWdu
YWwoU0lHWEZTWiwgY3Jhc2hIYW5kbGVyKTsgICAvKiAyNTogIGV4Y2VlZGVkIGZpbGUgc2l6ZSBs
aW1pdCAqLworICAgIHNldHVwU2lnbmFsSGFuZGxlcnMoJmNyYXNoSGFuZGxlcik7CisgICAgV1RG
U2V0Q3Jhc2hIb29rKCZjcmFzaEhvb2spOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL0NoYW5n
ZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyZDk5ZGRlNGUxMTM5ZDYxMGM5MWIzYjdjZGE1ZmYyNzA3
YjMzZGMxLi4zMTRiYmJiOGE3MDA0NTI3OTVlMTlmMDU2NjNlODM3NTVlOWZmYTFkIDEwMDY0NAot
LS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTIt
MjIgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgorCisgICAgICAgIFtRdF0g
Q29uc29saWRhdGUgbGF5b3V0IHRlc3QgY3Jhc2ggbG9nZ2luZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIGJhY2t0cmFjZSBnZW5lcmF0aW5nIGxv
Z2ljIGludG8gV1RGUmVwb3J0QmFja3RyYWNlCisgICAgICAgIGFuZCBhZGQgYSB3YXkgdG8gZGVp
bnN0YWxsIHNpZ25hbCBoYW5kbGVycyBpZiB3ZSBrbm93CisgICAgICAgIHRoYXQgd2UgaGF2ZSBh
bHJlYWR5IHByaW50ZWQgdGhlIGJhY2t0cmFjZS4KKworICAgICAgICAqIFNvdXJjZS9xdHdlYmtp
dC1leHBvcnQubWFwOgorCiAyMDExLTEyLTIxICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAd2Via2l0
Lm9yZz4KIAogICAgICAgICBBZGQgQ01ha2Ugb3B0aW9uIHRvIG9ubHkgYnVpbGQgSmF2YVNjcmlw
dENvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122190</attachid>
            <date>2012-01-12 01:58:04 -0800</date>
            <delta_ts>2012-01-13 10:28:45 -0800</delta_ts>
            <desc>null-check added</desc>
            <filename>bug-75088-20120112105802.patch</filename>
            <type>text/plain</type>
            <size>12872</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
YTYxMTE0N2MzNzk5YzEyYjA4Y2E0MDQyNzg3ZjIyMWVkNzgxZjBiLi40OWFiMTE1YWE4NGRiM2U2
MDM2OGY5YmI5ZjJmODJmNTM5NmRmOWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0wMS0xMiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgW1F0XSBDb25zb2xpZGF0ZSBsYXlvdXQgdGVzdCBjcmFzaCBsb2dnaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgYmFj
a3RyYWNlIGdlbmVyYXRpbmcgbG9naWMgaW50byBXVEZSZXBvcnRCYWNrdHJhY2UKKyAgICAgICAg
YW5kIGFkZCBhIHdheSB0byBkZWluc3RhbGwgc2lnbmFsIGhhbmRsZXJzIGlmIHdlIGtub3cKKyAg
ICAgICAgdGhhdCB3ZSBoYXZlIGFscmVhZHkgcHJpbnRlZCB0aGUgYmFja3RyYWNlLgorCisgICAg
ICAgICogd3RmL0Fzc2VydGlvbnMuY3BwOgorICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisK
IDIwMTItMDEtMTEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBD
b2RlQmxvY2s6Om1fZXhlY3V0ZUNvdW50ZXIgc2hvdWxkIGJlIHJlbmFtZWQgdG8gQ29kZUJsb2Nr
OjptX2ppdEV4ZWN1dGVDb3VudGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0Fzc2VydGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25z
LmNwcAppbmRleCAzZGE2N2VmZmVjMDlkYWJlM2Y4YmI4MDliY2I2ZDc3NGFkYzRmNGYyLi4xZjg0
Mzg4ZWQ3MGY2OWU0ZDgyNmM5MDkyZmE3MTA3MjkzNDM4MDRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKQEAgLTI3Miw2ICsyNzIsMTggQEAgdm9pZCBXVEZHZXRC
YWNrdHJhY2Uodm9pZCoqIHN0YWNrLCBpbnQqIHNpemUpCiAjZW5kaWYKIH0KIAorI2lmIFBMQVRG
T1JNKFFUKSB8fCBQTEFURk9STShHVEspCisjZGVmaW5lIFVTRV9ETEFERFIgMAorI2lmIGRlZmlu
ZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKQorI2RlZmluZSBXVEZfVVNFX0JB
Q0tUUkFDRV9TWU1CT0xTIDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfQkFDS1RSQUNFX1NZTUJP
TFMgMAorI2VuZGlmCisjZWxpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQorI2RlZmluZSBXVEZf
VVNFX0JBQ0tUUkFDRV9TWU1CT0xTIDAKKyNkZWZpbmUgV1RGX1VTRV9ETEFERFIgMQorI2VuZGlm
CisKIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCkKIHsKICAgICBzdGF0aWMgY29uc3QgaW50IGZy
YW1lc1RvU2hvdyA9IDMxOwpAQCAtMjgxLDE3ICsyOTMsMjYgQEAgdm9pZCBXVEZSZXBvcnRCYWNr
dHJhY2UoKQogCiAgICAgV1RGR2V0QmFja3RyYWNlKHNhbXBsZXMsICZmcmFtZXMpOwogCisjaWYg
VVNFKEJBQ0tUUkFDRV9TWU1CT0xTKQorICAgIGNoYXIqKiBzeW1ib2xzID0gYmFja3RyYWNlX3N5
bWJvbHMoc2FtcGxlcywgZnJhbWVzKTsKKyAgICBpZiAoIXN5bWJvbHMpCisgICAgICAgIHJldHVy
bjsKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkKICAgICBmb3IgKGludCBp
ID0gZnJhbWVzVG9Ta2lwOyBpIDwgZnJhbWVzOyArK2kpIHsKICAgICAgICAgY29uc3QgY2hhciog
bWFuZ2xlZE5hbWUgPSAwOwogICAgICAgICBjaGFyKiBjeGFEZW1hbmdsZWQgPSAwOwotCi0jaWYg
IVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKFFUKSAmJiAoT1MoREFSV0lOKSB8fCBPUyhMSU5V
WCkpCisjaWYgVVNFKEJBQ0tUUkFDRV9TWU1CT0xTKQorICAgICAgICBtYW5nbGVkTmFtZSA9IHN5
bWJvbHNbaV07CisjZWxpZiBVU0UoRExBRERSKQogICAgICAgICBEbF9pbmZvIGluZm87CiAgICAg
ICAgIGlmIChkbGFkZHIoc2FtcGxlc1tpXSwgJmluZm8pICYmIGluZm8uZGxpX3NuYW1lKQogICAg
ICAgICAgICAgbWFuZ2xlZE5hbWUgPSBpbmZvLmRsaV9zbmFtZTsKICAgICAgICAgaWYgKG1hbmds
ZWROYW1lKQogICAgICAgICAgICAgY3hhRGVtYW5nbGVkID0gYWJpOjpfX2N4YV9kZW1hbmdsZSht
YW5nbGVkTmFtZSwgMCwgMCwgMCk7CiAjZW5kaWYKKyNlbmRpZgogICAgICAgICBjb25zdCBpbnQg
ZnJhbWVOdW1iZXIgPSBpIC0gZnJhbWVzVG9Ta2lwICsgMTsKICAgICAgICAgaWYgKG1hbmdsZWRO
YW1lIHx8IGN4YURlbWFuZ2xlZCkKICAgICAgICAgICAgIHByaW50Zl9zdGRlcnJfY29tbW9uKCIl
LTNkICVwICVzXG4iLCBmcmFtZU51bWJlciwgc2FtcGxlc1tpXSwgY3hhRGVtYW5nbGVkID8gY3hh
RGVtYW5nbGVkIDogbWFuZ2xlZE5hbWUpOwpAQCAtMjk5LDYgKzMyMCwyNSBAQCB2b2lkIFdURlJl
cG9ydEJhY2t0cmFjZSgpCiAgICAgICAgICAgICBwcmludGZfc3RkZXJyX2NvbW1vbigiJS0zZCAl
cFxuIiwgZnJhbWVOdW1iZXIsIHNhbXBsZXNbaV0pOwogICAgICAgICBmcmVlKGN4YURlbWFuZ2xl
ZCk7CiAgICAgfQorI2lmIFVTRShCQUNLVFJBQ0VfU1lNQk9MUykKKyAgICBmcmVlKHN5bWJvbHMp
OworI2VuZGlmCit9CisKKyN1bmRlZiBXVEZfVVNFX0JBQ0tUUkFDRV9TWU1CT0xTCisjdW5kZWYg
V1RGX1VTRV9ETEFERFIKKworV1RGQ3Jhc2hIb29rRnVuY3Rpb24gZ2xvYmFsSG9vayA9IDA7CisK
K3ZvaWQgV1RGU2V0Q3Jhc2hIb29rKFdURkNyYXNoSG9va0Z1bmN0aW9uIGZ1bmN0aW9uKQorewor
ICAgIGdsb2JhbEhvb2sgPSBmdW5jdGlvbjsKK30KKwordm9pZCBXVEZJbnZva2VDcmFzaEhvb2so
KQoreworICAgIGlmIChnbG9iYWxIb29rKQorICAgICAgICBnbG9iYWxIb29rKCk7CiB9CiAKIHZv
aWQgV1RGUmVwb3J0RmF0YWxFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3Qg
Y2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0Fzc2VydGlvbnMuaAppbmRleCAyYjNkNzk0YTRkN2UwMjI3Y2VlMDg2MDVlN2ZkODYw
ZDdiNDQ5NWQwLi40MmRjMGJkMzUxOTlmMTlhNDdmNDMwNzc0MjAwM2M5ZmJjOTBiOWEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaApAQCAtMTQ3LDYgKzE0NywxMCBAQCBX
VEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZMb2dWZXJib3NlKGNvbnN0IGNoYXIqIGZpbGUsIGlu
dCBsaW5lLCBjb25zdCBjaGFyKiBmdQogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGR2V0QmFj
a3RyYWNlKHZvaWQqKiBzdGFjaywgaW50KiBzaXplKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lk
IFdURlJlcG9ydEJhY2t0cmFjZSgpOwogCit0eXBlZGVmIHZvaWQgKCpXVEZDcmFzaEhvb2tGdW5j
dGlvbikoKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlNldENyYXNoSG9vayhXVEZDcmFz
aEhvb2tGdW5jdGlvbik7CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZJbnZva2VDcmFzaEhv
b2soKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKQEAgLTE2MywxMiArMTY3LDE0
IEBAIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEJhY2t0cmFjZSgpOwogI2lmIENP
TVBJTEVSKENMQU5HKQogI2RlZmluZSBDUkFTSCgpIGRvIHsgXAogICAgIFdURlJlcG9ydEJhY2t0
cmFjZSgpOyBcCisgICAgV1RGSW52b2tlQ3Jhc2hIb29rKCk7IFwKICAgICAqKGludCAqKSh1aW50
cHRyX3QpMHhiYmFkYmVlZiA9IDA7IFwKICAgICBfX2J1aWx0aW5fdHJhcCgpOyBcCiB9IHdoaWxl
IChmYWxzZSkKICNlbHNlCiAjZGVmaW5lIENSQVNIKCkgZG8geyBcCiAgICAgV1RGUmVwb3J0QmFj
a3RyYWNlKCk7IFwKKyAgICBXVEZJbnZva2VDcmFzaEhvb2soKTsgXAogICAgICooaW50ICopKHVp
bnRwdHJfdCkweGJiYWRiZWVmID0gMDsgXAogICAgICgodm9pZCgqKSgpKTApKCk7IC8qIE1vcmUg
cmVsaWFibGUsIGJ1dCBkb2Vzbid0IHNheSBCQkFEQkVFRiAqLyBcCiB9IHdoaWxlIChmYWxzZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9xdHdlYmtpdC1leHBvcnQubWFwIGIvU291cmNlL3F0d2Via2l0
LWV4cG9ydC5tYXAKaW5kZXggM2FmODQ5MmJiNTQzNmJiZWNjM2ZkNDZiZTk5ZWY4Y2NlOWY0YmU5
Yi4uYmEyZTJmYmQ1ZGY0NWNhMjYxNTc1MDM2ODIyYWM5NTFhMjFlYmU0NyAxMDA2NDQKLS0tIGEv
U291cmNlL3F0d2Via2l0LWV4cG9ydC5tYXAKKysrIGIvU291cmNlL3F0d2Via2l0LWV4cG9ydC5t
YXAKQEAgLTQwLDYgKzQwLDggQEAgcXdrXzEuMCB7CiAgICAgV1RGUmVwb3J0QXJndW1lbnRBc3Nl
cnRpb25GYWlsdXJlOwogICAgIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmU7CiAgICAgV1RGUmVw
b3J0QmFja3RyYWNlOworICAgIFdURkludm9rZUNyYXNoSG9vazsKKyAgICBXVEZTZXRDcmFzaEhv
b2s7CiAgICAgZXh0ZXJuICJDKysiIHsKICAgICAgICAgIyBXZWJLaXQgMSBBUEkKICAgICAgICAg
KlFHcmFwaGljc1dlYlZpZXc7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggN2FkZDY5N2UyOTRmODU5YzQ0YWY4MjBiZDAwY2M3YzY4MDllZTBmMS4u
NzI3YTgzNmRiN2M1OGIzMTMxYmZiM2YwYWUyNzhhNGM4Nzg2MDhiNCAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEy
LTAxLTEyICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KKworICAgICAgICBb
UXRdIENvbnNvbGlkYXRlIGxheW91dCB0ZXN0IGNyYXNoIGxvZ2dpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBiYWNrdHJhY2UgZ2VuZXJhdGlu
ZyBsb2dpYyBpbnRvIFdURlJlcG9ydEJhY2t0cmFjZQorICAgICAgICBhbmQgYWRkIGEgd2F5IHRv
IGRlaW5zdGFsbCBzaWduYWwgaGFuZGxlcnMgaWYgd2Uga25vdworICAgICAgICB0aGF0IHdlIGhh
dmUgYWxyZWFkeSBwcmludGVkIHRoZSBiYWNrdHJhY2UuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9xdC9tYWluLmNwcDoKKyAgICAgICAgKGNyYXNoSGFuZGxlcik6CisgICAgICAgIChzZXR1
cFNpZ25hbEhhbmRsZXJzKToKKyAgICAgICAgKFdURkNyYXNoSG9vayk6CisgICAgICAgIChtYWlu
KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L0luamVjdGVk
QnVuZGxlUXQuY3BwOgorICAgICAgICAoV1RSOjpjcmFzaEhhbmRsZXIpOgorICAgICAgICAoV1RS
OjpzZXR1cFNpZ25hbEhhbmRsZXJzKToKKyAgICAgICAgKFdUUjo6Y3Jhc2hIb29rKToKKyAgICAg
ICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisKIDIwMTItMDEt
MTAgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgdGVzdC13
ZWJraXRweTogcHVzaCBtb3JlIGxvZ2ljIGludG8gd2Via2l0cHkudGVzdC5tYWluLCBjbGVhbiB1
cCBjb2RlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9tYWluLmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L21haW4uY3BwCmluZGV4IDNkOTY3M2JlZTQxZTIwMzk1ODJi
NDk0ZWYzYzNlOWMwZTE3NWQ0NjAuLjQzZjUyOTRlYzRhZDU5MGZkZWY2N2U2YTgxMDE4NTE4ZGQw
ZWI3ZGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L21haW4uY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L21haW4uY3BwCkBAIC01Myw5ICs1Myw4IEBACiAjaW5j
bHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8c2lnbmFsLmg+CiAKLSNpZiBkZWZpbmVkKF9fR0xJ
QkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykKLSNpbmNsdWRlIDxleGVjaW5mby5oPgotI2Vu
ZGlmCisjaW5jbHVkZSA8d3RmL0V4cG9ydE1hY3Jvcy5oPgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CiAKIHZvaWQgbWVzc2FnZUhhbmRsZXIoUXRNc2dUeXBlIHR5cGUsIGNvbnN0IGNoYXIg
Km1lc3NhZ2UpCiB7CkBAIC05MywzOCArOTIsMzEgQEAgdm9pZCBwcmludFVzYWdlKCkKICAgICBm
Zmx1c2goc3RkZXJyKTsKIH0KIAotUVN0cmluZyBnZXRfYmFja3RyYWNlKCkgewotICAgIFFTdHJp
bmcgczsKLQotI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKQot
ICAgIHZvaWQqIGFycmF5WzI1Nl07Ci0gICAgc2l6ZV90IHNpemU7IC8qIG51bWJlciBvZiBzdGFj
ayBmcmFtZXMgKi8KLQotICAgIHNpemUgPSBiYWNrdHJhY2UoYXJyYXksIDI1Nik7Ci0KLSAgICBp
ZiAoIXNpemUpCi0gICAgICAgIHJldHVybiBzOwotCi0gICAgY2hhcioqIHN0cmluZ3MgPSBiYWNr
dHJhY2Vfc3ltYm9scyhhcnJheSwgc2l6ZSk7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpbnQo
c2l6ZSk7ICsraSkgewotICAgICAgICBzICs9IFFTdHJpbmc6Om51bWJlcihpKSArCi0gICAgICAg
ICAgICAgUUxhdGluMVN0cmluZygiOiAiKSArCi0gICAgICAgICAgICAgUUxhdGluMVN0cmluZyhz
dHJpbmdzW2ldKSArIFFMYXRpbjFTdHJpbmcoIlxuIik7Ci0gICAgfQorI2lmIEhBVkUoU0lHTkFM
X0gpCit0eXBlZGVmIHZvaWQgKCpTaWduYWxIYW5kbGVyKShpbnQpOwogCi0gICAgaWYgKHN0cmlu
Z3MpCi0gICAgICAgIGZyZWUgKHN0cmluZ3MpOwotI2VuZGlmCitzdGF0aWMgTk9fUkVUVVJOIHZv
aWQgY3Jhc2hIYW5kbGVyKGludCBzaWcpCit7CisgICAgV1RGUmVwb3J0QmFja3RyYWNlKCk7Cisg
ICAgZXhpdCgxMjggKyBzaWcpOworfQogCi0gICAgcmV0dXJuIHM7CitzdGF0aWMgdm9pZCBzZXR1
cFNpZ25hbEhhbmRsZXJzKFNpZ25hbEhhbmRsZXIgaGFuZGxlcikKK3sKKyAgICBzaWduYWwoU0lH
SUxMLCBoYW5kbGVyKTsgICAgLyogNDogICBpbGxlZ2FsIGluc3RydWN0aW9uIChub3QgcmVzZXQg
d2hlbiBjYXVnaHQpICovCisgICAgc2lnbmFsKFNJR1RSQVAsIGhhbmRsZXIpOyAgIC8qIDU6ICAg
dHJhY2UgdHJhcCAobm90IHJlc2V0IHdoZW4gY2F1Z2h0KSAqLworICAgIHNpZ25hbChTSUdGUEUs
IGhhbmRsZXIpOyAgICAvKiA4OiAgIGZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiAqLworICAgIHNp
Z25hbChTSUdCVVMsIGhhbmRsZXIpOyAgICAvKiAxMDogIGJ1cyBlcnJvciAqLworICAgIHNpZ25h
bChTSUdTRUdWLCBoYW5kbGVyKTsgICAvKiAxMTogIHNlZ21lbnRhdGlvbiB2aW9sYXRpb24gKi8K
KyAgICBzaWduYWwoU0lHU1lTLCBoYW5kbGVyKTsgICAgLyogMTI6ICBiYWQgYXJndW1lbnQgdG8g
c3lzdGVtIGNhbGwgKi8KKyAgICBzaWduYWwoU0lHUElQRSwgaGFuZGxlcik7ICAgLyogMTM6ICB3
cml0ZSBvbiBhIHBpcGUgd2l0aCBubyByZWFkZXIgKi8KKyAgICBzaWduYWwoU0lHWENQVSwgaGFu
ZGxlcik7ICAgLyogMjQ6ICBleGNlZWRlZCBDUFUgdGltZSBsaW1pdCAqLworICAgIHNpZ25hbChT
SUdYRlNaLCBoYW5kbGVyKTsgICAvKiAyNTogIGV4Y2VlZGVkIGZpbGUgc2l6ZSBsaW1pdCAqLwog
fQogCi0jaWYgSEFWRShTSUdOQUxfSCkKLXN0YXRpYyBOT19SRVRVUk4gdm9pZCBjcmFzaEhhbmRs
ZXIoaW50IHNpZykKK3N0YXRpYyB2b2lkIFdURkNyYXNoSG9vaygpCiB7Ci0gICAgZnByaW50Zihz
dGRlcnIsICIlc1xuIiwgc3Ryc2lnbmFsKHNpZykpOwotICAgIGZwcmludGYoc3RkZXJyLCAiJXNc
biIsIGdldF9iYWNrdHJhY2UoKS50b0xhdGluMSgpLmNvbnN0RGF0YSgpKTsKLSAgICBleGl0KDEy
OCArIHNpZyk7CisgICAgc2V0dXBTaWduYWxIYW5kbGVycyhTSUdfREZMKTsKIH0KICNlbmRpZgog
CkBAIC0xNzUsMTUgKzE2Nyw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAg
ICAgUUFwcGxpY2F0aW9uOjpzZXRGb250KFFXaWRnZXQoKS5mb250KCkpOwogCiAjaWYgSEFWRShT
SUdOQUxfSCkKLSAgICBzaWduYWwoU0lHSUxMLCBjcmFzaEhhbmRsZXIpOyAgICAvKiA0OiAgIGls
bGVnYWwgaW5zdHJ1Y3Rpb24gKG5vdCByZXNldCB3aGVuIGNhdWdodCkgKi8KLSAgICBzaWduYWwo
U0lHVFJBUCwgY3Jhc2hIYW5kbGVyKTsgICAvKiA1OiAgIHRyYWNlIHRyYXAgKG5vdCByZXNldCB3
aGVuIGNhdWdodCkgKi8KLSAgICBzaWduYWwoU0lHRlBFLCBjcmFzaEhhbmRsZXIpOyAgICAvKiA4
OiAgIGZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiAqLwotICAgIHNpZ25hbChTSUdCVVMsIGNyYXNo
SGFuZGxlcik7ICAgIC8qIDEwOiAgYnVzIGVycm9yICovCi0gICAgc2lnbmFsKFNJR1NFR1YsIGNy
YXNoSGFuZGxlcik7ICAgLyogMTE6ICBzZWdtZW50YXRpb24gdmlvbGF0aW9uICovCi0gICAgc2ln
bmFsKFNJR1NZUywgY3Jhc2hIYW5kbGVyKTsgICAgLyogMTI6ICBiYWQgYXJndW1lbnQgdG8gc3lz
dGVtIGNhbGwgKi8KLSAgICBzaWduYWwoU0lHUElQRSwgY3Jhc2hIYW5kbGVyKTsgICAvKiAxMzog
IHdyaXRlIG9uIGEgcGlwZSB3aXRoIG5vIHJlYWRlciAqLwotICAgIHNpZ25hbChTSUdYQ1BVLCBj
cmFzaEhhbmRsZXIpOyAgIC8qIDI0OiAgZXhjZWVkZWQgQ1BVIHRpbWUgbGltaXQgKi8KLSAgICBz
aWduYWwoU0lHWEZTWiwgY3Jhc2hIYW5kbGVyKTsgICAvKiAyNTogIGV4Y2VlZGVkIGZpbGUgc2l6
ZSBsaW1pdCAqLworICAgIHNldHVwU2lnbmFsSGFuZGxlcnMoJmNyYXNoSGFuZGxlcik7CisgICAg
V1RGU2V0Q3Jhc2hIb29rKCZXVEZDcmFzaEhvb2spOwogI2VuZGlmCiAKICAgICBRU3RyaW5nTGlz
dCBhcmdzID0gYXBwLmFyZ3VtZW50cygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9xdC9JbmplY3RlZEJ1bmRsZVF0LmNwcCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvcXQvSW5qZWN0ZWRCdW5kbGVRdC5jcHAKaW5kZXgg
N2VkYjU4YjIyMDFhM2E0YjRkMjkzMmIwMWY5MWRkYTc5YzYxMTUzMi4uNjQyMGU3ZDAwNTI2NGZj
NDFkNTFjNDA0ODgzMmRkYzMyMzc4ZjUxZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9xdC9JbmplY3RlZEJ1bmRsZVF0LmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L0luamVjdGVkQnVuZGxlUXQuY3BwCkBA
IC0zMSw0MyArMzEsMzkgQEAKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0ZGxpYi5o
PgogI2luY2x1ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgogCiAjaWYgSEFWRShTSUdOQUxfSCkKICNpbmNsdWRlIDxzaWduYWwuaD4KICNlbmRpZgog
Ci0jaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18pCi0jaW5jbHVk
ZSA8ZXhlY2luZm8uaD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV1RSIHsKIAotc3RhdGljIGlubGlu
ZSB2b2lkIHByaW50QmFja3RyYWNlKCkKLXsKLSNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRl
ZmluZWQoX19VQ0xJQkNfXykKLSAgICB2b2lkKiBmcmFtZXNbMjU2XTsKLSAgICBzaXplX3Qgc2l6
ZSA9IGJhY2t0cmFjZShmcmFtZXMsIDI1Nik7Ci0gICAgaWYgKCFzaXplKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBjaGFyKiogc3ltYm9scyA9IGJhY2t0cmFjZV9zeW1ib2xzKGZyYW1lcywgc2l6
ZSk7Ci0gICAgaWYgKCFzeW1ib2xzKQotICAgICAgICByZXR1cm47CisjaWYgSEFWRShTSUdOQUxf
SCkKK3R5cGVkZWYgdm9pZCAoKlNpZ25hbEhhbmRsZXIpKGludCk7CiAKLSAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKQotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiV1OiAl
c1xuIiwgaSwgc3ltYm9sc1tpXSk7CitzdGF0aWMgTk9fUkVUVVJOIHZvaWQgY3Jhc2hIYW5kbGVy
KGludCBzaWcpCit7CisgICAgV1RGUmVwb3J0QmFja3RyYWNlKCk7CisgICAgZXhpdCgxMjggKyBz
aWcpOworfQogCi0gICAgZmZsdXNoKHN0ZGVycik7Ci0gICAgZnJlZShzeW1ib2xzKTsKLSNlbmRp
Zgorc3RhdGljIHZvaWQgc2V0dXBTaWduYWxIYW5kbGVycyhTaWduYWxIYW5kbGVyIGhhbmRsZXIp
Cit7CisgICAgc2lnbmFsKFNJR0lMTCwgaGFuZGxlcik7ICAgIC8qIDQ6ICAgaWxsZWdhbCBpbnN0
cnVjdGlvbiAobm90IHJlc2V0IHdoZW4gY2F1Z2h0KSAqLworICAgIHNpZ25hbChTSUdUUkFQLCBo
YW5kbGVyKTsgICAvKiA1OiAgIHRyYWNlIHRyYXAgKG5vdCByZXNldCB3aGVuIGNhdWdodCkgKi8K
KyAgICBzaWduYWwoU0lHRlBFLCBoYW5kbGVyKTsgICAgLyogODogICBmbG9hdGluZyBwb2ludCBl
eGNlcHRpb24gKi8KKyAgICBzaWduYWwoU0lHQlVTLCBoYW5kbGVyKTsgICAgLyogMTA6ICBidXMg
ZXJyb3IgKi8KKyAgICBzaWduYWwoU0lHU0VHViwgaGFuZGxlcik7ICAgLyogMTE6ICBzZWdtZW50
YXRpb24gdmlvbGF0aW9uICovCisgICAgc2lnbmFsKFNJR1NZUywgaGFuZGxlcik7ICAgIC8qIDEy
OiAgYmFkIGFyZ3VtZW50IHRvIHN5c3RlbSBjYWxsICovCisgICAgc2lnbmFsKFNJR1BJUEUsIGhh
bmRsZXIpOyAgIC8qIDEzOiAgd3JpdGUgb24gYSBwaXBlIHdpdGggbm8gcmVhZGVyICovCisgICAg
c2lnbmFsKFNJR1hDUFUsIGhhbmRsZXIpOyAgIC8qIDI0OiAgZXhjZWVkZWQgQ1BVIHRpbWUgbGlt
aXQgKi8KKyAgICBzaWduYWwoU0lHWEZTWiwgaGFuZGxlcik7ICAgLyogMjU6ICBleGNlZWRlZCBm
aWxlIHNpemUgbGltaXQgKi8KIH0KIAotI2lmIEhBVkUoU0lHTkFMX0gpCi1zdGF0aWMgTk9fUkVU
VVJOIHZvaWQgY3Jhc2hIYW5kbGVyKGludCBzaWduYWwpCitzdGF0aWMgdm9pZCBjcmFzaEhvb2so
KQogewotICAgIGZwcmludGYoc3RkZXJyLCAiJXNcbiIsIHN0cnNpZ25hbChzaWduYWwpKTsKLSAg
ICBwcmludEJhY2t0cmFjZSgpOwotICAgIGV4aXQoMTI4ICsgc2lnbmFsKTsKKyAgICBzZXR1cFNp
Z25hbEhhbmRsZXJzKFNJR19ERkwpOwogfQogI2VuZGlmCiAKQEAgLTc3LDE1ICs3Myw4IEBAIHZv
aWQgSW5qZWN0ZWRCdW5kbGU6OnBsYXRmb3JtSW5pdGlhbGl6ZShXS1R5cGVSZWYpCiAgICAgICAg
IHJldHVybjsKIAogI2lmIEhBVkUoU0lHTkFMX0gpCi0gICAgc2lnbmFsKFNJR0lMTCwgY3Jhc2hI
YW5kbGVyKTsgICAgLyogNDogICBpbGxlZ2FsIGluc3RydWN0aW9uIChub3QgcmVzZXQgd2hlbiBj
YXVnaHQpICovCi0gICAgc2lnbmFsKFNJR1RSQVAsIGNyYXNoSGFuZGxlcik7ICAgLyogNTogICB0
cmFjZSB0cmFwIChub3QgcmVzZXQgd2hlbiBjYXVnaHQpICovCi0gICAgc2lnbmFsKFNJR0ZQRSwg
Y3Jhc2hIYW5kbGVyKTsgICAgLyogODogICBmbG9hdGluZyBwb2ludCBleGNlcHRpb24gKi8KLSAg
ICBzaWduYWwoU0lHQlVTLCBjcmFzaEhhbmRsZXIpOyAgICAvKiAxMDogIGJ1cyBlcnJvciAqLwot
ICAgIHNpZ25hbChTSUdTRUdWLCBjcmFzaEhhbmRsZXIpOyAgIC8qIDExOiAgc2VnbWVudGF0aW9u
IHZpb2xhdGlvbiAqLwotICAgIHNpZ25hbChTSUdTWVMsIGNyYXNoSGFuZGxlcik7ICAgIC8qIDEy
OiAgYmFkIGFyZ3VtZW50IHRvIHN5c3RlbSBjYWxsICovCi0gICAgc2lnbmFsKFNJR1BJUEUsIGNy
YXNoSGFuZGxlcik7ICAgLyogMTM6ICB3cml0ZSBvbiBhIHBpcGUgd2l0aCBubyByZWFkZXIgKi8K
LSAgICBzaWduYWwoU0lHWENQVSwgY3Jhc2hIYW5kbGVyKTsgICAvKiAyNDogIGV4Y2VlZGVkIENQ
VSB0aW1lIGxpbWl0ICovCi0gICAgc2lnbmFsKFNJR1hGU1osIGNyYXNoSGFuZGxlcik7ICAgLyog
MjU6ICBleGNlZWRlZCBmaWxlIHNpemUgbGltaXQgKi8KKyAgICBzZXR1cFNpZ25hbEhhbmRsZXJz
KCZjcmFzaEhhbmRsZXIpOworICAgIFdURlNldENyYXNoSG9vaygmY3Jhc2hIb29rKTsKICNlbmRp
ZgogfQogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYzIxYjk0ZGIw
YzMwZDVkMjNjMzdkMzA3OTA4MDk5ZTIwYzUxZTRmNC4uZTYxYmJiOWJmODdjZjUxYmVhYzUzMjg3
NGRkNGI5NDE1N2E5YTA3NyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDEyLTAxLTEyICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBbUXRdIENvbnNvbGlkYXRlIGxheW91dCB0ZXN0IGNyYXNoIGxv
Z2dpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1
MDg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92
ZSBiYWNrdHJhY2UgZ2VuZXJhdGluZyBsb2dpYyBpbnRvIFdURlJlcG9ydEJhY2t0cmFjZQorICAg
ICAgICBhbmQgYWRkIGEgd2F5IHRvIGRlaW5zdGFsbCBzaWduYWwgaGFuZGxlcnMgaWYgd2Uga25v
dworICAgICAgICB0aGF0IHdlIGhhdmUgYWxyZWFkeSBwcmludGVkIHRoZSBiYWNrdHJhY2UuCisK
KyAgICAgICAgKiBTb3VyY2UvcXR3ZWJraXQtZXhwb3J0Lm1hcDoKKwogMjAxMi0wMS0xMSAgVWxh
biBEZWdlbmJhZXYgIDx1bGFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbdjhdIEludDE2QXJy
YXkuc2V0KGFycmF5LCBvZmZzZXQpIGZhaWxzIG9uIGZpcnN0IGV4ZWN1dGlvbgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122449</attachid>
            <date>2012-01-13 10:28:52 -0800</date>
            <delta_ts>2012-01-17 02:51:30 -0800</delta_ts>
            <desc>speculatively fixed mac&amp;win build</desc>
            <filename>bug-75088-20120113192850.patch</filename>
            <type>text/plain</type>
            <size>14594</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0OTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
YzAwNjlhMzg1Yjg5N2Q2MThiNjU0NzU5MGRjMDMwN2Y1ZTcyZWEwLi4wMmUzYjE1NjEzMDM5NDI4
OWNlMDFjOGJjNDc4MjNmOGRhODkyZTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMi0wMS0xMyAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgW1F0XSBDb25zb2xpZGF0ZSBsYXlvdXQgdGVzdCBjcmFzaCBsb2dnaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgYmFj
a3RyYWNlIGdlbmVyYXRpbmcgbG9naWMgaW50byBXVEZSZXBvcnRCYWNrdHJhY2UKKyAgICAgICAg
YW5kIGFkZCBhIHdheSB0byBkZWluc3RhbGwgc2lnbmFsIGhhbmRsZXJzIGlmIHdlIGtub3cKKyAg
ICAgICAgdGhhdCB3ZSBoYXZlIGFscmVhZHkgcHJpbnRlZCB0aGUgYmFja3RyYWNlLgorCisgICAg
ICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJv
ai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6CisgICAgICAgICogd3RmL0Fzc2Vy
dGlvbnMuY3BwOgorICAgICAgICAoV1RGTG9nTG9ja2VyOjpXVEZSZXBvcnRCYWNrdHJhY2UpOgor
ICAgICAgICAoV1RGTG9nTG9ja2VyOjpXVEZTZXRDcmFzaEhvb2spOgorICAgICAgICAoV1RGTG9n
TG9ja2VyOjpXVEZJbnZva2VDcmFzaEhvb2spOgorICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6
CisKIDIwMTItMDEtMTMgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEhXbmREQyBpcyBhIGJldHRlciBuYW1lIHRoYW4gSHduZERDLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggZmQ2MWYxNTRhM2ZkOTRmZmZmZmM2MWM3YjQ0
ZDQ4MTIxNjgwNDViOS4uZWJkZGFkYWMyMmJkZDljNzY5ZjE5YmYxNDEwZjE2YjVjOWUxMDQ2NCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC05MSw2ICs5MSw3
IEBAIF9KU1dlYWtPYmplY3RNYXBHZXQKIF9KU1dlYWtPYmplY3RNYXBSZW1vdmUKIF9KU1dlYWtP
YmplY3RNYXBTZXQKIF9XVEZHZXRCYWNrdHJhY2UKK19XVEZJbnZva2VDcmFzaEhvb2sKIF9XVEZM
b2cKIF9XVEZMb2dWZXJib3NlCiBfV1RGUmVwb3J0QXJndW1lbnRBc3NlcnRpb25GYWlsdXJlCkBA
IC05OSw2ICsxMDAsNyBAQCBfV1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVyZVdpdGhNZXNzYWdlCiBf
V1RGUmVwb3J0QmFja3RyYWNlCiBfV1RGUmVwb3J0RXJyb3IKIF9XVEZSZXBvcnRGYXRhbEVycm9y
CitfV1RGU2V0Q3Jhc2hIb29rCiBfX1pOMTRPcGFxdWVKU1N0cmluZzZjcmVhdGVFUktOM0pTQzdV
U3RyaW5nRQogX19aTjNKU0MxMEhhbmRsZUhlYXAxMndyaXRlQmFycmllckVQTlNfN0pTVmFsdWVF
UktTMV8KIF9fWk4zSlNDMTBIYW5kbGVIZWFwNGdyb3dFdgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5kZWYgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCA2Njk0MTc3MWVkMDI2NzQ0
YThlYTE5ZDA2NmMwNDU4YTRhNzU3OGI0Li4zODI3ODE1NzhlOTI2MjM1ZGVlMmJjNDJkNjY2NmJm
NWU2MWM0ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmRlZgpAQCAtMzY3LDYgKzM2Nyw3IEBAIEVYUE9SVFMKICAgICA/d3JpdGVCYXJy
aWVyQEhhbmRsZUhlYXBASlNDQEBRQUVYUEFWSlNWYWx1ZUAyQEFCVjMyQEBaCiAgICAgP3lpZWxk
QFdURkBAWUFYWFoKICAgICBXVEZHZXRCYWNrdHJhY2UKKyAgICBXVEZJbnZva2VDcmFzaEhvb2sK
ICAgICBXVEZMb2cKICAgICBXVEZMb2dWZXJib3NlCiAgICAgV1RGUmVwb3J0QXJndW1lbnRBc3Nl
cnRpb25GYWlsdXJlCkBAIC0zNzQsMyArMzc1LDQgQEAgRVhQT1JUUwogICAgIFdURlJlcG9ydEFz
c2VydGlvbkZhaWx1cmVXaXRoTWVzc2FnZQogICAgIFdURlJlcG9ydEJhY2t0cmFjZQogICAgIFdU
RlJlcG9ydEVycm9yCisgICAgV1RGU2V0Q3Jhc2hIb29rCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9Bc3NlcnRpb25zLmNwcAppbmRleCAzZGE2N2VmZmVjMDlkYWJlM2Y4YmI4MDliY2I2ZDc3NGFk
YzRmNGYyLi4xZjg0Mzg4ZWQ3MGY2OWU0ZDgyNmM5MDkyZmE3MTA3MjkzNDM4MDRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKQEAgLTI3Miw2ICsyNzIsMTggQEAg
dm9pZCBXVEZHZXRCYWNrdHJhY2Uodm9pZCoqIHN0YWNrLCBpbnQqIHNpemUpCiAjZW5kaWYKIH0K
IAorI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspCisjZGVmaW5lIFVTRV9ETEFERFIg
MAorI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKQorI2RlZmlu
ZSBXVEZfVVNFX0JBQ0tUUkFDRV9TWU1CT0xTIDEKKyNlbHNlCisjZGVmaW5lIFdURl9VU0VfQkFD
S1RSQUNFX1NZTUJPTFMgMAorI2VuZGlmCisjZWxpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQor
I2RlZmluZSBXVEZfVVNFX0JBQ0tUUkFDRV9TWU1CT0xTIDAKKyNkZWZpbmUgV1RGX1VTRV9ETEFE
RFIgMQorI2VuZGlmCisKIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCkKIHsKICAgICBzdGF0aWMg
Y29uc3QgaW50IGZyYW1lc1RvU2hvdyA9IDMxOwpAQCAtMjgxLDE3ICsyOTMsMjYgQEAgdm9pZCBX
VEZSZXBvcnRCYWNrdHJhY2UoKQogCiAgICAgV1RGR2V0QmFja3RyYWNlKHNhbXBsZXMsICZmcmFt
ZXMpOwogCisjaWYgVVNFKEJBQ0tUUkFDRV9TWU1CT0xTKQorICAgIGNoYXIqKiBzeW1ib2xzID0g
YmFja3RyYWNlX3N5bWJvbHMoc2FtcGxlcywgZnJhbWVzKTsKKyAgICBpZiAoIXN5bWJvbHMpCisg
ICAgICAgIHJldHVybjsKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkKICAg
ICBmb3IgKGludCBpID0gZnJhbWVzVG9Ta2lwOyBpIDwgZnJhbWVzOyArK2kpIHsKICAgICAgICAg
Y29uc3QgY2hhciogbWFuZ2xlZE5hbWUgPSAwOwogICAgICAgICBjaGFyKiBjeGFEZW1hbmdsZWQg
PSAwOwotCi0jaWYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKFFUKSAmJiAoT1MoREFSV0lO
KSB8fCBPUyhMSU5VWCkpCisjaWYgVVNFKEJBQ0tUUkFDRV9TWU1CT0xTKQorICAgICAgICBtYW5n
bGVkTmFtZSA9IHN5bWJvbHNbaV07CisjZWxpZiBVU0UoRExBRERSKQogICAgICAgICBEbF9pbmZv
IGluZm87CiAgICAgICAgIGlmIChkbGFkZHIoc2FtcGxlc1tpXSwgJmluZm8pICYmIGluZm8uZGxp
X3NuYW1lKQogICAgICAgICAgICAgbWFuZ2xlZE5hbWUgPSBpbmZvLmRsaV9zbmFtZTsKICAgICAg
ICAgaWYgKG1hbmdsZWROYW1lKQogICAgICAgICAgICAgY3hhRGVtYW5nbGVkID0gYWJpOjpfX2N4
YV9kZW1hbmdsZShtYW5nbGVkTmFtZSwgMCwgMCwgMCk7CiAjZW5kaWYKKyNlbmRpZgogICAgICAg
ICBjb25zdCBpbnQgZnJhbWVOdW1iZXIgPSBpIC0gZnJhbWVzVG9Ta2lwICsgMTsKICAgICAgICAg
aWYgKG1hbmdsZWROYW1lIHx8IGN4YURlbWFuZ2xlZCkKICAgICAgICAgICAgIHByaW50Zl9zdGRl
cnJfY29tbW9uKCIlLTNkICVwICVzXG4iLCBmcmFtZU51bWJlciwgc2FtcGxlc1tpXSwgY3hhRGVt
YW5nbGVkID8gY3hhRGVtYW5nbGVkIDogbWFuZ2xlZE5hbWUpOwpAQCAtMjk5LDYgKzMyMCwyNSBA
QCB2b2lkIFdURlJlcG9ydEJhY2t0cmFjZSgpCiAgICAgICAgICAgICBwcmludGZfc3RkZXJyX2Nv
bW1vbigiJS0zZCAlcFxuIiwgZnJhbWVOdW1iZXIsIHNhbXBsZXNbaV0pOwogICAgICAgICBmcmVl
KGN4YURlbWFuZ2xlZCk7CiAgICAgfQorI2lmIFVTRShCQUNLVFJBQ0VfU1lNQk9MUykKKyAgICBm
cmVlKHN5bWJvbHMpOworI2VuZGlmCit9CisKKyN1bmRlZiBXVEZfVVNFX0JBQ0tUUkFDRV9TWU1C
T0xTCisjdW5kZWYgV1RGX1VTRV9ETEFERFIKKworV1RGQ3Jhc2hIb29rRnVuY3Rpb24gZ2xvYmFs
SG9vayA9IDA7CisKK3ZvaWQgV1RGU2V0Q3Jhc2hIb29rKFdURkNyYXNoSG9va0Z1bmN0aW9uIGZ1
bmN0aW9uKQoreworICAgIGdsb2JhbEhvb2sgPSBmdW5jdGlvbjsKK30KKwordm9pZCBXVEZJbnZv
a2VDcmFzaEhvb2soKQoreworICAgIGlmIChnbG9iYWxIb29rKQorICAgICAgICBnbG9iYWxIb29r
KCk7CiB9CiAKIHZvaWQgV1RGUmVwb3J0RmF0YWxFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQg
bGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAppbmRleCAyYjNkNzk0YTRkN2UwMjI3Y2Vl
MDg2MDVlN2ZkODYwZDdiNDQ5NWQwLi40MmRjMGJkMzUxOTlmMTlhNDdmNDMwNzc0MjAwM2M5ZmJj
OTBiOWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaApAQCAtMTQ3LDYg
KzE0NywxMCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZMb2dWZXJib3NlKGNvbnN0IGNo
YXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdQogV1RGX0VYUE9SVF9QUklWQVRFIHZv
aWQgV1RGR2V0QmFja3RyYWNlKHZvaWQqKiBzdGFjaywgaW50KiBzaXplKTsKIFdURl9FWFBPUlRf
UFJJVkFURSB2b2lkIFdURlJlcG9ydEJhY2t0cmFjZSgpOwogCit0eXBlZGVmIHZvaWQgKCpXVEZD
cmFzaEhvb2tGdW5jdGlvbikoKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlNldENyYXNo
SG9vayhXVEZDcmFzaEhvb2tGdW5jdGlvbik7CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZJ
bnZva2VDcmFzaEhvb2soKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKQEAgLTE2
MywxMiArMTY3LDE0IEBAIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEJhY2t0cmFj
ZSgpOwogI2lmIENPTVBJTEVSKENMQU5HKQogI2RlZmluZSBDUkFTSCgpIGRvIHsgXAogICAgIFdU
RlJlcG9ydEJhY2t0cmFjZSgpOyBcCisgICAgV1RGSW52b2tlQ3Jhc2hIb29rKCk7IFwKICAgICAq
KGludCAqKSh1aW50cHRyX3QpMHhiYmFkYmVlZiA9IDA7IFwKICAgICBfX2J1aWx0aW5fdHJhcCgp
OyBcCiB9IHdoaWxlIChmYWxzZSkKICNlbHNlCiAjZGVmaW5lIENSQVNIKCkgZG8geyBcCiAgICAg
V1RGUmVwb3J0QmFja3RyYWNlKCk7IFwKKyAgICBXVEZJbnZva2VDcmFzaEhvb2soKTsgXAogICAg
ICooaW50ICopKHVpbnRwdHJfdCkweGJiYWRiZWVmID0gMDsgXAogICAgICgodm9pZCgqKSgpKTAp
KCk7IC8qIE1vcmUgcmVsaWFibGUsIGJ1dCBkb2Vzbid0IHNheSBCQkFEQkVFRiAqLyBcCiB9IHdo
aWxlIChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9xdHdlYmtpdC1leHBvcnQubWFwIGIvU291
cmNlL3F0d2Via2l0LWV4cG9ydC5tYXAKaW5kZXggM2FmODQ5MmJiNTQzNmJiZWNjM2ZkNDZiZTk5
ZWY4Y2NlOWY0YmU5Yi4uYmEyZTJmYmQ1ZGY0NWNhMjYxNTc1MDM2ODIyYWM5NTFhMjFlYmU0NyAx
MDA2NDQKLS0tIGEvU291cmNlL3F0d2Via2l0LWV4cG9ydC5tYXAKKysrIGIvU291cmNlL3F0d2Vi
a2l0LWV4cG9ydC5tYXAKQEAgLTQwLDYgKzQwLDggQEAgcXdrXzEuMCB7CiAgICAgV1RGUmVwb3J0
QXJndW1lbnRBc3NlcnRpb25GYWlsdXJlOwogICAgIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmU7
CiAgICAgV1RGUmVwb3J0QmFja3RyYWNlOworICAgIFdURkludm9rZUNyYXNoSG9vazsKKyAgICBX
VEZTZXRDcmFzaEhvb2s7CiAgICAgZXh0ZXJuICJDKysiIHsKICAgICAgICAgIyBXZWJLaXQgMSBB
UEkKICAgICAgICAgKlFHcmFwaGljc1dlYlZpZXc7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzQ2ODBmNmU3MmQzYTdkOGI4MmEyMWVjMmI2MjZl
MmUxM2ZkNmI2Yi4uY2Q4ODU5NTRkYTFlNmQ1YWQ0MDEwMmJkNjE1YzU1YjUzMWM5ZDRlNyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDI3IEBACiAyMDEyLTAxLTEzICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4K
IAorICAgICAgICBbUXRdIENvbnNvbGlkYXRlIGxheW91dCB0ZXN0IGNyYXNoIGxvZ2dpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBiYWNrdHJh
Y2UgZ2VuZXJhdGluZyBsb2dpYyBpbnRvIFdURlJlcG9ydEJhY2t0cmFjZQorICAgICAgICBhbmQg
YWRkIGEgd2F5IHRvIGRlaW5zdGFsbCBzaWduYWwgaGFuZGxlcnMgaWYgd2Uga25vdworICAgICAg
ICB0aGF0IHdlIGhhdmUgYWxyZWFkeSBwcmludGVkIHRoZSBiYWNrdHJhY2UuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9xdC9tYWluLmNwcDoKKyAgICAgICAgKGNyYXNoSGFuZGxlcik6Cisg
ICAgICAgIChzZXR1cFNpZ25hbEhhbmRsZXJzKToKKyAgICAgICAgKFdURkNyYXNoSG9vayk6Cisg
ICAgICAgIChtYWluKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L3F0L0luamVjdGVkQnVuZGxlUXQuY3BwOgorICAgICAgICAoV1RSOjpjcmFzaEhhbmRsZXIpOgor
ICAgICAgICAoV1RSOjpzZXR1cFNpZ25hbEhhbmRsZXJzKToKKyAgICAgICAgKFdUUjo6Y3Jhc2hI
b29rKToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6
CisKKzIwMTItMDEtMTMgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgorCiAg
ICAgICAgIFtOUldUXSBTdXBwb3J0IC0taWdub3JlLW1ldHJpY3MKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjc4CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L21haW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvbWFp
bi5jcHAKaW5kZXggM2Q5NjczYmVlNDFlMjAzOTU4MmI0OTRlZjNjM2U5YzBlMTc1ZDQ2MC4uNDNm
NTI5NGVjNGFkNTkwZmRlZjY3ZTZhODEwMTg1MThkZDBlYjdkZCAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvbWFpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
bWFpbi5jcHAKQEAgLTUzLDkgKzUzLDggQEAKICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRl
IDxzaWduYWwuaD4KIAotI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElC
Q19fKQotI2luY2x1ZGUgPGV4ZWNpbmZvLmg+Ci0jZW5kaWYKKyNpbmNsdWRlIDx3dGYvRXhwb3J0
TWFjcm9zLmg+CisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIAogdm9pZCBtZXNzYWdlSGFu
ZGxlcihRdE1zZ1R5cGUgdHlwZSwgY29uc3QgY2hhciAqbWVzc2FnZSkKIHsKQEAgLTkzLDM4ICs5
MiwzMSBAQCB2b2lkIHByaW50VXNhZ2UoKQogICAgIGZmbHVzaChzdGRlcnIpOwogfQogCi1RU3Ry
aW5nIGdldF9iYWNrdHJhY2UoKSB7Ci0gICAgUVN0cmluZyBzOwotCi0jaWYgZGVmaW5lZChfX0dM
SUJDX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18pCi0gICAgdm9pZCogYXJyYXlbMjU2XTsKLSAg
ICBzaXplX3Qgc2l6ZTsgLyogbnVtYmVyIG9mIHN0YWNrIGZyYW1lcyAqLwotCi0gICAgc2l6ZSA9
IGJhY2t0cmFjZShhcnJheSwgMjU2KTsKLQotICAgIGlmICghc2l6ZSkKLSAgICAgICAgcmV0dXJu
IHM7Ci0KLSAgICBjaGFyKiogc3RyaW5ncyA9IGJhY2t0cmFjZV9zeW1ib2xzKGFycmF5LCBzaXpl
KTsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGludChzaXplKTsgKytpKSB7Ci0gICAgICAgIHMg
Kz0gUVN0cmluZzo6bnVtYmVyKGkpICsKLSAgICAgICAgICAgICBRTGF0aW4xU3RyaW5nKCI6ICIp
ICsKLSAgICAgICAgICAgICBRTGF0aW4xU3RyaW5nKHN0cmluZ3NbaV0pICsgUUxhdGluMVN0cmlu
ZygiXG4iKTsKLSAgICB9CisjaWYgSEFWRShTSUdOQUxfSCkKK3R5cGVkZWYgdm9pZCAoKlNpZ25h
bEhhbmRsZXIpKGludCk7CiAKLSAgICBpZiAoc3RyaW5ncykKLSAgICAgICAgZnJlZSAoc3RyaW5n
cyk7Ci0jZW5kaWYKK3N0YXRpYyBOT19SRVRVUk4gdm9pZCBjcmFzaEhhbmRsZXIoaW50IHNpZykK
K3sKKyAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKKyAgICBleGl0KDEyOCArIHNpZyk7Cit9CiAK
LSAgICByZXR1cm4gczsKK3N0YXRpYyB2b2lkIHNldHVwU2lnbmFsSGFuZGxlcnMoU2lnbmFsSGFu
ZGxlciBoYW5kbGVyKQoreworICAgIHNpZ25hbChTSUdJTEwsIGhhbmRsZXIpOyAgICAvKiA0OiAg
IGlsbGVnYWwgaW5zdHJ1Y3Rpb24gKG5vdCByZXNldCB3aGVuIGNhdWdodCkgKi8KKyAgICBzaWdu
YWwoU0lHVFJBUCwgaGFuZGxlcik7ICAgLyogNTogICB0cmFjZSB0cmFwIChub3QgcmVzZXQgd2hl
biBjYXVnaHQpICovCisgICAgc2lnbmFsKFNJR0ZQRSwgaGFuZGxlcik7ICAgIC8qIDg6ICAgZmxv
YXRpbmcgcG9pbnQgZXhjZXB0aW9uICovCisgICAgc2lnbmFsKFNJR0JVUywgaGFuZGxlcik7ICAg
IC8qIDEwOiAgYnVzIGVycm9yICovCisgICAgc2lnbmFsKFNJR1NFR1YsIGhhbmRsZXIpOyAgIC8q
IDExOiAgc2VnbWVudGF0aW9uIHZpb2xhdGlvbiAqLworICAgIHNpZ25hbChTSUdTWVMsIGhhbmRs
ZXIpOyAgICAvKiAxMjogIGJhZCBhcmd1bWVudCB0byBzeXN0ZW0gY2FsbCAqLworICAgIHNpZ25h
bChTSUdQSVBFLCBoYW5kbGVyKTsgICAvKiAxMzogIHdyaXRlIG9uIGEgcGlwZSB3aXRoIG5vIHJl
YWRlciAqLworICAgIHNpZ25hbChTSUdYQ1BVLCBoYW5kbGVyKTsgICAvKiAyNDogIGV4Y2VlZGVk
IENQVSB0aW1lIGxpbWl0ICovCisgICAgc2lnbmFsKFNJR1hGU1osIGhhbmRsZXIpOyAgIC8qIDI1
OiAgZXhjZWVkZWQgZmlsZSBzaXplIGxpbWl0ICovCiB9CiAKLSNpZiBIQVZFKFNJR05BTF9IKQot
c3RhdGljIE5PX1JFVFVSTiB2b2lkIGNyYXNoSGFuZGxlcihpbnQgc2lnKQorc3RhdGljIHZvaWQg
V1RGQ3Jhc2hIb29rKCkKIHsKLSAgICBmcHJpbnRmKHN0ZGVyciwgIiVzXG4iLCBzdHJzaWduYWwo
c2lnKSk7Ci0gICAgZnByaW50ZihzdGRlcnIsICIlc1xuIiwgZ2V0X2JhY2t0cmFjZSgpLnRvTGF0
aW4xKCkuY29uc3REYXRhKCkpOwotICAgIGV4aXQoMTI4ICsgc2lnKTsKKyAgICBzZXR1cFNpZ25h
bEhhbmRsZXJzKFNJR19ERkwpOwogfQogI2VuZGlmCiAKQEAgLTE3NSwxNSArMTY3LDggQEAgaW50
IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBRQXBwbGljYXRpb246OnNldEZvbnQo
UVdpZGdldCgpLmZvbnQoKSk7CiAKICNpZiBIQVZFKFNJR05BTF9IKQotICAgIHNpZ25hbChTSUdJ
TEwsIGNyYXNoSGFuZGxlcik7ICAgIC8qIDQ6ICAgaWxsZWdhbCBpbnN0cnVjdGlvbiAobm90IHJl
c2V0IHdoZW4gY2F1Z2h0KSAqLwotICAgIHNpZ25hbChTSUdUUkFQLCBjcmFzaEhhbmRsZXIpOyAg
IC8qIDU6ICAgdHJhY2UgdHJhcCAobm90IHJlc2V0IHdoZW4gY2F1Z2h0KSAqLwotICAgIHNpZ25h
bChTSUdGUEUsIGNyYXNoSGFuZGxlcik7ICAgIC8qIDg6ICAgZmxvYXRpbmcgcG9pbnQgZXhjZXB0
aW9uICovCi0gICAgc2lnbmFsKFNJR0JVUywgY3Jhc2hIYW5kbGVyKTsgICAgLyogMTA6ICBidXMg
ZXJyb3IgKi8KLSAgICBzaWduYWwoU0lHU0VHViwgY3Jhc2hIYW5kbGVyKTsgICAvKiAxMTogIHNl
Z21lbnRhdGlvbiB2aW9sYXRpb24gKi8KLSAgICBzaWduYWwoU0lHU1lTLCBjcmFzaEhhbmRsZXIp
OyAgICAvKiAxMjogIGJhZCBhcmd1bWVudCB0byBzeXN0ZW0gY2FsbCAqLwotICAgIHNpZ25hbChT
SUdQSVBFLCBjcmFzaEhhbmRsZXIpOyAgIC8qIDEzOiAgd3JpdGUgb24gYSBwaXBlIHdpdGggbm8g
cmVhZGVyICovCi0gICAgc2lnbmFsKFNJR1hDUFUsIGNyYXNoSGFuZGxlcik7ICAgLyogMjQ6ICBl
eGNlZWRlZCBDUFUgdGltZSBsaW1pdCAqLwotICAgIHNpZ25hbChTSUdYRlNaLCBjcmFzaEhhbmRs
ZXIpOyAgIC8qIDI1OiAgZXhjZWVkZWQgZmlsZSBzaXplIGxpbWl0ICovCisgICAgc2V0dXBTaWdu
YWxIYW5kbGVycygmY3Jhc2hIYW5kbGVyKTsKKyAgICBXVEZTZXRDcmFzaEhvb2soJldURkNyYXNo
SG9vayk7CiAjZW5kaWYKIAogICAgIFFTdHJpbmdMaXN0IGFyZ3MgPSBhcHAuYXJndW1lbnRzKCk7
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L0lu
amVjdGVkQnVuZGxlUXQuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9xdC9JbmplY3RlZEJ1bmRsZVF0LmNwcAppbmRleCA3ZWRiNThiMjIwMWEzYTRiNGQyOTMyYjAx
ZjkxZGRhNzljNjExNTMyLi42NDIwZTdkMDA1MjY0ZmM0MWQ1MWM0MDQ4ODMyZGRjMzIzNzhmNTFl
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L0lu
amVjdGVkQnVuZGxlUXQuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvcXQvSW5qZWN0ZWRCdW5kbGVRdC5jcHAKQEAgLTMxLDQzICszMSwzOSBAQAogI2luY2x1
ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8d3RmL0Fsd2F5c0lu
bGluZS5oPgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKICNpZiBIQVZFKFNJR05BTF9I
KQogI2luY2x1ZGUgPHNpZ25hbC5oPgogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKF9fR0xJQkNfXykg
JiYgIWRlZmluZWQoX19VQ0xJQkNfXykKLSNpbmNsdWRlIDxleGVjaW5mby5oPgotI2VuZGlmCi0K
IG5hbWVzcGFjZSBXVFIgewogCi1zdGF0aWMgaW5saW5lIHZvaWQgcHJpbnRCYWNrdHJhY2UoKQot
ewotI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKQotICAgIHZv
aWQqIGZyYW1lc1syNTZdOwotICAgIHNpemVfdCBzaXplID0gYmFja3RyYWNlKGZyYW1lcywgMjU2
KTsKLSAgICBpZiAoIXNpemUpCi0gICAgICAgIHJldHVybjsKLQotICAgIGNoYXIqKiBzeW1ib2xz
ID0gYmFja3RyYWNlX3N5bWJvbHMoZnJhbWVzLCBzaXplKTsKLSAgICBpZiAoIXN5bWJvbHMpCi0g
ICAgICAgIHJldHVybjsKKyNpZiBIQVZFKFNJR05BTF9IKQordHlwZWRlZiB2b2lkICgqU2lnbmFs
SGFuZGxlcikoaW50KTsKIAotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kp
Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXU6ICVzXG4iLCBpLCBzeW1ib2xzW2ldKTsKK3N0
YXRpYyBOT19SRVRVUk4gdm9pZCBjcmFzaEhhbmRsZXIoaW50IHNpZykKK3sKKyAgICBXVEZSZXBv
cnRCYWNrdHJhY2UoKTsKKyAgICBleGl0KDEyOCArIHNpZyk7Cit9CiAKLSAgICBmZmx1c2goc3Rk
ZXJyKTsKLSAgICBmcmVlKHN5bWJvbHMpOwotI2VuZGlmCitzdGF0aWMgdm9pZCBzZXR1cFNpZ25h
bEhhbmRsZXJzKFNpZ25hbEhhbmRsZXIgaGFuZGxlcikKK3sKKyAgICBzaWduYWwoU0lHSUxMLCBo
YW5kbGVyKTsgICAgLyogNDogICBpbGxlZ2FsIGluc3RydWN0aW9uIChub3QgcmVzZXQgd2hlbiBj
YXVnaHQpICovCisgICAgc2lnbmFsKFNJR1RSQVAsIGhhbmRsZXIpOyAgIC8qIDU6ICAgdHJhY2Ug
dHJhcCAobm90IHJlc2V0IHdoZW4gY2F1Z2h0KSAqLworICAgIHNpZ25hbChTSUdGUEUsIGhhbmRs
ZXIpOyAgICAvKiA4OiAgIGZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiAqLworICAgIHNpZ25hbChT
SUdCVVMsIGhhbmRsZXIpOyAgICAvKiAxMDogIGJ1cyBlcnJvciAqLworICAgIHNpZ25hbChTSUdT
RUdWLCBoYW5kbGVyKTsgICAvKiAxMTogIHNlZ21lbnRhdGlvbiB2aW9sYXRpb24gKi8KKyAgICBz
aWduYWwoU0lHU1lTLCBoYW5kbGVyKTsgICAgLyogMTI6ICBiYWQgYXJndW1lbnQgdG8gc3lzdGVt
IGNhbGwgKi8KKyAgICBzaWduYWwoU0lHUElQRSwgaGFuZGxlcik7ICAgLyogMTM6ICB3cml0ZSBv
biBhIHBpcGUgd2l0aCBubyByZWFkZXIgKi8KKyAgICBzaWduYWwoU0lHWENQVSwgaGFuZGxlcik7
ICAgLyogMjQ6ICBleGNlZWRlZCBDUFUgdGltZSBsaW1pdCAqLworICAgIHNpZ25hbChTSUdYRlNa
LCBoYW5kbGVyKTsgICAvKiAyNTogIGV4Y2VlZGVkIGZpbGUgc2l6ZSBsaW1pdCAqLwogfQogCi0j
aWYgSEFWRShTSUdOQUxfSCkKLXN0YXRpYyBOT19SRVRVUk4gdm9pZCBjcmFzaEhhbmRsZXIoaW50
IHNpZ25hbCkKK3N0YXRpYyB2b2lkIGNyYXNoSG9vaygpCiB7Ci0gICAgZnByaW50ZihzdGRlcnIs
ICIlc1xuIiwgc3Ryc2lnbmFsKHNpZ25hbCkpOwotICAgIHByaW50QmFja3RyYWNlKCk7Ci0gICAg
ZXhpdCgxMjggKyBzaWduYWwpOworICAgIHNldHVwU2lnbmFsSGFuZGxlcnMoU0lHX0RGTCk7CiB9
CiAjZW5kaWYKIApAQCAtNzcsMTUgKzczLDggQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cGxhdGZv
cm1Jbml0aWFsaXplKFdLVHlwZVJlZikKICAgICAgICAgcmV0dXJuOwogCiAjaWYgSEFWRShTSUdO
QUxfSCkKLSAgICBzaWduYWwoU0lHSUxMLCBjcmFzaEhhbmRsZXIpOyAgICAvKiA0OiAgIGlsbGVn
YWwgaW5zdHJ1Y3Rpb24gKG5vdCByZXNldCB3aGVuIGNhdWdodCkgKi8KLSAgICBzaWduYWwoU0lH
VFJBUCwgY3Jhc2hIYW5kbGVyKTsgICAvKiA1OiAgIHRyYWNlIHRyYXAgKG5vdCByZXNldCB3aGVu
IGNhdWdodCkgKi8KLSAgICBzaWduYWwoU0lHRlBFLCBjcmFzaEhhbmRsZXIpOyAgICAvKiA4OiAg
IGZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiAqLwotICAgIHNpZ25hbChTSUdCVVMsIGNyYXNoSGFu
ZGxlcik7ICAgIC8qIDEwOiAgYnVzIGVycm9yICovCi0gICAgc2lnbmFsKFNJR1NFR1YsIGNyYXNo
SGFuZGxlcik7ICAgLyogMTE6ICBzZWdtZW50YXRpb24gdmlvbGF0aW9uICovCi0gICAgc2lnbmFs
KFNJR1NZUywgY3Jhc2hIYW5kbGVyKTsgICAgLyogMTI6ICBiYWQgYXJndW1lbnQgdG8gc3lzdGVt
IGNhbGwgKi8KLSAgICBzaWduYWwoU0lHUElQRSwgY3Jhc2hIYW5kbGVyKTsgICAvKiAxMzogIHdy
aXRlIG9uIGEgcGlwZSB3aXRoIG5vIHJlYWRlciAqLwotICAgIHNpZ25hbChTSUdYQ1BVLCBjcmFz
aEhhbmRsZXIpOyAgIC8qIDI0OiAgZXhjZWVkZWQgQ1BVIHRpbWUgbGltaXQgKi8KLSAgICBzaWdu
YWwoU0lHWEZTWiwgY3Jhc2hIYW5kbGVyKTsgICAvKiAyNTogIGV4Y2VlZGVkIGZpbGUgc2l6ZSBs
aW1pdCAqLworICAgIHNldHVwU2lnbmFsSGFuZGxlcnMoJmNyYXNoSGFuZGxlcik7CisgICAgV1RG
U2V0Q3Jhc2hIb29rKCZjcmFzaEhvb2spOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL0NoYW5n
ZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkYjI4MzU4M2I5ZGFjYTU3NTYyNWZiNzkzOGFhYjAwYzQz
ODZiOWVlLi42M2I1MDg0YmFlZmFjZjMzN2I1ZTk0OTc2NDRjYmRjYzMyZDc5NjcyIDEwMDY0NAot
LS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDEt
MTMgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgorCisgICAgICAgIFtRdF0g
Q29uc29saWRhdGUgbGF5b3V0IHRlc3QgY3Jhc2ggbG9nZ2luZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIGJhY2t0cmFjZSBnZW5lcmF0aW5nIGxv
Z2ljIGludG8gV1RGUmVwb3J0QmFja3RyYWNlCisgICAgICAgIGFuZCBhZGQgYSB3YXkgdG8gZGVp
bnN0YWxsIHNpZ25hbCBoYW5kbGVycyBpZiB3ZSBrbm93CisgICAgICAgIHRoYXQgd2UgaGF2ZSBh
bHJlYWR5IHByaW50ZWQgdGhlIGJhY2t0cmFjZS4KKworICAgICAgICAqIFNvdXJjZS9xdHdlYmtp
dC1leHBvcnQubWFwOgorCiAyMDEyLTAxLTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTA0ODA1
Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122743</attachid>
            <date>2012-01-17 02:51:37 -0800</date>
            <delta_ts>2012-01-17 11:07:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75088-20120117115135.patch</filename>
            <type>text/plain</type>
            <size>14216</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
N2E3Yjc5NjVkMzE4MzYxNGY4ZWUwMDNmNWI3N2E3Y2NkNjM2MjRhLi5kOTViNDRkMDdjMzA1OGFm
NzZkZDliYTNhMzg2ZGQ1MjEwZDZlNWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMi0wMS0xNyAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgW1F0XSBDb25zb2xpZGF0ZSBsYXlvdXQgdGVzdCBjcmFzaCBsb2dnaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgYmFj
a3RyYWNlIGdlbmVyYXRpbmcgbG9naWMgaW50byBXVEZSZXBvcnRCYWNrdHJhY2UKKyAgICAgICAg
YW5kIGFkZCBhIHdheSB0byBkZWluc3RhbGwgc2lnbmFsIGhhbmRsZXJzIGlmIHdlIGtub3cKKyAg
ICAgICAgdGhhdCB3ZSBoYXZlIGFscmVhZHkgcHJpbnRlZCB0aGUgYmFja3RyYWNlLgorCisgICAg
ICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJv
ai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6CisgICAgICAgICogd3RmL0Fzc2Vy
dGlvbnMuY3BwOgorICAgICAgICAoV1RGTG9nTG9ja2VyOjpXVEZSZXBvcnRCYWNrdHJhY2UpOgor
ICAgICAgICAoV1RGTG9nTG9ja2VyOjpXVEZTZXRDcmFzaEhvb2spOgorICAgICAgICAoV1RGTG9n
TG9ja2VyOjpXVEZJbnZva2VDcmFzaEhvb2spOgorICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6
CisKIDIwMTItMDEtMTcgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBERkcgc2hvdWxkIGJlIGFibGUgdG8gZG8gSlMgYW5kIGN1c3RvbSBnZXR0ZXIgY2FjaGluZwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggZmQ2MWYxNTRhM2Zk
OTRmZmZmZmM2MWM3YjQ0ZDQ4MTIxNjgwNDViOS4uZWJkZGFkYWMyMmJkZDljNzY5ZjE5YmYxNDEw
ZjE2YjVjOWUxMDQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmV4cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhw
CkBAIC05MSw2ICs5MSw3IEBAIF9KU1dlYWtPYmplY3RNYXBHZXQKIF9KU1dlYWtPYmplY3RNYXBS
ZW1vdmUKIF9KU1dlYWtPYmplY3RNYXBTZXQKIF9XVEZHZXRCYWNrdHJhY2UKK19XVEZJbnZva2VD
cmFzaEhvb2sKIF9XVEZMb2cKIF9XVEZMb2dWZXJib3NlCiBfV1RGUmVwb3J0QXJndW1lbnRBc3Nl
cnRpb25GYWlsdXJlCkBAIC05OSw2ICsxMDAsNyBAQCBfV1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVy
ZVdpdGhNZXNzYWdlCiBfV1RGUmVwb3J0QmFja3RyYWNlCiBfV1RGUmVwb3J0RXJyb3IKIF9XVEZS
ZXBvcnRGYXRhbEVycm9yCitfV1RGU2V0Q3Jhc2hIb29rCiBfX1pOMTRPcGFxdWVKU1N0cmluZzZj
cmVhdGVFUktOM0pTQzdVU3RyaW5nRQogX19aTjNKU0MxMEhhbmRsZUhlYXAxMndyaXRlQmFycmll
ckVQTlNfN0pTVmFsdWVFUktTMV8KIF9fWk4zSlNDMTBIYW5kbGVIZWFwNGdyb3dFdgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCA2
Njk0MTc3MWVkMDI2NzQ0YThlYTE5ZDA2NmMwNDU4YTRhNzU3OGI0Li4zODI3ODE1NzhlOTI2MjM1
ZGVlMmJjNDJkNjY2NmJmNWU2MWM0ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRl
ZgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtMzY3LDYgKzM2Nyw3IEBAIEVYUE9SVFMK
ICAgICA/d3JpdGVCYXJyaWVyQEhhbmRsZUhlYXBASlNDQEBRQUVYUEFWSlNWYWx1ZUAyQEFCVjMy
QEBaCiAgICAgP3lpZWxkQFdURkBAWUFYWFoKICAgICBXVEZHZXRCYWNrdHJhY2UKKyAgICBXVEZJ
bnZva2VDcmFzaEhvb2sKICAgICBXVEZMb2cKICAgICBXVEZMb2dWZXJib3NlCiAgICAgV1RGUmVw
b3J0QXJndW1lbnRBc3NlcnRpb25GYWlsdXJlCkBAIC0zNzQsMyArMzc1LDQgQEAgRVhQT1JUUwog
ICAgIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmVXaXRoTWVzc2FnZQogICAgIFdURlJlcG9ydEJh
Y2t0cmFjZQogICAgIFdURlJlcG9ydEVycm9yCisgICAgV1RGU2V0Q3Jhc2hIb29rCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcAppbmRleCAzZGE2N2VmZmVjMDlkYWJlM2Y4
YmI4MDliY2I2ZDc3NGFkYzRmNGYyLi40OTU4MTJlMzBhMDM1NjU5NmFlOTU5NTc3NmVkMzFiMDBk
NmQ0NDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKQEAgLTI3
Miw2ICsyNzIsMTYgQEAgdm9pZCBXVEZHZXRCYWNrdHJhY2Uodm9pZCoqIHN0YWNrLCBpbnQqIHNp
emUpCiAjZW5kaWYKIH0KIAorI2lmIE9TKERBUldJTikgfHwgT1MoTElOVVgpCisjICBpZiBQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oR1RLKQorIyAgICBpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYg
IWRlZmluZWQoX19VQ0xJQkNfXykKKyMgICAgICBkZWZpbmUgV1RGX1VTRV9CQUNLVFJBQ0VfU1lN
Qk9MUyAxCisjICAgIGVuZGlmCisjICBlbHNlCisjICAgIGRlZmluZSBXVEZfVVNFX0RMQUREUiAx
CisjICBlbmRpZgorI2VuZGlmCisKIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCkKIHsKICAgICBz
dGF0aWMgY29uc3QgaW50IGZyYW1lc1RvU2hvdyA9IDMxOwpAQCAtMjgxLDExICsyOTEsMTggQEAg
dm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKQogCiAgICAgV1RGR2V0QmFja3RyYWNlKHNhbXBsZXMs
ICZmcmFtZXMpOwogCisjaWYgVVNFKEJBQ0tUUkFDRV9TWU1CT0xTKQorICAgIGNoYXIqKiBzeW1i
b2xzID0gYmFja3RyYWNlX3N5bWJvbHMoc2FtcGxlcywgZnJhbWVzKTsKKyAgICBpZiAoIXN5bWJv
bHMpCisgICAgICAgIHJldHVybjsKKyNlbmRpZgorCiAgICAgZm9yIChpbnQgaSA9IGZyYW1lc1Rv
U2tpcDsgaSA8IGZyYW1lczsgKytpKSB7CiAgICAgICAgIGNvbnN0IGNoYXIqIG1hbmdsZWROYW1l
ID0gMDsKICAgICAgICAgY2hhciogY3hhRGVtYW5nbGVkID0gMDsKLQotI2lmICFQTEFURk9STShH
VEspICYmICFQTEFURk9STShRVCkgJiYgKE9TKERBUldJTikgfHwgT1MoTElOVVgpKQorI2lmIFVT
RShCQUNLVFJBQ0VfU1lNQk9MUykKKyAgICAgICAgbWFuZ2xlZE5hbWUgPSBzeW1ib2xzW2ldOwor
I2VsaWYgVVNFKERMQUREUikKICAgICAgICAgRGxfaW5mbyBpbmZvOwogICAgICAgICBpZiAoZGxh
ZGRyKHNhbXBsZXNbaV0sICZpbmZvKSAmJiBpbmZvLmRsaV9zbmFtZSkKICAgICAgICAgICAgIG1h
bmdsZWROYW1lID0gaW5mby5kbGlfc25hbWU7CkBAIC0yOTksNiArMzE2LDI2IEBAIHZvaWQgV1RG
UmVwb3J0QmFja3RyYWNlKCkKICAgICAgICAgICAgIHByaW50Zl9zdGRlcnJfY29tbW9uKCIlLTNk
ICVwXG4iLCBmcmFtZU51bWJlciwgc2FtcGxlc1tpXSk7CiAgICAgICAgIGZyZWUoY3hhRGVtYW5n
bGVkKTsKICAgICB9CisKKyNpZiBVU0UoQkFDS1RSQUNFX1NZTUJPTFMpCisgICAgZnJlZShzeW1i
b2xzKTsKKyNlbmRpZgorfQorCisjdW5kZWYgV1RGX1VTRV9CQUNLVFJBQ0VfU1lNQk9MUworI3Vu
ZGVmIFdURl9VU0VfRExBRERSCisKK1dURkNyYXNoSG9va0Z1bmN0aW9uIGdsb2JhbEhvb2sgPSAw
OworCit2b2lkIFdURlNldENyYXNoSG9vayhXVEZDcmFzaEhvb2tGdW5jdGlvbiBmdW5jdGlvbikK
K3sKKyAgICBnbG9iYWxIb29rID0gZnVuY3Rpb247Cit9CisKK3ZvaWQgV1RGSW52b2tlQ3Jhc2hI
b29rKCkKK3sKKyAgICBpZiAoZ2xvYmFsSG9vaykKKyAgICAgICAgZ2xvYmFsSG9vaygpOwogfQog
CiB2b2lkIFdURlJlcG9ydEZhdGFsRXJyb3IoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNv
bnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKaW5kZXggMmIzZDc5NGE0ZDdlMDIyN2NlZTA4NjA1ZTdm
ZDg2MGQ3YjQ0OTVkMC4uNDJkYzBiZDM1MTk5ZjE5YTQ3ZjQzMDc3NDIwMDNjOWZiYzkwYjlhMyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKQEAgLTE0Nyw2ICsxNDcsMTAg
QEAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGTG9nVmVyYm9zZShjb25zdCBjaGFyKiBmaWxl
LCBpbnQgbGluZSwgY29uc3QgY2hhciogZnUKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkdl
dEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6ZSk7CiBXVEZfRVhQT1JUX1BSSVZBVEUg
dm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKIAordHlwZWRlZiB2b2lkICgqV1RGQ3Jhc2hIb29r
RnVuY3Rpb24pKCk7CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZTZXRDcmFzaEhvb2soV1RG
Q3Jhc2hIb29rRnVuY3Rpb24pOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGSW52b2tlQ3Jh
c2hIb29rKCk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCkBAIC0xNjMsMTIgKzE2
NywxNCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKICNp
ZiBDT01QSUxFUihDTEFORykKICNkZWZpbmUgQ1JBU0goKSBkbyB7IFwKICAgICBXVEZSZXBvcnRC
YWNrdHJhY2UoKTsgXAorICAgIFdURkludm9rZUNyYXNoSG9vaygpOyBcCiAgICAgKihpbnQgKiko
dWludHB0cl90KTB4YmJhZGJlZWYgPSAwOyBcCiAgICAgX19idWlsdGluX3RyYXAoKTsgXAogfSB3
aGlsZSAoZmFsc2UpCiAjZWxzZQogI2RlZmluZSBDUkFTSCgpIGRvIHsgXAogICAgIFdURlJlcG9y
dEJhY2t0cmFjZSgpOyBcCisgICAgV1RGSW52b2tlQ3Jhc2hIb29rKCk7IFwKICAgICAqKGludCAq
KSh1aW50cHRyX3QpMHhiYmFkYmVlZiA9IDA7IFwKICAgICAoKHZvaWQoKikoKSkwKSgpOyAvKiBN
b3JlIHJlbGlhYmxlLCBidXQgZG9lc24ndCBzYXkgQkJBREJFRUYgKi8gXAogfSB3aGlsZSAoZmFs
c2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvcXR3ZWJraXQtZXhwb3J0Lm1hcCBiL1NvdXJjZS9xdHdl
YmtpdC1leHBvcnQubWFwCmluZGV4IDNhZjg0OTJiYjU0MzZiYmVjYzNmZDQ2YmU5OWVmOGNjZTlm
NGJlOWIuLmJhMmUyZmJkNWRmNDVjYTI2MTU3NTAzNjgyMmFjOTUxYTIxZWJlNDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9xdHdlYmtpdC1leHBvcnQubWFwCisrKyBiL1NvdXJjZS9xdHdlYmtpdC1leHBv
cnQubWFwCkBAIC00MCw2ICs0MCw4IEBAIHF3a18xLjAgewogICAgIFdURlJlcG9ydEFyZ3VtZW50
QXNzZXJ0aW9uRmFpbHVyZTsKICAgICBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlOwogICAgIFdU
RlJlcG9ydEJhY2t0cmFjZTsKKyAgICBXVEZJbnZva2VDcmFzaEhvb2s7CisgICAgV1RGU2V0Q3Jh
c2hIb29rOwogICAgIGV4dGVybiAiQysrIiB7CiAgICAgICAgICMgV2ViS2l0IDEgQVBJCiAgICAg
ICAgICpRR3JhcGhpY3NXZWJWaWV3OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IGIwZTIwN2UzOGZmYjhhZmRmZjg1OTJiMGY4OWU0MTRjMDFlYjMy
OWUuLmFhOThiOTFjMGMyMjFhMGVhMmI5NWRhYmQ0YTIyMjYxMmNhOTMwMzggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAor
MjAxMi0wMS0xNyAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW1F0XSBDb25zb2xpZGF0ZSBsYXlvdXQgdGVzdCBjcmFzaCBsb2dnaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgYmFja3RyYWNlIGdlbmVy
YXRpbmcgbG9naWMgaW50byBXVEZSZXBvcnRCYWNrdHJhY2UKKyAgICAgICAgYW5kIGFkZCBhIHdh
eSB0byBkZWluc3RhbGwgc2lnbmFsIGhhbmRsZXJzIGlmIHdlIGtub3cKKyAgICAgICAgdGhhdCB3
ZSBoYXZlIGFscmVhZHkgcHJpbnRlZCB0aGUgYmFja3RyYWNlLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvcXQvbWFpbi5jcHA6CisgICAgICAgIChjcmFzaEhhbmRsZXIpOgorICAgICAgICAo
c2V0dXBTaWduYWxIYW5kbGVycyk6CisgICAgICAgIChXVEZDcmFzaEhvb2spOgorICAgICAgICAo
bWFpbik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9xdC9Jbmpl
Y3RlZEJ1bmRsZVF0LmNwcDoKKyAgICAgICAgKFdUUjo6Y3Jhc2hIYW5kbGVyKToKKyAgICAgICAg
KFdUUjo6c2V0dXBTaWduYWxIYW5kbGVycyk6CisgICAgICAgIChXVFI6OmNyYXNoSG9vayk6Cisg
ICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpwbGF0Zm9ybUluaXRpYWxpemUpOgorCiAyMDEy
LTAxLTE2ICBUb3IgQXJuZSBWZXN0YsO4ICA8dG9yLmFybmUudmVzdGJvQG5va2lhLmNvbT4KIAog
ICAgICAgICBbUXRdIERvbid0IGFkZCBfZGVidWcgcG9zdGZpeCB0byB0YXJnZXRzIHdoZW4gYnVp
bGRpbmcgZGVidWcgb25seQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvbWFp
bi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9tYWluLmNwcAppbmRleCAzZDk2NzNiZWU0
MWUyMDM5NTgyYjQ5NGVmM2MzZTljMGUxNzVkNDYwLi40M2Y1Mjk0ZWM0YWQ1OTBmZGVmNjdlNmE4
MTAxODUxOGRkMGViN2RkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9tYWlu
LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9tYWluLmNwcApAQCAtNTMsOSArNTMs
OCBAQAogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPHNpZ25hbC5oPgogCi0jaWYgZGVm
aW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18pCi0jaW5jbHVkZSA8ZXhlY2lu
Zm8uaD4KLSNlbmRpZgorI2luY2x1ZGUgPHd0Zi9FeHBvcnRNYWNyb3MuaD4KKyNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgogCiB2b2lkIG1lc3NhZ2VIYW5kbGVyKFF0TXNnVHlwZSB0eXBlLCBj
b25zdCBjaGFyICptZXNzYWdlKQogewpAQCAtOTMsMzggKzkyLDMxIEBAIHZvaWQgcHJpbnRVc2Fn
ZSgpCiAgICAgZmZsdXNoKHN0ZGVycik7CiB9CiAKLVFTdHJpbmcgZ2V0X2JhY2t0cmFjZSgpIHsK
LSAgICBRU3RyaW5nIHM7Ci0KLSNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19V
Q0xJQkNfXykKLSAgICB2b2lkKiBhcnJheVsyNTZdOwotICAgIHNpemVfdCBzaXplOyAvKiBudW1i
ZXIgb2Ygc3RhY2sgZnJhbWVzICovCi0KLSAgICBzaXplID0gYmFja3RyYWNlKGFycmF5LCAyNTYp
OwotCi0gICAgaWYgKCFzaXplKQotICAgICAgICByZXR1cm4gczsKLQotICAgIGNoYXIqKiBzdHJp
bmdzID0gYmFja3RyYWNlX3N5bWJvbHMoYXJyYXksIHNpemUpOwotICAgIGZvciAoaW50IGkgPSAw
OyBpIDwgaW50KHNpemUpOyArK2kpIHsKLSAgICAgICAgcyArPSBRU3RyaW5nOjpudW1iZXIoaSkg
KwotICAgICAgICAgICAgIFFMYXRpbjFTdHJpbmcoIjogIikgKwotICAgICAgICAgICAgIFFMYXRp
bjFTdHJpbmcoc3RyaW5nc1tpXSkgKyBRTGF0aW4xU3RyaW5nKCJcbiIpOwotICAgIH0KKyNpZiBI
QVZFKFNJR05BTF9IKQordHlwZWRlZiB2b2lkICgqU2lnbmFsSGFuZGxlcikoaW50KTsKIAotICAg
IGlmIChzdHJpbmdzKQotICAgICAgICBmcmVlIChzdHJpbmdzKTsKLSNlbmRpZgorc3RhdGljIE5P
X1JFVFVSTiB2b2lkIGNyYXNoSGFuZGxlcihpbnQgc2lnKQoreworICAgIFdURlJlcG9ydEJhY2t0
cmFjZSgpOworICAgIGV4aXQoMTI4ICsgc2lnKTsKK30KIAotICAgIHJldHVybiBzOworc3RhdGlj
IHZvaWQgc2V0dXBTaWduYWxIYW5kbGVycyhTaWduYWxIYW5kbGVyIGhhbmRsZXIpCit7CisgICAg
c2lnbmFsKFNJR0lMTCwgaGFuZGxlcik7ICAgIC8qIDQ6ICAgaWxsZWdhbCBpbnN0cnVjdGlvbiAo
bm90IHJlc2V0IHdoZW4gY2F1Z2h0KSAqLworICAgIHNpZ25hbChTSUdUUkFQLCBoYW5kbGVyKTsg
ICAvKiA1OiAgIHRyYWNlIHRyYXAgKG5vdCByZXNldCB3aGVuIGNhdWdodCkgKi8KKyAgICBzaWdu
YWwoU0lHRlBFLCBoYW5kbGVyKTsgICAgLyogODogICBmbG9hdGluZyBwb2ludCBleGNlcHRpb24g
Ki8KKyAgICBzaWduYWwoU0lHQlVTLCBoYW5kbGVyKTsgICAgLyogMTA6ICBidXMgZXJyb3IgKi8K
KyAgICBzaWduYWwoU0lHU0VHViwgaGFuZGxlcik7ICAgLyogMTE6ICBzZWdtZW50YXRpb24gdmlv
bGF0aW9uICovCisgICAgc2lnbmFsKFNJR1NZUywgaGFuZGxlcik7ICAgIC8qIDEyOiAgYmFkIGFy
Z3VtZW50IHRvIHN5c3RlbSBjYWxsICovCisgICAgc2lnbmFsKFNJR1BJUEUsIGhhbmRsZXIpOyAg
IC8qIDEzOiAgd3JpdGUgb24gYSBwaXBlIHdpdGggbm8gcmVhZGVyICovCisgICAgc2lnbmFsKFNJ
R1hDUFUsIGhhbmRsZXIpOyAgIC8qIDI0OiAgZXhjZWVkZWQgQ1BVIHRpbWUgbGltaXQgKi8KKyAg
ICBzaWduYWwoU0lHWEZTWiwgaGFuZGxlcik7ICAgLyogMjU6ICBleGNlZWRlZCBmaWxlIHNpemUg
bGltaXQgKi8KIH0KIAotI2lmIEhBVkUoU0lHTkFMX0gpCi1zdGF0aWMgTk9fUkVUVVJOIHZvaWQg
Y3Jhc2hIYW5kbGVyKGludCBzaWcpCitzdGF0aWMgdm9pZCBXVEZDcmFzaEhvb2soKQogewotICAg
IGZwcmludGYoc3RkZXJyLCAiJXNcbiIsIHN0cnNpZ25hbChzaWcpKTsKLSAgICBmcHJpbnRmKHN0
ZGVyciwgIiVzXG4iLCBnZXRfYmFja3RyYWNlKCkudG9MYXRpbjEoKS5jb25zdERhdGEoKSk7Ci0g
ICAgZXhpdCgxMjggKyBzaWcpOworICAgIHNldHVwU2lnbmFsSGFuZGxlcnMoU0lHX0RGTCk7CiB9
CiAjZW5kaWYKIApAQCAtMTc1LDE1ICsxNjcsOCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciog
YXJndltdKQogICAgIFFBcHBsaWNhdGlvbjo6c2V0Rm9udChRV2lkZ2V0KCkuZm9udCgpKTsKIAog
I2lmIEhBVkUoU0lHTkFMX0gpCi0gICAgc2lnbmFsKFNJR0lMTCwgY3Jhc2hIYW5kbGVyKTsgICAg
LyogNDogICBpbGxlZ2FsIGluc3RydWN0aW9uIChub3QgcmVzZXQgd2hlbiBjYXVnaHQpICovCi0g
ICAgc2lnbmFsKFNJR1RSQVAsIGNyYXNoSGFuZGxlcik7ICAgLyogNTogICB0cmFjZSB0cmFwIChu
b3QgcmVzZXQgd2hlbiBjYXVnaHQpICovCi0gICAgc2lnbmFsKFNJR0ZQRSwgY3Jhc2hIYW5kbGVy
KTsgICAgLyogODogICBmbG9hdGluZyBwb2ludCBleGNlcHRpb24gKi8KLSAgICBzaWduYWwoU0lH
QlVTLCBjcmFzaEhhbmRsZXIpOyAgICAvKiAxMDogIGJ1cyBlcnJvciAqLwotICAgIHNpZ25hbChT
SUdTRUdWLCBjcmFzaEhhbmRsZXIpOyAgIC8qIDExOiAgc2VnbWVudGF0aW9uIHZpb2xhdGlvbiAq
LwotICAgIHNpZ25hbChTSUdTWVMsIGNyYXNoSGFuZGxlcik7ICAgIC8qIDEyOiAgYmFkIGFyZ3Vt
ZW50IHRvIHN5c3RlbSBjYWxsICovCi0gICAgc2lnbmFsKFNJR1BJUEUsIGNyYXNoSGFuZGxlcik7
ICAgLyogMTM6ICB3cml0ZSBvbiBhIHBpcGUgd2l0aCBubyByZWFkZXIgKi8KLSAgICBzaWduYWwo
U0lHWENQVSwgY3Jhc2hIYW5kbGVyKTsgICAvKiAyNDogIGV4Y2VlZGVkIENQVSB0aW1lIGxpbWl0
ICovCi0gICAgc2lnbmFsKFNJR1hGU1osIGNyYXNoSGFuZGxlcik7ICAgLyogMjU6ICBleGNlZWRl
ZCBmaWxlIHNpemUgbGltaXQgKi8KKyAgICBzZXR1cFNpZ25hbEhhbmRsZXJzKCZjcmFzaEhhbmRs
ZXIpOworICAgIFdURlNldENyYXNoSG9vaygmV1RGQ3Jhc2hIb29rKTsKICNlbmRpZgogCiAgICAg
UVN0cmluZ0xpc3QgYXJncyA9IGFwcC5hcmd1bWVudHMoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvcXQvSW5qZWN0ZWRCdW5kbGVRdC5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L0luamVjdGVkQnVuZGxlUXQu
Y3BwCmluZGV4IDdlZGI1OGIyMjAxYTNhNGI0ZDI5MzJiMDFmOTFkZGE3OWM2MTE1MzIuLjY0MjBl
N2QwMDUyNjRmYzQxZDUxYzQwNDg4MzJkZGMzMjM3OGY1MWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvcXQvSW5qZWN0ZWRCdW5kbGVRdC5jcHAKKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9xdC9JbmplY3RlZEJ1bmRs
ZVF0LmNwcApAQCAtMzEsNDMgKzMxLDM5IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRl
IDxzdGRsaWIuaD4KICNpbmNsdWRlIDx3dGYvQWx3YXlzSW5saW5lLmg+CisjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KIAogI2lmIEhBVkUoU0lHTkFMX0gpCiAjaW5jbHVkZSA8c2lnbmFsLmg+
CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19f
KQotI2luY2x1ZGUgPGV4ZWNpbmZvLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdUUiB7CiAKLXN0
YXRpYyBpbmxpbmUgdm9pZCBwcmludEJhY2t0cmFjZSgpCi17Ci0jaWYgZGVmaW5lZChfX0dMSUJD
X18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18pCi0gICAgdm9pZCogZnJhbWVzWzI1Nl07Ci0gICAg
c2l6ZV90IHNpemUgPSBiYWNrdHJhY2UoZnJhbWVzLCAyNTYpOwotICAgIGlmICghc2l6ZSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgY2hhcioqIHN5bWJvbHMgPSBiYWNrdHJhY2Vfc3ltYm9scyhm
cmFtZXMsIHNpemUpOwotICAgIGlmICghc3ltYm9scykKLSAgICAgICAgcmV0dXJuOworI2lmIEhB
VkUoU0lHTkFMX0gpCit0eXBlZGVmIHZvaWQgKCpTaWduYWxIYW5kbGVyKShpbnQpOwogCi0gICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkKLSAgICAgICAgZnByaW50ZihzdGRl
cnIsICIldTogJXNcbiIsIGksIHN5bWJvbHNbaV0pOworc3RhdGljIE5PX1JFVFVSTiB2b2lkIGNy
YXNoSGFuZGxlcihpbnQgc2lnKQoreworICAgIFdURlJlcG9ydEJhY2t0cmFjZSgpOworICAgIGV4
aXQoMTI4ICsgc2lnKTsKK30KIAotICAgIGZmbHVzaChzdGRlcnIpOwotICAgIGZyZWUoc3ltYm9s
cyk7Ci0jZW5kaWYKK3N0YXRpYyB2b2lkIHNldHVwU2lnbmFsSGFuZGxlcnMoU2lnbmFsSGFuZGxl
ciBoYW5kbGVyKQoreworICAgIHNpZ25hbChTSUdJTEwsIGhhbmRsZXIpOyAgICAvKiA0OiAgIGls
bGVnYWwgaW5zdHJ1Y3Rpb24gKG5vdCByZXNldCB3aGVuIGNhdWdodCkgKi8KKyAgICBzaWduYWwo
U0lHVFJBUCwgaGFuZGxlcik7ICAgLyogNTogICB0cmFjZSB0cmFwIChub3QgcmVzZXQgd2hlbiBj
YXVnaHQpICovCisgICAgc2lnbmFsKFNJR0ZQRSwgaGFuZGxlcik7ICAgIC8qIDg6ICAgZmxvYXRp
bmcgcG9pbnQgZXhjZXB0aW9uICovCisgICAgc2lnbmFsKFNJR0JVUywgaGFuZGxlcik7ICAgIC8q
IDEwOiAgYnVzIGVycm9yICovCisgICAgc2lnbmFsKFNJR1NFR1YsIGhhbmRsZXIpOyAgIC8qIDEx
OiAgc2VnbWVudGF0aW9uIHZpb2xhdGlvbiAqLworICAgIHNpZ25hbChTSUdTWVMsIGhhbmRsZXIp
OyAgICAvKiAxMjogIGJhZCBhcmd1bWVudCB0byBzeXN0ZW0gY2FsbCAqLworICAgIHNpZ25hbChT
SUdQSVBFLCBoYW5kbGVyKTsgICAvKiAxMzogIHdyaXRlIG9uIGEgcGlwZSB3aXRoIG5vIHJlYWRl
ciAqLworICAgIHNpZ25hbChTSUdYQ1BVLCBoYW5kbGVyKTsgICAvKiAyNDogIGV4Y2VlZGVkIENQ
VSB0aW1lIGxpbWl0ICovCisgICAgc2lnbmFsKFNJR1hGU1osIGhhbmRsZXIpOyAgIC8qIDI1OiAg
ZXhjZWVkZWQgZmlsZSBzaXplIGxpbWl0ICovCiB9CiAKLSNpZiBIQVZFKFNJR05BTF9IKQotc3Rh
dGljIE5PX1JFVFVSTiB2b2lkIGNyYXNoSGFuZGxlcihpbnQgc2lnbmFsKQorc3RhdGljIHZvaWQg
Y3Jhc2hIb29rKCkKIHsKLSAgICBmcHJpbnRmKHN0ZGVyciwgIiVzXG4iLCBzdHJzaWduYWwoc2ln
bmFsKSk7Ci0gICAgcHJpbnRCYWNrdHJhY2UoKTsKLSAgICBleGl0KDEyOCArIHNpZ25hbCk7Cisg
ICAgc2V0dXBTaWduYWxIYW5kbGVycyhTSUdfREZMKTsKIH0KICNlbmRpZgogCkBAIC03NywxNSAr
NzMsOCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpwbGF0Zm9ybUluaXRpYWxpemUoV0tUeXBlUmVm
KQogICAgICAgICByZXR1cm47CiAKICNpZiBIQVZFKFNJR05BTF9IKQotICAgIHNpZ25hbChTSUdJ
TEwsIGNyYXNoSGFuZGxlcik7ICAgIC8qIDQ6ICAgaWxsZWdhbCBpbnN0cnVjdGlvbiAobm90IHJl
c2V0IHdoZW4gY2F1Z2h0KSAqLwotICAgIHNpZ25hbChTSUdUUkFQLCBjcmFzaEhhbmRsZXIpOyAg
IC8qIDU6ICAgdHJhY2UgdHJhcCAobm90IHJlc2V0IHdoZW4gY2F1Z2h0KSAqLwotICAgIHNpZ25h
bChTSUdGUEUsIGNyYXNoSGFuZGxlcik7ICAgIC8qIDg6ICAgZmxvYXRpbmcgcG9pbnQgZXhjZXB0
aW9uICovCi0gICAgc2lnbmFsKFNJR0JVUywgY3Jhc2hIYW5kbGVyKTsgICAgLyogMTA6ICBidXMg
ZXJyb3IgKi8KLSAgICBzaWduYWwoU0lHU0VHViwgY3Jhc2hIYW5kbGVyKTsgICAvKiAxMTogIHNl
Z21lbnRhdGlvbiB2aW9sYXRpb24gKi8KLSAgICBzaWduYWwoU0lHU1lTLCBjcmFzaEhhbmRsZXIp
OyAgICAvKiAxMjogIGJhZCBhcmd1bWVudCB0byBzeXN0ZW0gY2FsbCAqLwotICAgIHNpZ25hbChT
SUdQSVBFLCBjcmFzaEhhbmRsZXIpOyAgIC8qIDEzOiAgd3JpdGUgb24gYSBwaXBlIHdpdGggbm8g
cmVhZGVyICovCi0gICAgc2lnbmFsKFNJR1hDUFUsIGNyYXNoSGFuZGxlcik7ICAgLyogMjQ6ICBl
eGNlZWRlZCBDUFUgdGltZSBsaW1pdCAqLwotICAgIHNpZ25hbChTSUdYRlNaLCBjcmFzaEhhbmRs
ZXIpOyAgIC8qIDI1OiAgZXhjZWVkZWQgZmlsZSBzaXplIGxpbWl0ICovCisgICAgc2V0dXBTaWdu
YWxIYW5kbGVycygmY3Jhc2hIYW5kbGVyKTsKKyAgICBXVEZTZXRDcmFzaEhvb2soJmNyYXNoSG9v
ayk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4
IDdhOWYzNWM1NTIwMjc0NGE1NDhlNzRjMjRhNjBmMzMxZDNiNGM1MmQuLmI2MTg3MzAzNGFjZmE2
ZWZmN2UyOGY3MzBjODZmNzdmNDhiYzZjOGUgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMS0xNyAgQmFsYXpzIEtlbGVtZW4gIDxr
YmFsYXpzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1F0XSBDb25zb2xpZGF0ZSBsYXlvdXQgdGVz
dCBjcmFzaCBsb2dnaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03NTA4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgYmFja3RyYWNlIGdlbmVyYXRpbmcgbG9naWMgaW50byBXVEZSZXBvcnRCYWNr
dHJhY2UKKyAgICAgICAgYW5kIGFkZCBhIHdheSB0byBkZWluc3RhbGwgc2lnbmFsIGhhbmRsZXJz
IGlmIHdlIGtub3cKKyAgICAgICAgdGhhdCB3ZSBoYXZlIGFscmVhZHkgcHJpbnRlZCB0aGUgYmFj
a3RyYWNlLgorCisgICAgICAgICogU291cmNlL3F0d2Via2l0LWV4cG9ydC5tYXA6CisKIDIwMTIt
MDEtMTYgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAg
ICAgICAgIFtRdF0gQWRkIG1vcmUgZmlsZXMgdG8gcHJvamVjdC1maWxlcyBmb3IgZWFzaWVyIG5h
dmlnYXRpb24gaW4gUXQgQ3JlYXRvcgo=
</data>
<flag name="review"
          id="123607"
          type_id="1"
          status="+"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="123667"
          type_id="3"
          status="-"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>