<?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>146833</bug_id>
          
          <creation_ts>2015-07-10 03:52:36 -0700</creation_ts>
          <short_desc>Introduce COMPILER(GCC_OR_CLANG) guard and make COMPILER(GCC) true only for GCC</short_desc>
          <delta_ts>2015-08-05 09:04:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ossy</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1108575</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-10 03:52:36 -0700</bug_when>
    <thetext>There are many COMPILER(GCC) || COMPILER(CLANG) guards in the source tree.

COMPILER(CLANG) is technically a subset of COMPILER(GCC), because
COMPILER_GCC is set if __GNUC__ is defined. But it is defined by 
Clang too, so COMPILER(CLANG) is useless with COMPILER(GCC) together.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108577</commentid>
    <comment_count>1</comment_count>
      <attachid>256576</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-10 03:57:03 -0700</bug_when>
    <thetext>Created attachment 256576
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108578</commentid>
    <comment_count>2</comment_count>
      <attachid>256577</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-10 04:03:41 -0700</bug_when>
    <thetext>Created attachment 256577
test all platforms

patch for testing if it is true on all platforms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108579</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-10 04:05:23 -0700</bug_when>
    <thetext>Attachment 256577 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/ArrayAllocationProfile.cpp:36:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ArrayAllocationProfile.cpp:36:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ArrayAllocationProfile.cpp:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/bytecode/ArrayAllocationProfile.cpp:38:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ArrayAllocationProfile.cpp:38:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/bytecode/ArrayAllocationProfile.cpp:44:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ArrayAllocationProfile.cpp:44:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/bytecode/ArrayAllocationProfile.cpp:46:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ArrayAllocationProfile.cpp:46:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 9 in 2 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>1108581</commentid>
    <comment_count>4</comment_count>
      <attachid>256577</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-10 04:08:11 -0700</bug_when>
    <thetext>Comment on attachment 256577
test all platforms

confirmed that GCC is always true everywhere if CLANG is true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108590</commentid>
    <comment_count>5</comment_count>
      <attachid>256576</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-07-10 04:50:16 -0700</bug_when>
    <thetext>Comment on attachment 256576
Patch

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

&gt; Source/JavaScriptCore/interpreter/StackVisitor.cpp:334
&gt; -#if COMPILER(CLANG) || COMPILER(GCC)
&gt; +#if COMPILER(GCC)

The proposed variant looks actively misleading to me, it&apos;s hard to expect that the code will not be ifdefed out for clang.

Perhaps it&apos;s wrong to have COMPILER(GCC) defined to 1 for clang?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108594</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-10 05:27:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 256576 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=256576&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/interpreter/StackVisitor.cpp:334
&gt; &gt; -#if COMPILER(CLANG) || COMPILER(GCC)
&gt; &gt; +#if COMPILER(GCC)
&gt; 
&gt; The proposed variant looks actively misleading to me, it&apos;s hard to expect
&gt; that the code will not be ifdefed out for clang.
&gt; 
&gt; Perhaps it&apos;s wrong to have COMPILER(GCC) defined to 1 for clang?

We can change COMPILER(GCC) to false for Clang ... but it would mean 
that we should change COMPILER(GCC) to COMPILER(GCC) || COMPILER(CLANG)
near ~100 places. I don&apos;t like this idea at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108635</commentid>
    <comment_count>7</comment_count>
      <attachid>256576</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-07-10 09:50:25 -0700</bug_when>
    <thetext>Comment on attachment 256576
Patch

In active ports, who is using a compiler other then clang or MSVC? Which active port is using non-clang gcc?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108639</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-10 09:53:22 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 256576 [details]
&gt; Patch
&gt; 
&gt; In active ports, who is using a compiler other then clang or MSVC? Which
&gt; active port is using non-clang gcc?

EFL and GTK use GCC (min. 4.9) as the default system 
compiler, but both of them build fine with Clang too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111406</commentid>
    <comment_count>9</comment_count>
      <attachid>256576</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-07-22 13:49:16 -0700</bug_when>
    <thetext>Comment on attachment 256576
Patch

I think the principled way to do this would be to come up with a name for “both gcc and clang” other than “gcc”. Then we could do a global replace of COMPILER(GCC) with this new name, then apply tis patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113068</commentid>
    <comment_count>10</comment_count>
      <attachid>257744</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-29 03:44:30 -0700</bug_when>
    <thetext>Created attachment 257744
Patch

patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113069</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-29 03:47:32 -0700</bug_when>
    <thetext>Attachment 257744 did not pass style-queue:


ERROR: Source/WTF/wtf/StdLibExtras.h:41:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 35 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>1113421</commentid>
    <comment_count>12</comment_count>
      <attachid>257843</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-30 11:23:10 -0700</bug_when>
    <thetext>Created attachment 257843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113423</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-30 11:25:38 -0700</bug_when>
    <thetext>Attachment 257843 did not pass style-queue:


ERROR: Source/WTF/wtf/StdLibExtras.h:41:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 35 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>1113431</commentid>
    <comment_count>14</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-30 11:31:53 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Comment on attachment 256576 [details]
&gt; Patch
&gt; 
&gt; I think the principled way to do this would be to come up with a name for
&gt; “both gcc and clang” other than “gcc”. Then we could do a global replace of
&gt; COMPILER(GCC) with this new name, then apply tis patch.

(In reply to comment #12)
&gt; Created attachment 257843 [details]
&gt; Patch

I renamed COMPILER(GCC) to COMPILER(GCC_OR_CLANG) 
and did the cleanup in this patch too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113491</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-30 14:22:06 -0700</bug_when>
    <thetext>Attachment 257843 did not pass style-queue:


ERROR: Source/WTF/wtf/StdLibExtras.h:41:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 35 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>1114177</commentid>
    <comment_count>16</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-08-03 06:17:50 -0700</bug_when>
    <thetext>ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114547</commentid>
    <comment_count>17</comment_count>
      <attachid>257843</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-03 23:51:41 -0700</bug_when>
    <thetext>Comment on attachment 257843
Patch

Clearing flags on attachment: 257843

Committed r187819: &lt;http://trac.webkit.org/changeset/187819&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114548</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-03 23:51:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114689</commentid>
    <comment_count>19</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-08-04 12:04:19 -0700</bug_when>
    <thetext>A JSC test started to fail around the time this landed, and this looks like the most likely cause:
https://build.webkit.org/builders/Apple%20Yosemite%20Debug%20JSC%20%28Tests%29</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114991</commentid>
    <comment_count>20</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-08-05 00:42:46 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; A JSC test started to fail around the time this landed, and this looks like
&gt; the most likely cause:
&gt; https://build.webkit.org/builders/
&gt; Apple%20Yosemite%20Debug%20JSC%20%28Tests%29

The bot is green nowadays, I think bug147142 was the culprit for this 
regression too. It was already rolled out, but I&apos;ll keep my eyes on
the bot in these days.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115017</commentid>
    <comment_count>21</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-08-05 09:04:11 -0700</bug_when>
    <thetext>Turned out that the JSC failure on raytrace test started before this patch, it&apos;s flaky.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256576</attachid>
            <date>2015-07-10 03:57:03 -0700</date>
            <delta_ts>2015-07-29 03:44:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146833-20150710035601.patch</filename>
            <type>text/plain</type>
            <size>4684</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZTAyYTA1OTEyZDA0NGE1NWI2NzIwZGJhNDAzM2FkZmYwYTgwOTUzLi5lMjZjYjA1YjRjZDIzYzc0
MDQzNzg0NzQ3YzZhZGQzMDk0YmVjMDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNS0wNy0xMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJlbW92ZSByZWR1bmRhbnQgQ09NUElMRVIoQ0xBTkcpIGd1YXJkcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2ODMzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnRlcnBy
ZXRlci9TdGFja1Zpc2l0b3IuY3BwOgorICAgICAgICAoSlNDOjpsb2dGKToKKyAgICAgICAgKiBy
dW50aW1lL01hdGhDb21tb24uaDoKKyAgICAgICAgKEpTQzo6Y2x6MzIpOgorCiAyMDE1LTA3LTA5
ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBTeW1ib2xUYWJsZTo6
ZW50cnlGb3IoKSBzaG91bGQgZG8gYSBib3VuZHMgY2hlY2sgYmVmb3JlIGluZGV4aW5nIGludG8g
dGhlIGxvY2FsVG9FbnRyeSB2ZWN0b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY0ZjVmM2UyZmQyMTk5MTNhNWIyZTY2YzJl
NWM3M2ZhM2QzYTJiY2YuLmQ3YjMyZjQyNTdkNjE1OWY3NjhiNzAyZjg0MjAwMGQ0MmMyZWE2Mjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDctMTAgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9z
c3lAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgcmVkdW5kYW50IENPTVBJTEVSKENMQU5H
KSBndWFyZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0NjgzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogd3RmL0Fzc2VydGlvbnMuY3BwOgorICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisKIDIw
MTUtMDctMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgVXNlIENvcmVBbmltYXRpb24gZmVuY2VzIGluc3RlYWQgb2Ygc3luY2hyb25vdXMgSVBDIHRv
IHN5bmNocm9uaXplIHJlc2l6ZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvU3RhY2tWaXNpdG9yLmNwcAppbmRleCA2NDk2ZmE0ZDQ1NzBlN2YxM2Q3ZjNhM2QwNTI4
YzgwZDM1ODM0MTcyLi44NTg2YjZhMjQyMWU5NDBlMjA4YTZkMjYwOWNiZDkwNWExNDE2YmVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9y
LmNwcApAQCAtMzMxLDcgKzMzMSw3IEBAIHZvaWQgbG9nRih1bnNpZ25lZCBpbmRlbnQsIGNvbnN0
IGNoYXIqIGZvcm1hdCwgY29uc3QgVHlwZXMmLi4uIHZhbHVlcykKIHsKICAgICBwcmludEluZGVu
dHMoaW5kZW50KTsKIAotI2lmIENPTVBJTEVSKENMQU5HKSB8fCBDT01QSUxFUihHQ0MpCisjaWYg
Q09NUElMRVIoR0NDKQogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCiAjcHJhZ21hIEdDQyBk
aWFnbm9zdGljIGlnbm9yZWQgIi1XZm9ybWF0LW5vbmxpdGVyYWwiCiAjcHJhZ21hIEdDQyBkaWFn
bm9zdGljIGlnbm9yZWQgIi1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIgpAQCAtMzM5LDcgKzMz
OSw3IEBAIHZvaWQgbG9nRih1bnNpZ25lZCBpbmRlbnQsIGNvbnN0IGNoYXIqIGZvcm1hdCwgY29u
c3QgVHlwZXMmLi4uIHZhbHVlcykKIAogICAgIGRhdGFMb2dGKGZvcm1hdCwgdmFsdWVzLi4uKTsK
IAotI2lmIENPTVBJTEVSKENMQU5HKSB8fCBDT01QSUxFUihHQ0MpCisjaWYgQ09NUElMRVIoR0ND
KQogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENvbW1vbi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTWF0aENvbW1vbi5oCmluZGV4IDg0MGQ4NjM1ZmY1YTAwNGU1YTU5ZmZj
ZTQwNzdiYmExYTYwMmQ4NGMuLmJmZDcyODI5NWIwZWM4NmNjNDg2ZWU3MzdiYjhjMTA5MDhiYWE1
NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhDb21tb24u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoQ29tbW9uLmgKQEAgLTM3
LDcgKzM3LDcgQEAgZG91YmxlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTWF0aFBvdyhkb3VibGUg
eCwgZG91YmxlIHkpIFdURl9JTlRFUk5BTDsKIAogaW5saW5lIGludCBjbHozMih1aW50MzJfdCBu
dW1iZXIpCiB7Ci0jaWYgQ09NUElMRVIoR0NDKSB8fCBDT01QSUxFUihDTEFORykKKyNpZiBDT01Q
SUxFUihHQ0MpCiAgICAgaW50IHplcm9Db3VudCA9IDMyOwogICAgIGlmIChudW1iZXIpCiAgICAg
ICAgIHplcm9Db3VudCA9IF9fYnVpbHRpbl9jbHoobnVtYmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwIGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAK
aW5kZXggZjczNmY4NTFhYzRkNzcwNmI4Nzk4MDhkMzkzY2ViMmRlOWQ4Y2YxOS4uYTc2MDY2MDQ4
NDQ5MzZjNDkxYWM3YmU4ZDhhODdjOTAzMzVlNGU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvQXNzZXJ0aW9ucy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAKQEAg
LTE0MCw3ICsxNDAsNyBAQCBzdGF0aWMgdm9pZCB2cHJpbnRmX3N0ZGVycl9jb21tb24oY29uc3Qg
Y2hhciogZm9ybWF0LCB2YV9saXN0IGFyZ3MpCiAgICAgdmZwcmludGYoc3RkZXJyLCBmb3JtYXQs
IGFyZ3MpOwogfQogCi0jaWYgQ09NUElMRVIoQ0xBTkcpIHx8IENPTVBJTEVSKEdDQykKKyNpZiBD
T01QSUxFUihHQ0MpCiAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEgR0NDIGRp
YWdub3N0aWMgaWdub3JlZCAiLVdmb3JtYXQtbm9ubGl0ZXJhbCIKICNlbmRpZgpAQCAtMTczLDcg
KzE3Myw3IEBAIHN0YXRpYyB2b2lkIHZwcmludGZfc3RkZXJyX3dpdGhfdHJhaWxpbmdfbmV3bGlu
ZShjb25zdCBjaGFyKiBmb3JtYXQsIHZhX2xpc3QgYXJnCiAgICAgdnByaW50Zl9zdGRlcnJfY29t
bW9uKGZvcm1hdFdpdGhOZXdsaW5lLmdldCgpLCBhcmdzKTsKIH0KIAotI2lmIENPTVBJTEVSKENM
QU5HKSB8fCBDT01QSUxFUihHQ0MpCisjaWYgQ09NUElMRVIoR0NDKQogI3ByYWdtYSBHQ0MgZGlh
Z25vc3RpYyBwb3AKICNlbmRpZgogCkBAIC0zMjAsNyArMzIwLDcgQEAgdm9pZCBXVEZDcmFzaCgp
CiAgICAgV1RGUmVwb3J0QmFja3RyYWNlKCk7CiAgICAgKihpbnQgKikodWludHB0cl90KTB4YmJh
ZGJlZWYgPSAwOwogICAgIC8vIE1vcmUgcmVsaWFibGUsIGJ1dCBkb2Vzbid0IHNheSBCQkFEQkVF
Ri4KLSNpZiBDT01QSUxFUihDTEFORykgfHwgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdD
QykKICAgICBfX2J1aWx0aW5fdHJhcCgpOwogI2Vsc2UKICAgICAoKHZvaWQoKikoKSkwKSgpOwpA
QCAtMzM0LDcgKzMzNCw3IEBAIHZvaWQgV1RGQ3Jhc2hXaXRoU2VjdXJpdHlJbXBsaWNhdGlvbigp
CiAgICAgV1RGUmVwb3J0QmFja3RyYWNlKCk7CiAgICAgKihpbnQgKikodWludHB0cl90KTB4ZmJh
ZGJlZWYgPSAwOwogICAgIC8vIE1vcmUgcmVsaWFibGUsIGJ1dCBkb2Vzbid0IHNheSBmYmFkYmVl
Zi4KLSNpZiBDT01QSUxFUihDTEFORykgfHwgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdD
QykKICAgICBfX2J1aWx0aW5fdHJhcCgpOwogI2Vsc2UKICAgICAoKHZvaWQoKikoKSkwKSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oIGIvU291cmNlL1dURi93dGYv
QXNzZXJ0aW9ucy5oCmluZGV4IGQ5OWEwZDVkMWY0ZmFlYTUzZjJkNDU2YjY0MzEyYTA2NTc5NzUw
MDkuLjg3Mzc5NmY2MzZmNTI4NTdlMzcxNDE5OTI1ZjhjYWU3N2ZhMzBjNGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRp
b25zLmgKQEAgLTExNCw3ICsxMTQsNyBAQCBleHRlcm4gIkMiIHsKIAogICAgU2lnbmFscyBhcmUg
aWdub3JlZCBieSB0aGUgY3Jhc2ggcmVwb3J0ZXIgb24gT1MgWCBzbyB3ZSBtdXN0IGRvIGJldHRl
ci4KICovCi0jaWYgQ09NUElMRVIoQ0xBTkcpIHx8IENPTVBJTEVSKEdDQykgfHwgQ09NUElMRVIo
TVNWQykKKyNpZiBDT01QSUxFUihHQ0MpIHx8IENPTVBJTEVSKE1TVkMpCiAjZGVmaW5lIE5PX1JF
VFVSTl9EVUVfVE9fQ1JBU0ggTk9fUkVUVVJOCiAjZWxzZQogI2RlZmluZSBOT19SRVRVUk5fRFVF
X1RPX0NSQVNICg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256577</attachid>
            <date>2015-07-10 04:03:41 -0700</date>
            <delta_ts>2015-07-10 04:08:11 -0700</delta_ts>
            <desc>test all platforms</desc>
            <filename>bug-146833-20150710040239.patch</filename>
            <type>text/plain</type>
            <size>1478</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZTAyYTA1OTEyZDA0NGE1NWI2NzIwZGJhNDAzM2FkZmYwYTgwOTUzLi4zNDY1N2JkMTdmZDI0Mzlk
MjA4ZDNlNmM2ZTY5ZDgwYWRmOTJmOGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4IEBACisyMDE1LTA3LTEwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBDT01QSUxFUihDTEFORykgZ3VhcmRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY4MzMKKwog
MjAxNS0wNy0wOSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgU3lt
Ym9sVGFibGU6OmVudHJ5Rm9yKCkgc2hvdWxkIGRvIGEgYm91bmRzIGNoZWNrIGJlZm9yZSBpbmRl
eGluZyBpbnRvIHRoZSBsb2NhbFRvRW50cnkgdmVjdG9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5QWxsb2NhdGlvblByb2ZpbGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5QWxsb2NhdGlvblByb2ZpbGUuY3BwCmluZGV4
IDkwNWI1YmQzYzM2NjYzNWU5NTU3NjQzMzk3YmUxYjA2MGE0NzAyZWYuLmY5M2FhZjQ4ZTk4YTVj
ODE1MjBhMGY4MTgyZTYwYmYwMzY2OThlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9BcnJheUFsbG9jYXRpb25Qcm9maWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5jcHAKQEAgLTMwLDYg
KzMwLDI0IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgQ09NUElMRVIoQ0xBTkcpCisKKyNp
ZiBDT01QSUxFUihHQ0MpCisgICNlcnJvciAiQ09NUElMRVIoQ0xBTkcpOiB0cnVlLCBDT01QSUxF
UihHQ0MpOiB0cnVlIgorI2Vsc2UKKyAgI2Vycm9yICJDT01QSUxFUihDTEFORyk6IHRydWUsIENP
TVBJTEVSKEdDQyk6IGZhbHNlIgorI2VuZGlmCisKKyNlbHNlCisKKyNpZiBDT01QSUxFUihHQ0Mp
CisgICNlcnJvciAiQ09NUElMRVIoQ0xBTkcpOiBmYWxzZSwgQ09NUElMRVIoR0NDKTogdHJ1ZSIK
KyNlbHNlCisgICNlcnJvciAiQ09NUElMRVIoQ0xBTkcpOiBmYWxzZSwgQ09NUElMRVIoR0NDKTog
ZmFsc2UiCisjZW5kaWYKKworI2VuZGlmCisKIHZvaWQgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZTo6
dXBkYXRlSW5kZXhpbmdUeXBlKCkKIHsKICAgICAvLyBUaGlzIGlzIGF3a3dhcmRseSByYWN5IGJ1
dCB0b3RhbGx5IHNvdW5kIGV2ZW4gd2hlbiBleGVjdXRlZCBjb25jdXJyZW50bHkuIFRoZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257744</attachid>
            <date>2015-07-29 03:44:30 -0700</date>
            <delta_ts>2015-07-30 11:23:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146833-20150729034306.patch</filename>
            <type>text/plain</type>
            <size>36713</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZmM0NzhiYWZiZmE1ZDg5OTQyM2JmZGQwODY3YTQ1ZTRiNmQ2ZjViLi4zOTVkODgwZGViNTE5NmFk
MTM4ZGJiMjc3MTM3M2RhNTU4YmFjODcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAxNS0wNy0yOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIEludHJvZHVjZSBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpIGd1YXJkIGFu
ZCBtYWtlIENPTVBJTEVSKEdDQykgdHJ1ZSBvbmx5IGZvciBHQ0MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjgzMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVy
Lmg6CisgICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpB
Uk1Bc3NlbWJsZXI6OmNhY2hlRmx1c2gpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTS5jcHA6CisgICAgICAgIChKU0M6OmlzVkZQUHJlc2VudCk6CisgICAgICAgICogYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uOjppc1NTRTJQcmVzZW50KToKKyAgICAgICAgKiBoZWFwL01hY2hpbmVT
dGFja01hcmtlci5oOgorICAgICAgICAqIGludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHA6Cisg
ICAgICAgIChKU0M6OmxvZ0YpOgorICAgICAgICAqIGppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmg6
CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoK
KyAgICAgICAgKiBqaXQvSklUU3R1YnNBUk0uaDoKKyAgICAgICAgKiBqaXQvSklUU3R1YnNBUk12
Ny5oOgorICAgICAgICAqIGppdC9KSVRTdHVic1g4Ni5oOgorICAgICAgICAqIGppdC9KSVRTdHVi
c1g4NkNvbW1vbi5oOgorICAgICAgICAqIGppdC9KSVRTdHVic1g4Nl82NC5oOgorICAgICAgICAq
IGppdC9UaHVua0dlbmVyYXRvcnMuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNFeHBvcnRNYWNy
b3MuaDoKKyAgICAgICAgKiBydW50aW1lL01hdGhDb21tb24uaDoKKyAgICAgICAgKEpTQzo6Y2x6
MzIpOgorCiAyMDE1LTA3LTI3ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29t
PgogCiAgICAgICAgIFtFUzZdIEltcGxlbWVudCBSZWZsZWN0LmVudW1lcmF0ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBiMWMz
MGJkODRjZWIzYWYxMmMyMzJhMjYyYjE3MzhkZTM1YTFlMmI4Li4zYmFkMTY2ODliMGMxMzNlNmM0
NzBiYjY2NWI3YjMxNWJkMTYwZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA3LTI5ICBD
c2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW50cm9kdWNl
IENPTVBJTEVSKEdDQ19PUl9DTEFORykgZ3VhcmQgYW5kIG1ha2UgQ09NUElMRVIoR0NDKSB0cnVl
IG9ubHkgZm9yIEdDQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ2ODMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3dGYvQXNzZXJ0aW9ucy5jcHA6CisgICAgICAgICogd3RmL0Fzc2VydGlvbnMuaDoK
KyAgICAgICAgKiB3dGYvQXRvbWljcy5jcHA6CisgICAgICAgICogd3RmL0F0b21pY3MuaDoKKyAg
ICAgICAgKFdURjo6d2Vha0NvbXBhcmVBbmRTd2FwKToKKyAgICAgICAgKFdURjo6Y29tcGlsZXJG
ZW5jZSk6CisgICAgICAgICogd3RmL0NvbXBpbGVyLmg6CisgICAgICAgICogd3RmL0V4cG9ydE1h
Y3Jvcy5oOgorICAgICAgICAqIHd0Zi9GYXN0TWFsbG9jLmg6CisgICAgICAgICogd3RmL1BsYXRm
b3JtLmg6CisgICAgICAgICogd3RmL1N0ZExpYkV4dHJhcy5oOgorICAgICAgICAqIHd0Zi9WZWN0
b3IuaDoKKyAgICAgICAgKiB3dGYvdGV4dC9BU0NJSUZhc3RQYXRoLmg6CisgICAgICAgIChXVEY6
OmNvcHlMQ2hhcnNGcm9tVUNoYXJTb3VyY2UpOgorCiAyMDE1LTA3LTI4ICBCZW5qYW1pbiBQb3Vs
YWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFNwZWVkIHVwIFN0cmluZ0J1aWxk
ZXI6OmFwcGVuZFF1b3RlZEpTT05TdHJpbmcoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAwMjIxNzFkYTA2ZTJi
ODZhZDgzMjVhY2RlODNhNzgwOTI1MWM4MzUuLmVmNzEyY2RmMzJkZDNmNDNhNmRiMjk0ZTBlNTVl
MmYzOTFlNmIwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNS0wNy0yOSAgQ3Nh
YmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgorCisgICAgICAgIEludHJvZHVjZSBD
T01QSUxFUihHQ0NfT1JfQ0xBTkcpIGd1YXJkIGFuZCBtYWtlIENPTVBJTEVSKEdDQykgdHJ1ZSBv
bmx5IGZvciBHQ0MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0NjgzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGlu
Z05FT04uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVMaWdodGluZzo6cGxhdGZvcm1BcHBseSk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9lZmwvTmV0d29ya1N0YXRlTm90aWZpZXJFZmwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0YXRlTm90aWZpZXI6OnJlYWRTb2NrZXRDYWxsYmFj
ayk6CisKIDIwMTUtMDctMjggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtHVEtdIFVzZSBmYXN0TWFsbG9jIGluc3RlYWQgb2YgZ19zbGljZQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCmlu
ZGV4IDY4ZjNlZDAzNDJkYmNiZTVhOGQ3NTU0NmY4M2ZjZjUwNWExNmI5ODguLjJiNWZlYzYyMjU5
ZDQwMzBjOTIwMDVkZmIzYTI2NTY5Y2JmMTk3MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRBc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmgKQEAgLTI4NTEsNyArMjg1MSw3IEBAIHB1
YmxpYzoKIAogICAgIHVuc2lnbmVkIGRlYnVnT2Zmc2V0KCkgeyByZXR1cm4gbV9idWZmZXIuZGVi
dWdPZmZzZXQoKTsgfQogCi0jaWYgT1MoTElOVVgpICYmIENPTVBJTEVSKEdDQykKKyNpZiBPUyhM
SU5VWCkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogICAgIHN0YXRpYyBpbmxpbmUgdm9pZCBs
aW51eFBhZ2VGbHVzaCh1aW50cHRyX3QgYmVnaW4sIHVpbnRwdHJfdCBlbmQpCiAgICAgewogICAg
ICAgICBfX2J1aWx0aW5fX19jbGVhcl9jYWNoZShyZWludGVycHJldF9jYXN0PHZvaWQqPihiZWdp
biksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGVuZCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKaW5kZXggZjE4ZjBmZTA4Mjk0ODNiZTNhMjNl
MTg4MDc3ZTJkNDU1NmE5ZWI0Zi4uYjMxNGVhNjkwMzE4N2UwNTYyZjkyNjJmZTU0NWMwNzIxODhi
MmY4NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3Nl
bWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxl
ci5oCkBAIC0xMDkxLDcgKzEwOTEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJl
dHVybiBBTCB8IEIgfCAob2Zmc2V0ICYgQnJhbmNoT2Zmc2V0TWFzayk7CiAgICAgICAgIH0KIAot
I2lmIE9TKExJTlVYKSAmJiBDT01QSUxFUihHQ0MpCisjaWYgT1MoTElOVVgpICYmIENPTVBJTEVS
KEdDQ19PUl9DTEFORykKICAgICAgICAgc3RhdGljIGlubGluZSB2b2lkIGxpbnV4UGFnZUZsdXNo
KHVpbnRwdHJfdCBiZWdpbiwgdWludHB0cl90IGVuZCkKICAgICAgICAgewogICAgICAgICAgICAg
YXNtIHZvbGF0aWxlKApAQCAtMTExMSw3ICsxMTExLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICAgICAgc3RhdGljIHZvaWQgY2FjaGVGbHVzaCh2b2lkKiBjb2RlLCBzaXplX3Qgc2l6ZSkKICAg
ICAgICAgewotI2lmIE9TKExJTlVYKSAmJiBDT01QSUxFUihHQ0MpCisjaWYgT1MoTElOVVgpICYm
IENPTVBJTEVSKEdDQ19PUl9DTEFORykKICAgICAgICAgICAgIHNpemVfdCBwYWdlID0gcGFnZVNp
emUoKTsKICAgICAgICAgICAgIHVpbnRwdHJfdCBjdXJyZW50ID0gcmVpbnRlcnByZXRfY2FzdDx1
aW50cHRyX3Q+KGNvZGUpOwogICAgICAgICAgICAgdWludHB0cl90IGVuZCA9IGN1cnJlbnQgKyBz
aXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlckFSTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQVJNLmNwcAppbmRleCAyNTAwZDg0ODcxMzQwOTg3ZWFjYTk5ZmYzOWM3OWRkNWZmNWU0
MmQ0Li5iMGE5YmYwNzQzOGI3ODU5MjZlZDU5NmQ4MmUzODJlMTkwMGQ2MGI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmNw
cApAQCAtNTgsNyArNTgsNyBAQCBzdGF0aWMgYm9vbCBpc1ZGUFByZXNlbnQoKQogICAgIH0KICNl
bmRpZiAvLyBPUyhMSU5VWCkKIAotI2lmIChDT01QSUxFUihHQ0MpICYmIGRlZmluZWQoX19WRlBf
RlBfXykpCisjaWYgKENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgZGVmaW5lZChfX1ZGUF9GUF9f
KSkKICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbi5oCmluZGV4IGIzYjUwNzQ4YTk2Yzk4YjNjNGU4NjJlNzA5NDY2YzVhYTA1NWQ1MjQuLmI2
YWU2ZmM2ZmFhMjFmZjQwZDBjYTNmMjVlOTBiMjIxNTBlMDIyZWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
LmgKQEAgLTE1NzcsNyArMTU3Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgY3B1aWQ7
CiAgICAgICAgICAgICAgICAgbW92IGZsYWdzLCBlZHg7CiAgICAgICAgICAgICB9Ci0jZWxpZiBD
T01QSUxFUihHQ0MpCisjZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAgICAgICAgICAgICBh
c20gKAogICAgICAgICAgICAgICAgICAibW92bCAkMHgxLCAlJWVheDsiCiAgICAgICAgICAgICAg
ICAgICJwdXNobCAlJWVieDsiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9NYWNoaW5lU3RhY2tNYXJrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hp
bmVTdGFja01hcmtlci5oCmluZGV4IDliNmI3MzI3YjYyZThiYmIwZTNiYWY2NDg0MTEwNGI0MWU0
ZDQyZmMuLjA3MjNhZDgxY2RkYTRiMWE0M2U5MzEyMzk1YTY2YzhmYTFmNGQ3ODggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVTdGFja01hcmtlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVTdGFja01hcmtlci5oCkBAIC02OSw3
ICs2OSw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2lmIENP
TVBJTEVSKEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAjZGVmaW5lIFJFR0lTVEVS
X0JVRkZFUl9BTElHTk1FTlQgX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKHNpemVvZih2b2lkKikp
KSkKICNlbHNlCiAjZGVmaW5lIFJFR0lTVEVSX0JVRkZFUl9BTElHTk1FTlQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAKaW5kZXggNjQ5
NmZhNGQ0NTcwZTdmMTNkN2YzYTNkMDUyOGM4MGQzNTgzNDE3Mi4uNmZlNzkyYjdlODQ0ZTZjNDAw
YTJmMmEyYzRjZTUzNDgwODVmODExMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAKQEAgLTMzMSw3ICszMzEsNyBAQCB2b2lkIGxv
Z0YodW5zaWduZWQgaW5kZW50LCBjb25zdCBjaGFyKiBmb3JtYXQsIGNvbnN0IFR5cGVzJi4uLiB2
YWx1ZXMpCiB7CiAgICAgcHJpbnRJbmRlbnRzKGluZGVudCk7CiAKLSNpZiBDT01QSUxFUihDTEFO
RykgfHwgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICNwcmFnbWEg
R0NDIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Zv
cm1hdC1ub25saXRlcmFsIgogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV21pc3Np
bmctZm9ybWF0LWF0dHJpYnV0ZSIKQEAgLTMzOSw3ICszMzksNyBAQCB2b2lkIGxvZ0YodW5zaWdu
ZWQgaW5kZW50LCBjb25zdCBjaGFyKiBmb3JtYXQsIGNvbnN0IFR5cGVzJi4uLiB2YWx1ZXMpCiAK
ICAgICBkYXRhTG9nRihmb3JtYXQsIHZhbHVlcy4uLik7CiAKLSNpZiBDT01QSUxFUihDTEFORykg
fHwgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICNwcmFnbWEgR0ND
IGRpYWdub3N0aWMgcG9wCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9Ib3N0Q2FsbFJldHVyblZhbHVlLmgKaW5kZXggODNjNTg3NWI0ZTE3YzhlN2Q4N2U1MTg0MmI2
NjE0NjY0OGM4N2MyMy4uNzFmZjRlNWJkOGIwNWIwODY4NWZiMDlmNmNmY2Y2NjkxYWE3MDhjYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVl
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmgK
QEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGV4dGVybiAiQyIgRW5jb2RlZEpT
VmFsdWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZSgpIFJFRkVSRU5DRURfRlJPTV9BU00gV1RGX0lOVEVSTkFMOwogCi0jaWYgQ09NUElMRVIoR0ND
KQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKIAogLy8gVGhpcyBpcyBhIHB1YmxpYyBkZWNs
YXJhdGlvbiBvbmx5IHRvIGNvbnZpbmNlIENMQU5HIG5vdCB0byBlbGlkZSBpdC4KIGV4dGVybiAi
QyIgRW5jb2RlZEpTVmFsdWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUoRXhlY1N0YXRlKikgUkVGRVJFTkNFRF9GUk9NX0FT
TSBXVEZfSU5URVJOQUw7CkBAIC01MSwxMSArNTEsMTEgQEAgaW5saW5lIHZvaWQgaW5pdGlhbGl6
ZUhvc3RDYWxsUmV0dXJuVmFsdWUoKQogICAgIGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhl
Y1N0YXRlKDApOwogfQogCi0jZWxzZSAvLyBDT01QSUxFUihHQ0MpCisjZWxzZSAvLyBDT01QSUxF
UihHQ0NfT1JfQ0xBTkcpCiAKIGlubGluZSB2b2lkIGluaXRpYWxpemVIb3N0Q2FsbFJldHVyblZh
bHVlKCkgeyB9CiAKLSNlbmRpZiAvLyBDT01QSUxFUihHQ0MpCisjZW5kaWYgLy8gQ09NUElMRVIo
R0NDX09SX0NMQU5HKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmgKaW5kZXggMDIxMzk2MzRiMWRmZWQ2MTA1NjJkZWNiNTc4ZGIzOGQ2YjE2MDM0ZS4uMWFkZTY2
NWRmNzkyODJjNjBjMmE4ODU2ODVmZDUzMTdkN2E1NTRkNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5oCkBAIC0zMCw3ICszMCw3IEBACiAKIC8vIFdlJ3ZlIHJ1biBpbnRvIHNvbWUgcHJvYmxlbXMg
d2hlcmUgY2hhbmdpbmcgdGhlIHNpemUgb2YgdGhlIGNsYXNzIEpJVCBsZWFkcyB0bwogLy8gcGVy
Zm9ybWFuY2UgZmx1Y3R1YXRpb25zLiAgVHJ5IGZvcmNpbmcgYWxpZ25tZW50IGluIGFuIGF0dGVt
cHQgdG8gc3RhYmFsaXplIHRoaXMuCi0jaWYgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdD
Q19PUl9DTEFORykKICNkZWZpbmUgSklUX0NMQVNTX0FMSUdOTUVOVCBfX2F0dHJpYnV0ZV9fICgo
YWxpZ25lZCAoMzIpKSkKICNlbHNlCiAjZGVmaW5lIEpJVF9DTEFTU19BTElHTk1FTlQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IDQxYzE0YjZhYTAy
ZTNiNTZjYmEwNmM2MWVjYTM3NjZiNTI5YTI3ZjAuLjJhMDdkODM5MDBiM2RiMzkwZGRiNDdkMzIz
YTRhYWQyNWE4NzE3NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRp
b25zLmNwcApAQCAtMTk3NSwxMSArMTk3NSwxMSBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uVk1IYW5kbGVFeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjKQogLy8gdGVzdGluZy4KIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25FeGNlcHRpb25GdXp6KCkKIHsKLSNpZiBDT01QSUxFUihH
Q0MpCisjaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IHN0
YXRpY19jYXN0PEV4ZWNTdGF0ZSo+KF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzKDEpKTsKICAgICB2
b2lkKiByZXR1cm5QQyA9IF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKTsKICAgICBkb0V4Y2Vw
dGlvbkZ1enppbmcoZXhlYywgIkpJVE9wZXJhdGlvbnMiLCByZXR1cm5QQyk7Ci0jZW5kaWYgLy8g
Q09NUElMRVIoR0NDKQorI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9DTEFORykKIH0KIAogRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNHZW5lcmljUHJvcGVydHkoRXhl
Y1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZVZhbHVlLCBKU0NlbGwqIHBy
b3BlcnR5TmFtZSkKQEAgLTIwNDUsNyArMjA0NSw3IEBAIGV4dGVybiAiQyIgRW5jb2RlZEpTVmFs
dWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdp
CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShleGVjLT52bSgpLmhvc3RDYWxsUmV0dXJuVmFs
dWUpOwogfQogCi0jaWYgQ09NUElMRVIoR0NDKSAmJiBDUFUoWDg2XzY0KQorI2lmIENPTVBJTEVS
KEdDQ19PUl9DTEFORykgJiYgQ1BVKFg4Nl82NCkKIGFzbSAoCiAiLmdsb2JsICIgU1lNQk9MX1NU
UklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBISURFX1NZTUJPTChnZXRIb3N0Q2Fs
bFJldHVyblZhbHVlKSAiXG4iCkBAIC0yMDU0LDcgKzIwNTQsNyBAQCBTWU1CT0xfU1RSSU5HKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCiAgICAgImptcCAiIExPQ0FMX1JFRkVSRU5D
RShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgogKTsKIAotI2VsaWYg
Q09NUElMRVIoR0NDKSAmJiBDUFUoWDg2KQorI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAm
JiBDUFUoWDg2KQogYXNtICgKICIudGV4dCIgIlxuIiBcCiAiLmdsb2JsICIgU1lNQk9MX1NUUklO
RyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCkBAIC0yMDY5LDcgKzIwNjksNyBAQCBTWU1C
T0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCiAgICAgInJldFxuIgog
KTsKIAotI2VsaWYgQ09NUElMRVIoR0NDKSAmJiBDUFUoQVJNX1RIVU1CMikKKyNlbGlmIENPTVBJ
TEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKEFSTV9USFVNQjIpCiBhc20gKAogIi50ZXh0IiAiXG4i
CiAiLmFsaWduIDIiICJcbiIKQEAgLTIwODIsNyArMjA4Miw3IEBAIFNZTUJPTF9TVFJJTkcoZ2V0
SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgogKTsKIAotI2VsaWYgQ09N
UElMRVIoR0NDKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQorI2VsaWYgQ09NUElMRVIoR0NDX09S
X0NMQU5HKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQogYXNtICgKICIudGV4dCIgIlxuIgogIi5n
bG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgpAQCAtMjEw
NCw3ICsyMTA0LDcgQEAgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIg
IlxuIgogICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0
aEV4ZWNTdGF0ZSkgIlxuIgogKTsKIAotI2VsaWYgQ09NUElMRVIoR0NDKSAmJiBDUFUoTUlQUykK
KyNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKE1JUFMpCiAKICNpZiBXVEZfTUlQ
U19QSUMKICNkZWZpbmUgTE9BRF9GVU5DVElPTl9UT19UOShmdW5jdGlvbikgXApAQCAtMjEyNiw3
ICsyMTI2LDcgQEAgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxu
IgogICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhl
Y1N0YXRlKSAiXG4iCiApOwogCi0jZWxpZiBDT01QSUxFUihHQ0MpICYmIENQVShTSDQpCisjZWxp
ZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShTSDQpCiAKICNkZWZpbmUgU0g0X1NDUkFU
Q0hfUkVHSVNURVIgInIxMSIKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRTdHVic0FSTS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic0FSTS5o
CmluZGV4IDE5YzM3Yjc1NDJkYWM0Y2RmYzE4MDM5ZjZmNWEyMzAxNGI5ODRiYWEuLjM4Yzk2OGY4
M2I5MmJjNzZlNjM5ZDVmZjIzYTI5OGJkMDMwMDBmODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUU3R1YnNBUk0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFN0dWJzQVJNLmgKQEAgLTQxLDcgKzQxLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAK
LSNpZiBDT01QSUxFUihHQ0MpCisjaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogCiAjaWYgRU5B
QkxFKE1BU01fUFJPQkUpCiAvLyBUaGUgZm9sbG93aW5nIGFyZSBvZmZzZXRzIGZvciBNYWNyb0Fz
c2VtYmxlcjo6UHJvYmVDb250ZXh0IGZpZWxkcyBhY2Nlc3NlZApAQCAtMjk1LDcgKzI5NSw3IEBA
IFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZUVuZCkgIjoiICJcbiIKIAogCiAK
LSNlbmRpZiAvLyBDT01QSUxFUihHQ0MpCisjZW5kaWYgLy8gQ09NUElMRVIoR0NDX09SX0NMQU5H
KQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRTdHVic0FSTXY3LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0
dWJzQVJNdjcuaAppbmRleCBjYmU5NzkxY2I1ZWMyYzk2NTZkNmRkNmY4N2EzZWYxM2NkNmRiMjBi
Li45YTcxYjYzMWJlZWM5ZWQzYWE3ZWNmYzQ1ZjYzYTA0YTlkMmIxMjdkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNdjcuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNdjcuaApAQCAtNDEsNyArNDEsNyBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAotI2lmIENPTVBJTEVSKEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpCiAKICNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKIC8vIFRoZSBmb2xsb3dpbmcgYXJlIG9mZnNl
dHMgZm9yIE1hY3JvQXNzZW1ibGVyOjpQcm9iZUNvbnRleHQgZmllbGRzIGFjY2Vzc2VkCkBAIC0z
MjcsNyArMzI3LDcgQEAgU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lRW5kKSAi
OiIgIlxuIgogKTsKICNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKIAotI2VuZGlmIC8vIENP
TVBJTEVSKEdDQykKKyNlbmRpZiAvLyBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAKIH0gLy8gbmFt
ZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0
dWJzWDg2LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2LmgKaW5kZXgg
ZmZkMTE5NzYzYjhjNDdiZjI4NTA2Mzc4Mjg5NzJkOGUyOGQ4NjA0ZC4uZDViZGNjZTI2Njc1Nzdm
Y2ZiMmRhYzhjNjE0MmRhMDE5MjhlMzE3OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRTdHVic1g4Ni5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
U3R1YnNYODYuaApAQCAtNDMsNyArNDMsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotI2lmIENP
TVBJTEVSKEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAKICNpZiBFTkFCTEUoTUFT
TV9QUk9CRSkKIGFzbSAoCkBAIC0xOTgsNyArMTk4LDcgQEAgU1lNQk9MX1NUUklORyhjdGlNYXNt
UHJvYmVUcmFtcG9saW5lRW5kKSAiOiIgIlxuIgogKTsKICNlbmRpZiAvLyBFTkFCTEUoTUFTTV9Q
Uk9CRSkKIAotI2VuZGlmIC8vIENPTVBJTEVSKEdDQykKKyNlbmRpZiAvLyBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2Q29tbW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzWDg2Q29tbW9uLmgKaW5kZXggMDBiMzYxYzg5Y2U0NmViMjEwM2RiNGVi
Y2U3MDJkNGE4MDc0Zjc1ZS4uNzg2YTMwZjJlNjI1MzhmYzNhNTI4MmYxYzRhNjhmNjVlYzk4NTc4
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4NkNvbW1v
bi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODZDb21tb24uaApA
QCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotI2lmIENPTVBJTEVSKEdDQykK
KyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAKICNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKIC8v
IFRoZSBmb2xsb3dpbmcgYXJlIG9mZnNldHMgZm9yIE1hY3JvQXNzZW1ibGVyOjpQcm9iZUNvbnRl
eHQgZmllbGRzIGFjY2Vzc2VkCkBAIC0xNTcsNyArMTU3LDcgQEAgQ09NUElMRV9BU1NFUlQoc2l6
ZW9mKE1hY3JvQXNzZW1ibGVyOjpQcm9iZUNvbnRleHQpID09IFBST0JFX1NJWkUsIFByb2JlQ29u
dGV4dF8KIAogI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQogCi0jZW5kaWYgLy8gQ09NUElM
RVIoR0NDKQorI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9DTEFORykKIAogfSAvLyBuYW1lc3Bh
Y2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNY
ODZfNjQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODZfNjQuaAppbmRl
eCAyMWZiZGRiZmY3YWJkZTRkYzJiNzRjMTg0NThhZDM0NjlkNzM3ZTJiLi4wNjE3NDY1NjYxYmIz
NTY1NjM2ZmM4Y2I5ZGRkMjUyMzc5MDg2NDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVFN0dWJzWDg2XzY0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRTdHVic1g4Nl82NC5oCkBAIC00Myw3ICs0Myw3IEBACiAKIG5hbWVzcGFjZSBKU0Mgewog
Ci0jaWYgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKIAogI2lmIEVO
QUJMRShNQVNNX1BST0JFKQogYXNtICgKQEAgLTIyNyw3ICsyMjcsNyBAQCBTWU1CT0xfU1RSSU5H
KGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVFbmQpICI6IiAiXG4iCiApOwogI2VuZGlmIC8vIEVOQUJM
RShNQVNNX1BST0JFKQogCi0jZW5kaWYgLy8gQ09NUElMRVIoR0NDKQorI2VuZGlmIC8vIENPTVBJ
TEVSKEdDQ19PUl9DTEFORykKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAppbmRleCAxNzU0Njc2NmY5ZmEyNDZl
OWNjYzQxZmFiOWE1NGNhMWI2NDNkYjU0Li5hNDI4MjNmZDMwYjgyN2U3YzBiMjcxMTFjZjkyZmZm
MTZlNzcxNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2Vu
ZXJhdG9ycy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRv
cnMuY3BwCkBAIC02ODUsNyArNjg1LDcgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHNxcnRUaHVu
a0dlbmVyYXRvcihWTSogdm0pCiBlbnVtIE1hdGhUaHVua0NhbGxpbmdDb252ZW50aW9uIHsgfTsK
IHR5cGVkZWYgTWF0aFRodW5rQ2FsbGluZ0NvbnZlbnRpb24oKk1hdGhUaHVuaykoTWF0aFRodW5r
Q2FsbGluZ0NvbnZlbnRpb24pOwogCi0jaWYgQ1BVKFg4Nl82NCkgJiYgQ09NUElMRVIoR0NDKSAm
JiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkpCisjaWYgQ1BVKFg4Nl82NCkgJiYgQ09NUElMRVIo
R0NDX09SX0NMQU5HKSAmJiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkpCiAKICNkZWZpbmUgZGVm
aW5lVW5hcnlEb3VibGVPcFdyYXBwZXIoZnVuY3Rpb24pIFwKICAgICBhc20oIFwKQEAgLTcwMyw3
ICs3MDMsNyBAQCB0eXBlZGVmIE1hdGhUaHVua0NhbGxpbmdDb252ZW50aW9uKCpNYXRoVGh1bmsp
KE1hdGhUaHVua0NhbGxpbmdDb252ZW50aW9uKTsKICAgICB9IFwKICAgICBzdGF0aWMgTWF0aFRo
dW5rIFVuYXJ5RG91YmxlT3BXcmFwcGVyKGZ1bmN0aW9uKSA9ICZmdW5jdGlvbiMjVGh1bms7CiAK
LSNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQykgJiYgT1MoTElOVVgpICYmIGRlZmluZWQo
X19QSUNfXykKKyNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgT1Mo
TElOVVgpICYmIGRlZmluZWQoX19QSUNfXykKICNkZWZpbmUgZGVmaW5lVW5hcnlEb3VibGVPcFdy
YXBwZXIoZnVuY3Rpb24pIFwKICAgICBhc20oIFwKICAgICAgICAgIi50ZXh0XG4iIFwKQEAgLTcy
Nyw3ICs3MjcsNyBAQCB0eXBlZGVmIE1hdGhUaHVua0NhbGxpbmdDb252ZW50aW9uKCpNYXRoVGh1
bmspKE1hdGhUaHVua0NhbGxpbmdDb252ZW50aW9uKTsKICAgICB9IFwKICAgICBzdGF0aWMgTWF0
aFRodW5rIFVuYXJ5RG91YmxlT3BXcmFwcGVyKGZ1bmN0aW9uKSA9ICZmdW5jdGlvbiMjVGh1bms7
CiAKLSNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQykgJiYgKE9TKERBUldJTikgfHwgT1Mo
TElOVVgpKQorI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiAoT1Mo
REFSV0lOKSB8fCBPUyhMSU5VWCkpCiAjZGVmaW5lIGRlZmluZVVuYXJ5RG91YmxlT3BXcmFwcGVy
KGZ1bmN0aW9uKSBcCiAgICAgYXNtKCBcCiAgICAgICAgICIudGV4dFxuIiBcCkBAIC03NDcsNyAr
NzQ3LDcgQEAgdHlwZWRlZiBNYXRoVGh1bmtDYWxsaW5nQ29udmVudGlvbigqTWF0aFRodW5rKShN
YXRoVGh1bmtDYWxsaW5nQ29udmVudGlvbik7CiAgICAgfSBcCiAgICAgc3RhdGljIE1hdGhUaHVu
ayBVbmFyeURvdWJsZU9wV3JhcHBlcihmdW5jdGlvbikgPSAmZnVuY3Rpb24jI1RodW5rOwogCi0j
ZWxpZiBDUFUoQVJNX1RIVU1CMikgJiYgQ09NUElMRVIoR0NDKSAmJiBQTEFURk9STShJT1MpCisj
ZWxpZiBDUFUoQVJNX1RIVU1CMikgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBQTEFURk9S
TShJT1MpCiAKICNkZWZpbmUgZGVmaW5lVW5hcnlEb3VibGVPcFdyYXBwZXIoZnVuY3Rpb24pIFwK
ICAgICBhc20oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RXhwb3J0TWFjcm9zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0V4cG9ydE1h
Y3Jvcy5oCmluZGV4IGI1MGVhMmVlODZhYTJjNjM2YzIwYzVmODQxNTZlNmM1NjQ1MGExNmMuLmJk
NDY1OTFiNGNjMmRmNjQ0Yjk2NGE4ODg0ZmM2MzA0ODZhYzdiNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRXhwb3J0TWFjcm9zLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNFeHBvcnRNYWNyb3MuaApAQCAtNDcsNyArNDcsNyBAQAog
CiAjZWxzZSAvLyAhVVNFKEVYUE9SVF9NQUNST1MpCiAKLSNpZiBPUyhXSU5ET1dTKSAmJiAhQ09N
UElMRVIoR0NDKQorI2lmIE9TKFdJTkRPV1MpICYmICFDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAK
ICNpZiBkZWZpbmVkKEJVSUxESU5HX0phdmFTY3JpcHRDb3JlKSB8fCBkZWZpbmVkKFNUQVRJQ0FM
TFlfTElOS0VEX1dJVEhfSmF2YVNjcmlwdENvcmUpCiAjZGVmaW5lIEpTX0VYUE9SVERBVEEgX19k
ZWNsc3BlYyhkbGxleHBvcnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXRoQ29tbW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoQ29t
bW9uLmgKaW5kZXggODQwZDg2MzVmZjVhMDA0ZTVhNTlmZmNlNDA3N2JiYTFhNjAyZDg0Yy4uMmY4
NGVkNzI3Y2FmYzhmYTI4MTg1NjcwMmI5MTA5ZTA1N2JmM2FlMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENvbW1vbi5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hdGhDb21tb24uaApAQCAtMzcsNyArMzcsNyBAQCBkb3VibGUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25NYXRoUG93KGRvdWJsZSB4LCBkb3VibGUgeSkgV1RGX0lOVEVS
TkFMOwogCiBpbmxpbmUgaW50IGNsejMyKHVpbnQzMl90IG51bWJlcikKIHsKLSNpZiBDT01QSUxF
UihHQ0MpIHx8IENPTVBJTEVSKENMQU5HKQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICAg
ICBpbnQgemVyb0NvdW50ID0gMzI7CiAgICAgaWYgKG51bWJlcikKICAgICAgICAgemVyb0NvdW50
ID0gX19idWlsdGluX2NseihudW1iZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQXNz
ZXJ0aW9ucy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmNwcAppbmRleCBmNzM2Zjg1
MWFjNGQ3NzA2Yjg3OTgwOGQzOTNjZWIyZGU5ZDhjZjE5Li44YzIxYzgzYTliZWNiYjhmNWNlNDc1
NzRlZjZjZDYyN2RmYjc2ZjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25z
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmNwcApAQCAtMTQwLDcgKzE0MCw3
IEBAIHN0YXRpYyB2b2lkIHZwcmludGZfc3RkZXJyX2NvbW1vbihjb25zdCBjaGFyKiBmb3JtYXQs
IHZhX2xpc3QgYXJncykKICAgICB2ZnByaW50ZihzdGRlcnIsIGZvcm1hdCwgYXJncyk7CiB9CiAK
LSNpZiBDT01QSUxFUihDTEFORykgfHwgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdDQ19P
Ul9DTEFORykKICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBHQ0MgZGlhZ25v
c3RpYyBpZ25vcmVkICItV2Zvcm1hdC1ub25saXRlcmFsIgogI2VuZGlmCkBAIC0xNzMsNyArMTcz
LDcgQEAgc3RhdGljIHZvaWQgdnByaW50Zl9zdGRlcnJfd2l0aF90cmFpbGluZ19uZXdsaW5lKGNv
bnN0IGNoYXIqIGZvcm1hdCwgdmFfbGlzdCBhcmcKICAgICB2cHJpbnRmX3N0ZGVycl9jb21tb24o
Zm9ybWF0V2l0aE5ld2xpbmUuZ2V0KCksIGFyZ3MpOwogfQogCi0jaWYgQ09NUElMRVIoQ0xBTkcp
IHx8IENPTVBJTEVSKEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAjcHJhZ21hIEdD
QyBkaWFnbm9zdGljIHBvcAogI2VuZGlmCiAKQEAgLTMyMCw3ICszMjAsNyBAQCB2b2lkIFdURkNy
YXNoKCkKICAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKICAgICAqKGludCAqKSh1aW50cHRyX3Qp
MHhiYmFkYmVlZiA9IDA7CiAgICAgLy8gTW9yZSByZWxpYWJsZSwgYnV0IGRvZXNuJ3Qgc2F5IEJC
QURCRUVGLgotI2lmIENPTVBJTEVSKENMQU5HKSB8fCBDT01QSUxFUihHQ0MpCisjaWYgQ09NUElM
RVIoR0NDX09SX0NMQU5HKQogICAgIF9fYnVpbHRpbl90cmFwKCk7CiAjZWxzZQogICAgICgodm9p
ZCgqKSgpKTApKCk7CkBAIC0zMzQsNyArMzM0LDcgQEAgdm9pZCBXVEZDcmFzaFdpdGhTZWN1cml0
eUltcGxpY2F0aW9uKCkKICAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKICAgICAqKGludCAqKSh1
aW50cHRyX3QpMHhmYmFkYmVlZiA9IDA7CiAgICAgLy8gTW9yZSByZWxpYWJsZSwgYnV0IGRvZXNu
J3Qgc2F5IGZiYWRiZWVmLgotI2lmIENPTVBJTEVSKENMQU5HKSB8fCBDT01QSUxFUihHQ0MpCisj
aWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogICAgIF9fYnVpbHRpbl90cmFwKCk7CiAjZWxzZQog
ICAgICgodm9pZCgqKSgpKTApKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRp
b25zLmggYi9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmgKaW5kZXggMTFkNjEyMGQyZTJmMjc2
NTg0YmU1OTc4NTA1NTZmYTFmYmQzNDU2Zi4uYjE0MjFkMTQwYjk1YzhiM2Q1M2RjN2IyYTUzM2U5
ODIyNjUzYmZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaApAQCAtNzksNyArNzksNyBAQAogI2RlZmluZSBM
T0dfRElTQUJMRUQgQVNTRVJUSU9OU19ESVNBQkxFRF9ERUZBVUxUCiAjZW5kaWYKIAotI2lmIENP
TVBJTEVSKEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAjZGVmaW5lIFdURl9QUkVU
VFlfRlVOQ1RJT04gX19QUkVUVFlfRlVOQ1RJT05fXwogI2Vsc2UKICNkZWZpbmUgV1RGX1BSRVRU
WV9GVU5DVElPTiBfX0ZVTkNUSU9OX18KQEAgLTg4LDcgKzg4LDcgQEAKIC8qIFdURiBsb2dnaW5n
IGZ1bmN0aW9ucyBjYW4gcHJvY2VzcyAlQCBpbiB0aGUgZm9ybWF0IHN0cmluZyB0byBsb2cgYSBO
U09iamVjdCogYnV0IHRoZSBwcmludGYgZm9ybWF0IGF0dHJpYnV0ZQogICAgZW1pdHMgYSB3YXJu
aW5nIHdoZW4gJUAgaXMgdXNlZCBpbiB0aGUgZm9ybWF0IHN0cmluZy4gIFVudGlsIDxyZGFyOi8v
cHJvYmxlbS81MTk1NDM3PiBpcyByZXNvbHZlZCB3ZSBjYW4ndCBpbmNsdWRlCiAgICB0aGUgYXR0
cmlidXRlIHdoZW4gYmVpbmcgdXNlZCBmcm9tIE9iamVjdGl2ZS1DIGNvZGUgaW4gY2FzZSBpdCBk
ZWNpZGVzIHRvIHVzZSAlQC4gKi8KLSNpZiBDT01QSUxFUihHQ0MpICYmICFkZWZpbmVkKF9fT0JK
Q19fKQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgIWRlZmluZWQoX19PQkpDX18pCiAj
ZGVmaW5lIFdURl9BVFRSSUJVVEVfUFJJTlRGKGZvcm1hdFN0cmluZ0FyZ3VtZW50LCBleHRyYUFy
Z3VtZW50cykgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyhwcmludGYsIGZvcm1hdFN0cmluZ0Fy
Z3VtZW50LCBleHRyYUFyZ3VtZW50cykpKQogI2Vsc2UKICNkZWZpbmUgV1RGX0FUVFJJQlVURV9Q
UklOVEYoZm9ybWF0U3RyaW5nQXJndW1lbnQsIGV4dHJhQXJndW1lbnRzKQpAQCAtMTE1LDcgKzEx
NSw3IEBAIGV4dGVybiAiQyIgewogCiAgICBTaWduYWxzIGFyZSBpZ25vcmVkIGJ5IHRoZSBjcmFz
aCByZXBvcnRlciBvbiBPUyBYIHNvIHdlIG11c3QgZG8gYmV0dGVyLgogKi8KLSNpZiBDT01QSUxF
UihDTEFORykgfHwgQ09NUElMRVIoR0NDKSB8fCBDT01QSUxFUihNU1ZDKQorI2lmIENPTVBJTEVS
KEdDQ19PUl9DTEFORykgfHwgQ09NUElMRVIoTVNWQykKICNkZWZpbmUgTk9fUkVUVVJOX0RVRV9U
T19DUkFTSCBOT19SRVRVUk4KICNlbHNlCiAjZGVmaW5lIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0F0b21pY3MuY3BwIGIvU291cmNlL1dURi93dGYv
QXRvbWljcy5jcHAKaW5kZXggYTcyMmRhZWRhN2Y2ZTk1ZTg1YWUxNzY2MDIxYjg1MGNhNzEwZGYx
YS4uMDM3Y2UzZmU3NDEyOWIyYTljNjIwYjExYjQ4MGZmYWI4OGFlOWQ0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvQXRvbWljcy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvQXRvbWljcy5j
cHAKQEAgLTY1LDcgKzY1LDcgQEAKIC8vIChodHRwOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hv
d19idWcuY2dpP2lkPTU2Mjk2KS4gR0NDID49IDQuOCB3aWxsIHN1cHBvcnQgX19hdG9taWNfKiBi
dWlsdGluCiAvLyBmdW5jdGlvbnMgZm9yIHRoaXMgcHVycG9zZSBmb3IgYWxsIHRoZSBHQ0MgdGFy
Z2V0cywgYnV0IGZvciBjdXJyZW50IGNvbXBpbGVycyB3ZSBoYXZlIHRvIGluY2x1ZGUKIC8vIG91
ciBvd24gaW1wbGVtZW50YXRpb24uCi0jaWYgQ09NUElMRVIoR0NDKSAmJiAhZGVmaW5lZChfX0dD
Q19IQVZFX1NZTkNfQ09NUEFSRV9BTkRfU1dBUF84KSAmJiBVU0UoUFRIUkVBRFMpCisjaWYgQ09N
UElMRVIoR0NDX09SX0NMQU5HKSAmJiAhZGVmaW5lZChfX0dDQ19IQVZFX1NZTkNfQ09NUEFSRV9B
TkRfU1dBUF84KSAmJiBVU0UoUFRIUkVBRFMpCiAKICNpbmNsdWRlICJUaHJlYWRpbmdQcmltaXRp
dmVzLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0F0b21pY3MuaCBiL1NvdXJjZS9X
VEYvd3RmL0F0b21pY3MuaAppbmRleCBjNGQ1NjBlOTUxNzU1N2M0NmY0ZDYwZDNiOTZlZTNhNjM1
N2NlMDEzLi45ZTNjNjAyMWQ5YzliMWU0MmYwZGFlZDEyN2ZiODM3Y2U4ZTA4M2NiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmgKKysrIGIvU291cmNlL1dURi93dGYvQXRvbWlj
cy5oCkBAIC02Myw3ICs2Myw3IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiAj
aWYgT1MoV0lORE9XUykKLSNpZiAhQ09NUElMRVIoR0NDKQorI2lmICFDT01QSUxFUihHQ0NfT1Jf
Q0xBTkcpCiBleHRlcm4gIkMiIHZvaWQgX1JlYWRXcml0ZUJhcnJpZXIodm9pZCk7CiAjcHJhZ21h
IGludHJpbnNpYyhfUmVhZFdyaXRlQmFycmllcikKICNlbmRpZgpAQCAtMTQxLDcgKzE0MSw3IEBA
IGlubGluZSBib29sIHdlYWtDb21wYXJlQW5kU3dhcCh2b2xhdGlsZSB1bnNpZ25lZCogbG9jYXRp
b24sIHVuc2lnbmVkIGV4cGVjdGVkLCB1CiAgICAgICAgIDogInIiKGV4cGVjdGVkKSwgInIiKG5l
d1ZhbHVlKQogICAgICAgICA6ICJtZW1vcnkiKTsKICAgICByZXN1bHQgPSAhcmVzdWx0OwotI2Vs
aWYgQ1BVKEFSTTY0KSAmJiBDT01QSUxFUihHQ0MpCisjZWxpZiBDUFUoQVJNNjQpICYmIENPTVBJ
TEVSKEdDQ19PUl9DTEFORykKICAgICB1bnNpZ25lZCB0bXA7CiAgICAgdW5zaWduZWQgcmVzdWx0
OwogICAgIGFzbSB2b2xhdGlsZSgKQEAgLTE5NSw3ICsxOTUsNyBAQCBpbmxpbmUgYm9vbCB3ZWFr
Q29tcGFyZUFuZFN3YXAodm9pZCp2b2xhdGlsZSogbG9jYXRpb24sIHZvaWQqIGV4cGVjdGVkLCB2
b2lkKiBuZQogICAgICAgICA6ICJtZW1vcnkiCiAgICAgICAgICk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKLSNlbGlmIENQVShBUk02NCkgJiYgQ09NUElMRVIoR0NDKQorI2VsaWYgQ1BVKEFSTTY0KSAm
JiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAgICAgYm9vbCByZXN1bHQ7CiAgICAgdm9pZCogdG1w
OwogICAgIGFzbSB2b2xhdGlsZSgKQEAgLTI1MSw3ICsyNTEsNyBAQCBpbmxpbmUgYm9vbCB3ZWFr
Q29tcGFyZUFuZFN3YXBTaXplKHZvbGF0aWxlIHNpemVfdCogbG9jYXRpb24sIHNpemVfdCBleHBl
Y3RlZCwgcwogLy8gdG8gZG8gdGhpbmdzIGxpa2UgcmVnaXN0ZXIgYWxsb2NhdGlvbiBhbmQgY29k
ZSBtb3Rpb24gb3ZlciBwdXJlIG9wZXJhdGlvbnMuCiBpbmxpbmUgdm9pZCBjb21waWxlckZlbmNl
KCkKIHsKLSNpZiBPUyhXSU5ET1dTKSAmJiAhQ09NUElMRVIoR0NDKQorI2lmIE9TKFdJTkRPV1Mp
ICYmICFDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAgICAgX1JlYWRXcml0ZUJhcnJpZXIoKTsKICNl
bHNlCiAgICAgYXNtIHZvbGF0aWxlKCIiIDo6OiAibWVtb3J5Iik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9Db21waWxlci5oIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAppbmRleCA3
ZDRhY2NiMjUzZjNiNDUzYWJjMzc3MmJhMGVhMWY2NDAxODkyMDYzLi45Nzk3ZTZmNmU2MWJlZmQ4
ZGYxNzJmZDk1MGQ0YTg4ODllNDBjZDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Db21w
aWxlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKQEAgLTU2LDQyICs1NiwzNyBA
QAogI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfRkFMTFRIUk9VR0hfV0FSTklOR1MgX19o
YXNfZmVhdHVyZShjeHhfYXR0cmlidXRlcykgJiYgX19oYXNfd2FybmluZygiLVdpbXBsaWNpdC1m
YWxsdGhyb3VnaCIpCiAjZW5kaWYKIAotLyogQ09NUElMRVIoR0NDKSAtIEdOVSBDb21waWxlciBD
b2xsZWN0aW9uICovCisvKiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpIC0gR05VIENvbXBpbGVyIENv
bGxlY3Rpb24gb3IgQ2xhbmcgKi8KKyNpZiBkZWZpbmVkKF9fR05VQ19fKQorI2RlZmluZSBXVEZf
Q09NUElMRVJfR0NDX09SX0NMQU5HIDEKKyNlbmRpZgogCisvKiBDT01QSUxFUihHQ0MpIC0gR05V
IENvbXBpbGVyIENvbGxlY3Rpb24gKi8KIC8qIE5vdGU6IFRoaXMgc2VjdGlvbiBtdXN0IGNvbWUg
YWZ0ZXIgdGhlIENsYW5nIHNlY3Rpb24gc2luY2Ugd2UgY2hlY2sgIUNPTVBJTEVSKENMQU5HKSBo
ZXJlLiAqLwotCi0jaWYgZGVmaW5lZChfX0dOVUNfXykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpICYmICFDT01QSUxFUihDTEFORykKICNkZWZpbmUgV1RGX0NPTVBJTEVSX0dDQyAxCisjZGVm
aW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhfQ09OU1RFWFBSIDEKKyNkZWZpbmUgV1RGX0NP
TVBJTEVSX1NVUFBPUlRTX0NYWF9VU0VSX0xJVEVSQUxTIDEKKwogI2RlZmluZSBHQ0NfVkVSU0lP
TiAoX19HTlVDX18gKiAxMDAwMCArIF9fR05VQ19NSU5PUl9fICogMTAwICsgX19HTlVDX1BBVENI
TEVWRUxfXykKICNkZWZpbmUgR0NDX1ZFUlNJT05fQVRfTEVBU1QobWFqb3IsIG1pbm9yLCBwYXRj
aCkgKEdDQ19WRVJTSU9OID49IChtYWpvciAqIDEwMDAwICsgbWlub3IgKiAxMDAgKyBwYXRjaCkp
Ci0jZW5kaWYKLQotLyogRGVmaW5lIEdDQ19WRVJTSU9OX0FUX0xFQVNUIGZvciBhbGwgY29tcGls
ZXJzLCBzbyB3ZSBjYW4gd3JpdGUgdGhpbmdzIGxpa2UgR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwg
MSwgMCkuICovCi0vKiBGSVhNRTogRG9lc24ndCBzZWVtIGFsbCB0aGF0IHZhbHVhYmxlLiBDYW4g
d2UgcmVtb3ZlIHRoaXM/ICovCi0jaWYgIWRlZmluZWQoR0NDX1ZFUlNJT05fQVRfTEVBU1QpCi0j
ZGVmaW5lIEdDQ19WRVJTSU9OX0FUX0xFQVNUKG1ham9yLCBtaW5vciwgcGF0Y2gpIDAKLSNlbmRp
ZgogCi0jaWYgQ09NUElMRVIoR0NDKSAmJiAhQ09NUElMRVIoQ0xBTkcpICYmICFHQ0NfVkVSU0lP
Tl9BVF9MRUFTVCg0LCA3LCAwKQorI2lmICFHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCA3LCAwKQog
I2Vycm9yICJQbGVhc2UgdXNlIGEgbmV3ZXIgdmVyc2lvbiBvZiBHQ0MuIFdlYktpdCByZXF1aXJl
cyBHQ0MgNC43LjAgb3IgbmV3ZXIgdG8gY29tcGlsZS4iCiAjZW5kaWYKIAotI2lmIENPTVBJTEVS
KEdDQykgJiYgIUNPTVBJTEVSKENMQU5HKQotI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNf
Q1hYX0NPTlNURVhQUiAxCi0jZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhfVVNFUl9M
SVRFUkFMUyAxCi0jZW5kaWYKLQotI2lmIENPTVBJTEVSKEdDQykgJiYgIUNPTVBJTEVSKENMQU5H
KSAmJiBkZWZpbmVkKF9fU1REQ19WRVJTSU9OX18pICYmIF9fU1REQ19WRVJTSU9OX18gPj0gMjAx
MTEyTAorI2lmIGRlZmluZWQoX19TVERDX1ZFUlNJT05fXykgJiYgX19TVERDX1ZFUlNJT05fXyA+
PSAyMDExMTJMCiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DX1NUQVRJQ19BU1NFUlQg
MQogI2VuZGlmCiAKLSNpZiBDT01QSUxFUihHQ0MpICYmICFDT01QSUxFUihDTEFORykgJiYgR0ND
X1ZFUlNJT05fQVRfTEVBU1QoNCwgOCwgMCkKKyNpZiBHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCA4
LCAwKQogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV21heWJlLXVuaW5pdGlhbGl6
ZWQiCiAjZW5kaWYKIAotI2lmIENPTVBJTEVSKEdDQykgJiYgIUNPTVBJTEVSKENMQU5HKSAmJiAo
ZGVmaW5lZChfX0dYWF9FWFBFUklNRU5UQUxfQ1hYMFhfXykgfHwgKGRlZmluZWQoX19jcGx1c3Bs
dXMpICYmIF9fY3BsdXNwbHVzID49IDIwMTEwM0wpKQorI2lmIChkZWZpbmVkKF9fR1hYX0VYUEVS
SU1FTlRBTF9DWFgwWF9fKSB8fCAoZGVmaW5lZChfX2NwbHVzcGx1cykgJiYgX19jcGx1c3BsdXMg
Pj0gMjAxMTAzTCkpCiAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW51c2VkLWxv
Y2FsLXR5cGVkZWZzIgogI2VuZGlmCisjZW5kaWYgLyogQ09NUElMRVIoR0NDKSAqLwogCiAvKiBD
T01QSUxFUihNSU5HVykgLSBNaW5HVyBHQ0MgKi8KIApAQCAtMTQ2LDcgKzE0MSw3IEBACiAKIC8q
IEFMV0FZU19JTkxJTkUgKi8KIAotI2lmICFkZWZpbmVkKEFMV0FZU19JTkxJTkUpICYmIENPTVBJ
TEVSKEdDQykgJiYgZGVmaW5lZChOREVCVUcpICYmICFDT01QSUxFUihNSU5HVykKKyNpZiAhZGVm
aW5lZChBTFdBWVNfSU5MSU5FKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIGRlZmluZWQo
TkRFQlVHKSAmJiAhQ09NUElMRVIoTUlOR1cpCiAjZGVmaW5lIEFMV0FZU19JTkxJTkUgaW5saW5l
IF9fYXR0cmlidXRlX18oKF9fYWx3YXlzX2lubGluZV9fKSkKICNlbmRpZgogCkBAIC0xOTcsNyAr
MTkyLDcgQEAKIAogLyogTElLRUxZICovCiAKLSNpZiAhZGVmaW5lZChMSUtFTFkpICYmIENPTVBJ
TEVSKEdDQykKKyNpZiAhZGVmaW5lZChMSUtFTFkpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykK
ICNkZWZpbmUgTElLRUxZKHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDEpCiAjZW5kaWYKIApA
QCAtMjA3LDcgKzIwMiw3IEBACiAKIC8qIE5FVkVSX0lOTElORSAqLwogCi0jaWYgIWRlZmluZWQo
TkVWRVJfSU5MSU5FKSAmJiBDT01QSUxFUihHQ0MpCisjaWYgIWRlZmluZWQoTkVWRVJfSU5MSU5F
KSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAjZGVmaW5lIE5FVkVSX0lOTElORSBfX2F0dHJp
YnV0ZV9fKChfX25vaW5saW5lX18pKQogI2VuZGlmCiAKQEAgLTIyMSw3ICsyMTYsNyBAQAogCiAv
KiBOT19SRVRVUk4gKi8KIAotI2lmICFkZWZpbmVkKE5PX1JFVFVSTikgJiYgQ09NUElMRVIoR0ND
KQorI2lmICFkZWZpbmVkKE5PX1JFVFVSTikgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogI2Rl
ZmluZSBOT19SRVRVUk4gX19hdHRyaWJ1dGUoKF9fbm9yZXR1cm5fXykpCiAjZW5kaWYKIApAQCAt
MjU1LDcgKzI1MCw3IEBACiAKIC8qIFBVUkVfRlVOQ1RJT04gKi8KIAotI2lmICFkZWZpbmVkKFBV
UkVfRlVOQ1RJT04pICYmIENPTVBJTEVSKEdDQykKKyNpZiAhZGVmaW5lZChQVVJFX0ZVTkNUSU9O
KSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAjZGVmaW5lIFBVUkVfRlVOQ1RJT04gX19hdHRy
aWJ1dGVfXygoX19wdXJlX18pKQogI2VuZGlmCiAKQEAgLTI2NSw3ICsyNjAsNyBAQAogCiAvKiBS
RUZFUkVOQ0VEX0ZST01fQVNNICovCiAKLSNpZiAhZGVmaW5lZChSRUZFUkVOQ0VEX0ZST01fQVNN
KSAmJiBDT01QSUxFUihHQ0MpCisjaWYgIWRlZmluZWQoUkVGRVJFTkNFRF9GUk9NX0FTTSkgJiYg
Q09NUElMRVIoR0NDX09SX0NMQU5HKQogI2RlZmluZSBSRUZFUkVOQ0VEX0ZST01fQVNNIF9fYXR0
cmlidXRlX18oKF9fdXNlZF9fKSkKICNlbmRpZgogCkBAIC0yNzUsNyArMjcwLDcgQEAKIAogLyog
VU5MSUtFTFkgKi8KIAotI2lmICFkZWZpbmVkKFVOTElLRUxZKSAmJiBDT01QSUxFUihHQ0MpCisj
aWYgIWRlZmluZWQoVU5MSUtFTFkpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICNkZWZpbmUg
VU5MSUtFTFkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICNlbmRpZgogCkBAIC0zMDgs
NyArMzAzLDcgQEAKIAogLyogV0FSTl9VTlVTRURfUkVUVVJOICovCiAKLSNpZiAhZGVmaW5lZChX
QVJOX1VOVVNFRF9SRVRVUk4pICYmIENPTVBJTEVSKEdDQykKKyNpZiAhZGVmaW5lZChXQVJOX1VO
VVNFRF9SRVRVUk4pICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICNkZWZpbmUgV0FSTl9VTlVT
RURfUkVUVVJOIF9fYXR0cmlidXRlX18oKF9fd2Fybl91bnVzZWRfcmVzdWx0X18pKQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0V4cG9ydE1hY3Jvcy5oIGIvU291cmNlL1dU
Ri93dGYvRXhwb3J0TWFjcm9zLmgKaW5kZXggOWM0OWRkMTQwZDgyNWY0ZWY0MDg5NmFkNjExMGY5
YTI1MGE3YzkwOC4uNWFlODdkMDVkZGY4ODc3N2I3YzE1NmM2M2MxNzk3NWY3ZDc4MWM0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvRXhwb3J0TWFjcm9zLmgKKysrIGIvU291cmNlL1dURi93
dGYvRXhwb3J0TWFjcm9zLmgKQEAgLTg5LDEzICs4OSwxMyBAQAogCiAjZWxzZSAvLyAhVVNFKEVY
UE9SVF9NQUNST1MpCiAKLSNpZiBPUyhXSU5ET1dTKSAmJiAhQ09NUElMRVIoR0NDKQorI2lmIE9T
KFdJTkRPV1MpICYmICFDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAjaWYgZGVmaW5lZChCVUlMRElO
R19XVEYpIHx8IGRlZmluZWQoU1RBVElDQUxMWV9MSU5LRURfV0lUSF9XVEYpCiAjZGVmaW5lIFdU
Rl9FWFBPUlREQVRBIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQogI2Vsc2UKICNkZWZpbmUgV1RGX0VY
UE9SVERBVEEgX19kZWNsc3BlYyhkbGxpbXBvcnQpCiAjZW5kaWYKLSNlbHNlIC8vICFPUyhXSU5E
T1dTKSB8fCBDT01QSUxFUihHQ0MpCisjZWxzZSAvLyAhT1MoV0lORE9XUykgfHwgQ09NUElMRVIo
R0NDX09SX0NMQU5HKQogI2RlZmluZSBXVEZfRVhQT1JUREFUQQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuaCBiL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxs
b2MuaAppbmRleCAzOTBjNGRmMTIxMTcwZjJiNzJhNWVkNTFjMTRiNDk5OGNkNTljNTY3Li44YjRj
MWZjMTk3ZTBiNDhmODBiOGYzMGM0MThiMjdhZDgyY2ZlYjVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9GYXN0TWFsbG9jLmgKKysrIGIvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5oCkBA
IC0xMTMsOSArMTEzLDkgQEAgdXNpbmcgV1RGOjp0cnlGYXN0WmVyb2VkTWFsbG9jOwogdXNpbmcg
V1RGOjpmYXN0QWxpZ25lZE1hbGxvYzsKIHVzaW5nIFdURjo6ZmFzdEFsaWduZWRGcmVlOwogCi0j
aWYgQ09NUElMRVIoR0NDKSAmJiBPUyhEQVJXSU4pCisjaWYgQ09NUElMRVIoR0NDX09SX0NMQU5H
KSAmJiBPUyhEQVJXSU4pCiAjZGVmaW5lIFdURl9QUklWQVRFX0lOTElORSBfX3ByaXZhdGVfZXh0
ZXJuX18gaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKQotI2VsaWYgQ09NUElM
RVIoR0NDKQorI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogI2RlZmluZSBXVEZfUFJJVkFU
RV9JTkxJTkUgaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKQogI2VsaWYgQ09N
UElMRVIoTVNWQykKICNkZWZpbmUgV1RGX1BSSVZBVEVfSU5MSU5FIF9fZm9yY2VpbmxpbmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybS5oCmluZGV4IGRlYThkNTM4NGE4ZjU2YzZlNzU1NmM0MGIzYTdiODczZDZlN2YwOGIuLjc4
OWZiNjY1MWM4NGMzMTgyZTk1NGQzZDczZTMwNDY2MTRlYTQ2ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAt
Nzg5LDcgKzc4OSw3IEBACiAjZW5kaWYKIAogLyogVXNlZCB0byBtYWtlIEdDQydzIG9wdGltaXph
dGlvbiBub3QgdGhyb3cgYXdheSBhIHN5bWJvbCB0aGF0IHdlIHdvdWxkIG5lZWQgZm9yIG5hdGl2
ZSBpbmxpbmluZyAqLwotI2lmIEVOQUJMRShGVExfTkFUSVZFX0NBTExfSU5MSU5JTkcpICYmIENP
TVBJTEVSKEdDQykgJiYgIUNPTVBJTEVSKENMQU5HKQorI2lmIEVOQUJMRShGVExfTkFUSVZFX0NB
TExfSU5MSU5JTkcpICYmIENPTVBJTEVSKEdDQykKICNkZWZpbmUgQVRUUl9VU0VEIF9fYXR0cmli
dXRlX18gKCh1c2VkKSkKICNlbHNlCiAjZGVmaW5lIEFUVFJfVVNFRApAQCAtODMzLDE0ICs4MzMs
MTQgQEAKIC8qIENvbmZpZ3VyZSB0aGUgSklUICovCiAjaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIo
TVNWQykKICNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBfX2Zhc3RjYWxsCi0jZWxpZiBDUFUoWDg2KSAm
JiBDT01QSUxFUihHQ0MpCisjZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcp
CiAjZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKICNlbHNl
CiAjZGVmaW5lIEpTQ19IT1NUX0NBTEwKICNlbmRpZgogCiAvKiBDb25maWd1cmUgdGhlIGludGVy
cHJldGVyICovCi0jaWYgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykK
ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKICNlbmRpZgogCkBAIC05ODYsNyArOTg2LDcg
QEAKICNkZWZpbmUgVVNFX0lNTEFOR19GT05UX0xJTksyIDEKICNlbmRpZgogCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0NPTVBBUkVfQU5EX1NXQVApICYmIChPUyhXSU5ET1dTKSB8fCAoQ09NUElMRVIo
R0NDKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTV9USFVNQjIpIHx8IENQ
VShBUk02NCkpKSkKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCkgJiYgKE9T
KFdJTkRPV1MpIHx8IChDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIChDUFUoWDg2KSB8fCBDUFUo
WDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTTY0KSkpKQogI2RlZmluZSBFTkFC
TEVfQ09NUEFSRV9BTkRfU1dBUCAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvU3RkTGliRXh0cmFzLmggYi9Tb3VyY2UvV1RGL3d0Zi9TdGRMaWJFeHRyYXMuaAppbmRleCA3
ZmQyYjY5NDM2MmUyYmM1YzA4ZWIwYWU5M2FjODBlY2NkMGE5NjUxLi5kNTBhZWRkMWUxM2MyZjg3
NDgxN2Q0NmEzZDg1MmZiMWFmNzg0ODQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9TdGRM
aWJFeHRyYXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGRMaWJFeHRyYXMuaApAQCAtMzgsNyAr
MzgsNyBAQAogLy8KIC8vIE5ld2x5IHdyaXR0ZW4gY29kZSBzaG91bGQgdXNlIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxUPiBpbnN0ZWFkLgogI2lmbmRlZiBERVBSRUNBVEVEX0RFRklORV9TVEFUSUNf
TE9DQUwKLSNpZiBDT01QSUxFUihHQ0MpICYmIGRlZmluZWQoX19BUFBMRV9DQ19fKSAmJiBfX0dO
VUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID09IDAgJiYgX19HTlVDX1BBVENITEVWRUxfXyA9
PSAxCisjaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBkZWZpbmVkKF9fQVBQTEVfQ0NfXykg
JiYgX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA9PSAwICYmIF9fR05VQ19QQVRDSExF
VkVMX18gPT0gMQogI2RlZmluZSBERVBSRUNBVEVEX0RFRklORV9TVEFUSUNfTE9DQUwodHlwZSwg
bmFtZSwgYXJndW1lbnRzKSBcCiAgICAgc3RhdGljIHR5cGUqIG5hbWUjI1B0ciA9IG5ldyB0eXBl
IGFyZ3VtZW50czsgXAogICAgIHR5cGUmIG5hbWUgPSAqbmFtZSMjUHRyCkBAIC04OCw3ICs4OCw3
IEBACiAgKiAtIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODA0NQog
ICogLSBodHRwOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTQzOTc2CiAg
Ki8KLSNpZiAoQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpKSAmJiBDT01QSUxFUihHQ0MpCisjaWYgKENQ
VShBUk0pIHx8IENQVShNSVBTKSkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogdGVtcGxhdGU8
dHlwZW5hbWUgVHlwZT4KIGlubGluZSBib29sIGlzUG9pbnRlclR5cGVBbGlnbm1lbnRPa2F5KFR5
cGUqIHB0cikKIHsKQEAgLTE4MCw3ICsxODAsNyBAQCBpbmxpbmUgc2l6ZV90IGJpdENvdW50KHVp
bnQ2NF90IGJpdHMpCiAvLyBNYWNybyB0aGF0IHJldHVybnMgYSBjb21waWxlIHRpbWUgY29uc3Rh
bnQgd2l0aCB0aGUgbGVuZ3RoIG9mIGFuIGFycmF5LCBidXQgZ2l2ZXMgYW4gZXJyb3IgaWYgcGFz
c2VkIGEgbm9uLWFycmF5LgogdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IFNpemU+IGNoYXIg
KCZBcnJheUxlbmd0aEhlbHBlckZ1bmN0aW9uKFQgKCYpW1NpemVdKSlbU2l6ZV07CiAvLyBHQ0Mg
bmVlZHMgc29tZSBoZWxwIHRvIGRlZHVjZSBhIDAgbGVuZ3RoIGFycmF5LgotI2lmIENPTVBJTEVS
KEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
aGFyICgmQXJyYXlMZW5ndGhIZWxwZXJGdW5jdGlvbihUICgmKVswXSkpWzBdOwogI2VuZGlmCiAj
ZGVmaW5lIFdURl9BUlJBWV9MRU5HVEgoYXJyYXkpIHNpemVvZig6OldURjo6QXJyYXlMZW5ndGhI
ZWxwZXJGdW5jdGlvbihhcnJheSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3Iu
aCBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCmluZGV4IGUzNDYxNzJkMTg2MzVkN2FhODhlOTM5
YjllZTAzM2RiNjA4NWZmOWEuLjE4OGQ3NmRhZDc4ZjNjZmRlMjNiNWY0Y2RiNzVkZGE2NmMyMzFk
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL1ZlY3Rvci5oCkBAIC0xODUsNyArMTg1LDcgQEAgc3RydWN0IFZlY3RvckZpbGxlcjx0cnVl
LCBUPgogICAgIHN0YXRpYyB2b2lkIHVuaW5pdGlhbGl6ZWRGaWxsKFQqIGRzdCwgVCogZHN0RW5k
LCBjb25zdCBUJiB2YWwpIAogICAgIHsKICAgICAgICAgc3RhdGljX2Fzc2VydChzaXplb2YoVCkg
PT0gMSwgIlNpemUgb2YgdHlwZSBUIHNob3VsZCBiZSBlcXVhbCB0byBvbmUhIik7Ci0jaWYgQ09N
UElMRVIoR0NDKSAmJiBkZWZpbmVkKF9GT1JUSUZZX1NPVVJDRSkKKyNpZiBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpICYmIGRlZmluZWQoX0ZPUlRJRllfU09VUkNFKQogICAgICAgICBpZiAoIV9fYnVp
bHRpbl9jb25zdGFudF9wKGRzdEVuZCAtIGRzdCkgfHwgKCEoZHN0RW5kIC0gZHN0KSkpCiAjZW5k
aWYKICAgICAgICAgICAgIG1lbXNldChkc3QsIHZhbCwgZHN0RW5kIC0gZHN0KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQVNDSUlGYXN0UGF0aC5oIGIvU291cmNlL1dURi93dGYv
dGV4dC9BU0NJSUZhc3RQYXRoLmgKaW5kZXggNGFkMWIwODMxZjYyZTcyZGUzZjJiODI3ZmVkMzVh
ZGIwMTVmMmY3MC4uZTViOWQzYmUyZDg1M2VmNjA1ZjQ0N2M2MGY1OTY1OTNjODc5NjFlOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BU0NJSUZhc3RQYXRoLmgKKysrIGIvU291cmNl
L1dURi93dGYvdGV4dC9BU0NJSUZhc3RQYXRoLmgKQEAgLTEzOSw3ICsxMzksNyBAQCBpbmxpbmUg
dm9pZCBjb3B5TENoYXJzRnJvbVVDaGFyU291cmNlKExDaGFyKiBkZXN0aW5hdGlvbiwgY29uc3Qg
VUNoYXIqIHNvdXJjZSwgcwogICAgICAgICBBU1NFUlQoIShzb3VyY2VbaV0gJiAweGZmMDApKTsK
ICAgICAgICAgZGVzdGluYXRpb25baV0gPSBzdGF0aWNfY2FzdDxMQ2hhcj4oc291cmNlW2ldKTsK
ICAgICB9Ci0jZWxpZiBDT01QSUxFUihHQ0MpICYmIENQVShBUk02NCkgJiYgZGVmaW5lZChOREVC
VUcpCisjZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShBUk02NCkgJiYgZGVmaW5l
ZChOREVCVUcpCiAgICAgY29uc3QgTENoYXIqIGNvbnN0IGVuZCA9IGRlc3RpbmF0aW9uICsgbGVu
Z3RoOwogICAgIGNvbnN0IHVpbnRwdHJfdCBtZW1vcnlBY2Nlc3NTaXplID0gMTY7CiAKQEAgLTE2
MCw3ICsxNjAsNyBAQCBpbmxpbmUgdm9pZCBjb3B5TENoYXJzRnJvbVVDaGFyU291cmNlKExDaGFy
KiBkZXN0aW5hdGlvbiwgY29uc3QgVUNoYXIqIHNvdXJjZSwgcwogCiAgICAgd2hpbGUgKGRlc3Rp
bmF0aW9uICE9IGVuZCkKICAgICAgICAgKmRlc3RpbmF0aW9uKysgPSBzdGF0aWNfY2FzdDxMQ2hh
cj4oKnNvdXJjZSsrKTsKLSNlbGlmIENPTVBJTEVSKEdDQykgJiYgQ1BVKEFSTV9ORU9OKSAmJiAh
KENQVShCSUdfRU5ESUFOKSB8fCBDUFUoTUlERExFX0VORElBTikpICYmIGRlZmluZWQoTkRFQlVH
KQorI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoQVJNX05FT04pICYmICEoQ1BV
KEJJR19FTkRJQU4pIHx8IENQVShNSURETEVfRU5ESUFOKSkgJiYgZGVmaW5lZChOREVCVUcpCiAg
ICAgY29uc3QgTENoYXIqIGNvbnN0IGVuZCA9IGRlc3RpbmF0aW9uICsgbGVuZ3RoOwogICAgIGNv
bnN0IHVpbnRwdHJfdCBtZW1vcnlBY2Nlc3NTaXplID0gODsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9O
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9G
RUxpZ2h0aW5nTkVPTi5jcHAKaW5kZXggNzg5YjZhYTQ4MjdjNDcxZWEwMzkxOTc0ZGM4NzUwNjFi
NzI0NTI2NS4uZmU0NGM2Mjc1YTQyY2YxOGNmNWE3ZGY3OWFkYjFlOTAzN2NkZThlYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZF
TGlnaHRpbmdORU9OLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
cHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uY3BwCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRkVMaWdodGluZ05FT04uaCIKIAotI2lmIENQVShB
Uk1fTkVPTikgJiYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ09NUElMRVIoR0NDKQorI2lmIENQ
VShBUk1fTkVPTikgJiYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUwMCw0ICs1MDAsNCBAQCBpbnQgRkVM
aWdodGluZzo6Z2V0UG93ZXJDb2VmZmljaWVudHMoZmxvYXQgZXhwb25lbnQpCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIENQVShBUk1fTkVPTikgJiYgQ09NUElMRVIoR0ND
KQorI2VuZGlmIC8vIENQVShBUk1fTkVPTikgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJz
L0ZFTGlnaHRpbmdORU9OLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUv
YXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaAppbmRleCAxZTcxNDAxNjQ1Y2MxNjI4MzFiOGY4
YTBhYzg3YWRlOTllMjJhYTcyLi40MWI2MWUxNGE1MTJiZDQzODAwOTRmZjI0ZjY4YjEyZGUzZjY5
OWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJt
L2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaApAQCAtMjcsNyArMjcsNyBA
QAogI2lmbmRlZiBGRUxpZ2h0aW5nTkVPTl9oCiAjZGVmaW5lIEZFTGlnaHRpbmdORU9OX2gKIAot
I2lmIENQVShBUk1fTkVPTikgJiYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ09NUElMRVIoR0ND
KQorI2lmIENQVShBUk1fTkVPTikgJiYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ09NUElMRVIo
R0NDX09SX0NMQU5HKQogCiAjaW5jbHVkZSAiRkVMaWdodGluZy5oIgogI2luY2x1ZGUgPHd0Zi9Q
YXJhbGxlbEpvYnMuaD4KQEAgLTE5NCw2ICsxOTQsNiBAQCBpbmxpbmUgdm9pZCBGRUxpZ2h0aW5n
OjpwbGF0Zm9ybUFwcGx5TmVvbihMaWdodGluZ0RhdGEmIGRhdGEsIExpZ2h0U291cmNlOjpQYWlu
dAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBDUFUoQVJNX05FT04pICYm
IENPTVBJTEVSKEdDQykKKyNlbmRpZiAvLyBDUFUoQVJNX05FT04pICYmIENPTVBJTEVSKEdDQ19P
Ul9DTEFORykKIAogI2VuZGlmIC8vIEZFTGlnaHRpbmdORU9OX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3BwCmluZGV4
IDI4YTFjNTRiODM5YTJkNzY5MDc1NTFmMjBlYjY2Yjc4NTU1ODU0MzcuLjI5MjViMGViNjUxMWE5
NTRkYzAxYzA1NDA4MDhjMWYxYWY4NmFhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUxpZ2h0aW5nLmNwcApAQCAtMjgyLDcgKzI4
Miw3IEBAIGlubGluZSB2b2lkIEZFTGlnaHRpbmc6OnBsYXRmb3JtQXBwbHlHZW5lcmljKExpZ2h0
aW5nRGF0YSYgZGF0YSwgTGlnaHRTb3VyY2U6OlBhCiBpbmxpbmUgdm9pZCBGRUxpZ2h0aW5nOjpw
bGF0Zm9ybUFwcGx5KExpZ2h0aW5nRGF0YSYgZGF0YSwgTGlnaHRTb3VyY2U6OlBhaW50aW5nRGF0
YSYgcGFpbnRpbmdEYXRhKQogewogICAgIC8vIFRoZSBzZWxlY3Rpb24gaGVyZSBldmVudHVhbGx5
IHNob3VsZCBoYXBwZW4gZHluYW1pY2FsbHkgb24gc29tZSBwbGF0Zm9ybXMuCi0jaWYgQ1BVKEFS
TV9ORU9OKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDT01QSUxFUihHQ0MpCisjaWYgQ1BV
KEFSTV9ORU9OKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpCiAgICAgcGxhdGZvcm1BcHBseU5lb24oZGF0YSwgcGFpbnRpbmdEYXRhKTsKICNlbHNlCiAg
ICAgcGxhdGZvcm1BcHBseUdlbmVyaWMoZGF0YSwgcGFpbnRpbmdEYXRhKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvZWZsL05ldHdvcmtTdGF0ZU5vdGlmaWVy
RWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvZWZsL05ldHdvcmtTdGF0
ZU5vdGlmaWVyRWZsLmNwcAppbmRleCA2YjNiOWU3YzkxNjFhNjlmYzYyNTcxNDU3N2ZkNmMxZDYw
MmQ1MDdhLi4wM2YzODZkMjA1NDA4YjJkNWIyNjdlZWYwOWQ1ZTMwYWMzMGJiZTVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2VmbC9OZXR3b3JrU3RhdGVOb3Rp
ZmllckVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9lZmwvTmV0
d29ya1N0YXRlTm90aWZpZXJFZmwuY3BwCkBAIC0xMzYsMTIgKzEzNiwxMiBAQCBFaW5hX0Jvb2wg
TmV0d29ya1N0YXRlTm90aWZpZXI6OnJlYWRTb2NrZXRDYWxsYmFjayh2b2lkKiB1c2VyRGF0YSwg
RWNvcmVfRmRfSGFuZAogICAgICAgICAgICAgaWYgKChubGgtPm5sbXNnX3R5cGUgPT0gUlRNX05F
V0FERFIgJiYgIW5vdGlmaWVyLT5tX2lzT25MaW5lKSB8fCAobmxoLT5ubG1zZ190eXBlID09IFJU
TV9ERUxBRERSICYmIG5vdGlmaWVyLT5tX2lzT25MaW5lKSkKICAgICAgICAgICAgICAgICBkZXRl
Y3RlZENoYW5nZSA9IHRydWU7CiAKLSNpZiBDT01QSUxFUihHQ0MpCisjaWYgQ09NUElMRVIoR0ND
X09SX0NMQU5HKQogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCiAjcHJhZ21hIEdDQyBkaWFn
bm9zdGljIGlnbm9yZWQgIi1XY2FzdC1hbGlnbiIKICNlbmRpZgogICAgICAgICAgICAgbmxoID0g
TkxNU0dfTkVYVChubGgsIGxlbmd0aCk7Ci0jaWYgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVS
KEdDQ19PUl9DTEFORykKICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCiAjZW5kaWYKICAgICAg
ICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257843</attachid>
            <date>2015-07-30 11:23:10 -0700</date>
            <delta_ts>2015-08-03 23:51:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146833-20150730112308.patch</filename>
            <type>text/plain</type>
            <size>36854</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
Y2FlYjcyYTIyOTUwMjA4YzBkNWM3NTEyZTVlNzUzN2Y1M2UwMzZhLi4yNWVmYjY5ZTlhODc0ZDBl
MjFkMzhlNzg5ZjQ2YjU5OTQzM2Q4OGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAxNS0wNy0zMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIEludHJvZHVjZSBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpIGd1YXJkIGFu
ZCBtYWtlIENPTVBJTEVSKEdDQykgdHJ1ZSBvbmx5IGZvciBHQ0MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjgzMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVy
Lmg6CisgICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpB
Uk1Bc3NlbWJsZXI6OmNhY2hlRmx1c2gpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTS5jcHA6CisgICAgICAgIChKU0M6OmlzVkZQUHJlc2VudCk6CisgICAgICAgICogYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uOjppc1NTRTJQcmVzZW50KToKKyAgICAgICAgKiBoZWFwL01hY2hpbmVT
dGFja01hcmtlci5oOgorICAgICAgICAqIGludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHA6IFJl
bW92ZWQgcmVkdW5kYW50IENPTVBJTEVSKENMQU5HKSBndWFyZHMuCisgICAgICAgIChKU0M6Omxv
Z0YpOgorICAgICAgICAqIGppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmg6CisgICAgICAgICogaml0
L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBqaXQv
SklUU3R1YnNBUk0uaDoKKyAgICAgICAgKiBqaXQvSklUU3R1YnNBUk12Ny5oOgorICAgICAgICAq
IGppdC9KSVRTdHVic1g4Ni5oOgorICAgICAgICAqIGppdC9KSVRTdHVic1g4NkNvbW1vbi5oOgor
ICAgICAgICAqIGppdC9KSVRTdHVic1g4Nl82NC5oOgorICAgICAgICAqIGppdC9UaHVua0dlbmVy
YXRvcnMuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNFeHBvcnRNYWNyb3MuaDoKKyAgICAgICAg
KiBydW50aW1lL01hdGhDb21tb24uaDogUmVtb3ZlZCByZWR1bmRhbnQgQ09NUElMRVIoQ0xBTkcp
IGd1YXJkLgorICAgICAgICAoSlNDOjpjbHozMik6CisKIDIwMTUtMDctMzAgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJrIG1vcmUgY2xhc3NlcyBhcyBmYXN0
IGFsbG9jYXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCBhMmRiMWFiOTk0ZjZmN2I5MjI5ZjZjMmM5YzhlNmI3ZTJhNTJhOWM5
Li4wN2I1ZDM2YzRlZmJjMjkxOGYyMzkxNGQ0NWVlNDUyNTUzODkxNWNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDE1LTA3LTMwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+
CisKKyAgICAgICAgSW50cm9kdWNlIENPTVBJTEVSKEdDQ19PUl9DTEFORykgZ3VhcmQgYW5kIG1h
a2UgQ09NUElMRVIoR0NDKSB0cnVlIG9ubHkgZm9yIEdDQworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2ODMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvQXNzZXJ0aW9ucy5jcHA6CisgICAgICAg
ICogd3RmL0Fzc2VydGlvbnMuaDogUmVtb3ZlZCByZWR1bmRhbnQgQ09NUElMRVIoQ0xBTkcpIGd1
YXJkLgorICAgICAgICAqIHd0Zi9BdG9taWNzLmNwcDoKKyAgICAgICAgKiB3dGYvQXRvbWljcy5o
OgorICAgICAgICAoV1RGOjp3ZWFrQ29tcGFyZUFuZFN3YXApOgorICAgICAgICAoV1RGOjpjb21w
aWxlckZlbmNlKToKKyAgICAgICAgKiB3dGYvQ29tcGlsZXIuaDoKKyAgICAgICAgIC0gUmVuYW1l
ZCBDT01QSUxFUihHQ0MpIHRvIENPTVBJTEVSKEdDQ19PUl9DTEFORyksIGJlY2F1c2UgaXQgaXMg
dHJ1ZSBmb3IgYm90aCBjb21waWxlci4KKyAgICAgICAgIC0gQWRkZWQgQ09NUElMRVIoR0NDKSB3
aGljaCBpcyB0cnVlIG9ubHkgZm9yIEdDQy4KKyAgICAgICAgIC0gTW92ZWQgYWxsIEdDQyByZWxh
dGVkIHN0dWZmIHRvIG9uZSBibG9jayBhbmQgcmVtb3ZlZCByZWR1bmRhbnQgZ3VhcmRzIGFjY29y
ZGluZ2x5LgorICAgICAgICAgLSBSZW1vdmVkIHRoZSB1bnVzZWQgZGVmYXVsdCBmYWxzZSBkZWZp
bml0aW9uIG9mIEdDQ19WRVJTSU9OX0FUX0xFQVNUIGZvciBub24gR0NDIGNvbXBpbGVycy4KKyAg
ICAgICAgKiB3dGYvRXhwb3J0TWFjcm9zLmg6CisgICAgICAgICogd3RmL0Zhc3RNYWxsb2MuaDoK
KyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB3dGYvU3RkTGliRXh0cmFzLmg6
CisgICAgICAgICogd3RmL1ZlY3Rvci5oOgorICAgICAgICAqIHd0Zi90ZXh0L0FTQ0lJRmFzdFBh
dGguaDoKKyAgICAgICAgKFdURjo6Y29weUxDaGFyc0Zyb21VQ2hhclNvdXJjZSk6CisKIDIwMTUt
MDctMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJrIG1v
cmUgY2xhc3NlcyBhcyBmYXN0IGFsbG9jYXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM1OThiY2RjNDkyOGZj
NjljYzM0YzkzY2RmN2RhNzk3ZmI1NWQ4OTIuLjg2NDliYzMwZTQwYzZhZGIxN2FhNzk1NjM4ZjZl
NGQzN2QwMjY5YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNS0wNy0zMCAgQ3Nh
YmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgorCisgICAgICAgIEludHJvZHVjZSBD
T01QSUxFUihHQ0NfT1JfQ0xBTkcpIGd1YXJkIGFuZCBtYWtlIENPTVBJTEVSKEdDQykgdHJ1ZSBv
bmx5IGZvciBHQ0MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0NjgzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGlu
Z05FT04uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVMaWdodGluZzo6cGxhdGZvcm1BcHBseSk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9lZmwvTmV0d29ya1N0YXRlTm90aWZpZXJFZmwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0YXRlTm90aWZpZXI6OnJlYWRTb2NrZXRDYWxsYmFj
ayk6CisKIDIwMTUtMDctMjkgIE1hdHQgUmFqY2EgIDxtcmFqY2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIE1lZGlhIFNlc3Npb246IGFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgdGVzdGluZyBtZWRpYSBj
b250cm9sIGV2ZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BUk02NEFzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02
NEFzc2VtYmxlci5oCmluZGV4IDY4ZjNlZDAzNDJkYmNiZTVhOGQ3NTU0NmY4M2ZjZjUwNWExNmI5
ODguLjJiNWZlYzYyMjU5ZDQwMzBjOTIwMDVkZmIzYTI2NTY5Y2JmMTk3MjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRBc3NlbWJsZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmgKQEAgLTI4NTEs
NyArMjg1MSw3IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIGRlYnVnT2Zmc2V0KCkgeyByZXR1
cm4gbV9idWZmZXIuZGVidWdPZmZzZXQoKTsgfQogCi0jaWYgT1MoTElOVVgpICYmIENPTVBJTEVS
KEdDQykKKyNpZiBPUyhMSU5VWCkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogICAgIHN0YXRp
YyBpbmxpbmUgdm9pZCBsaW51eFBhZ2VGbHVzaCh1aW50cHRyX3QgYmVnaW4sIHVpbnRwdHJfdCBl
bmQpCiAgICAgewogICAgICAgICBfX2J1aWx0aW5fX19jbGVhcl9jYWNoZShyZWludGVycHJldF9j
YXN0PHZvaWQqPihiZWdpbiksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGVuZCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKaW5kZXggZjE4ZjBm
ZTA4Mjk0ODNiZTNhMjNlMTg4MDc3ZTJkNDU1NmE5ZWI0Zi4uYjMxNGVhNjkwMzE4N2UwNTYyZjky
NjJmZTU0NWMwNzIxODhiMmY4NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9BUk1Bc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL0FSTUFzc2VtYmxlci5oCkBAIC0xMDkxLDcgKzEwOTEsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgICAgIHJldHVybiBBTCB8IEIgfCAob2Zmc2V0ICYgQnJhbmNoT2Zmc2V0TWFzayk7
CiAgICAgICAgIH0KIAotI2lmIE9TKExJTlVYKSAmJiBDT01QSUxFUihHQ0MpCisjaWYgT1MoTElO
VVgpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICAgICAgICAgc3RhdGljIGlubGluZSB2b2lk
IGxpbnV4UGFnZUZsdXNoKHVpbnRwdHJfdCBiZWdpbiwgdWludHB0cl90IGVuZCkKICAgICAgICAg
ewogICAgICAgICAgICAgYXNtIHZvbGF0aWxlKApAQCAtMTExMSw3ICsxMTExLDcgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIHZvaWQgY2FjaGVGbHVzaCh2b2lkKiBjb2RlLCBz
aXplX3Qgc2l6ZSkKICAgICAgICAgewotI2lmIE9TKExJTlVYKSAmJiBDT01QSUxFUihHQ0MpCisj
aWYgT1MoTElOVVgpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICAgICAgICAgICAgIHNpemVf
dCBwYWdlID0gcGFnZVNpemUoKTsKICAgICAgICAgICAgIHVpbnRwdHJfdCBjdXJyZW50ID0gcmVp
bnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGNvZGUpOwogICAgICAgICAgICAgdWludHB0cl90IGVu
ZCA9IGN1cnJlbnQgKyBzaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmNwcAppbmRleCAyNTAwZDg0ODcxMzQwOTg3ZWFjYTk5
ZmYzOWM3OWRkNWZmNWU0MmQ0Li5iMGE5YmYwNzQzOGI3ODU5MjZlZDU5NmQ4MmUzODJlMTkwMGQ2
MGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQVJNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNLmNwcApAQCAtNTgsNyArNTgsNyBAQCBzdGF0aWMgYm9vbCBpc1ZGUFByZXNl
bnQoKQogICAgIH0KICNlbmRpZiAvLyBPUyhMSU5VWCkKIAotI2lmIChDT01QSUxFUihHQ0MpICYm
IGRlZmluZWQoX19WRlBfRlBfXykpCisjaWYgKENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgZGVm
aW5lZChfX1ZGUF9GUF9fKSkKICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlclg4NkNvbW1vbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbi5oCmluZGV4IGIzYjUwNzQ4YTk2Yzk4YjNjNGU4NjJlNzA5NDY2
YzVhYTA1NWQ1MjQuLmI2YWU2ZmM2ZmFhMjFmZjQwZDBjYTNmMjVlOTBiMjIxNTBlMDIyZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJY
ODZDb21tb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uLmgKQEAgLTE1NzcsNyArMTU3Nyw3IEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICAgICAgY3B1aWQ7CiAgICAgICAgICAgICAgICAgbW92IGZsYWdzLCBlZHg7CiAgICAgICAg
ICAgICB9Ci0jZWxpZiBDT01QSUxFUihHQ0MpCisjZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcp
CiAgICAgICAgICAgICBhc20gKAogICAgICAgICAgICAgICAgICAibW92bCAkMHgxLCAlJWVheDsi
CiAgICAgICAgICAgICAgICAgICJwdXNobCAlJWVieDsiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9NYWNoaW5lU3RhY2tNYXJrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL01hY2hpbmVTdGFja01hcmtlci5oCmluZGV4IDliNmI3MzI3YjYyZThiYmIwZTNi
YWY2NDg0MTEwNGI0MWU0ZDQyZmMuLjA3MjNhZDgxY2RkYTRiMWE0M2U5MzEyMzk1YTY2YzhmYTFm
NGQ3ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVTdGFj
a01hcmtlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVTdGFja01h
cmtlci5oCkBAIC02OSw3ICs2OSw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAotI2lmIENPTVBJTEVSKEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAj
ZGVmaW5lIFJFR0lTVEVSX0JVRkZFUl9BTElHTk1FTlQgX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQg
KHNpemVvZih2b2lkKikpKSkKICNlbHNlCiAjZGVmaW5lIFJFR0lTVEVSX0JVRkZFUl9BTElHTk1F
TlQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zp
c2l0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRv
ci5jcHAKaW5kZXggNjQ5NmZhNGQ0NTcwZTdmMTNkN2YzYTNkMDUyOGM4MGQzNTgzNDE3Mi4uNmZl
NzkyYjdlODQ0ZTZjNDAwYTJmMmEyYzRjZTUzNDgwODVmODExMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAKQEAgLTMzMSw3ICsz
MzEsNyBAQCB2b2lkIGxvZ0YodW5zaWduZWQgaW5kZW50LCBjb25zdCBjaGFyKiBmb3JtYXQsIGNv
bnN0IFR5cGVzJi4uLiB2YWx1ZXMpCiB7CiAgICAgcHJpbnRJbmRlbnRzKGluZGVudCk7CiAKLSNp
ZiBDT01QSUxFUihDTEFORykgfHwgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdDQ19PUl9D
TEFORykKICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBHQ0MgZGlhZ25vc3Rp
YyBpZ25vcmVkICItV2Zvcm1hdC1ub25saXRlcmFsIgogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBp
Z25vcmVkICItV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSIKQEAgLTMzOSw3ICszMzksNyBAQCB2
b2lkIGxvZ0YodW5zaWduZWQgaW5kZW50LCBjb25zdCBjaGFyKiBmb3JtYXQsIGNvbnN0IFR5cGVz
Ji4uLiB2YWx1ZXMpCiAKICAgICBkYXRhTG9nRihmb3JtYXQsIHZhbHVlcy4uLik7CiAKLSNpZiBD
T01QSUxFUihDTEFORykgfHwgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFO
RykKICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmgKaW5kZXggODNjNTg3NWI0ZTE3
YzhlN2Q4N2U1MTg0MmI2NjE0NjY0OGM4N2MyMy4uNzFmZjRlNWJkOGIwNWIwODY4NWZiMDlmNmNm
Y2Y2NjkxYWE3MDhjYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0
Q2FsbFJldHVyblZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2Fs
bFJldHVyblZhbHVlLmgKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGV4dGVy
biAiQyIgRW5jb2RlZEpTVmFsdWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSgpIFJFRkVSRU5DRURfRlJPTV9BU00gV1RGX0lOVEVSTkFMOwogCi0j
aWYgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKIAogLy8gVGhpcyBp
cyBhIHB1YmxpYyBkZWNsYXJhdGlvbiBvbmx5IHRvIGNvbnZpbmNlIENMQU5HIG5vdCB0byBlbGlk
ZSBpdC4KIGV4dGVybiAiQyIgRW5jb2RlZEpTVmFsdWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9P
UFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUoRXhlY1N0YXRlKikgUkVG
RVJFTkNFRF9GUk9NX0FTTSBXVEZfSU5URVJOQUw7CkBAIC01MSwxMSArNTEsMTEgQEAgaW5saW5l
IHZvaWQgaW5pdGlhbGl6ZUhvc3RDYWxsUmV0dXJuVmFsdWUoKQogICAgIGdldEhvc3RDYWxsUmV0
dXJuVmFsdWVXaXRoRXhlY1N0YXRlKDApOwogfQogCi0jZWxzZSAvLyBDT01QSUxFUihHQ0MpCisj
ZWxzZSAvLyBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAKIGlubGluZSB2b2lkIGluaXRpYWxpemVI
b3N0Q2FsbFJldHVyblZhbHVlKCkgeyB9CiAKLSNlbmRpZiAvLyBDT01QSUxFUihHQ0MpCisjZW5k
aWYgLy8gQ09NUElMRVIoR0NDX09SX0NMQU5HKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmgKaW5kZXggMDIxMzk2MzRiMWRmZWQ2MTA1NjJkZWNiNTc4ZGIzOGQ2
YjE2MDM0ZS4uMWFkZTY2NWRmNzkyODJjNjBjMmE4ODU2ODVmZDUzMTdkN2E1NTRkNSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oCkBAIC0zMCw3ICszMCw3IEBACiAKIC8vIFdlJ3ZlIHJ1biBpbnRv
IHNvbWUgcHJvYmxlbXMgd2hlcmUgY2hhbmdpbmcgdGhlIHNpemUgb2YgdGhlIGNsYXNzIEpJVCBs
ZWFkcyB0bwogLy8gcGVyZm9ybWFuY2UgZmx1Y3R1YXRpb25zLiAgVHJ5IGZvcmNpbmcgYWxpZ25t
ZW50IGluIGFuIGF0dGVtcHQgdG8gc3RhYmFsaXplIHRoaXMuCi0jaWYgQ09NUElMRVIoR0NDKQor
I2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICNkZWZpbmUgSklUX0NMQVNTX0FMSUdOTUVOVCBf
X2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAoMzIpKSkKICNlbHNlCiAjZGVmaW5lIEpJVF9DTEFTU19B
TElHTk1FTlQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmlu
ZGV4IDRiNThiNDRkMDA0MmQyN2IyNGMwM2NjZmQ2Y2NhZjk4ZGFhNzgzMWEuLjZjNmVlZjAwOWJl
OTYxZDY3YjcwYmMyMjI5ZGE5MGNiZGE0ZTRlYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtMTkxOCwxMSArMTkxOCwxMSBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uVk1IYW5kbGVFeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjKQogLy8g
dGVzdGluZy4KIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25FeGNlcHRpb25GdXp6KCkKIHsK
LSNpZiBDT01QSUxFUihHQ0MpCisjaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IHN0YXRpY19jYXN0PEV4ZWNTdGF0ZSo+KF9fYnVpbHRpbl9mcmFtZV9hZGRy
ZXNzKDEpKTsKICAgICB2b2lkKiByZXR1cm5QQyA9IF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygw
KTsKICAgICBkb0V4Y2VwdGlvbkZ1enppbmcoZXhlYywgIkpJVE9wZXJhdGlvbnMiLCByZXR1cm5Q
Qyk7Ci0jZW5kaWYgLy8gQ09NUElMRVIoR0NDKQorI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9D
TEFORykKIH0KIAogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNHZW5l
cmljUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZVZh
bHVlLCBKU0NlbGwqIHByb3BlcnR5TmFtZSkKQEAgLTE5ODgsNyArMTk4OCw3IEBAIGV4dGVybiAi
QyIgRW5jb2RlZEpTVmFsdWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZVdpCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShleGVjLT52bSgpLmhv
c3RDYWxsUmV0dXJuVmFsdWUpOwogfQogCi0jaWYgQ09NUElMRVIoR0NDKSAmJiBDUFUoWDg2XzY0
KQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKFg4Nl82NCkKIGFzbSAoCiAiLmds
b2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBISURFX1NZ
TUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCkBAIC0xOTk3LDcgKzE5OTcsNyBAQCBT
WU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCiAgICAgImptcCAi
IExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxu
IgogKTsKIAotI2VsaWYgQ09NUElMRVIoR0NDKSAmJiBDUFUoWDg2KQorI2VsaWYgQ09NUElMRVIo
R0NDX09SX0NMQU5HKSAmJiBDUFUoWDg2KQogYXNtICgKICIudGV4dCIgIlxuIiBcCiAiLmdsb2Js
ICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCkBAIC0yMDEyLDcg
KzIwMTIsNyBAQCBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4i
CiAgICAgInJldFxuIgogKTsKIAotI2VsaWYgQ09NUElMRVIoR0NDKSAmJiBDUFUoQVJNX1RIVU1C
MikKKyNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKEFSTV9USFVNQjIpCiBhc20g
KAogIi50ZXh0IiAiXG4iCiAiLmFsaWduIDIiICJcbiIKQEAgLTIwMjUsNyArMjAyNSw3IEBAIFNZ
TUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKICAgICAiYiAiIExP
Q0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgog
KTsKIAotI2VsaWYgQ09NUElMRVIoR0NDKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQorI2VsaWYg
Q09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQogYXNtICgKICIu
dGV4dCIgIlxuIgogIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZSkgIlxuIgpAQCAtMjA0Nyw3ICsyMDQ3LDcgQEAgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKSAiOiIgIlxuIgogICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2Fs
bFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgogKTsKIAotI2VsaWYgQ09NUElMRVIoR0ND
KSAmJiBDUFUoTUlQUykKKyNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKE1JUFMp
CiAKICNpZiBXVEZfTUlQU19QSUMKICNkZWZpbmUgTE9BRF9GVU5DVElPTl9UT19UOShmdW5jdGlv
bikgXApAQCAtMjA2OSw3ICsyMDY5LDcgQEAgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVy
blZhbHVlKSAiOiIgIlxuIgogICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0
dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCiApOwogCi0jZWxpZiBDT01QSUxFUihHQ0MpICYm
IENQVShTSDQpCisjZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShTSDQpCiAKICNk
ZWZpbmUgU0g0X1NDUkFUQ0hfUkVHSVNURVIgInIxMSIKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic0FSTS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRTdHVic0FSTS5oCmluZGV4IDE5YzM3Yjc1NDJkYWM0Y2RmYzE4MDM5ZjZmNWEyMzAxNGI5
ODRiYWEuLjM4Yzk2OGY4M2I5MmJjNzZlNjM5ZDVmZjIzYTI5OGJkMDMwMDBmODcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNBUk0uaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNLmgKQEAgLTQxLDcgKzQxLDcgQEAKIAogbmFt
ZXNwYWNlIEpTQyB7CiAKLSNpZiBDT01QSUxFUihHQ0MpCisjaWYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKQogCiAjaWYgRU5BQkxFKE1BU01fUFJPQkUpCiAvLyBUaGUgZm9sbG93aW5nIGFyZSBvZmZz
ZXRzIGZvciBNYWNyb0Fzc2VtYmxlcjo6UHJvYmVDb250ZXh0IGZpZWxkcyBhY2Nlc3NlZApAQCAt
Mjk1LDcgKzI5NSw3IEBAIFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZUVuZCkg
IjoiICJcbiIKIAogCiAKLSNlbmRpZiAvLyBDT01QSUxFUihHQ0MpCisjZW5kaWYgLy8gQ09NUElM
RVIoR0NDX09SX0NMQU5HKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic0FSTXY3LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVFN0dWJzQVJNdjcuaAppbmRleCBjYmU5NzkxY2I1ZWMyYzk2NTZkNmRkNmY4
N2EzZWYxM2NkNmRiMjBiLi45YTcxYjYzMWJlZWM5ZWQzYWE3ZWNmYzQ1ZjYzYTA0YTlkMmIxMjdk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNdjcuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNdjcuaApAQCAtNDEsNyAr
NDEsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotI2lmIENPTVBJTEVSKEdDQykKKyNpZiBDT01Q
SUxFUihHQ0NfT1JfQ0xBTkcpCiAKICNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKIC8vIFRoZSBmb2xs
b3dpbmcgYXJlIG9mZnNldHMgZm9yIE1hY3JvQXNzZW1ibGVyOjpQcm9iZUNvbnRleHQgZmllbGRz
IGFjY2Vzc2VkCkBAIC0zMjcsNyArMzI3LDcgQEAgU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVU
cmFtcG9saW5lRW5kKSAiOiIgIlxuIgogKTsKICNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkK
IAotI2VuZGlmIC8vIENPTVBJTEVSKEdDQykKKyNlbmRpZiAvLyBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVFN0dWJzWDg2LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0
dWJzWDg2LmgKaW5kZXggZmZkMTE5NzYzYjhjNDdiZjI4NTA2Mzc4Mjg5NzJkOGUyOGQ4NjA0ZC4u
ZDViZGNjZTI2Njc1NzdmY2ZiMmRhYzhjNjE0MmRhMDE5MjhlMzE3OCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Ni5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUU3R1YnNYODYuaApAQCAtNDMsNyArNDMsNyBAQAogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotI2lmIENPTVBJTEVSKEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAK
ICNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKIGFzbSAoCkBAIC0xOTgsNyArMTk4LDcgQEAgU1lNQk9M
X1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lRW5kKSAiOiIgIlxuIgogKTsKICNlbmRpZiAv
LyBFTkFCTEUoTUFTTV9QUk9CRSkKIAotI2VuZGlmIC8vIENPTVBJTEVSKEdDQykKKyNlbmRpZiAv
LyBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2Q29tbW9uLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2Q29tbW9uLmgKaW5kZXggMDBiMzYxYzg5
Y2U0NmViMjEwM2RiNGViY2U3MDJkNGE4MDc0Zjc1ZS4uNzg2YTMwZjJlNjI1MzhmYzNhNTI4MmYx
YzRhNjhmNjVlYzk4NTc4YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRTdHVic1g4NkNvbW1vbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YnNYODZDb21tb24uaApAQCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotI2lm
IENPTVBJTEVSKEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAKICNpZiBFTkFCTEUo
TUFTTV9QUk9CRSkKIC8vIFRoZSBmb2xsb3dpbmcgYXJlIG9mZnNldHMgZm9yIE1hY3JvQXNzZW1i
bGVyOjpQcm9iZUNvbnRleHQgZmllbGRzIGFjY2Vzc2VkCkBAIC0xNTcsNyArMTU3LDcgQEAgQ09N
UElMRV9BU1NFUlQoc2l6ZW9mKE1hY3JvQXNzZW1ibGVyOjpQcm9iZUNvbnRleHQpID09IFBST0JF
X1NJWkUsIFByb2JlQ29udGV4dF8KIAogI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQogCi0j
ZW5kaWYgLy8gQ09NUElMRVIoR0NDKQorI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9DTEFORykK
IAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUU3R1YnNYODZfNjQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YnNYODZfNjQuaAppbmRleCAyMWZiZGRiZmY3YWJkZTRkYzJiNzRjMTg0NThhZDM0NjlkNzM3ZTJi
Li4wNjE3NDY1NjYxYmIzNTY1NjM2ZmM4Y2I5ZGRkMjUyMzc5MDg2NDVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2XzY0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Nl82NC5oCkBAIC00Myw3ICs0Myw3IEBACiAKIG5h
bWVzcGFjZSBKU0MgewogCi0jaWYgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdDQ19PUl9D
TEFORykKIAogI2lmIEVOQUJMRShNQVNNX1BST0JFKQogYXNtICgKQEAgLTIyNyw3ICsyMjcsNyBA
QCBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVFbmQpICI6IiAiXG4iCiApOwog
I2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQogCi0jZW5kaWYgLy8gQ09NUElMRVIoR0NDKQor
I2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9DTEFORykKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAppbmRleCBh
NmE3OGFhMTJkMzkxNmE4OWViNjhhOWQ2MGFkY2E2MDAwMTMwMzUzLi4zNGM2NTA0ZGQxMjkwMzlj
M2RjNzM0YmRmZDBiZGEyYTVkNmU1MjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9UaHVua0dlbmVyYXRvcnMuY3BwCkBAIC02MzQsNyArNjM0LDcgQEAgTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmIHNxcnRUaHVua0dlbmVyYXRvcihWTSogdm0pCiBlbnVtIE1hdGhUaHVua0NhbGxpbmdD
b252ZW50aW9uIHsgfTsKIHR5cGVkZWYgTWF0aFRodW5rQ2FsbGluZ0NvbnZlbnRpb24oKk1hdGhU
aHVuaykoTWF0aFRodW5rQ2FsbGluZ0NvbnZlbnRpb24pOwogCi0jaWYgQ1BVKFg4Nl82NCkgJiYg
Q09NUElMRVIoR0NDKSAmJiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkpCisjaWYgQ1BVKFg4Nl82
NCkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkp
CiAKICNkZWZpbmUgZGVmaW5lVW5hcnlEb3VibGVPcFdyYXBwZXIoZnVuY3Rpb24pIFwKICAgICBh
c20oIFwKQEAgLTY1Miw3ICs2NTIsNyBAQCB0eXBlZGVmIE1hdGhUaHVua0NhbGxpbmdDb252ZW50
aW9uKCpNYXRoVGh1bmspKE1hdGhUaHVua0NhbGxpbmdDb252ZW50aW9uKTsKICAgICB9IFwKICAg
ICBzdGF0aWMgTWF0aFRodW5rIFVuYXJ5RG91YmxlT3BXcmFwcGVyKGZ1bmN0aW9uKSA9ICZmdW5j
dGlvbiMjVGh1bms7CiAKLSNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQykgJiYgT1MoTElO
VVgpICYmIGRlZmluZWQoX19QSUNfXykKKyNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQ19P
Ul9DTEFORykgJiYgT1MoTElOVVgpICYmIGRlZmluZWQoX19QSUNfXykKICNkZWZpbmUgZGVmaW5l
VW5hcnlEb3VibGVPcFdyYXBwZXIoZnVuY3Rpb24pIFwKICAgICBhc20oIFwKICAgICAgICAgIi50
ZXh0XG4iIFwKQEAgLTY3Niw3ICs2NzYsNyBAQCB0eXBlZGVmIE1hdGhUaHVua0NhbGxpbmdDb252
ZW50aW9uKCpNYXRoVGh1bmspKE1hdGhUaHVua0NhbGxpbmdDb252ZW50aW9uKTsKICAgICB9IFwK
ICAgICBzdGF0aWMgTWF0aFRodW5rIFVuYXJ5RG91YmxlT3BXcmFwcGVyKGZ1bmN0aW9uKSA9ICZm
dW5jdGlvbiMjVGh1bms7CiAKLSNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQykgJiYgKE9T
KERBUldJTikgfHwgT1MoTElOVVgpKQorI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0NDX09S
X0NMQU5HKSAmJiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkpCiAjZGVmaW5lIGRlZmluZVVuYXJ5
RG91YmxlT3BXcmFwcGVyKGZ1bmN0aW9uKSBcCiAgICAgYXNtKCBcCiAgICAgICAgICIudGV4dFxu
IiBcCkBAIC02OTYsNyArNjk2LDcgQEAgdHlwZWRlZiBNYXRoVGh1bmtDYWxsaW5nQ29udmVudGlv
bigqTWF0aFRodW5rKShNYXRoVGh1bmtDYWxsaW5nQ29udmVudGlvbik7CiAgICAgfSBcCiAgICAg
c3RhdGljIE1hdGhUaHVuayBVbmFyeURvdWJsZU9wV3JhcHBlcihmdW5jdGlvbikgPSAmZnVuY3Rp
b24jI1RodW5rOwogCi0jZWxpZiBDUFUoQVJNX1RIVU1CMikgJiYgQ09NUElMRVIoR0NDKSAmJiBQ
TEFURk9STShJT1MpCisjZWxpZiBDUFUoQVJNX1RIVU1CMikgJiYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKSAmJiBQTEFURk9STShJT1MpCiAKICNkZWZpbmUgZGVmaW5lVW5hcnlEb3VibGVPcFdyYXBw
ZXIoZnVuY3Rpb24pIFwKICAgICBhc20oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRXhwb3J0TWFjcm9zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0V4cG9ydE1hY3Jvcy5oCmluZGV4IGI1MGVhMmVlODZhYTJjNjM2YzIwYzVmODQxNTZl
NmM1NjQ1MGExNmMuLmJkNDY1OTFiNGNjMmRmNjQ0Yjk2NGE4ODg0ZmM2MzA0ODZhYzdiNDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRXhwb3J0TWFjcm9zLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNFeHBvcnRNYWNyb3MuaApAQCAt
NDcsNyArNDcsNyBAQAogCiAjZWxzZSAvLyAhVVNFKEVYUE9SVF9NQUNST1MpCiAKLSNpZiBPUyhX
SU5ET1dTKSAmJiAhQ09NUElMRVIoR0NDKQorI2lmIE9TKFdJTkRPV1MpICYmICFDT01QSUxFUihH
Q0NfT1JfQ0xBTkcpCiAKICNpZiBkZWZpbmVkKEJVSUxESU5HX0phdmFTY3JpcHRDb3JlKSB8fCBk
ZWZpbmVkKFNUQVRJQ0FMTFlfTElOS0VEX1dJVEhfSmF2YVNjcmlwdENvcmUpCiAjZGVmaW5lIEpT
X0VYUE9SVERBVEEgX19kZWNsc3BlYyhkbGxleHBvcnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9NYXRoQ29tbW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXRoQ29tbW9uLmgKaW5kZXggODQwZDg2MzVmZjVhMDA0ZTVhNTlmZmNlNDA3N2Ji
YTFhNjAyZDg0Yy4uMmY4NGVkNzI3Y2FmYzhmYTI4MTg1NjcwMmI5MTA5ZTA1N2JmM2FlMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENvbW1vbi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhDb21tb24uaApAQCAtMzcsNyArMzcs
NyBAQCBkb3VibGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRoUG93KGRvdWJsZSB4LCBkb3Vi
bGUgeSkgV1RGX0lOVEVSTkFMOwogCiBpbmxpbmUgaW50IGNsejMyKHVpbnQzMl90IG51bWJlcikK
IHsKLSNpZiBDT01QSUxFUihHQ0MpIHx8IENPTVBJTEVSKENMQU5HKQorI2lmIENPTVBJTEVSKEdD
Q19PUl9DTEFORykKICAgICBpbnQgemVyb0NvdW50ID0gMzI7CiAgICAgaWYgKG51bWJlcikKICAg
ICAgICAgemVyb0NvdW50ID0gX19idWlsdGluX2NseihudW1iZXIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmNw
cAppbmRleCBmNzM2Zjg1MWFjNGQ3NzA2Yjg3OTgwOGQzOTNjZWIyZGU5ZDhjZjE5Li44YzIxYzgz
YTliZWNiYjhmNWNlNDc1NzRlZjZjZDYyN2RmYjc2ZjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9Bc3NlcnRpb25zLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmNwcApA
QCAtMTQwLDcgKzE0MCw3IEBAIHN0YXRpYyB2b2lkIHZwcmludGZfc3RkZXJyX2NvbW1vbihjb25z
dCBjaGFyKiBmb3JtYXQsIHZhX2xpc3QgYXJncykKICAgICB2ZnByaW50ZihzdGRlcnIsIGZvcm1h
dCwgYXJncyk7CiB9CiAKLSNpZiBDT01QSUxFUihDTEFORykgfHwgQ09NUElMRVIoR0NDKQorI2lm
IENPTVBJTEVSKEdDQ19PUl9DTEFORykKICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAogI3By
YWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Zvcm1hdC1ub25saXRlcmFsIgogI2VuZGlm
CkBAIC0xNzMsNyArMTczLDcgQEAgc3RhdGljIHZvaWQgdnByaW50Zl9zdGRlcnJfd2l0aF90cmFp
bGluZ19uZXdsaW5lKGNvbnN0IGNoYXIqIGZvcm1hdCwgdmFfbGlzdCBhcmcKICAgICB2cHJpbnRm
X3N0ZGVycl9jb21tb24oZm9ybWF0V2l0aE5ld2xpbmUuZ2V0KCksIGFyZ3MpOwogfQogCi0jaWYg
Q09NUElMRVIoQ0xBTkcpIHx8IENPTVBJTEVSKEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpCiAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAogI2VuZGlmCiAKQEAgLTMyMCw3ICszMjAs
NyBAQCB2b2lkIFdURkNyYXNoKCkKICAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKICAgICAqKGlu
dCAqKSh1aW50cHRyX3QpMHhiYmFkYmVlZiA9IDA7CiAgICAgLy8gTW9yZSByZWxpYWJsZSwgYnV0
IGRvZXNuJ3Qgc2F5IEJCQURCRUVGLgotI2lmIENPTVBJTEVSKENMQU5HKSB8fCBDT01QSUxFUihH
Q0MpCisjaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogICAgIF9fYnVpbHRpbl90cmFwKCk7CiAj
ZWxzZQogICAgICgodm9pZCgqKSgpKTApKCk7CkBAIC0zMzQsNyArMzM0LDcgQEAgdm9pZCBXVEZD
cmFzaFdpdGhTZWN1cml0eUltcGxpY2F0aW9uKCkKICAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsK
ICAgICAqKGludCAqKSh1aW50cHRyX3QpMHhmYmFkYmVlZiA9IDA7CiAgICAgLy8gTW9yZSByZWxp
YWJsZSwgYnV0IGRvZXNuJ3Qgc2F5IGZiYWRiZWVmLgotI2lmIENPTVBJTEVSKENMQU5HKSB8fCBD
T01QSUxFUihHQ0MpCisjaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogICAgIF9fYnVpbHRpbl90
cmFwKCk7CiAjZWxzZQogICAgICgodm9pZCgqKSgpKTApKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmgKaW5kZXgg
MTFkNjEyMGQyZTJmMjc2NTg0YmU1OTc4NTA1NTZmYTFmYmQzNDU2Zi4uYjE0MjFkMTQwYjk1Yzhi
M2Q1M2RjN2IyYTUzM2U5ODIyNjUzYmZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQXNz
ZXJ0aW9ucy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaApAQCAtNzksNyArNzks
NyBAQAogI2RlZmluZSBMT0dfRElTQUJMRUQgQVNTRVJUSU9OU19ESVNBQkxFRF9ERUZBVUxUCiAj
ZW5kaWYKIAotI2lmIENPTVBJTEVSKEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAj
ZGVmaW5lIFdURl9QUkVUVFlfRlVOQ1RJT04gX19QUkVUVFlfRlVOQ1RJT05fXwogI2Vsc2UKICNk
ZWZpbmUgV1RGX1BSRVRUWV9GVU5DVElPTiBfX0ZVTkNUSU9OX18KQEAgLTg4LDcgKzg4LDcgQEAK
IC8qIFdURiBsb2dnaW5nIGZ1bmN0aW9ucyBjYW4gcHJvY2VzcyAlQCBpbiB0aGUgZm9ybWF0IHN0
cmluZyB0byBsb2cgYSBOU09iamVjdCogYnV0IHRoZSBwcmludGYgZm9ybWF0IGF0dHJpYnV0ZQog
ICAgZW1pdHMgYSB3YXJuaW5nIHdoZW4gJUAgaXMgdXNlZCBpbiB0aGUgZm9ybWF0IHN0cmluZy4g
IFVudGlsIDxyZGFyOi8vcHJvYmxlbS81MTk1NDM3PiBpcyByZXNvbHZlZCB3ZSBjYW4ndCBpbmNs
dWRlCiAgICB0aGUgYXR0cmlidXRlIHdoZW4gYmVpbmcgdXNlZCBmcm9tIE9iamVjdGl2ZS1DIGNv
ZGUgaW4gY2FzZSBpdCBkZWNpZGVzIHRvIHVzZSAlQC4gKi8KLSNpZiBDT01QSUxFUihHQ0MpICYm
ICFkZWZpbmVkKF9fT0JKQ19fKQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgIWRlZmlu
ZWQoX19PQkpDX18pCiAjZGVmaW5lIFdURl9BVFRSSUJVVEVfUFJJTlRGKGZvcm1hdFN0cmluZ0Fy
Z3VtZW50LCBleHRyYUFyZ3VtZW50cykgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyhwcmludGYs
IGZvcm1hdFN0cmluZ0FyZ3VtZW50LCBleHRyYUFyZ3VtZW50cykpKQogI2Vsc2UKICNkZWZpbmUg
V1RGX0FUVFJJQlVURV9QUklOVEYoZm9ybWF0U3RyaW5nQXJndW1lbnQsIGV4dHJhQXJndW1lbnRz
KQpAQCAtMTE1LDcgKzExNSw3IEBAIGV4dGVybiAiQyIgewogCiAgICBTaWduYWxzIGFyZSBpZ25v
cmVkIGJ5IHRoZSBjcmFzaCByZXBvcnRlciBvbiBPUyBYIHNvIHdlIG11c3QgZG8gYmV0dGVyLgog
Ki8KLSNpZiBDT01QSUxFUihDTEFORykgfHwgQ09NUElMRVIoR0NDKSB8fCBDT01QSUxFUihNU1ZD
KQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgfHwgQ09NUElMRVIoTVNWQykKICNkZWZpbmUg
Tk9fUkVUVVJOX0RVRV9UT19DUkFTSCBOT19SRVRVUk4KICNlbHNlCiAjZGVmaW5lIE5PX1JFVFVS
Tl9EVUVfVE9fQ1JBU0gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0F0b21pY3MuY3BwIGIv
U291cmNlL1dURi93dGYvQXRvbWljcy5jcHAKaW5kZXggYTcyMmRhZWRhN2Y2ZTk1ZTg1YWUxNzY2
MDIxYjg1MGNhNzEwZGYxYS4uMDM3Y2UzZmU3NDEyOWIyYTljNjIwYjExYjQ4MGZmYWI4OGFlOWQ0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQXRvbWljcy5jcHAKKysrIGIvU291cmNlL1dU
Ri93dGYvQXRvbWljcy5jcHAKQEAgLTY1LDcgKzY1LDcgQEAKIC8vIChodHRwOi8vZ2NjLmdudS5v
cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTU2Mjk2KS4gR0NDID49IDQuOCB3aWxsIHN1cHBv
cnQgX19hdG9taWNfKiBidWlsdGluCiAvLyBmdW5jdGlvbnMgZm9yIHRoaXMgcHVycG9zZSBmb3Ig
YWxsIHRoZSBHQ0MgdGFyZ2V0cywgYnV0IGZvciBjdXJyZW50IGNvbXBpbGVycyB3ZSBoYXZlIHRv
IGluY2x1ZGUKIC8vIG91ciBvd24gaW1wbGVtZW50YXRpb24uCi0jaWYgQ09NUElMRVIoR0NDKSAm
JiAhZGVmaW5lZChfX0dDQ19IQVZFX1NZTkNfQ09NUEFSRV9BTkRfU1dBUF84KSAmJiBVU0UoUFRI
UkVBRFMpCisjaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiAhZGVmaW5lZChfX0dDQ19IQVZF
X1NZTkNfQ09NUEFSRV9BTkRfU1dBUF84KSAmJiBVU0UoUFRIUkVBRFMpCiAKICNpbmNsdWRlICJU
aHJlYWRpbmdQcmltaXRpdmVzLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0F0b21p
Y3MuaCBiL1NvdXJjZS9XVEYvd3RmL0F0b21pY3MuaAppbmRleCBjNGQ1NjBlOTUxNzU1N2M0NmY0
ZDYwZDNiOTZlZTNhNjM1N2NlMDEzLi45ZTNjNjAyMWQ5YzliMWU0MmYwZGFlZDEyN2ZiODM3Y2U4
ZTA4M2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmgKKysrIGIvU291cmNl
L1dURi93dGYvQXRvbWljcy5oCkBAIC02Myw3ICs2Myw3IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgogCiAjaWYgT1MoV0lORE9XUykKLSNpZiAhQ09NUElMRVIoR0NDKQorI2lmICFD
T01QSUxFUihHQ0NfT1JfQ0xBTkcpCiBleHRlcm4gIkMiIHZvaWQgX1JlYWRXcml0ZUJhcnJpZXIo
dm9pZCk7CiAjcHJhZ21hIGludHJpbnNpYyhfUmVhZFdyaXRlQmFycmllcikKICNlbmRpZgpAQCAt
MTQxLDcgKzE0MSw3IEBAIGlubGluZSBib29sIHdlYWtDb21wYXJlQW5kU3dhcCh2b2xhdGlsZSB1
bnNpZ25lZCogbG9jYXRpb24sIHVuc2lnbmVkIGV4cGVjdGVkLCB1CiAgICAgICAgIDogInIiKGV4
cGVjdGVkKSwgInIiKG5ld1ZhbHVlKQogICAgICAgICA6ICJtZW1vcnkiKTsKICAgICByZXN1bHQg
PSAhcmVzdWx0OwotI2VsaWYgQ1BVKEFSTTY0KSAmJiBDT01QSUxFUihHQ0MpCisjZWxpZiBDUFUo
QVJNNjQpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICAgICB1bnNpZ25lZCB0bXA7CiAgICAg
dW5zaWduZWQgcmVzdWx0OwogICAgIGFzbSB2b2xhdGlsZSgKQEAgLTE5NSw3ICsxOTUsNyBAQCBp
bmxpbmUgYm9vbCB3ZWFrQ29tcGFyZUFuZFN3YXAodm9pZCp2b2xhdGlsZSogbG9jYXRpb24sIHZv
aWQqIGV4cGVjdGVkLCB2b2lkKiBuZQogICAgICAgICA6ICJtZW1vcnkiCiAgICAgICAgICk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKLSNlbGlmIENQVShBUk02NCkgJiYgQ09NUElMRVIoR0NDKQorI2Vs
aWYgQ1BVKEFSTTY0KSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAgICAgYm9vbCByZXN1bHQ7
CiAgICAgdm9pZCogdG1wOwogICAgIGFzbSB2b2xhdGlsZSgKQEAgLTI1MSw3ICsyNTEsNyBAQCBp
bmxpbmUgYm9vbCB3ZWFrQ29tcGFyZUFuZFN3YXBTaXplKHZvbGF0aWxlIHNpemVfdCogbG9jYXRp
b24sIHNpemVfdCBleHBlY3RlZCwgcwogLy8gdG8gZG8gdGhpbmdzIGxpa2UgcmVnaXN0ZXIgYWxs
b2NhdGlvbiBhbmQgY29kZSBtb3Rpb24gb3ZlciBwdXJlIG9wZXJhdGlvbnMuCiBpbmxpbmUgdm9p
ZCBjb21waWxlckZlbmNlKCkKIHsKLSNpZiBPUyhXSU5ET1dTKSAmJiAhQ09NUElMRVIoR0NDKQor
I2lmIE9TKFdJTkRPV1MpICYmICFDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAgICAgX1JlYWRXcml0
ZUJhcnJpZXIoKTsKICNlbHNlCiAgICAgYXNtIHZvbGF0aWxlKCIiIDo6OiAibWVtb3J5Iik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oIGIvU291cmNlL1dURi93dGYvQ29t
cGlsZXIuaAppbmRleCA3ZDRhY2NiMjUzZjNiNDUzYWJjMzc3MmJhMGVhMWY2NDAxODkyMDYzLi45
Nzk3ZTZmNmU2MWJlZmQ4ZGYxNzJmZDk1MGQ0YTg4ODllNDBjZDg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9Db21waWxlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKQEAg
LTU2LDQyICs1NiwzNyBAQAogI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfRkFMTFRIUk9V
R0hfV0FSTklOR1MgX19oYXNfZmVhdHVyZShjeHhfYXR0cmlidXRlcykgJiYgX19oYXNfd2Fybmlu
ZygiLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCIpCiAjZW5kaWYKIAotLyogQ09NUElMRVIoR0NDKSAt
IEdOVSBDb21waWxlciBDb2xsZWN0aW9uICovCisvKiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpIC0g
R05VIENvbXBpbGVyIENvbGxlY3Rpb24gb3IgQ2xhbmcgKi8KKyNpZiBkZWZpbmVkKF9fR05VQ19f
KQorI2RlZmluZSBXVEZfQ09NUElMRVJfR0NDX09SX0NMQU5HIDEKKyNlbmRpZgogCisvKiBDT01Q
SUxFUihHQ0MpIC0gR05VIENvbXBpbGVyIENvbGxlY3Rpb24gKi8KIC8qIE5vdGU6IFRoaXMgc2Vj
dGlvbiBtdXN0IGNvbWUgYWZ0ZXIgdGhlIENsYW5nIHNlY3Rpb24gc2luY2Ugd2UgY2hlY2sgIUNP
TVBJTEVSKENMQU5HKSBoZXJlLiAqLwotCi0jaWYgZGVmaW5lZChfX0dOVUNfXykKKyNpZiBDT01Q
SUxFUihHQ0NfT1JfQ0xBTkcpICYmICFDT01QSUxFUihDTEFORykKICNkZWZpbmUgV1RGX0NPTVBJ
TEVSX0dDQyAxCisjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhfQ09OU1RFWFBSIDEK
KyNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0NYWF9VU0VSX0xJVEVSQUxTIDEKKwogI2Rl
ZmluZSBHQ0NfVkVSU0lPTiAoX19HTlVDX18gKiAxMDAwMCArIF9fR05VQ19NSU5PUl9fICogMTAw
ICsgX19HTlVDX1BBVENITEVWRUxfXykKICNkZWZpbmUgR0NDX1ZFUlNJT05fQVRfTEVBU1QobWFq
b3IsIG1pbm9yLCBwYXRjaCkgKEdDQ19WRVJTSU9OID49IChtYWpvciAqIDEwMDAwICsgbWlub3Ig
KiAxMDAgKyBwYXRjaCkpCi0jZW5kaWYKLQotLyogRGVmaW5lIEdDQ19WRVJTSU9OX0FUX0xFQVNU
IGZvciBhbGwgY29tcGlsZXJzLCBzbyB3ZSBjYW4gd3JpdGUgdGhpbmdzIGxpa2UgR0NDX1ZFUlNJ
T05fQVRfTEVBU1QoNCwgMSwgMCkuICovCi0vKiBGSVhNRTogRG9lc24ndCBzZWVtIGFsbCB0aGF0
IHZhbHVhYmxlLiBDYW4gd2UgcmVtb3ZlIHRoaXM/ICovCi0jaWYgIWRlZmluZWQoR0NDX1ZFUlNJ
T05fQVRfTEVBU1QpCi0jZGVmaW5lIEdDQ19WRVJTSU9OX0FUX0xFQVNUKG1ham9yLCBtaW5vciwg
cGF0Y2gpIDAKLSNlbmRpZgogCi0jaWYgQ09NUElMRVIoR0NDKSAmJiAhQ09NUElMRVIoQ0xBTkcp
ICYmICFHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCA3LCAwKQorI2lmICFHQ0NfVkVSU0lPTl9BVF9M
RUFTVCg0LCA3LCAwKQogI2Vycm9yICJQbGVhc2UgdXNlIGEgbmV3ZXIgdmVyc2lvbiBvZiBHQ0Mu
IFdlYktpdCByZXF1aXJlcyBHQ0MgNC43LjAgb3IgbmV3ZXIgdG8gY29tcGlsZS4iCiAjZW5kaWYK
IAotI2lmIENPTVBJTEVSKEdDQykgJiYgIUNPTVBJTEVSKENMQU5HKQotI2RlZmluZSBXVEZfQ09N
UElMRVJfU1VQUE9SVFNfQ1hYX0NPTlNURVhQUiAxCi0jZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQ
T1JUU19DWFhfVVNFUl9MSVRFUkFMUyAxCi0jZW5kaWYKLQotI2lmIENPTVBJTEVSKEdDQykgJiYg
IUNPTVBJTEVSKENMQU5HKSAmJiBkZWZpbmVkKF9fU1REQ19WRVJTSU9OX18pICYmIF9fU1REQ19W
RVJTSU9OX18gPj0gMjAxMTEyTAorI2lmIGRlZmluZWQoX19TVERDX1ZFUlNJT05fXykgJiYgX19T
VERDX1ZFUlNJT05fXyA+PSAyMDExMTJMCiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19D
X1NUQVRJQ19BU1NFUlQgMQogI2VuZGlmCiAKLSNpZiBDT01QSUxFUihHQ0MpICYmICFDT01QSUxF
UihDTEFORykgJiYgR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgOCwgMCkKKyNpZiBHQ0NfVkVSU0lP
Tl9BVF9MRUFTVCg0LCA4LCAwKQogI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV21h
eWJlLXVuaW5pdGlhbGl6ZWQiCiAjZW5kaWYKIAotI2lmIENPTVBJTEVSKEdDQykgJiYgIUNPTVBJ
TEVSKENMQU5HKSAmJiAoZGVmaW5lZChfX0dYWF9FWFBFUklNRU5UQUxfQ1hYMFhfXykgfHwgKGRl
ZmluZWQoX19jcGx1c3BsdXMpICYmIF9fY3BsdXNwbHVzID49IDIwMTEwM0wpKQorI2lmIChkZWZp
bmVkKF9fR1hYX0VYUEVSSU1FTlRBTF9DWFgwWF9fKSB8fCAoZGVmaW5lZChfX2NwbHVzcGx1cykg
JiYgX19jcGx1c3BsdXMgPj0gMjAxMTAzTCkpCiAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9y
ZWQgIi1XdW51c2VkLWxvY2FsLXR5cGVkZWZzIgogI2VuZGlmCisjZW5kaWYgLyogQ09NUElMRVIo
R0NDKSAqLwogCiAvKiBDT01QSUxFUihNSU5HVykgLSBNaW5HVyBHQ0MgKi8KIApAQCAtMTQ2LDcg
KzE0MSw3IEBACiAKIC8qIEFMV0FZU19JTkxJTkUgKi8KIAotI2lmICFkZWZpbmVkKEFMV0FZU19J
TkxJTkUpICYmIENPTVBJTEVSKEdDQykgJiYgZGVmaW5lZChOREVCVUcpICYmICFDT01QSUxFUihN
SU5HVykKKyNpZiAhZGVmaW5lZChBTFdBWVNfSU5MSU5FKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpICYmIGRlZmluZWQoTkRFQlVHKSAmJiAhQ09NUElMRVIoTUlOR1cpCiAjZGVmaW5lIEFMV0FZ
U19JTkxJTkUgaW5saW5lIF9fYXR0cmlidXRlX18oKF9fYWx3YXlzX2lubGluZV9fKSkKICNlbmRp
ZgogCkBAIC0xOTcsNyArMTkyLDcgQEAKIAogLyogTElLRUxZICovCiAKLSNpZiAhZGVmaW5lZChM
SUtFTFkpICYmIENPTVBJTEVSKEdDQykKKyNpZiAhZGVmaW5lZChMSUtFTFkpICYmIENPTVBJTEVS
KEdDQ19PUl9DTEFORykKICNkZWZpbmUgTElLRUxZKHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCks
IDEpCiAjZW5kaWYKIApAQCAtMjA3LDcgKzIwMiw3IEBACiAKIC8qIE5FVkVSX0lOTElORSAqLwog
Ci0jaWYgIWRlZmluZWQoTkVWRVJfSU5MSU5FKSAmJiBDT01QSUxFUihHQ0MpCisjaWYgIWRlZmlu
ZWQoTkVWRVJfSU5MSU5FKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAjZGVmaW5lIE5FVkVS
X0lOTElORSBfX2F0dHJpYnV0ZV9fKChfX25vaW5saW5lX18pKQogI2VuZGlmCiAKQEAgLTIyMSw3
ICsyMTYsNyBAQAogCiAvKiBOT19SRVRVUk4gKi8KIAotI2lmICFkZWZpbmVkKE5PX1JFVFVSTikg
JiYgQ09NUElMRVIoR0NDKQorI2lmICFkZWZpbmVkKE5PX1JFVFVSTikgJiYgQ09NUElMRVIoR0ND
X09SX0NMQU5HKQogI2RlZmluZSBOT19SRVRVUk4gX19hdHRyaWJ1dGUoKF9fbm9yZXR1cm5fXykp
CiAjZW5kaWYKIApAQCAtMjU1LDcgKzI1MCw3IEBACiAKIC8qIFBVUkVfRlVOQ1RJT04gKi8KIAot
I2lmICFkZWZpbmVkKFBVUkVfRlVOQ1RJT04pICYmIENPTVBJTEVSKEdDQykKKyNpZiAhZGVmaW5l
ZChQVVJFX0ZVTkNUSU9OKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAjZGVmaW5lIFBVUkVf
RlVOQ1RJT04gX19hdHRyaWJ1dGVfXygoX19wdXJlX18pKQogI2VuZGlmCiAKQEAgLTI2NSw3ICsy
NjAsNyBAQAogCiAvKiBSRUZFUkVOQ0VEX0ZST01fQVNNICovCiAKLSNpZiAhZGVmaW5lZChSRUZF
UkVOQ0VEX0ZST01fQVNNKSAmJiBDT01QSUxFUihHQ0MpCisjaWYgIWRlZmluZWQoUkVGRVJFTkNF
RF9GUk9NX0FTTSkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogI2RlZmluZSBSRUZFUkVOQ0VE
X0ZST01fQVNNIF9fYXR0cmlidXRlX18oKF9fdXNlZF9fKSkKICNlbmRpZgogCkBAIC0yNzUsNyAr
MjcwLDcgQEAKIAogLyogVU5MSUtFTFkgKi8KIAotI2lmICFkZWZpbmVkKFVOTElLRUxZKSAmJiBD
T01QSUxFUihHQ0MpCisjaWYgIWRlZmluZWQoVU5MSUtFTFkpICYmIENPTVBJTEVSKEdDQ19PUl9D
TEFORykKICNkZWZpbmUgVU5MSUtFTFkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICNl
bmRpZgogCkBAIC0zMDgsNyArMzAzLDcgQEAKIAogLyogV0FSTl9VTlVTRURfUkVUVVJOICovCiAK
LSNpZiAhZGVmaW5lZChXQVJOX1VOVVNFRF9SRVRVUk4pICYmIENPTVBJTEVSKEdDQykKKyNpZiAh
ZGVmaW5lZChXQVJOX1VOVVNFRF9SRVRVUk4pICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICNk
ZWZpbmUgV0FSTl9VTlVTRURfUkVUVVJOIF9fYXR0cmlidXRlX18oKF9fd2Fybl91bnVzZWRfcmVz
dWx0X18pKQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0V4cG9ydE1hY3Jv
cy5oIGIvU291cmNlL1dURi93dGYvRXhwb3J0TWFjcm9zLmgKaW5kZXggOWM0OWRkMTQwZDgyNWY0
ZWY0MDg5NmFkNjExMGY5YTI1MGE3YzkwOC4uNWFlODdkMDVkZGY4ODc3N2I3YzE1NmM2M2MxNzk3
NWY3ZDc4MWM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRXhwb3J0TWFjcm9zLmgKKysr
IGIvU291cmNlL1dURi93dGYvRXhwb3J0TWFjcm9zLmgKQEAgLTg5LDEzICs4OSwxMyBAQAogCiAj
ZWxzZSAvLyAhVVNFKEVYUE9SVF9NQUNST1MpCiAKLSNpZiBPUyhXSU5ET1dTKSAmJiAhQ09NUElM
RVIoR0NDKQorI2lmIE9TKFdJTkRPV1MpICYmICFDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAjaWYg
ZGVmaW5lZChCVUlMRElOR19XVEYpIHx8IGRlZmluZWQoU1RBVElDQUxMWV9MSU5LRURfV0lUSF9X
VEYpCiAjZGVmaW5lIFdURl9FWFBPUlREQVRBIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQogI2Vsc2UK
ICNkZWZpbmUgV1RGX0VYUE9SVERBVEEgX19kZWNsc3BlYyhkbGxpbXBvcnQpCiAjZW5kaWYKLSNl
bHNlIC8vICFPUyhXSU5ET1dTKSB8fCBDT01QSUxFUihHQ0MpCisjZWxzZSAvLyAhT1MoV0lORE9X
UykgfHwgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogI2RlZmluZSBXVEZfRVhQT1JUREFUQQogI2Vu
ZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuaCBiL1NvdXJjZS9X
VEYvd3RmL0Zhc3RNYWxsb2MuaAppbmRleCAzOTBjNGRmMTIxMTcwZjJiNzJhNWVkNTFjMTRiNDk5
OGNkNTljNTY3Li44YjRjMWZjMTk3ZTBiNDhmODBiOGYzMGM0MThiMjdhZDgyY2ZlYjVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmgKKysrIGIvU291cmNlL1dURi93dGYv
RmFzdE1hbGxvYy5oCkBAIC0xMTMsOSArMTEzLDkgQEAgdXNpbmcgV1RGOjp0cnlGYXN0WmVyb2Vk
TWFsbG9jOwogdXNpbmcgV1RGOjpmYXN0QWxpZ25lZE1hbGxvYzsKIHVzaW5nIFdURjo6ZmFzdEFs
aWduZWRGcmVlOwogCi0jaWYgQ09NUElMRVIoR0NDKSAmJiBPUyhEQVJXSU4pCisjaWYgQ09NUElM
RVIoR0NDX09SX0NMQU5HKSAmJiBPUyhEQVJXSU4pCiAjZGVmaW5lIFdURl9QUklWQVRFX0lOTElO
RSBfX3ByaXZhdGVfZXh0ZXJuX18gaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUp
KQotI2VsaWYgQ09NUElMRVIoR0NDKQorI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogI2Rl
ZmluZSBXVEZfUFJJVkFURV9JTkxJTkUgaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxp
bmUpKQogI2VsaWYgQ09NUElMRVIoTVNWQykKICNkZWZpbmUgV1RGX1BSSVZBVEVfSU5MSU5FIF9f
Zm9yY2VpbmxpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDQ1YTc1NDEzMTljZTM5NTk2OTY1ZGU4MDQzODBl
MTU1YWMzOTFjMDEuLjYwOGY2OWI0NTkyNjYzMDlhMTc2MTZkZTM1MWZiZmIxNmZlZTMxNzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaApAQCAtODIyLDE0ICs4MjIsMTQgQEAKIC8qIENvbmZpZ3VyZSB0aGUgSklUICov
CiAjaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKICNkZWZpbmUgSlNDX0hPU1RfQ0FMTCBf
X2Zhc3RjYWxsCi0jZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0MpCisjZWxpZiBDUFUoWDg2
KSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAjZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRy
aWJ1dGVfXyAoKGZhc3RjYWxsKSkKICNlbHNlCiAjZGVmaW5lIEpTQ19IT1NUX0NBTEwKICNlbmRp
ZgogCiAvKiBDb25maWd1cmUgdGhlIGludGVycHJldGVyICovCi0jaWYgQ09NUElMRVIoR0NDKQor
I2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEK
ICNlbmRpZgogCkBAIC05NzUsNyArOTc1LDcgQEAKICNkZWZpbmUgVVNFX0lNTEFOR19GT05UX0xJ
TksyIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NPTVBBUkVfQU5EX1NXQVApICYm
IChPUyhXSU5ET1dTKSB8fCAoQ09NUElMRVIoR0NDKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82
NCkgfHwgQ1BVKEFSTV9USFVNQjIpIHx8IENQVShBUk02NCkpKSkKKyNpZiAhZGVmaW5lZChFTkFC
TEVfQ09NUEFSRV9BTkRfU1dBUCkgJiYgKE9TKFdJTkRPV1MpIHx8IChDT01QSUxFUihHQ0NfT1Jf
Q0xBTkcpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikgfHwg
Q1BVKEFSTTY0KSkpKQogI2RlZmluZSBFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCAxCiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmggYi9Tb3VyY2UvV1RG
L3d0Zi9TdGRMaWJFeHRyYXMuaAppbmRleCA3ZmQyYjY5NDM2MmUyYmM1YzA4ZWIwYWU5M2FjODBl
Y2NkMGE5NjUxLi5kNTBhZWRkMWUxM2MyZjg3NDgxN2Q0NmEzZDg1MmZiMWFmNzg0ODQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9TdGRMaWJFeHRyYXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9TdGRMaWJFeHRyYXMuaApAQCAtMzgsNyArMzgsNyBAQAogLy8KIC8vIE5ld2x5IHdyaXR0ZW4g
Y29kZSBzaG91bGQgdXNlIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxUPiBpbnN0ZWFkLgogI2lmbmRl
ZiBERVBSRUNBVEVEX0RFRklORV9TVEFUSUNfTE9DQUwKLSNpZiBDT01QSUxFUihHQ0MpICYmIGRl
ZmluZWQoX19BUFBMRV9DQ19fKSAmJiBfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID09
IDAgJiYgX19HTlVDX1BBVENITEVWRUxfXyA9PSAxCisjaWYgQ09NUElMRVIoR0NDX09SX0NMQU5H
KSAmJiBkZWZpbmVkKF9fQVBQTEVfQ0NfXykgJiYgX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlO
T1JfXyA9PSAwICYmIF9fR05VQ19QQVRDSExFVkVMX18gPT0gMQogI2RlZmluZSBERVBSRUNBVEVE
X0RFRklORV9TVEFUSUNfTE9DQUwodHlwZSwgbmFtZSwgYXJndW1lbnRzKSBcCiAgICAgc3RhdGlj
IHR5cGUqIG5hbWUjI1B0ciA9IG5ldyB0eXBlIGFyZ3VtZW50czsgXAogICAgIHR5cGUmIG5hbWUg
PSAqbmFtZSMjUHRyCkBAIC04OCw3ICs4OCw3IEBACiAgKiAtIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zODA0NQogICogLSBodHRwOi8vZ2NjLmdudS5vcmcvYnVnemls
bGEvc2hvd19idWcuY2dpP2lkPTQzOTc2CiAgKi8KLSNpZiAoQ1BVKEFSTSkgfHwgQ1BVKE1JUFMp
KSAmJiBDT01QSUxFUihHQ0MpCisjaWYgKENQVShBUk0pIHx8IENQVShNSVBTKSkgJiYgQ09NUElM
RVIoR0NDX09SX0NMQU5HKQogdGVtcGxhdGU8dHlwZW5hbWUgVHlwZT4KIGlubGluZSBib29sIGlz
UG9pbnRlclR5cGVBbGlnbm1lbnRPa2F5KFR5cGUqIHB0cikKIHsKQEAgLTE4MCw3ICsxODAsNyBA
QCBpbmxpbmUgc2l6ZV90IGJpdENvdW50KHVpbnQ2NF90IGJpdHMpCiAvLyBNYWNybyB0aGF0IHJl
dHVybnMgYSBjb21waWxlIHRpbWUgY29uc3RhbnQgd2l0aCB0aGUgbGVuZ3RoIG9mIGFuIGFycmF5
LCBidXQgZ2l2ZXMgYW4gZXJyb3IgaWYgcGFzc2VkIGEgbm9uLWFycmF5LgogdGVtcGxhdGU8dHlw
ZW5hbWUgVCwgc2l6ZV90IFNpemU+IGNoYXIgKCZBcnJheUxlbmd0aEhlbHBlckZ1bmN0aW9uKFQg
KCYpW1NpemVdKSlbU2l6ZV07CiAvLyBHQ0MgbmVlZHMgc29tZSBoZWxwIHRvIGRlZHVjZSBhIDAg
bGVuZ3RoIGFycmF5LgotI2lmIENPTVBJTEVSKEdDQykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjaGFyICgmQXJyYXlMZW5ndGhIZWxwZXJGdW5jdGlv
bihUICgmKVswXSkpWzBdOwogI2VuZGlmCiAjZGVmaW5lIFdURl9BUlJBWV9MRU5HVEgoYXJyYXkp
IHNpemVvZig6OldURjo6QXJyYXlMZW5ndGhIZWxwZXJGdW5jdGlvbihhcnJheSkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCmlu
ZGV4IGUzNDYxNzJkMTg2MzVkN2FhODhlOTM5YjllZTAzM2RiNjA4NWZmOWEuLjE4OGQ3NmRhZDc4
ZjNjZmRlMjNiNWY0Y2RiNzVkZGE2NmMyMzFkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCkBAIC0xODUsNyArMTg1LDcg
QEAgc3RydWN0IFZlY3RvckZpbGxlcjx0cnVlLCBUPgogICAgIHN0YXRpYyB2b2lkIHVuaW5pdGlh
bGl6ZWRGaWxsKFQqIGRzdCwgVCogZHN0RW5kLCBjb25zdCBUJiB2YWwpIAogICAgIHsKICAgICAg
ICAgc3RhdGljX2Fzc2VydChzaXplb2YoVCkgPT0gMSwgIlNpemUgb2YgdHlwZSBUIHNob3VsZCBi
ZSBlcXVhbCB0byBvbmUhIik7Ci0jaWYgQ09NUElMRVIoR0NDKSAmJiBkZWZpbmVkKF9GT1JUSUZZ
X1NPVVJDRSkKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIGRlZmluZWQoX0ZPUlRJRllf
U09VUkNFKQogICAgICAgICBpZiAoIV9fYnVpbHRpbl9jb25zdGFudF9wKGRzdEVuZCAtIGRzdCkg
fHwgKCEoZHN0RW5kIC0gZHN0KSkpCiAjZW5kaWYKICAgICAgICAgICAgIG1lbXNldChkc3QsIHZh
bCwgZHN0RW5kIC0gZHN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQVNDSUlG
YXN0UGF0aC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9BU0NJSUZhc3RQYXRoLmgKaW5kZXggNGFk
MWIwODMxZjYyZTcyZGUzZjJiODI3ZmVkMzVhZGIwMTVmMmY3MC4uZTViOWQzYmUyZDg1M2VmNjA1
ZjQ0N2M2MGY1OTY1OTNjODc5NjFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9B
U0NJSUZhc3RQYXRoLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9BU0NJSUZhc3RQYXRoLmgK
QEAgLTEzOSw3ICsxMzksNyBAQCBpbmxpbmUgdm9pZCBjb3B5TENoYXJzRnJvbVVDaGFyU291cmNl
KExDaGFyKiBkZXN0aW5hdGlvbiwgY29uc3QgVUNoYXIqIHNvdXJjZSwgcwogICAgICAgICBBU1NF
UlQoIShzb3VyY2VbaV0gJiAweGZmMDApKTsKICAgICAgICAgZGVzdGluYXRpb25baV0gPSBzdGF0
aWNfY2FzdDxMQ2hhcj4oc291cmNlW2ldKTsKICAgICB9Ci0jZWxpZiBDT01QSUxFUihHQ0MpICYm
IENQVShBUk02NCkgJiYgZGVmaW5lZChOREVCVUcpCisjZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpICYmIENQVShBUk02NCkgJiYgZGVmaW5lZChOREVCVUcpCiAgICAgY29uc3QgTENoYXIqIGNv
bnN0IGVuZCA9IGRlc3RpbmF0aW9uICsgbGVuZ3RoOwogICAgIGNvbnN0IHVpbnRwdHJfdCBtZW1v
cnlBY2Nlc3NTaXplID0gMTY7CiAKQEAgLTE2MCw3ICsxNjAsNyBAQCBpbmxpbmUgdm9pZCBjb3B5
TENoYXJzRnJvbVVDaGFyU291cmNlKExDaGFyKiBkZXN0aW5hdGlvbiwgY29uc3QgVUNoYXIqIHNv
dXJjZSwgcwogCiAgICAgd2hpbGUgKGRlc3RpbmF0aW9uICE9IGVuZCkKICAgICAgICAgKmRlc3Rp
bmF0aW9uKysgPSBzdGF0aWNfY2FzdDxMQ2hhcj4oKnNvdXJjZSsrKTsKLSNlbGlmIENPTVBJTEVS
KEdDQykgJiYgQ1BVKEFSTV9ORU9OKSAmJiAhKENQVShCSUdfRU5ESUFOKSB8fCBDUFUoTUlERExF
X0VORElBTikpICYmIGRlZmluZWQoTkRFQlVHKQorI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5H
KSAmJiBDUFUoQVJNX05FT04pICYmICEoQ1BVKEJJR19FTkRJQU4pIHx8IENQVShNSURETEVfRU5E
SUFOKSkgJiYgZGVmaW5lZChOREVCVUcpCiAgICAgY29uc3QgTENoYXIqIGNvbnN0IGVuZCA9IGRl
c3RpbmF0aW9uICsgbGVuZ3RoOwogICAgIGNvbnN0IHVpbnRwdHJfdCBtZW1vcnlBY2Nlc3NTaXpl
ID0gODsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1
L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5jcHAKaW5kZXggNzg5YjZh
YTQ4MjdjNDcxZWEwMzkxOTc0ZGM4NzUwNjFiNzI0NTI2NS4uZmU0NGM2Mjc1YTQyY2YxOGNmNWE3
ZGY3OWFkYjFlOTAzN2NkZThlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04u
Y3BwCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRkVM
aWdodGluZ05FT04uaCIKIAotI2lmIENQVShBUk1fTkVPTikgJiYgQ1BVKEFSTV9UUkFESVRJT05B
TCkgJiYgQ09NUElMRVIoR0NDKQorI2lmIENQVShBUk1fTkVPTikgJiYgQ1BVKEFSTV9UUkFESVRJ
T05BTCkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTUwMCw0ICs1MDAsNCBAQCBpbnQgRkVMaWdodGluZzo6Z2V0UG93ZXJDb2VmZmljaWVudHMo
ZmxvYXQgZXhwb25lbnQpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIENQ
VShBUk1fTkVPTikgJiYgQ09NUElMRVIoR0NDKQorI2VuZGlmIC8vIENQVShBUk1fTkVPTikgJiYg
Q09NUElMRVIoR0NDX09SX0NMQU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaApp
bmRleCAxZTcxNDAxNjQ1Y2MxNjI4MzFiOGY4YTBhYzg3YWRlOTllMjJhYTcyLi40MWI2MWUxNGE1
MTJiZDQzODAwOTRmZjI0ZjY4YjEyZGUzZjY5OWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdo
dGluZ05FT04uaApAQCAtMjcsNyArMjcsNyBAQAogI2lmbmRlZiBGRUxpZ2h0aW5nTkVPTl9oCiAj
ZGVmaW5lIEZFTGlnaHRpbmdORU9OX2gKIAotI2lmIENQVShBUk1fTkVPTikgJiYgQ1BVKEFSTV9U
UkFESVRJT05BTCkgJiYgQ09NUElMRVIoR0NDKQorI2lmIENQVShBUk1fTkVPTikgJiYgQ1BVKEFS
TV9UUkFESVRJT05BTCkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogCiAjaW5jbHVkZSAiRkVM
aWdodGluZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXJhbGxlbEpvYnMuaD4KQEAgLTE5NCw2ICsxOTQs
NiBAQCBpbmxpbmUgdm9pZCBGRUxpZ2h0aW5nOjpwbGF0Zm9ybUFwcGx5TmVvbihMaWdodGluZ0Rh
dGEmIGRhdGEsIExpZ2h0U291cmNlOjpQYWludAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
LSNlbmRpZiAvLyBDUFUoQVJNX05FT04pICYmIENPTVBJTEVSKEdDQykKKyNlbmRpZiAvLyBDUFUo
QVJNX05FT04pICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKIAogI2VuZGlmIC8vIEZFTGlnaHRp
bmdORU9OX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVMaWdodGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFTGlnaHRpbmcuY3BwCmluZGV4IDI4YTFjNTRiODM5YTJkNzY5MDc1NTFmMjBlYjY2
Yjc4NTU1ODU0MzcuLjI5MjViMGViNjUxMWE5NTRkYzAxYzA1NDA4MDhjMWYxYWY4NmFhNGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdo
dGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUxpZ2h0aW5nLmNwcApAQCAtMjgyLDcgKzI4Miw3IEBAIGlubGluZSB2b2lkIEZFTGlnaHRpbmc6
OnBsYXRmb3JtQXBwbHlHZW5lcmljKExpZ2h0aW5nRGF0YSYgZGF0YSwgTGlnaHRTb3VyY2U6OlBh
CiBpbmxpbmUgdm9pZCBGRUxpZ2h0aW5nOjpwbGF0Zm9ybUFwcGx5KExpZ2h0aW5nRGF0YSYgZGF0
YSwgTGlnaHRTb3VyY2U6OlBhaW50aW5nRGF0YSYgcGFpbnRpbmdEYXRhKQogewogICAgIC8vIFRo
ZSBzZWxlY3Rpb24gaGVyZSBldmVudHVhbGx5IHNob3VsZCBoYXBwZW4gZHluYW1pY2FsbHkgb24g
c29tZSBwbGF0Zm9ybXMuCi0jaWYgQ1BVKEFSTV9ORU9OKSAmJiBDUFUoQVJNX1RSQURJVElPTkFM
KSAmJiBDT01QSUxFUihHQ0MpCisjaWYgQ1BVKEFSTV9ORU9OKSAmJiBDUFUoQVJNX1RSQURJVElP
TkFMKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCiAgICAgcGxhdGZvcm1BcHBseU5lb24oZGF0
YSwgcGFpbnRpbmdEYXRhKTsKICNlbHNlCiAgICAgcGxhdGZvcm1BcHBseUdlbmVyaWMoZGF0YSwg
cGFpbnRpbmdEYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvZWZsL05ldHdvcmtTdGF0ZU5vdGlmaWVyRWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvZWZsL05ldHdvcmtTdGF0ZU5vdGlmaWVyRWZsLmNwcAppbmRleCA2YjNiOWU3
YzkxNjFhNjlmYzYyNTcxNDU3N2ZkNmMxZDYwMmQ1MDdhLi4wM2YzODZkMjA1NDA4YjJkNWIyNjdl
ZWYwOWQ1ZTMwYWMzMGJiZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9lZmwvTmV0d29ya1N0YXRlTm90aWZpZXJFZmwuY3BwCkBAIC0x
MzYsMTIgKzEzNiwxMiBAQCBFaW5hX0Jvb2wgTmV0d29ya1N0YXRlTm90aWZpZXI6OnJlYWRTb2Nr
ZXRDYWxsYmFjayh2b2lkKiB1c2VyRGF0YSwgRWNvcmVfRmRfSGFuZAogICAgICAgICAgICAgaWYg
KChubGgtPm5sbXNnX3R5cGUgPT0gUlRNX05FV0FERFIgJiYgIW5vdGlmaWVyLT5tX2lzT25MaW5l
KSB8fCAobmxoLT5ubG1zZ190eXBlID09IFJUTV9ERUxBRERSICYmIG5vdGlmaWVyLT5tX2lzT25M
aW5lKSkKICAgICAgICAgICAgICAgICBkZXRlY3RlZENoYW5nZSA9IHRydWU7CiAKLSNpZiBDT01Q
SUxFUihHQ0MpCisjaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQogI3ByYWdtYSBHQ0MgZGlhZ25v
c3RpYyBwdXNoCiAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XY2FzdC1hbGlnbiIK
ICNlbmRpZgogICAgICAgICAgICAgbmxoID0gTkxNU0dfTkVYVChubGgsIGxlbmd0aCk7Ci0jaWYg
Q09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKICNwcmFnbWEgR0NDIGRp
YWdub3N0aWMgcG9wCiAjZW5kaWYKICAgICAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>