<?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>235027</bug_id>
          
          <creation_ts>2022-01-10 04:44:59 -0800</creation_ts>
          <short_desc>[JSC][ARMv7] Cleanup GPR numbering</short_desc>
          <delta_ts>2022-03-29 16:22:32 -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>JavaScriptCore</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geza Lore">glore</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1829414</commentid>
    <comment_count>0</comment_count>
    <who name="Geza Lore">glore</who>
    <bug_when>2022-01-10 04:44:59 -0800</bug_when>
    <thetext>The way ARMv7 callee save registers are numbered in GPRInfo.h is inconsistent with other targets. Also ARMv7 temporaries are ordered in a sub-optimal way that increases code size/necessitates ifdefs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829415</commentid>
    <comment_count>1</comment_count>
      <attachid>448733</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2022-01-10 04:48:10 -0800</bug_when>
    <thetext>Created attachment 448733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831456</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-17 04:45:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/87676633&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847023</commentid>
    <comment_count>3</comment_count>
      <attachid>453498</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2022-03-01 07:47:41 -0800</bug_when>
    <thetext>Created attachment 453498
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854639</commentid>
    <comment_count>4</comment_count>
      <attachid>455628</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2022-03-24 03:32:26 -0700</bug_when>
    <thetext>Created attachment 455628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854649</commentid>
    <comment_count>5</comment_count>
      <attachid>455632</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2022-03-24 04:49:02 -0700</bug_when>
    <thetext>Created attachment 455632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855373</commentid>
    <comment_count>6</comment_count>
      <attachid>455632</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-26 05:58:14 -0700</bug_when>
    <thetext>Comment on attachment 455632
Patch

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

r=me with comments.

&gt; Source/JavaScriptCore/jit/BaselineJITRegisters.h:95
&gt; +    constexpr GPRReg globalObjectGPR = preferredArgumentGPR&lt;SlowOperation, 0&gt;();
&gt; +    constexpr JSValueRegs thrownValueJSR = preferredArgumentJSR&lt;SlowOperation, 1&gt;();
&gt; +    constexpr GPRReg bytecodeOffsetGPR = GPRInfo::nonArgGPR0;

This change is not necessary.

&gt; Source/JavaScriptCore/llint/LLIntData.h:394
&gt; +#if CPU(ARM)

Use CPU(ARM_THUMB2)

&gt; Source/JavaScriptCore/llint/LLIntData.h:-405
&gt; -#elif CPU(MIPS) || CPU(ARM_THUMB2)

Use CPU(ARM_THUMB2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855536</commentid>
    <comment_count>7</comment_count>
      <attachid>455900</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2022-03-28 04:18:19 -0700</bug_when>
    <thetext>Created attachment 455900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855630</commentid>
    <comment_count>8</comment_count>
      <attachid>455900</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-28 09:23:54 -0700</bug_when>
    <thetext>Comment on attachment 455900
Patch

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

Ah, I think we have some problems.

&gt; Source/JavaScriptCore/jit/GPRInfo.h:569
&gt; +    static constexpr GPRReg regT4 = ARMRegisters::r4;

regT4 is r4, then LLInt t4 must be r4.

&gt; Source/JavaScriptCore/llint/LLIntData.h:398
&gt; +#if CPU(ARM_THUMB2)
&gt; +    static constexpr GPRReg pcGPR = ARMRegisters::r8;
&gt; +#else
&gt;      static constexpr GPRReg pcGPR = GPRInfo::regT4;
&gt; +#endif

We should use regT4 in all architectures.

&gt; Source/JavaScriptCore/offlineasm/arm.rb:40
&gt; +#  x8 =&gt; t4                 (callee-save, PC)

But it seems that t5 is r8. Is it correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855632</commentid>
    <comment_count>9</comment_count>
      <attachid>455900</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-28 09:25:57 -0700</bug_when>
    <thetext>Comment on attachment 455900
Patch

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

&gt;&gt; Source/JavaScriptCore/offlineasm/arm.rb:40
&gt;&gt; +#  x8 =&gt; t4                 (callee-save, PC)
&gt; 
&gt; But it seems that t5 is r8. Is it correct?

t4 is r8 in this table, but in GPRInfo, regT4 is r4. Both needs to be the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855641</commentid>
    <comment_count>10</comment_count>
    <who name="Geza Lore">glore</who>
    <bug_when>2022-03-28 09:39:40 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #8)

&gt; &gt; Source/JavaScriptCore/llint/LLIntData.h:398
&gt; &gt; +#if CPU(ARM_THUMB2)
&gt; &gt; +    static constexpr GPRReg pcGPR = ARMRegisters::r8;
&gt; &gt; +#else
&gt; &gt;      static constexpr GPRReg pcGPR = GPRInfo::regT4;
&gt; &gt; +#endif
&gt; 
&gt; We should use regT4 in all architectures.

Why is this important? (this change is what allows us LLInt t4 !== GPRInfo::regT4)


More generally what is the relevance of LLInt vs GPRInfo numbering of temporaries? (CSRs are the right way around)


Ideally, on ARM_THUMB2, we want GPRInfo::regT4 (and also GPRInfo::regT5) to be something less than ARMRegisters::r8 for code size (otherwise the zillions of ifdefs come back and is pretty hard to get right unless you are very conscious). This is an important saving in baseline code size (5-10%). And ideally we also want the LLInt PC to be higher or same than r8, as it&apos;s not frequently used, so we can keep the cheaper registers for other use. This is what the current patch does.

If GPRInfo::regT4 must absolutely be the same as LLInt t4, I will change llint t4 to ARMRegisters::r4 as well, but that is sacrificing the llint code size/performance for the JIT. I would like to have both if I can.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855643</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-28 09:42:58 -0700</bug_when>
    <thetext>(In reply to Geza Lore from comment #10)
&gt; (In reply to Yusuke Suzuki from comment #8)
&gt; 
&gt; &gt; &gt; Source/JavaScriptCore/llint/LLIntData.h:398
&gt; &gt; &gt; +#if CPU(ARM_THUMB2)
&gt; &gt; &gt; +    static constexpr GPRReg pcGPR = ARMRegisters::r8;
&gt; &gt; &gt; +#else
&gt; &gt; &gt;      static constexpr GPRReg pcGPR = GPRInfo::regT4;
&gt; &gt; &gt; +#endif
&gt; &gt; 
&gt; &gt; We should use regT4 in all architectures.
&gt; 
&gt; Why is this important? (this change is what allows us LLInt t4 !==
&gt; GPRInfo::regT4)
&gt; 
&gt; 
&gt; More generally what is the relevance of LLInt vs GPRInfo numbering of
&gt; temporaries? (CSRs are the right way around)
&gt; 
&gt; 
&gt; Ideally, on ARM_THUMB2, we want GPRInfo::regT4 (and also GPRInfo::regT5) to
&gt; be something less than ARMRegisters::r8 for code size (otherwise the
&gt; zillions of ifdefs come back and is pretty hard to get right unless you are
&gt; very conscious). This is an important saving in baseline code size (5-10%).
&gt; And ideally we also want the LLInt PC to be higher or same than r8, as it&apos;s
&gt; not frequently used, so we can keep the cheaper registers for other use.
&gt; This is what the current patch does.
&gt; 
&gt; If GPRInfo::regT4 must absolutely be the same as LLInt t4, I will change
&gt; llint t4 to ARMRegisters::r4 as well, but that is sacrificing the llint code
&gt; size/performance for the JIT. I would like to have both if I can.

Because offlineasm is also used as an assembler to create a asm functions.
And these code strongly assumes t4 is GPRInfo::regT4 to make it aligned to online assembler.
So, we must ensure regT4 is t4 in offlineasm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855662</commentid>
    <comment_count>12</comment_count>
      <attachid>455925</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2022-03-28 10:17:25 -0700</bug_when>
    <thetext>Created attachment 455925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855663</commentid>
    <comment_count>13</comment_count>
      <attachid>455925</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-28 10:19:59 -0700</bug_when>
    <thetext>Comment on attachment 455925
Patch

Nice, r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856240</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-29 16:22:26 -0700</bug_when>
    <thetext>Committed r292080 (249007@main): &lt;https://commits.webkit.org/249007@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455925.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448733</attachid>
            <date>2022-01-10 04:48:10 -0800</date>
            <delta_ts>2022-03-01 07:47:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235027-20220110124809.patch</filename>
            <type>text/plain</type>
            <size>40655</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3Njc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
N2VmZmI1ZDNjZjYwYjdkN2VkODU1Yjc1NjQyODAxYmMyOWIzODQ0Li5jYTYwYWE0N2M3NTNhMDlj
MWQ1MzkwOWIyODE1YWU2NDAwZDg3MmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAyMi0wMS0xMCAgR2V6YSBMb3JlICA8Z2xvcmVAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXVtBUk12N10gQ2xlYW51cCBHUFIgbnVtYmVyaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUwMjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIFRyZWF0IHRoZSBsb3dlciBvcmRl
ciBjYWxsZWUgc2F2ZSByZWdpc3RlciBhcyByZWdDUzAvbGxpbnQgY3NyMC4KKyAgICAgICAgU29t
ZSBvZiB0aGUgQ1NSIHN0b3JlL3Jlc3RvcmUgY29kZSByZWxpZXMgb24gdGhpcyBhbmQgdXNpbmcg
YQorICAgICAgICBudW1iZXJpbmcgc2NoZW1lIGNvbnNpc3RlbnQgd2l0aCBvdGhlciB0YXJnZXRz
ICh0aGF0IGlzOiByZWdDUzxOPiBtYXBzCisgICAgICAgIHRvIGEgbG93ZXIgbnVtYmVyIG1hY2hp
bmUgcmVnaXN0ZXIgdGhhbiByZWdDUzxOKzE+KSBlbGltaW5hdGVzIHNvbWUKKyAgICAgICAgaWZk
ZWZzIGluIExMSW50LCBhbmQgaG9wZWZ1bGx5IHdpbGwgcHJldmVudCBoYXJkIHRvIGZpbmQgaXNz
dWVzIGR1ZSB0bworICAgICAgIHRoZSBtaXNtYXRjaCBmcm9tIG90aGVyIHRhcmdldHMgdGhhdCBh
bGwgZm9sbG93IHRoaXMgcnVsZS4KKworICAgICAgICAtIEluIHRoZSBUaHVtYi0yIGluc3RydWN0
aW9uIHNldCwgdXNlIG9mIHIwLXI3IGNhbiBvZnRlbiBiZSBlbmNvZGVkCisgICAgICAgIHVzaW5n
IGEgc2hvcnRlciwgMTYtYml0IGluc3RydWN0aW9uLiBTd2FwIHJlZ1Q0L3JlZ1Q1IHdpdGgKKyAg
ICAgICAgcmVnVDcvcmVnVDYsIHNvIGxvd2VyIG9yZGVyIHRlbXBvcmFyaWVzICh3aGljaCBhcmUg
dXN1YWxseSB1c2VkIGZpcnN0KQorICAgICAgICBtYXAgdG8gdGhlIGxvd2VyIG9yZGVyIHJlZ2lz
dGVycyB0aGF0IGNhbiB5aWVsZCBkZW5zZXIgY29kZS4gVGhpcworICAgICAgICB0aGVuIHNpbXBs
aWZpZXMgQmFzZWxpbmVKSVRSZWdpc3RlcnMuaCwgYW5kIGFsc28gc2F2ZXMgYWJvdXQgfjElIERG
RworICAgICAgICBjb2RlIHNpemUuCisKKyAgICAgICAgLSBJbiBvZmZsaW5lYXNtLCBwcmVmZXIg
bG93IG9yZGVyIHJlZ2lzdGVycyBmb3IgdGVtcG9yYXJpZXMuCisKKyAgICAgICAgLSBBbHNvIGNs
ZWFuIHVwIGJhc2VsaW5lIGluc3RhbmNlb2Ygb3AgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAg
KiBieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVy
ZVN0dWJJbmZvOjppbml0aWFsaXplRnJvbVVubGlua2VkU3RydWN0dXJlU3R1YkluZm8pOgorICAg
ICAgICAqIGppdC9CYXNlbGluZUpJVFJlZ2lzdGVycy5oOgorICAgICAgICAqIGppdC9HUFJJbmZv
Lmg6CisgICAgICAgIChKU0M6OkdQUkluZm86OnRvSW5kZXgpOgorICAgICAgICAoSlNDOjpQcmVm
ZXJyZWRBcmd1bWVudEltcGw6OnByZWZlcnJlZEFyZ3VtZW50SlNSKToKKyAgICAgICAgKiBqaXQv
SklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKToK
KyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9pbnN0YW5jZW9mKToKKyAgICAgICAgKiBq
aXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfcHV0
X2J5X3ZhbCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfcHV0X2J5X3ZhbCk6Cisg
ICAgICAgIChKU0M6OkpJVDo6c2xvd19vcF9wdXRfYnlfdmFsX2NhbGxTbG93T3BlcmF0aW9uVGhl
bkNoZWNrRXhjZXB0aW9uR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3B1
dF9wcml2YXRlX25hbWUpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX3B1dF9wcml2
YXRlX25hbWUpOgorICAgICAgICAoSlNDOjpKSVQ6OnNsb3dfb3BfcHV0X3ByaXZhdGVfbmFtZV9j
YWxsU2xvd09wZXJhdGlvblRoZW5DaGVja0V4Y2VwdGlvbkdlbmVyYXRvcik6CisgICAgICAgICog
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206CisgICAgICAgICogb2ZmbGluZWFzbS9hcm0u
cmI6CisKIDIwMjItMDEtMDYgIE1pa2hhaWwgUi4gR2FkZWxoYSAgPG1pa2hhaWxAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbSlNDXVszMmJpdF0gRml4IHJlZ2V4cCBjcmFzaCB3aGVuIGJ1aWxkaW5n
IG9uIEFSTXY3IHVzaW5nIGdjYyAxMC4yLjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCmluZGV4IGY0MWVmZTYyNzUzODg3NTRi
YzZlYWM4YWUzYzRmMzg3YmJmNjRmZDEuLmU1YjAzNjVjNGVhYTQ1MzU0NmU0OTRkZTJjZGY3MjBi
MTM0OTkzNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1
Y3R1cmVTdHViSW5mby5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0
cnVjdHVyZVN0dWJJbmZvLmNwcApAQCAtNTY3LDcgKzU2Nyw3IEBAIHZvaWQgU3RydWN0dXJlU3R1
YkluZm86OmluaXRpYWxpemVGcm9tVW5saW5rZWRTdHJ1Y3R1cmVTdHViSW5mbyhDb2RlQmxvY2sq
LCBVbmxpCiAgICAgICAgIGJhc2VHUFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2Vv
Zjo6dmFsdWVKU1IucGF5bG9hZEdQUigpOwogICAgICAgICB2YWx1ZUdQUiA9IEJhc2VsaW5lSklU
UmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpyZXN1bHRKU1IucGF5bG9hZEdQUigpOwogICAgICAgICBy
ZWdzLnByb3RvdHlwZUdQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpwcm90
b0pTUi5wYXlsb2FkR1BSKCk7Ci0gICAgICAgIG1fc3R1YkluZm9HUFIgPSBCYXNlbGluZUpJVFJl
Z2lzdGVyczo6SW5zdGFuY2VvZjo6c3R1YkluZm9HUFI7CisgICAgICAgIG1fc3R1YkluZm9HUFIg
PSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6RmFzdFBhdGg6OnN0dWJJbmZvR1BS
OwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgICAgIGJhc2VUYWdHUFIgPSBCYXNlbGluZUpJ
VFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6dmFsdWVKU1IudGFnR1BSKCk7CiAgICAgICAgIHZhbHVl
VGFnR1BSID0gSW52YWxpZEdQUlJlZzsKQEAgLTY0NCw3ICs2NDQsNyBAQCB2b2lkIFN0cnVjdHVy
ZVN0dWJJbmZvOjppbml0aWFsaXplRnJvbVVubGlua2VkU3RydWN0dXJlU3R1YkluZm8oQ29kZUJs
b2NrKiwgVW5saQogICAgICAgICBiYXNlR1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5
VmFsOjpiYXNlSlNSLnBheWxvYWRHUFIoKTsKICAgICAgICAgcmVncy5wcm9wZXJ0eUdQUiA9IEJh
c2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6cHJvcGVydHlKU1IucGF5bG9hZEdQUigpOwog
ICAgICAgICB2YWx1ZUdQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6dmFsdWVK
U1IucGF5bG9hZEdQUigpOwotICAgICAgICBtX3N0dWJJbmZvR1BSID0gQmFzZWxpbmVKSVRSZWdp
c3RlcnM6OlB1dEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9HUFI7CisgICAgICAgIG1fc3R1Yklu
Zm9HUFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnN0dWJJbmZvR1BSOwogICAg
ICAgICBpZiAoYWNjZXNzVHlwZSA9PSBBY2Nlc3NUeXBlOjpQdXRCeVZhbCkKICAgICAgICAgICAg
IG1fYXJyYXlQcm9maWxlR1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9m
aWxlR1BSOwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0Jhc2VsaW5lSklUUmVnaXN0ZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0Jhc2VsaW5lSklUUmVnaXN0ZXJzLmgKaW5kZXggMWNjNDY5ODU3MDkzNmM1Mjc1Mjcw
MmY0ZDNmYjllOWU1ZTM1MDRiMy4uMjA2YWI4OTE1Y2Q0MTg2YmZjZjY1M2FmMTg0NjEyMTY4Yzlh
NjU3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9CYXNlbGluZUpJVFJl
Z2lzdGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQmFzZWxpbmVKSVRSZWdp
c3RlcnMuaApAQCAtNTAsMjggKzUwLDMzIEBAIG5hbWVzcGFjZSBFbnRlciB7CiB9CiAKIG5hbWVz
cGFjZSBJbnN0YW5jZW9mIHsKKyAgICB1c2luZyBTbG93T3BlcmF0aW9uID0gZGVjbHR5cGUob3Bl
cmF0aW9uSW5zdGFuY2VPZk9wdGltaXplKTsKKworICAgIC8vIFJlZ2lzdGVycyB1c2VkIG9uIGJv
dGggRmFzdCBhbmQgU2xvdyBwYXRocworICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRK
U1IgeyBKU1JJbmZvOjpyZXR1cm5WYWx1ZUpTUiB9OworICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVn
cyB2YWx1ZUpTUiB7IHByZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVyYXRpb24sIDI+KCkgfTsK
KyAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvdG9KU1IgeyBwcmVmZXJyZWRBcmd1bWVudEpT
UjxTbG93T3BlcmF0aW9uLCAzPigpIH07CisKKyAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3Rl
cnMKKyAgICBuYW1lc3BhY2UgRmFzdFBhdGggeworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0
dWJJbmZvR1BSIHsgR1BSSW5mbzo6YXJndW1lbnRHUFIxIH07CisgICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc2NyYXRjaDFHUFIgeyBHUFJJbmZvOjphcmd1bWVudEdQUjAgfTsKKyAgICAgICAgY29u
c3RleHByIEdQUlJlZyBzY3JhdGNoMkdQUiB7CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25z
dGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICBjb25z
dGV4cHIgSlNWYWx1ZVJlZ3MgdmFsdWVKU1IgeyBHUFJJbmZvOjphcmd1bWVudEdQUjIgfTsKLSAg
ICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvdG9KU1IgeyBHUFJJbmZvOjphcmd1bWVudEdQUjMg
fTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6YXJndW1lbnRH
UFIxIH07Ci0gICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMUdQUiB7IEdQUkluZm86Om5vbkFy
Z0dQUjAgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gyR1BSIHsgR1BSSW5mbzo6bm9u
QXJnR1BSMSB9OworICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDQKICNlbGlmIFVTRShKU1ZBTFVF
MzJfNjQpCi0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86Ompz
UmVnVDEwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsKLSNpZiBDUFUo
TUlQUykKLSAgICAgICAgR1BSSW5mbzo6YXJndW1lbnRHUFIzLCBHUFJJbmZvOjphcmd1bWVudEdQ
UjIKLSNlbHNlCi0gICAgICAgIEpTUkluZm86OmpzUmVnVDMyCisgICAgICAgICAgICBHUFJJbmZv
OjpyZWdUNgogI2VuZGlmCi0gICAgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvdG9K
U1IgeyBKU1JJbmZvOjpqc1JlZ1Q1NCB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9H
UFIgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDFHUFIg
eyBHUFJJbmZvOjpyZWdUNiB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDJHUFIgeyBH
UFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCi0gICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAodmFs
dWVKU1IsIHByb3RvSlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaDFHUFIsIHNjcmF0Y2gyR1BSKSk7
CisgICAgICAgIH07CisgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKHZhbHVlSlNSLCBw
cm90b0pTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2gxR1BSLCBzY3JhdGNoMkdQUiksICJSZXF1aXJl
ZCBmb3IgRGF0YUlDIik7CisgICAgfQorCisgICAgLy8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJz
CisgICAgbmFtZXNwYWNlIFNsb3dQYXRoIHsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9i
YWxPYmplY3RHUFIgeyBwcmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAwPigpIH07
CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBwcmVmZXJyZWRBcmd1bWVu
dEdQUjxTbG93T3BlcmF0aW9uLCAxPigpIH07CisgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVy
bGFwKGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHZhbHVlSlNSLCBwcm90b0pTUiksICJS
ZXF1aXJlZCBmb3IgY2FsbCB0byBzbG93IG9wZXJhdGlvbiIpOworICAgIH0KIH0KIAogbmFtZXNw
YWNlIEpGYWxzZSB7CkBAIC04NSw5ICs5MCw5IEBAIG5hbWVzcGFjZSBKVHJ1ZSB7CiBuYW1lc3Bh
Y2UgVGhyb3cgewogICAgIHVzaW5nIFNsb3dPcGVyYXRpb24gPSBkZWNsdHlwZShvcGVyYXRpb25U
aHJvdyk7CiAKLSAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IHByZWZlcnJl
ZEFyZ3VtZW50R1BSPFNsb3dPcGVyYXRpb24sIDA+KCkgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1
ZVJlZ3MgdGhyb3duVmFsdWVKU1IgeyBwcmVmZXJyZWRBcmd1bWVudEpTUjxTbG93T3BlcmF0aW9u
LCAxPigpIH07Ci0gICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUklu
Zm86Om5vbkFyZ0dQUjAgfTsKKyAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiA9
IHByZWZlcnJlZEFyZ3VtZW50R1BSPFNsb3dPcGVyYXRpb24sIDA+KCk7CisgICAgY29uc3RleHBy
IEpTVmFsdWVSZWdzIHRocm93blZhbHVlSlNSID0gcHJlZmVycmVkQXJndW1lbnRKU1I8U2xvd09w
ZXJhdGlvbiwgMT4oKTsKKyAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSID0g
R1BSSW5mbzo6bm9uQXJnR1BSMDsKICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcCh0aHJvd25W
YWx1ZUpTUiwgYnl0ZWNvZGVPZmZzZXRHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRo
dW5rIik7CiAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoZ2xvYmFsT2JqZWN0R1BSLCB0aHJv
d25WYWx1ZUpTUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBzbG93IG9wZXJhdGlvbiIpOwogfQpA
QCAtMTE3LDI4ICsxMjIsMTggQEAgbmFtZXNwYWNlIEdldEJ5SWQgewogCiAgICAgLy8gRmFzdCBw
YXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIEZhc3RQYXRoIHsKLSNpZiBVU0UoSlNW
QUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6
cmVnVDEgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6
cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGRvbnRDbG9iYmVySlNSIHsg
R1BSSW5mbzo6cmVnVDMgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgICAgIGNvbnN0
ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwogICAgICAgICBjb25z
dGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotICAgICAgICBjb25z
dGV4cHIgSlNWYWx1ZVJlZ3MgZG9udENsb2JiZXJKU1IgeyBHUFJJbmZvOjpyZWdUNiwgR1BSSW5m
bzo6cmVnVDcgfTsKLSNlbmRpZgorICAgICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgZG9udENs
b2JiZXJKU1IgeyBKU1JJbmZvOjpqc1JlZ1Q1NCB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5v
T3ZlcmxhcChiYXNlSlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaEdQUiwgZG9udENsb2JiZXJKU1Ip
LCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOwogICAgIH0KIAogICAgIC8vIFNsb3cgcGF0aCBvbmx5
IHJlZ2lzdGVycwogICAgIG5hbWVzcGFjZSBTbG93UGF0aCB7CiAgICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUkluZm86OnJlZ1QyIH07CisgICAgICAg
IGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIgeyBnbG9iYWxPYmplY3RHUFIgfTsK
ICAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QzIH07
Ci0jaWYgVVNFKEpTVkFMVUU2NCkKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9wZXJ0eUdQ
UiB7IEdQUkluZm86OnJlZ1Q0IH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgICAgICBj
b25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSNlbmRpZgog
ICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBieXRlY29kZU9mZnNldEdQ
Uiwgc3R1YkluZm9HUFIsIHByb3BlcnR5R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENUSSB0
aHVuayIpOwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBnbG9iYWxP
YmplY3RHUFIsIHN0dWJJbmZvR1BSLCBwcm9wZXJ0eUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0
byBzbG93IG9wZXJhdGlvbiIpOwogICAgIH0KQEAgLTE0NywzNyArMTQyLDI4IEBAIG5hbWVzcGFj
ZSBHZXRCeUlkIHsKIG5hbWVzcGFjZSBHZXRCeUlkV2l0aFRoaXMgewogICAgIC8vIFJlZ2lzdGVy
cyB1c2VkIG9uIGJvdGggRmFzdCBhbmQgU2xvdyBwYXRocwogICAgIGNvbnN0ZXhwciBKU1ZhbHVl
UmVncyByZXN1bHRKU1IgeyBKU1JJbmZvOjpyZXR1cm5WYWx1ZUpTUiB9OwotI2lmIFVTRShKU1ZB
TFVFNjQpCi0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdU
MCB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB0aGlzSlNSIHsgR1BSSW5mbzo6cmVnVDEg
fTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGJh
c2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QxMCB9OwogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB0
aGlzSlNSIHsgSlNSSW5mbzo6anNSZWdUMzIgfTsKLSNlbmRpZgogCiAgICAgLy8gRmFzdCBwYXRo
IG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIEZhc3RQYXRoIHsKLSNpZiBVU0UoSlNWQUxV
RTY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVn
VDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVn
VDMgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
c3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4
cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNSB9OwogICAgICAgICBzdGF0aWNf
YXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB0aGlzSlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaEdQ
UiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAgfQogCiAgICAgLy8gU2xvdyBwYXRoIG9u
bHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQYXRoIHsKICAgICAgICAgY29uc3RleHBy
IEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotICAgICAgICBjb25z
dGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAg
ICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IGdsb2JhbE9iamVjdEdQUiB9
OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDUg
fTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9wZXJ0eUdQUiB7CiAjaWYgVVNFKEpTVkFM
VUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJl
Z1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvcGVydHlHUFIgeyBHUFJJbmZvOjpy
ZWdUMyB9OworICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDEKICNlbGlmIFVTRShKU1ZBTFVFMzJf
NjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdU
NiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsgR1BSSW5mbzo6cmVn
VDcgfTsKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1Q2CiAjZW5kaWYKKyAgICAgICAgfTsKICAg
ICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgdGhpc0pTUiwgYnl0ZWNvZGVP
ZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBwcm9wZXJ0eUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0
byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwg
dGhpc0pTUiwgZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQUiwgcHJvcGVydHlHUFIpLCAiUmVx
dWlyZWQgZm9yIGNhbGwgdG8gc2xvdyBvcGVyYXRpb24iKTsKICAgICB9CkBAIC0xODYsMzcgKzE3
MiwyOCBAQCBuYW1lc3BhY2UgR2V0QnlJZFdpdGhUaGlzIHsKIG5hbWVzcGFjZSBHZXRCeVZhbCB7
CiAgICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93IHBhdGhzCiAgICAg
Y29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJldHVyblZhbHVlSlNS
IH07Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpT
UiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5
SlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QxMCB9OwogICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEpTUkluZm86OmpzUmVnVDMyIH07Ci0j
ZW5kaWYKIAogICAgIC8vIEZhc3QgcGF0aCBvbmx5IHJlZ2lzdGVycwogICAgIG5hbWVzcGFjZSBG
YXN0UGF0aCB7Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBz
dHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
c2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQot
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsK
LSNlbmRpZgorICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6
cmVnVDQgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6
cmVnVDUgfTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVy
dHlKU1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNoR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsK
ICAgICB9CiAKICAgICAvLyBTbG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2Ug
U2xvd1BhdGggewogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IEdQ
UkluZm86OnJlZ1Q0IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRH
UFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2Rl
T2Zmc2V0R1BSIHsgZ2xvYmFsT2JqZWN0R1BSIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
c3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNSB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHByb2ZpbGVHUFIgewogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BS
UmVnIHByb2ZpbGVHUFIgeyBHUFJJbmZvOjpyZWdUMyB9OworICAgICAgICAgICAgR1BSSW5mbzo6
cmVnVDEKICNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
c3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHByb2ZpbGVHUFIgeyBHUFJJbmZvOjpyZWdUNyB9OworICAgICAgICAgICAgR1BSSW5mbzo6cmVn
VDYKICNlbmRpZgorICAgICAgICB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChi
YXNlSlNSLCBwcm9wZXJ0eUpTUiwgYnl0ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBwcm9m
aWxlR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENUSSB0aHVuayIpOwogICAgICAgICBzdGF0
aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwgZ2xvYmFsT2JqZWN0R1BS
LCBzdHViSW5mb0dQUiwgcHJvZmlsZUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBzbG93IG9w
ZXJhdGlvbiIpOwogICAgIH0KQEAgLTIyNCw2MCArMjAxLDQ3IEBAIG5hbWVzcGFjZSBHZXRCeVZh
bCB7CiAKICNpZiBVU0UoSlNWQUxVRTY0KQogbmFtZXNwYWNlIEVudW1lcmF0b3JHZXRCeVZhbCB7
Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVn
VDAgfTsKLSAgICBzdGF0aWMgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5SlNSIHsgR1BS
SW5mbzo6cmVnVDEgfTsKLSAgICBzdGF0aWMgY29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpT
UiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgc3R1Yklu
Zm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgIC8vIFdlIHJlbHkgb24gdGhpcyB3aGVuIGxp
bmtpbmcgYSBDb2RlQmxvY2sgYW5kIGluaXRpYWxpemluZyByZWdpc3RlcnMgZm9yIGEgR2V0QnlW
YWwgU3R1YkluZm8uCi0gICAgc3RhdGljX2Fzc2VydChiYXNlSlNSID09IEdldEJ5VmFsOjpiYXNl
SlNSKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHByb3BlcnR5SlNSID09IEdldEJ5VmFsOjpwcm9wZXJ0
eUpTUik7Ci0gICAgc3RhdGljX2Fzc2VydChyZXN1bHRKU1IgPT0gR2V0QnlWYWw6OnJlc3VsdEpT
Uik7Ci0gICAgc3RhdGljX2Fzc2VydChzdHViSW5mb0dQUiA9PSBHZXRCeVZhbDo6RmFzdFBhdGg6
OnN0dWJJbmZvR1BSKTsKLQotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gxIHsg
R1BSSW5mbzo6cmVnVDMgfTsKLSAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMiB7
IEdQUkluZm86OnJlZ1Q0IH07CisgICAgLy8gV2UgcmVseSBvbiB1c2luZyB0aGUgc2FtZSByZWdp
c3RlcnMgd2hlbiBsaW5raW5nIGEgQ29kZUJsb2NrIGFuZCBpbml0aWFsaXppbmcgcmVnaXN0ZXJz
CisgICAgLy8gZm9yIGEgR2V0QnlWYWwgU3R1YkluZm8uCisgICAgc3RhdGljIGNvbnN0ZXhwciBK
U1ZhbHVlUmVncyBiYXNlSlNSIHsgR2V0QnlWYWw6OmJhc2VKU1IgfTsKKyAgICBzdGF0aWMgY29u
c3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5SlNSIHsgR2V0QnlWYWw6OnByb3BlcnR5SlNSIH07
CisgICAgc3RhdGljIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRKU1IgeyBHZXRCeVZhbDo6
cmVzdWx0SlNSIH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBH
ZXRCeVZhbDo6RmFzdFBhdGg6OnN0dWJJbmZvR1BSIH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBH
UFJSZWcgc2NyYXRjaDEgeyBHUFJJbmZvOjpyZWdUMSB9OworICAgIHN0YXRpYyBjb25zdGV4cHIg
R1BSUmVnIHNjcmF0Y2gyIHsgR1BSSW5mbzo6cmVnVDMgfTsKICAgICBzdGF0aWMgY29uc3RleHBy
IEdQUlJlZyBzY3JhdGNoMyB7IEdQUkluZm86OnJlZ1Q1IH07CisgICAgc3RhdGljX2Fzc2VydChu
b092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNoMSwgc2Ny
YXRjaDIsIHNjcmF0Y2gzKSk7CiB9CiAjZW5kaWYKIAogbmFtZXNwYWNlIFB1dEJ5SWQgewogICAg
IC8vIFJlZ2lzdGVycyB1c2VkIG9uIGJvdGggRmFzdCBhbmQgU2xvdyBwYXRocwotI2lmIFVTRShK
U1ZBTFVFNjQpCi0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpy
ZWdUMCB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEdQUkluZm86OnJl
Z1QxIH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVn
cyBiYXNlSlNSIHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJl
Z3MgdmFsdWVKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9OwotI2VuZGlmCiAKICAgICAvLyBGYXN0
IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgRmFzdFBhdGggewotI2lmIFVTRShK
U1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZv
OjpyZWdUMyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZv
OjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gyR1BSIHsgR1BSSW5m
bzo6cmVnVDQgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHNjcmF0Y2gyR1BSIHsgYmFzZUpTUi50YWdHUFIoKSB9OyAvLyBSZXVzaW5nIHJlZ1Qx
IGZvciBiZXR0ZXIgY29kZSBzaXplIG9uIEFSTV9USFVNQjIKLSNlbmRpZgorICAgICAgICBjb25z
dGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAgICAgY29u
c3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsKKyAgICAgICAgLy8g
RmluZSB0byB1c2UgcmVnVDEsIHdoaWNoIGFsc28geWllbGRzIGJldHRlciBjb2RlIHNpemUgb24g
QVJNX1RIVU1CMgorICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gyR1BSIHsgR1BSSW5m
bzo6cmVnVDEgfTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgdmFs
dWVKU1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNoR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsK
ICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUi5wYXlsb2FkR1BSKCksIHZh
bHVlSlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaEdQUiwgc2NyYXRjaDJHUFIpLCAiUmVxdWlyZWQg
Zm9yIERhdGFJQyIpOwogICAgIH0KIAogICAgIC8vIFNsb3cgcGF0aCBvbmx5IHJlZ2lzdGVycwog
ICAgIG5hbWVzcGFjZSBTbG93UGF0aCB7CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFs
T2JqZWN0R1BSIHsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IGdsb2JhbE9iamVjdEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25z
dGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSAgICAgICAgY29u
c3RleHByIEdQUlJlZyBwcm9wZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAgICAg
ICBHUFJJbmZvOjpyZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotICAgICAgICBj
b25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsKLSAg
ICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3IH07Ci0g
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvcGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNCB9Owor
ICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDYKICNlbmRpZgorICAgICAgICB9OworICAgICAgICBj
b25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgZ2xvYmFsT2JqZWN0R1BSIH07Cisg
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9Owor
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsK
KwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB2YWx1ZUpTUiwgYnl0
ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBwcm9wZXJ0eUdQUiksICJSZXF1aXJlZCBmb3Ig
Y2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFz
ZUpTUiwgdmFsdWVKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHByb3BlcnR5R1BS
KSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7CiAgICAgfQpAQCAtMjg1
LDM4ICsyNDksMzkgQEAgbmFtZXNwYWNlIFB1dEJ5SWQgewogCiBuYW1lc3BhY2UgUHV0QnlWYWwg
ewogICAgIC8vIFJlZ2lzdGVycyB1c2VkIG9uIGJvdGggRmFzdCBhbmQgU2xvdyBwYXRocworICAg
IGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKKyAg
ICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9
OworICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEpTUkluZm86OmpzUmVnVDU0
IH07CisgICAgY29uc3RleHByIEdQUlJlZyBwcm9maWxlR1BSIHsKICNpZiBVU0UoSlNWQUxVRTY0
KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsK
LSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9
OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEdQUkluZm86OnJlZ1QyIH07
Ci0gICAgY29uc3RleHByIEdQUlJlZyBwcm9maWxlR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKKyAg
ICAgICAgR1BSSW5mbzo6cmVnVDEKICNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgY29uc3Rl
eHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMSwgR1BSSW5mbzo6cmVnVDAg
fTsKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdU
MywgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgdmFsdWVKU1Ig
eyBHUFJJbmZvOjpyZWdUNiwgR1BSSW5mbzo6cmVnVDcgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVn
IHByb2ZpbGVHUFIgeyBHUFJJbmZvOjpyZWdUNSB9OworICAgICAgICBHUFJJbmZvOjpyZWdUNgog
I2VuZGlmCisgICAgfTsKKyAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsKKyNpZiBV
U0UoSlNWQUxVRTY0KQorICAgICAgICBHUFJJbmZvOjpyZWdUMworI2VsaWYgVVNFKEpTVkFMVUUz
Ml82NCkKKyAgICAgICAgR1BSSW5mbzo6cmVnVDcKKyNlbmRpZgorICAgIH07CiAKLSAgICAvLyBG
YXN0IHBhdGggb25seSByZWdpc3RlcnMKLSAgICBuYW1lc3BhY2UgRmFzdFBhdGggewotICAgICAg
ICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSAgICAg
ICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHZhbHVlSlNS
LCBwcm9maWxlR1BSLCBzdHViSW5mb0dQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7Ci0gICAg
fQorICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNSLCB2YWx1
ZUpTUiwgcHJvZmlsZUdQUiwgc3R1YkluZm9HUFIpLCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOwog
CiAgICAgLy8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQYXRo
IHsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgewogI2lmIFVTRShK
U1ZBTFVFNjQpCi0gICAgICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDUKKyAgICAgICAgICAgIEdQ
UkluZm86OnJlZ1Q1CiAjZWxpZiBDUFUoQVJNX1RIVU1CMikKLSAgICAgICAgICAgICAgICAvLyBX
ZSBhcmUgYSBiaXQgc2hvcnQgb24gcmVnaXN0ZXJzIG9uIEFSTV9USFVNQjIsIGJ1dCB3ZSBjYW4g
anVzdCBhYm91dCBnZXQgYXdheSB3aXRoIHRoaXMKLSAgICAgICAgICAgICAgICBNYWNyb0Fzc2Vt
YmxlckFSTXY3OjpzY3JhdGNoUmVnaXN0ZXIoKQorICAgICAgICAgICAgLy8gV2UgYXJlIGEgYml0
IHNob3J0IG9uIHJlZ2lzdGVycyBvbiBBUk1fVEhVTUIyLCBidXQgd2UgY2FuIGp1c3QgYWJvdXQg
Z2V0IGF3YXkgd2l0aCB0aGlzCisgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlckFSTXY3OjpzY3Jh
dGNoUmVnaXN0ZXIoKQogI2Vsc2UgLy8gT3RoZXIgSlNWQUxVRTMyXzY0Ci0gICAgICAgICAgICAg
ICAgR1BSSW5mbzo6cmVnVDgKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1Q4CiAjZW5kaWYKICAg
ICAgICAgfTsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IGds
b2JhbE9iamVjdEdQUiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsg
R1BSSW5mbzo6cmVnVDQgfTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpT
UiwgcHJvcGVydHlKU1IsIHZhbHVlSlNSLCBwcm9maWxlR1BSLCBieXRlY29kZU9mZnNldEdQUiwg
c3R1YkluZm9HUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAgICAgICAg
IHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNSLCB2YWx1ZUpTUiwg
cHJvZmlsZUdQUiwgZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQUiksICJSZXF1aXJlZCBmb3Ig
Y2FsbCB0byBzbG93IG9wZXJhdGlvbiIpOwogICAgIH0KQEAgLTMzMSw1NSArMjk2LDMzIEBAIG5h
bWVzcGFjZSBJbkJ5SWQgewogCiBuYW1lc3BhY2UgSW5CeVZhbCB7CiAgICAgY29uc3RleHByIEpT
VmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJldHVyblZhbHVlSlNSIH07Ci0jaWYgVVNF
KEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEdQUkluZm86
OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5SlNSIHsgR1BSSW5m
bzo6cmVnVDEgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6
cmVnVDIgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdU
MyB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3Mg
YmFzZUpTUiB7IEdQUkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCB9OwotICAgIGNvbnN0ZXhw
ciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QzLCBHUFJJbmZvOjpyZWdU
MiB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNyB9
OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0j
ZW5kaWYKKyAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEpTUkluZm86OmpzUmVn
VDEwIH07CisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5SlNSIHsgSlNSSW5mbzo6
anNSZWdUMzIgfTsKKyAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6
cmVnVDQgfTsKKyAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdU
NSB9OwogICAgIHN0YXRpY19hc3NlcnQoYmFzZUpTUiA9PSBHZXRCeVZhbDo6YmFzZUpTUik7CiAg
ICAgc3RhdGljX2Fzc2VydChwcm9wZXJ0eUpTUiA9PSBHZXRCeVZhbDo6cHJvcGVydHlKU1IpOwog
fQogCiBuYW1lc3BhY2UgRGVsQnlJZCB7CiAgICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBG
YXN0IGFuZCBTbG93IHBhdGhzCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNW
YWx1ZVJlZ3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMy
XzY0KQogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgSlNSSW5mbzo6anNSZWdU
MzIgfTsKLSNlbmRpZgogCiAgICAgLy8gRmFzdCBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFt
ZXNwYWNlIEZhc3RQYXRoIHsKICAgICAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpT
UiB7IEpTUkluZm86OnJldHVyblZhbHVlSlNSIH07Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAg
ICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0gICAg
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0jZWxp
ZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BS
IHsgR1BSSW5mbzo6cmVnVDcgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BS
IHsgR1BSSW5mbzo6cmVnVDYgfTsKLSNlbmRpZgorICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0
dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBz
Y3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092
ZXJsYXAoYmFzZUpTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hHUFIpLCAiUmVxdWlyZWQgZm9yIERh
dGFJQyIpOwogICAgIH0KIAogICAgIC8vIFNsb3cgcGF0aCBvbmx5IHJlZ2lzdGVycwogICAgIG5h
bWVzcGFjZSBTbG93UGF0aCB7CiAgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0
R1BSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29k
ZU9mZnNldEdQUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAg
ICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAg
ICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvcGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotICAg
ICAgICBjb25zdGV4cHIgR1BSUmVnIGVjbWFNb2RlR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSNl
bGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVP
ZmZzZXRHUFIgeyBnbG9iYWxPYmplY3RHUFIgfTsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBz
dHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
cHJvcGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IGVjbWFNb2RlR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSNlbmRpZgorICAgICAgICBjb25zdGV4
cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBlY21hTW9kZUdQUiB7IEdQUkluZm86OnJlZ1Q1IH07CiAgICAgICAgIHN0YXRp
Y19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQ
UiwgcHJvcGVydHlHUFIsIGVjbWFNb2RlR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENUSSB0
aHVuayIpOwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBnbG9iYWxP
YmplY3RHUFIsIHN0dWJJbmZvR1BSLCBwcm9wZXJ0eUdQUiwgZWNtYU1vZGVHUFIpLCAiUmVxdWly
ZWQgZm9yIGNhbGwgdG8gc2xvdyBvcGVyYXRpb24iKTsKICAgICB9CkBAIC0zODcsNDAgKzMzMCwy
OSBAQCBuYW1lc3BhY2UgRGVsQnlJZCB7CiAKIG5hbWVzcGFjZSBEZWxCeVZhbCB7CiAgICAgLy8g
UmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93IHBhdGhzCi0jaWYgVVNFKEpTVkFM
VUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1Qx
IH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5SlNSIHsgR1BSSW5mbzo6cmVn
VDAgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdz
IGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9OwogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVn
cyBwcm9wZXJ0eUpTUiB7IEpTUkluZm86OmpzUmVnVDEwIH07Ci0jZW5kaWYKIAogICAgIC8vIEZh
c3QgcGF0aCBvbmx5IHJlZ2lzdGVycwogICAgIG5hbWVzcGFjZSBGYXN0UGF0aCB7CiAgICAgICAg
IGNvbnN0ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRKU1IgeyBKU1JJbmZvOjpyZXR1cm5WYWx1ZUpT
UiB9OwotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1Yklu
Zm9HUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0
Y2hHUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAg
ICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3IH07Ci0gICAg
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0jZW5k
aWYKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q0
IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q1
IH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNS
LCBzdHViSW5mb0dQUiwgc2NyYXRjaEdQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAg
fQogCiAgICAgLy8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQ
YXRoIHsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2Jh
bE9iamVjdEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
Ynl0ZWNvZGVPZmZzZXRHUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSAgICAgICAgY29uc3RleHBy
IEdQUlJlZyBlY21hTW9kZUdQUiB7IEdQUkluZm86OnJlZ1Q0IH07Ci0jZWxpZiBVU0UoSlNWQUxV
RTMyXzY0KQogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IEdQUklu
Zm86OnJlZ1Q0IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIg
eyBHUFJJbmZvOjpyZWdUNCB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BS
IHsgR1BSSW5mbzo6cmVnVDYgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBlY21hTW9kZUdQ
UiB7IEdQUkluZm86OnJlZ1Q3IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVP
ZmZzZXRHUFIgeyBnbG9iYWxPYmplY3RHUFIgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBz
dHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q1IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
ZWNtYU1vZGVHUFIgeworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgICAgICBHUFJJbmZvOjpy
ZWdUMQorI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1Q2
CiAjZW5kaWYKKyAgICAgICAgfTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFz
ZUpTUiwgcHJvcGVydHlKU1IsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQUiwgZWNtYU1v
ZGVHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAgICAgICAgIHN0YXRp
Y19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNSLCBnbG9iYWxPYmplY3RHUFIs
IHN0dWJJbmZvR1BSLCBlY21hTW9kZUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBzbG93IG9w
ZXJhdGlvbiIpOwogICAgIH0KQEAgLTQzMSwxMSArMzYzLDcgQEAgbmFtZXNwYWNlIFByaXZhdGVC
cmFuZCB7CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGJyYW5kSlNSIHsgR2V0QnlWYWw6OnBy
b3BlcnR5SlNSIH07IC8vIFJlcXVpcmVkIGJ5IHNoYXJlZCBzbG93IHBhdGggdGh1bmsKIAogICAg
IG5hbWVzcGFjZSBGYXN0UGF0aCB7Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0jZWxpZiBVU0UoSlNW
QUxVRTMyXzY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5m
bzo6cmVnVDcgfTsKLSNlbmRpZgorICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BS
IHsgR2V0QnlWYWw6OkZhc3RQYXRoOjpzdHViSW5mb0dQUiB9OwogICAgICAgICBzdGF0aWNfYXNz
ZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBicmFuZEpTUiwgc3R1YkluZm9HUFIpLCAiUmVxdWlyZWQg
Zm9yIERhdGFJQyIpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9HUFJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAppbmRl
eCA4MmFmNzE2OTMwOWQ3YzkwMGFjOGYwZTU1ZDZiNTc3YWE2MTJiNjMzLi42ZjEyODU0YzJlNzdh
NGIwZmI4YWM1MTBlZDBmNzQwZjk5MTliNjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0dQUkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUklu
Zm8uaApAQCAtNTY2LDEyICs1NjYsMTIgQEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdGV4cHIg
R1BSUmVnIHJlZ1QxID0gQVJNUmVnaXN0ZXJzOjpyMTsKICAgICBzdGF0aWMgY29uc3RleHByIEdQ
UlJlZyByZWdUMiA9IEFSTVJlZ2lzdGVyczo6cjI7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJS
ZWcgcmVnVDMgPSBBUk1SZWdpc3RlcnM6OnIzOwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVn
IHJlZ1Q0ID0gQVJNUmVnaXN0ZXJzOjpyODsKLSAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyBy
ZWdUNSA9IEFSTVJlZ2lzdGVyczo6cjk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVn
VDYgPSBBUk1SZWdpc3RlcnM6OnI1OwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q3
ID0gQVJNUmVnaXN0ZXJzOjpyNDsKLSAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdDUzAg
PSBBUk1SZWdpc3RlcnM6OnIxMTsKLSAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdDUzEg
PSBBUk1SZWdpc3RlcnM6OnIxMDsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUNCA9
IEFSTVJlZ2lzdGVyczo6cjQ7CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDUgPSBB
Uk1SZWdpc3RlcnM6OnI1OworICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q2ID0gQVJN
UmVnaXN0ZXJzOjpyODsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUNyA9IEFSTVJl
Z2lzdGVyczo6cjk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnQ1MwID0gQVJNUmVn
aXN0ZXJzOjpyMTA7CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnQ1MxID0gQVJNUmVn
aXN0ZXJzOjpyMTE7CiAgICAgLy8gVGhlc2UgcmVnaXN0ZXJzIG1hdGNoIHRoZSBiYXNlbGluZSBK
SVQuCiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIgPSBBUk1S
ZWdpc3RlcnM6OmZwOwogICAgIC8vIFRoZXNlIGNvbnN0YW50cyBwcm92aWRlIHRoZSBuYW1lcyBm
b3IgdGhlIGdlbmVyYWwgcHVycG9zZSBhcmd1bWVudCAmIHJldHVybiB2YWx1ZSByZWdpc3RlcnMu
CkBAIC01NzksNyArNTc5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVn
IGFyZ3VtZW50R1BSMSA9IEFSTVJlZ2lzdGVyczo6cjE7IC8vIHJlZ1QxCiAgICAgc3RhdGljIGNv
bnN0ZXhwciBHUFJSZWcgYXJndW1lbnRHUFIyID0gQVJNUmVnaXN0ZXJzOjpyMjsgLy8gcmVnVDIK
ICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyBhcmd1bWVudEdQUjMgPSBBUk1SZWdpc3RlcnM6
OnIzOyAvLyByZWdUMwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIG5vbkFyZ0dQUjAgPSBB
Uk1SZWdpc3RlcnM6OnI0OyAvLyByZWdUNworICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIG5v
bkFyZ0dQUjAgPSBBUk1SZWdpc3RlcnM6OnI0OyAvLyByZWdUNAogICAgIHN0YXRpYyBjb25zdGV4
cHIgR1BSUmVnIHJldHVyblZhbHVlR1BSID0gQVJNUmVnaXN0ZXJzOjpyMDsgLy8gcmVnVDAKICAg
ICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZXR1cm5WYWx1ZUdQUjIgPSBBUk1SZWdpc3RlcnM6
OnIxOyAvLyByZWdUMQogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIG5vblByZXNlcnZlZE5v
blJldHVybkdQUiA9IEFSTVJlZ2lzdGVyczo6cjU7CkBAIC02MDMsNyArNjAzLDcgQEAgcHVibGlj
OgogICAgICAgICBBU1NFUlQocmVnICE9IEludmFsaWRHUFJSZWcpOwogICAgICAgICBBU1NFUlQo
c3RhdGljX2Nhc3Q8aW50PihyZWcpIDwgMTYpOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgaW5kZXhGb3JSZWdpc3RlclsxNl0gPQotICAgICAgICAgICAgeyAwLCAxLCAyLCAzLCA3LCA2
LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgNCwgNSwgOSwgOCwgSW52YWxpZEluZGV4LCBJ
bnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4IH07CisgICAgICAgICAgICB7
IDAsIDEsIDIsIDMsIDQsIDUsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCA2LCA3LCA4LCA5
LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgg
fTsKICAgICAgICAgdW5zaWduZWQgcmVzdWx0ID0gaW5kZXhGb3JSZWdpc3RlcltyZWddOwogICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KQEAgLTExMzYsOCArMTEzNiw4IEBAIHB1YmxpYzoK
ICAgICAgICAgLy8gdGhlIGxpbmsgcmVnaXN0ZXIgYXMgYSB0ZW1wb3JhcnkuCiAgICAgICAgIHJl
dHVybiBwaWNrSlNSPE9wZXJhdGlvblR5cGUsIEFyZ051bT4oCiAgICAgICAgICAgICBHUFJJbmZv
Ojphcmd1bWVudEdQUjAsIEdQUkluZm86OmFyZ3VtZW50R1BSMSwgR1BSSW5mbzo6YXJndW1lbnRH
UFIyLAotICAgICAgICAgICAgR1BSSW5mbzo6YXJndW1lbnRHUFIzLCBHUFJJbmZvOjpyZWdUNywg
ICAgICAgIEdQUkluZm86OnJlZ1Q2LAotICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDQsICAgICAg
ICBHUFJJbmZvOjpyZWdUNSwgICAgICAgIEFSTVJlZ2lzdGVyczo6bHIpOworICAgICAgICAgICAg
R1BSSW5mbzo6YXJndW1lbnRHUFIzLCBHUFJJbmZvOjpyZWdUNCwgICAgICAgIEdQUkluZm86OnJl
Z1Q1LAorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDYsICAgICAgICBHUFJJbmZvOjpyZWdUNywg
ICAgICAgIEFSTVJlZ2lzdGVyczo6bHIpOwogI2VsaWYgQ1BVKE1JUFMpCiAgICAgICAgIHJldHVy
biBwaWNrSlNSPE9wZXJhdGlvblR5cGUsIEFyZ051bT4oCiAgICAgICAgICAgICBHUFJJbmZvOjph
cmd1bWVudEdQUjAsIEdQUkluZm86OmFyZ3VtZW50R1BSMSwgR1BSSW5mbzo6YXJndW1lbnRHUFIy
LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggMzNhODA4MTI0
NmQ4NGE2MWEyYTViMGE1ZWY0MjAzOTcyY2ExNzI4NS4uOWFhNzliNDczZDM0ODgzM2Q1MGExZGU5
MWIzMTUzZDA0NjcxNjMzOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGNvZGVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMu
Y3BwCkBAIC0xNTYsOSArMTU2LDkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihjb25z
dCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIHVzaW5nIEJhc2VsaW5lSklU
UmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpyZXN1bHRKU1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRS
ZWdpc3RlcnM6Okluc3RhbmNlb2Y6OnZhbHVlSlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVn
aXN0ZXJzOjpJbnN0YW5jZW9mOjpwcm90b0pTUjsKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lz
dGVyczo6SW5zdGFuY2VvZjo6c3R1YkluZm9HUFI7Ci0gICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdp
c3RlcnM6Okluc3RhbmNlb2Y6OnNjcmF0Y2gxR1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVn
aXN0ZXJzOjpJbnN0YW5jZW9mOjpzY3JhdGNoMkdQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJl
Z2lzdGVyczo6SW5zdGFuY2VvZjo6RmFzdFBhdGg6OnN0dWJJbmZvR1BSOworICAgIHVzaW5nIEJh
c2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpGYXN0UGF0aDo6c2NyYXRjaDFHUFI7Cisg
ICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6OkZhc3RQYXRoOjpzY3Jh
dGNoMkdQUjsKIAogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIodmFsdWUsIHZhbHVlSlNSKTsK
ICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHByb3RvLCBwcm90b0pTUik7CkBAIC0xODksMzYg
KzE4OSwyOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKGNvbnN0IEluc3RydWN0aW9u
KiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgYWRkU2xvd0Nhc2UoKTsKICAgICBtX2luc3RhbmNl
T2ZzLmFwcGVuZChnZW4pOwogCisgICAgc2V0RmFzdFBhdGhSZXN1bWVQb2ludCgpOwogICAgIGVt
aXRQdXRWaXJ0dWFsUmVnaXN0ZXIoZHN0LCByZXN1bHRKU1IpOwogfQogCi12b2lkIEpJVDo6ZW1p
dFNsb3dfb3BfaW5zdGFuY2VvZihjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9u
LCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJiBpdGVyKQordm9pZCBKSVQ6OmVtaXRT
bG93X29wX2luc3RhbmNlb2YoY29uc3QgSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRy
eT46Oml0ZXJhdG9yJiBpdGVyKQogewogICAgIGxpbmtBbGxTbG93Q2FzZXMoaXRlcik7Ci0gICAg
Ci0gICAgYXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BJbnN0YW5jZW9m
PigpOwotICAgIFZpcnR1YWxSZWdpc3RlciByZXN1bHRWUmVnID0gYnl0ZWNvZGUubV9kc3Q7Ci0g
ICAgCisKICAgICBKSVRJbnN0YW5jZU9mR2VuZXJhdG9yJiBnZW4gPSBtX2luc3RhbmNlT2ZzW21f
aW5zdGFuY2VPZkluZGV4KytdOwotICAgIAorCiAgICAgTGFiZWwgY29sZFBhdGhCZWdpbiA9IGxh
YmVsKCk7CiAKLSAgICB1c2luZyBTbG93T3BlcmF0aW9uID0gZGVjbHR5cGUob3BlcmF0aW9uSW5z
dGFuY2VPZk9wdGltaXplKTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiA9
IHByZWZlcnJlZEFyZ3VtZW50R1BSPFNsb3dPcGVyYXRpb24sIDA+KCk7Ci0gICAgY29uc3RleHBy
IEdQUlJlZyBzdHViSW5mb0dQUiA9IHByZWZlcnJlZEFyZ3VtZW50R1BSPFNsb3dPcGVyYXRpb24s
IDE+KCk7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6OnZhbHVl
SlNSOwotICAgIHN0YXRpY19hc3NlcnQodmFsdWVKU1IgPT0gcHJlZmVycmVkQXJndW1lbnRKU1I8
U2xvd09wZXJhdGlvbiwgMj4oKSk7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Oklu
c3RhbmNlb2Y6OnByb3RvSlNSOwotICAgIC8vIE9uIEpTVkFMVUUzMl82NCwgJ3Byb3RvJyB3aWxs
IGJlIHBhc3NlZCBvbiBzdGFjayBhbnl3YXkKLSAgICBzdGF0aWNfYXNzZXJ0KHByb3RvSlNSID09
IHByZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVyYXRpb24sIDM+KCkgfHwgaXMzMkJpdCgpKTsK
LSAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChnbG9iYWxPYmplY3RHUFIsIHN0dWJJbmZvR1BS
LCB2YWx1ZUpTUiwgcHJvdG9KU1IpKTsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6
SW5zdGFuY2VvZjo6U2xvd1BhdGg6Omdsb2JhbE9iamVjdEdQUjsKKyAgICB1c2luZyBCYXNlbGlu
ZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6U2xvd1BhdGg6OnN0dWJJbmZvR1BSOwogCiAgICAg
bG9hZEdsb2JhbE9iamVjdChnbG9iYWxPYmplY3RHUFIpOwogICAgIGxvYWRDb25zdGFudChnZW4u
bV91bmxpbmtlZFN0dWJJbmZvQ29uc3RhbnRJbmRleCwgc3R1YkluZm9HUFIpOwotICAgIGNhbGxP
cGVyYXRpb248U2xvd09wZXJhdGlvbj4oCisgICAgY2FsbE9wZXJhdGlvbjxkZWNsdHlwZShvcGVy
YXRpb25JbnN0YW5jZU9mT3B0aW1pemUpPigKICAgICAgICAgQWRkcmVzcyhzdHViSW5mb0dQUiwg
U3RydWN0dXJlU3R1YkluZm86Om9mZnNldE9mU2xvd09wZXJhdGlvbigpKSwKLSAgICAgICAgcmVz
dWx0VlJlZywKICAgICAgICAgZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQUiwgdmFsdWVKU1Is
IHByb3RvSlNSKTsKKyAgICBzdGF0aWNfYXNzZXJ0KEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0
YW5jZW9mOjpyZXN1bHRKU1IgPT0gcmV0dXJuVmFsdWVKU1IpOwogICAgIGdlbi5yZXBvcnRTbG93
UGF0aENhbGwoY29sZFBhdGhCZWdpbiwgQ2FsbCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAppbmRleCAyOWIxZTBhNDljODI5OGQz
ZGY2MTBhNzJjYjVhZWIwNzM1Zjc5NzdlLi5hNThlYjRlZWQ5N2NiNGYxZTE3ODYzMGIzMWQ1OTk3
MTkxNmRmZTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3Bl
cnR5QWNjZXNzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5
QWNjZXNzLmNwcApAQCAtMzgxLDcgKzM4MSw3IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9ieV92
YWwoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICB1c2luZyBCYXNl
bGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnByb3BlcnR5SlNSOwogICAgIHVzaW5nIEJhc2Vs
aW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6dmFsdWVKU1I7CiAgICAgdXNpbmcgQmFzZWxpbmVK
SVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9maWxlR1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklU
UmVnaXN0ZXJzOjpQdXRCeVZhbDo6RmFzdFBhdGg6OnN0dWJJbmZvR1BSOworICAgIHVzaW5nIEJh
c2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9HUFI7CiAKICAgICBlbWl0R2V0
VmlydHVhbFJlZ2lzdGVyKGJhc2UsIGJhc2VKU1IpOwogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0
ZXIocHJvcGVydHksIHByb3BlcnR5SlNSKTsKQEAgLTQzMCw3ICs0MzAsNyBAQCB2b2lkIEpJVDo6
ZW1pdFNsb3dfb3BfcHV0X2J5X3ZhbChjb25zdCBJbnN0cnVjdGlvbiosIFZlY3RvcjxTbG93Q2Fz
ZUVudHJ5Pjo6aXRlcgogICAgIEFTU0VSVChCeXRlY29kZUluZGV4KGJ5dGVjb2RlT2Zmc2V0KSA9
PSBtX2J5dGVjb2RlSW5kZXgpOwogICAgIEpJVFB1dEJ5VmFsR2VuZXJhdG9yJiBnZW4gPSBtX3B1
dEJ5VmFsc1ttX3B1dEJ5VmFsSW5kZXgrK107CiAKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lz
dGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpzdHViSW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGlu
ZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnN0dWJJbmZvR1BSOwogICAgIHVzaW5nIEJhc2VsaW5l
SklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwogCiAg
ICAgTGFiZWwgY29sZFBhdGhCZWdpbiA9IGxhYmVsKCk7CkBAIC00NTgsOSArNDU4LDkgQEAgTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFnPiBKSVQ6OnNsb3dfb3BfcHV0X2J5X3Zh
bF9jYWxsU2xvd09wZXJhdGlvblQKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0
QnlWYWw6OnByb3BlcnR5SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRC
eVZhbDo6dmFsdWVKU1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFs
Ojpwcm9maWxlR1BSOworICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6
c3R1YkluZm9HUFI7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpT
bG93UGF0aDo6Z2xvYmFsT2JqZWN0R1BSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJz
OjpQdXRCeVZhbDo6U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwotICAgIHVzaW5nIEJhc2Vs
aW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OnN0dWJJbmZvR1BSOwogCiAgICAg
aml0LmVtaXRDVElUaHVua1Byb2xvZ3VlKCk7CiAKQEAgLTQ5Myw3ICs0OTMsNyBAQCB2b2lkIEpJ
VDo6ZW1pdF9vcF9wdXRfcHJpdmF0ZV9uYW1lKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24pCiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpiYXNl
SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6cHJvcGVydHlK
U1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjp2YWx1ZUpTUjsK
LSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OkZhc3RQYXRoOjpzdHVi
SW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnN0dWJJ
bmZvR1BSOwogCiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihiYXNlLCBiYXNlSlNSKTsKICAg
ICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHByb3BlcnR5LCBwcm9wZXJ0eUpTUik7CkBAIC01Mjks
NyArNTI5LDcgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX3B1dF9wcml2YXRlX25hbWUoY29uc3Qg
SW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT4KICAgICBKSVRQdXRCeVZhbEdlbmVy
YXRvciYgZ2VuID0gbV9wdXRCeVZhbHNbbV9wdXRCeVZhbEluZGV4KytdOwogCiAgICAgdXNpbmcg
QmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93UGF0aDo6Ynl0ZWNvZGVPZmZzZXRH
UFI7Ci0gICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93UGF0aDo6
c3R1YkluZm9HUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpz
dHViSW5mb0dQUjsKIAogICAgIExhYmVsIGNvbGRQYXRoQmVnaW4gPSBsYWJlbCgpOwogICAgIGxp
bmtBbGxTbG93Q2FzZXMoaXRlcik7CkBAIC01NTYsOSArNTU2LDkgQEAgTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmPEpJVFRodW5rUHRyVGFnPiBKSVQ6OnNsb3dfb3BfcHV0X3ByaXZhdGVfbmFtZV9jYWxs
U2xvd09wZXIKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnByb3Bl
cnR5SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6dmFsdWVK
U1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9maWxlR1BS
OworICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9HUFI7
CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93UGF0aDo6Z2xv
YmFsT2JqZWN0R1BSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6
U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0
ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OnN0dWJJbmZvR1BSOwogCiAgICAgaml0LmVtaXRDVElU
aHVua1Byb2xvZ3VlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCAzYmViZDEzNmYyYmFiZmNkMzM5ZDcyMmZkMmNi
MjMzMjk0NmY1YWJkLi5kNmY3MGFhYmFkOGI1MjhiYmQ5NTEwNjJhNTZhNDJiZjdiMmMxMDQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtCkBAIC04MjksMTggKzgyOSw3IEBAIG1hY3JvIHByZXNlcnZlQ2FsbGVlU2F2ZXNVc2Vk
QnlMTEludCgpCiAgICAgc3VicCBDYWxsZWVTYXZlU3BhY2VTdGFja0FsaWduZWQsIHNwCiAgICAg
aWYgQ19MT09QIG9yIENfTE9PUF9XSU4KICAgICAgICAgc3RvcmVwIG1ldGFkYXRhVGFibGUsIC1Q
dHJTaXplW2Nmcl0KLQotICAgICMgTmV4dCBBUk12NyBhbmQgTUlQUyBkaWZmZXIgaW4gaG93IHdl
IHN0b3JlIG1ldGFkYXRhVGFibGUgYW5kIFBCLAotICAgICMgYmVjYXVzZSB0aGlzIGNvZGVzIG5l
ZWRzIHRvIGJlIGluIHN5bmMgd2l0aCBob3cgcmVnaXN0ZXJzIGFyZQotICAgICMgcmVzdG9yZWQg
aW4gQmFzZWxpbmUgSklUIChzcGVjaWZpY2FsbHkgaW4gZW1pdFJlc3RvcmVDYWxsZWVTYXZlc0Zv
cikuCi0gICAgIyBlbWl0UmVzdG9yZUNhbGxlZVNhdmVzRm9yIHJlc3RvcmVzIHJlZ2lzdGVycyBp
biBvcmRlciBpbnN0ZWFkIG9mIGJ5IG5hbWUuCi0gICAgIyBIb3dldmVyLCBBUk12NyBhbmQgTUlQ
UyBkaWZmZXIgaW4gdGhlIG9yZGVyIGluIHdoaWNoIHJlZ2lzdGVycyBhcmUgYXNzaWduZWQKLSAg
ICAjIHRvIG1ldGFkYXRhVGFibGUgYW5kIFBCLCB0aGVyZWZvcmUgdGhleSBjYW4gYWxzbyBub3Qg
aGF2ZSB0aGUgc2FtZSBzYXZpbmcKLSAgICAjIG9yZGVyLgotICAgIGVsc2lmIEFSTXY3Ci0gICAg
ICAgIHN0b3JlcCBtZXRhZGF0YVRhYmxlLCAtNFtjZnJdCi0gICAgICAgIHN0b3JlcCBQQiwgLThb
Y2ZyXQotICAgIGVsc2lmIE1JUFMKKyAgICBlbHNpZiBBUk12NyBvciBNSVBTCiAgICAgICAgIHN0
b3JlcCBQQiwgLTRbY2ZyXQogICAgICAgICBzdG9yZXAgbWV0YWRhdGFUYWJsZSwgLThbY2ZyXQog
ICAgIGVsc2lmIEFSTTY0IG9yIEFSTTY0RQpAQCAtODY5LDEyICs4NTgsNyBAQCBlbmQKIG1hY3Jv
IHJlc3RvcmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50KCkKICAgICBpZiBDX0xPT1Agb3IgQ19MT09Q
X1dJTgogICAgICAgICBsb2FkcCAtUHRyU2l6ZVtjZnJdLCBtZXRhZGF0YVRhYmxlCi0gICAgIyBU
byB1bmRlcnN0YW5kIHdoeSBBUk12NyBhbmQgTUlQUyBkaWZmZXIgaW4gcmVzdG9yZSBvcmRlciwK
LSAgICAjIHNlZSBjb21tZW50IGluIHByZXNlcnZlQ2FsbGVlU2F2ZXNVc2VkQnlMTEludAotICAg
IGVsc2lmIEFSTXY3Ci0gICAgICAgIGxvYWRwIC00W2Nmcl0sIG1ldGFkYXRhVGFibGUKLSAgICAg
ICAgbG9hZHAgLThbY2ZyXSwgUEIKLSAgICBlbHNpZiBNSVBTCisgICAgZWxzaWYgQVJNdjcgb3Ig
TUlQUwogICAgICAgICBsb2FkcCAtNFtjZnJdLCBQQgogICAgICAgICBsb2FkcCAtOFtjZnJdLCBt
ZXRhZGF0YVRhYmxlCiAgICAgZWxzaWYgQVJNNjQgb3IgQVJNNjRFCkBAIC05MzcsMTIgKzkyMSw3
IEBAIG1hY3JvIGNvcHlDYWxsZWVTYXZlc1RvRW50cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVyKGVu
dHJ5RnJhbWUpCiAgICAgICAgICAgICBzdG9yZXEgY3NyNCwgMzJbZW50cnlGcmFtZV0KICAgICAg
ICAgICAgIHN0b3JlcSBjc3I1LCA0MFtlbnRyeUZyYW1lXQogICAgICAgICAgICAgc3RvcmVxIGNz
cjYsIDQ4W2VudHJ5RnJhbWVdCi0gICAgICAgICMgVG8gdW5kZXJzdGFuZCB3aHkgQVJNdjcgYW5k
IE1JUFMgZGlmZmVyIGluIHN0b3JlIG9yZGVyLAotICAgICAgICAjIHNlZSBjb21tZW50IGluIHBy
ZXNlcnZlQ2FsbGVlU2F2ZXNVc2VkQnlMTEludAotICAgICAgICBlbHNpZiBBUk12NwotICAgICAg
ICAgICAgc3RvcmVwIGNzcjEsIFtlbnRyeUZyYW1lXQotICAgICAgICAgICAgc3RvcmVwIGNzcjAs
IDRbZW50cnlGcmFtZV0KLSAgICAgICAgZWxzaWYgTUlQUworICAgICAgICBlbHNpZiBBUk12NyBv
ciBNSVBTCiAgICAgICAgICAgICBzdG9yZXAgY3NyMCwgW2VudHJ5RnJhbWVdCiAgICAgICAgICAg
ICBzdG9yZXAgY3NyMSwgNFtlbnRyeUZyYW1lXQogICAgICAgICBlbHNpZiBSSVNDVjY0CkBAIC0x
MDE4LDEyICs5OTcsNyBAQCBtYWNybyByZXN0b3JlQ2FsbGVlU2F2ZXNGcm9tVk1FbnRyeUZyYW1l
Q2FsbGVlU2F2ZXNCdWZmZXIodm0sIHRlbXApCiAgICAgICAgICAgICBsb2FkcSAzMlt0ZW1wXSwg
Y3NyNAogICAgICAgICAgICAgbG9hZHEgNDBbdGVtcF0sIGNzcjUKICAgICAgICAgICAgIGxvYWRx
IDQ4W3RlbXBdLCBjc3I2Ci0gICAgICAgICMgVG8gdW5kZXJzdGFuZCB3aHkgQVJNdjcgYW5kIE1J
UFMgZGlmZmVyIGluIHJlc3RvcmUgb3JkZXIsCi0gICAgICAgICMgc2VlIGNvbW1lbnQgaW4gcHJl
c2VydmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50Ci0gICAgICAgIGVsc2lmIEFSTXY3Ci0gICAgICAg
ICAgICBsb2FkcCBbdGVtcF0sIGNzcjEKLSAgICAgICAgICAgIGxvYWRwIDRbdGVtcF0sIGNzcjAK
LSAgICAgICAgZWxzaWYgTUlQUworICAgICAgICBlbHNpZiBBUk12NyBvciBNSVBTCiAgICAgICAg
ICAgICBsb2FkcCBbdGVtcF0sIGNzcjAKICAgICAgICAgICAgIGxvYWRwIDRbdGVtcF0sIGNzcjEK
ICAgICAgICAgZWxzaWYgUklTQ1Y2NApAQCAtMTc5NywzMiArMTc3MSwzNyBAQCBpZiBub3QgKENf
TE9PUCBvciBDX0xPT1BfV0lOKQogICAgIF9zYW5pdGl6ZVN0YWNrRm9yVk1JbXBsOgogICAgICAg
ICB0YWdSZXR1cm5BZGRyZXNzIHNwCiAgICAgICAgICMgV2UgbmVlZCB0aHJlZSBub24tYWxpYXNl
ZCBjYWxsZXItc2F2ZSByZWdpc3RlcnMuIFdlIGFyZSBndWFyYW50ZWVkCi0gICAgICAgICMgdGhp
cyBmb3IgYTAsIGExIGFuZCBhMiBvbiBhbGwgYXJjaGl0ZWN0dXJlcy4KKyAgICAgICAgIyB0aGlz
IGZvciBhMCwgYTEgYW5kIGEyIG9uIGFsbCBhcmNoaXRlY3R1cmVzLiBCZXdhcmUgYWxzbyB0aGF0
CisgICAgICAgICMgb2ZmbGluZWFzbSBtaWdodCB1c2UgdGVtcG9yYXJ5IHJlZ2lzdGVycyB3aGVu
IGxvd2VyaW5nIGNvbXBsZXgKKyAgICAgICAgIyBpbnN0cnVjdGlvbnMgb24gc29tZSBwbGF0Zm9y
bXMsIHdoaWNoIG1pZ2h0IGJlIGNhbGVlLXNhdmUuIFRvIGF2b2lkCisgICAgICAgICMgdGhpcywg
d2UgdXNlIHRoZSBzaW1wbGVzdCBpbnN0cnVjdGlvbnMgc28gd2UgbmV2ZXIgbmVlZCBhIHRlbXBv
cmFyeQorICAgICAgICAjIGFuZCBoYW5jZSBkb24ndCBjbG9iYmVyIGFueSBjYWxsZWUtc2F2ZSBy
ZWdpc3RlcnMuCiAgICAgICAgIGlmIFg4NiBvciBYODZfV0lOCiAgICAgICAgICAgICBsb2FkcCA0
W3NwXSwgYTAKICAgICAgICAgZW5kCi0gICAgICAgIGNvbnN0IHZtT3JTdGFydFNQID0gYTAKICAg
ICAgICAgY29uc3QgYWRkcmVzcyA9IGExCi0gICAgICAgIGNvbnN0IHplcm9WYWx1ZSA9IGEyCi0g
ICAgCi0gICAgICAgIGxvYWRwIFZNOjptX2xhc3RTdGFja1RvcFt2bU9yU3RhcnRTUF0sIGFkZHJl
c3MKLSAgICAgICAgbW92ZSBzcCwgemVyb1ZhbHVlCi0gICAgICAgIHN0b3JlcCB6ZXJvVmFsdWUs
IFZNOjptX2xhc3RTdGFja1RvcFt2bU9yU3RhcnRTUF0KLSAgICAgICAgbW92ZSBzcCwgdm1PclN0
YXJ0U1AKKyAgICAgICAgY29uc3Qgc2NyYXRjaCA9IGEyCisKKyAgICAgICAgbW92ZSBWTTo6bV9s
YXN0U3RhY2tUb3AsIHNjcmF0Y2gKKyAgICAgICAgYWRkcCBzY3JhdGNoLCBhMAorICAgICAgICBs
b2FkcCBbYTBdLCBhZGRyZXNzCisgICAgICAgIG1vdmUgc3AsIHNjcmF0Y2gKKyAgICAgICAgc3Rv
cmVwIHNjcmF0Y2gsIFthMF0KKyAgICAgICAgbW92ZSBzcCwgYTAKIAogICAgICAgICBicGJlcSBz
cCwgYWRkcmVzcywgLnplcm9GaWxsRG9uZQogICAgICAgICBtb3ZlIGFkZHJlc3MsIHNwCiAKLSAg
ICAgICAgbW92ZSAwLCB6ZXJvVmFsdWUKKyAgICAgICAgbW92ZSAwLCBzY3JhdGNoCiAgICAgLnpl
cm9GaWxsTG9vcDoKLSAgICAgICAgc3RvcmVwIHplcm9WYWx1ZSwgW2FkZHJlc3NdCisgICAgICAg
IHN0b3JlcCBzY3JhdGNoLCBbYWRkcmVzc10KICAgICAgICAgYWRkcCBQdHJTaXplLCBhZGRyZXNz
Ci0gICAgICAgIGJwYSB2bU9yU3RhcnRTUCwgYWRkcmVzcywgLnplcm9GaWxsTG9vcAorICAgICAg
ICBicGEgYTAsIGFkZHJlc3MsIC56ZXJvRmlsbExvb3AKIAogICAgIC56ZXJvRmlsbERvbmU6Ci0g
ICAgICAgIG1vdmUgdm1PclN0YXJ0U1AsIHNwCisgICAgICAgIG1vdmUgYTAsIHNwCiAgICAgICAg
IHJldAotICAgIAorCiAgICAgIyBWTUVudHJ5UmVjb3JkKiB2bUVudHJ5UmVjb3JkKGNvbnN0IEVu
dHJ5RnJhbWUqIGVudHJ5RnJhbWUpCiAgICAgZ2xvYmFsIF92bUVudHJ5UmVjb3JkCiAgICAgX3Zt
RW50cnlSZWNvcmQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFz
bS9hcm0ucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm0ucmIKaW5kZXgg
OWM1NDhhM2MyZThlZTIwNWQ1NDdhMzVjYTI4ZDUxNjJjN2VmMzZkYS4uNzZkYjkyMDQwMGEyNDZj
OWU4OTRiODE4YWQ3OTNmYzU3N2VkNjM1NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL29mZmxpbmVhc20vYXJtLnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5l
YXNtL2FybS5yYgpAQCAtMzMsMTIgKzMzLDEzIEBAIHJlcXVpcmUgInJpc2MiCiAjICB4MSA9PiB0
MSwgYTEsIHIxCiAjICB4MiA9PiB0MiwgYTIsIHIyCiAjICB4MyA9PiB0MywgYTMsIHIzCisjICB4
NCA9PiB0NCAgICAgICAgIChjYWxsZWUtc2F2ZSkKKyMgIHg1ID0+IHQ1ICAgICAgICAgKGNhbGxl
ZS1zYXZlKQogIyAgeDYgPT4gICAgICAgICAgICAoY2FsbGVlLXNhdmUgc2NyYXRjaCkKICMgIHg3
ID0+IGNmcgotIyAgeDggPT4gdDQgICAgICAgICAoY2FsbGVlLXNhdmUpCi0jICB4OSA9PiB0NSAg
ICAgICAgIChjYWxsZWUtc2F2ZSkKLSMgeDEwID0+IGNzcjEgICAgICAgKGNhbGxlZS1zYXZlLCBQ
QikKLSMgeDExID0+IGNmciwgY3NyMCAgKGNhbGxlZS1zYXZlLCBtZXRhZGF0YVRhYmxlKQorIyAg
eDggPT4gICAgICAgICAgICAoY2FsbGVlLXNhdmUgc2NyYXRjaCkKKyMgeDEwID0+IGNzcjAgICAg
ICAgKGNhbGxlZS1zYXZlLCBQQikKKyMgeDExID0+IGNmciwgY3NyMSAgKGNhbGxlZS1zYXZlLCBt
ZXRhZGF0YVRhYmxlKQogIyB4MTIgPT4gICAgICAgICAgICAoY2FsbGVlLXNhdmUgc2NyYXRjaCkK
ICMgIGxyID0+IGxyCiAjICBzcCA9PiBzcApAQCAtNjksNyArNzAsOCBAQCBjbGFzcyBTcGVjaWFs
UmVnaXN0ZXIKICAgICBlbmQKIGVuZAogCi1BUk1fRVhUUkFfR1BSUyA9IFtTcGVjaWFsUmVnaXN0
ZXIubmV3KCJyNiIpLCBTcGVjaWFsUmVnaXN0ZXIubmV3KCJyNCIpLCBTcGVjaWFsUmVnaXN0ZXIu
bmV3KCJyMTIiKV0KKyMgVGhlc2UgYXJlIGFsbG9jYXRlIGZyb20gdGhlIHRhaWwsIHNvIHB1dCB0
aGUgbG93IG9yZGVyIHJlZ2lzdGVycyBsYXN0IGZvciBjb2RlIHNpemUgaW1wcm92ZW1lbnRzCitB
Uk1fRVhUUkFfR1BSUyA9IFtTcGVjaWFsUmVnaXN0ZXIubmV3KCJyMTIiKSwgU3BlY2lhbFJlZ2lz
dGVyLm5ldygicjgiKSwgU3BlY2lhbFJlZ2lzdGVyLm5ldygicjYiKV0KIEFSTV9FWFRSQV9GUFJT
ID0gW1NwZWNpYWxSZWdpc3Rlci5uZXcoImQ3IildCiBBUk1fU0NSQVRDSF9GUFIgPSBTcGVjaWFs
UmVnaXN0ZXIubmV3KCJkNiIpCiBPU19EQVJXSU4gPSAoKFJVQllfUExBVEZPUk0gPX4gL2Rhcndp
bi9pKSAhPSBuaWwpCkBAIC0xMDQsMTUgKzEwNiwxNSBAQCBjbGFzcyBSZWdpc3RlcklECiAgICAg
ICAgIHdoZW4gInQzIgogICAgICAgICAgICAgInIzIgogICAgICAgICB3aGVuICJ0NCIKLSAgICAg
ICAgICAgICJyOCIKKyAgICAgICAgICAgICJyNCIKICAgICAgICAgd2hlbiAidDUiCi0gICAgICAg
ICAgICAicjkiCisgICAgICAgICAgICAicjUiCiAgICAgICAgIHdoZW4gImNmciIKICAgICAgICAg
ICAgICJyNyIKICAgICAgICAgd2hlbiAiY3NyMCIKLSAgICAgICAgICAgICJyMTEiCi0gICAgICAg
IHdoZW4gImNzcjEiCiAgICAgICAgICAgICAicjEwIgorICAgICAgICB3aGVuICJjc3IxIgorICAg
ICAgICAgICAgInIxMSIKICAgICAgICAgd2hlbiAibHIiCiAgICAgICAgICAgICAibHIiCiAgICAg
ICAgIHdoZW4gInNwIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453498</attachid>
            <date>2022-03-01 07:47:41 -0800</date>
            <delta_ts>2022-03-24 03:32:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235027-20220301154740.patch</filename>
            <type>text/plain</type>
            <size>40623</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNjM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZDA2Y2FiNzY3YWE5NTQwNTZmNWFmNzQ2NTFjN2NmZTFkNDE0ZDgwLi5lMTg0YjE4NGUwYjBhZDA1
NjY1NzM0ZGJmZWI5YmFiNDJkNzc5MGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAyMi0wMy0wMSAgR2V6YSBMb3JlICA8Z2xvcmVAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXVtBUk12N10gQ2xlYW51cCBHUFIgbnVtYmVyaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUwMjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIE1ha2UgdGhlIHRoZSBsb3dlciBv
cmRlciBjYWxsZWUgc2F2ZSByZWdpc3RlciBiZSByZWdDUzAvbGxpbnQgY3NyMC4KKyAgICAgICAg
U29tZSBvZiB0aGUgQ1NSIHN0b3JlL3Jlc3RvcmUgY29kZSByZWxpZXMgb24gdGhpcyBhbmQgdXNp
bmcgYQorICAgICAgICBudW1iZXJpbmcgc2NoZW1lIGNvbnNpc3RlbnQgd2l0aCBvdGhlciB0YXJn
ZXRzICh0aGF0IGlzOiByZWdDUzxOPiBtYXBzCisgICAgICAgIHRvIGEgbG93ZXIgbnVtYmVyIG1h
Y2hpbmUgcmVnaXN0ZXIgdGhhbiByZWdDUzxOKzE+KSBlbGltaW5hdGVzIHNvbWUKKyAgICAgICAg
aWZkZWZzIGluIExMSW50LCBhbmQgaG9wZWZ1bGx5IHdpbGwgcHJldmVudCBoYXJkIHRvIGZpbmQg
aXNzdWVzIGR1ZSB0bworICAgICAgICB0aGUgbWlzbWF0Y2ggZnJvbSBvdGhlciB0YXJnZXRzIHRo
YXQgYWxsIGZvbGxvdyB0aGlzIHJ1bGUuCisKKyAgICAgICAgLSBJbiB0aGUgVGh1bWItMiBpbnN0
cnVjdGlvbiBzZXQsIHVzZSBvZiByMC1yNyBjYW4gb2Z0ZW4gYmUgZW5jb2RlZAorICAgICAgICB1
c2luZyBhIHNob3J0ZXIsIDE2LWJpdCBpbnN0cnVjdGlvbi4gU3dhcCByZWdUNC9yZWdUNSB3aXRo
CisgICAgICAgIHJlZ1Q3L3JlZ1Q2LCBzbyBsb3dlciBvcmRlciB0ZW1wb3JhcmllcyAod2hpY2gg
YXJlIHVzdWFsbHkgdXNlZCBmaXJzdCkKKyAgICAgICAgbWFwIHRvIHRoZSBsb3dlciBvcmRlciBy
ZWdpc3RlcnMgdGhhdCBjYW4geWllbGQgZGVuc2VyIGNvZGUuIFRoaXMKKyAgICAgICAgdGhlbiBz
aW1wbGlmaWVzIEJhc2VsaW5lSklUUmVnaXN0ZXJzLmgsIGFuZCBhbHNvIHNhdmVzIGFib3V0IH4x
JSBERkcKKyAgICAgICAgY29kZSBzaXplLgorCisgICAgICAgIC0gSW4gb2ZmbGluZWFzbSwgcHJl
ZmVyIGxvdyBvcmRlciByZWdpc3RlcnMgZm9yIHRlbXBvcmFyaWVzLgorCisgICAgICAgIC0gQWxz
byBjbGVhbiB1cCBiYXNlbGluZSBpbnN0YW5jZW9mIG9wIGltcGxlbWVudGF0aW9uLgorCisgICAg
ICAgICogYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwOgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmVTdHViSW5mbzo6aW5pdGlhbGl6ZUZyb21VbmxpbmtlZFN0cnVjdHVyZVN0dWJJbmZvKToK
KyAgICAgICAgKiBqaXQvQmFzZWxpbmVKSVRSZWdpc3RlcnMuaDoKKyAgICAgICAgKiBqaXQvR1BS
SW5mby5oOgorICAgICAgICAoSlNDOjpHUFJJbmZvOjp0b0luZGV4KToKKyAgICAgICAgKEpTQzo6
UHJlZmVycmVkQXJndW1lbnRJbXBsOjpwcmVmZXJyZWRBcmd1bWVudEpTUik6CisgICAgICAgICog
aml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfaW5zdGFuY2Vv
Zik6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfaW5zdGFuY2VvZik6CisgICAgICAg
ICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X3B1dF9ieV92YWwpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX3B1dF9ieV92YWwp
OgorICAgICAgICAoSlNDOjpKSVQ6OnNsb3dfb3BfcHV0X2J5X3ZhbF9jYWxsU2xvd09wZXJhdGlv
blRoZW5DaGVja0V4Y2VwdGlvbkdlbmVyYXRvcik6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9wdXRfcHJpdmF0ZV9uYW1lKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9wdXRf
cHJpdmF0ZV9uYW1lKToKKyAgICAgICAgKEpTQzo6SklUOjpzbG93X29wX3B1dF9wcml2YXRlX25h
bWVfY2FsbFNsb3dPcGVyYXRpb25UaGVuQ2hlY2tFeGNlcHRpb25HZW5lcmF0b3IpOgorICAgICAg
ICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIG9mZmxpbmVhc20v
YXJtLnJiOgorCiAyMDIyLTAzLTAxICBHZXphIExvcmUgIDxnbG9yZUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtKU0NdIFBvcnQgRVhUUkFfQ1RJX1RIVU5LUyB0byBhbGwgcGxhdGZvcm1zCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNw
cAppbmRleCA3Mjk5NGE4MjdhZmJjNmJiNjkzMWNmNGQ2MWY2Y2NlOTNhYjdmMWZjLi4xNjg4NWFl
ZGFhNDc3MTI2ODgxZmUzYmI1ZDAwMmRlODkxNzYzNzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAKQEAgLTU2Miw3ICs1
NjIsNyBAQCB2b2lkIFN0cnVjdHVyZVN0dWJJbmZvOjppbml0aWFsaXplRnJvbVVubGlua2VkU3Ry
dWN0dXJlU3R1YkluZm8oQ29kZUJsb2NrKiwgVW5saQogICAgICAgICBiYXNlR1BSID0gQmFzZWxp
bmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6OnZhbHVlSlNSLnBheWxvYWRHUFIoKTsKICAgICAg
ICAgdmFsdWVHUFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6cmVzdWx0SlNS
LnBheWxvYWRHUFIoKTsKICAgICAgICAgcmVncy5wcm90b3R5cGVHUFIgPSBCYXNlbGluZUpJVFJl
Z2lzdGVyczo6SW5zdGFuY2VvZjo6cHJvdG9KU1IucGF5bG9hZEdQUigpOwotICAgICAgICBtX3N0
dWJJbmZvR1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6OnN0dWJJbmZvR1BS
OworICAgICAgICBtX3N0dWJJbmZvR1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNl
b2Y6OkZhc3RQYXRoOjpzdHViSW5mb0dQUjsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgICAg
ICBiYXNlVGFnR1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6OnZhbHVlSlNS
LnRhZ0dQUigpOwogICAgICAgICB2YWx1ZVRhZ0dQUiA9IEludmFsaWRHUFJSZWc7CkBAIC02Mzks
NyArNjM5LDcgQEAgdm9pZCBTdHJ1Y3R1cmVTdHViSW5mbzo6aW5pdGlhbGl6ZUZyb21Vbmxpbmtl
ZFN0cnVjdHVyZVN0dWJJbmZvKENvZGVCbG9jayosIFVubGkKICAgICAgICAgYmFzZUdQUiA9IEJh
c2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6YmFzZUpTUi5wYXlsb2FkR1BSKCk7CiAgICAg
ICAgIHJlZ3MucHJvcGVydHlHUFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnBy
b3BlcnR5SlNSLnBheWxvYWRHUFIoKTsKICAgICAgICAgdmFsdWVHUFIgPSBCYXNlbGluZUpJVFJl
Z2lzdGVyczo6UHV0QnlWYWw6OnZhbHVlSlNSLnBheWxvYWRHUFIoKTsKLSAgICAgICAgbV9zdHVi
SW5mb0dQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6RmFzdFBhdGg6OnN0dWJJ
bmZvR1BSOworICAgICAgICBtX3N0dWJJbmZvR1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1
dEJ5VmFsOjpzdHViSW5mb0dQUjsKICAgICAgICAgaWYgKGFjY2Vzc1R5cGUgPT0gQWNjZXNzVHlw
ZTo6UHV0QnlWYWwpCiAgICAgICAgICAgICBtX2FycmF5UHJvZmlsZUdQUiA9IEJhc2VsaW5lSklU
UmVnaXN0ZXJzOjpQdXRCeVZhbDo6cHJvZmlsZUdQUjsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9CYXNlbGluZUpJVFJlZ2lzdGVy
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9CYXNlbGluZUpJVFJlZ2lzdGVycy5oCmlu
ZGV4IDFjYzQ2OTg1NzA5MzZjNTI3NTI3MDJmNGQzZmI5ZTllNWUzNTA0YjMuLjIwNmFiODkxNWNk
NDE4NmJmY2Y2NTNhZjE4NDYxMjE2OGM5YTY1N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvQmFzZWxpbmVKSVRSZWdpc3RlcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0Jhc2VsaW5lSklUUmVnaXN0ZXJzLmgKQEAgLTUwLDI4ICs1MCwzMyBAQCBuYW1l
c3BhY2UgRW50ZXIgewogfQogCiBuYW1lc3BhY2UgSW5zdGFuY2VvZiB7CisgICAgdXNpbmcgU2xv
d09wZXJhdGlvbiA9IGRlY2x0eXBlKG9wZXJhdGlvbkluc3RhbmNlT2ZPcHRpbWl6ZSk7CisKKyAg
ICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBib3RoIEZhc3QgYW5kIFNsb3cgcGF0aHMKKyAgICBjb25z
dGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgSlNSSW5mbzo6cmV0dXJuVmFsdWVKU1IgfTsK
KyAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgdmFsdWVKU1IgeyBwcmVmZXJyZWRBcmd1bWVudEpT
UjxTbG93T3BlcmF0aW9uLCAyPigpIH07CisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3Rv
SlNSIHsgcHJlZmVycmVkQXJndW1lbnRKU1I8U2xvd09wZXJhdGlvbiwgMz4oKSB9OworCisgICAg
Ly8gRmFzdCBwYXRoIG9ubHkgcmVnaXN0ZXJzCisgICAgbmFtZXNwYWNlIEZhc3RQYXRoIHsKKyAg
ICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OmFyZ3VtZW50R1BS
MSB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gxR1BSIHsgR1BSSW5mbzo6YXJn
dW1lbnRHUFIwIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDJHUFIgewogI2lm
IFVTRShKU1ZBTFVFNjQpCi0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpTUiB7IEdQ
UkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgR1BS
SW5mbzo6YXJndW1lbnRHUFIyIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3RvSlNS
IHsgR1BSSW5mbzo6YXJndW1lbnRHUFIzIH07Ci0gICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5m
b0dQUiB7IEdQUkluZm86OmFyZ3VtZW50R1BSMSB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc2Ny
YXRjaDFHUFIgeyBHUFJJbmZvOjpub25BcmdHUFIwIH07Ci0gICAgY29uc3RleHByIEdQUlJlZyBz
Y3JhdGNoMkdQUiB7IEdQUkluZm86Om5vbkFyZ0dQUjEgfTsKKyAgICAgICAgICAgIEdQUkluZm86
OnJlZ1Q0CiAjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVn
cyByZXN1bHRKU1IgeyBKU1JJbmZvOjpqc1JlZ1QxMCB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVl
UmVncyB2YWx1ZUpTUiB7Ci0jaWYgQ1BVKE1JUFMpCi0gICAgICAgIEdQUkluZm86OmFyZ3VtZW50
R1BSMywgR1BSSW5mbzo6YXJndW1lbnRHUFIyCi0jZWxzZQotICAgICAgICBKU1JJbmZvOjpqc1Jl
Z1QzMgorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDYKICNlbmRpZgotICAgIH07Ci0gICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIHByb3RvSlNSIHsgSlNSSW5mbzo6anNSZWdUNTQgfTsKLSAgICBj
b25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSAgICBjb25z
dGV4cHIgR1BSUmVnIHNjcmF0Y2gxR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsKLSAgICBjb25zdGV4
cHIgR1BSUmVnIHNjcmF0Y2gyR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSNlbmRpZgotICAgIHN0
YXRpY19hc3NlcnQobm9PdmVybGFwKHZhbHVlSlNSLCBwcm90b0pTUiwgc3R1YkluZm9HUFIsIHNj
cmF0Y2gxR1BSLCBzY3JhdGNoMkdQUikpOworICAgICAgICB9OworICAgICAgICBzdGF0aWNfYXNz
ZXJ0KG5vT3ZlcmxhcCh2YWx1ZUpTUiwgcHJvdG9KU1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNoMUdQ
Uiwgc2NyYXRjaDJHUFIpLCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOworICAgIH0KKworICAgIC8v
IFNsb3cgcGF0aCBvbmx5IHJlZ2lzdGVycworICAgIG5hbWVzcGFjZSBTbG93UGF0aCB7CisgICAg
ICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgcHJlZmVycmVkQXJndW1lbnRH
UFI8U2xvd09wZXJhdGlvbiwgMD4oKSB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJ
bmZvR1BSIHsgcHJlZmVycmVkQXJndW1lbnRHUFI8U2xvd09wZXJhdGlvbiwgMT4oKSB9OworICAg
ICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChnbG9iYWxPYmplY3RHUFIsIHN0dWJJbmZvR1BS
LCB2YWx1ZUpTUiwgcHJvdG9KU1IpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gc2xvdyBvcGVyYXRp
b24iKTsKKyAgICB9CiB9CiAKIG5hbWVzcGFjZSBKRmFsc2UgewpAQCAtODUsOSArOTAsOSBAQCBu
YW1lc3BhY2UgSlRydWUgewogbmFtZXNwYWNlIFRocm93IHsKICAgICB1c2luZyBTbG93T3BlcmF0
aW9uID0gZGVjbHR5cGUob3BlcmF0aW9uVGhyb3cpOwogCi0gICAgY29uc3RleHByIEdQUlJlZyBn
bG9iYWxPYmplY3RHUFIgeyBwcmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAwPigp
IH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHRocm93blZhbHVlSlNSIHsgcHJlZmVycmVk
QXJndW1lbnRKU1I8U2xvd09wZXJhdGlvbiwgMT4oKSB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcg
Ynl0ZWNvZGVPZmZzZXRHUFIgeyBHUFJJbmZvOjpub25BcmdHUFIwIH07CisgICAgY29uc3RleHBy
IEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgPSBwcmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0
aW9uLCAwPigpOworICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB0aHJvd25WYWx1ZUpTUiA9IHBy
ZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVyYXRpb24sIDE+KCk7CisgICAgY29uc3RleHByIEdQ
UlJlZyBieXRlY29kZU9mZnNldEdQUiA9IEdQUkluZm86Om5vbkFyZ0dQUjA7CiAgICAgc3RhdGlj
X2Fzc2VydChub092ZXJsYXAodGhyb3duVmFsdWVKU1IsIGJ5dGVjb2RlT2Zmc2V0R1BSKSwgIlJl
cXVpcmVkIGZvciBjYWxsIHRvIENUSSB0aHVuayIpOwogICAgIHN0YXRpY19hc3NlcnQobm9PdmVy
bGFwKGdsb2JhbE9iamVjdEdQUiwgdGhyb3duVmFsdWVKU1IpLCAiUmVxdWlyZWQgZm9yIGNhbGwg
dG8gc2xvdyBvcGVyYXRpb24iKTsKIH0KQEAgLTExNywyOCArMTIyLDE4IEBAIG5hbWVzcGFjZSBH
ZXRCeUlkIHsKIAogICAgIC8vIEZhc3QgcGF0aCBvbmx5IHJlZ2lzdGVycwogICAgIG5hbWVzcGFj
ZSBGYXN0UGF0aCB7Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJl
ZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBKU1Zh
bHVlUmVncyBkb250Q2xvYmJlckpTUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0jZWxpZiBVU0UoSlNW
QUxVRTMyXzY0KQogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5m
bzo6cmVnVDIgfTsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5m
bzo6cmVnVDMgfTsKLSAgICAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGRvbnRDbG9iYmVySlNS
IHsgR1BSSW5mbzo6cmVnVDYsIEdQUkluZm86OnJlZ1Q3IH07Ci0jZW5kaWYKKyAgICAgICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIGRvbnRDbG9iYmVySlNSIHsgSlNSSW5mbzo6anNSZWdUNTQgfTsK
ICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgc3R1YkluZm9HUFIsIHNj
cmF0Y2hHUFIsIGRvbnRDbG9iYmVySlNSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKICAgICB9
CiAKICAgICAvLyBTbG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xvd1Bh
dGggewogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IEdQUkluZm86
OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIgeyBH
UFJJbmZvOjpyZWdUMiB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0
R1BSIHsgZ2xvYmFsT2JqZWN0R1BSIH07CiAgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1Yklu
Zm9HUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgIGNv
bnN0ZXhwciBHUFJSZWcgcHJvcGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotI2VsaWYgVVNF
KEpTVkFMVUUzMl82NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9wZXJ0eUdQUiB7IEdQ
UkluZm86OnJlZ1Q3IH07Ci0jZW5kaWYKICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAo
YmFzZUpTUiwgYnl0ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBwcm9wZXJ0eUdQUiksICJS
ZXF1aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fzc2VydChu
b092ZXJsYXAoYmFzZUpTUiwgZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQUiwgcHJvcGVydHlH
UFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gc2xvdyBvcGVyYXRpb24iKTsKICAgICB9CkBAIC0x
NDcsMzcgKzE0MiwyOCBAQCBuYW1lc3BhY2UgR2V0QnlJZCB7CiBuYW1lc3BhY2UgR2V0QnlJZFdp
dGhUaGlzIHsKICAgICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBib3RoIEZhc3QgYW5kIFNsb3cgcGF0
aHMKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgSlNSSW5mbzo6cmV0dXJu
VmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVn
cyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3Mg
dGhpc0pTUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAg
IGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKICAg
ICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgdGhpc0pTUiB7IEpTUkluZm86OmpzUmVnVDMyIH07Ci0j
ZW5kaWYKIAogICAgIC8vIEZhc3QgcGF0aCBvbmx5IHJlZ2lzdGVycwogICAgIG5hbWVzcGFjZSBG
YXN0UGF0aCB7Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBz
dHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
c2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQot
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsK
LSNlbmRpZgorICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6
cmVnVDQgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6
cmVnVDUgfTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgdGhpc0pT
Uiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hHUFIpLCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOwogICAg
IH0KIAogICAgIC8vIFNsb3cgcGF0aCBvbmx5IHJlZ2lzdGVycwogICAgIG5hbWVzcGFjZSBTbG93
UGF0aCB7CiAgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5m
bzo6cmVnVDQgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7
IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZz
ZXRHUFIgeyBnbG9iYWxPYmplY3RHUFIgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHVi
SW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q1IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJv
cGVydHlHUFIgewogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
c3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHByb3BlcnR5R1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKKyAgICAgICAgICAgIEdQUkluZm86OnJl
Z1QxCiAjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0
dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBw
cm9wZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1Q3IH07CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdU
NgogI2VuZGlmCisgICAgICAgIH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJh
c2VKU1IsIHRoaXNKU1IsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQUiwgcHJvcGVydHlH
UFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAgICAgICAgIHN0YXRpY19h
c3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHRoaXNKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1Yklu
Zm9HUFIsIHByb3BlcnR5R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9u
Iik7CiAgICAgfQpAQCAtMTg2LDM3ICsxNzIsMjggQEAgbmFtZXNwYWNlIEdldEJ5SWRXaXRoVGhp
cyB7CiBuYW1lc3BhY2UgR2V0QnlWYWwgewogICAgIC8vIFJlZ2lzdGVycyB1c2VkIG9uIGJvdGgg
RmFzdCBhbmQgU2xvdyBwYXRocwogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRKU1Ig
eyBKU1JJbmZvOjpyZXR1cm5WYWx1ZUpTUiB9OwotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotICAgIGNvbnN0
ZXhwciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0jZWxpZiBV
U0UoSlNWQUxVRTMyXzY0KQogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgSlNS
SW5mbzo6anNSZWdUMTAgfTsKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1Ig
eyBKU1JJbmZvOjpqc1JlZ1QzMiB9OwotI2VuZGlmCiAKICAgICAvLyBGYXN0IHBhdGggb25seSBy
ZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgRmFzdFBhdGggewotI2lmIFVTRShKU1ZBTFVFNjQpCi0g
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9Owot
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUMyB9Owot
I2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5m
b0dQUiB7IEdQUkluZm86OnJlZ1Q3IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRj
aEdQUiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0jZW5kaWYKKyAgICAgICAgY29uc3RleHByIEdQUlJl
ZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q1IH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQo
bm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaEdQUiks
ICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAgfQogCiAgICAgLy8gU2xvdyBwYXRoIG9ubHkg
cmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQYXRoIHsKICAgICAgICAgY29uc3RleHByIEdQ
UlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotICAgICAgICBjb25zdGV4
cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAgICAg
Y29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IGdsb2JhbE9iamVjdEdQUiB9Owor
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsK
KyAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9maWxlR1BSIHsKICNpZiBVU0UoSlNWQUxVRTY0
KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIg
fTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9maWxlR1BSIHsgR1BSSW5mbzo6cmVnVDMg
fTsKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QxCiAjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQot
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9maWxlR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsK
KyAgICAgICAgICAgIEdQUkluZm86OnJlZ1Q2CiAjZW5kaWYKKyAgICAgICAgfTsKICAgICAgICAg
c3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIGJ5dGVjb2RlT2Zm
c2V0R1BSLCBzdHViSW5mb0dQUiwgcHJvZmlsZUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBD
VEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJv
cGVydHlKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHByb2ZpbGVHUFIpLCAiUmVx
dWlyZWQgZm9yIGNhbGwgdG8gc2xvdyBvcGVyYXRpb24iKTsKICAgICB9CkBAIC0yMjQsNjAgKzIw
MSw0NyBAQCBuYW1lc3BhY2UgR2V0QnlWYWwgewogCiAjaWYgVVNFKEpTVkFMVUU2NCkKIG5hbWVz
cGFjZSBFbnVtZXJhdG9yR2V0QnlWYWwgewotICAgIHN0YXRpYyBjb25zdGV4cHIgSlNWYWx1ZVJl
Z3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBKU1Zh
bHVlUmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0gICAgc3RhdGljIGNvbnN0
ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotICAgIHN0YXRp
YyBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAv
LyBXZSByZWx5IG9uIHRoaXMgd2hlbiBsaW5raW5nIGEgQ29kZUJsb2NrIGFuZCBpbml0aWFsaXpp
bmcgcmVnaXN0ZXJzIGZvciBhIEdldEJ5VmFsIFN0dWJJbmZvLgotICAgIHN0YXRpY19hc3NlcnQo
YmFzZUpTUiA9PSBHZXRCeVZhbDo6YmFzZUpTUik7Ci0gICAgc3RhdGljX2Fzc2VydChwcm9wZXJ0
eUpTUiA9PSBHZXRCeVZhbDo6cHJvcGVydHlKU1IpOwotICAgIHN0YXRpY19hc3NlcnQocmVzdWx0
SlNSID09IEdldEJ5VmFsOjpyZXN1bHRKU1IpOwotICAgIHN0YXRpY19hc3NlcnQoc3R1YkluZm9H
UFIgPT0gR2V0QnlWYWw6OkZhc3RQYXRoOjpzdHViSW5mb0dQUik7Ci0KLSAgICBzdGF0aWMgY29u
c3RleHByIEdQUlJlZyBzY3JhdGNoMSB7IEdQUkluZm86OnJlZ1QzIH07Ci0gICAgc3RhdGljIGNv
bnN0ZXhwciBHUFJSZWcgc2NyYXRjaDIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgIC8vIFdlIHJl
bHkgb24gdXNpbmcgdGhlIHNhbWUgcmVnaXN0ZXJzIHdoZW4gbGlua2luZyBhIENvZGVCbG9jayBh
bmQgaW5pdGlhbGl6aW5nIHJlZ2lzdGVycworICAgIC8vIGZvciBhIEdldEJ5VmFsIFN0dWJJbmZv
LgorICAgIHN0YXRpYyBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEdldEJ5VmFsOjpi
YXNlSlNSIH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7
IEdldEJ5VmFsOjpwcm9wZXJ0eUpTUiB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgSlNWYWx1ZVJl
Z3MgcmVzdWx0SlNSIHsgR2V0QnlWYWw6OnJlc3VsdEpTUiB9OworICAgIHN0YXRpYyBjb25zdGV4
cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR2V0QnlWYWw6OkZhc3RQYXRoOjpzdHViSW5mb0dQUiB9
OworICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gxIHsgR1BSSW5mbzo6cmVnVDEg
fTsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMiB7IEdQUkluZm86OnJlZ1Qz
IH07CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDMgeyBHUFJJbmZvOjpyZWdU
NSB9OworICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNSLCBz
dHViSW5mb0dQUiwgc2NyYXRjaDEsIHNjcmF0Y2gyLCBzY3JhdGNoMykpOwogfQogI2VuZGlmCiAK
IG5hbWVzcGFjZSBQdXRCeUlkIHsKICAgICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBib3RoIEZhc3Qg
YW5kIFNsb3cgcGF0aHMKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVl
UmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJl
Z3MgdmFsdWVKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkK
ICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEpTUkluZm86OmpzUmVnVDEwIH07
CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgSlNSSW5mbzo6anNSZWdUMzIg
fTsKLSNlbmRpZgogCiAgICAgLy8gRmFzdCBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNw
YWNlIEZhc3RQYXRoIHsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BS
UmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSAgICAgICAgY29uc3RleHByIEdQ
UlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQ
UlJlZyBzY3JhdGNoMkdQUiB7IEdQUkluZm86OnJlZ1Q0IH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMy
XzY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVn
VDcgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVn
VDYgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMkdQUiB7IGJhc2VKU1IudGFn
R1BSKCkgfTsgLy8gUmV1c2luZyByZWdUMSBmb3IgYmV0dGVyIGNvZGUgc2l6ZSBvbiBBUk1fVEhV
TUIyCi0jZW5kaWYKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUklu
Zm86OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUklu
Zm86OnJlZ1Q1IH07CisgICAgICAgIC8vIEZpbmUgdG8gdXNlIHJlZ1QxLCB3aGljaCBhbHNvIHlp
ZWxkcyBiZXR0ZXIgY29kZSBzaXplIG9uIEFSTV9USFVNQjIKKyAgICAgICAgY29uc3RleHByIEdQ
UlJlZyBzY3JhdGNoMkdQUiB7IEdQUkluZm86OnJlZ1QxIH07CiAgICAgICAgIHN0YXRpY19hc3Nl
cnQobm9PdmVybGFwKGJhc2VKU1IsIHZhbHVlSlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaEdQUiks
ICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFw
KGJhc2VKU1IucGF5bG9hZEdQUigpLCB2YWx1ZUpTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hHUFIs
IHNjcmF0Y2gyR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKICAgICB9CiAKICAgICAvLyBT
bG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xvd1BhdGggeworICAgICAg
ICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7CiAjaWYgVVNFKEpTVkFMVUU2NCkK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJbmZvOjpyZWdU
MiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgR1BSSW5m
bzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUklu
Zm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvcGVydHlHUFIgeyBHUFJJ
bmZvOjpyZWdUNCB9OworICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDEKICNlbGlmIFVTRShKU1ZB
TFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BS
SW5mbzo6cmVnVDYgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQ
UiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9H
UFIgeyBHUFJJbmZvOjpyZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHByb3BlcnR5
R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1Q2CiAjZW5k
aWYKKyAgICAgICAgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQ
UiB7IGdsb2JhbE9iamVjdEdQUiB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZv
R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9wZXJ0
eUdQUiB7IEdQUkluZm86OnJlZ1Q1IH07CisKICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJs
YXAoYmFzZUpTUiwgdmFsdWVKU1IsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQUiwgcHJv
cGVydHlHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAgICAgICAgIHN0
YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHZhbHVlSlNSLCBnbG9iYWxPYmplY3RHUFIs
IHN0dWJJbmZvR1BSLCBwcm9wZXJ0eUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBzbG93IG9w
ZXJhdGlvbiIpOwogICAgIH0KQEAgLTI4NSwzOCArMjQ5LDM5IEBAIG5hbWVzcGFjZSBQdXRCeUlk
IHsKIAogbmFtZXNwYWNlIFB1dEJ5VmFsIHsKICAgICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBib3Ro
IEZhc3QgYW5kIFNsb3cgcGF0aHMKKyAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7
IEpTUkluZm86OmpzUmVnVDEwIH07CisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5
SlNSIHsgSlNSSW5mbzo6anNSZWdUMzIgfTsKKyAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgdmFs
dWVKU1IgeyBKU1JJbmZvOjpqc1JlZ1Q1NCB9OworICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmls
ZUdQUiB7CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFz
ZUpTUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3Bl
cnR5SlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgdmFs
dWVKU1IgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQ
UiB7IEdQUkluZm86OnJlZ1QzIH07CisgICAgICAgIEdQUkluZm86OnJlZ1QxCiAjZWxpZiBVU0Uo
SlNWQUxVRTMyXzY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5m
bzo6cmVnVDEsIEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHBy
b3BlcnR5SlNSIHsgR1BSSW5mbzo6cmVnVDMsIEdQUkluZm86OnJlZ1QyIH07Ci0gICAgY29uc3Rl
eHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgR1BSSW5mbzo6cmVnVDYsIEdQUkluZm86OnJlZ1Q3
IH07Ci0gICAgY29uc3RleHByIEdQUlJlZyBwcm9maWxlR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsK
KyAgICAgICAgR1BSSW5mbzo6cmVnVDYKICNlbmRpZgorICAgIH07CisgICAgY29uc3RleHByIEdQ
UlJlZyBzdHViSW5mb0dQUiB7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgR1BSSW5mbzo6
cmVnVDMKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIEdQUkluZm86OnJlZ1Q3Cisj
ZW5kaWYKKyAgICB9OwogCi0gICAgLy8gRmFzdCBwYXRoIG9ubHkgcmVnaXN0ZXJzCi0gICAgbmFt
ZXNwYWNlIEZhc3RQYXRoIHsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7
IEdQUkluZm86OnJlZ1Q0IH07Ci0gICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VK
U1IsIHByb3BlcnR5SlNSLCB2YWx1ZUpTUiwgcHJvZmlsZUdQUiwgc3R1YkluZm9HUFIpLCAiUmVx
dWlyZWQgZm9yIERhdGFJQyIpOwotICAgIH0KKyAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChi
YXNlSlNSLCBwcm9wZXJ0eUpTUiwgdmFsdWVKU1IsIHByb2ZpbGVHUFIsIHN0dWJJbmZvR1BSKSwg
IlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKIAogICAgIC8vIFNsb3cgcGF0aCBvbmx5IHJlZ2lzdGVy
cwogICAgIG5hbWVzcGFjZSBTbG93UGF0aCB7CiAgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xv
YmFsT2JqZWN0R1BSIHsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICAgICAgICAgIEdQUklu
Zm86OnJlZ1Q1CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNQogI2VsaWYgQ1BVKEFSTV9USFVN
QjIpCi0gICAgICAgICAgICAgICAgLy8gV2UgYXJlIGEgYml0IHNob3J0IG9uIHJlZ2lzdGVycyBv
biBBUk1fVEhVTUIyLCBidXQgd2UgY2FuIGp1c3QgYWJvdXQgZ2V0IGF3YXkgd2l0aCB0aGlzCi0g
ICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXJBUk12Nzo6c2NyYXRjaFJlZ2lzdGVyKCkKKyAg
ICAgICAgICAgIC8vIFdlIGFyZSBhIGJpdCBzaG9ydCBvbiByZWdpc3RlcnMgb24gQVJNX1RIVU1C
MiwgYnV0IHdlIGNhbiBqdXN0IGFib3V0IGdldCBhd2F5IHdpdGggdGhpcworICAgICAgICAgICAg
TWFjcm9Bc3NlbWJsZXJBUk12Nzo6c2NyYXRjaFJlZ2lzdGVyKCkKICNlbHNlIC8vIE90aGVyIEpT
VkFMVUUzMl82NAotICAgICAgICAgICAgICAgIEdQUkluZm86OnJlZ1Q4CisgICAgICAgICAgICBH
UFJJbmZvOjpyZWdUOAogI2VuZGlmCiAgICAgICAgIH07CiAgICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgYnl0ZWNvZGVPZmZzZXRHUFIgeyBnbG9iYWxPYmplY3RHUFIgfTsKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q0IH07CiAgICAgICAgIHN0YXRp
Y19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNSLCB2YWx1ZUpTUiwgcHJvZmls
ZUdQUiwgYnl0ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxs
IHRvIENUSSB0aHVuayIpOwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNS
LCBwcm9wZXJ0eUpTUiwgdmFsdWVKU1IsIHByb2ZpbGVHUFIsIGdsb2JhbE9iamVjdEdQUiwgc3R1
YkluZm9HUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gc2xvdyBvcGVyYXRpb24iKTsKICAgICB9
CkBAIC0zMzEsNTUgKzI5NiwzMyBAQCBuYW1lc3BhY2UgSW5CeUlkIHsKIAogbmFtZXNwYWNlIElu
QnlWYWwgewogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRKU1IgeyBKU1JJbmZvOjpy
ZXR1cm5WYWx1ZUpTUiB9OwotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgY29uc3RleHByIEpTVmFs
dWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVl
UmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0gICAgY29uc3RleHByIEdQUlJl
ZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgY29uc3RleHByIEdQUlJlZyBz
Y3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0g
ICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMSwgR1BSSW5m
bzo6cmVnVDAgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJ
bmZvOjpyZWdUMywgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJ
bmZvR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hH
UFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotI2VuZGlmCisgICAgY29uc3RleHByIEpTVmFsdWVSZWdz
IGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QxMCB9OworICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVn
cyBwcm9wZXJ0eUpTUiB7IEpTUkluZm86OmpzUmVnVDMyIH07CisgICAgY29uc3RleHByIEdQUlJl
ZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgY29uc3RleHByIEdQUlJlZyBz
Y3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsKICAgICBzdGF0aWNfYXNzZXJ0KGJhc2VKU1Ig
PT0gR2V0QnlWYWw6OmJhc2VKU1IpOwogICAgIHN0YXRpY19hc3NlcnQocHJvcGVydHlKU1IgPT0g
R2V0QnlWYWw6OnByb3BlcnR5SlNSKTsKIH0KIAogbmFtZXNwYWNlIERlbEJ5SWQgewogICAgIC8v
IFJlZ2lzdGVycyB1c2VkIG9uIGJvdGggRmFzdCBhbmQgU2xvdyBwYXRocwotI2lmIFVTRShKU1ZB
TFVFNjQpCi0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdU
MSB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3Mg
YmFzZUpTUiB7IEpTUkluZm86OmpzUmVnVDMyIH07Ci0jZW5kaWYKIAogICAgIC8vIEZhc3QgcGF0
aCBvbmx5IHJlZ2lzdGVycwogICAgIG5hbWVzcGFjZSBGYXN0UGF0aCB7CiAgICAgICAgIGNvbnN0
ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRKU1IgeyBKU1JJbmZvOjpyZXR1cm5WYWx1ZUpTUiB9Owot
I2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIg
eyBHUFJJbmZvOjpyZWdUMyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIg
eyBHUFJJbmZvOjpyZWdUMiB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgY29u
c3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3IH07Ci0gICAgICAgIGNv
bnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0jZW5kaWYKKyAg
ICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q0IH07Cisg
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q1IH07CiAg
ICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHN0dWJJbmZvR1BSLCBzY3Jh
dGNoR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKICAgICB9CiAKICAgICAvLyBTbG93IHBh
dGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xvd1BhdGggewogICAgICAgICBjb25z
dGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgICAg
IGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIgeyBHUFJJbmZvOjpyZWdUMCB9Owot
I2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIg
eyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BS
IHsgR1BSSW5mbzo6cmVnVDMgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBlY21hTW9kZUdQ
UiB7IEdQUkluZm86OnJlZ1Q0IH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICBj
b25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgZ2xvYmFsT2JqZWN0R1BSIH07CiAg
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMSB9Owot
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBlY21hTW9kZUdQUiB7IEdQUkluZm86OnJlZ1Q3IH07
Ci0jZW5kaWYKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9wZXJ0eUdQUiB7IEdQUkluZm86
OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZWNtYU1vZGVHUFIgeyBHUFJJbmZv
OjpyZWdUNSB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBieXRl
Y29kZU9mZnNldEdQUiwgc3R1YkluZm9HUFIsIHByb3BlcnR5R1BSLCBlY21hTW9kZUdQUiksICJS
ZXF1aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fzc2VydChu
b092ZXJsYXAoYmFzZUpTUiwgZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQUiwgcHJvcGVydHlH
UFIsIGVjbWFNb2RlR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7
CiAgICAgfQpAQCAtMzg3LDQwICszMzAsMjkgQEAgbmFtZXNwYWNlIERlbEJ5SWQgewogCiBuYW1l
c3BhY2UgRGVsQnlWYWwgewogICAgIC8vIFJlZ2lzdGVycyB1c2VkIG9uIGJvdGggRmFzdCBhbmQg
U2xvdyBwYXRocwotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgY29uc3RleHByIEpTVmFsdWVSZWdz
IGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBw
cm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQog
ICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgSlNSSW5mbzo6anNSZWdUMzIgfTsK
ICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBKU1JJbmZvOjpqc1JlZ1Qx
MCB9OwotI2VuZGlmCiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1l
c3BhY2UgRmFzdFBhdGggewogICAgICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNS
IHsgSlNSSW5mbzo6cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAg
ICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSAgICAg
ICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSNlbGlm
IFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIg
eyBHUFJJbmZvOjpyZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIg
eyBHUFJJbmZvOjpyZWdUNiB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1
YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNj
cmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNSB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3Zl
cmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hHUFIpLCAiUmVx
dWlyZWQgZm9yIERhdGFJQyIpOwogICAgIH0KIAogICAgIC8vIFNsb3cgcGF0aCBvbmx5IHJlZ2lz
dGVycwogICAgIG5hbWVzcGFjZSBTbG93UGF0aCB7Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAg
ICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJbmZvOjpyZWdUMiB9Owot
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgR1BSSW5mbzo6cmVn
VDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJl
Z1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZWNtYU1vZGVHUFIgeyBHUFJJbmZvOjpy
ZWdUNCB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICAgICAgY29uc3RleHByIEdQUlJl
ZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSAgICAgICAgY29u
c3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNv
bnN0ZXhwciBHUFJSZWcgZWNtYU1vZGVHUFIgeyBHUFJJbmZvOjpyZWdUNyB9OworICAgICAgICBj
b25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgZ2xvYmFsT2JqZWN0R1BSIH07Cisg
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNSB9Owor
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGVjbWFNb2RlR1BSIHsKKyNpZiBVU0UoSlNWQUxVRTY0
KQorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDEKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisg
ICAgICAgICAgICBHUFJJbmZvOjpyZWdUNgogI2VuZGlmCisgICAgICAgIH07CiAgICAgICAgIHN0
YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNSLCBieXRlY29kZU9mZnNl
dEdQUiwgc3R1YkluZm9HUFIsIGVjbWFNb2RlR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENU
SSB0aHVuayIpOwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9w
ZXJ0eUpTUiwgZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQUiwgZWNtYU1vZGVHUFIpLCAiUmVx
dWlyZWQgZm9yIGNhbGwgdG8gc2xvdyBvcGVyYXRpb24iKTsKICAgICB9CkBAIC00MzEsMTEgKzM2
Myw3IEBAIG5hbWVzcGFjZSBQcml2YXRlQnJhbmQgewogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVn
cyBicmFuZEpTUiB7IEdldEJ5VmFsOjpwcm9wZXJ0eUpTUiB9OyAvLyBSZXF1aXJlZCBieSBzaGFy
ZWQgc2xvdyBwYXRoIHRodW5rCiAKICAgICBuYW1lc3BhY2UgRmFzdFBhdGggewotI2lmIFVTRShK
U1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZv
OjpyZWdUMiB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgY29uc3RleHByIEdQ
UlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3IH07Ci0jZW5kaWYKKyAgICAgICAgY29u
c3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdldEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9H
UFIgfTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgYnJhbmRKU1Is
IHN0dWJJbmZvR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9HUFJJbmZvLmgKaW5kZXggMDAyMmJkOWI5ODU5NWE4MzBjMWVlMDk1NmY4MTA4
M2VkNDc4MWU4Ni4uNjczMzI5Yzg2NTgwZTZlYTEzMDgyODIyMDA1Yjc2NThhMDMzYzRlYSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKQEAgLTU2NiwxMiArNTY2LDEyIEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUMSA9IEFSTVJlZ2lzdGVyczo6cjE7
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDIgPSBBUk1SZWdpc3RlcnM6OnIyOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1QzID0gQVJNUmVnaXN0ZXJzOjpyMzsKLSAg
ICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUNCA9IEFSTVJlZ2lzdGVyczo6cjg7Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDUgPSBBUk1SZWdpc3RlcnM6OnI5OwotICAgIHN0
YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q2ID0gQVJNUmVnaXN0ZXJzOjpyNTsKLSAgICBzdGF0
aWMgY29uc3RleHByIEdQUlJlZyByZWdUNyA9IEFSTVJlZ2lzdGVyczo6cjQ7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBHUFJSZWcgcmVnQ1MwID0gQVJNUmVnaXN0ZXJzOjpyMTE7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBHUFJSZWcgcmVnQ1MxID0gQVJNUmVnaXN0ZXJzOjpyMTA7CisgICAgc3RhdGlj
IGNvbnN0ZXhwciBHUFJSZWcgcmVnVDQgPSBBUk1SZWdpc3RlcnM6OnI0OworICAgIHN0YXRpYyBj
b25zdGV4cHIgR1BSUmVnIHJlZ1Q1ID0gQVJNUmVnaXN0ZXJzOjpyNTsKKyAgICBzdGF0aWMgY29u
c3RleHByIEdQUlJlZyByZWdUNiA9IEFSTVJlZ2lzdGVyczo6cjg7CisgICAgc3RhdGljIGNvbnN0
ZXhwciBHUFJSZWcgcmVnVDcgPSBBUk1SZWdpc3RlcnM6OnI5OworICAgIHN0YXRpYyBjb25zdGV4
cHIgR1BSUmVnIHJlZ0NTMCA9IEFSTVJlZ2lzdGVyczo6cjEwOworICAgIHN0YXRpYyBjb25zdGV4
cHIgR1BSUmVnIHJlZ0NTMSA9IEFSTVJlZ2lzdGVyczo6cjExOwogICAgIC8vIFRoZXNlIHJlZ2lz
dGVycyBtYXRjaCB0aGUgYmFzZWxpbmUgSklULgogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVn
IGNhbGxGcmFtZVJlZ2lzdGVyID0gQVJNUmVnaXN0ZXJzOjpmcDsKICAgICAvLyBUaGVzZSBjb25z
dGFudHMgcHJvdmlkZSB0aGUgbmFtZXMgZm9yIHRoZSBnZW5lcmFsIHB1cnBvc2UgYXJndW1lbnQg
JiByZXR1cm4gdmFsdWUgcmVnaXN0ZXJzLgpAQCAtNTc5LDcgKzU3OSw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyBhcmd1bWVudEdQUjEgPSBBUk1SZWdpc3RlcnM6OnIx
OyAvLyByZWdUMQogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIGFyZ3VtZW50R1BSMiA9IEFS
TVJlZ2lzdGVyczo6cjI7IC8vIHJlZ1QyCiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgYXJn
dW1lbnRHUFIzID0gQVJNUmVnaXN0ZXJzOjpyMzsgLy8gcmVnVDMKLSAgICBzdGF0aWMgY29uc3Rl
eHByIEdQUlJlZyBub25BcmdHUFIwID0gQVJNUmVnaXN0ZXJzOjpyNDsgLy8gcmVnVDcKKyAgICBz
dGF0aWMgY29uc3RleHByIEdQUlJlZyBub25BcmdHUFIwID0gQVJNUmVnaXN0ZXJzOjpyNDsgLy8g
cmVnVDQKICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZXR1cm5WYWx1ZUdQUiA9IEFSTVJl
Z2lzdGVyczo6cjA7IC8vIHJlZ1QwCiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmV0dXJu
VmFsdWVHUFIyID0gQVJNUmVnaXN0ZXJzOjpyMTsgLy8gcmVnVDEKICAgICBzdGF0aWMgY29uc3Rl
eHByIEdQUlJlZyBub25QcmVzZXJ2ZWROb25SZXR1cm5HUFIgPSBBUk1SZWdpc3RlcnM6OnI1OwpA
QCAtNjAzLDcgKzYwMyw3IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKHJlZyAhPSBJbnZhbGlk
R1BSUmVnKTsKICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4ocmVnKSA8IDE2KTsKICAg
ICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0ZXJbMTZdID0KLSAgICAg
ICAgICAgIHsgMCwgMSwgMiwgMywgNywgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDQs
IDUsIDksIDgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFs
aWRJbmRleCB9OworICAgICAgICAgICAgeyAwLCAxLCAyLCAzLCA0LCA1LCBJbnZhbGlkSW5kZXgs
IEludmFsaWRJbmRleCwgNiwgNywgOCwgOSwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIElu
dmFsaWRJbmRleCwgSW52YWxpZEluZGV4IH07CiAgICAgICAgIHVuc2lnbmVkIHJlc3VsdCA9IGlu
ZGV4Rm9yUmVnaXN0ZXJbcmVnXTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CkBAIC0x
MTM2LDggKzExMzYsOCBAQCBwdWJsaWM6CiAgICAgICAgIC8vIHRoZSBsaW5rIHJlZ2lzdGVyIGFz
IGEgdGVtcG9yYXJ5LgogICAgICAgICByZXR1cm4gcGlja0pTUjxPcGVyYXRpb25UeXBlLCBBcmdO
dW0+KAogICAgICAgICAgICAgR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBHUFJJbmZvOjphcmd1bWVu
dEdQUjEsIEdQUkluZm86OmFyZ3VtZW50R1BSMiwKLSAgICAgICAgICAgIEdQUkluZm86OmFyZ3Vt
ZW50R1BSMywgR1BSSW5mbzo6cmVnVDcsICAgICAgICBHUFJJbmZvOjpyZWdUNiwKLSAgICAgICAg
ICAgIEdQUkluZm86OnJlZ1Q0LCAgICAgICAgR1BSSW5mbzo6cmVnVDUsICAgICAgICBBUk1SZWdp
c3RlcnM6OmxyKTsKKyAgICAgICAgICAgIEdQUkluZm86OmFyZ3VtZW50R1BSMywgR1BSSW5mbzo6
cmVnVDQsICAgICAgICBHUFJJbmZvOjpyZWdUNSwKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1Q2
LCAgICAgICAgR1BSSW5mbzo6cmVnVDcsICAgICAgICBBUk1SZWdpc3RlcnM6OmxyKTsKICNlbGlm
IENQVShNSVBTKQogICAgICAgICByZXR1cm4gcGlja0pTUjxPcGVyYXRpb25UeXBlLCBBcmdOdW0+
KAogICAgICAgICAgICAgR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBHUFJJbmZvOjphcmd1bWVudEdQ
UjEsIEdQUkluZm86OmFyZ3VtZW50R1BSMiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwCmluZGV4IDU2ZGZiODczNjUyM2E3NWMzY2E1MTJjOGZjMThjMzEzMjQ2MDFkNjgu
LjRjMjA4YWRiNDE5Njc4NzFjNGE5MDRiMzkxMDExNDQxNjRiYmIxNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAtMTU2LDkgKzE1Niw5IEBAIHZvaWQgSklU
OjplbWl0X29wX2luc3RhbmNlb2YoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6cmVzdWx0SlNS
OwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjp2YWx1ZUpTUjsK
ICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6cHJvdG9KU1I7Ci0g
ICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6OnN0dWJJbmZvR1BSOwot
ICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpzY3JhdGNoMUdQUjsK
LSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6c2NyYXRjaDJHUFI7
CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6OkZhc3RQYXRoOjpz
dHViSW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6
RmFzdFBhdGg6OnNjcmF0Y2gxR1BSOworICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJ
bnN0YW5jZW9mOjpGYXN0UGF0aDo6c2NyYXRjaDJHUFI7CiAKICAgICBlbWl0R2V0VmlydHVhbFJl
Z2lzdGVyKHZhbHVlLCB2YWx1ZUpTUik7CiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcihwcm90
bywgcHJvdG9KU1IpOwpAQCAtMTg5LDM2ICsxODksMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5z
dGFuY2VvZihjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIGFkZFNs
b3dDYXNlKCk7CiAgICAgbV9pbnN0YW5jZU9mcy5hcHBlbmQoZ2VuKTsKIAorICAgIHNldEZhc3RQ
YXRoUmVzdW1lUG9pbnQoKTsKICAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKGRzdCwgcmVzdWx0
SlNSKTsKIH0KIAotdm9pZCBKSVQ6OmVtaXRTbG93X29wX2luc3RhbmNlb2YoY29uc3QgSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRv
ciYgaXRlcikKK3ZvaWQgSklUOjplbWl0U2xvd19vcF9pbnN0YW5jZW9mKGNvbnN0IEluc3RydWN0
aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikKIHsKICAgICBsaW5r
QWxsU2xvd0Nhc2VzKGl0ZXIpOwotICAgIAotICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5z
dHJ1Y3Rpb24tPmFzPE9wSW5zdGFuY2VvZj4oKTsKLSAgICBWaXJ0dWFsUmVnaXN0ZXIgcmVzdWx0
VlJlZyA9IGJ5dGVjb2RlLm1fZHN0OwotICAgIAorCiAgICAgSklUSW5zdGFuY2VPZkdlbmVyYXRv
ciYgZ2VuID0gbV9pbnN0YW5jZU9mc1ttX2luc3RhbmNlT2ZJbmRleCsrXTsKLSAgICAKKwogICAg
IExhYmVsIGNvbGRQYXRoQmVnaW4gPSBsYWJlbCgpOwogCi0gICAgdXNpbmcgU2xvd09wZXJhdGlv
biA9IGRlY2x0eXBlKG9wZXJhdGlvbkluc3RhbmNlT2ZPcHRpbWl6ZSk7Ci0gICAgY29uc3RleHBy
IEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgPSBwcmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0
aW9uLCAwPigpOwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgPSBwcmVmZXJyZWRB
cmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAxPigpOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVn
aXN0ZXJzOjpJbnN0YW5jZW9mOjp2YWx1ZUpTUjsKLSAgICBzdGF0aWNfYXNzZXJ0KHZhbHVlSlNS
ID09IHByZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVyYXRpb24sIDI+KCkpOwogICAgIHVzaW5n
IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpwcm90b0pTUjsKLSAgICAvLyBPbiBK
U1ZBTFVFMzJfNjQsICdwcm90bycgd2lsbCBiZSBwYXNzZWQgb24gc3RhY2sgYW55d2F5Ci0gICAg
c3RhdGljX2Fzc2VydChwcm90b0pTUiA9PSBwcmVmZXJyZWRBcmd1bWVudEpTUjxTbG93T3BlcmF0
aW9uLCAzPigpIHx8IGlzMzJCaXQoKSk7Ci0gICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoZ2xv
YmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQUiwgdmFsdWVKU1IsIHByb3RvSlNSKSk7CisgICAgdXNp
bmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6OlNsb3dQYXRoOjpnbG9iYWxPYmpl
Y3RHUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6OlNsb3dQ
YXRoOjpzdHViSW5mb0dQUjsKIAogICAgIGxvYWRHbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0R1BS
KTsKICAgICBsb2FkQ29uc3RhbnQoZ2VuLm1fdW5saW5rZWRTdHViSW5mb0NvbnN0YW50SW5kZXgs
IHN0dWJJbmZvR1BSKTsKLSAgICBjYWxsT3BlcmF0aW9uPFNsb3dPcGVyYXRpb24+KAorICAgIGNh
bGxPcGVyYXRpb248ZGVjbHR5cGUob3BlcmF0aW9uSW5zdGFuY2VPZk9wdGltaXplKT4oCiAgICAg
ICAgIEFkZHJlc3Moc3R1YkluZm9HUFIsIFN0cnVjdHVyZVN0dWJJbmZvOjpvZmZzZXRPZlNsb3dP
cGVyYXRpb24oKSksCi0gICAgICAgIHJlc3VsdFZSZWcsCiAgICAgICAgIGdsb2JhbE9iamVjdEdQ
Uiwgc3R1YkluZm9HUFIsIHZhbHVlSlNSLCBwcm90b0pTUik7CisgICAgc3RhdGljX2Fzc2VydChC
YXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6cmVzdWx0SlNSID09IHJldHVyblZhbHVl
SlNSKTsKICAgICBnZW4ucmVwb3J0U2xvd1BhdGhDYWxsKGNvbGRQYXRoQmVnaW4sIENhbGwoKSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlB
Y2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5j
cHAKaW5kZXggOGViMjEzOGExMWM5Y2I5Njk5ZmMzZmEyOWRhYTIyZTU1MmIxOWM4MS4uYTVmZWJh
ZTM1NTRkMDZlZDRkOTIwOGNkOWQ0NTVkYzJjNzI4ODBjZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKQEAgLTM4MSw3ICszODEsNyBAQCB2
b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfdmFsKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24pCiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9w
ZXJ0eUpTUjsKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnZhbHVl
SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6cHJvZmlsZUdQ
UjsKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OkZhc3RQYXRoOjpz
dHViSW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnN0
dWJJbmZvR1BSOwogCiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihiYXNlLCBiYXNlSlNSKTsK
ICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHByb3BlcnR5LCBwcm9wZXJ0eUpTUik7CkBAIC00
MzAsNyArNDMwLDcgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX3B1dF9ieV92YWwoY29uc3QgSW5z
dHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXIKICAgICBBU1NFUlQoQnl0ZWNv
ZGVJbmRleChieXRlY29kZU9mZnNldCkgPT0gbV9ieXRlY29kZUluZGV4KTsKICAgICBKSVRQdXRC
eVZhbEdlbmVyYXRvciYgZ2VuID0gbV9wdXRCeVZhbHNbbV9wdXRCeVZhbEluZGV4KytdOwogCi0g
ICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93UGF0aDo6c3R1Yklu
Zm9HUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpzdHViSW5m
b0dQUjsKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRo
OjpieXRlY29kZU9mZnNldEdQUjsKIAogICAgIExhYmVsIGNvbGRQYXRoQmVnaW4gPSBsYWJlbCgp
OwpAQCAtNDU4LDkgKzQ1OCw5IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRUaHVua1B0clRh
Zz4gSklUOjpzbG93X29wX3B1dF9ieV92YWxfY2FsbFNsb3dPcGVyYXRpb25UCiAgICAgdXNpbmcg
QmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9wZXJ0eUpTUjsKICAgICB1c2luZyBC
YXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnZhbHVlSlNSOwogICAgIHVzaW5nIEJhc2Vs
aW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6cHJvZmlsZUdQUjsKKyAgICB1c2luZyBCYXNlbGlu
ZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnN0dWJJbmZvR1BSOwogICAgIHVzaW5nIEJhc2VsaW5l
SklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6Omdsb2JhbE9iamVjdEdQUjsKICAgICB1
c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpieXRlY29kZU9m
ZnNldEdQUjsKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQ
YXRoOjpzdHViSW5mb0dQUjsKIAogICAgIGppdC5lbWl0Q1RJVGh1bmtQcm9sb2d1ZSgpOwogCkBA
IC00OTMsNyArNDkzLDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfcHV0X3ByaXZhdGVfbmFtZShjb25z
dCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIHVzaW5nIEJhc2VsaW5lSklU
UmVnaXN0ZXJzOjpQdXRCeVZhbDo6YmFzZUpTUjsKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lz
dGVyczo6UHV0QnlWYWw6OnByb3BlcnR5SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0
ZXJzOjpQdXRCeVZhbDo6dmFsdWVKU1I7Ci0gICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6
OlB1dEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9HUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRS
ZWdpc3RlcnM6OlB1dEJ5VmFsOjpzdHViSW5mb0dQUjsKIAogICAgIGVtaXRHZXRWaXJ0dWFsUmVn
aXN0ZXIoYmFzZSwgYmFzZUpTUik7CiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcihwcm9wZXJ0
eSwgcHJvcGVydHlKU1IpOwpAQCAtNTI5LDcgKzUyOSw3IEBAIHZvaWQgSklUOjplbWl0U2xvd19v
cF9wdXRfcHJpdmF0ZV9uYW1lKGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50
cnk+CiAgICAgSklUUHV0QnlWYWxHZW5lcmF0b3ImIGdlbiA9IG1fcHV0QnlWYWxzW21fcHV0QnlW
YWxJbmRleCsrXTsKIAogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6
U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0
ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OnN0dWJJbmZvR1BSOworICAgIHVzaW5nIEJhc2VsaW5l
SklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9HUFI7CiAKICAgICBMYWJlbCBjb2xkUGF0
aEJlZ2luID0gbGFiZWwoKTsKICAgICBsaW5rQWxsU2xvd0Nhc2VzKGl0ZXIpOwpAQCAtNTU2LDkg
KzU1Niw5IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRUaHVua1B0clRhZz4gSklUOjpzbG93
X29wX3B1dF9wcml2YXRlX25hbWVfY2FsbFNsb3dPcGVyCiAgICAgdXNpbmcgQmFzZWxpbmVKSVRS
ZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9wZXJ0eUpTUjsKICAgICB1c2luZyBCYXNlbGluZUpJVFJl
Z2lzdGVyczo6UHV0QnlWYWw6OnZhbHVlSlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0
ZXJzOjpQdXRCeVZhbDo6cHJvZmlsZUdQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVy
czo6UHV0QnlWYWw6OnN0dWJJbmZvR1BSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJz
OjpQdXRCeVZhbDo6U2xvd1BhdGg6Omdsb2JhbE9iamVjdEdQUjsKICAgICB1c2luZyBCYXNlbGlu
ZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpieXRlY29kZU9mZnNldEdQUjsKLSAg
ICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpzdHViSW5m
b0dQUjsKIAogICAgIGppdC5lbWl0Q1RJVGh1bmtQcm9sb2d1ZSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggNGZh
NGZiM2Q3OTFiMzM0NzgwZDhkODgwNmFiMDJkOGViY2Y3MDU4YS4uZGM3ZWM1NWNjOGMyMDQzNjE3
YTdjMGE0N2QyYzFmOWRlYzJmOGJiNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtODI0LDE4ICs4MjQsNyBAQCBtYWNy
byBwcmVzZXJ2ZUNhbGxlZVNhdmVzVXNlZEJ5TExJbnQoKQogICAgIHN1YnAgQ2FsbGVlU2F2ZVNw
YWNlU3RhY2tBbGlnbmVkLCBzcAogICAgIGlmIENfTE9PUCBvciBDX0xPT1BfV0lOCiAgICAgICAg
IHN0b3JlcCBtZXRhZGF0YVRhYmxlLCAtUHRyU2l6ZVtjZnJdCi0KLSAgICAjIE5leHQgQVJNdjcg
YW5kIE1JUFMgZGlmZmVyIGluIGhvdyB3ZSBzdG9yZSBtZXRhZGF0YVRhYmxlIGFuZCBQQiwKLSAg
ICAjIGJlY2F1c2UgdGhpcyBjb2RlcyBuZWVkcyB0byBiZSBpbiBzeW5jIHdpdGggaG93IHJlZ2lz
dGVycyBhcmUKLSAgICAjIHJlc3RvcmVkIGluIEJhc2VsaW5lIEpJVCAoc3BlY2lmaWNhbGx5IGlu
IGVtaXRSZXN0b3JlQ2FsbGVlU2F2ZXNGb3IpLgotICAgICMgZW1pdFJlc3RvcmVDYWxsZWVTYXZl
c0ZvciByZXN0b3JlcyByZWdpc3RlcnMgaW4gb3JkZXIgaW5zdGVhZCBvZiBieSBuYW1lLgotICAg
ICMgSG93ZXZlciwgQVJNdjcgYW5kIE1JUFMgZGlmZmVyIGluIHRoZSBvcmRlciBpbiB3aGljaCBy
ZWdpc3RlcnMgYXJlIGFzc2lnbmVkCi0gICAgIyB0byBtZXRhZGF0YVRhYmxlIGFuZCBQQiwgdGhl
cmVmb3JlIHRoZXkgY2FuIGFsc28gbm90IGhhdmUgdGhlIHNhbWUgc2F2aW5nCi0gICAgIyBvcmRl
ci4KLSAgICBlbHNpZiBBUk12NwotICAgICAgICBzdG9yZXAgbWV0YWRhdGFUYWJsZSwgLTRbY2Zy
XQotICAgICAgICBzdG9yZXAgUEIsIC04W2Nmcl0KLSAgICBlbHNpZiBNSVBTCisgICAgZWxzaWYg
QVJNdjcgb3IgTUlQUwogICAgICAgICBzdG9yZXAgUEIsIC00W2Nmcl0KICAgICAgICAgc3RvcmVw
IG1ldGFkYXRhVGFibGUsIC04W2Nmcl0KICAgICBlbHNpZiBBUk02NCBvciBBUk02NEUKQEAgLTg2
NCwxMiArODUzLDcgQEAgZW5kCiBtYWNybyByZXN0b3JlQ2FsbGVlU2F2ZXNVc2VkQnlMTEludCgp
CiAgICAgaWYgQ19MT09QIG9yIENfTE9PUF9XSU4KICAgICAgICAgbG9hZHAgLVB0clNpemVbY2Zy
XSwgbWV0YWRhdGFUYWJsZQotICAgICMgVG8gdW5kZXJzdGFuZCB3aHkgQVJNdjcgYW5kIE1JUFMg
ZGlmZmVyIGluIHJlc3RvcmUgb3JkZXIsCi0gICAgIyBzZWUgY29tbWVudCBpbiBwcmVzZXJ2ZUNh
bGxlZVNhdmVzVXNlZEJ5TExJbnQKLSAgICBlbHNpZiBBUk12NwotICAgICAgICBsb2FkcCAtNFtj
ZnJdLCBtZXRhZGF0YVRhYmxlCi0gICAgICAgIGxvYWRwIC04W2Nmcl0sIFBCCi0gICAgZWxzaWYg
TUlQUworICAgIGVsc2lmIEFSTXY3IG9yIE1JUFMKICAgICAgICAgbG9hZHAgLTRbY2ZyXSwgUEIK
ICAgICAgICAgbG9hZHAgLThbY2ZyXSwgbWV0YWRhdGFUYWJsZQogICAgIGVsc2lmIEFSTTY0IG9y
IEFSTTY0RQpAQCAtOTMyLDEyICs5MTYsNyBAQCBtYWNybyBjb3B5Q2FsbGVlU2F2ZXNUb0VudHJ5
RnJhbWVDYWxsZWVTYXZlc0J1ZmZlcihlbnRyeUZyYW1lKQogICAgICAgICAgICAgc3RvcmVxIGNz
cjQsIDMyW2VudHJ5RnJhbWVdCiAgICAgICAgICAgICBzdG9yZXEgY3NyNSwgNDBbZW50cnlGcmFt
ZV0KICAgICAgICAgICAgIHN0b3JlcSBjc3I2LCA0OFtlbnRyeUZyYW1lXQotICAgICAgICAjIFRv
IHVuZGVyc3RhbmQgd2h5IEFSTXY3IGFuZCBNSVBTIGRpZmZlciBpbiBzdG9yZSBvcmRlciwKLSAg
ICAgICAgIyBzZWUgY29tbWVudCBpbiBwcmVzZXJ2ZUNhbGxlZVNhdmVzVXNlZEJ5TExJbnQKLSAg
ICAgICAgZWxzaWYgQVJNdjcKLSAgICAgICAgICAgIHN0b3JlcCBjc3IxLCBbZW50cnlGcmFtZV0K
LSAgICAgICAgICAgIHN0b3JlcCBjc3IwLCA0W2VudHJ5RnJhbWVdCi0gICAgICAgIGVsc2lmIE1J
UFMKKyAgICAgICAgZWxzaWYgQVJNdjcgb3IgTUlQUwogICAgICAgICAgICAgc3RvcmVwIGNzcjAs
IFtlbnRyeUZyYW1lXQogICAgICAgICAgICAgc3RvcmVwIGNzcjEsIDRbZW50cnlGcmFtZV0KICAg
ICAgICAgZWxzaWYgUklTQ1Y2NApAQCAtMTAxMywxMiArOTkyLDcgQEAgbWFjcm8gcmVzdG9yZUNh
bGxlZVNhdmVzRnJvbVZNRW50cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVyKHZtLCB0ZW1wKQogICAg
ICAgICAgICAgbG9hZHEgMzJbdGVtcF0sIGNzcjQKICAgICAgICAgICAgIGxvYWRxIDQwW3RlbXBd
LCBjc3I1CiAgICAgICAgICAgICBsb2FkcSA0OFt0ZW1wXSwgY3NyNgotICAgICAgICAjIFRvIHVu
ZGVyc3RhbmQgd2h5IEFSTXY3IGFuZCBNSVBTIGRpZmZlciBpbiByZXN0b3JlIG9yZGVyLAotICAg
ICAgICAjIHNlZSBjb21tZW50IGluIHByZXNlcnZlQ2FsbGVlU2F2ZXNVc2VkQnlMTEludAotICAg
ICAgICBlbHNpZiBBUk12NwotICAgICAgICAgICAgbG9hZHAgW3RlbXBdLCBjc3IxCi0gICAgICAg
ICAgICBsb2FkcCA0W3RlbXBdLCBjc3IwCi0gICAgICAgIGVsc2lmIE1JUFMKKyAgICAgICAgZWxz
aWYgQVJNdjcgb3IgTUlQUwogICAgICAgICAgICAgbG9hZHAgW3RlbXBdLCBjc3IwCiAgICAgICAg
ICAgICBsb2FkcCA0W3RlbXBdLCBjc3IxCiAgICAgICAgIGVsc2lmIFJJU0NWNjQKQEAgLTE3OTIs
MzIgKzE3NjYsMzcgQEAgaWYgbm90IChDX0xPT1Agb3IgQ19MT09QX1dJTikKICAgICBfc2FuaXRp
emVTdGFja0ZvclZNSW1wbDoKICAgICAgICAgdGFnUmV0dXJuQWRkcmVzcyBzcAogICAgICAgICAj
IFdlIG5lZWQgdGhyZWUgbm9uLWFsaWFzZWQgY2FsbGVyLXNhdmUgcmVnaXN0ZXJzLiBXZSBhcmUg
Z3VhcmFudGVlZAotICAgICAgICAjIHRoaXMgZm9yIGEwLCBhMSBhbmQgYTIgb24gYWxsIGFyY2hp
dGVjdHVyZXMuCisgICAgICAgICMgdGhpcyBmb3IgYTAsIGExIGFuZCBhMiBvbiBhbGwgYXJjaGl0
ZWN0dXJlcy4gQmV3YXJlIGFsc28gdGhhdAorICAgICAgICAjIG9mZmxpbmVhc20gbWlnaHQgdXNl
IHRlbXBvcmFyeSByZWdpc3RlcnMgd2hlbiBsb3dlcmluZyBjb21wbGV4CisgICAgICAgICMgaW5z
dHJ1Y3Rpb25zIG9uIHNvbWUgcGxhdGZvcm1zLCB3aGljaCBtaWdodCBiZSBjYWxlZS1zYXZlLiBU
byBhdm9pZAorICAgICAgICAjIHRoaXMsIHdlIHVzZSB0aGUgc2ltcGxlc3QgaW5zdHJ1Y3Rpb25z
IHNvIHdlIG5ldmVyIG5lZWQgYSB0ZW1wb3JhcnkKKyAgICAgICAgIyBhbmQgaGVuY2UgZG9uJ3Qg
Y2xvYmJlciBhbnkgY2FsbGVlLXNhdmUgcmVnaXN0ZXJzLgogICAgICAgICBpZiBYODYgb3IgWDg2
X1dJTgogICAgICAgICAgICAgbG9hZHAgNFtzcF0sIGEwCiAgICAgICAgIGVuZAotICAgICAgICBj
b25zdCB2bU9yU3RhcnRTUCA9IGEwCiAgICAgICAgIGNvbnN0IGFkZHJlc3MgPSBhMQotICAgICAg
ICBjb25zdCB6ZXJvVmFsdWUgPSBhMgotICAgIAotICAgICAgICBsb2FkcCBWTTo6bV9sYXN0U3Rh
Y2tUb3Bbdm1PclN0YXJ0U1BdLCBhZGRyZXNzCi0gICAgICAgIG1vdmUgc3AsIHplcm9WYWx1ZQot
ICAgICAgICBzdG9yZXAgemVyb1ZhbHVlLCBWTTo6bV9sYXN0U3RhY2tUb3Bbdm1PclN0YXJ0U1Bd
Ci0gICAgICAgIG1vdmUgc3AsIHZtT3JTdGFydFNQCisgICAgICAgIGNvbnN0IHNjcmF0Y2ggPSBh
MgorCisgICAgICAgIG1vdmUgVk06Om1fbGFzdFN0YWNrVG9wLCBzY3JhdGNoCisgICAgICAgIGFk
ZHAgc2NyYXRjaCwgYTAKKyAgICAgICAgbG9hZHAgW2EwXSwgYWRkcmVzcworICAgICAgICBtb3Zl
IHNwLCBzY3JhdGNoCisgICAgICAgIHN0b3JlcCBzY3JhdGNoLCBbYTBdCisgICAgICAgIG1vdmUg
c3AsIGEwCiAKICAgICAgICAgYnBiZXEgc3AsIGFkZHJlc3MsIC56ZXJvRmlsbERvbmUKICAgICAg
ICAgbW92ZSBhZGRyZXNzLCBzcAogCi0gICAgICAgIG1vdmUgMCwgemVyb1ZhbHVlCisgICAgICAg
IG1vdmUgMCwgc2NyYXRjaAogICAgIC56ZXJvRmlsbExvb3A6Ci0gICAgICAgIHN0b3JlcCB6ZXJv
VmFsdWUsIFthZGRyZXNzXQorICAgICAgICBzdG9yZXAgc2NyYXRjaCwgW2FkZHJlc3NdCiAgICAg
ICAgIGFkZHAgUHRyU2l6ZSwgYWRkcmVzcwotICAgICAgICBicGEgdm1PclN0YXJ0U1AsIGFkZHJl
c3MsIC56ZXJvRmlsbExvb3AKKyAgICAgICAgYnBhIGEwLCBhZGRyZXNzLCAuemVyb0ZpbGxMb29w
CiAKICAgICAuemVyb0ZpbGxEb25lOgotICAgICAgICBtb3ZlIHZtT3JTdGFydFNQLCBzcAorICAg
ICAgICBtb3ZlIGEwLCBzcAogICAgICAgICByZXQKLSAgICAKKwogICAgICMgVk1FbnRyeVJlY29y
ZCogdm1FbnRyeVJlY29yZChjb25zdCBFbnRyeUZyYW1lKiBlbnRyeUZyYW1lKQogICAgIGdsb2Jh
bCBfdm1FbnRyeVJlY29yZAogICAgIF92bUVudHJ5UmVjb3JkOgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L29mZmxpbmVhc20vYXJtLnJiCmluZGV4IDljNTQ4YTNjMmU4ZWUyMDVkNTQ3YTM1Y2EyOGQ1MTYy
YzdlZjM2ZGEuLjc2ZGI5MjA0MDBhMjQ2YzllODk0YjgxOGFkNzkzZmM1NzdlZDYzNTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybS5yYgorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm0ucmIKQEAgLTMzLDEyICszMywxMyBAQCBy
ZXF1aXJlICJyaXNjIgogIyAgeDEgPT4gdDEsIGExLCByMQogIyAgeDIgPT4gdDIsIGEyLCByMgog
IyAgeDMgPT4gdDMsIGEzLCByMworIyAgeDQgPT4gdDQgICAgICAgICAoY2FsbGVlLXNhdmUpCisj
ICB4NSA9PiB0NSAgICAgICAgIChjYWxsZWUtc2F2ZSkKICMgIHg2ID0+ICAgICAgICAgICAgKGNh
bGxlZS1zYXZlIHNjcmF0Y2gpCiAjICB4NyA9PiBjZnIKLSMgIHg4ID0+IHQ0ICAgICAgICAgKGNh
bGxlZS1zYXZlKQotIyAgeDkgPT4gdDUgICAgICAgICAoY2FsbGVlLXNhdmUpCi0jIHgxMCA9PiBj
c3IxICAgICAgIChjYWxsZWUtc2F2ZSwgUEIpCi0jIHgxMSA9PiBjZnIsIGNzcjAgIChjYWxsZWUt
c2F2ZSwgbWV0YWRhdGFUYWJsZSkKKyMgIHg4ID0+ICAgICAgICAgICAgKGNhbGxlZS1zYXZlIHNj
cmF0Y2gpCisjIHgxMCA9PiBjc3IwICAgICAgIChjYWxsZWUtc2F2ZSwgUEIpCisjIHgxMSA9PiBj
ZnIsIGNzcjEgIChjYWxsZWUtc2F2ZSwgbWV0YWRhdGFUYWJsZSkKICMgeDEyID0+ICAgICAgICAg
ICAgKGNhbGxlZS1zYXZlIHNjcmF0Y2gpCiAjICBsciA9PiBscgogIyAgc3AgPT4gc3AKQEAgLTY5
LDcgKzcwLDggQEAgY2xhc3MgU3BlY2lhbFJlZ2lzdGVyCiAgICAgZW5kCiBlbmQKIAotQVJNX0VY
VFJBX0dQUlMgPSBbU3BlY2lhbFJlZ2lzdGVyLm5ldygicjYiKSwgU3BlY2lhbFJlZ2lzdGVyLm5l
dygicjQiKSwgU3BlY2lhbFJlZ2lzdGVyLm5ldygicjEyIildCisjIFRoZXNlIGFyZSBhbGxvY2F0
ZSBmcm9tIHRoZSB0YWlsLCBzbyBwdXQgdGhlIGxvdyBvcmRlciByZWdpc3RlcnMgbGFzdCBmb3Ig
Y29kZSBzaXplIGltcHJvdmVtZW50cworQVJNX0VYVFJBX0dQUlMgPSBbU3BlY2lhbFJlZ2lzdGVy
Lm5ldygicjEyIiksIFNwZWNpYWxSZWdpc3Rlci5uZXcoInI4IiksIFNwZWNpYWxSZWdpc3Rlci5u
ZXcoInI2IildCiBBUk1fRVhUUkFfRlBSUyA9IFtTcGVjaWFsUmVnaXN0ZXIubmV3KCJkNyIpXQog
QVJNX1NDUkFUQ0hfRlBSID0gU3BlY2lhbFJlZ2lzdGVyLm5ldygiZDYiKQogT1NfREFSV0lOID0g
KChSVUJZX1BMQVRGT1JNID1+IC9kYXJ3aW4vaSkgIT0gbmlsKQpAQCAtMTA0LDE1ICsxMDYsMTUg
QEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICB3aGVuICJ0MyIKICAgICAgICAgICAgICJyMyIK
ICAgICAgICAgd2hlbiAidDQiCi0gICAgICAgICAgICAicjgiCisgICAgICAgICAgICAicjQiCiAg
ICAgICAgIHdoZW4gInQ1IgotICAgICAgICAgICAgInI5IgorICAgICAgICAgICAgInI1IgogICAg
ICAgICB3aGVuICJjZnIiCiAgICAgICAgICAgICAicjciCiAgICAgICAgIHdoZW4gImNzcjAiCi0g
ICAgICAgICAgICAicjExIgotICAgICAgICB3aGVuICJjc3IxIgogICAgICAgICAgICAgInIxMCIK
KyAgICAgICAgd2hlbiAiY3NyMSIKKyAgICAgICAgICAgICJyMTEiCiAgICAgICAgIHdoZW4gImxy
IgogICAgICAgICAgICAgImxyIgogICAgICAgICB3aGVuICJzcCIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455628</attachid>
            <date>2022-03-24 03:32:26 -0700</date>
            <delta_ts>2022-03-24 04:48:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235027-20220324103225.patch</filename>
            <type>text/plain</type>
            <size>41379</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
YWE2NWE0N2JkOThlOGI5M2I1ZjQ1N2IzNjRmZDdjOWJhMTczNmI5Li5mY2I2ZmJkN2YyMTcyZmRi
YmE5NDcyZmIxYjQ2MjE3OTU3NTk5NWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAyMi0wMy0yNCAgR2V6YSBMb3JlICA8Z2xvcmVAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXVtBUk12N10gQ2xlYW51cCBHUFIgbnVtYmVyaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUwMjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIE1ha2UgdGhlIHRoZSBsb3dlciBv
cmRlciBjYWxsZWUgc2F2ZSByZWdpc3RlciBiZSByZWdDUzAvbGxpbnQgY3NyMC4KKyAgICAgICAg
U29tZSBvZiB0aGUgQ1NSIHN0b3JlL3Jlc3RvcmUgY29kZSByZWxpZXMgb24gdGhpcyBhbmQgdXNp
bmcgYQorICAgICAgICBudW1iZXJpbmcgc2NoZW1lIGNvbnNpc3RlbnQgd2l0aCBvdGhlciB0YXJn
ZXRzICh0aGF0IGlzOiByZWdDUzxOPiBtYXBzCisgICAgICAgIHRvIGEgbG93ZXIgbnVtYmVyIG1h
Y2hpbmUgcmVnaXN0ZXIgdGhhbiByZWdDUzxOKzE+KSBlbGltaW5hdGVzIHNvbWUKKyAgICAgICAg
aWZkZWZzIGluIExMSW50LCBhbmQgaG9wZWZ1bGx5IHdpbGwgcHJldmVudCBoYXJkIHRvIGZpbmQg
aXNzdWVzIGR1ZSB0bworICAgICAgICB0aGUgbWlzbWF0Y2ggZnJvbSBvdGhlciB0YXJnZXRzIHRo
YXQgYWxsIGZvbGxvdyB0aGlzIHJ1bGUuCisKKyAgICAgICAgLSBJbiB0aGUgVGh1bWItMiBpbnN0
cnVjdGlvbiBzZXQsIHVzZSBvZiByMC1yNyBjYW4gb2Z0ZW4gYmUgZW5jb2RlZAorICAgICAgICB1
c2luZyBhIHNob3J0ZXIsIDE2LWJpdCBpbnN0cnVjdGlvbi4gU3dhcCByZWdUNC9yZWdUNSB3aXRo
CisgICAgICAgIHJlZ1Q3L3JlZ1Q2LCBzbyBsb3dlciBvcmRlciB0ZW1wb3JhcmllcyAod2hpY2gg
YXJlIHVzdWFsbHkgdXNlZCBmaXJzdCkKKyAgICAgICAgbWFwIHRvIHRoZSBsb3dlciBvcmRlciBy
ZWdpc3RlcnMgdGhhdCBjYW4geWllbGQgZGVuc2VyIGNvZGUuIFRoaXMKKyAgICAgICAgdGhlbiBz
aW1wbGlmaWVzIEJhc2VsaW5lSklUUmVnaXN0ZXJzLmgsIGFuZCBhbHNvIHNhdmVzIGFib3V0IH4x
JSBERkcKKyAgICAgICAgY29kZSBzaXplLgorCisgICAgICAgIC0gSW4gb2ZmbGluZWFzbSwgcHJl
ZmVyIGxvdyBvcmRlciByZWdpc3RlcnMgZm9yIHRlbXBvcmFyaWVzLgorCisgICAgICAgIC0gQWxz
byBjbGVhbiB1cCBiYXNlbGluZSBpbnN0YW5jZW9mIG9wIGltcGxlbWVudGF0aW9uLgorCisgICAg
ICAgICogYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwOgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmVTdHViSW5mbzo6aW5pdGlhbGl6ZUZyb21VbmxpbmtlZFN0cnVjdHVyZVN0dWJJbmZvKToK
KyAgICAgICAgKiBqaXQvQmFzZWxpbmVKSVRSZWdpc3RlcnMuaDoKKyAgICAgICAgKiBqaXQvR1BS
SW5mby5oOgorICAgICAgICAoSlNDOjpHUFJJbmZvOjp0b0luZGV4KToKKyAgICAgICAgKEpTQzo6
UHJlZmVycmVkQXJndW1lbnRJbXBsOjpwcmVmZXJyZWRBcmd1bWVudEpTUik6CisgICAgICAgICog
aml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfaW5zdGFuY2Vv
Zik6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfaW5zdGFuY2VvZik6CisgICAgICAg
ICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X3B1dF9ieV92YWwpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX3B1dF9ieV92YWwp
OgorICAgICAgICAoSlNDOjpKSVQ6OnNsb3dfb3BfcHV0X2J5X3ZhbF9jYWxsU2xvd09wZXJhdGlv
blRoZW5DaGVja0V4Y2VwdGlvbkdlbmVyYXRvcik6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9wdXRfcHJpdmF0ZV9uYW1lKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9wdXRf
cHJpdmF0ZV9uYW1lKToKKyAgICAgICAgKEpTQzo6SklUOjpzbG93X29wX3B1dF9wcml2YXRlX25h
bWVfY2FsbFNsb3dPcGVyYXRpb25UaGVuQ2hlY2tFeGNlcHRpb25HZW5lcmF0b3IpOgorICAgICAg
ICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIG9mZmxpbmVhc20v
YXJtLnJiOgorCiAyMDIyLTAzLTIzICBHZXphIExvcmUgIDxnbG9yZUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtKU0NdIEZpeCByZW1vdGVGdW5jdGlvbkNhbGxHZW5lcmF0b3Igb24gTUlQUwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZv
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5j
cHAKaW5kZXggNzI5OTRhODI3YWZiYzZiYjY5MzFjZjRkNjFmNmNjZTkzYWI3ZjFmYy4uMTY4ODVh
ZWRhYTQ3NzEyNjg4MWZlM2JiNWQwMDJkZTg5MTc2Mzc1NSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCkBAIC01NjIsNyAr
NTYyLDcgQEAgdm9pZCBTdHJ1Y3R1cmVTdHViSW5mbzo6aW5pdGlhbGl6ZUZyb21VbmxpbmtlZFN0
cnVjdHVyZVN0dWJJbmZvKENvZGVCbG9jayosIFVubGkKICAgICAgICAgYmFzZUdQUiA9IEJhc2Vs
aW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjp2YWx1ZUpTUi5wYXlsb2FkR1BSKCk7CiAgICAg
ICAgIHZhbHVlR1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6OnJlc3VsdEpT
Ui5wYXlsb2FkR1BSKCk7CiAgICAgICAgIHJlZ3MucHJvdG90eXBlR1BSID0gQmFzZWxpbmVKSVRS
ZWdpc3RlcnM6Okluc3RhbmNlb2Y6OnByb3RvSlNSLnBheWxvYWRHUFIoKTsKLSAgICAgICAgbV9z
dHViSW5mb0dQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpzdHViSW5mb0dQ
UjsKKyAgICAgICAgbV9zdHViSW5mb0dQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5j
ZW9mOjpGYXN0UGF0aDo6c3R1YkluZm9HUFI7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICAg
ICAgYmFzZVRhZ0dQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjp2YWx1ZUpT
Ui50YWdHUFIoKTsKICAgICAgICAgdmFsdWVUYWdHUFIgPSBJbnZhbGlkR1BSUmVnOwpAQCAtNjM5
LDcgKzYzOSw3IEBAIHZvaWQgU3RydWN0dXJlU3R1YkluZm86OmluaXRpYWxpemVGcm9tVW5saW5r
ZWRTdHJ1Y3R1cmVTdHViSW5mbyhDb2RlQmxvY2sqLCBVbmxpCiAgICAgICAgIGJhc2VHUFIgPSBC
YXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OmJhc2VKU1IucGF5bG9hZEdQUigpOwogICAg
ICAgICByZWdzLnByb3BlcnR5R1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpw
cm9wZXJ0eUpTUi5wYXlsb2FkR1BSKCk7CiAgICAgICAgIHZhbHVlR1BSID0gQmFzZWxpbmVKSVRS
ZWdpc3RlcnM6OlB1dEJ5VmFsOjp2YWx1ZUpTUi5wYXlsb2FkR1BSKCk7Ci0gICAgICAgIG1fc3R1
YkluZm9HUFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OkZhc3RQYXRoOjpzdHVi
SW5mb0dQUjsKKyAgICAgICAgbV9zdHViSW5mb0dQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQ
dXRCeVZhbDo6c3R1YkluZm9HUFI7CiAgICAgICAgIGlmIChhY2Nlc3NUeXBlID09IEFjY2Vzc1R5
cGU6OlB1dEJ5VmFsKQogICAgICAgICAgICAgbV9hcnJheVByb2ZpbGVHUFIgPSBCYXNlbGluZUpJ
VFJlZ2lzdGVyczo6UHV0QnlWYWw6OnByb2ZpbGVHUFI7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQmFzZWxpbmVKSVRSZWdpc3Rl
cnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQmFzZWxpbmVKSVRSZWdpc3RlcnMuaApp
bmRleCBlMmY2NGE3MzRiMzBkMGJjZGY2NTczYmM5NjRjYTg2MmEyNWQwYjM3Li5iOTBmZjMzZDBj
ZmI1ZmZlZjM3MjE5ZTVmOGZhNmJmMWRhYTNjYTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0Jhc2VsaW5lSklUUmVnaXN0ZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9CYXNlbGluZUpJVFJlZ2lzdGVycy5oCkBAIC01MCwyOCArNTAsMzMgQEAgbmFt
ZXNwYWNlIEVudGVyIHsKIH0KIAogbmFtZXNwYWNlIEluc3RhbmNlb2YgeworICAgIHVzaW5nIFNs
b3dPcGVyYXRpb24gPSBkZWNsdHlwZShvcGVyYXRpb25JbnN0YW5jZU9mT3B0aW1pemUpOworCisg
ICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93IHBhdGhzCisgICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJldHVyblZhbHVlSlNSIH07
CisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgcHJlZmVycmVkQXJndW1lbnRK
U1I8U2xvd09wZXJhdGlvbiwgMj4oKSB9OworICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBwcm90
b0pTUiB7IHByZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVyYXRpb24sIDM+KCkgfTsKKworICAg
IC8vIEZhc3QgcGF0aCBvbmx5IHJlZ2lzdGVycworICAgIG5hbWVzcGFjZSBGYXN0UGF0aCB7Cisg
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjphcmd1bWVudEdQ
UjEgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMUdQUiB7IEdQUkluZm86OmFy
Z3VtZW50R1BSMCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gyR1BSIHsKICNp
ZiBVU0UoSlNWQUxVRTY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRKU1IgeyBH
UFJJbmZvOjpyZWdUMCB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEdQ
UkluZm86OmFyZ3VtZW50R1BSMiB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBwcm90b0pT
UiB7IEdQUkluZm86OmFyZ3VtZW50R1BSMyB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1Yklu
Zm9HUFIgeyBHUFJJbmZvOjphcmd1bWVudEdQUjEgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHNj
cmF0Y2gxR1BSIHsgR1BSSW5mbzo6bm9uQXJnR1BSMCB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcg
c2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpub25BcmdHUFIxIH07CisgICAgICAgICAgICBHUFJJbmZv
OjpyZWdUNAogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJl
Z3MgcmVzdWx0SlNSIHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1
ZVJlZ3MgdmFsdWVKU1IgewotI2lmIENQVShNSVBTKQotICAgICAgICBHUFJJbmZvOjphcmd1bWVu
dEdQUjMsIEdQUkluZm86OmFyZ3VtZW50R1BSMgotI2Vsc2UKLSAgICAgICAgSlNSSW5mbzo6anNS
ZWdUMzIKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1Q2CiAjZW5kaWYKLSAgICB9OwotICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBwcm90b0pTUiB7IEpTUkluZm86OmpzUmVnVDU0IH07Ci0gICAg
Y29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0gICAgY29u
c3RleHByIEdQUlJlZyBzY3JhdGNoMUdQUiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgY29uc3Rl
eHByIEdQUlJlZyBzY3JhdGNoMkdQUiB7IEdQUkluZm86OnJlZ1Q3IH07Ci0jZW5kaWYKLSAgICBz
dGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcCh2YWx1ZUpTUiwgcHJvdG9KU1IsIHN0dWJJbmZvR1BSLCBz
Y3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIpKTsKKyAgICAgICAgfTsKKyAgICAgICAgc3RhdGljX2Fz
c2VydChub092ZXJsYXAodmFsdWVKU1IsIHByb3RvSlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaDFH
UFIsIHNjcmF0Y2gyR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKKyAgICB9CisKKyAgICAv
LyBTbG93IHBhdGggb25seSByZWdpc3RlcnMKKyAgICBuYW1lc3BhY2UgU2xvd1BhdGggeworICAg
ICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IHByZWZlcnJlZEFyZ3VtZW50
R1BSPFNsb3dPcGVyYXRpb24sIDA+KCkgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHVi
SW5mb0dQUiB7IHByZWZlcnJlZEFyZ3VtZW50R1BSPFNsb3dPcGVyYXRpb24sIDE+KCkgfTsKKyAg
ICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQ
UiwgdmFsdWVKU1IsIHByb3RvSlNSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0
aW9uIik7CisgICAgfQogfQogCiBuYW1lc3BhY2UgSkZhbHNlIHsKQEAgLTg1LDkgKzkwLDkgQEAg
bmFtZXNwYWNlIEpUcnVlIHsKIG5hbWVzcGFjZSBUaHJvdyB7CiAgICAgdXNpbmcgU2xvd09wZXJh
dGlvbiA9IGRlY2x0eXBlKG9wZXJhdGlvblRocm93KTsKIAotICAgIGNvbnN0ZXhwciBHUFJSZWcg
Z2xvYmFsT2JqZWN0R1BSIHsgcHJlZmVycmVkQXJndW1lbnRHUFI8U2xvd09wZXJhdGlvbiwgMD4o
KSB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB0aHJvd25WYWx1ZUpTUiB7IHByZWZlcnJl
ZEFyZ3VtZW50SlNSPFNsb3dPcGVyYXRpb24sIDE+KCkgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVn
IGJ5dGVjb2RlT2Zmc2V0R1BSIHsgR1BSSW5mbzo6bm9uQXJnR1BSMCB9OworICAgIGNvbnN0ZXhw
ciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSID0gcHJlZmVycmVkQXJndW1lbnRHUFI8U2xvd09wZXJh
dGlvbiwgMD4oKTsKKyAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgdGhyb3duVmFsdWVKU1IgPSBw
cmVmZXJyZWRBcmd1bWVudEpTUjxTbG93T3BlcmF0aW9uLCAxPigpOworICAgIGNvbnN0ZXhwciBH
UFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIgPSBHUFJJbmZvOjpub25BcmdHUFIwOwogICAgIHN0YXRp
Y19hc3NlcnQobm9PdmVybGFwKHRocm93blZhbHVlSlNSLCBieXRlY29kZU9mZnNldEdQUiksICJS
ZXF1aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICBzdGF0aWNfYXNzZXJ0KG5vT3Zl
cmxhcChnbG9iYWxPYmplY3RHUFIsIHRocm93blZhbHVlSlNSKSwgIlJlcXVpcmVkIGZvciBjYWxs
IHRvIHNsb3cgb3BlcmF0aW9uIik7CiB9CkBAIC0xMTcsMjggKzEyMiwxOCBAQCBuYW1lc3BhY2Ug
R2V0QnlJZCB7CiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3Bh
Y2UgRmFzdFBhdGggewotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgICAgICBjb25zdGV4cHIgR1BS
UmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgSlNW
YWx1ZVJlZ3MgZG9udENsb2JiZXJKU1IgeyBHUFJJbmZvOjpyZWdUMyB9OwotI2VsaWYgVVNFKEpT
VkFMVUUzMl82NCkKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUklu
Zm86OnJlZ1QyIH07CiAgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUklu
Zm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBkb250Q2xvYmJlckpT
UiB7IEdQUkluZm86OnJlZ1Q2LCBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCisgICAgICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBkb250Q2xvYmJlckpTUiB7IEpTUkluZm86OmpzUmVnVDU0IH07
CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHN0dWJJbmZvR1BSLCBz
Y3JhdGNoR1BSLCBkb250Q2xvYmJlckpTUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAg
fQogCiAgICAgLy8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQ
YXRoIHsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJbmZv
OjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsg
R1BSSW5mbzo6cmVnVDIgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNl
dEdQUiB7IGdsb2JhbE9iamVjdEdQUiB9OwogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJ
bmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICBj
b25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSNlbGlmIFVT
RShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvcGVydHlHUFIgeyBH
UFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFw
KGJhc2VKU1IsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQUiwgcHJvcGVydHlHUFIpLCAi
UmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAgICAgICAgIHN0YXRpY19hc3NlcnQo
bm9PdmVybGFwKGJhc2VKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHByb3BlcnR5
R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7CiAgICAgfQpAQCAt
MTQ3LDM3ICsxNDIsMjggQEAgbmFtZXNwYWNlIEdldEJ5SWQgewogbmFtZXNwYWNlIEdldEJ5SWRX
aXRoVGhpcyB7CiAgICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93IHBh
dGhzCiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJldHVy
blZhbHVlSlNSIH07Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJl
Z3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdz
IHRoaXNKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKICAg
ICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEpTUkluZm86OmpzUmVnVDEwIH07CiAg
ICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHRoaXNKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9Owot
I2VuZGlmCiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2Ug
RmFzdFBhdGggewotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
c3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3IH07
Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q2IH07
Ci0jZW5kaWYKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86
OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86
OnJlZ1Q1IH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHRoaXNK
U1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNoR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKICAg
ICB9CiAKICAgICAvLyBTbG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xv
d1BhdGggewogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IEdQUklu
Zm86OnJlZ1Q0IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIg
eyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zm
c2V0R1BSIHsgZ2xvYmFsT2JqZWN0R1BSIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1
YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNSB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHBy
b3BlcnR5R1BSIHsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJl
ZyBwcm9wZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1QzIH07CisgICAgICAgICAgICBHUFJJbmZvOjpy
ZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBz
dHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
cHJvcGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNyB9OworICAgICAgICAgICAgR1BSSW5mbzo6cmVn
VDYKICNlbmRpZgorICAgICAgICB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChi
YXNlSlNSLCB0aGlzSlNSLCBieXRlY29kZU9mZnNldEdQUiwgc3R1YkluZm9HUFIsIHByb3BlcnR5
R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENUSSB0aHVuayIpOwogICAgICAgICBzdGF0aWNf
YXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB0aGlzSlNSLCBnbG9iYWxPYmplY3RHUFIsIHN0dWJJ
bmZvR1BSLCBwcm9wZXJ0eUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBzbG93IG9wZXJhdGlv
biIpOwogICAgIH0KQEAgLTE4NiwzNyArMTcyLDI4IEBAIG5hbWVzcGFjZSBHZXRCeUlkV2l0aFRo
aXMgewogbmFtZXNwYWNlIEdldEJ5VmFsIHsKICAgICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBib3Ro
IEZhc3QgYW5kIFNsb3cgcGF0aHMKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNS
IHsgSlNSSW5mbzo6cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICBjb25z
dGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotI2VsaWYg
VVNFKEpTVkFMVUUzMl82NCkKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEpT
UkluZm86OmpzUmVnVDEwIH07CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5SlNS
IHsgSlNSSW5mbzo6anNSZWdUMzIgfTsKLSNlbmRpZgogCiAgICAgLy8gRmFzdCBwYXRoIG9ubHkg
cmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIEZhc3RQYXRoIHsKLSNpZiBVU0UoSlNWQUxVRTY0KQot
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsK
LSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1Yklu
Zm9HUFIgeyBHUFJJbmZvOjpyZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0
Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BS
UmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNSB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0
KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hHUFIp
LCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOwogICAgIH0KIAogICAgIC8vIFNsb3cgcGF0aCBvbmx5
IHJlZ2lzdGVycwogICAgIG5hbWVzcGFjZSBTbG93UGF0aCB7CiAgICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAg
IGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIgeyBnbG9iYWxPYmplY3RHUFIgfTsK
KyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q1IH07
CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Qy
IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7IEdQUkluZm86OnJlZ1Qz
IH07CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q2IH07
Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7IEdQUkluZm86OnJlZ1Q3IH07
CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNgogI2VuZGlmCisgICAgICAgIH07CiAgICAgICAg
IHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNSLCBieXRlY29kZU9m
ZnNldEdQUiwgc3R1YkluZm9HUFIsIHByb2ZpbGVHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8g
Q1RJIHRodW5rIik7CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHBy
b3BlcnR5SlNSLCBnbG9iYWxPYmplY3RHUFIsIHN0dWJJbmZvR1BSLCBwcm9maWxlR1BSKSwgIlJl
cXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7CiAgICAgfQpAQCAtMjI0LDk5ICsy
MDEsODYgQEAgbmFtZXNwYWNlIEdldEJ5VmFsIHsKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiBuYW1l
c3BhY2UgRW51bWVyYXRvckdldEJ5VmFsIHsKLSAgICBzdGF0aWMgY29uc3RleHByIEpTVmFsdWVS
ZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgSlNW
YWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgIHN0YXRpYyBjb25z
dGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICBzdGF0
aWMgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAg
Ly8gV2UgcmVseSBvbiB0aGlzIHdoZW4gbGlua2luZyBhIENvZGVCbG9jayBhbmQgaW5pdGlhbGl6
aW5nIHJlZ2lzdGVycyBmb3IgYSBHZXRCeVZhbCBTdHViSW5mby4KLSAgICBzdGF0aWNfYXNzZXJ0
KGJhc2VKU1IgPT0gR2V0QnlWYWw6OmJhc2VKU1IpOwotICAgIHN0YXRpY19hc3NlcnQocHJvcGVy
dHlKU1IgPT0gR2V0QnlWYWw6OnByb3BlcnR5SlNSKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHJlc3Vs
dEpTUiA9PSBHZXRCeVZhbDo6cmVzdWx0SlNSKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0dWJJbmZv
R1BSID09IEdldEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9HUFIpOwotCi0gICAgc3RhdGljIGNv
bnN0ZXhwciBHUFJSZWcgc2NyYXRjaDEgeyBHUFJJbmZvOjpyZWdUMyB9OwotICAgIHN0YXRpYyBj
b25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gyIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAvLyBXZSBy
ZWx5IG9uIHVzaW5nIHRoZSBzYW1lIHJlZ2lzdGVycyB3aGVuIGxpbmtpbmcgYSBDb2RlQmxvY2sg
YW5kIGluaXRpYWxpemluZyByZWdpc3RlcnMKKyAgICAvLyBmb3IgYSBHZXRCeVZhbCBTdHViSW5m
by4KKyAgICBzdGF0aWMgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHZXRCeVZhbDo6
YmFzZUpTUiB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1Ig
eyBHZXRCeVZhbDo6cHJvcGVydHlKU1IgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIEpTVmFsdWVS
ZWdzIHJlc3VsdEpTUiB7IEdldEJ5VmFsOjpyZXN1bHRKU1IgfTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdldEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9HUFIg
fTsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMSB7IEdQUkluZm86OnJlZ1Qx
IH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDIgeyBHUFJJbmZvOjpyZWdU
MyB9OwogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gzIHsgR1BSSW5mbzo6cmVn
VDUgfTsKKyAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwg
c3R1YkluZm9HUFIsIHNjcmF0Y2gxLCBzY3JhdGNoMiwgc2NyYXRjaDMpKTsKIH0KICNlbmRpZgog
CiBuYW1lc3BhY2UgUHV0QnlJZCB7CiAgICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0
IGFuZCBTbG93IHBhdGhzCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1
ZVJlZ3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVS
ZWdzIHZhbHVlSlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQp
CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QxMCB9
OwogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEpTUkluZm86OmpzUmVnVDMy
IH07Ci0jZW5kaWYKIAogICAgIC8vIEZhc3QgcGF0aCBvbmx5IHJlZ2lzdGVycwogICAgIG5hbWVz
cGFjZSBGYXN0UGF0aCB7Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQ
UlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotI2VsaWYgVVNFKEpTVkFMVUUz
Ml82NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJl
Z1Q3IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJl
Z1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDJHUFIgeyBiYXNlSlNSLnRh
Z0dQUigpIH07IC8vIFJldXNpbmcgcmVnVDEgZm9yIGJldHRlciBjb2RlIHNpemUgb24gQVJNX1RI
VU1CMgotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJ
bmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJ
bmZvOjpyZWdUNSB9OworICAgICAgICAvLyBGaW5lIHRvIHVzZSByZWdUMSwgd2hpY2ggYWxzbyB5
aWVsZHMgYmV0dGVyIGNvZGUgc2l6ZSBvbiBBUk1fVEhVTUIyCisgICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpyZWdUMSB9OwogICAgICAgICBzdGF0aWNfYXNz
ZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB2YWx1ZUpTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hHUFIp
LCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3Zlcmxh
cChiYXNlSlNSLnBheWxvYWRHUFIoKSwgdmFsdWVKU1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNoR1BS
LCBzY3JhdGNoMkdQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAgfQogCiAgICAgLy8g
U2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQYXRoIHsKKyAgICAg
ICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgewogI2lmIFVTRShKU1ZBTFVFNjQp
Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6cmVn
VDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUklu
Zm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJ
bmZvOjpyZWdUMyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsgR1BS
SW5mbzo6cmVnVDQgfTsKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QxCiAjZWxpZiBVU0UoSlNW
QUxVRTMyXzY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IEdQ
UkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRH
UFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZv
R1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9wZXJ0
eUdQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNgogI2Vu
ZGlmCisgICAgICAgIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRH
UFIgeyBnbG9iYWxPYmplY3RHUFIgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5m
b0dQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvcGVy
dHlHUFIgeyBHUFJJbmZvOjpyZWdUNSB9OworCiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVy
bGFwKGJhc2VKU1IsIHZhbHVlSlNSLCBieXRlY29kZU9mZnNldEdQUiwgc3R1YkluZm9HUFIsIHBy
b3BlcnR5R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENUSSB0aHVuayIpOwogICAgICAgICBz
dGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB2YWx1ZUpTUiwgZ2xvYmFsT2JqZWN0R1BS
LCBzdHViSW5mb0dQUiwgcHJvcGVydHlHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gc2xvdyBv
cGVyYXRpb24iKTsKICAgICB9CiB9CiAKIG5hbWVzcGFjZSBQdXRCeVZhbCB7Ci0gICAgLy8gUmVn
aXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93IHBhdGhzCisgICAgY29uc3RleHByIEpT
VmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QxMCB9OworICAgIGNvbnN0ZXhwciBK
U1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEpTUkluZm86OmpzUmVnVDMyIH07CisgICAgY29uc3Rl
eHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgSlNSSW5mbzo6anNSZWdUNTQgfTsKKyAgICBjb25z
dGV4cHIgR1BSUmVnIHByb2ZpbGVHUFIgewogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgY29uc3Rl
eHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotICAgIGNvbnN0ZXhw
ciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0gICAgY29uc3Rl
eHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICBjb25zdGV4
cHIgR1BSUmVnIHByb2ZpbGVHUFIgeyBHUFJJbmZvOjpyZWdUMyB9OworICAgICAgICBHUFJJbmZv
OjpyZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJl
Z3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCB9OwotICAgIGNvbnN0
ZXhwciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QzLCBHUFJJbmZvOjpy
ZWdUMiB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEdQUkluZm86OnJl
Z1Q2LCBHUFJJbmZvOjpyZWdUNyB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7
IEdQUkluZm86OnJlZ1Q1IH07CisgICAgICAgIEdQUkluZm86OnJlZ1Q2CiAjZW5kaWYKKyAgICB9
OworICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeworI2lmIFVTRShKU1ZBTFVFNjQp
CisgICAgICAgIEdQUkluZm86OnJlZ1QzCisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAg
ICBHUFJJbmZvOjpyZWdUNworI2VuZGlmCisgICAgfTsKIAotICAgIC8vIEZhc3QgcGF0aCBvbmx5
IHJlZ2lzdGVycwotICAgIG5hbWVzcGFjZSBGYXN0UGF0aCB7Ci0gICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotICAgICAgICBzdGF0aWNfYXNz
ZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwgdmFsdWVKU1IsIHByb2ZpbGVHUFIs
IHN0dWJJbmZvR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKLSAgICB9CisgICAgc3RhdGlj
X2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHZhbHVlSlNSLCBwcm9maWxl
R1BSLCBzdHViSW5mb0dQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAKICAgICAvLyBTbG93
IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xvd1BhdGggewogICAgICAgICBj
b25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAg
ICAgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNQorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDUK
ICNlbGlmIENQVShBUk1fVEhVTUIyKQotICAgICAgICAgICAgICAgIC8vIFdlIGFyZSBhIGJpdCBz
aG9ydCBvbiByZWdpc3RlcnMgb24gQVJNX1RIVU1CMiwgYnV0IHdlIGNhbiBqdXN0IGFib3V0IGdl
dCBhd2F5IHdpdGggdGhpcwotICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQVJNdjc6OnNf
c2NyYXRjaFJlZ2lzdGVyCisgICAgICAgICAgICAvLyBXZSBhcmUgYSBiaXQgc2hvcnQgb24gcmVn
aXN0ZXJzIG9uIEFSTV9USFVNQjIsIGJ1dCB3ZSBjYW4ganVzdCBhYm91dCBnZXQgYXdheSB3aXRo
IHRoaXMKKyAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQVJNdjc6OnNfc2NyYXRjaFJlZ2lzdGVy
CiAjZWxzZSAvLyBPdGhlciBKU1ZBTFVFMzJfNjQKLSAgICAgICAgICAgICAgICBHUFJJbmZvOjpy
ZWdUOAorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDgKICNlbmRpZgogICAgICAgICB9OwogICAg
ICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgZ2xvYmFsT2JqZWN0R1BS
IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdU
NCB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpT
UiwgdmFsdWVKU1IsIHByb2ZpbGVHUFIsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQUiks
ICJSZXF1aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fzc2Vy
dChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHZhbHVlSlNSLCBwcm9maWxlR1BSLCBn
bG9iYWxPYmplY3RHUFIsIHN0dWJJbmZvR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cg
b3BlcmF0aW9uIik7CiAgICAgfQpAQCAtMzMxLDU1ICsyOTUsMzMgQEAgbmFtZXNwYWNlIEluQnlJ
ZCB7CiAKIG5hbWVzcGFjZSBJbkJ5VmFsIHsKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVz
dWx0SlNSIHsgSlNSSW5mbzo6cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQot
ICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAg
ICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9Owot
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAg
IGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0jZWxpZiBV
U0UoSlNWQUxVRTMyXzY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BS
SW5mbzo6cmVnVDEsIEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdz
IHByb3BlcnR5SlNSIHsgR1BSSW5mbzo6cmVnVDMsIEdQUkluZm86OnJlZ1QyIH07Ci0gICAgY29u
c3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3IH07Ci0gICAgY29uc3Rl
eHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsKLSNlbmRpZgorICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKKyAgICBj
b25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9Owor
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAg
IGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q1IH07CiAgICAgc3Rh
dGljX2Fzc2VydChiYXNlSlNSID09IEdldEJ5VmFsOjpiYXNlSlNSKTsKICAgICBzdGF0aWNfYXNz
ZXJ0KHByb3BlcnR5SlNSID09IEdldEJ5VmFsOjpwcm9wZXJ0eUpTUik7CiB9CiAKIG5hbWVzcGFj
ZSBEZWxCeUlkIHsKICAgICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBib3RoIEZhc3QgYW5kIFNsb3cg
cGF0aHMKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNl
SlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9OwotI2VuZGlm
CiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgRmFzdFBh
dGggewogICAgICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgSlNSSW5mbzo6
cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSAgICAgICAgY29uc3RleHBy
IEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSNlbGlmIFVTRShKU1ZBTFVF
MzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpy
ZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpy
ZWdUNiB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBH
UFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBH
UFJJbmZvOjpyZWdUNSB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNS
LCBzdHViSW5mb0dQUiwgc2NyYXRjaEdQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAg
fQogCiAgICAgLy8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQ
YXRoIHsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJbmZv
OjpyZWdUMCB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsg
R1BSSW5mbzo6cmVnVDAgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHBy
IEdQUlJlZyBwcm9wZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgZWNtYU1vZGVHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotI2VsaWYgVVNFKEpTVkFM
VUUzMl82NCkKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IGds
b2JhbE9iamVjdEdQUiB9OwogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsg
R1BSSW5mbzo6cmVnVDEgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9wZXJ0eUdQUiB7
IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZWNtYU1vZGVHUFIg
eyBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJv
cGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGVj
bWFNb2RlR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092
ZXJsYXAoYmFzZUpTUiwgYnl0ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBwcm9wZXJ0eUdQ
UiwgZWNtYU1vZGVHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAgICAg
ICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1
YkluZm9HUFIsIHByb3BlcnR5R1BSLCBlY21hTW9kZUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0
byBzbG93IG9wZXJhdGlvbiIpOwogICAgIH0KQEAgLTM4Nyw0MCArMzI5LDI5IEBAIG5hbWVzcGFj
ZSBEZWxCeUlkIHsKIAogbmFtZXNwYWNlIERlbEJ5VmFsIHsKICAgICAvLyBSZWdpc3RlcnMgdXNl
ZCBvbiBib3RoIEZhc3QgYW5kIFNsb3cgcGF0aHMKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSAgICBjb25z
dGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotI2VsaWYg
VVNFKEpTVkFMVUUzMl82NCkKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEpT
UkluZm86OmpzUmVnVDMyIH07CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5SlNS
IHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKLSNlbmRpZgogCiAgICAgLy8gRmFzdCBwYXRoIG9ubHkg
cmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIEZhc3RQYXRoIHsKICAgICAgICAgY29uc3RleHByIEpT
VmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJldHVyblZhbHVlSlNSIH07Ci0jaWYgVVNF
KEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUklu
Zm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUklu
Zm86OnJlZ1QyIH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSAgICAgICAgY29uc3RleHBy
IEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsKLSNlbmRpZgorICAgICAgICBj
b25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAgICAg
Y29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsKICAgICAgICAg
c3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHN0dWJJbmZvR1BS
LCBzY3JhdGNoR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKICAgICB9CiAKICAgICAvLyBT
bG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xvd1BhdGggewotI2lmIFVT
RShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsg
R1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNl
dEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1Yklu
Zm9HUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGVjbWFN
b2RlR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAg
ICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUkluZm86OnJl
Z1Q0IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpy
ZWdUNiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGVjbWFNb2RlR1BSIHsgR1BSSW5mbzo6
cmVnVDcgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IGds
b2JhbE9iamVjdEdQUiB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsg
R1BSSW5mbzo6cmVnVDUgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBlY21hTW9kZUdQUiB7
CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QxCisjZWxpZiBV
U0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDYKICNlbmRpZgorICAg
ICAgICB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0
eUpTUiwgYnl0ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBlY21hTW9kZUdQUiksICJSZXF1
aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092
ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIs
IGVjbWFNb2RlR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7CiAg
ICAgfQpAQCAtNDMxLDExICszNjIsNyBAQCBuYW1lc3BhY2UgUHJpdmF0ZUJyYW5kIHsKICAgICBj
b25zdGV4cHIgSlNWYWx1ZVJlZ3MgYnJhbmRKU1IgeyBHZXRCeVZhbDo6cHJvcGVydHlKU1IgfTsg
Ly8gUmVxdWlyZWQgYnkgc2hhcmVkIHNsb3cgcGF0aCB0aHVuawogCiAgICAgbmFtZXNwYWNlIEZh
c3RQYXRoIHsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0
dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0g
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNyB9Owot
I2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHZXRCeVZhbDo6
RmFzdFBhdGg6OnN0dWJJbmZvR1BSIH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFw
KGJhc2VKU1IsIGJyYW5kSlNSLCBzdHViSW5mb0dQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCmluZGV4IDAwMjJiZDliOTg1
OTVhODMwYzFlZTA5NTZmODEwODNlZDQ3ODFlODYuLjY3MzMyOWM4NjU4MGU2ZWExMzA4MjgyMjAw
NWI3NjU4YTAzM2M0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BS
SW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCkBAIC01NjYs
MTIgKzU2NiwxMiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDEg
PSBBUk1SZWdpc3RlcnM6OnIxOwogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1QyID0g
QVJNUmVnaXN0ZXJzOjpyMjsKICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUMyA9IEFS
TVJlZ2lzdGVyczo6cjM7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDQgPSBBUk1S
ZWdpc3RlcnM6OnI4OwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q1ID0gQVJNUmVn
aXN0ZXJzOjpyOTsKLSAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUNiA9IEFSTVJlZ2lz
dGVyczo6cjU7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDcgPSBBUk1SZWdpc3Rl
cnM6OnI0OwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ0NTMCA9IEFSTVJlZ2lzdGVy
czo6cjExOwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ0NTMSA9IEFSTVJlZ2lzdGVy
czo6cjEwOworICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q0ID0gQVJNUmVnaXN0ZXJz
OjpyNDsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUNSA9IEFSTVJlZ2lzdGVyczo6
cjU7CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDYgPSBBUk1SZWdpc3RlcnM6OnI4
OworICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q3ID0gQVJNUmVnaXN0ZXJzOjpyOTsK
KyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdDUzAgPSBBUk1SZWdpc3RlcnM6OnIxMDsK
KyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdDUzEgPSBBUk1SZWdpc3RlcnM6OnIxMTsK
ICAgICAvLyBUaGVzZSByZWdpc3RlcnMgbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVC4KICAgICBzdGF0
aWMgY29uc3RleHByIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6ZnA7
CiAgICAgLy8gVGhlc2UgY29uc3RhbnRzIHByb3ZpZGUgdGhlIG5hbWVzIGZvciB0aGUgZ2VuZXJh
bCBwdXJwb3NlIGFyZ3VtZW50ICYgcmV0dXJuIHZhbHVlIHJlZ2lzdGVycy4KQEAgLTU3OSw3ICs1
NzksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgYXJndW1lbnRHUFIx
ID0gQVJNUmVnaXN0ZXJzOjpyMTsgLy8gcmVnVDEKICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJl
ZyBhcmd1bWVudEdQUjIgPSBBUk1SZWdpc3RlcnM6OnIyOyAvLyByZWdUMgogICAgIHN0YXRpYyBj
b25zdGV4cHIgR1BSUmVnIGFyZ3VtZW50R1BSMyA9IEFSTVJlZ2lzdGVyczo6cjM7IC8vIHJlZ1Qz
Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uQXJnR1BSMCA9IEFSTVJlZ2lzdGVyczo6
cjQ7IC8vIHJlZ1Q3CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uQXJnR1BSMCA9IEFS
TVJlZ2lzdGVyczo6cjQ7IC8vIHJlZ1Q0CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmV0
dXJuVmFsdWVHUFIgPSBBUk1SZWdpc3RlcnM6OnIwOyAvLyByZWdUMAogICAgIHN0YXRpYyBjb25z
dGV4cHIgR1BSUmVnIHJldHVyblZhbHVlR1BSMiA9IEFSTVJlZ2lzdGVyczo6cjE7IC8vIHJlZ1Qx
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uUHJlc2VydmVkTm9uUmV0dXJuR1BSID0g
QVJNUmVnaXN0ZXJzOjpyNTsKQEAgLTYwMyw3ICs2MDMsNyBAQCBwdWJsaWM6CiAgICAgICAgIEFT
U0VSVChyZWcgIT0gSW52YWxpZEdQUlJlZyk7CiAgICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxp
bnQ+KHJlZykgPCAxNik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmRleEZvclJl
Z2lzdGVyWzE2XSA9Ci0gICAgICAgICAgICB7IDAsIDEsIDIsIDMsIDcsIDYsIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCA0LCA1LCA5LCA4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwg
SW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAgICAgICAgICAgIHsgMCwgMSwgMiwgMywg
NCwgNSwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDYsIDcsIDgsIDksIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OwogICAgICAgICB1
bnNpZ25lZCByZXN1bHQgPSBpbmRleEZvclJlZ2lzdGVyW3JlZ107CiAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAgICAgfQpAQCAtMTEzNiw4ICsxMTM2LDggQEAgcHVibGljOgogICAgICAgICAvLyB0
aGUgbGluayByZWdpc3RlciBhcyBhIHRlbXBvcmFyeS4KICAgICAgICAgcmV0dXJuIHBpY2tKU1I8
T3BlcmF0aW9uVHlwZSwgQXJnTnVtPigKICAgICAgICAgICAgIEdQUkluZm86OmFyZ3VtZW50R1BS
MCwgR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJbmZvOjphcmd1bWVudEdQUjIsCi0gICAgICAg
ICAgICBHUFJJbmZvOjphcmd1bWVudEdQUjMsIEdQUkluZm86OnJlZ1Q3LCAgICAgICAgR1BSSW5m
bzo6cmVnVDYsCi0gICAgICAgICAgICBHUFJJbmZvOjpyZWdUNCwgICAgICAgIEdQUkluZm86OnJl
Z1Q1LCAgICAgICAgQVJNUmVnaXN0ZXJzOjpscik7CisgICAgICAgICAgICBHUFJJbmZvOjphcmd1
bWVudEdQUjMsIEdQUkluZm86OnJlZ1Q0LCAgICAgICAgR1BSSW5mbzo6cmVnVDUsCisgICAgICAg
ICAgICBHUFJJbmZvOjpyZWdUNiwgICAgICAgIEdQUkluZm86OnJlZ1Q3LCAgICAgICAgQVJNUmVn
aXN0ZXJzOjpscik7CiAjZWxpZiBDUFUoTUlQUykKICAgICAgICAgcmV0dXJuIHBpY2tKU1I8T3Bl
cmF0aW9uVHlwZSwgQXJnTnVtPigKICAgICAgICAgICAgIEdQUkluZm86OmFyZ3VtZW50R1BSMCwg
R1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJbmZvOjphcmd1bWVudEdQUjIsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCA1Yjg1YzdhYzUxN2E3MDJkY2ZkN2E2
MmVkZjA5MjExYTNkNWQzMzNlLi4xYzJjOGEwZDYxZTZlMjc4OWJkYmY5ODI2NjE2MDM2MWJkYTNh
N2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTE1Niw5
ICsxNTYsOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKGNvbnN0IEpTSW5zdHJ1Y3Rp
b24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6
SW5zdGFuY2VvZjo6cmVzdWx0SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJ
bnN0YW5jZW9mOjp2YWx1ZUpTUjsKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5z
dGFuY2VvZjo6cHJvdG9KU1I7Ci0gICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3Rh
bmNlb2Y6OnN0dWJJbmZvR1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0
YW5jZW9mOjpzY3JhdGNoMUdQUjsKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5z
dGFuY2VvZjo6c2NyYXRjaDJHUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Oklu
c3RhbmNlb2Y6OkZhc3RQYXRoOjpzdHViSW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJl
Z2lzdGVyczo6SW5zdGFuY2VvZjo6RmFzdFBhdGg6OnNjcmF0Y2gxR1BSOworICAgIHVzaW5nIEJh
c2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpGYXN0UGF0aDo6c2NyYXRjaDJHUFI7CiAK
ICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHZhbHVlLCB2YWx1ZUpTUik7CiAgICAgZW1pdEdl
dFZpcnR1YWxSZWdpc3Rlcihwcm90bywgcHJvdG9KU1IpOwpAQCAtMTg5LDM2ICsxODksMjkgQEAg
dm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiBjdXJyZW50
SW5zdHJ1Y3Rpb24pCiAgICAgYWRkU2xvd0Nhc2UoKTsKICAgICBtX2luc3RhbmNlT2ZzLmFwcGVu
ZChnZW4pOwogCisgICAgc2V0RmFzdFBhdGhSZXN1bWVQb2ludCgpOwogICAgIGVtaXRQdXRWaXJ0
dWFsUmVnaXN0ZXIoZHN0LCByZXN1bHRKU1IpOwogfQogCi12b2lkIEpJVDo6ZW1pdFNsb3dfb3Bf
aW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZlY3Rv
cjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImIGl0ZXIpCit2b2lkIEpJVDo6ZW1pdFNsb3dfb3Bf
aW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+Ojpp
dGVyYXRvciYgaXRlcikKIHsKICAgICBsaW5rQWxsU2xvd0Nhc2VzKGl0ZXIpOwogCi0gICAgYXV0
byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BJbnN0YW5jZW9mPigpOwotICAg
IFZpcnR1YWxSZWdpc3RlciByZXN1bHRWUmVnID0gYnl0ZWNvZGUubV9kc3Q7Ci0gICAgCiAgICAg
SklUSW5zdGFuY2VPZkdlbmVyYXRvciYgZ2VuID0gbV9pbnN0YW5jZU9mc1ttX2luc3RhbmNlT2ZJ
bmRleCsrXTsKLSAgICAKKwogICAgIExhYmVsIGNvbGRQYXRoQmVnaW4gPSBsYWJlbCgpOwogCi0g
ICAgdXNpbmcgU2xvd09wZXJhdGlvbiA9IGRlY2x0eXBlKG9wZXJhdGlvbkluc3RhbmNlT2ZPcHRp
bWl6ZSk7Ci0gICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgPSBwcmVmZXJyZWRB
cmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAwPigpOwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1
YkluZm9HUFIgPSBwcmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAxPigpOwogICAg
IHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjp2YWx1ZUpTUjsKLSAgICBz
dGF0aWNfYXNzZXJ0KHZhbHVlSlNSID09IHByZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVyYXRp
b24sIDI+KCkpOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpw
cm90b0pTUjsKLSAgICAvLyBPbiBKU1ZBTFVFMzJfNjQsICdwcm90bycgd2lsbCBiZSBwYXNzZWQg
b24gc3RhY2sgYW55d2F5Ci0gICAgc3RhdGljX2Fzc2VydChwcm90b0pTUiA9PSBwcmVmZXJyZWRB
cmd1bWVudEpTUjxTbG93T3BlcmF0aW9uLCAzPigpIHx8IGlzMzJCaXQoKSk7Ci0gICAgc3RhdGlj
X2Fzc2VydChub092ZXJsYXAoZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQUiwgdmFsdWVKU1Is
IHByb3RvSlNSKSk7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6
OlNsb3dQYXRoOjpnbG9iYWxPYmplY3RHUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3Rl
cnM6Okluc3RhbmNlb2Y6OlNsb3dQYXRoOjpzdHViSW5mb0dQUjsKIAogICAgIGxvYWRHbG9iYWxP
YmplY3QoZ2xvYmFsT2JqZWN0R1BSKTsKICAgICBsb2FkQ29uc3RhbnQoZ2VuLm1fdW5saW5rZWRT
dHViSW5mb0NvbnN0YW50SW5kZXgsIHN0dWJJbmZvR1BSKTsKLSAgICBjYWxsT3BlcmF0aW9uPFNs
b3dPcGVyYXRpb24+KAorICAgIGNhbGxPcGVyYXRpb248ZGVjbHR5cGUob3BlcmF0aW9uSW5zdGFu
Y2VPZk9wdGltaXplKT4oCiAgICAgICAgIEFkZHJlc3Moc3R1YkluZm9HUFIsIFN0cnVjdHVyZVN0
dWJJbmZvOjpvZmZzZXRPZlNsb3dPcGVyYXRpb24oKSksCi0gICAgICAgIHJlc3VsdFZSZWcsCiAg
ICAgICAgIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHZhbHVlSlNSLCBwcm90b0pTUik7
CisgICAgc3RhdGljX2Fzc2VydChCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6cmVz
dWx0SlNSID09IHJldHVyblZhbHVlSlNSKTsKICAgICBnZW4ucmVwb3J0U2xvd1BhdGhDYWxsKGNv
bGRQYXRoQmVnaW4sIENhbGwoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKaW5kZXggYzhiOGIwYmYzZGUxZjNjZmI3YmRkOWIwMWMy
N2E0NzY3OTk5MzdmOC4uZjkxMjEzN2M3NmNlNWUwNDc2MWFhMDMwNzA5YjVjMDRlOTk3MDE4OCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAK
QEAgLTM4MSw3ICszODEsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfdmFsKGNvbnN0IEpT
SW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICB1c2luZyBCYXNlbGluZUpJVFJl
Z2lzdGVyczo6UHV0QnlWYWw6OnByb3BlcnR5SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVn
aXN0ZXJzOjpQdXRCeVZhbDo6dmFsdWVKU1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3Rl
cnM6OlB1dEJ5VmFsOjpwcm9maWxlR1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJz
OjpQdXRCeVZhbDo6RmFzdFBhdGg6OnN0dWJJbmZvR1BSOworICAgIHVzaW5nIEJhc2VsaW5lSklU
UmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9HUFI7CiAKICAgICBlbWl0R2V0VmlydHVhbFJl
Z2lzdGVyKGJhc2UsIGJhc2VKU1IpOwogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIocHJvcGVy
dHksIHByb3BlcnR5SlNSKTsKQEAgLTQzMCw3ICs0MzAsNyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3df
b3BfcHV0X2J5X3ZhbChjb25zdCBKU0luc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+
OjppdAogICAgIEFTU0VSVChCeXRlY29kZUluZGV4KGJ5dGVjb2RlT2Zmc2V0KSA9PSBtX2J5dGVj
b2RlSW5kZXgpOwogICAgIEpJVFB1dEJ5VmFsR2VuZXJhdG9yJiBnZW4gPSBtX3B1dEJ5VmFsc1tt
X3B1dEJ5VmFsSW5kZXgrK107CiAKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0
QnlWYWw6OlNsb3dQYXRoOjpzdHViSW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lz
dGVyczo6UHV0QnlWYWw6OnN0dWJJbmZvR1BSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0
ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwogCiAgICAgTGFiZWwg
Y29sZFBhdGhCZWdpbiA9IGxhYmVsKCk7CkBAIC00NTgsOSArNDU4LDkgQEAgTWFjcm9Bc3NlbWJs
ZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFnPiBKSVQ6OnNsb3dfb3BfcHV0X2J5X3ZhbF9jYWxsU2xv
d09wZXJhdGlvblQKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnBy
b3BlcnR5SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6dmFs
dWVKU1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9maWxl
R1BSOworICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9H
UFI7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93UGF0aDo6
Z2xvYmFsT2JqZWN0R1BSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZh
bDo6U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVn
aXN0ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OnN0dWJJbmZvR1BSOwogCiAgICAgaml0LmVtaXRD
VElUaHVua1Byb2xvZ3VlKCk7CiAKQEAgLTQ5Myw3ICs0OTMsNyBAQCB2b2lkIEpJVDo6ZW1pdF9v
cF9wdXRfcHJpdmF0ZV9uYW1lKGNvbnN0IEpTSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OmJhc2VKU1I7CiAg
ICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9wZXJ0eUpTUjsKICAg
ICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnZhbHVlSlNSOwotICAgIHVz
aW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6RmFzdFBhdGg6OnN0dWJJbmZvR1BS
OworICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9HUFI7
CiAKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGJhc2UsIGJhc2VKU1IpOwogICAgIGVtaXRH
ZXRWaXJ0dWFsUmVnaXN0ZXIocHJvcGVydHksIHByb3BlcnR5SlNSKTsKQEAgLTUyOSw3ICs1Mjks
NyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfcHV0X3ByaXZhdGVfbmFtZShjb25zdCBKU0luc3Ry
dWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cgogICAgIEpJVFB1dEJ5VmFsR2VuZXJhdG9yJiBn
ZW4gPSBtX3B1dEJ5VmFsc1ttX3B1dEJ5VmFsSW5kZXgrK107CiAKICAgICB1c2luZyBCYXNlbGlu
ZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpieXRlY29kZU9mZnNldEdQUjsKLSAg
ICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpzdHViSW5m
b0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnN0dWJJbmZv
R1BSOwogCiAgICAgTGFiZWwgY29sZFBhdGhCZWdpbiA9IGxhYmVsKCk7CiAgICAgbGlua0FsbFNs
b3dDYXNlcyhpdGVyKTsKQEAgLTU1Niw5ICs1NTYsOSBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8
SklUVGh1bmtQdHJUYWc+IEpJVDo6c2xvd19vcF9wdXRfcHJpdmF0ZV9uYW1lX2NhbGxTbG93T3Bl
cgogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6cHJvcGVydHlKU1I7
CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjp2YWx1ZUpTUjsKICAg
ICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnByb2ZpbGVHUFI7CisgICAg
dXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpzdHViSW5mb0dQUjsKICAgICB1
c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpnbG9iYWxPYmpl
Y3RHUFI7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93UGF0
aDo6Ynl0ZWNvZGVPZmZzZXRHUFI7Ci0gICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1
dEJ5VmFsOjpTbG93UGF0aDo6c3R1YkluZm9HUFI7CiAKICAgICBqaXQuZW1pdENUSVRodW5rUHJv
bG9ndWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtCmluZGV4IGE4ZTdjNzM5OWQ1ODFhNTk2MGQwYWE3YWE3MjQzMzVkYjAz
NTRjNzUuLjNlMmM2ZGY2MGE0NzhjYTEwOWFhZGE4YzMzZDYwYzk5NGI1ZDNjMDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20K
QEAgLTMwMiwxMCArMzAyLDcgQEAgZWxzZQogICAgIGlmIENfTE9PUCBvciBDX0xPT1BfV0lOCiAg
ICAgICAgIGNvbnN0IFBCID0gY3NyMAogICAgICAgICBjb25zdCBtZXRhZGF0YVRhYmxlID0gY3Ny
MwotICAgIGVsc2lmIEFSTXY3Ci0gICAgICAgIGNvbnN0IG1ldGFkYXRhVGFibGUgPSBjc3IwCi0g
ICAgICAgIGNvbnN0IFBCID0gY3NyMQotICAgIGVsc2lmIE1JUFMKKyAgICBlbHNpZiBBUk12NyBv
ciBNSVBTCiAgICAgICAgIGNvbnN0IG1ldGFkYXRhVGFibGUgPSBjc3IwCiAgICAgICAgIGNvbnN0
IFBCID0gY3NyMQogICAgIGVsc2UKQEAgLTg0MiwxOCArODM5LDcgQEAgbWFjcm8gcHJlc2VydmVD
YWxsZWVTYXZlc1VzZWRCeUxMSW50KCkKICAgICBzdWJwIENhbGxlZVNhdmVTcGFjZVN0YWNrQWxp
Z25lZCwgc3AKICAgICBpZiBDX0xPT1Agb3IgQ19MT09QX1dJTgogICAgICAgICBzdG9yZXAgbWV0
YWRhdGFUYWJsZSwgLVB0clNpemVbY2ZyXQotCi0gICAgIyBOZXh0IEFSTXY3IGFuZCBNSVBTIGRp
ZmZlciBpbiBob3cgd2Ugc3RvcmUgbWV0YWRhdGFUYWJsZSBhbmQgUEIsCi0gICAgIyBiZWNhdXNl
IHRoaXMgY29kZXMgbmVlZHMgdG8gYmUgaW4gc3luYyB3aXRoIGhvdyByZWdpc3RlcnMgYXJlCi0g
ICAgIyByZXN0b3JlZCBpbiBCYXNlbGluZSBKSVQgKHNwZWNpZmljYWxseSBpbiBlbWl0UmVzdG9y
ZUNhbGxlZVNhdmVzRm9yKS4KLSAgICAjIGVtaXRSZXN0b3JlQ2FsbGVlU2F2ZXNGb3IgcmVzdG9y
ZXMgcmVnaXN0ZXJzIGluIG9yZGVyIGluc3RlYWQgb2YgYnkgbmFtZS4KLSAgICAjIEhvd2V2ZXIs
IEFSTXY3IGFuZCBNSVBTIGRpZmZlciBpbiB0aGUgb3JkZXIgaW4gd2hpY2ggcmVnaXN0ZXJzIGFy
ZSBhc3NpZ25lZAotICAgICMgdG8gbWV0YWRhdGFUYWJsZSBhbmQgUEIsIHRoZXJlZm9yZSB0aGV5
IGNhbiBhbHNvIG5vdCBoYXZlIHRoZSBzYW1lIHNhdmluZwotICAgICMgb3JkZXIuCi0gICAgZWxz
aWYgQVJNdjcKLSAgICAgICAgc3RvcmVwIG1ldGFkYXRhVGFibGUsIC00W2Nmcl0KLSAgICAgICAg
c3RvcmVwIFBCLCAtOFtjZnJdCi0gICAgZWxzaWYgTUlQUworICAgIGVsc2lmIEFSTXY3IG9yIE1J
UFMKICAgICAgICAgc3RvcmVwIFBCLCAtNFtjZnJdCiAgICAgICAgIHN0b3JlcCBtZXRhZGF0YVRh
YmxlLCAtOFtjZnJdCiAgICAgZWxzaWYgQVJNNjQgb3IgQVJNNjRFCkBAIC04ODIsMTIgKzg2OCw3
IEBAIGVuZAogbWFjcm8gcmVzdG9yZUNhbGxlZVNhdmVzVXNlZEJ5TExJbnQoKQogICAgIGlmIENf
TE9PUCBvciBDX0xPT1BfV0lOCiAgICAgICAgIGxvYWRwIC1QdHJTaXplW2Nmcl0sIG1ldGFkYXRh
VGFibGUKLSAgICAjIFRvIHVuZGVyc3RhbmQgd2h5IEFSTXY3IGFuZCBNSVBTIGRpZmZlciBpbiBy
ZXN0b3JlIG9yZGVyLAotICAgICMgc2VlIGNvbW1lbnQgaW4gcHJlc2VydmVDYWxsZWVTYXZlc1Vz
ZWRCeUxMSW50Ci0gICAgZWxzaWYgQVJNdjcKLSAgICAgICAgbG9hZHAgLTRbY2ZyXSwgbWV0YWRh
dGFUYWJsZQotICAgICAgICBsb2FkcCAtOFtjZnJdLCBQQgotICAgIGVsc2lmIE1JUFMKKyAgICBl
bHNpZiBBUk12NyBvciBNSVBTCiAgICAgICAgIGxvYWRwIC00W2Nmcl0sIFBCCiAgICAgICAgIGxv
YWRwIC04W2Nmcl0sIG1ldGFkYXRhVGFibGUKICAgICBlbHNpZiBBUk02NCBvciBBUk02NEUKQEAg
LTk1MCwxMiArOTMxLDcgQEAgbWFjcm8gY29weUNhbGxlZVNhdmVzVG9FbnRyeUZyYW1lQ2FsbGVl
U2F2ZXNCdWZmZXIoZW50cnlGcmFtZSkKICAgICAgICAgICAgIHN0b3JlcSBjc3I0LCAzMltlbnRy
eUZyYW1lXQogICAgICAgICAgICAgc3RvcmVxIGNzcjUsIDQwW2VudHJ5RnJhbWVdCiAgICAgICAg
ICAgICBzdG9yZXEgY3NyNiwgNDhbZW50cnlGcmFtZV0KLSAgICAgICAgIyBUbyB1bmRlcnN0YW5k
IHdoeSBBUk12NyBhbmQgTUlQUyBkaWZmZXIgaW4gc3RvcmUgb3JkZXIsCi0gICAgICAgICMgc2Vl
IGNvbW1lbnQgaW4gcHJlc2VydmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50Ci0gICAgICAgIGVsc2lm
IEFSTXY3Ci0gICAgICAgICAgICBzdG9yZXAgY3NyMSwgW2VudHJ5RnJhbWVdCi0gICAgICAgICAg
ICBzdG9yZXAgY3NyMCwgNFtlbnRyeUZyYW1lXQotICAgICAgICBlbHNpZiBNSVBTCisgICAgICAg
IGVsc2lmIEFSTXY3IG9yIE1JUFMKICAgICAgICAgICAgIHN0b3JlcCBjc3IwLCBbZW50cnlGcmFt
ZV0KICAgICAgICAgICAgIHN0b3JlcCBjc3IxLCA0W2VudHJ5RnJhbWVdCiAgICAgICAgIGVsc2lm
IFJJU0NWNjQKQEAgLTEwMzEsMTIgKzEwMDcsNyBAQCBtYWNybyByZXN0b3JlQ2FsbGVlU2F2ZXNG
cm9tVk1FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIodm0sIHRlbXApCiAgICAgICAgICAgICBs
b2FkcSAzMlt0ZW1wXSwgY3NyNAogICAgICAgICAgICAgbG9hZHEgNDBbdGVtcF0sIGNzcjUKICAg
ICAgICAgICAgIGxvYWRxIDQ4W3RlbXBdLCBjc3I2Ci0gICAgICAgICMgVG8gdW5kZXJzdGFuZCB3
aHkgQVJNdjcgYW5kIE1JUFMgZGlmZmVyIGluIHJlc3RvcmUgb3JkZXIsCi0gICAgICAgICMgc2Vl
IGNvbW1lbnQgaW4gcHJlc2VydmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50Ci0gICAgICAgIGVsc2lm
IEFSTXY3Ci0gICAgICAgICAgICBsb2FkcCBbdGVtcF0sIGNzcjEKLSAgICAgICAgICAgIGxvYWRw
IDRbdGVtcF0sIGNzcjAKLSAgICAgICAgZWxzaWYgTUlQUworICAgICAgICBlbHNpZiBBUk12NyBv
ciBNSVBTCiAgICAgICAgICAgICBsb2FkcCBbdGVtcF0sIGNzcjAKICAgICAgICAgICAgIGxvYWRw
IDRbdGVtcF0sIGNzcjEKICAgICAgICAgZWxzaWYgUklTQ1Y2NApAQCAtMTgxMCwzMiArMTc4MSwz
NyBAQCBpZiBub3QgKENfTE9PUCBvciBDX0xPT1BfV0lOKQogICAgIF9zYW5pdGl6ZVN0YWNrRm9y
Vk1JbXBsOgogICAgICAgICB0YWdSZXR1cm5BZGRyZXNzIHNwCiAgICAgICAgICMgV2UgbmVlZCB0
aHJlZSBub24tYWxpYXNlZCBjYWxsZXItc2F2ZSByZWdpc3RlcnMuIFdlIGFyZSBndWFyYW50ZWVk
Ci0gICAgICAgICMgdGhpcyBmb3IgYTAsIGExIGFuZCBhMiBvbiBhbGwgYXJjaGl0ZWN0dXJlcy4K
KyAgICAgICAgIyB0aGlzIGZvciBhMCwgYTEgYW5kIGEyIG9uIGFsbCBhcmNoaXRlY3R1cmVzLiBC
ZXdhcmUgYWxzbyB0aGF0CisgICAgICAgICMgb2ZmbGluZWFzbSBtaWdodCB1c2UgdGVtcG9yYXJ5
IHJlZ2lzdGVycyB3aGVuIGxvd2VyaW5nIGNvbXBsZXgKKyAgICAgICAgIyBpbnN0cnVjdGlvbnMg
b24gc29tZSBwbGF0Zm9ybXMsIHdoaWNoIG1pZ2h0IGJlIGNhbGxlZS1zYXZlLiBUbyBhdm9pZAor
ICAgICAgICAjIHRoaXMsIHdlIHVzZSB0aGUgc2ltcGxlc3QgaW5zdHJ1Y3Rpb25zIHNvIHdlIG5l
dmVyIG5lZWQgYSB0ZW1wb3JhcnkKKyAgICAgICAgIyBhbmQgaGVuY2UgZG9uJ3QgY2xvYmJlciBh
bnkgY2FsbGVlLXNhdmUgcmVnaXN0ZXJzLgogICAgICAgICBpZiBYODYgb3IgWDg2X1dJTgogICAg
ICAgICAgICAgbG9hZHAgNFtzcF0sIGEwCiAgICAgICAgIGVuZAotICAgICAgICBjb25zdCB2bU9y
U3RhcnRTUCA9IGEwCiAgICAgICAgIGNvbnN0IGFkZHJlc3MgPSBhMQotICAgICAgICBjb25zdCB6
ZXJvVmFsdWUgPSBhMgotICAgIAotICAgICAgICBsb2FkcCBWTTo6bV9sYXN0U3RhY2tUb3Bbdm1P
clN0YXJ0U1BdLCBhZGRyZXNzCi0gICAgICAgIG1vdmUgc3AsIHplcm9WYWx1ZQotICAgICAgICBz
dG9yZXAgemVyb1ZhbHVlLCBWTTo6bV9sYXN0U3RhY2tUb3Bbdm1PclN0YXJ0U1BdCi0gICAgICAg
IG1vdmUgc3AsIHZtT3JTdGFydFNQCisgICAgICAgIGNvbnN0IHNjcmF0Y2ggPSBhMgorCisgICAg
ICAgIG1vdmUgVk06Om1fbGFzdFN0YWNrVG9wLCBzY3JhdGNoCisgICAgICAgIGFkZHAgc2NyYXRj
aCwgYTAKKyAgICAgICAgbG9hZHAgW2EwXSwgYWRkcmVzcworICAgICAgICBtb3ZlIHNwLCBzY3Jh
dGNoCisgICAgICAgIHN0b3JlcCBzY3JhdGNoLCBbYTBdCisgICAgICAgIG1vdmUgc3AsIGEwCiAK
ICAgICAgICAgYnBiZXEgc3AsIGFkZHJlc3MsIC56ZXJvRmlsbERvbmUKICAgICAgICAgbW92ZSBh
ZGRyZXNzLCBzcAogCi0gICAgICAgIG1vdmUgMCwgemVyb1ZhbHVlCisgICAgICAgIG1vdmUgMCwg
c2NyYXRjaAogICAgIC56ZXJvRmlsbExvb3A6Ci0gICAgICAgIHN0b3JlcCB6ZXJvVmFsdWUsIFth
ZGRyZXNzXQorICAgICAgICBzdG9yZXAgc2NyYXRjaCwgW2FkZHJlc3NdCiAgICAgICAgIGFkZHAg
UHRyU2l6ZSwgYWRkcmVzcwotICAgICAgICBicGEgdm1PclN0YXJ0U1AsIGFkZHJlc3MsIC56ZXJv
RmlsbExvb3AKKyAgICAgICAgYnBhIGEwLCBhZGRyZXNzLCAuemVyb0ZpbGxMb29wCiAKICAgICAu
emVyb0ZpbGxEb25lOgotICAgICAgICBtb3ZlIHZtT3JTdGFydFNQLCBzcAorICAgICAgICBtb3Zl
IGEwLCBzcAogICAgICAgICByZXQKLSAgICAKKwogICAgICMgVk1FbnRyeVJlY29yZCogdm1FbnRy
eVJlY29yZChjb25zdCBFbnRyeUZyYW1lKiBlbnRyeUZyYW1lKQogICAgIGdsb2JhbCBfdm1FbnRy
eVJlY29yZAogICAgIF92bUVudHJ5UmVjb3JkOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20vYXJtLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVh
c20vYXJtLnJiCmluZGV4IDljNTQ4YTNjMmU4ZWUyMDVkNTQ3YTM1Y2EyOGQ1MTYyYzdlZjM2ZGEu
LmQ0MzMwNWJhNDc5M2Q0ZDZjN2JhZWRmNDg0YTQyNjQyYWU4ZTExZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybS5yYgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvb2ZmbGluZWFzbS9hcm0ucmIKQEAgLTMxLDE1ICszMSwxNyBAQCByZXF1aXJlICJy
aXNjIgogIwogIyAgeDAgPT4gdDAsIGEwLCByMAogIyAgeDEgPT4gdDEsIGExLCByMQotIyAgeDIg
PT4gdDIsIGEyLCByMgotIyAgeDMgPT4gdDMsIGEzLCByMwotIyAgeDYgPT4gICAgICAgICAgICAo
Y2FsbGVlLXNhdmUgc2NyYXRjaCkKKyMgIHgyID0+IHQyLCBhMgorIyAgeDMgPT4gdDMsIGEzCisj
ICB4NCA9PiBzY3JhdGNoICAgICAgICAgICAgKGNhbGxlZS1zYXZlKQorIyAgeDUgPT4gdDUgICAg
ICAgICAgICAgICAgIChjYWxsZWUtc2F2ZSkKKyMgIHg2ID0+IHNjcmF0Y2ggICAgICAgICAgICAo
Y2FsbGVlLXNhdmUpCiAjICB4NyA9PiBjZnIKLSMgIHg4ID0+IHQ0ICAgICAgICAgKGNhbGxlZS1z
YXZlKQotIyAgeDkgPT4gdDUgICAgICAgICAoY2FsbGVlLXNhdmUpCi0jIHgxMCA9PiBjc3IxICAg
ICAgIChjYWxsZWUtc2F2ZSwgUEIpCi0jIHgxMSA9PiBjZnIsIGNzcjAgIChjYWxsZWUtc2F2ZSwg
bWV0YWRhdGFUYWJsZSkKLSMgeDEyID0+ICAgICAgICAgICAgKGNhbGxlZS1zYXZlIHNjcmF0Y2gp
CisjICB4OCA9PiB0NCAgICAgICAgICAgICAgICAgKGNhbGxlZS1zYXZlLCBQQykKKyMgIHg5ID0+
IHQ2ICAgICAgICAgICAgICAgICAoY2FsbGVlLXNhdmUpCisjIHgxMCA9PiBjc3IwICAgICAgICAg
ICAgICAgKGNhbGxlZS1zYXZlLCBtZXRhZGF0YVRhYmxlKQorIyB4MTEgPT4gY3NyMSAgICAgICAg
ICAgICAgIChjYWxsZWUtc2F2ZSwgUEIpCisjIHgxMiA9PiB0NywgYWxzbyBzY3JhdGNoISAgKGNh
bGxlZS1zYXZlKQogIyAgbHIgPT4gbHIKICMgIHNwID0+IHNwCiAjICBwYyA9PiBwYwpAQCAtNjks
NyArNzEsOCBAQCBjbGFzcyBTcGVjaWFsUmVnaXN0ZXIKICAgICBlbmQKIGVuZAogCi1BUk1fRVhU
UkFfR1BSUyA9IFtTcGVjaWFsUmVnaXN0ZXIubmV3KCJyNiIpLCBTcGVjaWFsUmVnaXN0ZXIubmV3
KCJyNCIpLCBTcGVjaWFsUmVnaXN0ZXIubmV3KCJyMTIiKV0KKyMgVGhlc2UgYXJlIGFsbG9jYXRl
ZCBmcm9tIHRoZSB0YWlsLCBzbyBwdXQgdGhlIGxvdyBvcmRlciByZWdpc3RlcnMgbGFzdCBmb3Ig
Y29kZSBzaXplIGltcHJvdmVtZW50cworQVJNX0VYVFJBX0dQUlMgPSBbU3BlY2lhbFJlZ2lzdGVy
Lm5ldygicjEyIiksIFNwZWNpYWxSZWdpc3Rlci5uZXcoInI2IiksIFNwZWNpYWxSZWdpc3Rlci5u
ZXcoInI0IildCiBBUk1fRVhUUkFfRlBSUyA9IFtTcGVjaWFsUmVnaXN0ZXIubmV3KCJkNyIpXQog
QVJNX1NDUkFUQ0hfRlBSID0gU3BlY2lhbFJlZ2lzdGVyLm5ldygiZDYiKQogT1NfREFSV0lOID0g
KChSVUJZX1BMQVRGT1JNID1+IC9kYXJ3aW4vaSkgIT0gbmlsKQpAQCAtOTksMjAgKzEwMiwyMiBA
QCBjbGFzcyBSZWdpc3RlcklECiAgICAgICAgICAgICAicjEiCiAgICAgICAgIHdoZW4gInQyIiwg
ImEyIgogICAgICAgICAgICAgInIyIgotICAgICAgICB3aGVuICJhMyIKKyAgICAgICAgd2hlbiAi
dDMiLCAiYTMiCiAgICAgICAgICAgICAicjMiCi0gICAgICAgIHdoZW4gInQzIgotICAgICAgICAg
ICAgInIzIgotICAgICAgICB3aGVuICJ0NCIKKyAgICAgICAgd2hlbiAidDQiICMgTExJbnQgUEMK
ICAgICAgICAgICAgICJyOCIKICAgICAgICAgd2hlbiAidDUiCisgICAgICAgICAgICAicjUiCisg
ICAgICAgIHdoZW4gInQ2IgogICAgICAgICAgICAgInI5IgorICAgICAgICB3aGVuICJ0NyIKKyAg
ICAgICAgICAgICJyMTIiICMgcjEyIGlzIGFsc28gYSBzY3JhdGNoIHJlZ2lzdGVyLCBzbyB1c2Ug
Y2FyZWZ1bGx5IQogICAgICAgICB3aGVuICJjZnIiCiAgICAgICAgICAgICAicjciCiAgICAgICAg
IHdoZW4gImNzcjAiCi0gICAgICAgICAgICAicjExIgotICAgICAgICB3aGVuICJjc3IxIgogICAg
ICAgICAgICAgInIxMCIKKyAgICAgICAgd2hlbiAiY3NyMSIKKyAgICAgICAgICAgICJyMTEiCiAg
ICAgICAgIHdoZW4gImxyIgogICAgICAgICAgICAgImxyIgogICAgICAgICB3aGVuICJzcCIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455632</attachid>
            <date>2022-03-24 04:49:02 -0700</date>
            <delta_ts>2022-03-28 04:18:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235027-20220324114901.patch</filename>
            <type>text/plain</type>
            <size>42393</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
YWE2NWE0N2JkOThlOGI5M2I1ZjQ1N2IzNjRmZDdjOWJhMTczNmI5Li5mY2I2ZmJkN2YyMTcyZmRi
YmE5NDcyZmIxYjQ2MjE3OTU3NTk5NWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAyMi0wMy0yNCAgR2V6YSBMb3JlICA8Z2xvcmVAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXVtBUk12N10gQ2xlYW51cCBHUFIgbnVtYmVyaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUwMjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIE1ha2UgdGhlIHRoZSBsb3dlciBv
cmRlciBjYWxsZWUgc2F2ZSByZWdpc3RlciBiZSByZWdDUzAvbGxpbnQgY3NyMC4KKyAgICAgICAg
U29tZSBvZiB0aGUgQ1NSIHN0b3JlL3Jlc3RvcmUgY29kZSByZWxpZXMgb24gdGhpcyBhbmQgdXNp
bmcgYQorICAgICAgICBudW1iZXJpbmcgc2NoZW1lIGNvbnNpc3RlbnQgd2l0aCBvdGhlciB0YXJn
ZXRzICh0aGF0IGlzOiByZWdDUzxOPiBtYXBzCisgICAgICAgIHRvIGEgbG93ZXIgbnVtYmVyIG1h
Y2hpbmUgcmVnaXN0ZXIgdGhhbiByZWdDUzxOKzE+KSBlbGltaW5hdGVzIHNvbWUKKyAgICAgICAg
aWZkZWZzIGluIExMSW50LCBhbmQgaG9wZWZ1bGx5IHdpbGwgcHJldmVudCBoYXJkIHRvIGZpbmQg
aXNzdWVzIGR1ZSB0bworICAgICAgICB0aGUgbWlzbWF0Y2ggZnJvbSBvdGhlciB0YXJnZXRzIHRo
YXQgYWxsIGZvbGxvdyB0aGlzIHJ1bGUuCisKKyAgICAgICAgLSBJbiB0aGUgVGh1bWItMiBpbnN0
cnVjdGlvbiBzZXQsIHVzZSBvZiByMC1yNyBjYW4gb2Z0ZW4gYmUgZW5jb2RlZAorICAgICAgICB1
c2luZyBhIHNob3J0ZXIsIDE2LWJpdCBpbnN0cnVjdGlvbi4gU3dhcCByZWdUNC9yZWdUNSB3aXRo
CisgICAgICAgIHJlZ1Q3L3JlZ1Q2LCBzbyBsb3dlciBvcmRlciB0ZW1wb3JhcmllcyAod2hpY2gg
YXJlIHVzdWFsbHkgdXNlZCBmaXJzdCkKKyAgICAgICAgbWFwIHRvIHRoZSBsb3dlciBvcmRlciBy
ZWdpc3RlcnMgdGhhdCBjYW4geWllbGQgZGVuc2VyIGNvZGUuIFRoaXMKKyAgICAgICAgdGhlbiBz
aW1wbGlmaWVzIEJhc2VsaW5lSklUUmVnaXN0ZXJzLmgsIGFuZCBhbHNvIHNhdmVzIGFib3V0IH4x
JSBERkcKKyAgICAgICAgY29kZSBzaXplLgorCisgICAgICAgIC0gSW4gb2ZmbGluZWFzbSwgcHJl
ZmVyIGxvdyBvcmRlciByZWdpc3RlcnMgZm9yIHRlbXBvcmFyaWVzLgorCisgICAgICAgIC0gQWxz
byBjbGVhbiB1cCBiYXNlbGluZSBpbnN0YW5jZW9mIG9wIGltcGxlbWVudGF0aW9uLgorCisgICAg
ICAgICogYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwOgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmVTdHViSW5mbzo6aW5pdGlhbGl6ZUZyb21VbmxpbmtlZFN0cnVjdHVyZVN0dWJJbmZvKToK
KyAgICAgICAgKiBqaXQvQmFzZWxpbmVKSVRSZWdpc3RlcnMuaDoKKyAgICAgICAgKiBqaXQvR1BS
SW5mby5oOgorICAgICAgICAoSlNDOjpHUFJJbmZvOjp0b0luZGV4KToKKyAgICAgICAgKEpTQzo6
UHJlZmVycmVkQXJndW1lbnRJbXBsOjpwcmVmZXJyZWRBcmd1bWVudEpTUik6CisgICAgICAgICog
aml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfaW5zdGFuY2Vv
Zik6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfaW5zdGFuY2VvZik6CisgICAgICAg
ICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X3B1dF9ieV92YWwpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX3B1dF9ieV92YWwp
OgorICAgICAgICAoSlNDOjpKSVQ6OnNsb3dfb3BfcHV0X2J5X3ZhbF9jYWxsU2xvd09wZXJhdGlv
blRoZW5DaGVja0V4Y2VwdGlvbkdlbmVyYXRvcik6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9wdXRfcHJpdmF0ZV9uYW1lKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9wdXRf
cHJpdmF0ZV9uYW1lKToKKyAgICAgICAgKEpTQzo6SklUOjpzbG93X29wX3B1dF9wcml2YXRlX25h
bWVfY2FsbFNsb3dPcGVyYXRpb25UaGVuQ2hlY2tFeGNlcHRpb25HZW5lcmF0b3IpOgorICAgICAg
ICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIG9mZmxpbmVhc20v
YXJtLnJiOgorCiAyMDIyLTAzLTIzICBHZXphIExvcmUgIDxnbG9yZUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtKU0NdIEZpeCByZW1vdGVGdW5jdGlvbkNhbGxHZW5lcmF0b3Igb24gTUlQUwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZv
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5j
cHAKaW5kZXggNzI5OTRhODI3YWZiYzZiYjY5MzFjZjRkNjFmNmNjZTkzYWI3ZjFmYy4uMTY4ODVh
ZWRhYTQ3NzEyNjg4MWZlM2JiNWQwMDJkZTg5MTc2Mzc1NSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCkBAIC01NjIsNyAr
NTYyLDcgQEAgdm9pZCBTdHJ1Y3R1cmVTdHViSW5mbzo6aW5pdGlhbGl6ZUZyb21VbmxpbmtlZFN0
cnVjdHVyZVN0dWJJbmZvKENvZGVCbG9jayosIFVubGkKICAgICAgICAgYmFzZUdQUiA9IEJhc2Vs
aW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjp2YWx1ZUpTUi5wYXlsb2FkR1BSKCk7CiAgICAg
ICAgIHZhbHVlR1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6OnJlc3VsdEpT
Ui5wYXlsb2FkR1BSKCk7CiAgICAgICAgIHJlZ3MucHJvdG90eXBlR1BSID0gQmFzZWxpbmVKSVRS
ZWdpc3RlcnM6Okluc3RhbmNlb2Y6OnByb3RvSlNSLnBheWxvYWRHUFIoKTsKLSAgICAgICAgbV9z
dHViSW5mb0dQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpzdHViSW5mb0dQ
UjsKKyAgICAgICAgbV9zdHViSW5mb0dQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5j
ZW9mOjpGYXN0UGF0aDo6c3R1YkluZm9HUFI7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICAg
ICAgYmFzZVRhZ0dQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjp2YWx1ZUpT
Ui50YWdHUFIoKTsKICAgICAgICAgdmFsdWVUYWdHUFIgPSBJbnZhbGlkR1BSUmVnOwpAQCAtNjM5
LDcgKzYzOSw3IEBAIHZvaWQgU3RydWN0dXJlU3R1YkluZm86OmluaXRpYWxpemVGcm9tVW5saW5r
ZWRTdHJ1Y3R1cmVTdHViSW5mbyhDb2RlQmxvY2sqLCBVbmxpCiAgICAgICAgIGJhc2VHUFIgPSBC
YXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OmJhc2VKU1IucGF5bG9hZEdQUigpOwogICAg
ICAgICByZWdzLnByb3BlcnR5R1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpw
cm9wZXJ0eUpTUi5wYXlsb2FkR1BSKCk7CiAgICAgICAgIHZhbHVlR1BSID0gQmFzZWxpbmVKSVRS
ZWdpc3RlcnM6OlB1dEJ5VmFsOjp2YWx1ZUpTUi5wYXlsb2FkR1BSKCk7Ci0gICAgICAgIG1fc3R1
YkluZm9HUFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OkZhc3RQYXRoOjpzdHVi
SW5mb0dQUjsKKyAgICAgICAgbV9zdHViSW5mb0dQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQ
dXRCeVZhbDo6c3R1YkluZm9HUFI7CiAgICAgICAgIGlmIChhY2Nlc3NUeXBlID09IEFjY2Vzc1R5
cGU6OlB1dEJ5VmFsKQogICAgICAgICAgICAgbV9hcnJheVByb2ZpbGVHUFIgPSBCYXNlbGluZUpJ
VFJlZ2lzdGVyczo6UHV0QnlWYWw6OnByb2ZpbGVHUFI7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQmFzZWxpbmVKSVRSZWdpc3Rl
cnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQmFzZWxpbmVKSVRSZWdpc3RlcnMuaApp
bmRleCBlMmY2NGE3MzRiMzBkMGJjZGY2NTczYmM5NjRjYTg2MmEyNWQwYjM3Li5iOTBmZjMzZDBj
ZmI1ZmZlZjM3MjE5ZTVmOGZhNmJmMWRhYTNjYTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0Jhc2VsaW5lSklUUmVnaXN0ZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9CYXNlbGluZUpJVFJlZ2lzdGVycy5oCkBAIC01MCwyOCArNTAsMzMgQEAgbmFt
ZXNwYWNlIEVudGVyIHsKIH0KIAogbmFtZXNwYWNlIEluc3RhbmNlb2YgeworICAgIHVzaW5nIFNs
b3dPcGVyYXRpb24gPSBkZWNsdHlwZShvcGVyYXRpb25JbnN0YW5jZU9mT3B0aW1pemUpOworCisg
ICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93IHBhdGhzCisgICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJldHVyblZhbHVlSlNSIH07
CisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgcHJlZmVycmVkQXJndW1lbnRK
U1I8U2xvd09wZXJhdGlvbiwgMj4oKSB9OworICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBwcm90
b0pTUiB7IHByZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVyYXRpb24sIDM+KCkgfTsKKworICAg
IC8vIEZhc3QgcGF0aCBvbmx5IHJlZ2lzdGVycworICAgIG5hbWVzcGFjZSBGYXN0UGF0aCB7Cisg
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjphcmd1bWVudEdQ
UjEgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMUdQUiB7IEdQUkluZm86OmFy
Z3VtZW50R1BSMCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gyR1BSIHsKICNp
ZiBVU0UoSlNWQUxVRTY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRKU1IgeyBH
UFJJbmZvOjpyZWdUMCB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEdQ
UkluZm86OmFyZ3VtZW50R1BSMiB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBwcm90b0pT
UiB7IEdQUkluZm86OmFyZ3VtZW50R1BSMyB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1Yklu
Zm9HUFIgeyBHUFJJbmZvOjphcmd1bWVudEdQUjEgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHNj
cmF0Y2gxR1BSIHsgR1BSSW5mbzo6bm9uQXJnR1BSMCB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcg
c2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpub25BcmdHUFIxIH07CisgICAgICAgICAgICBHUFJJbmZv
OjpyZWdUNAogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJl
Z3MgcmVzdWx0SlNSIHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1
ZVJlZ3MgdmFsdWVKU1IgewotI2lmIENQVShNSVBTKQotICAgICAgICBHUFJJbmZvOjphcmd1bWVu
dEdQUjMsIEdQUkluZm86OmFyZ3VtZW50R1BSMgotI2Vsc2UKLSAgICAgICAgSlNSSW5mbzo6anNS
ZWdUMzIKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1Q2CiAjZW5kaWYKLSAgICB9OwotICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBwcm90b0pTUiB7IEpTUkluZm86OmpzUmVnVDU0IH07Ci0gICAg
Y29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0gICAgY29u
c3RleHByIEdQUlJlZyBzY3JhdGNoMUdQUiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgY29uc3Rl
eHByIEdQUlJlZyBzY3JhdGNoMkdQUiB7IEdQUkluZm86OnJlZ1Q3IH07Ci0jZW5kaWYKLSAgICBz
dGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcCh2YWx1ZUpTUiwgcHJvdG9KU1IsIHN0dWJJbmZvR1BSLCBz
Y3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIpKTsKKyAgICAgICAgfTsKKyAgICAgICAgc3RhdGljX2Fz
c2VydChub092ZXJsYXAodmFsdWVKU1IsIHByb3RvSlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaDFH
UFIsIHNjcmF0Y2gyR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKKyAgICB9CisKKyAgICAv
LyBTbG93IHBhdGggb25seSByZWdpc3RlcnMKKyAgICBuYW1lc3BhY2UgU2xvd1BhdGggeworICAg
ICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IHByZWZlcnJlZEFyZ3VtZW50
R1BSPFNsb3dPcGVyYXRpb24sIDA+KCkgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHVi
SW5mb0dQUiB7IHByZWZlcnJlZEFyZ3VtZW50R1BSPFNsb3dPcGVyYXRpb24sIDE+KCkgfTsKKyAg
ICAgICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQ
UiwgdmFsdWVKU1IsIHByb3RvSlNSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0
aW9uIik7CisgICAgfQogfQogCiBuYW1lc3BhY2UgSkZhbHNlIHsKQEAgLTg1LDkgKzkwLDkgQEAg
bmFtZXNwYWNlIEpUcnVlIHsKIG5hbWVzcGFjZSBUaHJvdyB7CiAgICAgdXNpbmcgU2xvd09wZXJh
dGlvbiA9IGRlY2x0eXBlKG9wZXJhdGlvblRocm93KTsKIAotICAgIGNvbnN0ZXhwciBHUFJSZWcg
Z2xvYmFsT2JqZWN0R1BSIHsgcHJlZmVycmVkQXJndW1lbnRHUFI8U2xvd09wZXJhdGlvbiwgMD4o
KSB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB0aHJvd25WYWx1ZUpTUiB7IHByZWZlcnJl
ZEFyZ3VtZW50SlNSPFNsb3dPcGVyYXRpb24sIDE+KCkgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVn
IGJ5dGVjb2RlT2Zmc2V0R1BSIHsgR1BSSW5mbzo6bm9uQXJnR1BSMCB9OworICAgIGNvbnN0ZXhw
ciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSID0gcHJlZmVycmVkQXJndW1lbnRHUFI8U2xvd09wZXJh
dGlvbiwgMD4oKTsKKyAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgdGhyb3duVmFsdWVKU1IgPSBw
cmVmZXJyZWRBcmd1bWVudEpTUjxTbG93T3BlcmF0aW9uLCAxPigpOworICAgIGNvbnN0ZXhwciBH
UFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIgPSBHUFJJbmZvOjpub25BcmdHUFIwOwogICAgIHN0YXRp
Y19hc3NlcnQobm9PdmVybGFwKHRocm93blZhbHVlSlNSLCBieXRlY29kZU9mZnNldEdQUiksICJS
ZXF1aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICBzdGF0aWNfYXNzZXJ0KG5vT3Zl
cmxhcChnbG9iYWxPYmplY3RHUFIsIHRocm93blZhbHVlSlNSKSwgIlJlcXVpcmVkIGZvciBjYWxs
IHRvIHNsb3cgb3BlcmF0aW9uIik7CiB9CkBAIC0xMTcsMjggKzEyMiwxOCBAQCBuYW1lc3BhY2Ug
R2V0QnlJZCB7CiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3Bh
Y2UgRmFzdFBhdGggewotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgICAgICBjb25zdGV4cHIgR1BS
UmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgSlNW
YWx1ZVJlZ3MgZG9udENsb2JiZXJKU1IgeyBHUFJJbmZvOjpyZWdUMyB9OwotI2VsaWYgVVNFKEpT
VkFMVUUzMl82NCkKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUklu
Zm86OnJlZ1QyIH07CiAgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUklu
Zm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBkb250Q2xvYmJlckpT
UiB7IEdQUkluZm86OnJlZ1Q2LCBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCisgICAgICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBkb250Q2xvYmJlckpTUiB7IEpTUkluZm86OmpzUmVnVDU0IH07
CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHN0dWJJbmZvR1BSLCBz
Y3JhdGNoR1BSLCBkb250Q2xvYmJlckpTUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAg
fQogCiAgICAgLy8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQ
YXRoIHsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJbmZv
OjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsg
R1BSSW5mbzo6cmVnVDIgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNl
dEdQUiB7IGdsb2JhbE9iamVjdEdQUiB9OwogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJ
bmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICBj
b25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSNlbGlmIFVT
RShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvcGVydHlHUFIgeyBH
UFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFw
KGJhc2VKU1IsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQUiwgcHJvcGVydHlHUFIpLCAi
UmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAgICAgICAgIHN0YXRpY19hc3NlcnQo
bm9PdmVybGFwKGJhc2VKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHByb3BlcnR5
R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7CiAgICAgfQpAQCAt
MTQ3LDM3ICsxNDIsMjggQEAgbmFtZXNwYWNlIEdldEJ5SWQgewogbmFtZXNwYWNlIEdldEJ5SWRX
aXRoVGhpcyB7CiAgICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93IHBh
dGhzCiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJldHVy
blZhbHVlSlNSIH07Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJl
Z3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdz
IHRoaXNKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKICAg
ICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEpTUkluZm86OmpzUmVnVDEwIH07CiAg
ICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHRoaXNKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9Owot
I2VuZGlmCiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2Ug
RmFzdFBhdGggewotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
c3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3IH07
Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q2IH07
Ci0jZW5kaWYKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86
OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86
OnJlZ1Q1IH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHRoaXNK
U1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNoR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKICAg
ICB9CiAKICAgICAvLyBTbG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xv
d1BhdGggewogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IEdQUklu
Zm86OnJlZ1Q0IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIg
eyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zm
c2V0R1BSIHsgZ2xvYmFsT2JqZWN0R1BSIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1
YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNSB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHBy
b3BlcnR5R1BSIHsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJl
ZyBwcm9wZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1QzIH07CisgICAgICAgICAgICBHUFJJbmZvOjpy
ZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBz
dHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
cHJvcGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNyB9OworICAgICAgICAgICAgR1BSSW5mbzo6cmVn
VDYKICNlbmRpZgorICAgICAgICB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChi
YXNlSlNSLCB0aGlzSlNSLCBieXRlY29kZU9mZnNldEdQUiwgc3R1YkluZm9HUFIsIHByb3BlcnR5
R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENUSSB0aHVuayIpOwogICAgICAgICBzdGF0aWNf
YXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB0aGlzSlNSLCBnbG9iYWxPYmplY3RHUFIsIHN0dWJJ
bmZvR1BSLCBwcm9wZXJ0eUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBzbG93IG9wZXJhdGlv
biIpOwogICAgIH0KQEAgLTE4NiwzNyArMTcyLDI4IEBAIG5hbWVzcGFjZSBHZXRCeUlkV2l0aFRo
aXMgewogbmFtZXNwYWNlIEdldEJ5VmFsIHsKICAgICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBib3Ro
IEZhc3QgYW5kIFNsb3cgcGF0aHMKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNS
IHsgSlNSSW5mbzo6cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICBjb25z
dGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotI2VsaWYg
VVNFKEpTVkFMVUUzMl82NCkKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEpT
UkluZm86OmpzUmVnVDEwIH07CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5SlNS
IHsgSlNSSW5mbzo6anNSZWdUMzIgfTsKLSNlbmRpZgogCiAgICAgLy8gRmFzdCBwYXRoIG9ubHkg
cmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIEZhc3RQYXRoIHsKLSNpZiBVU0UoSlNWQUxVRTY0KQot
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsK
LSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1Yklu
Zm9HUFIgeyBHUFJJbmZvOjpyZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0
Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BS
UmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNSB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0
KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hHUFIp
LCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOwogICAgIH0KIAogICAgIC8vIFNsb3cgcGF0aCBvbmx5
IHJlZ2lzdGVycwogICAgIG5hbWVzcGFjZSBTbG93UGF0aCB7CiAgICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAg
IGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIgeyBnbG9iYWxPYmplY3RHUFIgfTsK
KyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q1IH07
CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Qy
IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7IEdQUkluZm86OnJlZ1Qz
IH07CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q2IH07
Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7IEdQUkluZm86OnJlZ1Q3IH07
CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNgogI2VuZGlmCisgICAgICAgIH07CiAgICAgICAg
IHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNSLCBieXRlY29kZU9m
ZnNldEdQUiwgc3R1YkluZm9HUFIsIHByb2ZpbGVHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8g
Q1RJIHRodW5rIik7CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHBy
b3BlcnR5SlNSLCBnbG9iYWxPYmplY3RHUFIsIHN0dWJJbmZvR1BSLCBwcm9maWxlR1BSKSwgIlJl
cXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7CiAgICAgfQpAQCAtMjI0LDk5ICsy
MDEsODYgQEAgbmFtZXNwYWNlIEdldEJ5VmFsIHsKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiBuYW1l
c3BhY2UgRW51bWVyYXRvckdldEJ5VmFsIHsKLSAgICBzdGF0aWMgY29uc3RleHByIEpTVmFsdWVS
ZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgSlNW
YWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgIHN0YXRpYyBjb25z
dGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICBzdGF0
aWMgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAg
Ly8gV2UgcmVseSBvbiB0aGlzIHdoZW4gbGlua2luZyBhIENvZGVCbG9jayBhbmQgaW5pdGlhbGl6
aW5nIHJlZ2lzdGVycyBmb3IgYSBHZXRCeVZhbCBTdHViSW5mby4KLSAgICBzdGF0aWNfYXNzZXJ0
KGJhc2VKU1IgPT0gR2V0QnlWYWw6OmJhc2VKU1IpOwotICAgIHN0YXRpY19hc3NlcnQocHJvcGVy
dHlKU1IgPT0gR2V0QnlWYWw6OnByb3BlcnR5SlNSKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHJlc3Vs
dEpTUiA9PSBHZXRCeVZhbDo6cmVzdWx0SlNSKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0dWJJbmZv
R1BSID09IEdldEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9HUFIpOwotCi0gICAgc3RhdGljIGNv
bnN0ZXhwciBHUFJSZWcgc2NyYXRjaDEgeyBHUFJJbmZvOjpyZWdUMyB9OwotICAgIHN0YXRpYyBj
b25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gyIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAvLyBXZSBy
ZWx5IG9uIHVzaW5nIHRoZSBzYW1lIHJlZ2lzdGVycyB3aGVuIGxpbmtpbmcgYSBDb2RlQmxvY2sg
YW5kIGluaXRpYWxpemluZyByZWdpc3RlcnMKKyAgICAvLyBmb3IgYSBHZXRCeVZhbCBTdHViSW5m
by4KKyAgICBzdGF0aWMgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHZXRCeVZhbDo6
YmFzZUpTUiB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1Ig
eyBHZXRCeVZhbDo6cHJvcGVydHlKU1IgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIEpTVmFsdWVS
ZWdzIHJlc3VsdEpTUiB7IEdldEJ5VmFsOjpyZXN1bHRKU1IgfTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdldEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9HUFIg
fTsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMSB7IEdQUkluZm86OnJlZ1Qx
IH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDIgeyBHUFJJbmZvOjpyZWdU
MyB9OwogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gzIHsgR1BSSW5mbzo6cmVn
VDUgfTsKKyAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwg
c3R1YkluZm9HUFIsIHNjcmF0Y2gxLCBzY3JhdGNoMiwgc2NyYXRjaDMpKTsKIH0KICNlbmRpZgog
CiBuYW1lc3BhY2UgUHV0QnlJZCB7CiAgICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0
IGFuZCBTbG93IHBhdGhzCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1
ZVJlZ3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVS
ZWdzIHZhbHVlSlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQp
CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QxMCB9
OwogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEpTUkluZm86OmpzUmVnVDMy
IH07Ci0jZW5kaWYKIAogICAgIC8vIEZhc3QgcGF0aCBvbmx5IHJlZ2lzdGVycwogICAgIG5hbWVz
cGFjZSBGYXN0UGF0aCB7Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQ
UlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotI2VsaWYgVVNFKEpTVkFMVUUz
Ml82NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJl
Z1Q3IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJl
Z1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDJHUFIgeyBiYXNlSlNSLnRh
Z0dQUigpIH07IC8vIFJldXNpbmcgcmVnVDEgZm9yIGJldHRlciBjb2RlIHNpemUgb24gQVJNX1RI
VU1CMgotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJ
bmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJ
bmZvOjpyZWdUNSB9OworICAgICAgICAvLyBGaW5lIHRvIHVzZSByZWdUMSwgd2hpY2ggYWxzbyB5
aWVsZHMgYmV0dGVyIGNvZGUgc2l6ZSBvbiBBUk1fVEhVTUIyCisgICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpyZWdUMSB9OwogICAgICAgICBzdGF0aWNfYXNz
ZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB2YWx1ZUpTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hHUFIp
LCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3Zlcmxh
cChiYXNlSlNSLnBheWxvYWRHUFIoKSwgdmFsdWVKU1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNoR1BS
LCBzY3JhdGNoMkdQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAgfQogCiAgICAgLy8g
U2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQYXRoIHsKKyAgICAg
ICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgewogI2lmIFVTRShKU1ZBTFVFNjQp
Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6cmVn
VDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUklu
Zm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJ
bmZvOjpyZWdUMyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsgR1BS
SW5mbzo6cmVnVDQgfTsKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QxCiAjZWxpZiBVU0UoSlNW
QUxVRTMyXzY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IEdQ
UkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRH
UFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZv
R1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9wZXJ0
eUdQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNgogI2Vu
ZGlmCisgICAgICAgIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRH
UFIgeyBnbG9iYWxPYmplY3RHUFIgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5m
b0dQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvcGVy
dHlHUFIgeyBHUFJJbmZvOjpyZWdUNSB9OworCiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVy
bGFwKGJhc2VKU1IsIHZhbHVlSlNSLCBieXRlY29kZU9mZnNldEdQUiwgc3R1YkluZm9HUFIsIHBy
b3BlcnR5R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENUSSB0aHVuayIpOwogICAgICAgICBz
dGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB2YWx1ZUpTUiwgZ2xvYmFsT2JqZWN0R1BS
LCBzdHViSW5mb0dQUiwgcHJvcGVydHlHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gc2xvdyBv
cGVyYXRpb24iKTsKICAgICB9CiB9CiAKIG5hbWVzcGFjZSBQdXRCeVZhbCB7Ci0gICAgLy8gUmVn
aXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93IHBhdGhzCisgICAgY29uc3RleHByIEpT
VmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QxMCB9OworICAgIGNvbnN0ZXhwciBK
U1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEpTUkluZm86OmpzUmVnVDMyIH07CisgICAgY29uc3Rl
eHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgSlNSSW5mbzo6anNSZWdUNTQgfTsKKyAgICBjb25z
dGV4cHIgR1BSUmVnIHByb2ZpbGVHUFIgewogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgY29uc3Rl
eHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotICAgIGNvbnN0ZXhw
ciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0gICAgY29uc3Rl
eHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICBjb25zdGV4
cHIgR1BSUmVnIHByb2ZpbGVHUFIgeyBHUFJJbmZvOjpyZWdUMyB9OworICAgICAgICBHUFJJbmZv
OjpyZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJl
Z3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCB9OwotICAgIGNvbnN0
ZXhwciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QzLCBHUFJJbmZvOjpy
ZWdUMiB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEdQUkluZm86OnJl
Z1Q2LCBHUFJJbmZvOjpyZWdUNyB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7
IEdQUkluZm86OnJlZ1Q1IH07CisgICAgICAgIEdQUkluZm86OnJlZ1Q2CiAjZW5kaWYKKyAgICB9
OworICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeworI2lmIFVTRShKU1ZBTFVFNjQp
CisgICAgICAgIEdQUkluZm86OnJlZ1QzCisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAg
ICBHUFJJbmZvOjpyZWdUNworI2VuZGlmCisgICAgfTsKIAotICAgIC8vIEZhc3QgcGF0aCBvbmx5
IHJlZ2lzdGVycwotICAgIG5hbWVzcGFjZSBGYXN0UGF0aCB7Ci0gICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotICAgICAgICBzdGF0aWNfYXNz
ZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwgdmFsdWVKU1IsIHByb2ZpbGVHUFIs
IHN0dWJJbmZvR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKLSAgICB9CisgICAgc3RhdGlj
X2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHZhbHVlSlNSLCBwcm9maWxl
R1BSLCBzdHViSW5mb0dQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAKICAgICAvLyBTbG93
IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xvd1BhdGggewogICAgICAgICBj
b25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAg
ICAgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNQorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDUK
ICNlbGlmIENQVShBUk1fVEhVTUIyKQotICAgICAgICAgICAgICAgIC8vIFdlIGFyZSBhIGJpdCBz
aG9ydCBvbiByZWdpc3RlcnMgb24gQVJNX1RIVU1CMiwgYnV0IHdlIGNhbiBqdXN0IGFib3V0IGdl
dCBhd2F5IHdpdGggdGhpcwotICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQVJNdjc6OnNf
c2NyYXRjaFJlZ2lzdGVyCisgICAgICAgICAgICAvLyBXZSBhcmUgYSBiaXQgc2hvcnQgb24gcmVn
aXN0ZXJzIG9uIEFSTV9USFVNQjIsIGJ1dCB3ZSBjYW4ganVzdCBhYm91dCBnZXQgYXdheSB3aXRo
IHRoaXMKKyAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQVJNdjc6OnNfc2NyYXRjaFJlZ2lzdGVy
CiAjZWxzZSAvLyBPdGhlciBKU1ZBTFVFMzJfNjQKLSAgICAgICAgICAgICAgICBHUFJJbmZvOjpy
ZWdUOAorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDgKICNlbmRpZgogICAgICAgICB9OwogICAg
ICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgZ2xvYmFsT2JqZWN0R1BS
IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdU
NCB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpT
UiwgdmFsdWVKU1IsIHByb2ZpbGVHUFIsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQUiks
ICJSZXF1aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fzc2Vy
dChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHZhbHVlSlNSLCBwcm9maWxlR1BSLCBn
bG9iYWxPYmplY3RHUFIsIHN0dWJJbmZvR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cg
b3BlcmF0aW9uIik7CiAgICAgfQpAQCAtMzMxLDU1ICsyOTUsMzMgQEAgbmFtZXNwYWNlIEluQnlJ
ZCB7CiAKIG5hbWVzcGFjZSBJbkJ5VmFsIHsKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVz
dWx0SlNSIHsgSlNSSW5mbzo6cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQot
ICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAg
ICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9Owot
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAg
IGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0jZWxpZiBV
U0UoSlNWQUxVRTMyXzY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BS
SW5mbzo6cmVnVDEsIEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdz
IHByb3BlcnR5SlNSIHsgR1BSSW5mbzo6cmVnVDMsIEdQUkluZm86OnJlZ1QyIH07Ci0gICAgY29u
c3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3IH07Ci0gICAgY29uc3Rl
eHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsKLSNlbmRpZgorICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKKyAgICBj
b25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9Owor
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAg
IGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q1IH07CiAgICAgc3Rh
dGljX2Fzc2VydChiYXNlSlNSID09IEdldEJ5VmFsOjpiYXNlSlNSKTsKICAgICBzdGF0aWNfYXNz
ZXJ0KHByb3BlcnR5SlNSID09IEdldEJ5VmFsOjpwcm9wZXJ0eUpTUik7CiB9CiAKIG5hbWVzcGFj
ZSBEZWxCeUlkIHsKICAgICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBib3RoIEZhc3QgYW5kIFNsb3cg
cGF0aHMKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNl
SlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9OwotI2VuZGlm
CiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgRmFzdFBh
dGggewogICAgICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgSlNSSW5mbzo6
cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSAgICAgICAgY29uc3RleHBy
IEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSNlbGlmIFVTRShKU1ZBTFVF
MzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpy
ZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpy
ZWdUNiB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBH
UFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBH
UFJJbmZvOjpyZWdUNSB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNS
LCBzdHViSW5mb0dQUiwgc2NyYXRjaEdQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAg
fQogCiAgICAgLy8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQ
YXRoIHsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJbmZv
OjpyZWdUMCB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsg
R1BSSW5mbzo6cmVnVDAgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHBy
IEdQUlJlZyBwcm9wZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgZWNtYU1vZGVHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotI2VsaWYgVVNFKEpTVkFM
VUUzMl82NCkKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IGds
b2JhbE9iamVjdEdQUiB9OwogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsg
R1BSSW5mbzo6cmVnVDEgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9wZXJ0eUdQUiB7
IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZWNtYU1vZGVHUFIg
eyBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJv
cGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGVj
bWFNb2RlR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092
ZXJsYXAoYmFzZUpTUiwgYnl0ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBwcm9wZXJ0eUdQ
UiwgZWNtYU1vZGVHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAgICAg
ICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1
YkluZm9HUFIsIHByb3BlcnR5R1BSLCBlY21hTW9kZUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0
byBzbG93IG9wZXJhdGlvbiIpOwogICAgIH0KQEAgLTM4Nyw0MCArMzI5LDI5IEBAIG5hbWVzcGFj
ZSBEZWxCeUlkIHsKIAogbmFtZXNwYWNlIERlbEJ5VmFsIHsKICAgICAvLyBSZWdpc3RlcnMgdXNl
ZCBvbiBib3RoIEZhc3QgYW5kIFNsb3cgcGF0aHMKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSAgICBjb25z
dGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotI2VsaWYg
VVNFKEpTVkFMVUUzMl82NCkKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEpT
UkluZm86OmpzUmVnVDMyIH07CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5SlNS
IHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKLSNlbmRpZgogCiAgICAgLy8gRmFzdCBwYXRoIG9ubHkg
cmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIEZhc3RQYXRoIHsKICAgICAgICAgY29uc3RleHByIEpT
VmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJldHVyblZhbHVlSlNSIH07Ci0jaWYgVVNF
KEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUklu
Zm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUklu
Zm86OnJlZ1QyIH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSAgICAgICAgY29uc3RleHBy
IEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsKLSNlbmRpZgorICAgICAgICBj
b25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAgICAg
Y29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsKICAgICAgICAg
c3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHN0dWJJbmZvR1BS
LCBzY3JhdGNoR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKICAgICB9CiAKICAgICAvLyBT
bG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xvd1BhdGggewotI2lmIFVT
RShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsg
R1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNl
dEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1Yklu
Zm9HUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGVjbWFN
b2RlR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAg
ICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsK
LSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUkluZm86OnJl
Z1Q0IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpy
ZWdUNiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGVjbWFNb2RlR1BSIHsgR1BSSW5mbzo6
cmVnVDcgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IGds
b2JhbE9iamVjdEdQUiB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsg
R1BSSW5mbzo6cmVnVDUgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBlY21hTW9kZUdQUiB7
CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QxCisjZWxpZiBV
U0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDYKICNlbmRpZgorICAg
ICAgICB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0
eUpTUiwgYnl0ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBlY21hTW9kZUdQUiksICJSZXF1
aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fzc2VydChub092
ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIs
IGVjbWFNb2RlR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7CiAg
ICAgfQpAQCAtNDMxLDExICszNjIsNyBAQCBuYW1lc3BhY2UgUHJpdmF0ZUJyYW5kIHsKICAgICBj
b25zdGV4cHIgSlNWYWx1ZVJlZ3MgYnJhbmRKU1IgeyBHZXRCeVZhbDo6cHJvcGVydHlKU1IgfTsg
Ly8gUmVxdWlyZWQgYnkgc2hhcmVkIHNsb3cgcGF0aCB0aHVuawogCiAgICAgbmFtZXNwYWNlIEZh
c3RQYXRoIHsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0
dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0g
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNyB9Owot
I2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHZXRCeVZhbDo6
RmFzdFBhdGg6OnN0dWJJbmZvR1BSIH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFw
KGJhc2VKU1IsIGJyYW5kSlNSLCBzdHViSW5mb0dQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCmluZGV4IDAwMjJiZDliOTg1
OTVhODMwYzFlZTA5NTZmODEwODNlZDQ3ODFlODYuLjY3MzMyOWM4NjU4MGU2ZWExMzA4MjgyMjAw
NWI3NjU4YTAzM2M0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BS
SW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCkBAIC01NjYs
MTIgKzU2NiwxMiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDEg
PSBBUk1SZWdpc3RlcnM6OnIxOwogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1QyID0g
QVJNUmVnaXN0ZXJzOjpyMjsKICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUMyA9IEFS
TVJlZ2lzdGVyczo6cjM7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDQgPSBBUk1S
ZWdpc3RlcnM6OnI4OwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q1ID0gQVJNUmVn
aXN0ZXJzOjpyOTsKLSAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUNiA9IEFSTVJlZ2lz
dGVyczo6cjU7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDcgPSBBUk1SZWdpc3Rl
cnM6OnI0OwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ0NTMCA9IEFSTVJlZ2lzdGVy
czo6cjExOwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ0NTMSA9IEFSTVJlZ2lzdGVy
czo6cjEwOworICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q0ID0gQVJNUmVnaXN0ZXJz
OjpyNDsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUNSA9IEFSTVJlZ2lzdGVyczo6
cjU7CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDYgPSBBUk1SZWdpc3RlcnM6OnI4
OworICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q3ID0gQVJNUmVnaXN0ZXJzOjpyOTsK
KyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdDUzAgPSBBUk1SZWdpc3RlcnM6OnIxMDsK
KyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdDUzEgPSBBUk1SZWdpc3RlcnM6OnIxMTsK
ICAgICAvLyBUaGVzZSByZWdpc3RlcnMgbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVC4KICAgICBzdGF0
aWMgY29uc3RleHByIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6ZnA7
CiAgICAgLy8gVGhlc2UgY29uc3RhbnRzIHByb3ZpZGUgdGhlIG5hbWVzIGZvciB0aGUgZ2VuZXJh
bCBwdXJwb3NlIGFyZ3VtZW50ICYgcmV0dXJuIHZhbHVlIHJlZ2lzdGVycy4KQEAgLTU3OSw3ICs1
NzksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgYXJndW1lbnRHUFIx
ID0gQVJNUmVnaXN0ZXJzOjpyMTsgLy8gcmVnVDEKICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJl
ZyBhcmd1bWVudEdQUjIgPSBBUk1SZWdpc3RlcnM6OnIyOyAvLyByZWdUMgogICAgIHN0YXRpYyBj
b25zdGV4cHIgR1BSUmVnIGFyZ3VtZW50R1BSMyA9IEFSTVJlZ2lzdGVyczo6cjM7IC8vIHJlZ1Qz
Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uQXJnR1BSMCA9IEFSTVJlZ2lzdGVyczo6
cjQ7IC8vIHJlZ1Q3CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uQXJnR1BSMCA9IEFS
TVJlZ2lzdGVyczo6cjQ7IC8vIHJlZ1Q0CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmV0
dXJuVmFsdWVHUFIgPSBBUk1SZWdpc3RlcnM6OnIwOyAvLyByZWdUMAogICAgIHN0YXRpYyBjb25z
dGV4cHIgR1BSUmVnIHJldHVyblZhbHVlR1BSMiA9IEFSTVJlZ2lzdGVyczo6cjE7IC8vIHJlZ1Qx
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uUHJlc2VydmVkTm9uUmV0dXJuR1BSID0g
QVJNUmVnaXN0ZXJzOjpyNTsKQEAgLTYwMyw3ICs2MDMsNyBAQCBwdWJsaWM6CiAgICAgICAgIEFT
U0VSVChyZWcgIT0gSW52YWxpZEdQUlJlZyk7CiAgICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxp
bnQ+KHJlZykgPCAxNik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmRleEZvclJl
Z2lzdGVyWzE2XSA9Ci0gICAgICAgICAgICB7IDAsIDEsIDIsIDMsIDcsIDYsIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCA0LCA1LCA5LCA4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwg
SW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAgICAgICAgICAgIHsgMCwgMSwgMiwgMywg
NCwgNSwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDYsIDcsIDgsIDksIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OwogICAgICAgICB1
bnNpZ25lZCByZXN1bHQgPSBpbmRleEZvclJlZ2lzdGVyW3JlZ107CiAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAgICAgfQpAQCAtMTEzNiw4ICsxMTM2LDggQEAgcHVibGljOgogICAgICAgICAvLyB0
aGUgbGluayByZWdpc3RlciBhcyBhIHRlbXBvcmFyeS4KICAgICAgICAgcmV0dXJuIHBpY2tKU1I8
T3BlcmF0aW9uVHlwZSwgQXJnTnVtPigKICAgICAgICAgICAgIEdQUkluZm86OmFyZ3VtZW50R1BS
MCwgR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJbmZvOjphcmd1bWVudEdQUjIsCi0gICAgICAg
ICAgICBHUFJJbmZvOjphcmd1bWVudEdQUjMsIEdQUkluZm86OnJlZ1Q3LCAgICAgICAgR1BSSW5m
bzo6cmVnVDYsCi0gICAgICAgICAgICBHUFJJbmZvOjpyZWdUNCwgICAgICAgIEdQUkluZm86OnJl
Z1Q1LCAgICAgICAgQVJNUmVnaXN0ZXJzOjpscik7CisgICAgICAgICAgICBHUFJJbmZvOjphcmd1
bWVudEdQUjMsIEdQUkluZm86OnJlZ1Q0LCAgICAgICAgR1BSSW5mbzo6cmVnVDUsCisgICAgICAg
ICAgICBHUFJJbmZvOjpyZWdUNiwgICAgICAgIEdQUkluZm86OnJlZ1Q3LCAgICAgICAgQVJNUmVn
aXN0ZXJzOjpscik7CiAjZWxpZiBDUFUoTUlQUykKICAgICAgICAgcmV0dXJuIHBpY2tKU1I8T3Bl
cmF0aW9uVHlwZSwgQXJnTnVtPigKICAgICAgICAgICAgIEdQUkluZm86OmFyZ3VtZW50R1BSMCwg
R1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJbmZvOjphcmd1bWVudEdQUjIsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCA1Yjg1YzdhYzUxN2E3MDJkY2ZkN2E2
MmVkZjA5MjExYTNkNWQzMzNlLi4xYzJjOGEwZDYxZTZlMjc4OWJkYmY5ODI2NjE2MDM2MWJkYTNh
N2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTE1Niw5
ICsxNTYsOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKGNvbnN0IEpTSW5zdHJ1Y3Rp
b24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6
SW5zdGFuY2VvZjo6cmVzdWx0SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJ
bnN0YW5jZW9mOjp2YWx1ZUpTUjsKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5z
dGFuY2VvZjo6cHJvdG9KU1I7Ci0gICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3Rh
bmNlb2Y6OnN0dWJJbmZvR1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0
YW5jZW9mOjpzY3JhdGNoMUdQUjsKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5z
dGFuY2VvZjo6c2NyYXRjaDJHUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Oklu
c3RhbmNlb2Y6OkZhc3RQYXRoOjpzdHViSW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJl
Z2lzdGVyczo6SW5zdGFuY2VvZjo6RmFzdFBhdGg6OnNjcmF0Y2gxR1BSOworICAgIHVzaW5nIEJh
c2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpGYXN0UGF0aDo6c2NyYXRjaDJHUFI7CiAK
ICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHZhbHVlLCB2YWx1ZUpTUik7CiAgICAgZW1pdEdl
dFZpcnR1YWxSZWdpc3Rlcihwcm90bywgcHJvdG9KU1IpOwpAQCAtMTg5LDM2ICsxODksMjkgQEAg
dm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiBjdXJyZW50
SW5zdHJ1Y3Rpb24pCiAgICAgYWRkU2xvd0Nhc2UoKTsKICAgICBtX2luc3RhbmNlT2ZzLmFwcGVu
ZChnZW4pOwogCisgICAgc2V0RmFzdFBhdGhSZXN1bWVQb2ludCgpOwogICAgIGVtaXRQdXRWaXJ0
dWFsUmVnaXN0ZXIoZHN0LCByZXN1bHRKU1IpOwogfQogCi12b2lkIEpJVDo6ZW1pdFNsb3dfb3Bf
aW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZlY3Rv
cjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImIGl0ZXIpCit2b2lkIEpJVDo6ZW1pdFNsb3dfb3Bf
aW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+Ojpp
dGVyYXRvciYgaXRlcikKIHsKICAgICBsaW5rQWxsU2xvd0Nhc2VzKGl0ZXIpOwogCi0gICAgYXV0
byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BJbnN0YW5jZW9mPigpOwotICAg
IFZpcnR1YWxSZWdpc3RlciByZXN1bHRWUmVnID0gYnl0ZWNvZGUubV9kc3Q7Ci0gICAgCiAgICAg
SklUSW5zdGFuY2VPZkdlbmVyYXRvciYgZ2VuID0gbV9pbnN0YW5jZU9mc1ttX2luc3RhbmNlT2ZJ
bmRleCsrXTsKLSAgICAKKwogICAgIExhYmVsIGNvbGRQYXRoQmVnaW4gPSBsYWJlbCgpOwogCi0g
ICAgdXNpbmcgU2xvd09wZXJhdGlvbiA9IGRlY2x0eXBlKG9wZXJhdGlvbkluc3RhbmNlT2ZPcHRp
bWl6ZSk7Ci0gICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgPSBwcmVmZXJyZWRB
cmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAwPigpOwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1
YkluZm9HUFIgPSBwcmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAxPigpOwogICAg
IHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjp2YWx1ZUpTUjsKLSAgICBz
dGF0aWNfYXNzZXJ0KHZhbHVlSlNSID09IHByZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVyYXRp
b24sIDI+KCkpOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpw
cm90b0pTUjsKLSAgICAvLyBPbiBKU1ZBTFVFMzJfNjQsICdwcm90bycgd2lsbCBiZSBwYXNzZWQg
b24gc3RhY2sgYW55d2F5Ci0gICAgc3RhdGljX2Fzc2VydChwcm90b0pTUiA9PSBwcmVmZXJyZWRB
cmd1bWVudEpTUjxTbG93T3BlcmF0aW9uLCAzPigpIHx8IGlzMzJCaXQoKSk7Ci0gICAgc3RhdGlj
X2Fzc2VydChub092ZXJsYXAoZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQUiwgdmFsdWVKU1Is
IHByb3RvSlNSKSk7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNlb2Y6
OlNsb3dQYXRoOjpnbG9iYWxPYmplY3RHUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3Rl
cnM6Okluc3RhbmNlb2Y6OlNsb3dQYXRoOjpzdHViSW5mb0dQUjsKIAogICAgIGxvYWRHbG9iYWxP
YmplY3QoZ2xvYmFsT2JqZWN0R1BSKTsKICAgICBsb2FkQ29uc3RhbnQoZ2VuLm1fdW5saW5rZWRT
dHViSW5mb0NvbnN0YW50SW5kZXgsIHN0dWJJbmZvR1BSKTsKLSAgICBjYWxsT3BlcmF0aW9uPFNs
b3dPcGVyYXRpb24+KAorICAgIGNhbGxPcGVyYXRpb248ZGVjbHR5cGUob3BlcmF0aW9uSW5zdGFu
Y2VPZk9wdGltaXplKT4oCiAgICAgICAgIEFkZHJlc3Moc3R1YkluZm9HUFIsIFN0cnVjdHVyZVN0
dWJJbmZvOjpvZmZzZXRPZlNsb3dPcGVyYXRpb24oKSksCi0gICAgICAgIHJlc3VsdFZSZWcsCiAg
ICAgICAgIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHZhbHVlSlNSLCBwcm90b0pTUik7
CisgICAgc3RhdGljX2Fzc2VydChCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6cmVz
dWx0SlNSID09IHJldHVyblZhbHVlSlNSKTsKICAgICBnZW4ucmVwb3J0U2xvd1BhdGhDYWxsKGNv
bGRQYXRoQmVnaW4sIENhbGwoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKaW5kZXggYzhiOGIwYmYzZGUxZjNjZmI3YmRkOWIwMWMy
N2E0NzY3OTk5MzdmOC4uZjkxMjEzN2M3NmNlNWUwNDc2MWFhMDMwNzA5YjVjMDRlOTk3MDE4OCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAK
QEAgLTM4MSw3ICszODEsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfdmFsKGNvbnN0IEpT
SW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICB1c2luZyBCYXNlbGluZUpJVFJl
Z2lzdGVyczo6UHV0QnlWYWw6OnByb3BlcnR5SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVn
aXN0ZXJzOjpQdXRCeVZhbDo6dmFsdWVKU1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3Rl
cnM6OlB1dEJ5VmFsOjpwcm9maWxlR1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJz
OjpQdXRCeVZhbDo6RmFzdFBhdGg6OnN0dWJJbmZvR1BSOworICAgIHVzaW5nIEJhc2VsaW5lSklU
UmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9HUFI7CiAKICAgICBlbWl0R2V0VmlydHVhbFJl
Z2lzdGVyKGJhc2UsIGJhc2VKU1IpOwogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIocHJvcGVy
dHksIHByb3BlcnR5SlNSKTsKQEAgLTQzMCw3ICs0MzAsNyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3df
b3BfcHV0X2J5X3ZhbChjb25zdCBKU0luc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+
OjppdAogICAgIEFTU0VSVChCeXRlY29kZUluZGV4KGJ5dGVjb2RlT2Zmc2V0KSA9PSBtX2J5dGVj
b2RlSW5kZXgpOwogICAgIEpJVFB1dEJ5VmFsR2VuZXJhdG9yJiBnZW4gPSBtX3B1dEJ5VmFsc1tt
X3B1dEJ5VmFsSW5kZXgrK107CiAKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0
QnlWYWw6OlNsb3dQYXRoOjpzdHViSW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lz
dGVyczo6UHV0QnlWYWw6OnN0dWJJbmZvR1BSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0
ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwogCiAgICAgTGFiZWwg
Y29sZFBhdGhCZWdpbiA9IGxhYmVsKCk7CkBAIC00NTgsOSArNDU4LDkgQEAgTWFjcm9Bc3NlbWJs
ZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFnPiBKSVQ6OnNsb3dfb3BfcHV0X2J5X3ZhbF9jYWxsU2xv
d09wZXJhdGlvblQKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnBy
b3BlcnR5SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6dmFs
dWVKU1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9maWxl
R1BSOworICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9H
UFI7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93UGF0aDo6
Z2xvYmFsT2JqZWN0R1BSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZh
bDo6U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVn
aXN0ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OnN0dWJJbmZvR1BSOwogCiAgICAgaml0LmVtaXRD
VElUaHVua1Byb2xvZ3VlKCk7CiAKQEAgLTQ5Myw3ICs0OTMsNyBAQCB2b2lkIEpJVDo6ZW1pdF9v
cF9wdXRfcHJpdmF0ZV9uYW1lKGNvbnN0IEpTSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OmJhc2VKU1I7CiAg
ICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9wZXJ0eUpTUjsKICAg
ICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnZhbHVlSlNSOwotICAgIHVz
aW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6RmFzdFBhdGg6OnN0dWJJbmZvR1BS
OworICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9HUFI7
CiAKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGJhc2UsIGJhc2VKU1IpOwogICAgIGVtaXRH
ZXRWaXJ0dWFsUmVnaXN0ZXIocHJvcGVydHksIHByb3BlcnR5SlNSKTsKQEAgLTUyOSw3ICs1Mjks
NyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfcHV0X3ByaXZhdGVfbmFtZShjb25zdCBKU0luc3Ry
dWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cgogICAgIEpJVFB1dEJ5VmFsR2VuZXJhdG9yJiBn
ZW4gPSBtX3B1dEJ5VmFsc1ttX3B1dEJ5VmFsSW5kZXgrK107CiAKICAgICB1c2luZyBCYXNlbGlu
ZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpieXRlY29kZU9mZnNldEdQUjsKLSAg
ICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpzdHViSW5m
b0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnN0dWJJbmZv
R1BSOwogCiAgICAgTGFiZWwgY29sZFBhdGhCZWdpbiA9IGxhYmVsKCk7CiAgICAgbGlua0FsbFNs
b3dDYXNlcyhpdGVyKTsKQEAgLTU1Niw5ICs1NTYsOSBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8
SklUVGh1bmtQdHJUYWc+IEpJVDo6c2xvd19vcF9wdXRfcHJpdmF0ZV9uYW1lX2NhbGxTbG93T3Bl
cgogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6cHJvcGVydHlKU1I7
CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjp2YWx1ZUpTUjsKICAg
ICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnByb2ZpbGVHUFI7CisgICAg
dXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpzdHViSW5mb0dQUjsKICAgICB1
c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpnbG9iYWxPYmpl
Y3RHUFI7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93UGF0
aDo6Ynl0ZWNvZGVPZmZzZXRHUFI7Ci0gICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1
dEJ5VmFsOjpTbG93UGF0aDo6c3R1YkluZm9HUFI7CiAKICAgICBqaXQuZW1pdENUSVRodW5rUHJv
bG9ndWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
RGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5oCmluZGV4IGMw
MzMzZDM0MmIwOWIwMzA0MDEwZjQ0NjI4NDNmYzA4OTQ4MjllZTQuLjBiYjZlY2Q4OTk5OTM5NmYx
OWI4MGJkYzU3M2Y1ZTYyMmVjMmQ1OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludERhdGEuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnREYXRhLmgKQEAgLTM5MSw3ICszOTEsMTEgQEAgQUxXQVlTX0lOTElORSB2b2lkKiBnZXRXaWRl
MzJDb2RlUHRyKE9wY29kZUlEIGlkKQogCiAjaWYgRU5BQkxFKEpJVCkKIHN0cnVjdCBSZWdpc3Rl
cnMgeworI2lmIENQVShBUk0pCisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcGNHUFIgPSBB
Uk1SZWdpc3RlcnM6OnI4OworI2Vsc2UKICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyBwY0dQ
UiA9IEdQUkluZm86OnJlZ1Q0OworI2VuZGlmCiAKICNpZiBDUFUoWDg2XzY0KSAmJiAhT1MoV0lO
RE9XUykKICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyBtZXRhZGF0YVRhYmxlR1BSID0gR1BS
SW5mbzo6cmVnQ1MxOwpAQCAtNDAyLDcgKzQwNiw3IEBAIHN0cnVjdCBSZWdpc3RlcnMgewogI2Vs
aWYgQ1BVKEFSTTY0KSB8fCBDUFUoUklTQ1Y2NCkKICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJl
ZyBtZXRhZGF0YVRhYmxlR1BSID0gR1BSSW5mbzo6cmVnQ1M2OwogICAgIHN0YXRpYyBjb25zdGV4
cHIgR1BSUmVnIHBiR1BSID0gR1BSSW5mbzo6cmVnQ1M3OwotI2VsaWYgQ1BVKE1JUFMpIHx8IENQ
VShBUk1fVEhVTUIyKQorI2VsaWYgQ1BVKE1JUFMpIHx8IENQVShBUk0pCiAgICAgc3RhdGljIGNv
bnN0ZXhwciBHUFJSZWcgbWV0YWRhdGFUYWJsZUdQUiA9IEdQUkluZm86OnJlZ0NTMDsKICAgICBz
dGF0aWMgY29uc3RleHByIEdQUlJlZyBwYkdQUiA9IEdQUkluZm86OnJlZ0NTMTsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtCmluZGV4IGE4ZTdjNzM5OWQ1ODFhNTk2MGQwYWE3YWE3MjQzMzVkYjAzNTRjNzUuLjNlMmM2
ZGY2MGE0NzhjYTEwOWFhZGE4YzMzZDYwYzk5NGI1ZDNjMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KQEAgLTMwMiwxMCAr
MzAyLDcgQEAgZWxzZQogICAgIGlmIENfTE9PUCBvciBDX0xPT1BfV0lOCiAgICAgICAgIGNvbnN0
IFBCID0gY3NyMAogICAgICAgICBjb25zdCBtZXRhZGF0YVRhYmxlID0gY3NyMwotICAgIGVsc2lm
IEFSTXY3Ci0gICAgICAgIGNvbnN0IG1ldGFkYXRhVGFibGUgPSBjc3IwCi0gICAgICAgIGNvbnN0
IFBCID0gY3NyMQotICAgIGVsc2lmIE1JUFMKKyAgICBlbHNpZiBBUk12NyBvciBNSVBTCiAgICAg
ICAgIGNvbnN0IG1ldGFkYXRhVGFibGUgPSBjc3IwCiAgICAgICAgIGNvbnN0IFBCID0gY3NyMQog
ICAgIGVsc2UKQEAgLTg0MiwxOCArODM5LDcgQEAgbWFjcm8gcHJlc2VydmVDYWxsZWVTYXZlc1Vz
ZWRCeUxMSW50KCkKICAgICBzdWJwIENhbGxlZVNhdmVTcGFjZVN0YWNrQWxpZ25lZCwgc3AKICAg
ICBpZiBDX0xPT1Agb3IgQ19MT09QX1dJTgogICAgICAgICBzdG9yZXAgbWV0YWRhdGFUYWJsZSwg
LVB0clNpemVbY2ZyXQotCi0gICAgIyBOZXh0IEFSTXY3IGFuZCBNSVBTIGRpZmZlciBpbiBob3cg
d2Ugc3RvcmUgbWV0YWRhdGFUYWJsZSBhbmQgUEIsCi0gICAgIyBiZWNhdXNlIHRoaXMgY29kZXMg
bmVlZHMgdG8gYmUgaW4gc3luYyB3aXRoIGhvdyByZWdpc3RlcnMgYXJlCi0gICAgIyByZXN0b3Jl
ZCBpbiBCYXNlbGluZSBKSVQgKHNwZWNpZmljYWxseSBpbiBlbWl0UmVzdG9yZUNhbGxlZVNhdmVz
Rm9yKS4KLSAgICAjIGVtaXRSZXN0b3JlQ2FsbGVlU2F2ZXNGb3IgcmVzdG9yZXMgcmVnaXN0ZXJz
IGluIG9yZGVyIGluc3RlYWQgb2YgYnkgbmFtZS4KLSAgICAjIEhvd2V2ZXIsIEFSTXY3IGFuZCBN
SVBTIGRpZmZlciBpbiB0aGUgb3JkZXIgaW4gd2hpY2ggcmVnaXN0ZXJzIGFyZSBhc3NpZ25lZAot
ICAgICMgdG8gbWV0YWRhdGFUYWJsZSBhbmQgUEIsIHRoZXJlZm9yZSB0aGV5IGNhbiBhbHNvIG5v
dCBoYXZlIHRoZSBzYW1lIHNhdmluZwotICAgICMgb3JkZXIuCi0gICAgZWxzaWYgQVJNdjcKLSAg
ICAgICAgc3RvcmVwIG1ldGFkYXRhVGFibGUsIC00W2Nmcl0KLSAgICAgICAgc3RvcmVwIFBCLCAt
OFtjZnJdCi0gICAgZWxzaWYgTUlQUworICAgIGVsc2lmIEFSTXY3IG9yIE1JUFMKICAgICAgICAg
c3RvcmVwIFBCLCAtNFtjZnJdCiAgICAgICAgIHN0b3JlcCBtZXRhZGF0YVRhYmxlLCAtOFtjZnJd
CiAgICAgZWxzaWYgQVJNNjQgb3IgQVJNNjRFCkBAIC04ODIsMTIgKzg2OCw3IEBAIGVuZAogbWFj
cm8gcmVzdG9yZUNhbGxlZVNhdmVzVXNlZEJ5TExJbnQoKQogICAgIGlmIENfTE9PUCBvciBDX0xP
T1BfV0lOCiAgICAgICAgIGxvYWRwIC1QdHJTaXplW2Nmcl0sIG1ldGFkYXRhVGFibGUKLSAgICAj
IFRvIHVuZGVyc3RhbmQgd2h5IEFSTXY3IGFuZCBNSVBTIGRpZmZlciBpbiByZXN0b3JlIG9yZGVy
LAotICAgICMgc2VlIGNvbW1lbnQgaW4gcHJlc2VydmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50Ci0g
ICAgZWxzaWYgQVJNdjcKLSAgICAgICAgbG9hZHAgLTRbY2ZyXSwgbWV0YWRhdGFUYWJsZQotICAg
ICAgICBsb2FkcCAtOFtjZnJdLCBQQgotICAgIGVsc2lmIE1JUFMKKyAgICBlbHNpZiBBUk12NyBv
ciBNSVBTCiAgICAgICAgIGxvYWRwIC00W2Nmcl0sIFBCCiAgICAgICAgIGxvYWRwIC04W2Nmcl0s
IG1ldGFkYXRhVGFibGUKICAgICBlbHNpZiBBUk02NCBvciBBUk02NEUKQEAgLTk1MCwxMiArOTMx
LDcgQEAgbWFjcm8gY29weUNhbGxlZVNhdmVzVG9FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIo
ZW50cnlGcmFtZSkKICAgICAgICAgICAgIHN0b3JlcSBjc3I0LCAzMltlbnRyeUZyYW1lXQogICAg
ICAgICAgICAgc3RvcmVxIGNzcjUsIDQwW2VudHJ5RnJhbWVdCiAgICAgICAgICAgICBzdG9yZXEg
Y3NyNiwgNDhbZW50cnlGcmFtZV0KLSAgICAgICAgIyBUbyB1bmRlcnN0YW5kIHdoeSBBUk12NyBh
bmQgTUlQUyBkaWZmZXIgaW4gc3RvcmUgb3JkZXIsCi0gICAgICAgICMgc2VlIGNvbW1lbnQgaW4g
cHJlc2VydmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50Ci0gICAgICAgIGVsc2lmIEFSTXY3Ci0gICAg
ICAgICAgICBzdG9yZXAgY3NyMSwgW2VudHJ5RnJhbWVdCi0gICAgICAgICAgICBzdG9yZXAgY3Ny
MCwgNFtlbnRyeUZyYW1lXQotICAgICAgICBlbHNpZiBNSVBTCisgICAgICAgIGVsc2lmIEFSTXY3
IG9yIE1JUFMKICAgICAgICAgICAgIHN0b3JlcCBjc3IwLCBbZW50cnlGcmFtZV0KICAgICAgICAg
ICAgIHN0b3JlcCBjc3IxLCA0W2VudHJ5RnJhbWVdCiAgICAgICAgIGVsc2lmIFJJU0NWNjQKQEAg
LTEwMzEsMTIgKzEwMDcsNyBAQCBtYWNybyByZXN0b3JlQ2FsbGVlU2F2ZXNGcm9tVk1FbnRyeUZy
YW1lQ2FsbGVlU2F2ZXNCdWZmZXIodm0sIHRlbXApCiAgICAgICAgICAgICBsb2FkcSAzMlt0ZW1w
XSwgY3NyNAogICAgICAgICAgICAgbG9hZHEgNDBbdGVtcF0sIGNzcjUKICAgICAgICAgICAgIGxv
YWRxIDQ4W3RlbXBdLCBjc3I2Ci0gICAgICAgICMgVG8gdW5kZXJzdGFuZCB3aHkgQVJNdjcgYW5k
IE1JUFMgZGlmZmVyIGluIHJlc3RvcmUgb3JkZXIsCi0gICAgICAgICMgc2VlIGNvbW1lbnQgaW4g
cHJlc2VydmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50Ci0gICAgICAgIGVsc2lmIEFSTXY3Ci0gICAg
ICAgICAgICBsb2FkcCBbdGVtcF0sIGNzcjEKLSAgICAgICAgICAgIGxvYWRwIDRbdGVtcF0sIGNz
cjAKLSAgICAgICAgZWxzaWYgTUlQUworICAgICAgICBlbHNpZiBBUk12NyBvciBNSVBTCiAgICAg
ICAgICAgICBsb2FkcCBbdGVtcF0sIGNzcjAKICAgICAgICAgICAgIGxvYWRwIDRbdGVtcF0sIGNz
cjEKICAgICAgICAgZWxzaWYgUklTQ1Y2NApAQCAtMTgxMCwzMiArMTc4MSwzNyBAQCBpZiBub3Qg
KENfTE9PUCBvciBDX0xPT1BfV0lOKQogICAgIF9zYW5pdGl6ZVN0YWNrRm9yVk1JbXBsOgogICAg
ICAgICB0YWdSZXR1cm5BZGRyZXNzIHNwCiAgICAgICAgICMgV2UgbmVlZCB0aHJlZSBub24tYWxp
YXNlZCBjYWxsZXItc2F2ZSByZWdpc3RlcnMuIFdlIGFyZSBndWFyYW50ZWVkCi0gICAgICAgICMg
dGhpcyBmb3IgYTAsIGExIGFuZCBhMiBvbiBhbGwgYXJjaGl0ZWN0dXJlcy4KKyAgICAgICAgIyB0
aGlzIGZvciBhMCwgYTEgYW5kIGEyIG9uIGFsbCBhcmNoaXRlY3R1cmVzLiBCZXdhcmUgYWxzbyB0
aGF0CisgICAgICAgICMgb2ZmbGluZWFzbSBtaWdodCB1c2UgdGVtcG9yYXJ5IHJlZ2lzdGVycyB3
aGVuIGxvd2VyaW5nIGNvbXBsZXgKKyAgICAgICAgIyBpbnN0cnVjdGlvbnMgb24gc29tZSBwbGF0
Zm9ybXMsIHdoaWNoIG1pZ2h0IGJlIGNhbGxlZS1zYXZlLiBUbyBhdm9pZAorICAgICAgICAjIHRo
aXMsIHdlIHVzZSB0aGUgc2ltcGxlc3QgaW5zdHJ1Y3Rpb25zIHNvIHdlIG5ldmVyIG5lZWQgYSB0
ZW1wb3JhcnkKKyAgICAgICAgIyBhbmQgaGVuY2UgZG9uJ3QgY2xvYmJlciBhbnkgY2FsbGVlLXNh
dmUgcmVnaXN0ZXJzLgogICAgICAgICBpZiBYODYgb3IgWDg2X1dJTgogICAgICAgICAgICAgbG9h
ZHAgNFtzcF0sIGEwCiAgICAgICAgIGVuZAotICAgICAgICBjb25zdCB2bU9yU3RhcnRTUCA9IGEw
CiAgICAgICAgIGNvbnN0IGFkZHJlc3MgPSBhMQotICAgICAgICBjb25zdCB6ZXJvVmFsdWUgPSBh
MgotICAgIAotICAgICAgICBsb2FkcCBWTTo6bV9sYXN0U3RhY2tUb3Bbdm1PclN0YXJ0U1BdLCBh
ZGRyZXNzCi0gICAgICAgIG1vdmUgc3AsIHplcm9WYWx1ZQotICAgICAgICBzdG9yZXAgemVyb1Zh
bHVlLCBWTTo6bV9sYXN0U3RhY2tUb3Bbdm1PclN0YXJ0U1BdCi0gICAgICAgIG1vdmUgc3AsIHZt
T3JTdGFydFNQCisgICAgICAgIGNvbnN0IHNjcmF0Y2ggPSBhMgorCisgICAgICAgIG1vdmUgVk06
Om1fbGFzdFN0YWNrVG9wLCBzY3JhdGNoCisgICAgICAgIGFkZHAgc2NyYXRjaCwgYTAKKyAgICAg
ICAgbG9hZHAgW2EwXSwgYWRkcmVzcworICAgICAgICBtb3ZlIHNwLCBzY3JhdGNoCisgICAgICAg
IHN0b3JlcCBzY3JhdGNoLCBbYTBdCisgICAgICAgIG1vdmUgc3AsIGEwCiAKICAgICAgICAgYnBi
ZXEgc3AsIGFkZHJlc3MsIC56ZXJvRmlsbERvbmUKICAgICAgICAgbW92ZSBhZGRyZXNzLCBzcAog
Ci0gICAgICAgIG1vdmUgMCwgemVyb1ZhbHVlCisgICAgICAgIG1vdmUgMCwgc2NyYXRjaAogICAg
IC56ZXJvRmlsbExvb3A6Ci0gICAgICAgIHN0b3JlcCB6ZXJvVmFsdWUsIFthZGRyZXNzXQorICAg
ICAgICBzdG9yZXAgc2NyYXRjaCwgW2FkZHJlc3NdCiAgICAgICAgIGFkZHAgUHRyU2l6ZSwgYWRk
cmVzcwotICAgICAgICBicGEgdm1PclN0YXJ0U1AsIGFkZHJlc3MsIC56ZXJvRmlsbExvb3AKKyAg
ICAgICAgYnBhIGEwLCBhZGRyZXNzLCAuemVyb0ZpbGxMb29wCiAKICAgICAuemVyb0ZpbGxEb25l
OgotICAgICAgICBtb3ZlIHZtT3JTdGFydFNQLCBzcAorICAgICAgICBtb3ZlIGEwLCBzcAogICAg
ICAgICByZXQKLSAgICAKKwogICAgICMgVk1FbnRyeVJlY29yZCogdm1FbnRyeVJlY29yZChjb25z
dCBFbnRyeUZyYW1lKiBlbnRyeUZyYW1lKQogICAgIGdsb2JhbCBfdm1FbnRyeVJlY29yZAogICAg
IF92bUVudHJ5UmVjb3JkOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vYXJtLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtLnJiCmlu
ZGV4IDljNTQ4YTNjMmU4ZWUyMDVkNTQ3YTM1Y2EyOGQ1MTYyYzdlZjM2ZGEuLmQ0MzMwNWJhNDc5
M2Q0ZDZjN2JhZWRmNDg0YTQyNjQyYWU4ZTExZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL2FybS5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2Zm
bGluZWFzbS9hcm0ucmIKQEAgLTMxLDE1ICszMSwxNyBAQCByZXF1aXJlICJyaXNjIgogIwogIyAg
eDAgPT4gdDAsIGEwLCByMAogIyAgeDEgPT4gdDEsIGExLCByMQotIyAgeDIgPT4gdDIsIGEyLCBy
MgotIyAgeDMgPT4gdDMsIGEzLCByMwotIyAgeDYgPT4gICAgICAgICAgICAoY2FsbGVlLXNhdmUg
c2NyYXRjaCkKKyMgIHgyID0+IHQyLCBhMgorIyAgeDMgPT4gdDMsIGEzCisjICB4NCA9PiBzY3Jh
dGNoICAgICAgICAgICAgKGNhbGxlZS1zYXZlKQorIyAgeDUgPT4gdDUgICAgICAgICAgICAgICAg
IChjYWxsZWUtc2F2ZSkKKyMgIHg2ID0+IHNjcmF0Y2ggICAgICAgICAgICAoY2FsbGVlLXNhdmUp
CiAjICB4NyA9PiBjZnIKLSMgIHg4ID0+IHQ0ICAgICAgICAgKGNhbGxlZS1zYXZlKQotIyAgeDkg
PT4gdDUgICAgICAgICAoY2FsbGVlLXNhdmUpCi0jIHgxMCA9PiBjc3IxICAgICAgIChjYWxsZWUt
c2F2ZSwgUEIpCi0jIHgxMSA9PiBjZnIsIGNzcjAgIChjYWxsZWUtc2F2ZSwgbWV0YWRhdGFUYWJs
ZSkKLSMgeDEyID0+ICAgICAgICAgICAgKGNhbGxlZS1zYXZlIHNjcmF0Y2gpCisjICB4OCA9PiB0
NCAgICAgICAgICAgICAgICAgKGNhbGxlZS1zYXZlLCBQQykKKyMgIHg5ID0+IHQ2ICAgICAgICAg
ICAgICAgICAoY2FsbGVlLXNhdmUpCisjIHgxMCA9PiBjc3IwICAgICAgICAgICAgICAgKGNhbGxl
ZS1zYXZlLCBtZXRhZGF0YVRhYmxlKQorIyB4MTEgPT4gY3NyMSAgICAgICAgICAgICAgIChjYWxs
ZWUtc2F2ZSwgUEIpCisjIHgxMiA9PiB0NywgYWxzbyBzY3JhdGNoISAgKGNhbGxlZS1zYXZlKQog
IyAgbHIgPT4gbHIKICMgIHNwID0+IHNwCiAjICBwYyA9PiBwYwpAQCAtNjksNyArNzEsOCBAQCBj
bGFzcyBTcGVjaWFsUmVnaXN0ZXIKICAgICBlbmQKIGVuZAogCi1BUk1fRVhUUkFfR1BSUyA9IFtT
cGVjaWFsUmVnaXN0ZXIubmV3KCJyNiIpLCBTcGVjaWFsUmVnaXN0ZXIubmV3KCJyNCIpLCBTcGVj
aWFsUmVnaXN0ZXIubmV3KCJyMTIiKV0KKyMgVGhlc2UgYXJlIGFsbG9jYXRlZCBmcm9tIHRoZSB0
YWlsLCBzbyBwdXQgdGhlIGxvdyBvcmRlciByZWdpc3RlcnMgbGFzdCBmb3IgY29kZSBzaXplIGlt
cHJvdmVtZW50cworQVJNX0VYVFJBX0dQUlMgPSBbU3BlY2lhbFJlZ2lzdGVyLm5ldygicjEyIiks
IFNwZWNpYWxSZWdpc3Rlci5uZXcoInI2IiksIFNwZWNpYWxSZWdpc3Rlci5uZXcoInI0IildCiBB
Uk1fRVhUUkFfRlBSUyA9IFtTcGVjaWFsUmVnaXN0ZXIubmV3KCJkNyIpXQogQVJNX1NDUkFUQ0hf
RlBSID0gU3BlY2lhbFJlZ2lzdGVyLm5ldygiZDYiKQogT1NfREFSV0lOID0gKChSVUJZX1BMQVRG
T1JNID1+IC9kYXJ3aW4vaSkgIT0gbmlsKQpAQCAtOTksMjAgKzEwMiwyMiBAQCBjbGFzcyBSZWdp
c3RlcklECiAgICAgICAgICAgICAicjEiCiAgICAgICAgIHdoZW4gInQyIiwgImEyIgogICAgICAg
ICAgICAgInIyIgotICAgICAgICB3aGVuICJhMyIKKyAgICAgICAgd2hlbiAidDMiLCAiYTMiCiAg
ICAgICAgICAgICAicjMiCi0gICAgICAgIHdoZW4gInQzIgotICAgICAgICAgICAgInIzIgotICAg
ICAgICB3aGVuICJ0NCIKKyAgICAgICAgd2hlbiAidDQiICMgTExJbnQgUEMKICAgICAgICAgICAg
ICJyOCIKICAgICAgICAgd2hlbiAidDUiCisgICAgICAgICAgICAicjUiCisgICAgICAgIHdoZW4g
InQ2IgogICAgICAgICAgICAgInI5IgorICAgICAgICB3aGVuICJ0NyIKKyAgICAgICAgICAgICJy
MTIiICMgcjEyIGlzIGFsc28gYSBzY3JhdGNoIHJlZ2lzdGVyLCBzbyB1c2UgY2FyZWZ1bGx5IQog
ICAgICAgICB3aGVuICJjZnIiCiAgICAgICAgICAgICAicjciCiAgICAgICAgIHdoZW4gImNzcjAi
Ci0gICAgICAgICAgICAicjExIgotICAgICAgICB3aGVuICJjc3IxIgogICAgICAgICAgICAgInIx
MCIKKyAgICAgICAgd2hlbiAiY3NyMSIKKyAgICAgICAgICAgICJyMTEiCiAgICAgICAgIHdoZW4g
ImxyIgogICAgICAgICAgICAgImxyIgogICAgICAgICB3aGVuICJzcCIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455900</attachid>
            <date>2022-03-28 04:18:19 -0700</date>
            <delta_ts>2022-03-28 10:17:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235027-20220328121817.patch</filename>
            <type>text/plain</type>
            <size>41221</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
ZTFhZWQ1NDFlYzA0NTAzM2E2ZGM3Y2RjZTNkZGRhYTEwYWU5NTM0Li43YzE0OGE5MTk2ZjExNDg2
OTc1OTFlM2EzYTAwMTc5Mjk5Y2M4OGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAyMi0wMy0yOCAgR2V6YSBMb3JlICA8Z2xvcmVAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXVtBUk12N10gQ2xlYW51cCBHUFIgbnVtYmVyaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUwMjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIC0gTWFrZSB0aGUgdGhlIGxvd2VyIG9y
ZGVyIGNhbGxlZSBzYXZlIHJlZ2lzdGVyIGJlIHJlZ0NTMC9sbGludCBjc3IwLgorICAgICAgICBT
b21lIG9mIHRoZSBDU1Igc3RvcmUvcmVzdG9yZSBjb2RlIHJlbGllcyBvbiB0aGlzIGFuZCB1c2lu
ZyBhCisgICAgICAgIG51bWJlcmluZyBzY2hlbWUgY29uc2lzdGVudCB3aXRoIG90aGVyIHRhcmdl
dHMgKHRoYXQgaXM6IHJlZ0NTPE4+IG1hcHMKKyAgICAgICAgdG8gYSBsb3dlciBudW1iZXIgbWFj
aGluZSByZWdpc3RlciB0aGFuIHJlZ0NTPE4rMT4pIGVsaW1pbmF0ZXMgc29tZQorICAgICAgICBp
ZmRlZnMgaW4gTExJbnQsIGFuZCBob3BlZnVsbHkgd2lsbCBwcmV2ZW50IGhhcmQgdG8gZmluZCBp
c3N1ZXMgZHVlIHRvCisgICAgICAgIHRoZSBtaXNtYXRjaCBmcm9tIG90aGVyIHRhcmdldHMgdGhh
dCBhbGwgZm9sbG93IHRoaXMgcnVsZS4KKworICAgICAgICAtIEluIHRoZSBUaHVtYi0yIGluc3Ry
dWN0aW9uIHNldCwgdXNlIG9mIHIwLXI3IGNhbiBvZnRlbiBiZSBlbmNvZGVkCisgICAgICAgIHVz
aW5nIGEgc2hvcnRlciwgMTYtYml0IGluc3RydWN0aW9uLiBTd2FwIHJlZ1Q0L3JlZ1Q1IHdpdGgK
KyAgICAgICAgcmVnVDcvcmVnVDYsIHNvIGxvd2VyIG9yZGVyIHRlbXBvcmFyaWVzICh3aGljaCBh
cmUgdXN1YWxseSB1c2VkIGZpcnN0KQorICAgICAgICBtYXAgdG8gdGhlIGxvd2VyIG9yZGVyIHJl
Z2lzdGVycyB0aGF0IGNhbiB5aWVsZCBkZW5zZXIgY29kZS4gVGhpcworICAgICAgICB0aGVuIHNp
bXBsaWZpZXMgQmFzZWxpbmVKSVRSZWdpc3RlcnMuaCwgYW5kIGFsc28gc2F2ZXMgYWJvdXQgfjEl
IERGRworICAgICAgICBjb2RlIHNpemUuCisKKyAgICAgICAgLSBJbiBvZmZsaW5lYXNtLCBwcmVm
ZXIgbG93IG9yZGVyIHJlZ2lzdGVycyBmb3IgdGVtcG9yYXJpZXMuCisKKyAgICAgICAgLSBBbHNv
IGNsZWFuIHVwIGJhc2VsaW5lIGluc3RhbmNlb2Ygb3AgaW1wbGVtZW50YXRpb24uCisKKyAgICAg
ICAgKiBieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHA6CisgICAgICAgIChKU0M6OlN0cnVj
dHVyZVN0dWJJbmZvOjppbml0aWFsaXplRnJvbVVubGlua2VkU3RydWN0dXJlU3R1YkluZm8pOgor
ICAgICAgICAqIGppdC9CYXNlbGluZUpJVFJlZ2lzdGVycy5oOgorICAgICAgICAqIGppdC9HUFJJ
bmZvLmg6CisgICAgICAgIChKU0M6OkdQUkluZm86OnRvSW5kZXgpOgorICAgICAgICAoSlNDOjpQ
cmVmZXJyZWRBcmd1bWVudEltcGw6OnByZWZlcnJlZEFyZ3VtZW50SlNSKToKKyAgICAgICAgKiBq
aXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9m
KToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9pbnN0YW5jZW9mKToKKyAgICAgICAg
KiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
cHV0X2J5X3ZhbCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfcHV0X2J5X3ZhbCk6
CisgICAgICAgIChKU0M6OkpJVDo6c2xvd19vcF9wdXRfYnlfdmFsX2NhbGxTbG93T3BlcmF0aW9u
VGhlbkNoZWNrRXhjZXB0aW9uR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X3B1dF9wcml2YXRlX25hbWUpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX3B1dF9w
cml2YXRlX25hbWUpOgorICAgICAgICAoSlNDOjpKSVQ6OnNsb3dfb3BfcHV0X3ByaXZhdGVfbmFt
ZV9jYWxsU2xvd09wZXJhdGlvblRoZW5DaGVja0V4Y2VwdGlvbkdlbmVyYXRvcik6CisgICAgICAg
ICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206CisgICAgICAgICogb2ZmbGluZWFzbS9h
cm0ucmI6CisKIDIwMjItMDMtMjcgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgbm9uLXVuaWZpZWQgYnVpbGRmaXgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCmluZGV4IDcy
OTk0YTgyN2FmYmM2YmI2OTMxY2Y0ZDYxZjZjY2U5M2FiN2YxZmMuLjE2ODg1YWVkYWE0NzcxMjY4
ODFmZTNiYjVkMDAyZGU4OTE3NjM3NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcApAQCAtNTYyLDcgKzU2Miw3IEBAIHZv
aWQgU3RydWN0dXJlU3R1YkluZm86OmluaXRpYWxpemVGcm9tVW5saW5rZWRTdHJ1Y3R1cmVTdHVi
SW5mbyhDb2RlQmxvY2sqLCBVbmxpCiAgICAgICAgIGJhc2VHUFIgPSBCYXNlbGluZUpJVFJlZ2lz
dGVyczo6SW5zdGFuY2VvZjo6dmFsdWVKU1IucGF5bG9hZEdQUigpOwogICAgICAgICB2YWx1ZUdQ
UiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpyZXN1bHRKU1IucGF5bG9hZEdQ
UigpOwogICAgICAgICByZWdzLnByb3RvdHlwZUdQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJ
bnN0YW5jZW9mOjpwcm90b0pTUi5wYXlsb2FkR1BSKCk7Ci0gICAgICAgIG1fc3R1YkluZm9HUFIg
PSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6c3R1YkluZm9HUFI7CisgICAgICAg
IG1fc3R1YkluZm9HUFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6RmFzdFBh
dGg6OnN0dWJJbmZvR1BSOwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgICAgIGJhc2VUYWdH
UFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6dmFsdWVKU1IudGFnR1BSKCk7
CiAgICAgICAgIHZhbHVlVGFnR1BSID0gSW52YWxpZEdQUlJlZzsKQEAgLTYzOSw3ICs2MzksNyBA
QCB2b2lkIFN0cnVjdHVyZVN0dWJJbmZvOjppbml0aWFsaXplRnJvbVVubGlua2VkU3RydWN0dXJl
U3R1YkluZm8oQ29kZUJsb2NrKiwgVW5saQogICAgICAgICBiYXNlR1BSID0gQmFzZWxpbmVKSVRS
ZWdpc3RlcnM6OlB1dEJ5VmFsOjpiYXNlSlNSLnBheWxvYWRHUFIoKTsKICAgICAgICAgcmVncy5w
cm9wZXJ0eUdQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6cHJvcGVydHlKU1Iu
cGF5bG9hZEdQUigpOwogICAgICAgICB2YWx1ZUdQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQ
dXRCeVZhbDo6dmFsdWVKU1IucGF5bG9hZEdQUigpOwotICAgICAgICBtX3N0dWJJbmZvR1BSID0g
QmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9HUFI7Cisg
ICAgICAgIG1fc3R1YkluZm9HUFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnN0
dWJJbmZvR1BSOwogICAgICAgICBpZiAoYWNjZXNzVHlwZSA9PSBBY2Nlc3NUeXBlOjpQdXRCeVZh
bCkKICAgICAgICAgICAgIG1fYXJyYXlQcm9maWxlR1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6
OlB1dEJ5VmFsOjpwcm9maWxlR1BSOwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Jhc2VsaW5lSklUUmVnaXN0ZXJzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0Jhc2VsaW5lSklUUmVnaXN0ZXJzLmgKaW5kZXggZTJmNjRh
NzM0YjMwZDBiY2RmNjU3M2JjOTY0Y2E4NjJhMjVkMGIzNy4uNTAzMzFjM2VlMzUyNGE1NjJkNjU4
YzBkMjliNmMzNjVhYmNhMjUxYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9CYXNlbGluZUpJVFJlZ2lzdGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
QmFzZWxpbmVKSVRSZWdpc3RlcnMuaApAQCAtNTAsMjggKzUwLDMzIEBAIG5hbWVzcGFjZSBFbnRl
ciB7CiB9CiAKIG5hbWVzcGFjZSBJbnN0YW5jZW9mIHsKKyAgICB1c2luZyBTbG93T3BlcmF0aW9u
ID0gZGVjbHR5cGUob3BlcmF0aW9uSW5zdGFuY2VPZk9wdGltaXplKTsKKworICAgIC8vIFJlZ2lz
dGVycyB1c2VkIG9uIGJvdGggRmFzdCBhbmQgU2xvdyBwYXRocworICAgIGNvbnN0ZXhwciBKU1Zh
bHVlUmVncyByZXN1bHRKU1IgeyBKU1JJbmZvOjpyZXR1cm5WYWx1ZUpTUiB9OworICAgIGNvbnN0
ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IHByZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVy
YXRpb24sIDI+KCkgfTsKKyAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvdG9KU1IgeyBwcmVm
ZXJyZWRBcmd1bWVudEpTUjxTbG93T3BlcmF0aW9uLCAzPigpIH07CisKKyAgICAvLyBGYXN0IHBh
dGggb25seSByZWdpc3RlcnMKKyAgICBuYW1lc3BhY2UgRmFzdFBhdGggeworICAgICAgICBjb25z
dGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6YXJndW1lbnRHUFIxIH07CisgICAg
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDFHUFIgeyBHUFJJbmZvOjphcmd1bWVudEdQUjAg
fTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMkdQUiB7CiAjaWYgVVNFKEpTVkFM
VUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgR1BSSW5mbzo6cmVn
VDAgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgdmFsdWVKU1IgeyBHUFJJbmZvOjphcmd1
bWVudEdQUjIgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvdG9KU1IgeyBHUFJJbmZv
Ojphcmd1bWVudEdQUjMgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BS
SW5mbzo6YXJndW1lbnRHUFIxIH07Ci0gICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMUdQUiB7
IEdQUkluZm86Om5vbkFyZ0dQUjAgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gyR1BS
IHsgR1BSSW5mbzo6bm9uQXJnR1BSMSB9OworICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDQKICNl
bGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpT
UiB7IEpTUkluZm86OmpzUmVnVDEwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHZhbHVl
SlNSIHsKLSNpZiBDUFUoTUlQUykKLSAgICAgICAgR1BSSW5mbzo6YXJndW1lbnRHUFIzLCBHUFJJ
bmZvOjphcmd1bWVudEdQUjIKLSNlbHNlCi0gICAgICAgIEpTUkluZm86OmpzUmVnVDMyCisgICAg
ICAgICAgICBHUFJJbmZvOjpyZWdUNgogI2VuZGlmCi0gICAgfTsKLSAgICBjb25zdGV4cHIgSlNW
YWx1ZVJlZ3MgcHJvdG9KU1IgeyBKU1JJbmZvOjpqc1JlZ1Q1NCB9OwotICAgIGNvbnN0ZXhwciBH
UFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgIGNvbnN0ZXhwciBHUFJS
ZWcgc2NyYXRjaDFHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcg
c2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCi0gICAgc3RhdGljX2Fzc2Vy
dChub092ZXJsYXAodmFsdWVKU1IsIHByb3RvSlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaDFHUFIs
IHNjcmF0Y2gyR1BSKSk7CisgICAgICAgIH07CisgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVy
bGFwKHZhbHVlSlNSLCBwcm90b0pTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2gxR1BSLCBzY3JhdGNo
MkdQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CisgICAgfQorCisgICAgLy8gU2xvdyBwYXRo
IG9ubHkgcmVnaXN0ZXJzCisgICAgbmFtZXNwYWNlIFNsb3dQYXRoIHsKKyAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBwcmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3Bl
cmF0aW9uLCAwPigpIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBw
cmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAxPigpIH07CisgICAgICAgIHN0YXRp
Y19hc3NlcnQobm9PdmVybGFwKGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHZhbHVlSlNS
LCBwcm90b0pTUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBzbG93IG9wZXJhdGlvbiIpOworICAg
IH0KIH0KIAogbmFtZXNwYWNlIEpGYWxzZSB7CkBAIC0xMTcsMjggKzEyMiwxOCBAQCBuYW1lc3Bh
Y2UgR2V0QnlJZCB7CiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1l
c3BhY2UgRmFzdFBhdGggewotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIg
SlNWYWx1ZVJlZ3MgZG9udENsb2JiZXJKU1IgeyBHUFJJbmZvOjpyZWdUMyB9OwotI2VsaWYgVVNF
KEpTVkFMVUUzMl82NCkKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQ
UkluZm86OnJlZ1QyIH07CiAgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQ
UkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBkb250Q2xvYmJl
ckpTUiB7IEdQUkluZm86OnJlZ1Q2LCBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCisgICAgICAg
IGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBkb250Q2xvYmJlckpTUiB7IEpTUkluZm86OmpzUmVnVDU0
IH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHN0dWJJbmZvR1BS
LCBzY3JhdGNoR1BSLCBkb250Q2xvYmJlckpTUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAg
ICAgfQogCiAgICAgLy8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNs
b3dQYXRoIHsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJ
bmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BS
IHsgR1BSSW5mbzo6cmVnVDIgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9m
ZnNldEdQUiB7IGdsb2JhbE9iamVjdEdQUiB9OwogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0
dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAg
ICBjb25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSNlbGlm
IFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvcGVydHlHUFIg
eyBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVy
bGFwKGJhc2VKU1IsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQUiwgcHJvcGVydHlHUFIp
LCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAgICAgICAgIHN0YXRpY19hc3Nl
cnQobm9PdmVybGFwKGJhc2VKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHByb3Bl
cnR5R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7CiAgICAgfQpA
QCAtMTQ3LDM3ICsxNDIsMjggQEAgbmFtZXNwYWNlIEdldEJ5SWQgewogbmFtZXNwYWNlIEdldEJ5
SWRXaXRoVGhpcyB7CiAgICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93
IHBhdGhzCiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJl
dHVyblZhbHVlSlNSIH07Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1
ZVJlZ3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVS
ZWdzIHRoaXNKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkK
ICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEpTUkluZm86OmpzUmVnVDEwIH07
CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHRoaXNKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9
OwotI2VuZGlmCiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3Bh
Y2UgRmFzdFBhdGggewotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BS
UmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82
NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3
IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q2
IH07Ci0jZW5kaWYKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUklu
Zm86OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUklu
Zm86OnJlZ1Q1IH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHRo
aXNKU1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNoR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsK
ICAgICB9CiAKICAgICAvLyBTbG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2Ug
U2xvd1BhdGggewogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IEdQ
UkluZm86OnJlZ1Q0IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRH
UFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2Rl
T2Zmc2V0R1BSIHsgZ2xvYmFsT2JqZWN0R1BSIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
c3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNSB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHByb3BlcnR5R1BSIHsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BS
UmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQ
UlJlZyBwcm9wZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1QzIH07CisgICAgICAgICAgICBHUFJJbmZv
OjpyZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJl
ZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgcHJvcGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNyB9OworICAgICAgICAgICAgR1BSSW5mbzo6
cmVnVDYKICNlbmRpZgorICAgICAgICB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3Zlcmxh
cChiYXNlSlNSLCB0aGlzSlNSLCBieXRlY29kZU9mZnNldEdQUiwgc3R1YkluZm9HUFIsIHByb3Bl
cnR5R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENUSSB0aHVuayIpOwogICAgICAgICBzdGF0
aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB0aGlzSlNSLCBnbG9iYWxPYmplY3RHUFIsIHN0
dWJJbmZvR1BSLCBwcm9wZXJ0eUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBzbG93IG9wZXJh
dGlvbiIpOwogICAgIH0KQEAgLTE4NiwzNyArMTcyLDI4IEBAIG5hbWVzcGFjZSBHZXRCeUlkV2l0
aFRoaXMgewogbmFtZXNwYWNlIEdldEJ5VmFsIHsKICAgICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBi
b3RoIEZhc3QgYW5kIFNsb3cgcGF0aHMKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0
SlNSIHsgSlNSSW5mbzo6cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAg
IGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICBj
b25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotI2Vs
aWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7
IEpTUkluZm86OmpzUmVnVDEwIH07CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5
SlNSIHsgSlNSSW5mbzo6anNSZWdUMzIgfTsKLSNlbmRpZgogCiAgICAgLy8gRmFzdCBwYXRoIG9u
bHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIEZhc3RQYXRoIHsKLSNpZiBVU0UoSlNWQUxVRTY0
KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIg
fTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDMg
fTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1
YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNj
cmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNSB9OwogICAgICAgICBzdGF0aWNfYXNz
ZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hH
UFIpLCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOwogICAgIH0KIAogICAgIC8vIFNsb3cgcGF0aCBv
bmx5IHJlZ2lzdGVycwogICAgIG5hbWVzcGFjZSBTbG93UGF0aCB7CiAgICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSAgICAgICAgY29u
c3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAg
ICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIgeyBnbG9iYWxPYmplY3RHUFIg
fTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q1
IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7CiAjaWYgVVNFKEpTVkFM
VUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJl
Z1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7IEdQUkluZm86OnJl
Z1QzIH07CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82
NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q2
IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7IEdQUkluZm86OnJlZ1Q3
IH07CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNgogI2VuZGlmCisgICAgICAgIH07CiAgICAg
ICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNSLCBieXRlY29k
ZU9mZnNldEdQUiwgc3R1YkluZm9HUFIsIHByb2ZpbGVHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwg
dG8gQ1RJIHRodW5rIik7CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1Is
IHByb3BlcnR5SlNSLCBnbG9iYWxPYmplY3RHUFIsIHN0dWJJbmZvR1BSLCBwcm9maWxlR1BSKSwg
IlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7CiAgICAgfQpAQCAtMjI0LDk5
ICsyMDEsODYgQEAgbmFtZXNwYWNlIEdldEJ5VmFsIHsKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiBu
YW1lc3BhY2UgRW51bWVyYXRvckdldEJ5VmFsIHsKLSAgICBzdGF0aWMgY29uc3RleHByIEpTVmFs
dWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIg
SlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgIHN0YXRpYyBj
b25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICBz
dGF0aWMgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0g
ICAgLy8gV2UgcmVseSBvbiB0aGlzIHdoZW4gbGlua2luZyBhIENvZGVCbG9jayBhbmQgaW5pdGlh
bGl6aW5nIHJlZ2lzdGVycyBmb3IgYSBHZXRCeVZhbCBTdHViSW5mby4KLSAgICBzdGF0aWNfYXNz
ZXJ0KGJhc2VKU1IgPT0gR2V0QnlWYWw6OmJhc2VKU1IpOwotICAgIHN0YXRpY19hc3NlcnQocHJv
cGVydHlKU1IgPT0gR2V0QnlWYWw6OnByb3BlcnR5SlNSKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHJl
c3VsdEpTUiA9PSBHZXRCeVZhbDo6cmVzdWx0SlNSKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0dWJJ
bmZvR1BSID09IEdldEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9HUFIpOwotCi0gICAgc3RhdGlj
IGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDEgeyBHUFJJbmZvOjpyZWdUMyB9OwotICAgIHN0YXRp
YyBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gyIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAvLyBX
ZSByZWx5IG9uIHVzaW5nIHRoZSBzYW1lIHJlZ2lzdGVycyB3aGVuIGxpbmtpbmcgYSBDb2RlQmxv
Y2sgYW5kIGluaXRpYWxpemluZyByZWdpc3RlcnMKKyAgICAvLyBmb3IgYSBHZXRCeVZhbCBTdHVi
SW5mby4KKyAgICBzdGF0aWMgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHZXRCeVZh
bDo6YmFzZUpTUiB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlK
U1IgeyBHZXRCeVZhbDo6cHJvcGVydHlKU1IgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIEpTVmFs
dWVSZWdzIHJlc3VsdEpTUiB7IEdldEJ5VmFsOjpyZXN1bHRKU1IgfTsKKyAgICBzdGF0aWMgY29u
c3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdldEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9H
UFIgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMSB7IEdQUkluZm86OnJl
Z1QxIH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDIgeyBHUFJJbmZvOjpy
ZWdUMyB9OwogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gzIHsgR1BSSW5mbzo6
cmVnVDUgfTsKKyAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpT
Uiwgc3R1YkluZm9HUFIsIHNjcmF0Y2gxLCBzY3JhdGNoMiwgc2NyYXRjaDMpKTsKIH0KICNlbmRp
ZgogCiBuYW1lc3BhY2UgUHV0QnlJZCB7CiAgICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBG
YXN0IGFuZCBTbG93IHBhdGhzCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNW
YWx1ZVJlZ3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFs
dWVSZWdzIHZhbHVlSlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJf
NjQpCiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1Qx
MCB9OwogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEpTUkluZm86OmpzUmVn
VDMyIH07Ci0jZW5kaWYKIAogICAgIC8vIEZhc3QgcGF0aCBvbmx5IHJlZ2lzdGVycwogICAgIG5h
bWVzcGFjZSBGYXN0UGF0aCB7Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3RleHBy
IEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgc2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotI2VsaWYgVVNFKEpTVkFM
VUUzMl82NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86
OnJlZ1Q3IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86
OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDJHUFIgeyBiYXNlSlNS
LnRhZ0dQUigpIH07IC8vIFJldXNpbmcgcmVnVDEgZm9yIGJldHRlciBjb2RlIHNpemUgb24gQVJN
X1RIVU1CMgotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBH
UFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBH
UFJJbmZvOjpyZWdUNSB9OworICAgICAgICAvLyBGaW5lIHRvIHVzZSByZWdUMSwgd2hpY2ggYWxz
byB5aWVsZHMgYmV0dGVyIGNvZGUgc2l6ZSBvbiBBUk1fVEhVTUIyCisgICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgc2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpyZWdUMSB9OwogICAgICAgICBzdGF0aWNf
YXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB2YWx1ZUpTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hH
UFIpLCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3Zl
cmxhcChiYXNlSlNSLnBheWxvYWRHUFIoKSwgdmFsdWVKU1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNo
R1BSLCBzY3JhdGNoMkdQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAgfQogCiAgICAg
Ly8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQYXRoIHsKKyAg
ICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgewogI2lmIFVTRShKU1ZBTFVF
NjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6
cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQ
UkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBH
UFJJbmZvOjpyZWdUMyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsg
R1BSSW5mbzo6cmVnVDQgfTsKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QxCiAjZWxpZiBVU0Uo
SlNWQUxVRTMyXzY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7
IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZz
ZXRHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJ
bmZvR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9w
ZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNgog
I2VuZGlmCisgICAgICAgIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZz
ZXRHUFIgeyBnbG9iYWxPYmplY3RHUFIgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHVi
SW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJv
cGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNSB9OworCiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9P
dmVybGFwKGJhc2VKU1IsIHZhbHVlSlNSLCBieXRlY29kZU9mZnNldEdQUiwgc3R1YkluZm9HUFIs
IHByb3BlcnR5R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENUSSB0aHVuayIpOwogICAgICAg
ICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB2YWx1ZUpTUiwgZ2xvYmFsT2JqZWN0
R1BSLCBzdHViSW5mb0dQUiwgcHJvcGVydHlHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gc2xv
dyBvcGVyYXRpb24iKTsKICAgICB9CiB9CiAKIG5hbWVzcGFjZSBQdXRCeVZhbCB7Ci0gICAgLy8g
UmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93IHBhdGhzCisgICAgY29uc3RleHBy
IEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QxMCB9OworICAgIGNvbnN0ZXhw
ciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEpTUkluZm86OmpzUmVnVDMyIH07CisgICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgSlNSSW5mbzo6anNSZWdUNTQgfTsKKyAgICBj
b25zdGV4cHIgR1BSUmVnIHByb2ZpbGVHUFIgewogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotICAgIGNvbnN0
ZXhwciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0gICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICBjb25z
dGV4cHIgR1BSUmVnIHByb2ZpbGVHUFIgeyBHUFJJbmZvOjpyZWdUMyB9OworICAgICAgICBHUFJJ
bmZvOjpyZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1
ZVJlZ3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCB9OwotICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QzLCBHUFJJbmZv
OjpyZWdUMiB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEdQUkluZm86
OnJlZ1Q2LCBHUFJJbmZvOjpyZWdUNyB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQ
UiB7IEdQUkluZm86OnJlZ1Q1IH07CisgICAgICAgIEdQUkluZm86OnJlZ1Q2CiAjZW5kaWYKKyAg
ICB9OworICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeworI2lmIFVTRShKU1ZBTFVF
NjQpCisgICAgICAgIEdQUkluZm86OnJlZ1QzCisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAg
ICAgICBHUFJJbmZvOjpyZWdUNworI2VuZGlmCisgICAgfTsKIAotICAgIC8vIEZhc3QgcGF0aCBv
bmx5IHJlZ2lzdGVycwotICAgIG5hbWVzcGFjZSBGYXN0UGF0aCB7Ci0gICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotICAgICAgICBzdGF0aWNf
YXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwgdmFsdWVKU1IsIHByb2ZpbGVH
UFIsIHN0dWJJbmZvR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKLSAgICB9CisgICAgc3Rh
dGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHZhbHVlSlNSLCBwcm9m
aWxlR1BSLCBzdHViSW5mb0dQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAKICAgICAvLyBT
bG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xvd1BhdGggewogICAgICAg
ICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7CiAjaWYgVVNFKEpTVkFMVUU2NCkK
LSAgICAgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNQorICAgICAgICAgICAgR1BSSW5mbzo6cmVn
VDUKICNlbGlmIENQVShBUk1fVEhVTUIyKQotICAgICAgICAgICAgICAgIC8vIFdlIGFyZSBhIGJp
dCBzaG9ydCBvbiByZWdpc3RlcnMgb24gQVJNX1RIVU1CMiwgYnV0IHdlIGNhbiBqdXN0IGFib3V0
IGdldCBhd2F5IHdpdGggdGhpcwotICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQVJNdjc6
OnNfc2NyYXRjaFJlZ2lzdGVyCisgICAgICAgICAgICAvLyBXZSBhcmUgYSBiaXQgc2hvcnQgb24g
cmVnaXN0ZXJzIG9uIEFSTV9USFVNQjIsIGJ1dCB3ZSBjYW4ganVzdCBhYm91dCBnZXQgYXdheSB3
aXRoIHRoaXMKKyAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQVJNdjc6OnNfc2NyYXRjaFJlZ2lz
dGVyCiAjZWxzZSAvLyBPdGhlciBKU1ZBTFVFMzJfNjQKLSAgICAgICAgICAgICAgICBHUFJJbmZv
OjpyZWdUOAorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDgKICNlbmRpZgogICAgICAgICB9Owog
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgZ2xvYmFsT2JqZWN0
R1BSIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpy
ZWdUNCB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0
eUpTUiwgdmFsdWVKU1IsIHByb2ZpbGVHUFIsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQ
UiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fz
c2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHZhbHVlSlNSLCBwcm9maWxlR1BS
LCBnbG9iYWxPYmplY3RHUFIsIHN0dWJJbmZvR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNs
b3cgb3BlcmF0aW9uIik7CiAgICAgfQpAQCAtMzMxLDU1ICsyOTUsMzMgQEAgbmFtZXNwYWNlIElu
QnlJZCB7CiAKIG5hbWVzcGFjZSBJbkJ5VmFsIHsKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3Mg
cmVzdWx0SlNSIHsgSlNSSW5mbzo6cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0
KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsK
LSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9
OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9Owot
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0jZWxp
ZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsg
R1BSSW5mbzo6cmVnVDEsIEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVS
ZWdzIHByb3BlcnR5SlNSIHsgR1BSSW5mbzo6cmVnVDMsIEdQUkluZm86OnJlZ1QyIH07Ci0gICAg
Y29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3IH07Ci0gICAgY29u
c3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsKLSNlbmRpZgorICAg
IGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKKyAg
ICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9
OworICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9Owor
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q1IH07CiAgICAg
c3RhdGljX2Fzc2VydChiYXNlSlNSID09IEdldEJ5VmFsOjpiYXNlSlNSKTsKICAgICBzdGF0aWNf
YXNzZXJ0KHByb3BlcnR5SlNSID09IEdldEJ5VmFsOjpwcm9wZXJ0eUpTUik7CiB9CiAKIG5hbWVz
cGFjZSBEZWxCeUlkIHsKICAgICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBib3RoIEZhc3QgYW5kIFNs
b3cgcGF0aHMKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBi
YXNlSlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAg
Y29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9OwotI2Vu
ZGlmCiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgRmFz
dFBhdGggewogICAgICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgSlNSSW5m
bzo6cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4
cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSNlbGlmIFVTRShKU1ZB
TFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZv
OjpyZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZv
OjpyZWdUNiB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIg
eyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIg
eyBHUFJJbmZvOjpyZWdUNSB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNl
SlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaEdQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAg
ICAgfQogCiAgICAgLy8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNs
b3dQYXRoIHsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJ
bmZvOjpyZWdUMCB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BS
IHsgR1BSSW5mbzo6cmVnVDAgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4
cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBwcm9wZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0
ZXhwciBHUFJSZWcgZWNtYU1vZGVHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotI2VsaWYgVVNFKEpT
VkFMVUUzMl82NCkKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7
IGdsb2JhbE9iamVjdEdQUiB9OwogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BS
IHsgR1BSSW5mbzo6cmVnVDEgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9wZXJ0eUdQ
UiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZWNtYU1vZGVH
UFIgeyBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
cHJvcGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IGVjbWFNb2RlR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsKICAgICAgICAgc3RhdGljX2Fzc2VydChu
b092ZXJsYXAoYmFzZUpTUiwgYnl0ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBwcm9wZXJ0
eUdQUiwgZWNtYU1vZGVHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAg
ICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIGdsb2JhbE9iamVjdEdQUiwg
c3R1YkluZm9HUFIsIHByb3BlcnR5R1BSLCBlY21hTW9kZUdQUiksICJSZXF1aXJlZCBmb3IgY2Fs
bCB0byBzbG93IG9wZXJhdGlvbiIpOwogICAgIH0KQEAgLTM4Nyw0MCArMzI5LDI5IEBAIG5hbWVz
cGFjZSBEZWxCeUlkIHsKIAogbmFtZXNwYWNlIERlbEJ5VmFsIHsKICAgICAvLyBSZWdpc3RlcnMg
dXNlZCBvbiBib3RoIEZhc3QgYW5kIFNsb3cgcGF0aHMKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAg
IGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSAgICBj
b25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotI2Vs
aWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7
IEpTUkluZm86OmpzUmVnVDMyIH07CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5
SlNSIHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKLSNlbmRpZgogCiAgICAgLy8gRmFzdCBwYXRoIG9u
bHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIEZhc3RQYXRoIHsKICAgICAgICAgY29uc3RleHBy
IEpTVmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJldHVyblZhbHVlSlNSIH07Ci0jaWYg
VVNFKEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQ
UkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQ
UkluZm86OnJlZ1QyIH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgICAgICBjb25zdGV4
cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsKLSNlbmRpZgorICAgICAg
ICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAg
ICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsKICAgICAg
ICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHN0dWJJbmZv
R1BSLCBzY3JhdGNoR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKICAgICB9CiAKICAgICAv
LyBTbG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xvd1BhdGggewotI2lm
IFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BS
IHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9m
ZnNldEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1
YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGVj
bWFNb2RlR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAg
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6cmVnVDQg
fTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUkluZm86
OnJlZ1Q0IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZv
OjpyZWdUNiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGVjbWFNb2RlR1BSIHsgR1BSSW5m
bzo6cmVnVDcgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7
IGdsb2JhbE9iamVjdEdQUiB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BS
IHsgR1BSSW5mbzo6cmVnVDUgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBlY21hTW9kZUdQ
UiB7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QxCisjZWxp
ZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDYKICNlbmRpZgor
ICAgICAgICB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9w
ZXJ0eUpTUiwgYnl0ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBlY21hTW9kZUdQUiksICJS
ZXF1aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fzc2VydChu
b092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9H
UFIsIGVjbWFNb2RlR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7
CiAgICAgfQpAQCAtNDMxLDExICszNjIsNyBAQCBuYW1lc3BhY2UgUHJpdmF0ZUJyYW5kIHsKICAg
ICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYnJhbmRKU1IgeyBHZXRCeVZhbDo6cHJvcGVydHlKU1Ig
fTsgLy8gUmVxdWlyZWQgYnkgc2hhcmVkIHNsb3cgcGF0aCB0aHVuawogCiAgICAgbmFtZXNwYWNl
IEZhc3RQYXRoIHsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQp
Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNyB9
OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHZXRCeVZh
bDo6RmFzdFBhdGg6OnN0dWJJbmZvR1BSIH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVy
bGFwKGJhc2VKU1IsIGJyYW5kSlNSLCBzdHViSW5mb0dQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlD
Iik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUklu
Zm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCmluZGV4IGYxOTAyZDI1
MDA2YThkYzY0MTZhMjQ5ZDM1ZjA3YTY4YjdlZjkyY2QuLjFlYjA1YWY0MWVmNWE1YWQ1ODQ0ZDFm
NmE0Y2I2ZWFiNTkyM2Q3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
R1BSSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCkBAIC01
NjYsMTIgKzU2NiwxMiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVn
VDEgPSBBUk1SZWdpc3RlcnM6OnIxOwogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Qy
ID0gQVJNUmVnaXN0ZXJzOjpyMjsKICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUMyA9
IEFSTVJlZ2lzdGVyczo6cjM7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDQgPSBB
Uk1SZWdpc3RlcnM6OnI4OwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q1ID0gQVJN
UmVnaXN0ZXJzOjpyOTsKLSAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUNiA9IEFSTVJl
Z2lzdGVyczo6cjU7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDcgPSBBUk1SZWdp
c3RlcnM6OnI0OwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ0NTMCA9IEFSTVJlZ2lz
dGVyczo6cjExOwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ0NTMSA9IEFSTVJlZ2lz
dGVyczo6cjEwOworICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q0ID0gQVJNUmVnaXN0
ZXJzOjpyNDsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUNSA9IEFSTVJlZ2lzdGVy
czo6cjU7CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDYgPSBBUk1SZWdpc3RlcnM6
OnI4OworICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q3ID0gQVJNUmVnaXN0ZXJzOjpy
OTsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdDUzAgPSBBUk1SZWdpc3RlcnM6OnIx
MDsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdDUzEgPSBBUk1SZWdpc3RlcnM6OnIx
MTsKICAgICAvLyBUaGVzZSByZWdpc3RlcnMgbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVC4KICAgICBz
dGF0aWMgY29uc3RleHByIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6
ZnA7CiAgICAgLy8gVGhlc2UgY29uc3RhbnRzIHByb3ZpZGUgdGhlIG5hbWVzIGZvciB0aGUgZ2Vu
ZXJhbCBwdXJwb3NlIGFyZ3VtZW50ICYgcmV0dXJuIHZhbHVlIHJlZ2lzdGVycy4KQEAgLTU3OSw3
ICs1NzksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgYXJndW1lbnRH
UFIxID0gQVJNUmVnaXN0ZXJzOjpyMTsgLy8gcmVnVDEKICAgICBzdGF0aWMgY29uc3RleHByIEdQ
UlJlZyBhcmd1bWVudEdQUjIgPSBBUk1SZWdpc3RlcnM6OnIyOyAvLyByZWdUMgogICAgIHN0YXRp
YyBjb25zdGV4cHIgR1BSUmVnIGFyZ3VtZW50R1BSMyA9IEFSTVJlZ2lzdGVyczo6cjM7IC8vIHJl
Z1QzCi0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uQXJnR1BSMCA9IEFSTVJlZ2lzdGVy
czo6cjQ7IC8vIHJlZ1Q3CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uQXJnR1BSMCA9
IEFSTVJlZ2lzdGVyczo6cjQ7IC8vIHJlZ1Q0CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcg
cmV0dXJuVmFsdWVHUFIgPSBBUk1SZWdpc3RlcnM6OnIwOyAvLyByZWdUMAogICAgIHN0YXRpYyBj
b25zdGV4cHIgR1BSUmVnIHJldHVyblZhbHVlR1BSMiA9IEFSTVJlZ2lzdGVyczo6cjE7IC8vIHJl
Z1QxCiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uUHJlc2VydmVkTm9uUmV0dXJuR1BS
ID0gQVJNUmVnaXN0ZXJzOjpyNTsKQEAgLTYwMyw3ICs2MDMsNyBAQCBwdWJsaWM6CiAgICAgICAg
IEFTU0VSVChyZWcgIT0gSW52YWxpZEdQUlJlZyk7CiAgICAgICAgIEFTU0VSVChzdGF0aWNfY2Fz
dDxpbnQ+KHJlZykgPCAxNik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmRleEZv
clJlZ2lzdGVyWzE2XSA9Ci0gICAgICAgICAgICB7IDAsIDEsIDIsIDMsIDcsIDYsIEludmFsaWRJ
bmRleCwgSW52YWxpZEluZGV4LCA0LCA1LCA5LCA4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAgICAgICAgICAgIHsgMCwgMSwgMiwg
MywgNCwgNSwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDYsIDcsIDgsIDksIEludmFsaWRJ
bmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OwogICAgICAg
ICB1bnNpZ25lZCByZXN1bHQgPSBpbmRleEZvclJlZ2lzdGVyW3JlZ107CiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAgICAgfQpAQCAtMTEzNiw4ICsxMTM2LDggQEAgcHVibGljOgogICAgICAgICAv
LyB0aGUgbGluayByZWdpc3RlciBhcyBhIHRlbXBvcmFyeS4KICAgICAgICAgcmV0dXJuIHBpY2tK
U1I8T3BlcmF0aW9uVHlwZSwgQXJnTnVtPigKICAgICAgICAgICAgIEdQUkluZm86OmFyZ3VtZW50
R1BSMCwgR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJbmZvOjphcmd1bWVudEdQUjIsCi0gICAg
ICAgICAgICBHUFJJbmZvOjphcmd1bWVudEdQUjMsIEdQUkluZm86OnJlZ1Q3LCAgICAgICAgR1BS
SW5mbzo6cmVnVDYsCi0gICAgICAgICAgICBHUFJJbmZvOjpyZWdUNCwgICAgICAgIEdQUkluZm86
OnJlZ1Q1LCAgICAgICAgQVJNUmVnaXN0ZXJzOjpscik7CisgICAgICAgICAgICBHUFJJbmZvOjph
cmd1bWVudEdQUjMsIEdQUkluZm86OnJlZ1Q0LCAgICAgICAgR1BSSW5mbzo6cmVnVDUsCisgICAg
ICAgICAgICBHUFJJbmZvOjpyZWdUNiwgICAgICAgIEdQUkluZm86OnJlZ1Q3LCAgICAgICAgQVJN
UmVnaXN0ZXJzOjpscik7CiAjZWxpZiBDUFUoTUlQUykKICAgICAgICAgcmV0dXJuIHBpY2tKU1I8
T3BlcmF0aW9uVHlwZSwgQXJnTnVtPigKICAgICAgICAgICAgIEdQUkluZm86OmFyZ3VtZW50R1BS
MCwgR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJbmZvOjphcmd1bWVudEdQUjIsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCA1Yjg1YzdhYzUxN2E3MDJkY2Zk
N2E2MmVkZjA5MjExYTNkNWQzMzNlLi4xYzJjOGEwZDYxZTZlMjc4OWJkYmY5ODI2NjE2MDM2MWJk
YTNhN2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTE1
Niw5ICsxNTYsOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKGNvbnN0IEpTSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVy
czo6SW5zdGFuY2VvZjo6cmVzdWx0SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJz
OjpJbnN0YW5jZW9mOjp2YWx1ZUpTUjsKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6
SW5zdGFuY2VvZjo6cHJvdG9KU1I7Ci0gICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Oklu
c3RhbmNlb2Y6OnN0dWJJbmZvR1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJ
bnN0YW5jZW9mOjpzY3JhdGNoMUdQUjsKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6
SW5zdGFuY2VvZjo6c2NyYXRjaDJHUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6
Okluc3RhbmNlb2Y6OkZhc3RQYXRoOjpzdHViSW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJ
VFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6RmFzdFBhdGg6OnNjcmF0Y2gxR1BSOworICAgIHVzaW5n
IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpGYXN0UGF0aDo6c2NyYXRjaDJHUFI7
CiAKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHZhbHVlLCB2YWx1ZUpTUik7CiAgICAgZW1p
dEdldFZpcnR1YWxSZWdpc3Rlcihwcm90bywgcHJvdG9KU1IpOwpAQCAtMTg5LDM2ICsxODksMjkg
QEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24pCiAgICAgYWRkU2xvd0Nhc2UoKTsKICAgICBtX2luc3RhbmNlT2ZzLmFw
cGVuZChnZW4pOwogCisgICAgc2V0RmFzdFBhdGhSZXN1bWVQb2ludCgpOwogICAgIGVtaXRQdXRW
aXJ0dWFsUmVnaXN0ZXIoZHN0LCByZXN1bHRKU1IpOwogfQogCi12b2lkIEpJVDo6ZW1pdFNsb3df
b3BfaW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZl
Y3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImIGl0ZXIpCit2b2lkIEpJVDo6ZW1pdFNsb3df
b3BfaW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+
OjppdGVyYXRvciYgaXRlcikKIHsKICAgICBsaW5rQWxsU2xvd0Nhc2VzKGl0ZXIpOwogCi0gICAg
YXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BJbnN0YW5jZW9mPigpOwot
ICAgIFZpcnR1YWxSZWdpc3RlciByZXN1bHRWUmVnID0gYnl0ZWNvZGUubV9kc3Q7Ci0gICAgCiAg
ICAgSklUSW5zdGFuY2VPZkdlbmVyYXRvciYgZ2VuID0gbV9pbnN0YW5jZU9mc1ttX2luc3RhbmNl
T2ZJbmRleCsrXTsKLSAgICAKKwogICAgIExhYmVsIGNvbGRQYXRoQmVnaW4gPSBsYWJlbCgpOwog
Ci0gICAgdXNpbmcgU2xvd09wZXJhdGlvbiA9IGRlY2x0eXBlKG9wZXJhdGlvbkluc3RhbmNlT2ZP
cHRpbWl6ZSk7Ci0gICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgPSBwcmVmZXJy
ZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAwPigpOwotICAgIGNvbnN0ZXhwciBHUFJSZWcg
c3R1YkluZm9HUFIgPSBwcmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAxPigpOwog
ICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjp2YWx1ZUpTUjsKLSAg
ICBzdGF0aWNfYXNzZXJ0KHZhbHVlSlNSID09IHByZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVy
YXRpb24sIDI+KCkpOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9m
Ojpwcm90b0pTUjsKLSAgICAvLyBPbiBKU1ZBTFVFMzJfNjQsICdwcm90bycgd2lsbCBiZSBwYXNz
ZWQgb24gc3RhY2sgYW55d2F5Ci0gICAgc3RhdGljX2Fzc2VydChwcm90b0pTUiA9PSBwcmVmZXJy
ZWRBcmd1bWVudEpTUjxTbG93T3BlcmF0aW9uLCAzPigpIHx8IGlzMzJCaXQoKSk7Ci0gICAgc3Rh
dGljX2Fzc2VydChub092ZXJsYXAoZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQUiwgdmFsdWVK
U1IsIHByb3RvSlNSKSk7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNl
b2Y6OlNsb3dQYXRoOjpnbG9iYWxPYmplY3RHUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdp
c3RlcnM6Okluc3RhbmNlb2Y6OlNsb3dQYXRoOjpzdHViSW5mb0dQUjsKIAogICAgIGxvYWRHbG9i
YWxPYmplY3QoZ2xvYmFsT2JqZWN0R1BSKTsKICAgICBsb2FkQ29uc3RhbnQoZ2VuLm1fdW5saW5r
ZWRTdHViSW5mb0NvbnN0YW50SW5kZXgsIHN0dWJJbmZvR1BSKTsKLSAgICBjYWxsT3BlcmF0aW9u
PFNsb3dPcGVyYXRpb24+KAorICAgIGNhbGxPcGVyYXRpb248ZGVjbHR5cGUob3BlcmF0aW9uSW5z
dGFuY2VPZk9wdGltaXplKT4oCiAgICAgICAgIEFkZHJlc3Moc3R1YkluZm9HUFIsIFN0cnVjdHVy
ZVN0dWJJbmZvOjpvZmZzZXRPZlNsb3dPcGVyYXRpb24oKSksCi0gICAgICAgIHJlc3VsdFZSZWcs
CiAgICAgICAgIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHZhbHVlSlNSLCBwcm90b0pT
Uik7CisgICAgc3RhdGljX2Fzc2VydChCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6
cmVzdWx0SlNSID09IHJldHVyblZhbHVlSlNSKTsKICAgICBnZW4ucmVwb3J0U2xvd1BhdGhDYWxs
KGNvbGRQYXRoQmVnaW4sIENhbGwoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKaW5kZXggYzhiOGIwYmYzZGUxZjNjZmI3YmRkOWIw
MWMyN2E0NzY3OTk5MzdmOC4uZjkxMjEzN2M3NmNlNWUwNDc2MWFhMDMwNzA5YjVjMDRlOTk3MDE4
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vz
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5j
cHAKQEAgLTM4MSw3ICszODEsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfdmFsKGNvbnN0
IEpTSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICB1c2luZyBCYXNlbGluZUpJ
VFJlZ2lzdGVyczo6UHV0QnlWYWw6OnByb3BlcnR5SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklU
UmVnaXN0ZXJzOjpQdXRCeVZhbDo6dmFsdWVKU1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdp
c3RlcnM6OlB1dEJ5VmFsOjpwcm9maWxlR1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0
ZXJzOjpQdXRCeVZhbDo6RmFzdFBhdGg6OnN0dWJJbmZvR1BSOworICAgIHVzaW5nIEJhc2VsaW5l
SklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9HUFI7CiAKICAgICBlbWl0R2V0VmlydHVh
bFJlZ2lzdGVyKGJhc2UsIGJhc2VKU1IpOwogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIocHJv
cGVydHksIHByb3BlcnR5SlNSKTsKQEAgLTQzMCw3ICs0MzAsNyBAQCB2b2lkIEpJVDo6ZW1pdFNs
b3dfb3BfcHV0X2J5X3ZhbChjb25zdCBKU0luc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50
cnk+OjppdAogICAgIEFTU0VSVChCeXRlY29kZUluZGV4KGJ5dGVjb2RlT2Zmc2V0KSA9PSBtX2J5
dGVjb2RlSW5kZXgpOwogICAgIEpJVFB1dEJ5VmFsR2VuZXJhdG9yJiBnZW4gPSBtX3B1dEJ5VmFs
c1ttX3B1dEJ5VmFsSW5kZXgrK107CiAKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6
UHV0QnlWYWw6OlNsb3dQYXRoOjpzdHViSW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJl
Z2lzdGVyczo6UHV0QnlWYWw6OnN0dWJJbmZvR1BSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVn
aXN0ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwogCiAgICAgTGFi
ZWwgY29sZFBhdGhCZWdpbiA9IGxhYmVsKCk7CkBAIC00NTgsOSArNDU4LDkgQEAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFnPiBKSVQ6OnNsb3dfb3BfcHV0X2J5X3ZhbF9jYWxs
U2xvd09wZXJhdGlvblQKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6
OnByb3BlcnR5SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6
dmFsdWVKU1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9m
aWxlR1BSOworICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1Yklu
Zm9HUFI7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93UGF0
aDo6Z2xvYmFsT2JqZWN0R1BSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRC
eVZhbDo6U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklU
UmVnaXN0ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OnN0dWJJbmZvR1BSOwogCiAgICAgaml0LmVt
aXRDVElUaHVua1Byb2xvZ3VlKCk7CiAKQEAgLTQ5Myw3ICs0OTMsNyBAQCB2b2lkIEpJVDo6ZW1p
dF9vcF9wdXRfcHJpdmF0ZV9uYW1lKGNvbnN0IEpTSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OmJhc2VKU1I7
CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9wZXJ0eUpTUjsK
ICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnZhbHVlSlNSOwotICAg
IHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6RmFzdFBhdGg6OnN0dWJJbmZv
R1BSOworICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9H
UFI7CiAKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGJhc2UsIGJhc2VKU1IpOwogICAgIGVt
aXRHZXRWaXJ0dWFsUmVnaXN0ZXIocHJvcGVydHksIHByb3BlcnR5SlNSKTsKQEAgLTUyOSw3ICs1
MjksNyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfcHV0X3ByaXZhdGVfbmFtZShjb25zdCBKU0lu
c3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cgogICAgIEpJVFB1dEJ5VmFsR2VuZXJhdG9y
JiBnZW4gPSBtX3B1dEJ5VmFsc1ttX3B1dEJ5VmFsSW5kZXgrK107CiAKICAgICB1c2luZyBCYXNl
bGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpieXRlY29kZU9mZnNldEdQUjsK
LSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpzdHVi
SW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnN0dWJJ
bmZvR1BSOwogCiAgICAgTGFiZWwgY29sZFBhdGhCZWdpbiA9IGxhYmVsKCk7CiAgICAgbGlua0Fs
bFNsb3dDYXNlcyhpdGVyKTsKQEAgLTU1Niw5ICs1NTYsOSBAQCBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWY8SklUVGh1bmtQdHJUYWc+IEpJVDo6c2xvd19vcF9wdXRfcHJpdmF0ZV9uYW1lX2NhbGxTbG93
T3BlcgogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6cHJvcGVydHlK
U1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjp2YWx1ZUpTUjsK
ICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnByb2ZpbGVHUFI7Cisg
ICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpzdHViSW5mb0dQUjsKICAg
ICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpnbG9iYWxP
YmplY3RHUFI7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93
UGF0aDo6Ynl0ZWNvZGVPZmZzZXRHUFI7Ci0gICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6
OlB1dEJ5VmFsOjpTbG93UGF0aDo6c3R1YkluZm9HUFI7CiAKICAgICBqaXQuZW1pdENUSVRodW5r
UHJvbG9ndWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50RGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5oCmluZGV4
IGMwMzMzZDM0MmIwOWIwMzA0MDEwZjQ0NjI4NDNmYzA4OTQ4MjllZTQuLjI2OWFjODZhMjY4ZGJm
N2M4OWU0MzU1NWY2OGM2OGEyZWVmMjUwMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludERhdGEuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnREYXRhLmgKQEAgLTM5MSw3ICszOTEsMTEgQEAgQUxXQVlTX0lOTElORSB2b2lkKiBnZXRX
aWRlMzJDb2RlUHRyKE9wY29kZUlEIGlkKQogCiAjaWYgRU5BQkxFKEpJVCkKIHN0cnVjdCBSZWdp
c3RlcnMgeworI2lmIENQVShBUk1fVEhVTUIyKQorICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVn
IHBjR1BSID0gQVJNUmVnaXN0ZXJzOjpyODsKKyNlbHNlCiAgICAgc3RhdGljIGNvbnN0ZXhwciBH
UFJSZWcgcGNHUFIgPSBHUFJJbmZvOjpyZWdUNDsKKyNlbmRpZgogCiAjaWYgQ1BVKFg4Nl82NCkg
JiYgIU9TKFdJTkRPV1MpCiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbWV0YWRhdGFUYWJs
ZUdQUiA9IEdQUkluZm86OnJlZ0NTMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCBhOGU3YzczOTlkNTgxYTU5NjBkMGFh
N2FhNzI0MzM1ZGIwMzU0Yzc1Li4zZTJjNmRmNjBhNDc4Y2ExMDlhYWRhOGMzM2Q2MGM5OTRiNWQz
YzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtCkBAIC0zMDIsMTAgKzMwMiw3IEBAIGVsc2UKICAgICBpZiBDX0xPT1Agb3Ig
Q19MT09QX1dJTgogICAgICAgICBjb25zdCBQQiA9IGNzcjAKICAgICAgICAgY29uc3QgbWV0YWRh
dGFUYWJsZSA9IGNzcjMKLSAgICBlbHNpZiBBUk12NwotICAgICAgICBjb25zdCBtZXRhZGF0YVRh
YmxlID0gY3NyMAotICAgICAgICBjb25zdCBQQiA9IGNzcjEKLSAgICBlbHNpZiBNSVBTCisgICAg
ZWxzaWYgQVJNdjcgb3IgTUlQUwogICAgICAgICBjb25zdCBtZXRhZGF0YVRhYmxlID0gY3NyMAog
ICAgICAgICBjb25zdCBQQiA9IGNzcjEKICAgICBlbHNlCkBAIC04NDIsMTggKzgzOSw3IEBAIG1h
Y3JvIHByZXNlcnZlQ2FsbGVlU2F2ZXNVc2VkQnlMTEludCgpCiAgICAgc3VicCBDYWxsZWVTYXZl
U3BhY2VTdGFja0FsaWduZWQsIHNwCiAgICAgaWYgQ19MT09QIG9yIENfTE9PUF9XSU4KICAgICAg
ICAgc3RvcmVwIG1ldGFkYXRhVGFibGUsIC1QdHJTaXplW2Nmcl0KLQotICAgICMgTmV4dCBBUk12
NyBhbmQgTUlQUyBkaWZmZXIgaW4gaG93IHdlIHN0b3JlIG1ldGFkYXRhVGFibGUgYW5kIFBCLAot
ICAgICMgYmVjYXVzZSB0aGlzIGNvZGVzIG5lZWRzIHRvIGJlIGluIHN5bmMgd2l0aCBob3cgcmVn
aXN0ZXJzIGFyZQotICAgICMgcmVzdG9yZWQgaW4gQmFzZWxpbmUgSklUIChzcGVjaWZpY2FsbHkg
aW4gZW1pdFJlc3RvcmVDYWxsZWVTYXZlc0ZvcikuCi0gICAgIyBlbWl0UmVzdG9yZUNhbGxlZVNh
dmVzRm9yIHJlc3RvcmVzIHJlZ2lzdGVycyBpbiBvcmRlciBpbnN0ZWFkIG9mIGJ5IG5hbWUuCi0g
ICAgIyBIb3dldmVyLCBBUk12NyBhbmQgTUlQUyBkaWZmZXIgaW4gdGhlIG9yZGVyIGluIHdoaWNo
IHJlZ2lzdGVycyBhcmUgYXNzaWduZWQKLSAgICAjIHRvIG1ldGFkYXRhVGFibGUgYW5kIFBCLCB0
aGVyZWZvcmUgdGhleSBjYW4gYWxzbyBub3QgaGF2ZSB0aGUgc2FtZSBzYXZpbmcKLSAgICAjIG9y
ZGVyLgotICAgIGVsc2lmIEFSTXY3Ci0gICAgICAgIHN0b3JlcCBtZXRhZGF0YVRhYmxlLCAtNFtj
ZnJdCi0gICAgICAgIHN0b3JlcCBQQiwgLThbY2ZyXQotICAgIGVsc2lmIE1JUFMKKyAgICBlbHNp
ZiBBUk12NyBvciBNSVBTCiAgICAgICAgIHN0b3JlcCBQQiwgLTRbY2ZyXQogICAgICAgICBzdG9y
ZXAgbWV0YWRhdGFUYWJsZSwgLThbY2ZyXQogICAgIGVsc2lmIEFSTTY0IG9yIEFSTTY0RQpAQCAt
ODgyLDEyICs4NjgsNyBAQCBlbmQKIG1hY3JvIHJlc3RvcmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50
KCkKICAgICBpZiBDX0xPT1Agb3IgQ19MT09QX1dJTgogICAgICAgICBsb2FkcCAtUHRyU2l6ZVtj
ZnJdLCBtZXRhZGF0YVRhYmxlCi0gICAgIyBUbyB1bmRlcnN0YW5kIHdoeSBBUk12NyBhbmQgTUlQ
UyBkaWZmZXIgaW4gcmVzdG9yZSBvcmRlciwKLSAgICAjIHNlZSBjb21tZW50IGluIHByZXNlcnZl
Q2FsbGVlU2F2ZXNVc2VkQnlMTEludAotICAgIGVsc2lmIEFSTXY3Ci0gICAgICAgIGxvYWRwIC00
W2Nmcl0sIG1ldGFkYXRhVGFibGUKLSAgICAgICAgbG9hZHAgLThbY2ZyXSwgUEIKLSAgICBlbHNp
ZiBNSVBTCisgICAgZWxzaWYgQVJNdjcgb3IgTUlQUwogICAgICAgICBsb2FkcCAtNFtjZnJdLCBQ
QgogICAgICAgICBsb2FkcCAtOFtjZnJdLCBtZXRhZGF0YVRhYmxlCiAgICAgZWxzaWYgQVJNNjQg
b3IgQVJNNjRFCkBAIC05NTAsMTIgKzkzMSw3IEBAIG1hY3JvIGNvcHlDYWxsZWVTYXZlc1RvRW50
cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVyKGVudHJ5RnJhbWUpCiAgICAgICAgICAgICBzdG9yZXEg
Y3NyNCwgMzJbZW50cnlGcmFtZV0KICAgICAgICAgICAgIHN0b3JlcSBjc3I1LCA0MFtlbnRyeUZy
YW1lXQogICAgICAgICAgICAgc3RvcmVxIGNzcjYsIDQ4W2VudHJ5RnJhbWVdCi0gICAgICAgICMg
VG8gdW5kZXJzdGFuZCB3aHkgQVJNdjcgYW5kIE1JUFMgZGlmZmVyIGluIHN0b3JlIG9yZGVyLAot
ICAgICAgICAjIHNlZSBjb21tZW50IGluIHByZXNlcnZlQ2FsbGVlU2F2ZXNVc2VkQnlMTEludAot
ICAgICAgICBlbHNpZiBBUk12NwotICAgICAgICAgICAgc3RvcmVwIGNzcjEsIFtlbnRyeUZyYW1l
XQotICAgICAgICAgICAgc3RvcmVwIGNzcjAsIDRbZW50cnlGcmFtZV0KLSAgICAgICAgZWxzaWYg
TUlQUworICAgICAgICBlbHNpZiBBUk12NyBvciBNSVBTCiAgICAgICAgICAgICBzdG9yZXAgY3Ny
MCwgW2VudHJ5RnJhbWVdCiAgICAgICAgICAgICBzdG9yZXAgY3NyMSwgNFtlbnRyeUZyYW1lXQog
ICAgICAgICBlbHNpZiBSSVNDVjY0CkBAIC0xMDMxLDEyICsxMDA3LDcgQEAgbWFjcm8gcmVzdG9y
ZUNhbGxlZVNhdmVzRnJvbVZNRW50cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVyKHZtLCB0ZW1wKQog
ICAgICAgICAgICAgbG9hZHEgMzJbdGVtcF0sIGNzcjQKICAgICAgICAgICAgIGxvYWRxIDQwW3Rl
bXBdLCBjc3I1CiAgICAgICAgICAgICBsb2FkcSA0OFt0ZW1wXSwgY3NyNgotICAgICAgICAjIFRv
IHVuZGVyc3RhbmQgd2h5IEFSTXY3IGFuZCBNSVBTIGRpZmZlciBpbiByZXN0b3JlIG9yZGVyLAot
ICAgICAgICAjIHNlZSBjb21tZW50IGluIHByZXNlcnZlQ2FsbGVlU2F2ZXNVc2VkQnlMTEludAot
ICAgICAgICBlbHNpZiBBUk12NwotICAgICAgICAgICAgbG9hZHAgW3RlbXBdLCBjc3IxCi0gICAg
ICAgICAgICBsb2FkcCA0W3RlbXBdLCBjc3IwCi0gICAgICAgIGVsc2lmIE1JUFMKKyAgICAgICAg
ZWxzaWYgQVJNdjcgb3IgTUlQUwogICAgICAgICAgICAgbG9hZHAgW3RlbXBdLCBjc3IwCiAgICAg
ICAgICAgICBsb2FkcCA0W3RlbXBdLCBjc3IxCiAgICAgICAgIGVsc2lmIFJJU0NWNjQKQEAgLTE4
MTAsMzIgKzE3ODEsMzcgQEAgaWYgbm90IChDX0xPT1Agb3IgQ19MT09QX1dJTikKICAgICBfc2Fu
aXRpemVTdGFja0ZvclZNSW1wbDoKICAgICAgICAgdGFnUmV0dXJuQWRkcmVzcyBzcAogICAgICAg
ICAjIFdlIG5lZWQgdGhyZWUgbm9uLWFsaWFzZWQgY2FsbGVyLXNhdmUgcmVnaXN0ZXJzLiBXZSBh
cmUgZ3VhcmFudGVlZAotICAgICAgICAjIHRoaXMgZm9yIGEwLCBhMSBhbmQgYTIgb24gYWxsIGFy
Y2hpdGVjdHVyZXMuCisgICAgICAgICMgdGhpcyBmb3IgYTAsIGExIGFuZCBhMiBvbiBhbGwgYXJj
aGl0ZWN0dXJlcy4gQmV3YXJlIGFsc28gdGhhdAorICAgICAgICAjIG9mZmxpbmVhc20gbWlnaHQg
dXNlIHRlbXBvcmFyeSByZWdpc3RlcnMgd2hlbiBsb3dlcmluZyBjb21wbGV4CisgICAgICAgICMg
aW5zdHJ1Y3Rpb25zIG9uIHNvbWUgcGxhdGZvcm1zLCB3aGljaCBtaWdodCBiZSBjYWxsZWUtc2F2
ZS4gVG8gYXZvaWQKKyAgICAgICAgIyB0aGlzLCB3ZSB1c2UgdGhlIHNpbXBsZXN0IGluc3RydWN0
aW9ucyBzbyB3ZSBuZXZlciBuZWVkIGEgdGVtcG9yYXJ5CisgICAgICAgICMgYW5kIGhlbmNlIGRv
bid0IGNsb2JiZXIgYW55IGNhbGxlZS1zYXZlIHJlZ2lzdGVycy4KICAgICAgICAgaWYgWDg2IG9y
IFg4Nl9XSU4KICAgICAgICAgICAgIGxvYWRwIDRbc3BdLCBhMAogICAgICAgICBlbmQKLSAgICAg
ICAgY29uc3Qgdm1PclN0YXJ0U1AgPSBhMAogICAgICAgICBjb25zdCBhZGRyZXNzID0gYTEKLSAg
ICAgICAgY29uc3QgemVyb1ZhbHVlID0gYTIKLSAgICAKLSAgICAgICAgbG9hZHAgVk06Om1fbGFz
dFN0YWNrVG9wW3ZtT3JTdGFydFNQXSwgYWRkcmVzcwotICAgICAgICBtb3ZlIHNwLCB6ZXJvVmFs
dWUKLSAgICAgICAgc3RvcmVwIHplcm9WYWx1ZSwgVk06Om1fbGFzdFN0YWNrVG9wW3ZtT3JTdGFy
dFNQXQotICAgICAgICBtb3ZlIHNwLCB2bU9yU3RhcnRTUAorICAgICAgICBjb25zdCBzY3JhdGNo
ID0gYTIKKworICAgICAgICBtb3ZlIFZNOjptX2xhc3RTdGFja1RvcCwgc2NyYXRjaAorICAgICAg
ICBhZGRwIHNjcmF0Y2gsIGEwCisgICAgICAgIGxvYWRwIFthMF0sIGFkZHJlc3MKKyAgICAgICAg
bW92ZSBzcCwgc2NyYXRjaAorICAgICAgICBzdG9yZXAgc2NyYXRjaCwgW2EwXQorICAgICAgICBt
b3ZlIHNwLCBhMAogCiAgICAgICAgIGJwYmVxIHNwLCBhZGRyZXNzLCAuemVyb0ZpbGxEb25lCiAg
ICAgICAgIG1vdmUgYWRkcmVzcywgc3AKIAotICAgICAgICBtb3ZlIDAsIHplcm9WYWx1ZQorICAg
ICAgICBtb3ZlIDAsIHNjcmF0Y2gKICAgICAuemVyb0ZpbGxMb29wOgotICAgICAgICBzdG9yZXAg
emVyb1ZhbHVlLCBbYWRkcmVzc10KKyAgICAgICAgc3RvcmVwIHNjcmF0Y2gsIFthZGRyZXNzXQog
ICAgICAgICBhZGRwIFB0clNpemUsIGFkZHJlc3MKLSAgICAgICAgYnBhIHZtT3JTdGFydFNQLCBh
ZGRyZXNzLCAuemVyb0ZpbGxMb29wCisgICAgICAgIGJwYSBhMCwgYWRkcmVzcywgLnplcm9GaWxs
TG9vcAogCiAgICAgLnplcm9GaWxsRG9uZToKLSAgICAgICAgbW92ZSB2bU9yU3RhcnRTUCwgc3AK
KyAgICAgICAgbW92ZSBhMCwgc3AKICAgICAgICAgcmV0Ci0gICAgCisKICAgICAjIFZNRW50cnlS
ZWNvcmQqIHZtRW50cnlSZWNvcmQoY29uc3QgRW50cnlGcmFtZSogZW50cnlGcmFtZSkKICAgICBn
bG9iYWwgX3ZtRW50cnlSZWNvcmQKICAgICBfdm1FbnRyeVJlY29yZDoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybS5yYiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9vZmZsaW5lYXNtL2FybS5yYgppbmRleCA5YzU0OGEzYzJlOGVlMjA1ZDU0N2EzNWNhMjhk
NTE2MmM3ZWYzNmRhLi5kNDMzMDViYTQ3OTNkNGQ2YzdiYWVkZjQ4NGE0MjY0MmFlOGUxMWZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm0ucmIKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtLnJiCkBAIC0zMSwxNSArMzEsMTcg
QEAgcmVxdWlyZSAicmlzYyIKICMKICMgIHgwID0+IHQwLCBhMCwgcjAKICMgIHgxID0+IHQxLCBh
MSwgcjEKLSMgIHgyID0+IHQyLCBhMiwgcjIKLSMgIHgzID0+IHQzLCBhMywgcjMKLSMgIHg2ID0+
ICAgICAgICAgICAgKGNhbGxlZS1zYXZlIHNjcmF0Y2gpCisjICB4MiA9PiB0MiwgYTIKKyMgIHgz
ID0+IHQzLCBhMworIyAgeDQgPT4gc2NyYXRjaCAgICAgICAgICAgIChjYWxsZWUtc2F2ZSkKKyMg
IHg1ID0+IHQ1ICAgICAgICAgICAgICAgICAoY2FsbGVlLXNhdmUpCisjICB4NiA9PiBzY3JhdGNo
ICAgICAgICAgICAgKGNhbGxlZS1zYXZlKQogIyAgeDcgPT4gY2ZyCi0jICB4OCA9PiB0NCAgICAg
ICAgIChjYWxsZWUtc2F2ZSkKLSMgIHg5ID0+IHQ1ICAgICAgICAgKGNhbGxlZS1zYXZlKQotIyB4
MTAgPT4gY3NyMSAgICAgICAoY2FsbGVlLXNhdmUsIFBCKQotIyB4MTEgPT4gY2ZyLCBjc3IwICAo
Y2FsbGVlLXNhdmUsIG1ldGFkYXRhVGFibGUpCi0jIHgxMiA9PiAgICAgICAgICAgIChjYWxsZWUt
c2F2ZSBzY3JhdGNoKQorIyAgeDggPT4gdDQgICAgICAgICAgICAgICAgIChjYWxsZWUtc2F2ZSwg
UEMpCisjICB4OSA9PiB0NiAgICAgICAgICAgICAgICAgKGNhbGxlZS1zYXZlKQorIyB4MTAgPT4g
Y3NyMCAgICAgICAgICAgICAgIChjYWxsZWUtc2F2ZSwgbWV0YWRhdGFUYWJsZSkKKyMgeDExID0+
IGNzcjEgICAgICAgICAgICAgICAoY2FsbGVlLXNhdmUsIFBCKQorIyB4MTIgPT4gdDcsIGFsc28g
c2NyYXRjaCEgIChjYWxsZWUtc2F2ZSkKICMgIGxyID0+IGxyCiAjICBzcCA9PiBzcAogIyAgcGMg
PT4gcGMKQEAgLTY5LDcgKzcxLDggQEAgY2xhc3MgU3BlY2lhbFJlZ2lzdGVyCiAgICAgZW5kCiBl
bmQKIAotQVJNX0VYVFJBX0dQUlMgPSBbU3BlY2lhbFJlZ2lzdGVyLm5ldygicjYiKSwgU3BlY2lh
bFJlZ2lzdGVyLm5ldygicjQiKSwgU3BlY2lhbFJlZ2lzdGVyLm5ldygicjEyIildCisjIFRoZXNl
IGFyZSBhbGxvY2F0ZWQgZnJvbSB0aGUgdGFpbCwgc28gcHV0IHRoZSBsb3cgb3JkZXIgcmVnaXN0
ZXJzIGxhc3QgZm9yIGNvZGUgc2l6ZSBpbXByb3ZlbWVudHMKK0FSTV9FWFRSQV9HUFJTID0gW1Nw
ZWNpYWxSZWdpc3Rlci5uZXcoInIxMiIpLCBTcGVjaWFsUmVnaXN0ZXIubmV3KCJyNiIpLCBTcGVj
aWFsUmVnaXN0ZXIubmV3KCJyNCIpXQogQVJNX0VYVFJBX0ZQUlMgPSBbU3BlY2lhbFJlZ2lzdGVy
Lm5ldygiZDciKV0KIEFSTV9TQ1JBVENIX0ZQUiA9IFNwZWNpYWxSZWdpc3Rlci5uZXcoImQ2IikK
IE9TX0RBUldJTiA9ICgoUlVCWV9QTEFURk9STSA9fiAvZGFyd2luL2kpICE9IG5pbCkKQEAgLTk5
LDIwICsxMDIsMjIgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICAgICAgInIxIgogICAgICAg
ICB3aGVuICJ0MiIsICJhMiIKICAgICAgICAgICAgICJyMiIKLSAgICAgICAgd2hlbiAiYTMiCisg
ICAgICAgIHdoZW4gInQzIiwgImEzIgogICAgICAgICAgICAgInIzIgotICAgICAgICB3aGVuICJ0
MyIKLSAgICAgICAgICAgICJyMyIKLSAgICAgICAgd2hlbiAidDQiCisgICAgICAgIHdoZW4gInQ0
IiAjIExMSW50IFBDCiAgICAgICAgICAgICAicjgiCiAgICAgICAgIHdoZW4gInQ1IgorICAgICAg
ICAgICAgInI1IgorICAgICAgICB3aGVuICJ0NiIKICAgICAgICAgICAgICJyOSIKKyAgICAgICAg
d2hlbiAidDciCisgICAgICAgICAgICAicjEyIiAjIHIxMiBpcyBhbHNvIGEgc2NyYXRjaCByZWdp
c3Rlciwgc28gdXNlIGNhcmVmdWxseSEKICAgICAgICAgd2hlbiAiY2ZyIgogICAgICAgICAgICAg
InI3IgogICAgICAgICB3aGVuICJjc3IwIgotICAgICAgICAgICAgInIxMSIKLSAgICAgICAgd2hl
biAiY3NyMSIKICAgICAgICAgICAgICJyMTAiCisgICAgICAgIHdoZW4gImNzcjEiCisgICAgICAg
ICAgICAicjExIgogICAgICAgICB3aGVuICJsciIKICAgICAgICAgICAgICJsciIKICAgICAgICAg
d2hlbiAic3AiCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455925</attachid>
            <date>2022-03-28 10:17:25 -0700</date>
            <delta_ts>2022-03-29 16:22:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235027-20220328171723.patch</filename>
            <type>text/plain</type>
            <size>40703</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
ZTFhZWQ1NDFlYzA0NTAzM2E2ZGM3Y2RjZTNkZGRhYTEwYWU5NTM0Li43YzE0OGE5MTk2ZjExNDg2
OTc1OTFlM2EzYTAwMTc5Mjk5Y2M4OGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAyMi0wMy0yOCAgR2V6YSBMb3JlICA8Z2xvcmVAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXVtBUk12N10gQ2xlYW51cCBHUFIgbnVtYmVyaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUwMjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIC0gTWFrZSB0aGUgdGhlIGxvd2VyIG9y
ZGVyIGNhbGxlZSBzYXZlIHJlZ2lzdGVyIGJlIHJlZ0NTMC9sbGludCBjc3IwLgorICAgICAgICBT
b21lIG9mIHRoZSBDU1Igc3RvcmUvcmVzdG9yZSBjb2RlIHJlbGllcyBvbiB0aGlzIGFuZCB1c2lu
ZyBhCisgICAgICAgIG51bWJlcmluZyBzY2hlbWUgY29uc2lzdGVudCB3aXRoIG90aGVyIHRhcmdl
dHMgKHRoYXQgaXM6IHJlZ0NTPE4+IG1hcHMKKyAgICAgICAgdG8gYSBsb3dlciBudW1iZXIgbWFj
aGluZSByZWdpc3RlciB0aGFuIHJlZ0NTPE4rMT4pIGVsaW1pbmF0ZXMgc29tZQorICAgICAgICBp
ZmRlZnMgaW4gTExJbnQsIGFuZCBob3BlZnVsbHkgd2lsbCBwcmV2ZW50IGhhcmQgdG8gZmluZCBp
c3N1ZXMgZHVlIHRvCisgICAgICAgIHRoZSBtaXNtYXRjaCBmcm9tIG90aGVyIHRhcmdldHMgdGhh
dCBhbGwgZm9sbG93IHRoaXMgcnVsZS4KKworICAgICAgICAtIEluIHRoZSBUaHVtYi0yIGluc3Ry
dWN0aW9uIHNldCwgdXNlIG9mIHIwLXI3IGNhbiBvZnRlbiBiZSBlbmNvZGVkCisgICAgICAgIHVz
aW5nIGEgc2hvcnRlciwgMTYtYml0IGluc3RydWN0aW9uLiBTd2FwIHJlZ1Q0L3JlZ1Q1IHdpdGgK
KyAgICAgICAgcmVnVDcvcmVnVDYsIHNvIGxvd2VyIG9yZGVyIHRlbXBvcmFyaWVzICh3aGljaCBh
cmUgdXN1YWxseSB1c2VkIGZpcnN0KQorICAgICAgICBtYXAgdG8gdGhlIGxvd2VyIG9yZGVyIHJl
Z2lzdGVycyB0aGF0IGNhbiB5aWVsZCBkZW5zZXIgY29kZS4gVGhpcworICAgICAgICB0aGVuIHNp
bXBsaWZpZXMgQmFzZWxpbmVKSVRSZWdpc3RlcnMuaCwgYW5kIGFsc28gc2F2ZXMgYWJvdXQgfjEl
IERGRworICAgICAgICBjb2RlIHNpemUuCisKKyAgICAgICAgLSBJbiBvZmZsaW5lYXNtLCBwcmVm
ZXIgbG93IG9yZGVyIHJlZ2lzdGVycyBmb3IgdGVtcG9yYXJpZXMuCisKKyAgICAgICAgLSBBbHNv
IGNsZWFuIHVwIGJhc2VsaW5lIGluc3RhbmNlb2Ygb3AgaW1wbGVtZW50YXRpb24uCisKKyAgICAg
ICAgKiBieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHA6CisgICAgICAgIChKU0M6OlN0cnVj
dHVyZVN0dWJJbmZvOjppbml0aWFsaXplRnJvbVVubGlua2VkU3RydWN0dXJlU3R1YkluZm8pOgor
ICAgICAgICAqIGppdC9CYXNlbGluZUpJVFJlZ2lzdGVycy5oOgorICAgICAgICAqIGppdC9HUFJJ
bmZvLmg6CisgICAgICAgIChKU0M6OkdQUkluZm86OnRvSW5kZXgpOgorICAgICAgICAoSlNDOjpQ
cmVmZXJyZWRBcmd1bWVudEltcGw6OnByZWZlcnJlZEFyZ3VtZW50SlNSKToKKyAgICAgICAgKiBq
aXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9m
KToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9pbnN0YW5jZW9mKToKKyAgICAgICAg
KiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
cHV0X2J5X3ZhbCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfcHV0X2J5X3ZhbCk6
CisgICAgICAgIChKU0M6OkpJVDo6c2xvd19vcF9wdXRfYnlfdmFsX2NhbGxTbG93T3BlcmF0aW9u
VGhlbkNoZWNrRXhjZXB0aW9uR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X3B1dF9wcml2YXRlX25hbWUpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX3B1dF9w
cml2YXRlX25hbWUpOgorICAgICAgICAoSlNDOjpKSVQ6OnNsb3dfb3BfcHV0X3ByaXZhdGVfbmFt
ZV9jYWxsU2xvd09wZXJhdGlvblRoZW5DaGVja0V4Y2VwdGlvbkdlbmVyYXRvcik6CisgICAgICAg
ICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206CisgICAgICAgICogb2ZmbGluZWFzbS9h
cm0ucmI6CisKIDIwMjItMDMtMjcgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgbm9uLXVuaWZpZWQgYnVpbGRmaXgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCmluZGV4IDcy
OTk0YTgyN2FmYmM2YmI2OTMxY2Y0ZDYxZjZjY2U5M2FiN2YxZmMuLjE2ODg1YWVkYWE0NzcxMjY4
ODFmZTNiYjVkMDAyZGU4OTE3NjM3NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcApAQCAtNTYyLDcgKzU2Miw3IEBAIHZv
aWQgU3RydWN0dXJlU3R1YkluZm86OmluaXRpYWxpemVGcm9tVW5saW5rZWRTdHJ1Y3R1cmVTdHVi
SW5mbyhDb2RlQmxvY2sqLCBVbmxpCiAgICAgICAgIGJhc2VHUFIgPSBCYXNlbGluZUpJVFJlZ2lz
dGVyczo6SW5zdGFuY2VvZjo6dmFsdWVKU1IucGF5bG9hZEdQUigpOwogICAgICAgICB2YWx1ZUdQ
UiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpyZXN1bHRKU1IucGF5bG9hZEdQ
UigpOwogICAgICAgICByZWdzLnByb3RvdHlwZUdQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJ
bnN0YW5jZW9mOjpwcm90b0pTUi5wYXlsb2FkR1BSKCk7Ci0gICAgICAgIG1fc3R1YkluZm9HUFIg
PSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6c3R1YkluZm9HUFI7CisgICAgICAg
IG1fc3R1YkluZm9HUFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6RmFzdFBh
dGg6OnN0dWJJbmZvR1BSOwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgICAgIGJhc2VUYWdH
UFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6dmFsdWVKU1IudGFnR1BSKCk7
CiAgICAgICAgIHZhbHVlVGFnR1BSID0gSW52YWxpZEdQUlJlZzsKQEAgLTYzOSw3ICs2MzksNyBA
QCB2b2lkIFN0cnVjdHVyZVN0dWJJbmZvOjppbml0aWFsaXplRnJvbVVubGlua2VkU3RydWN0dXJl
U3R1YkluZm8oQ29kZUJsb2NrKiwgVW5saQogICAgICAgICBiYXNlR1BSID0gQmFzZWxpbmVKSVRS
ZWdpc3RlcnM6OlB1dEJ5VmFsOjpiYXNlSlNSLnBheWxvYWRHUFIoKTsKICAgICAgICAgcmVncy5w
cm9wZXJ0eUdQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6cHJvcGVydHlKU1Iu
cGF5bG9hZEdQUigpOwogICAgICAgICB2YWx1ZUdQUiA9IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQ
dXRCeVZhbDo6dmFsdWVKU1IucGF5bG9hZEdQUigpOwotICAgICAgICBtX3N0dWJJbmZvR1BSID0g
QmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9HUFI7Cisg
ICAgICAgIG1fc3R1YkluZm9HUFIgPSBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnN0
dWJJbmZvR1BSOwogICAgICAgICBpZiAoYWNjZXNzVHlwZSA9PSBBY2Nlc3NUeXBlOjpQdXRCeVZh
bCkKICAgICAgICAgICAgIG1fYXJyYXlQcm9maWxlR1BSID0gQmFzZWxpbmVKSVRSZWdpc3RlcnM6
OlB1dEJ5VmFsOjpwcm9maWxlR1BSOwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Jhc2VsaW5lSklUUmVnaXN0ZXJzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0Jhc2VsaW5lSklUUmVnaXN0ZXJzLmgKaW5kZXggZTJmNjRh
NzM0YjMwZDBiY2RmNjU3M2JjOTY0Y2E4NjJhMjVkMGIzNy4uNTAzMzFjM2VlMzUyNGE1NjJkNjU4
YzBkMjliNmMzNjVhYmNhMjUxYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9CYXNlbGluZUpJVFJlZ2lzdGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
QmFzZWxpbmVKSVRSZWdpc3RlcnMuaApAQCAtNTAsMjggKzUwLDMzIEBAIG5hbWVzcGFjZSBFbnRl
ciB7CiB9CiAKIG5hbWVzcGFjZSBJbnN0YW5jZW9mIHsKKyAgICB1c2luZyBTbG93T3BlcmF0aW9u
ID0gZGVjbHR5cGUob3BlcmF0aW9uSW5zdGFuY2VPZk9wdGltaXplKTsKKworICAgIC8vIFJlZ2lz
dGVycyB1c2VkIG9uIGJvdGggRmFzdCBhbmQgU2xvdyBwYXRocworICAgIGNvbnN0ZXhwciBKU1Zh
bHVlUmVncyByZXN1bHRKU1IgeyBKU1JJbmZvOjpyZXR1cm5WYWx1ZUpTUiB9OworICAgIGNvbnN0
ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IHByZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVy
YXRpb24sIDI+KCkgfTsKKyAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvdG9KU1IgeyBwcmVm
ZXJyZWRBcmd1bWVudEpTUjxTbG93T3BlcmF0aW9uLCAzPigpIH07CisKKyAgICAvLyBGYXN0IHBh
dGggb25seSByZWdpc3RlcnMKKyAgICBuYW1lc3BhY2UgRmFzdFBhdGggeworICAgICAgICBjb25z
dGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6YXJndW1lbnRHUFIxIH07CisgICAg
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDFHUFIgeyBHUFJJbmZvOjphcmd1bWVudEdQUjAg
fTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMkdQUiB7CiAjaWYgVVNFKEpTVkFM
VUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgR1BSSW5mbzo6cmVn
VDAgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgdmFsdWVKU1IgeyBHUFJJbmZvOjphcmd1
bWVudEdQUjIgfTsKLSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvdG9KU1IgeyBHUFJJbmZv
Ojphcmd1bWVudEdQUjMgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BS
SW5mbzo6YXJndW1lbnRHUFIxIH07Ci0gICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMUdQUiB7
IEdQUkluZm86Om5vbkFyZ0dQUjAgfTsKLSAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gyR1BS
IHsgR1BSSW5mbzo6bm9uQXJnR1BSMSB9OworICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDQKICNl
bGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpT
UiB7IEpTUkluZm86OmpzUmVnVDEwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHZhbHVl
SlNSIHsKLSNpZiBDUFUoTUlQUykKLSAgICAgICAgR1BSSW5mbzo6YXJndW1lbnRHUFIzLCBHUFJJ
bmZvOjphcmd1bWVudEdQUjIKLSNlbHNlCi0gICAgICAgIEpTUkluZm86OmpzUmVnVDMyCisgICAg
ICAgICAgICBHUFJJbmZvOjpyZWdUNgogI2VuZGlmCi0gICAgfTsKLSAgICBjb25zdGV4cHIgSlNW
YWx1ZVJlZ3MgcHJvdG9KU1IgeyBKU1JJbmZvOjpqc1JlZ1Q1NCB9OwotICAgIGNvbnN0ZXhwciBH
UFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgIGNvbnN0ZXhwciBHUFJS
ZWcgc2NyYXRjaDFHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcg
c2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCi0gICAgc3RhdGljX2Fzc2Vy
dChub092ZXJsYXAodmFsdWVKU1IsIHByb3RvSlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaDFHUFIs
IHNjcmF0Y2gyR1BSKSk7CisgICAgICAgIH07CisgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVy
bGFwKHZhbHVlSlNSLCBwcm90b0pTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2gxR1BSLCBzY3JhdGNo
MkdQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CisgICAgfQorCisgICAgLy8gU2xvdyBwYXRo
IG9ubHkgcmVnaXN0ZXJzCisgICAgbmFtZXNwYWNlIFNsb3dQYXRoIHsKKyAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBwcmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3Bl
cmF0aW9uLCAwPigpIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBw
cmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAxPigpIH07CisgICAgICAgIHN0YXRp
Y19hc3NlcnQobm9PdmVybGFwKGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHZhbHVlSlNS
LCBwcm90b0pTUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBzbG93IG9wZXJhdGlvbiIpOworICAg
IH0KIH0KIAogbmFtZXNwYWNlIEpGYWxzZSB7CkBAIC0xMTcsMjggKzEyMiwxOCBAQCBuYW1lc3Bh
Y2UgR2V0QnlJZCB7CiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1l
c3BhY2UgRmFzdFBhdGggewotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIg
SlNWYWx1ZVJlZ3MgZG9udENsb2JiZXJKU1IgeyBHUFJJbmZvOjpyZWdUMyB9OwotI2VsaWYgVVNF
KEpTVkFMVUUzMl82NCkKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQ
UkluZm86OnJlZ1QyIH07CiAgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQ
UkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBkb250Q2xvYmJl
ckpTUiB7IEdQUkluZm86OnJlZ1Q2LCBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCisgICAgICAg
IGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBkb250Q2xvYmJlckpTUiB7IEpTUkluZm86OmpzUmVnVDU0
IH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHN0dWJJbmZvR1BS
LCBzY3JhdGNoR1BSLCBkb250Q2xvYmJlckpTUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAg
ICAgfQogCiAgICAgLy8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNs
b3dQYXRoIHsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJ
bmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BS
IHsgR1BSSW5mbzo6cmVnVDIgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9m
ZnNldEdQUiB7IGdsb2JhbE9iamVjdEdQUiB9OwogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0
dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAg
ICBjb25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSNlbGlm
IFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvcGVydHlHUFIg
eyBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVy
bGFwKGJhc2VKU1IsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQUiwgcHJvcGVydHlHUFIp
LCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAgICAgICAgIHN0YXRpY19hc3Nl
cnQobm9PdmVybGFwKGJhc2VKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHByb3Bl
cnR5R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7CiAgICAgfQpA
QCAtMTQ3LDM3ICsxNDIsMjggQEAgbmFtZXNwYWNlIEdldEJ5SWQgewogbmFtZXNwYWNlIEdldEJ5
SWRXaXRoVGhpcyB7CiAgICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93
IHBhdGhzCiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJl
dHVyblZhbHVlSlNSIH07Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1
ZVJlZ3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVS
ZWdzIHRoaXNKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkK
ICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7IEpTUkluZm86OmpzUmVnVDEwIH07
CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHRoaXNKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9
OwotI2VuZGlmCiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3Bh
Y2UgRmFzdFBhdGggewotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9OwotICAgICAgICBjb25zdGV4cHIgR1BS
UmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotI2VsaWYgVVNFKEpTVkFMVUUzMl82
NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3
IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q2
IH07Ci0jZW5kaWYKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUklu
Zm86OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUklu
Zm86OnJlZ1Q1IH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHRo
aXNKU1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNoR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsK
ICAgICB9CiAKICAgICAvLyBTbG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2Ug
U2xvd1BhdGggewogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7IEdQ
UkluZm86OnJlZ1Q0IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRH
UFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2Rl
T2Zmc2V0R1BSIHsgZ2xvYmFsT2JqZWN0R1BSIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
c3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNSB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHByb3BlcnR5R1BSIHsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BS
UmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQ
UlJlZyBwcm9wZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1QzIH07CisgICAgICAgICAgICBHUFJJbmZv
OjpyZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJl
ZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJS
ZWcgcHJvcGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNyB9OworICAgICAgICAgICAgR1BSSW5mbzo6
cmVnVDYKICNlbmRpZgorICAgICAgICB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3Zlcmxh
cChiYXNlSlNSLCB0aGlzSlNSLCBieXRlY29kZU9mZnNldEdQUiwgc3R1YkluZm9HUFIsIHByb3Bl
cnR5R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENUSSB0aHVuayIpOwogICAgICAgICBzdGF0
aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB0aGlzSlNSLCBnbG9iYWxPYmplY3RHUFIsIHN0
dWJJbmZvR1BSLCBwcm9wZXJ0eUdQUiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBzbG93IG9wZXJh
dGlvbiIpOwogICAgIH0KQEAgLTE4NiwzNyArMTcyLDI4IEBAIG5hbWVzcGFjZSBHZXRCeUlkV2l0
aFRoaXMgewogbmFtZXNwYWNlIEdldEJ5VmFsIHsKICAgICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBi
b3RoIEZhc3QgYW5kIFNsb3cgcGF0aHMKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0
SlNSIHsgSlNSSW5mbzo6cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAg
IGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICBj
b25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotI2Vs
aWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7
IEpTUkluZm86OmpzUmVnVDEwIH07CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5
SlNSIHsgSlNSSW5mbzo6anNSZWdUMzIgfTsKLSNlbmRpZgogCiAgICAgLy8gRmFzdCBwYXRoIG9u
bHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIEZhc3RQYXRoIHsKLSNpZiBVU0UoSlNWQUxVRTY0
KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIg
fTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDMg
fTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1
YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNj
cmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBH
UFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIg
R1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZvOjpyZWdUNSB9OwogICAgICAgICBzdGF0aWNfYXNz
ZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hH
UFIpLCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOwogICAgIH0KIAogICAgIC8vIFNsb3cgcGF0aCBv
bmx5IHJlZ2lzdGVycwogICAgIG5hbWVzcGFjZSBTbG93UGF0aCB7CiAgICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSAgICAgICAgY29u
c3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAg
ICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZzZXRHUFIgeyBnbG9iYWxPYmplY3RHUFIg
fTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q1
IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7CiAjaWYgVVNFKEpTVkFM
VUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJl
Z1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7IEdQUkluZm86OnJl
Z1QzIH07CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82
NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q2
IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQUiB7IEdQUkluZm86OnJlZ1Q3
IH07CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNgogI2VuZGlmCisgICAgICAgIH07CiAgICAg
ICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIHByb3BlcnR5SlNSLCBieXRlY29k
ZU9mZnNldEdQUiwgc3R1YkluZm9HUFIsIHByb2ZpbGVHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwg
dG8gQ1RJIHRodW5rIik7CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1Is
IHByb3BlcnR5SlNSLCBnbG9iYWxPYmplY3RHUFIsIHN0dWJJbmZvR1BSLCBwcm9maWxlR1BSKSwg
IlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7CiAgICAgfQpAQCAtMjI0LDk5
ICsyMDEsODYgQEAgbmFtZXNwYWNlIEdldEJ5VmFsIHsKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiBu
YW1lc3BhY2UgRW51bWVyYXRvckdldEJ5VmFsIHsKLSAgICBzdGF0aWMgY29uc3RleHByIEpTVmFs
dWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIg
SlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9OwotICAgIHN0YXRpYyBj
b25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsKLSAgICBz
dGF0aWMgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0g
ICAgLy8gV2UgcmVseSBvbiB0aGlzIHdoZW4gbGlua2luZyBhIENvZGVCbG9jayBhbmQgaW5pdGlh
bGl6aW5nIHJlZ2lzdGVycyBmb3IgYSBHZXRCeVZhbCBTdHViSW5mby4KLSAgICBzdGF0aWNfYXNz
ZXJ0KGJhc2VKU1IgPT0gR2V0QnlWYWw6OmJhc2VKU1IpOwotICAgIHN0YXRpY19hc3NlcnQocHJv
cGVydHlKU1IgPT0gR2V0QnlWYWw6OnByb3BlcnR5SlNSKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHJl
c3VsdEpTUiA9PSBHZXRCeVZhbDo6cmVzdWx0SlNSKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0dWJJ
bmZvR1BSID09IEdldEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9HUFIpOwotCi0gICAgc3RhdGlj
IGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDEgeyBHUFJJbmZvOjpyZWdUMyB9OwotICAgIHN0YXRp
YyBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gyIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAvLyBX
ZSByZWx5IG9uIHVzaW5nIHRoZSBzYW1lIHJlZ2lzdGVycyB3aGVuIGxpbmtpbmcgYSBDb2RlQmxv
Y2sgYW5kIGluaXRpYWxpemluZyByZWdpc3RlcnMKKyAgICAvLyBmb3IgYSBHZXRCeVZhbCBTdHVi
SW5mby4KKyAgICBzdGF0aWMgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHZXRCeVZh
bDo6YmFzZUpTUiB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlK
U1IgeyBHZXRCeVZhbDo6cHJvcGVydHlKU1IgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIEpTVmFs
dWVSZWdzIHJlc3VsdEpTUiB7IEdldEJ5VmFsOjpyZXN1bHRKU1IgfTsKKyAgICBzdGF0aWMgY29u
c3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdldEJ5VmFsOjpGYXN0UGF0aDo6c3R1YkluZm9H
UFIgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoMSB7IEdQUkluZm86OnJl
Z1QxIH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDIgeyBHUFJJbmZvOjpy
ZWdUMyB9OwogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2gzIHsgR1BSSW5mbzo6
cmVnVDUgfTsKKyAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpT
Uiwgc3R1YkluZm9HUFIsIHNjcmF0Y2gxLCBzY3JhdGNoMiwgc2NyYXRjaDMpKTsKIH0KICNlbmRp
ZgogCiBuYW1lc3BhY2UgUHV0QnlJZCB7CiAgICAgLy8gUmVnaXN0ZXJzIHVzZWQgb24gYm90aCBG
YXN0IGFuZCBTbG93IHBhdGhzCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdGV4cHIgSlNW
YWx1ZVJlZ3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFs
dWVSZWdzIHZhbHVlSlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJf
NjQpCiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1Qx
MCB9OwogICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEpTUkluZm86OmpzUmVn
VDMyIH07Ci0jZW5kaWYKIAogICAgIC8vIEZhc3QgcGF0aCBvbmx5IHJlZ2lzdGVycwogICAgIG5h
bWVzcGFjZSBGYXN0UGF0aCB7Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3RleHBy
IEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgc2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotI2VsaWYgVVNFKEpTVkFM
VUUzMl82NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86
OnJlZ1Q3IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86
OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaDJHUFIgeyBiYXNlSlNS
LnRhZ0dQUigpIH07IC8vIFJldXNpbmcgcmVnVDEgZm9yIGJldHRlciBjb2RlIHNpemUgb24gQVJN
X1RIVU1CMgotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBH
UFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBH
UFJJbmZvOjpyZWdUNSB9OworICAgICAgICAvLyBGaW5lIHRvIHVzZSByZWdUMSwgd2hpY2ggYWxz
byB5aWVsZHMgYmV0dGVyIGNvZGUgc2l6ZSBvbiBBUk1fVEhVTUIyCisgICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgc2NyYXRjaDJHUFIgeyBHUFJJbmZvOjpyZWdUMSB9OwogICAgICAgICBzdGF0aWNf
YXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB2YWx1ZUpTUiwgc3R1YkluZm9HUFIsIHNjcmF0Y2hH
UFIpLCAiUmVxdWlyZWQgZm9yIERhdGFJQyIpOwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3Zl
cmxhcChiYXNlSlNSLnBheWxvYWRHUFIoKSwgdmFsdWVKU1IsIHN0dWJJbmZvR1BSLCBzY3JhdGNo
R1BSLCBzY3JhdGNoMkdQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAgICAgfQogCiAgICAg
Ly8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNsb3dQYXRoIHsKKyAg
ICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgewogI2lmIFVTRShKU1ZBTFVF
NjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6
cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQ
UkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBH
UFJJbmZvOjpyZWdUMyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHByb3BlcnR5R1BSIHsg
R1BSSW5mbzo6cmVnVDQgfTsKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QxCiAjZWxpZiBVU0Uo
SlNWQUxVRTMyXzY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7
IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZz
ZXRHUFIgeyBHUFJJbmZvOjpyZWdUNiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJ
bmZvR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9w
ZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNgog
I2VuZGlmCisgICAgICAgIH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgYnl0ZWNvZGVPZmZz
ZXRHUFIgeyBnbG9iYWxPYmplY3RHUFIgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHVi
SW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q0IH07CisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJv
cGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNSB9OworCiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9P
dmVybGFwKGJhc2VKU1IsIHZhbHVlSlNSLCBieXRlY29kZU9mZnNldEdQUiwgc3R1YkluZm9HUFIs
IHByb3BlcnR5R1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIENUSSB0aHVuayIpOwogICAgICAg
ICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCB2YWx1ZUpTUiwgZ2xvYmFsT2JqZWN0
R1BSLCBzdHViSW5mb0dQUiwgcHJvcGVydHlHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gc2xv
dyBvcGVyYXRpb24iKTsKICAgICB9CiB9CiAKIG5hbWVzcGFjZSBQdXRCeVZhbCB7Ci0gICAgLy8g
UmVnaXN0ZXJzIHVzZWQgb24gYm90aCBGYXN0IGFuZCBTbG93IHBhdGhzCisgICAgY29uc3RleHBy
IEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QxMCB9OworICAgIGNvbnN0ZXhw
ciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEpTUkluZm86OmpzUmVnVDMyIH07CisgICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgSlNSSW5mbzo6anNSZWdUNTQgfTsKKyAgICBj
b25zdGV4cHIgR1BSUmVnIHByb2ZpbGVHUFIgewogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotICAgIGNvbnN0
ZXhwciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QxIH07Ci0gICAgY29u
c3RleHByIEpTVmFsdWVSZWdzIHZhbHVlSlNSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICBjb25z
dGV4cHIgR1BSUmVnIHByb2ZpbGVHUFIgeyBHUFJJbmZvOjpyZWdUMyB9OworICAgICAgICBHUFJJ
bmZvOjpyZWdUMQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBjb25zdGV4cHIgSlNWYWx1
ZVJlZ3MgYmFzZUpTUiB7IEdQUkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCB9OwotICAgIGNv
bnN0ZXhwciBKU1ZhbHVlUmVncyBwcm9wZXJ0eUpTUiB7IEdQUkluZm86OnJlZ1QzLCBHUFJJbmZv
OjpyZWdUMiB9OwotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyB2YWx1ZUpTUiB7IEdQUkluZm86
OnJlZ1Q2LCBHUFJJbmZvOjpyZWdUNyB9OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgcHJvZmlsZUdQ
UiB7IEdQUkluZm86OnJlZ1Q1IH07CisgICAgICAgIEdQUkluZm86OnJlZ1Q2CiAjZW5kaWYKKyAg
ICB9OworICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeworI2lmIFVTRShKU1ZBTFVF
NjQpCisgICAgICAgIEdQUkluZm86OnJlZ1QzCisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAg
ICAgICBHUFJJbmZvOjpyZWdUNworI2VuZGlmCisgICAgfTsKIAotICAgIC8vIEZhc3QgcGF0aCBv
bmx5IHJlZ2lzdGVycwotICAgIG5hbWVzcGFjZSBGYXN0UGF0aCB7Ci0gICAgICAgIGNvbnN0ZXhw
ciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotICAgICAgICBzdGF0aWNf
YXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0eUpTUiwgdmFsdWVKU1IsIHByb2ZpbGVH
UFIsIHN0dWJJbmZvR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKLSAgICB9CisgICAgc3Rh
dGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHZhbHVlSlNSLCBwcm9m
aWxlR1BSLCBzdHViSW5mb0dQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAKICAgICAvLyBT
bG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xvd1BhdGggewogICAgICAg
ICBjb25zdGV4cHIgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiB7CiAjaWYgVVNFKEpTVkFMVUU2NCkK
LSAgICAgICAgICAgICAgICBHUFJJbmZvOjpyZWdUNQorICAgICAgICAgICAgR1BSSW5mbzo6cmVn
VDUKICNlbGlmIENQVShBUk1fVEhVTUIyKQotICAgICAgICAgICAgICAgIC8vIFdlIGFyZSBhIGJp
dCBzaG9ydCBvbiByZWdpc3RlcnMgb24gQVJNX1RIVU1CMiwgYnV0IHdlIGNhbiBqdXN0IGFib3V0
IGdldCBhd2F5IHdpdGggdGhpcwotICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQVJNdjc6
OnNfc2NyYXRjaFJlZ2lzdGVyCisgICAgICAgICAgICAvLyBXZSBhcmUgYSBiaXQgc2hvcnQgb24g
cmVnaXN0ZXJzIG9uIEFSTV9USFVNQjIsIGJ1dCB3ZSBjYW4ganVzdCBhYm91dCBnZXQgYXdheSB3
aXRoIHRoaXMKKyAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQVJNdjc6OnNfc2NyYXRjaFJlZ2lz
dGVyCiAjZWxzZSAvLyBPdGhlciBKU1ZBTFVFMzJfNjQKLSAgICAgICAgICAgICAgICBHUFJJbmZv
OjpyZWdUOAorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDgKICNlbmRpZgogICAgICAgICB9Owog
ICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BSIHsgZ2xvYmFsT2JqZWN0
R1BSIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpy
ZWdUNCB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9wZXJ0
eUpTUiwgdmFsdWVKU1IsIHByb2ZpbGVHUFIsIGJ5dGVjb2RlT2Zmc2V0R1BSLCBzdHViSW5mb0dQ
UiksICJSZXF1aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fz
c2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHZhbHVlSlNSLCBwcm9maWxlR1BS
LCBnbG9iYWxPYmplY3RHUFIsIHN0dWJJbmZvR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNs
b3cgb3BlcmF0aW9uIik7CiAgICAgfQpAQCAtMzMxLDU1ICsyOTUsMzMgQEAgbmFtZXNwYWNlIElu
QnlJZCB7CiAKIG5hbWVzcGFjZSBJbkJ5VmFsIHsKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3Mg
cmVzdWx0SlNSIHsgSlNSSW5mbzo6cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0
KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDAgfTsK
LSAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMSB9
OwotICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMiB9Owot
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0jZWxp
ZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsg
R1BSSW5mbzo6cmVnVDEsIEdQUkluZm86OnJlZ1QwIH07Ci0gICAgY29uc3RleHByIEpTVmFsdWVS
ZWdzIHByb3BlcnR5SlNSIHsgR1BSSW5mbzo6cmVnVDMsIEdQUkluZm86OnJlZ1QyIH07Ci0gICAg
Y29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQUkluZm86OnJlZ1Q3IH07Ci0gICAgY29u
c3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsKLSNlbmRpZgorICAg
IGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKKyAg
ICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9
OworICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNCB9Owor
ICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQUkluZm86OnJlZ1Q1IH07CiAgICAg
c3RhdGljX2Fzc2VydChiYXNlSlNSID09IEdldEJ5VmFsOjpiYXNlSlNSKTsKICAgICBzdGF0aWNf
YXNzZXJ0KHByb3BlcnR5SlNSID09IEdldEJ5VmFsOjpwcm9wZXJ0eUpTUik7CiB9CiAKIG5hbWVz
cGFjZSBEZWxCeUlkIHsKICAgICAvLyBSZWdpc3RlcnMgdXNlZCBvbiBib3RoIEZhc3QgYW5kIFNs
b3cgcGF0aHMKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBi
YXNlSlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAg
Y29uc3RleHByIEpTVmFsdWVSZWdzIGJhc2VKU1IgeyBKU1JJbmZvOjpqc1JlZ1QzMiB9OwotI2Vu
ZGlmCiAKICAgICAvLyBGYXN0IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgRmFz
dFBhdGggewogICAgICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmVzdWx0SlNSIHsgSlNSSW5m
bzo6cmV0dXJuVmFsdWVKU1IgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4
cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDMgfTsKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSNlbGlmIFVTRShKU1ZB
TFVFMzJfNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZv
OjpyZWdUNyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgeyBHUFJJbmZv
OjpyZWdUNiB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIg
eyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIg
eyBHUFJJbmZvOjpyZWdUNSB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNl
SlNSLCBzdHViSW5mb0dQUiwgc2NyYXRjaEdQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlDIik7CiAg
ICAgfQogCiAgICAgLy8gU2xvdyBwYXRoIG9ubHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIFNs
b3dQYXRoIHsKICAgICAgICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgeyBHUFJJ
bmZvOjpyZWdUMCB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGJ5dGVjb2RlT2Zmc2V0R1BS
IHsgR1BSSW5mbzo6cmVnVDAgfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4
cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBwcm9wZXJ0eUdQUiB7IEdQUkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0
ZXhwciBHUFJSZWcgZWNtYU1vZGVHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OwotI2VsaWYgVVNFKEpT
VkFMVUUzMl82NCkKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7
IGdsb2JhbE9iamVjdEdQUiB9OwogICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BS
IHsgR1BSSW5mbzo6cmVnVDEgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBwcm9wZXJ0eUdQ
UiB7IEdQUkluZm86OnJlZ1Q2IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZWNtYU1vZGVH
UFIgeyBHUFJJbmZvOjpyZWdUNyB9OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcg
cHJvcGVydHlHUFIgeyBHUFJJbmZvOjpyZWdUNCB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IGVjbWFNb2RlR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsKICAgICAgICAgc3RhdGljX2Fzc2VydChu
b092ZXJsYXAoYmFzZUpTUiwgYnl0ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBwcm9wZXJ0
eUdQUiwgZWNtYU1vZGVHUFIpLCAiUmVxdWlyZWQgZm9yIGNhbGwgdG8gQ1RJIHRodW5rIik7CiAg
ICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVybGFwKGJhc2VKU1IsIGdsb2JhbE9iamVjdEdQUiwg
c3R1YkluZm9HUFIsIHByb3BlcnR5R1BSLCBlY21hTW9kZUdQUiksICJSZXF1aXJlZCBmb3IgY2Fs
bCB0byBzbG93IG9wZXJhdGlvbiIpOwogICAgIH0KQEAgLTM4Nyw0MCArMzI5LDI5IEBAIG5hbWVz
cGFjZSBEZWxCeUlkIHsKIAogbmFtZXNwYWNlIERlbEJ5VmFsIHsKICAgICAvLyBSZWdpc3RlcnMg
dXNlZCBvbiBib3RoIEZhc3QgYW5kIFNsb3cgcGF0aHMKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAg
IGNvbnN0ZXhwciBKU1ZhbHVlUmVncyBiYXNlSlNSIHsgR1BSSW5mbzo6cmVnVDEgfTsKLSAgICBj
b25zdGV4cHIgSlNWYWx1ZVJlZ3MgcHJvcGVydHlKU1IgeyBHUFJJbmZvOjpyZWdUMCB9OwotI2Vs
aWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYmFzZUpTUiB7
IEpTUkluZm86OmpzUmVnVDMyIH07CiAgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHByb3BlcnR5
SlNSIHsgSlNSSW5mbzo6anNSZWdUMTAgfTsKLSNlbmRpZgogCiAgICAgLy8gRmFzdCBwYXRoIG9u
bHkgcmVnaXN0ZXJzCiAgICAgbmFtZXNwYWNlIEZhc3RQYXRoIHsKICAgICAgICAgY29uc3RleHBy
IEpTVmFsdWVSZWdzIHJlc3VsdEpTUiB7IEpTUkluZm86OnJldHVyblZhbHVlSlNSIH07Ci0jaWYg
VVNFKEpTVkFMVUU2NCkKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBzdHViSW5mb0dQUiB7IEdQ
UkluZm86OnJlZ1QzIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc2NyYXRjaEdQUiB7IEdQ
UkluZm86OnJlZ1QyIH07Ci0jZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgICAgICBjb25zdGV4
cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDcgfTsKLSAgICAgICAgY29uc3Rl
eHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDYgfTsKLSNlbmRpZgorICAgICAg
ICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKKyAgICAg
ICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSIHsgR1BSSW5mbzo6cmVnVDUgfTsKICAgICAg
ICAgc3RhdGljX2Fzc2VydChub092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIHN0dWJJbmZv
R1BSLCBzY3JhdGNoR1BSKSwgIlJlcXVpcmVkIGZvciBEYXRhSUMiKTsKICAgICB9CiAKICAgICAv
LyBTbG93IHBhdGggb25seSByZWdpc3RlcnMKICAgICBuYW1lc3BhY2UgU2xvd1BhdGggewotI2lm
IFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BS
IHsgR1BSSW5mbzo6cmVnVDIgfTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9m
ZnNldEdQUiB7IEdQUkluZm86OnJlZ1QyIH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1
YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUMyB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGVj
bWFNb2RlR1BSIHsgR1BSSW5mbzo6cmVnVDQgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCiAg
ICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSIHsgR1BSSW5mbzo6cmVnVDQg
fTsKLSAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7IEdQUkluZm86
OnJlZ1Q0IH07Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZv
OjpyZWdUNiB9OwotICAgICAgICBjb25zdGV4cHIgR1BSUmVnIGVjbWFNb2RlR1BSIHsgR1BSSW5m
bzo6cmVnVDcgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBieXRlY29kZU9mZnNldEdQUiB7
IGdsb2JhbE9iamVjdEdQUiB9OworICAgICAgICBjb25zdGV4cHIgR1BSUmVnIHN0dWJJbmZvR1BS
IHsgR1BSSW5mbzo6cmVnVDUgfTsKKyAgICAgICAgY29uc3RleHByIEdQUlJlZyBlY21hTW9kZUdQ
UiB7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QxCisjZWxp
ZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDYKICNlbmRpZgor
ICAgICAgICB9OwogICAgICAgICBzdGF0aWNfYXNzZXJ0KG5vT3ZlcmxhcChiYXNlSlNSLCBwcm9w
ZXJ0eUpTUiwgYnl0ZWNvZGVPZmZzZXRHUFIsIHN0dWJJbmZvR1BSLCBlY21hTW9kZUdQUiksICJS
ZXF1aXJlZCBmb3IgY2FsbCB0byBDVEkgdGh1bmsiKTsKICAgICAgICAgc3RhdGljX2Fzc2VydChu
b092ZXJsYXAoYmFzZUpTUiwgcHJvcGVydHlKU1IsIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9H
UFIsIGVjbWFNb2RlR1BSKSwgIlJlcXVpcmVkIGZvciBjYWxsIHRvIHNsb3cgb3BlcmF0aW9uIik7
CiAgICAgfQpAQCAtNDMxLDExICszNjIsNyBAQCBuYW1lc3BhY2UgUHJpdmF0ZUJyYW5kIHsKICAg
ICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgYnJhbmRKU1IgeyBHZXRCeVZhbDo6cHJvcGVydHlKU1Ig
fTsgLy8gUmVxdWlyZWQgYnkgc2hhcmVkIHNsb3cgcGF0aCB0aHVuawogCiAgICAgbmFtZXNwYWNl
IEZhc3RQYXRoIHsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBjb25zdGV4cHIgR1BSUmVn
IHN0dWJJbmZvR1BSIHsgR1BSSW5mbzo6cmVnVDIgfTsKLSNlbGlmIFVTRShKU1ZBTFVFMzJfNjQp
Ci0gICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHUFJJbmZvOjpyZWdUNyB9
OwotI2VuZGlmCisgICAgICAgIGNvbnN0ZXhwciBHUFJSZWcgc3R1YkluZm9HUFIgeyBHZXRCeVZh
bDo6RmFzdFBhdGg6OnN0dWJJbmZvR1BSIH07CiAgICAgICAgIHN0YXRpY19hc3NlcnQobm9PdmVy
bGFwKGJhc2VKU1IsIGJyYW5kSlNSLCBzdHViSW5mb0dQUiksICJSZXF1aXJlZCBmb3IgRGF0YUlD
Iik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUklu
Zm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCmluZGV4IGYxOTAyZDI1
MDA2YThkYzY0MTZhMjQ5ZDM1ZjA3YTY4YjdlZjkyY2QuLjFlYjA1YWY0MWVmNWE1YWQ1ODQ0ZDFm
NmE0Y2I2ZWFiNTkyM2Q3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
R1BSSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCkBAIC01
NjYsMTIgKzU2NiwxMiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVn
VDEgPSBBUk1SZWdpc3RlcnM6OnIxOwogICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Qy
ID0gQVJNUmVnaXN0ZXJzOjpyMjsKICAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUMyA9
IEFSTVJlZ2lzdGVyczo6cjM7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDQgPSBB
Uk1SZWdpc3RlcnM6OnI4OwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q1ID0gQVJN
UmVnaXN0ZXJzOjpyOTsKLSAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUNiA9IEFSTVJl
Z2lzdGVyczo6cjU7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDcgPSBBUk1SZWdp
c3RlcnM6OnI0OwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ0NTMCA9IEFSTVJlZ2lz
dGVyczo6cjExOwotICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ0NTMSA9IEFSTVJlZ2lz
dGVyczo6cjEwOworICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q0ID0gQVJNUmVnaXN0
ZXJzOjpyNDsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdUNSA9IEFSTVJlZ2lzdGVy
czo6cjU7CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgcmVnVDYgPSBBUk1SZWdpc3RlcnM6
OnI4OworICAgIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIHJlZ1Q3ID0gQVJNUmVnaXN0ZXJzOjpy
OTsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdDUzAgPSBBUk1SZWdpc3RlcnM6OnIx
MDsKKyAgICBzdGF0aWMgY29uc3RleHByIEdQUlJlZyByZWdDUzEgPSBBUk1SZWdpc3RlcnM6OnIx
MTsKICAgICAvLyBUaGVzZSByZWdpc3RlcnMgbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVC4KICAgICBz
dGF0aWMgY29uc3RleHByIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6
ZnA7CiAgICAgLy8gVGhlc2UgY29uc3RhbnRzIHByb3ZpZGUgdGhlIG5hbWVzIGZvciB0aGUgZ2Vu
ZXJhbCBwdXJwb3NlIGFyZ3VtZW50ICYgcmV0dXJuIHZhbHVlIHJlZ2lzdGVycy4KQEAgLTU3OSw3
ICs1NzksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgYXJndW1lbnRH
UFIxID0gQVJNUmVnaXN0ZXJzOjpyMTsgLy8gcmVnVDEKICAgICBzdGF0aWMgY29uc3RleHByIEdQ
UlJlZyBhcmd1bWVudEdQUjIgPSBBUk1SZWdpc3RlcnM6OnIyOyAvLyByZWdUMgogICAgIHN0YXRp
YyBjb25zdGV4cHIgR1BSUmVnIGFyZ3VtZW50R1BSMyA9IEFSTVJlZ2lzdGVyczo6cjM7IC8vIHJl
Z1QzCi0gICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uQXJnR1BSMCA9IEFSTVJlZ2lzdGVy
czo6cjQ7IC8vIHJlZ1Q3CisgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uQXJnR1BSMCA9
IEFSTVJlZ2lzdGVyczo6cjQ7IC8vIHJlZ1Q0CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcg
cmV0dXJuVmFsdWVHUFIgPSBBUk1SZWdpc3RlcnM6OnIwOyAvLyByZWdUMAogICAgIHN0YXRpYyBj
b25zdGV4cHIgR1BSUmVnIHJldHVyblZhbHVlR1BSMiA9IEFSTVJlZ2lzdGVyczo6cjE7IC8vIHJl
Z1QxCiAgICAgc3RhdGljIGNvbnN0ZXhwciBHUFJSZWcgbm9uUHJlc2VydmVkTm9uUmV0dXJuR1BS
ID0gQVJNUmVnaXN0ZXJzOjpyNTsKQEAgLTYwMyw3ICs2MDMsNyBAQCBwdWJsaWM6CiAgICAgICAg
IEFTU0VSVChyZWcgIT0gSW52YWxpZEdQUlJlZyk7CiAgICAgICAgIEFTU0VSVChzdGF0aWNfY2Fz
dDxpbnQ+KHJlZykgPCAxNik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmRleEZv
clJlZ2lzdGVyWzE2XSA9Ci0gICAgICAgICAgICB7IDAsIDEsIDIsIDMsIDcsIDYsIEludmFsaWRJ
bmRleCwgSW52YWxpZEluZGV4LCA0LCA1LCA5LCA4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAgICAgICAgICAgIHsgMCwgMSwgMiwg
MywgNCwgNSwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDYsIDcsIDgsIDksIEludmFsaWRJ
bmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OwogICAgICAg
ICB1bnNpZ25lZCByZXN1bHQgPSBpbmRleEZvclJlZ2lzdGVyW3JlZ107CiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAgICAgfQpAQCAtMTEzNiw4ICsxMTM2LDggQEAgcHVibGljOgogICAgICAgICAv
LyB0aGUgbGluayByZWdpc3RlciBhcyBhIHRlbXBvcmFyeS4KICAgICAgICAgcmV0dXJuIHBpY2tK
U1I8T3BlcmF0aW9uVHlwZSwgQXJnTnVtPigKICAgICAgICAgICAgIEdQUkluZm86OmFyZ3VtZW50
R1BSMCwgR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJbmZvOjphcmd1bWVudEdQUjIsCi0gICAg
ICAgICAgICBHUFJJbmZvOjphcmd1bWVudEdQUjMsIEdQUkluZm86OnJlZ1Q3LCAgICAgICAgR1BS
SW5mbzo6cmVnVDYsCi0gICAgICAgICAgICBHUFJJbmZvOjpyZWdUNCwgICAgICAgIEdQUkluZm86
OnJlZ1Q1LCAgICAgICAgQVJNUmVnaXN0ZXJzOjpscik7CisgICAgICAgICAgICBHUFJJbmZvOjph
cmd1bWVudEdQUjMsIEdQUkluZm86OnJlZ1Q0LCAgICAgICAgR1BSSW5mbzo6cmVnVDUsCisgICAg
ICAgICAgICBHUFJJbmZvOjpyZWdUNiwgICAgICAgIEdQUkluZm86OnJlZ1Q3LCAgICAgICAgQVJN
UmVnaXN0ZXJzOjpscik7CiAjZWxpZiBDUFUoTUlQUykKICAgICAgICAgcmV0dXJuIHBpY2tKU1I8
T3BlcmF0aW9uVHlwZSwgQXJnTnVtPigKICAgICAgICAgICAgIEdQUkluZm86OmFyZ3VtZW50R1BS
MCwgR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJbmZvOjphcmd1bWVudEdQUjIsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCA1Yjg1YzdhYzUxN2E3MDJkY2Zk
N2E2MmVkZjA5MjExYTNkNWQzMzNlLi4xYzJjOGEwZDYxZTZlMjc4OWJkYmY5ODI2NjE2MDM2MWJk
YTNhN2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTE1
Niw5ICsxNTYsOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKGNvbnN0IEpTSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVy
czo6SW5zdGFuY2VvZjo6cmVzdWx0SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJz
OjpJbnN0YW5jZW9mOjp2YWx1ZUpTUjsKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6
SW5zdGFuY2VvZjo6cHJvdG9KU1I7Ci0gICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Oklu
c3RhbmNlb2Y6OnN0dWJJbmZvR1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJ
bnN0YW5jZW9mOjpzY3JhdGNoMUdQUjsKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6
SW5zdGFuY2VvZjo6c2NyYXRjaDJHUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6
Okluc3RhbmNlb2Y6OkZhc3RQYXRoOjpzdHViSW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJ
VFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6RmFzdFBhdGg6OnNjcmF0Y2gxR1BSOworICAgIHVzaW5n
IEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjpGYXN0UGF0aDo6c2NyYXRjaDJHUFI7
CiAKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHZhbHVlLCB2YWx1ZUpTUik7CiAgICAgZW1p
dEdldFZpcnR1YWxSZWdpc3Rlcihwcm90bywgcHJvdG9KU1IpOwpAQCAtMTg5LDM2ICsxODksMjkg
QEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24pCiAgICAgYWRkU2xvd0Nhc2UoKTsKICAgICBtX2luc3RhbmNlT2ZzLmFw
cGVuZChnZW4pOwogCisgICAgc2V0RmFzdFBhdGhSZXN1bWVQb2ludCgpOwogICAgIGVtaXRQdXRW
aXJ0dWFsUmVnaXN0ZXIoZHN0LCByZXN1bHRKU1IpOwogfQogCi12b2lkIEpJVDo6ZW1pdFNsb3df
b3BfaW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZl
Y3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImIGl0ZXIpCit2b2lkIEpJVDo6ZW1pdFNsb3df
b3BfaW5zdGFuY2VvZihjb25zdCBKU0luc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+
OjppdGVyYXRvciYgaXRlcikKIHsKICAgICBsaW5rQWxsU2xvd0Nhc2VzKGl0ZXIpOwogCi0gICAg
YXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BJbnN0YW5jZW9mPigpOwot
ICAgIFZpcnR1YWxSZWdpc3RlciByZXN1bHRWUmVnID0gYnl0ZWNvZGUubV9kc3Q7Ci0gICAgCiAg
ICAgSklUSW5zdGFuY2VPZkdlbmVyYXRvciYgZ2VuID0gbV9pbnN0YW5jZU9mc1ttX2luc3RhbmNl
T2ZJbmRleCsrXTsKLSAgICAKKwogICAgIExhYmVsIGNvbGRQYXRoQmVnaW4gPSBsYWJlbCgpOwog
Ci0gICAgdXNpbmcgU2xvd09wZXJhdGlvbiA9IGRlY2x0eXBlKG9wZXJhdGlvbkluc3RhbmNlT2ZP
cHRpbWl6ZSk7Ci0gICAgY29uc3RleHByIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgPSBwcmVmZXJy
ZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAwPigpOwotICAgIGNvbnN0ZXhwciBHUFJSZWcg
c3R1YkluZm9HUFIgPSBwcmVmZXJyZWRBcmd1bWVudEdQUjxTbG93T3BlcmF0aW9uLCAxPigpOwog
ICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9mOjp2YWx1ZUpTUjsKLSAg
ICBzdGF0aWNfYXNzZXJ0KHZhbHVlSlNSID09IHByZWZlcnJlZEFyZ3VtZW50SlNSPFNsb3dPcGVy
YXRpb24sIDI+KCkpOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpJbnN0YW5jZW9m
Ojpwcm90b0pTUjsKLSAgICAvLyBPbiBKU1ZBTFVFMzJfNjQsICdwcm90bycgd2lsbCBiZSBwYXNz
ZWQgb24gc3RhY2sgYW55d2F5Ci0gICAgc3RhdGljX2Fzc2VydChwcm90b0pTUiA9PSBwcmVmZXJy
ZWRBcmd1bWVudEpTUjxTbG93T3BlcmF0aW9uLCAzPigpIHx8IGlzMzJCaXQoKSk7Ci0gICAgc3Rh
dGljX2Fzc2VydChub092ZXJsYXAoZ2xvYmFsT2JqZWN0R1BSLCBzdHViSW5mb0dQUiwgdmFsdWVK
U1IsIHByb3RvSlNSKSk7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6Okluc3RhbmNl
b2Y6OlNsb3dQYXRoOjpnbG9iYWxPYmplY3RHUFI7CisgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdp
c3RlcnM6Okluc3RhbmNlb2Y6OlNsb3dQYXRoOjpzdHViSW5mb0dQUjsKIAogICAgIGxvYWRHbG9i
YWxPYmplY3QoZ2xvYmFsT2JqZWN0R1BSKTsKICAgICBsb2FkQ29uc3RhbnQoZ2VuLm1fdW5saW5r
ZWRTdHViSW5mb0NvbnN0YW50SW5kZXgsIHN0dWJJbmZvR1BSKTsKLSAgICBjYWxsT3BlcmF0aW9u
PFNsb3dPcGVyYXRpb24+KAorICAgIGNhbGxPcGVyYXRpb248ZGVjbHR5cGUob3BlcmF0aW9uSW5z
dGFuY2VPZk9wdGltaXplKT4oCiAgICAgICAgIEFkZHJlc3Moc3R1YkluZm9HUFIsIFN0cnVjdHVy
ZVN0dWJJbmZvOjpvZmZzZXRPZlNsb3dPcGVyYXRpb24oKSksCi0gICAgICAgIHJlc3VsdFZSZWcs
CiAgICAgICAgIGdsb2JhbE9iamVjdEdQUiwgc3R1YkluZm9HUFIsIHZhbHVlSlNSLCBwcm90b0pT
Uik7CisgICAgc3RhdGljX2Fzc2VydChCYXNlbGluZUpJVFJlZ2lzdGVyczo6SW5zdGFuY2VvZjo6
cmVzdWx0SlNSID09IHJldHVyblZhbHVlSlNSKTsKICAgICBnZW4ucmVwb3J0U2xvd1BhdGhDYWxs
KGNvbGRQYXRoQmVnaW4sIENhbGwoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKaW5kZXggYzhiOGIwYmYzZGUxZjNjZmI3YmRkOWIw
MWMyN2E0NzY3OTk5MzdmOC4uZjkxMjEzN2M3NmNlNWUwNDc2MWFhMDMwNzA5YjVjMDRlOTk3MDE4
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vz
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5j
cHAKQEAgLTM4MSw3ICszODEsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfdmFsKGNvbnN0
IEpTSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICB1c2luZyBCYXNlbGluZUpJ
VFJlZ2lzdGVyczo6UHV0QnlWYWw6OnByb3BlcnR5SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklU
UmVnaXN0ZXJzOjpQdXRCeVZhbDo6dmFsdWVKU1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdp
c3RlcnM6OlB1dEJ5VmFsOjpwcm9maWxlR1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0
ZXJzOjpQdXRCeVZhbDo6RmFzdFBhdGg6OnN0dWJJbmZvR1BSOworICAgIHVzaW5nIEJhc2VsaW5l
SklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9HUFI7CiAKICAgICBlbWl0R2V0VmlydHVh
bFJlZ2lzdGVyKGJhc2UsIGJhc2VKU1IpOwogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIocHJv
cGVydHksIHByb3BlcnR5SlNSKTsKQEAgLTQzMCw3ICs0MzAsNyBAQCB2b2lkIEpJVDo6ZW1pdFNs
b3dfb3BfcHV0X2J5X3ZhbChjb25zdCBKU0luc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50
cnk+OjppdAogICAgIEFTU0VSVChCeXRlY29kZUluZGV4KGJ5dGVjb2RlT2Zmc2V0KSA9PSBtX2J5
dGVjb2RlSW5kZXgpOwogICAgIEpJVFB1dEJ5VmFsR2VuZXJhdG9yJiBnZW4gPSBtX3B1dEJ5VmFs
c1ttX3B1dEJ5VmFsSW5kZXgrK107CiAKLSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6
UHV0QnlWYWw6OlNsb3dQYXRoOjpzdHViSW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJl
Z2lzdGVyczo6UHV0QnlWYWw6OnN0dWJJbmZvR1BSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVn
aXN0ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwogCiAgICAgTGFi
ZWwgY29sZFBhdGhCZWdpbiA9IGxhYmVsKCk7CkBAIC00NTgsOSArNDU4LDkgQEAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFnPiBKSVQ6OnNsb3dfb3BfcHV0X2J5X3ZhbF9jYWxs
U2xvd09wZXJhdGlvblQKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6
OnByb3BlcnR5SlNSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6
dmFsdWVKU1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9m
aWxlR1BSOworICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1Yklu
Zm9HUFI7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93UGF0
aDo6Z2xvYmFsT2JqZWN0R1BSOwogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRC
eVZhbDo6U2xvd1BhdGg6OmJ5dGVjb2RlT2Zmc2V0R1BSOwotICAgIHVzaW5nIEJhc2VsaW5lSklU
UmVnaXN0ZXJzOjpQdXRCeVZhbDo6U2xvd1BhdGg6OnN0dWJJbmZvR1BSOwogCiAgICAgaml0LmVt
aXRDVElUaHVua1Byb2xvZ3VlKCk7CiAKQEAgLTQ5Myw3ICs0OTMsNyBAQCB2b2lkIEpJVDo6ZW1p
dF9vcF9wdXRfcHJpdmF0ZV9uYW1lKGNvbnN0IEpTSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OmJhc2VKU1I7
CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpwcm9wZXJ0eUpTUjsK
ICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnZhbHVlSlNSOwotICAg
IHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6RmFzdFBhdGg6OnN0dWJJbmZv
R1BSOworICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6c3R1YkluZm9H
UFI7CiAKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGJhc2UsIGJhc2VKU1IpOwogICAgIGVt
aXRHZXRWaXJ0dWFsUmVnaXN0ZXIocHJvcGVydHksIHByb3BlcnR5SlNSKTsKQEAgLTUyOSw3ICs1
MjksNyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfcHV0X3ByaXZhdGVfbmFtZShjb25zdCBKU0lu
c3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cgogICAgIEpJVFB1dEJ5VmFsR2VuZXJhdG9y
JiBnZW4gPSBtX3B1dEJ5VmFsc1ttX3B1dEJ5VmFsSW5kZXgrK107CiAKICAgICB1c2luZyBCYXNl
bGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpieXRlY29kZU9mZnNldEdQUjsK
LSAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpzdHVi
SW5mb0dQUjsKKyAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnN0dWJJ
bmZvR1BSOwogCiAgICAgTGFiZWwgY29sZFBhdGhCZWdpbiA9IGxhYmVsKCk7CiAgICAgbGlua0Fs
bFNsb3dDYXNlcyhpdGVyKTsKQEAgLTU1Niw5ICs1NTYsOSBAQCBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWY8SklUVGh1bmtQdHJUYWc+IEpJVDo6c2xvd19vcF9wdXRfcHJpdmF0ZV9uYW1lX2NhbGxTbG93
T3BlcgogICAgIHVzaW5nIEJhc2VsaW5lSklUUmVnaXN0ZXJzOjpQdXRCeVZhbDo6cHJvcGVydHlK
U1I7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjp2YWx1ZUpTUjsK
ICAgICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OnByb2ZpbGVHUFI7Cisg
ICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpzdHViSW5mb0dQUjsKICAg
ICB1c2luZyBCYXNlbGluZUpJVFJlZ2lzdGVyczo6UHV0QnlWYWw6OlNsb3dQYXRoOjpnbG9iYWxP
YmplY3RHUFI7CiAgICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6OlB1dEJ5VmFsOjpTbG93
UGF0aDo6Ynl0ZWNvZGVPZmZzZXRHUFI7Ci0gICAgdXNpbmcgQmFzZWxpbmVKSVRSZWdpc3RlcnM6
OlB1dEJ5VmFsOjpTbG93UGF0aDo6c3R1YkluZm9HUFI7CiAKICAgICBqaXQuZW1pdENUSVRodW5r
UHJvbG9ndWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IGE4ZTdjNzM5OWQ1ODFhNTk2MGQwYWE3YWE3MjQzMzVk
YjAzNTRjNzUuLjNlMmM2ZGY2MGE0NzhjYTEwOWFhZGE4YzMzZDYwYzk5NGI1ZDNjMDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c20KQEAgLTMwMiwxMCArMzAyLDcgQEAgZWxzZQogICAgIGlmIENfTE9PUCBvciBDX0xPT1BfV0lO
CiAgICAgICAgIGNvbnN0IFBCID0gY3NyMAogICAgICAgICBjb25zdCBtZXRhZGF0YVRhYmxlID0g
Y3NyMwotICAgIGVsc2lmIEFSTXY3Ci0gICAgICAgIGNvbnN0IG1ldGFkYXRhVGFibGUgPSBjc3Iw
Ci0gICAgICAgIGNvbnN0IFBCID0gY3NyMQotICAgIGVsc2lmIE1JUFMKKyAgICBlbHNpZiBBUk12
NyBvciBNSVBTCiAgICAgICAgIGNvbnN0IG1ldGFkYXRhVGFibGUgPSBjc3IwCiAgICAgICAgIGNv
bnN0IFBCID0gY3NyMQogICAgIGVsc2UKQEAgLTg0MiwxOCArODM5LDcgQEAgbWFjcm8gcHJlc2Vy
dmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50KCkKICAgICBzdWJwIENhbGxlZVNhdmVTcGFjZVN0YWNr
QWxpZ25lZCwgc3AKICAgICBpZiBDX0xPT1Agb3IgQ19MT09QX1dJTgogICAgICAgICBzdG9yZXAg
bWV0YWRhdGFUYWJsZSwgLVB0clNpemVbY2ZyXQotCi0gICAgIyBOZXh0IEFSTXY3IGFuZCBNSVBT
IGRpZmZlciBpbiBob3cgd2Ugc3RvcmUgbWV0YWRhdGFUYWJsZSBhbmQgUEIsCi0gICAgIyBiZWNh
dXNlIHRoaXMgY29kZXMgbmVlZHMgdG8gYmUgaW4gc3luYyB3aXRoIGhvdyByZWdpc3RlcnMgYXJl
Ci0gICAgIyByZXN0b3JlZCBpbiBCYXNlbGluZSBKSVQgKHNwZWNpZmljYWxseSBpbiBlbWl0UmVz
dG9yZUNhbGxlZVNhdmVzRm9yKS4KLSAgICAjIGVtaXRSZXN0b3JlQ2FsbGVlU2F2ZXNGb3IgcmVz
dG9yZXMgcmVnaXN0ZXJzIGluIG9yZGVyIGluc3RlYWQgb2YgYnkgbmFtZS4KLSAgICAjIEhvd2V2
ZXIsIEFSTXY3IGFuZCBNSVBTIGRpZmZlciBpbiB0aGUgb3JkZXIgaW4gd2hpY2ggcmVnaXN0ZXJz
IGFyZSBhc3NpZ25lZAotICAgICMgdG8gbWV0YWRhdGFUYWJsZSBhbmQgUEIsIHRoZXJlZm9yZSB0
aGV5IGNhbiBhbHNvIG5vdCBoYXZlIHRoZSBzYW1lIHNhdmluZwotICAgICMgb3JkZXIuCi0gICAg
ZWxzaWYgQVJNdjcKLSAgICAgICAgc3RvcmVwIG1ldGFkYXRhVGFibGUsIC00W2Nmcl0KLSAgICAg
ICAgc3RvcmVwIFBCLCAtOFtjZnJdCi0gICAgZWxzaWYgTUlQUworICAgIGVsc2lmIEFSTXY3IG9y
IE1JUFMKICAgICAgICAgc3RvcmVwIFBCLCAtNFtjZnJdCiAgICAgICAgIHN0b3JlcCBtZXRhZGF0
YVRhYmxlLCAtOFtjZnJdCiAgICAgZWxzaWYgQVJNNjQgb3IgQVJNNjRFCkBAIC04ODIsMTIgKzg2
OCw3IEBAIGVuZAogbWFjcm8gcmVzdG9yZUNhbGxlZVNhdmVzVXNlZEJ5TExJbnQoKQogICAgIGlm
IENfTE9PUCBvciBDX0xPT1BfV0lOCiAgICAgICAgIGxvYWRwIC1QdHJTaXplW2Nmcl0sIG1ldGFk
YXRhVGFibGUKLSAgICAjIFRvIHVuZGVyc3RhbmQgd2h5IEFSTXY3IGFuZCBNSVBTIGRpZmZlciBp
biByZXN0b3JlIG9yZGVyLAotICAgICMgc2VlIGNvbW1lbnQgaW4gcHJlc2VydmVDYWxsZWVTYXZl
c1VzZWRCeUxMSW50Ci0gICAgZWxzaWYgQVJNdjcKLSAgICAgICAgbG9hZHAgLTRbY2ZyXSwgbWV0
YWRhdGFUYWJsZQotICAgICAgICBsb2FkcCAtOFtjZnJdLCBQQgotICAgIGVsc2lmIE1JUFMKKyAg
ICBlbHNpZiBBUk12NyBvciBNSVBTCiAgICAgICAgIGxvYWRwIC00W2Nmcl0sIFBCCiAgICAgICAg
IGxvYWRwIC04W2Nmcl0sIG1ldGFkYXRhVGFibGUKICAgICBlbHNpZiBBUk02NCBvciBBUk02NEUK
QEAgLTk1MCwxMiArOTMxLDcgQEAgbWFjcm8gY29weUNhbGxlZVNhdmVzVG9FbnRyeUZyYW1lQ2Fs
bGVlU2F2ZXNCdWZmZXIoZW50cnlGcmFtZSkKICAgICAgICAgICAgIHN0b3JlcSBjc3I0LCAzMltl
bnRyeUZyYW1lXQogICAgICAgICAgICAgc3RvcmVxIGNzcjUsIDQwW2VudHJ5RnJhbWVdCiAgICAg
ICAgICAgICBzdG9yZXEgY3NyNiwgNDhbZW50cnlGcmFtZV0KLSAgICAgICAgIyBUbyB1bmRlcnN0
YW5kIHdoeSBBUk12NyBhbmQgTUlQUyBkaWZmZXIgaW4gc3RvcmUgb3JkZXIsCi0gICAgICAgICMg
c2VlIGNvbW1lbnQgaW4gcHJlc2VydmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50Ci0gICAgICAgIGVs
c2lmIEFSTXY3Ci0gICAgICAgICAgICBzdG9yZXAgY3NyMSwgW2VudHJ5RnJhbWVdCi0gICAgICAg
ICAgICBzdG9yZXAgY3NyMCwgNFtlbnRyeUZyYW1lXQotICAgICAgICBlbHNpZiBNSVBTCisgICAg
ICAgIGVsc2lmIEFSTXY3IG9yIE1JUFMKICAgICAgICAgICAgIHN0b3JlcCBjc3IwLCBbZW50cnlG
cmFtZV0KICAgICAgICAgICAgIHN0b3JlcCBjc3IxLCA0W2VudHJ5RnJhbWVdCiAgICAgICAgIGVs
c2lmIFJJU0NWNjQKQEAgLTEwMzEsMTIgKzEwMDcsNyBAQCBtYWNybyByZXN0b3JlQ2FsbGVlU2F2
ZXNGcm9tVk1FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIodm0sIHRlbXApCiAgICAgICAgICAg
ICBsb2FkcSAzMlt0ZW1wXSwgY3NyNAogICAgICAgICAgICAgbG9hZHEgNDBbdGVtcF0sIGNzcjUK
ICAgICAgICAgICAgIGxvYWRxIDQ4W3RlbXBdLCBjc3I2Ci0gICAgICAgICMgVG8gdW5kZXJzdGFu
ZCB3aHkgQVJNdjcgYW5kIE1JUFMgZGlmZmVyIGluIHJlc3RvcmUgb3JkZXIsCi0gICAgICAgICMg
c2VlIGNvbW1lbnQgaW4gcHJlc2VydmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50Ci0gICAgICAgIGVs
c2lmIEFSTXY3Ci0gICAgICAgICAgICBsb2FkcCBbdGVtcF0sIGNzcjEKLSAgICAgICAgICAgIGxv
YWRwIDRbdGVtcF0sIGNzcjAKLSAgICAgICAgZWxzaWYgTUlQUworICAgICAgICBlbHNpZiBBUk12
NyBvciBNSVBTCiAgICAgICAgICAgICBsb2FkcCBbdGVtcF0sIGNzcjAKICAgICAgICAgICAgIGxv
YWRwIDRbdGVtcF0sIGNzcjEKICAgICAgICAgZWxzaWYgUklTQ1Y2NApAQCAtMTgxMCwzMiArMTc4
MSwzNyBAQCBpZiBub3QgKENfTE9PUCBvciBDX0xPT1BfV0lOKQogICAgIF9zYW5pdGl6ZVN0YWNr
Rm9yVk1JbXBsOgogICAgICAgICB0YWdSZXR1cm5BZGRyZXNzIHNwCiAgICAgICAgICMgV2UgbmVl
ZCB0aHJlZSBub24tYWxpYXNlZCBjYWxsZXItc2F2ZSByZWdpc3RlcnMuIFdlIGFyZSBndWFyYW50
ZWVkCi0gICAgICAgICMgdGhpcyBmb3IgYTAsIGExIGFuZCBhMiBvbiBhbGwgYXJjaGl0ZWN0dXJl
cy4KKyAgICAgICAgIyB0aGlzIGZvciBhMCwgYTEgYW5kIGEyIG9uIGFsbCBhcmNoaXRlY3R1cmVz
LiBCZXdhcmUgYWxzbyB0aGF0CisgICAgICAgICMgb2ZmbGluZWFzbSBtaWdodCB1c2UgdGVtcG9y
YXJ5IHJlZ2lzdGVycyB3aGVuIGxvd2VyaW5nIGNvbXBsZXgKKyAgICAgICAgIyBpbnN0cnVjdGlv
bnMgb24gc29tZSBwbGF0Zm9ybXMsIHdoaWNoIG1pZ2h0IGJlIGNhbGxlZS1zYXZlLiBUbyBhdm9p
ZAorICAgICAgICAjIHRoaXMsIHdlIHVzZSB0aGUgc2ltcGxlc3QgaW5zdHJ1Y3Rpb25zIHNvIHdl
IG5ldmVyIG5lZWQgYSB0ZW1wb3JhcnkKKyAgICAgICAgIyBhbmQgaGVuY2UgZG9uJ3QgY2xvYmJl
ciBhbnkgY2FsbGVlLXNhdmUgcmVnaXN0ZXJzLgogICAgICAgICBpZiBYODYgb3IgWDg2X1dJTgog
ICAgICAgICAgICAgbG9hZHAgNFtzcF0sIGEwCiAgICAgICAgIGVuZAotICAgICAgICBjb25zdCB2
bU9yU3RhcnRTUCA9IGEwCiAgICAgICAgIGNvbnN0IGFkZHJlc3MgPSBhMQotICAgICAgICBjb25z
dCB6ZXJvVmFsdWUgPSBhMgotICAgIAotICAgICAgICBsb2FkcCBWTTo6bV9sYXN0U3RhY2tUb3Bb
dm1PclN0YXJ0U1BdLCBhZGRyZXNzCi0gICAgICAgIG1vdmUgc3AsIHplcm9WYWx1ZQotICAgICAg
ICBzdG9yZXAgemVyb1ZhbHVlLCBWTTo6bV9sYXN0U3RhY2tUb3Bbdm1PclN0YXJ0U1BdCi0gICAg
ICAgIG1vdmUgc3AsIHZtT3JTdGFydFNQCisgICAgICAgIGNvbnN0IHNjcmF0Y2ggPSBhMgorCisg
ICAgICAgIG1vdmUgVk06Om1fbGFzdFN0YWNrVG9wLCBzY3JhdGNoCisgICAgICAgIGFkZHAgc2Ny
YXRjaCwgYTAKKyAgICAgICAgbG9hZHAgW2EwXSwgYWRkcmVzcworICAgICAgICBtb3ZlIHNwLCBz
Y3JhdGNoCisgICAgICAgIHN0b3JlcCBzY3JhdGNoLCBbYTBdCisgICAgICAgIG1vdmUgc3AsIGEw
CiAKICAgICAgICAgYnBiZXEgc3AsIGFkZHJlc3MsIC56ZXJvRmlsbERvbmUKICAgICAgICAgbW92
ZSBhZGRyZXNzLCBzcAogCi0gICAgICAgIG1vdmUgMCwgemVyb1ZhbHVlCisgICAgICAgIG1vdmUg
MCwgc2NyYXRjaAogICAgIC56ZXJvRmlsbExvb3A6Ci0gICAgICAgIHN0b3JlcCB6ZXJvVmFsdWUs
IFthZGRyZXNzXQorICAgICAgICBzdG9yZXAgc2NyYXRjaCwgW2FkZHJlc3NdCiAgICAgICAgIGFk
ZHAgUHRyU2l6ZSwgYWRkcmVzcwotICAgICAgICBicGEgdm1PclN0YXJ0U1AsIGFkZHJlc3MsIC56
ZXJvRmlsbExvb3AKKyAgICAgICAgYnBhIGEwLCBhZGRyZXNzLCAuemVyb0ZpbGxMb29wCiAKICAg
ICAuemVyb0ZpbGxEb25lOgotICAgICAgICBtb3ZlIHZtT3JTdGFydFNQLCBzcAorICAgICAgICBt
b3ZlIGEwLCBzcAogICAgICAgICByZXQKLSAgICAKKwogICAgICMgVk1FbnRyeVJlY29yZCogdm1F
bnRyeVJlY29yZChjb25zdCBFbnRyeUZyYW1lKiBlbnRyeUZyYW1lKQogICAgIGdsb2JhbCBfdm1F
bnRyeVJlY29yZAogICAgIF92bUVudHJ5UmVjb3JkOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL29mZmxpbmVhc20vYXJtLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vYXJtLnJiCmluZGV4IDljNTQ4YTNjMmU4ZWUyMDVkNTQ3YTM1Y2EyOGQ1MTYyYzdlZjM2
ZGEuLjk1Yzg1YzExMzQxYmU5NDk1ZjExZTc3ODhhNGIzNzBhNmQ5MWJiYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybS5yYgorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm0ucmIKQEAgLTMxLDE1ICszMSwxNyBAQCByZXF1aXJl
ICJyaXNjIgogIwogIyAgeDAgPT4gdDAsIGEwLCByMAogIyAgeDEgPT4gdDEsIGExLCByMQotIyAg
eDIgPT4gdDIsIGEyLCByMgotIyAgeDMgPT4gdDMsIGEzLCByMwotIyAgeDYgPT4gICAgICAgICAg
ICAoY2FsbGVlLXNhdmUgc2NyYXRjaCkKKyMgIHgyID0+IHQyLCBhMgorIyAgeDMgPT4gdDMsIGEz
CisjICB4NCA9PiB0NCAgICAgICAgICAgICAgICAgKGNhbGxlZS1zYXZlLCBQQykKKyMgIHg1ID0+
IHQ1ICAgICAgICAgICAgICAgICAoY2FsbGVlLXNhdmUpCisjICB4NiA9PiBzY3JhdGNoICAgICAg
ICAgICAgKGNhbGxlZS1zYXZlKQogIyAgeDcgPT4gY2ZyCi0jICB4OCA9PiB0NCAgICAgICAgIChj
YWxsZWUtc2F2ZSkKLSMgIHg5ID0+IHQ1ICAgICAgICAgKGNhbGxlZS1zYXZlKQotIyB4MTAgPT4g
Y3NyMSAgICAgICAoY2FsbGVlLXNhdmUsIFBCKQotIyB4MTEgPT4gY2ZyLCBjc3IwICAoY2FsbGVl
LXNhdmUsIG1ldGFkYXRhVGFibGUpCi0jIHgxMiA9PiAgICAgICAgICAgIChjYWxsZWUtc2F2ZSBz
Y3JhdGNoKQorIyAgeDggPT4gdDYgICAgICAgICAgICAgICAgIChjYWxsZWUtc2F2ZSkKKyMgIHg5
ID0+IHQ3LCBhbHNvIHNjcmF0Y2ghICAoY2FsbGVlLXNhdmUpCisjIHgxMCA9PiBjc3IwICAgICAg
ICAgICAgICAgKGNhbGxlZS1zYXZlLCBtZXRhZGF0YVRhYmxlKQorIyB4MTEgPT4gY3NyMSAgICAg
ICAgICAgICAgIChjYWxsZWUtc2F2ZSwgUEIpCisjIHgxMiA9PiBzY3JhdGNoICAgICAgICAgICAg
KGNhbGxlZS1zYXZlKQogIyAgbHIgPT4gbHIKICMgIHNwID0+IHNwCiAjICBwYyA9PiBwYwpAQCAt
NjksNyArNzEsMTAgQEAgY2xhc3MgU3BlY2lhbFJlZ2lzdGVyCiAgICAgZW5kCiBlbmQKIAotQVJN
X0VYVFJBX0dQUlMgPSBbU3BlY2lhbFJlZ2lzdGVyLm5ldygicjYiKSwgU3BlY2lhbFJlZ2lzdGVy
Lm5ldygicjQiKSwgU3BlY2lhbFJlZ2lzdGVyLm5ldygicjEyIildCisjIFRoZXNlIGFyZSBhbGxv
Y2F0ZWQgZnJvbSB0aGUgZW5kLiBVc2UgdGhlIGxvdyBvcmRlciByNiBmaXJzdCwgYXN0IGl0J3Mg
b2Z0ZW4KKyMgY2hlYXBlciB0byBlbmNvZGUuIHIxMiBhbmQgcjkgYXJlIGVxdWl2YWxlbnQsIGJ1
dCByOSBjb25mbGljdHMgd2l0aCB0Nywgc28gcjkKKyMgb25seSBhcyBsYXN0IHJlc29ydC4KK0FS
TV9FWFRSQV9HUFJTID0gW1NwZWNpYWxSZWdpc3Rlci5uZXcoInI5IiksIFNwZWNpYWxSZWdpc3Rl
ci5uZXcoInIxMiIpLCBTcGVjaWFsUmVnaXN0ZXIubmV3KCJyNiIpXQogQVJNX0VYVFJBX0ZQUlMg
PSBbU3BlY2lhbFJlZ2lzdGVyLm5ldygiZDciKV0KIEFSTV9TQ1JBVENIX0ZQUiA9IFNwZWNpYWxS
ZWdpc3Rlci5uZXcoImQ2IikKIE9TX0RBUldJTiA9ICgoUlVCWV9QTEFURk9STSA9fiAvZGFyd2lu
L2kpICE9IG5pbCkKQEAgLTk5LDIwICsxMDQsMjIgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAg
ICAgICAgInIxIgogICAgICAgICB3aGVuICJ0MiIsICJhMiIKICAgICAgICAgICAgICJyMiIKLSAg
ICAgICAgd2hlbiAiYTMiCisgICAgICAgIHdoZW4gInQzIiwgImEzIgogICAgICAgICAgICAgInIz
IgotICAgICAgICB3aGVuICJ0MyIKLSAgICAgICAgICAgICJyMyIKLSAgICAgICAgd2hlbiAidDQi
Ci0gICAgICAgICAgICAicjgiCisgICAgICAgIHdoZW4gInQ0IiAjIExMSW50IFBDCisgICAgICAg
ICAgICAicjQiCiAgICAgICAgIHdoZW4gInQ1IgotICAgICAgICAgICAgInI5IgorICAgICAgICAg
ICAgInI1IgogICAgICAgICB3aGVuICJjZnIiCiAgICAgICAgICAgICAicjciCisgICAgICAgIHdo
ZW4gInQ2IgorICAgICAgICAgICAgInI4IgorICAgICAgICB3aGVuICJ0NyIKKyAgICAgICAgICAg
ICJyOSIgIyByOSBpcyBhbHNvIGEgc2NyYXRjaCByZWdpc3Rlciwgc28gdXNlIGNhcmVmdWxseSEK
ICAgICAgICAgd2hlbiAiY3NyMCIKLSAgICAgICAgICAgICJyMTEiCi0gICAgICAgIHdoZW4gImNz
cjEiCiAgICAgICAgICAgICAicjEwIgorICAgICAgICB3aGVuICJjc3IxIgorICAgICAgICAgICAg
InIxMSIKICAgICAgICAgd2hlbiAibHIiCiAgICAgICAgICAgICAibHIiCiAgICAgICAgIHdoZW4g
InNwIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>