<?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>217559</bug_id>
          
          <creation_ts>2020-10-10 02:32:26 -0700</creation_ts>
          <short_desc>[WebAuthn] Implement a dummy WebAuthnProcess</short_desc>
          <delta_ts>2020-10-16 12:38:55 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=217401</see_also>
          <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>
          
          <blocked>181943</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>rmondello</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1696497</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-10-10 02:32:26 -0700</bug_when>
    <thetext>Implement a dummy WebAuthenticationAgent Part 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696498</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-10 02:32:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/70168749&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696499</commentid>
    <comment_count>2</comment_count>
      <attachid>411008</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-10-10 03:12:10 -0700</bug_when>
    <thetext>Created attachment 411008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1697915</commentid>
    <comment_count>3</comment_count>
      <attachid>411378</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-10-14 15:25:33 -0700</bug_when>
    <thetext>Created attachment 411378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698003</commentid>
    <comment_count>4</comment_count>
      <attachid>411396</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-10-14 19:45:30 -0700</bug_when>
    <thetext>Created attachment 411396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698655</commentid>
    <comment_count>5</comment_count>
      <attachid>411396</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-10-16 10:02:48 -0700</bug_when>
    <thetext>Comment on attachment 411396
Patch

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

You should have Chris Dumez take a look at the process assertion bits, but this seems to be correct as far as I can tell. You should also file a bug to add relevant entitlements to the new service once you start moving calls to USB/NFC things into this new code path.

&gt; Source/WebKit/ChangeLog:25
&gt; +        This patch therefore focues on making the WebAuthn process happen and removes the WebAuthn daemon.

focus

&gt; Source/WebKit/ChangeLog:45
&gt; +        Paperwork for introudcing the new WebAuthn process. Mostly copied from GPU process.

introducing

&gt; Source/WebKit/ChangeLog:125
&gt; +        Paperwork for introudcing the new WebAuthn process. Mostly copied from GPU process.

introducing

&gt; Source/WebKit/ChangeLog:128
&gt; +        The sandbox profile is originally from the GPU Process with IOKit related rules removed. Will tighten it again after the process is functional properly.

&quot;process is fully functional&quot;

&gt; Source/WebKit/ChangeLog:153
&gt; +        Paperwork for introudcing the new WebAuthn process. Mostly copied from GPU process.

introducing

&gt; Source/WebCore/en.lproj/Localizable.strings:49
&gt; +/* visible name of the GPU process. The argument is the application name. */

This isn&apos;t the GPU Process. This is the Web Authentication process!

&gt; Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm:81
&gt; +    // On Mac, leak a boost onto the NetworkProcess, GPUProcess and WebAuthnProcess.

Please use the &quot;Oxford Comma&quot;:  &quot;NetworkProcess, GPUProcess, and WebAuthnProcess.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698699</commentid>
    <comment_count>6</comment_count>
      <attachid>411396</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-10-16 11:44:11 -0700</bug_when>
    <thetext>Comment on attachment 411396
Patch

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

Thanks Brent for r+ this patch.

&gt;&gt; Source/WebKit/ChangeLog:25
&gt;&gt; +        This patch therefore focues on making the WebAuthn process happen and removes the WebAuthn daemon.
&gt; 
&gt; focus

Fixed.

&gt;&gt; Source/WebKit/ChangeLog:45
&gt;&gt; +        Paperwork for introudcing the new WebAuthn process. Mostly copied from GPU process.
&gt; 
&gt; introducing

Fixed.

&gt;&gt; Source/WebKit/ChangeLog:125
&gt;&gt; +        Paperwork for introudcing the new WebAuthn process. Mostly copied from GPU process.
&gt; 
&gt; introducing

Fixed.

&gt;&gt; Source/WebKit/ChangeLog:128
&gt;&gt; +        The sandbox profile is originally from the GPU Process with IOKit related rules removed. Will tighten it again after the process is functional properly.
&gt; 
&gt; &quot;process is fully functional&quot;

Fixed.

&gt;&gt; Source/WebKit/ChangeLog:153
&gt;&gt; +        Paperwork for introudcing the new WebAuthn process. Mostly copied from GPU process.
&gt; 
&gt; introducing

Fixed.

&gt;&gt; Source/WebCore/en.lproj/Localizable.strings:49
&gt;&gt; +/* visible name of the GPU process. The argument is the application name. */
&gt; 
&gt; This isn&apos;t the GPU Process. This is the Web Authentication process!

Oops. Fixed.

&gt;&gt; Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm:81
&gt;&gt; +    // On Mac, leak a boost onto the NetworkProcess, GPUProcess and WebAuthnProcess.
&gt; 
&gt; Please use the &quot;Oxford Comma&quot;:  &quot;NetworkProcess, GPUProcess, and WebAuthnProcess.&quot;

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698700</commentid>
    <comment_count>7</comment_count>
      <attachid>411602</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-10-16 11:45:38 -0700</bug_when>
    <thetext>Created attachment 411602
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698716</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-16 12:38:53 -0700</bug_when>
    <thetext>Committed r268605: &lt;https://trac.webkit.org/changeset/268605&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 411602.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411008</attachid>
            <date>2020-10-10 03:12:10 -0700</date>
            <delta_ts>2020-10-14 15:25:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217559-20201010031209.patch</filename>
            <type>text/plain</type>
            <size>11824</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY3N2Q4YWJjMGVjMWQwNGU0
OWQxMTJhNjhjNWIzNjQyN2FmYmU2MWUuLjkxYzZiNmE1MjdkNzQxMTMxZGFmMmIzYmNlZmUzM2Q5
ZDQ0NjY3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjAtMTAtMTAgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIEltcGxlbWVu
dCBhIGR1bW15IFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQgUGFydCAyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTc1NTkKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzcwMTY4NzQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgaXMgYSBXSVAgcGF0Y2guIEp1c3QgdXBsb2FkZWQgdG8gc2hvd2Nhc2Ug
c29tZSBwcm9ibGVtcyBJIGhhdmUgZW5jb3VudGVyZWQgZHVyaW5nIHRoaXMgaW52ZXN0aWdhdGlv
bi4KKworICAgICAgICBUd28gbWFqb3Igcm9hZCBibG9ja2VycyBhcmUgaWRlbnRpZmllZCB0byBt
YWtlIHRoaXMgZGFlbW9uIHJlYWxseSBoYXBwZW4uCisgICAgICAgIDEpIFRoZSBtYWpvciBvbmUg
aXMgb24gbWFjT1MuIE5ldyBkYWVtb25zIGNhbm5vdCBiZSBpbnN0YWxsZWQgd2l0aG91dCBhIHN5
c3RlbSB1cGRhdGUuIEl0IG1lYW5zIHJlbG9jYXRhYmxlIFNhZmFyaSAoZS5nLiBTVFApCisgICAg
ICAgIGFuZCBzdGFnZWQgU2FmYXJpIG9uIGRvd25sZXZlbCBPU2VzIHdpbGwgbm90IGdldCB0aGlz
IGZlYXR1cmUuIEFuZCByZWxvY2F0YWJsZSBTVFAgY2FuIG9ubHkgdXRpbGl6ZSB0aGUgc3lzdGVt
IGRhZW1vbi4gVGhpcworICAgICAgICBzZWVtcyBhIGJpbW1lciBlc3BlY2FpbGx5IGZvciB0aGUg
U1RQIGNhc2UgZ2l2ZW4gaXQgaXMgaGVhdmlseSB1c2VkIHRvIHRlc3QgbGF0ZXN0IHdlYiBmZWF0
dXJlcy4gT24gdGhlIG90aGVyIGhhbmQsIFRoaXMgcGF0Y2gKKyAgICAgICAgc2hvd2Nhc2VzIHRo
aW5ncyB3ZSBjYW4gZG8gZm9yIG5vbi1zdGFnZWQgU2FmYXJpIGFuZCBzdGFnZWQgU2FmYXJpIG9u
ICsxIE9TZXMgKG5vdCBjb21wbGV0ZWQpLiBGb3Igbm9uLXN0YWdlZCBTYWZhcmksIHRoZSBpbnN0
YWxsYXRpb24KKyAgICAgICAgcHJvY2VzcyBjYW4gcGxhY2UgYSBzeW1saW5rIG9mIHRoZSBsYXVu
Y2hkIHBsaXN0IG9uIC9TeXN0ZW0vLi4uIHRvIHBvaW50IHRvIGEgbG9jYXRpb24gdGhhdCBpcyBv
d25lZCBieSBXZWJLaXQvU2FmYXJpIHdoaWNoIGlzIG91dHNpZGUKKyAgICAgICAgb2YgdGhlIHN5
c3RlbSBwYXJ0aXRpb24sIGFuZCB0aGVuIHN0YWdlZC9ub25lLXN0YWdlZCBTYWZhcmkgY2FuIHVw
ZGF0ZSB0aGlzIHBsaXN0IHRvIHBvaW50IHRvIHRoZSByaWdodCBiaW5hcnkuIFRoaXMgbG9jYXRp
b24gaXMgd2VsbAorICAgICAgICBlc3RhYmxpc2hlZCBmb3IgU2FmYXJpIGRhZW1vbnMsIGJ1dCBp
dCBpcyB1bmtub3duIHdoZXRoZXIgV2ViS2l0IGNhbiBkaXJlY3RseSByZXVzZSB0aGF0LgorICAg
ICAgICAyKSBBZGRpdGlvbmFsIHBsdW1iaW5nIGlzIG5lZWRlZCBmb3IgdGVzdGluZyBhbmQgZW5n
aW5lZXJpbmcgYnVpbGRzLiBUaGlzIHByb2JsZW0gaXMgc3BlY2lmaWMgdG8gV2ViS2l0IGFuZCBp
cyBvbiBib3RoIG1hY09TIGFuZCBpT1MuCisgICAgICAgIFdlYktpdCBkb2Vzbid0IGJ1aWxkIHJv
b3RzIHRvIHRlc3QgZW5naW5lZXJpbmcgYnVpbGRzLCB3aGljaCBpcyByZXF1aXJlZCB0byB1cGRh
dGUgdGhlIHBsaXN0IG9uIHRoZSBhYm92ZSBsb2NhdGlvbi4gSGVuY2UsIGEgc2VwYXJhdGUKKyAg
ICAgICAgY29uZmlndXJhdGlvbiBpcyBuZWVkZWQgdG8gZ2VuZXJhdGUgYSBkaWZmZXJlbnQgcGxp
c3QgdGhhdCBwb2ludHMgdG8gdGhlIHJpZ2h0IGVuZ2luZWVyaW5nIGJpbmFyeSBhbmQgYWRkaXRp
b25hbCBzY3JpcHRzIHdpbGwgYmUgbmVlZGVkCisgICAgICAgIHRvIGFzayBsYXVuY2hkIHRvIGxv
YWQgdGhlIHBsaXN0IGJlZm9yZSBydW5uaW5nIGFueSB0ZXN0cy4gU29tZSBleHRyYSBleGVyY2lz
ZXMgYXJlIHByb2JhYmx5IG5lZWRlZCB0byBub3QgY29uZnVzZSBsYXVuY2hkIGFib3V0IHRoZQor
ICAgICAgICBlbmdpbmVlcmluZyBiaW5hcnkgYW5kIHN5c3RlbSBiaW5hcnkuCisKKyAgICAgICAg
R2l2ZW4gdGhlIGFib3V0IHR3byByb2FkIGJsb2NrZXJzLCBtYWtpbmcgdGhpcyBwcm9jZXNzIGFz
IGEgZGFlbW9uIGlzIHByb2JhYmx5IG5vdCB0aGUgYmVzdCBhcHByb2FjaCBmb3IgV2ViS2l0Lgor
CisgICAgICAgIENvdmVyZWQgYnkgbWFudWFsIHRlc3RzLgorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC54Y2NvbmZpZzoKKyAgICAgICAgKiBEYWVtb25z
L1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvY29tLmFwcGxlLndlYmtpdC5XZWJBdXRoZW50aWNhdGlv
bkFnZW50LnBsaXN0OgorICAgICAgICAqIFNjcmlwdHMvY29weS1sYXVuY2hkLXBsaXN0LWFuZC1j
cmVhdGUtc3ltbGlua3Muc2g6IEFkZGVkLgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorCiAyMDIwLTEwLTA4ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW1dlYkF1dGhuXSBJbXBsZW1lbnQgYSBkdW1teSBXZWJBdXRoZW50
aWNhdGlvbkFnZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dl
YkF1dGhlbnRpY2F0aW9uQWdlbnQueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRp
b25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQueGNjb25maWcKaW5kZXggYzA1MDU1YzE5MWQ3Zjdm
Mjg1M2Q5NjViOTBlN2E3ZWEzOTc3MDVhNi4uNDk3MTk3MDVmYTExMjBjYjFjZDcwMWNjYWQ3M2Qy
NjcyYmIxYmE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJB
dXRoZW50aWNhdGlvbkFnZW50LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJh
dGlvbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC54Y2NvbmZpZwpAQCAtMzUsMyArMzUsMTQgQEAg
RU5USVRMRU1FTlRTX1JFUVVJUkVEX1VTRV9JTlRFUk5BTF9TREtfTk8gPSBOTzsKIEVOVElUTEVN
RU5UU19SRVFVSVJFRF9VU0VfSU5URVJOQUxfU0RLX1lFUyA9ICQoRU5USVRMRU1FTlRTX1JFUVVJ
UkVEKTsKIAogQ09ERV9TSUdOX0VOVElUTEVNRU5UUyA9IERhZW1vbnMvV2ViQXV0aGVudGljYXRp
b25BZ2VudC9XZWJBdXRoZW50aWNhdGlvbkFnZW50LmVudGl0bGVtZW50czsKKworTEFVTkNIRF9Q
TElTVF9JTlNUQUxMX1BBVEhbc2RrPW1hY29zeCpdID0gJChXRUJLSVRfRlJBTUVXT1JLU19ESVIp
L1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXM7CitMQVVOQ0hEX1BMSVNUX0lO
U1RBTExfUEFUSFtzZGs9aXBob25lKl0gPSAvU3lzdGVtL0xpYnJhcnkvTGF1bmNoRGFlbW9uczsK
KworTEFVTkNIRF9QTElTVF9GSUxFX05BTUVbc2RrPW1hY29zeCpdID0gY29tLmFwcGxlLldlYktp
dC5XZWJBdXRoZW50aWNhdGlvbkFnZW50LnBsaXN0CitMQVVOQ0hEX1BMSVNUX0ZJTEVfTkFNRVtz
ZGs9aXBob25lKl0gPSBjb20uYXBwbGUuV2ViS2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQtaU9T
LnBsaXN0CisKK0xBVU5DSERfUExJU1RfSU5QVVRfRklMRSA9IERhZW1vbnMvV2ViQXV0aGVudGlj
YXRpb25BZ2VudC8kKExBVU5DSERfUExJU1RfRklMRV9OQU1FKQorCitMQVVOQ0hEX1BMSVNUX09V
VFBVVF9GSUxFID0gJChMQVVOQ0hEX1BMSVNUX0lOU1RBTExfUEFUSCkvJChMQVVOQ0hEX1BMSVNU
X0ZJTEVfTkFNRSkKK0xBVU5DSERfUExJU1RfU1lNTElOS19QQVRIW3Nkaz1tYWNvc3gqXSA9IC9T
eXN0ZW0vTGlicmFyeS9MYXVuY2hBZ2VudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGFl
bW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L2NvbS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGlj
YXRpb25BZ2VudC5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlv
bkFnZW50L2NvbS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGljYXRpb25BZ2VudC5wbGlzdAppbmRl
eCA2OGI5YWM5ZmZkMmU3MDliMzc3ZTE2YjkyZGY1YWQ3M2U5MzFkMDBmLi40YzMzYjdiODgwZjM2
YTJjMjA5Y2NhM2RmM2YwMWNkNmExMGFmYjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rh
ZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9jb20uYXBwbGUud2Via2l0LldlYkF1dGhlbnRp
Y2F0aW9uQWdlbnQucGxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRp
Y2F0aW9uQWdlbnQvY29tLmFwcGxlLndlYmtpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50LnBsaXN0
CkBAIC0xNCw2ICsxNCw2IEBACiAJCTx0cnVlLz4KIAk8L2RpY3Q+CiAJPGtleT5Qcm9ncmFtPC9r
ZXk+Ci0JPHN0cmluZz4vVXNlcnMvand0YW4vRG9jdW1lbnRzL0J1aWxkL1Byb2R1Y3RzL0RlYnVn
L2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aGVudGljYXRpb25BZ2VudC5EZXZlbG9wbWVudDwvc3Ry
aW5nPgorCTxzdHJpbmc+JHtJTlNUQUxMX1BBVEh9LyR7UFJPRFVDVF9OQU1FfTwvc3RyaW5nPgog
PC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9jb3B5
LWxhdW5jaGQtcGxpc3QtYW5kLWNyZWF0ZS1zeW1saW5rcy5zaCBiL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy9jb3B5LWxhdW5jaGQtcGxpc3QtYW5kLWNyZWF0ZS1zeW1saW5rcy5zaApuZXcgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMWZiZmViMDk5NDMwNDRlOGQ0Nzc1N2YxYzE1YjQ0MGY3NjFhYmEzCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL2NvcHktbGF1bmNoZC1wbGlzdC1hbmQtY3JlYXRl
LXN5bWxpbmtzLnNoCkBAIC0wLDAgKzEsNjYgQEAKKyMhL2Jpbi9zaAorIworIyBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisjIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
IyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisjIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisjIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworIyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorIyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorIyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisjIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworaWYgWyAteiAiJHtMQVVOQ0hEX1BMSVNUX0lOU1RB
TExfUEFUSH0iIF07IHRoZW4KKyAgICBleGl0IDA7CitmaQorCitpZiBbWyAiJHtTS0lQX0lOU1RB
TEx9IiA9PSAiWUVTIiBdXTsgdGhlbgorICAgIGV4aXQgMDsKK2ZpCisKKyMgT24gbWFjT1MsIHdl
IGluc3RhbGwgdGhlIGxhdW5jaGQgcGxpc3QgaW50byAkKFdFQktJVF9GUkFNRVdPUktTX0RJUikv
V2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1Jlc291cmNlcworIyBhbmQgdGhlbiBhZGQgYSBz
eW1saW5rIGZyb20gdGhlIHN0YW5kYXJkIHBsYWNlIHRoZSBsYXVuY2hkIHBsaXN0cyBsaXZlIHRv
IHRoZSBhYm92ZQorIyBjb3B5LiBUaGlzIGFsbG93cyB1cyB0byB1cGRhdGUgdGhlIHBsaXN0IHdo
ZW4gc2hpcHBpbmcgZG93bmxldmVscywgc2luY2Ugd2Ugb3RoZXJ3aXNlCisjIGNhbid0IGNoYW5n
ZSB0aGUgY29udGVudHMgb2YgL1N5c3RlbS4gVGhlIG1hY09TIHBsaXN0IG5lZWRzIHRvIHBvaW50
IHRvIHRoZSBiaW5hcnkKKyMgaW5zaWRlICQoV0VCS0lUX0ZSQU1FV09SS1NfRElSKS9XZWJLaXQu
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMuCisKKyMgR2VuZXJhdGUgbGF1bmNoZCBw
bGlzdCBhbmQgcmVwbGFjZSBwbGFjZWhvbGRlciB2YWx1ZXMgd2l0aCB0aGVpciByZWFsIHBhdGhz
LgorR0VORVJBVEVEX0xBVU5DSERfUExJU1RfRElSPSIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVy
aXZlZFNvdXJjZXMvV2ViS2l0MiIKK21rZGlyIC1wICIke0dFTkVSQVRFRF9MQVVOQ0hEX1BMSVNU
X0RJUn0iCitHRU5FUkFURURfTEFVTkNIRF9QTElTVF9QQVRIPSIke0dFTkVSQVRFRF9MQVVOQ0hE
X1BMSVNUX0RJUn0vJHtMQVVOQ0hEX1BMSVNUX0ZJTEVfTkFNRX0iCisKK2VjaG8gIlJlcGxhY2lu
ZyBwbGFjZWhvbGRlcnMgaW4gJHtMQVVOQ0hEX1BMSVNUX0lOUFVUX0ZJTEV9IGFuZCBzYXZpbmcg
dG8gJHtHRU5FUkFURURfTEFVTkNIRF9QTElTVF9QQVRIfSIKK3NlZCAtZSAic3xcJHtJTlNUQUxM
X1BBVEh9fCR7SU5TVEFMTF9QQVRIfXwiIC1lICJzfFwke1BST0RVQ1RfTkFNRX18JHtQUk9EVUNU
X05BTUV9fCIgIiR7TEFVTkNIRF9QTElTVF9JTlBVVF9GSUxFfSIgPiAiJHtHRU5FUkFURURfTEFV
TkNIRF9QTElTVF9QQVRIfSIKKworIyBJbnN0YWxsIHRoZSBwbGlzdC4KK0RTVFJPT1RfTEFVTkNI
RF9QTElTVF9PVVRQVVRfRklMRT0iJHtEU1RST09UfSR7TEFVTkNIRF9QTElTVF9PVVRQVVRfRklM
RX0iCisKK21rZGlyIC1wICIke0RTVFJPT1R9JHtMQVVOQ0hEX1BMSVNUX0lOU1RBTExfUEFUSH0i
CisKK2VjaG8gIkNvcHlpbmcgJHtHRU5FUkFURURfTEFVTkNIRF9QTElTVF9QQVRIfSB0byAke0RT
VFJPT1RfTEFVTkNIRF9QTElTVF9PVVRQVVRfRklMRX0iCitkaXR0byAiJHtHRU5FUkFURURfTEFV
TkNIRF9QTElTVF9QQVRIfSIgIiR7RFNUUk9PVF9MQVVOQ0hEX1BMSVNUX09VVFBVVF9GSUxFfSIK
KworaWYgW1sgJHtXS19QTEFURk9STV9OQU1FfSAhPSAibWFjb3N4IiB8fCAiJHtVU0VfU1RBR0lO
R19JTlNUQUxMX1BBVEh9IiA9PSAiWUVTIiB8fCAiJHtXS19JU19URUNIX1BSRVZJRVdfQlVJTER9
IiA9PSAiWUVTIiBdXTsgdGhlbgorICAgIGV4aXQgMDsKK2ZpCisKKyMgT24gbm9uLXN0YWdlZCBh
bmQgbm9uLVNUUCBtYWNPUyBidWlsZHMsIGNyZWF0ZSB0aGUgc3ltbGluay4KK0RTVFJPT1RfTEFV
TkNIRF9QTElTVF9TWU1MSU5LX0RJUj0iJHtEU1RST09UfS8ke0xBVU5DSERfUExJU1RfU1lNTElO
S19QQVRIfSIKKworZWNobyAiQ3JlYXRpbmcgYSBzeW1saW5rIGF0ICR7RFNUUk9PVF9MQVVOQ0hE
X1BMSVNUX1NZTUxJTktfRElSfSBwb2ludGluZyB0byAke0xBVU5DSERfUExJU1RfT1VUUFVUX0ZJ
TEV9IgorbWtkaXIgLXAgIiR7RFNUUk9PVF9MQVVOQ0hEX1BMSVNUX1NZTUxJTktfRElSfSIKKwor
bG4gLXNmICIke0xBVU5DSERfUExJU1RfT1VUUFVUX0ZJTEV9IiAiJHtEU1RST09UX0xBVU5DSERf
UExJU1RfU1lNTElOS19ESVJ9IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMTBiNmVmZjA5MWNkODA4Njk5N2Y5MTY1Y2I2ODc1ZTBmNzI5
OTMzNi4uYjlkM2RhMWUwZDhhZWM4Y2NhYzJlYzMzZWY0MDJkMTkwNjRmMTYxYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zOTAzLDYg
KzM5MDMsNyBAQAogCQk1NzBEQUFDOTIzMDM4NUZEMDBFOEZDMDQgLyogQ3RhcE5mY0RyaXZlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDdGFwTmZjRHJpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTcyRkQ0NDEyMjI2NUNFMjAwQTFFQ0MzIC8qIFdlYlZpZXdEaWRNb3Zl
VG9XaW5kb3dPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWaWV3RGlkTW92ZVRvV2luZG93
T2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc0MjE3OTEyNDAwRTA5
ODAwMkIzMDNEIC8qIExvY2FsQXV0aGVudGljYXRpb25TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9j
YWxBdXRoZW50aWNhdGlvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzQy
QTJFMjI1MzE5NkE4MDBCN0JBMTQgLyogY29weS1sYXVuY2hkLXBsaXN0LWFuZC1jcmVhdGUtc3lt
bGlua3Muc2ggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0LnNjcmlwdC5zaDsgcGF0aCA9ICJjb3B5LWxhdW5jaGQtcGxpc3QtYW5kLWNyZWF0ZS1z
eW1saW5rcy5zaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NDcyOENGMjM0NTZF
OTgwMDE3MDBBRiAvKiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTc0NzI4RDAyMzQ1NkU5ODAwMTcwMEFGIC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzQ3MjhEMzIzNDU3MEFFMDAxNzAwQUYgLyog
X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWxJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTAyOTQsNiArMTAyOTUsNyBAQAogCQkJCTUzNUUwOENBMjI1NDYwRkMwMERGMDBDQSAv
KiBwb3N0cHJvY2Vzcy1oZWFkZXItcnVsZSAqLywKIAkJCQk3Q0RFNzNBMjFGOURBNTk3MDAzOTAz
MTIgLyogUHJlZmVyZW5jZXNUZW1wbGF0ZXMgKi8sCiAJCQkJMEZDMDg1NkUxODdDRTBBOTAwNzgw
RDg2IC8qIF9faW5pdF9fLnB5ICovLAorCQkJCTU3NDJBMkUyMjUzMTk2QTgwMEI3QkExNCAvKiBj
b3B5LWxhdW5jaGQtcGxpc3QtYW5kLWNyZWF0ZS1zeW1saW5rcy5zaCAqLywKIAkJCQk0MTU3ODUz
MDIxMjc2QjZGMDBERDM4MDAgLyogY29weS13ZWJjb250ZW50LXJlc291cmNlcy10by1wcml2YXRl
LWhlYWRlcnMuc2ggKi8sCiAJCQkJQzBDRTczMzYxMjQ3RjcwRTAwQkMwRUM0IC8qIGdlbmVyYXRl
LW1lc3NhZ2UtcmVjZWl2ZXIucHkgKi8sCiAJCQkJMEZDMDg1NkYxODdDRTBBOTAwNzgwRDg2IC8q
IG1lc3NhZ2VzLnB5ICovLApAQCAtMTE5OTUsNiArMTE5OTcsNyBAQAogCQkJYnVpbGRQaGFzZXMg
PSAoCiAJCQkJNTdBOUZFRjgyNTJCRDhBQTAwNkEyMDQwIC8qIFNvdXJjZXMgKi8sCiAJCQkJNTdB
OUZFRjkyNTJCRDhBQTAwNkEyMDQwIC8qIEZyYW1ld29ya3MgKi8sCisJCQkJNTc0MkEyRTMyNTMx
QThDNzAwQjdCQTE0IC8qIENvcHkgbGF1bmNoZCBwbGlzdCBhbmQgY3JlYXRlIHN5bWxpbmtzICov
LAogCQkJCTU3QTlGRUZBMjUyQkQ4QUEwMDZBMjA0MCAvKiBDb3B5RmlsZXMgKi8sCiAJCQkpOwog
CQkJYnVpbGRSdWxlcyA9ICgKQEAgLTEyNTI4LDYgKzEyNTMxLDI3IEBACiAJCQlzaGVsbFBhdGgg
PSAvYmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAiU2NyaXB0cy9jaGVjay14Y2ZpbGVsaXN0cy5z
aFxuIjsKIAkJfTsKKwkJNTc0MkEyRTMyNTMxQThDNzAwQjdCQTE0IC8qIENvcHkgbGF1bmNoZCBw
bGlzdCBhbmQgY3JlYXRlIHN5bWxpbmtzICovID0geworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRC
dWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gODsKKwkJCWZpbGVzID0gKAorCQkJKTsK
KwkJCWlucHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJ
CSIkKFNSQ1JPT1QpLyQoTEFVTkNIRF9QTElTVF9JTlBVVF9GSUxFKSIsCisJCQkJIiQoU1JDUk9P
VCkvU2NyaXB0cy9jb3B5LWxhdW5jaGQtcGxpc3QtYW5kLWNyZWF0ZS1zeW1saW5rcy5zaCIsCisJ
CQkpOworCQkJbmFtZSA9ICJDb3B5IGxhdW5jaGQgcGxpc3QgYW5kIGNyZWF0ZSBzeW1saW5rcyI7
CisJCQlvdXRwdXRGaWxlTGlzdFBhdGhzID0gKAorCQkJKTsKKwkJCW91dHB1dFBhdGhzID0gKAor
CQkJCSIkKERTVFJPT1QpLyQoTEFVTkNIRF9QTElTVF9QQVRIKS8kKExBVU5DSERfUExJU1RfRklM
RV9OQU1FKSIsCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDE7CisJCQlzaGVsbFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3JpcHQgPSAiU2NyaXB0cy9j
b3B5LWxhdW5jaGQtcGxpc3QtYW5kLWNyZWF0ZS1zeW1saW5rcy5zaFxuIjsKKwkJfTsKIAkJNURG
NDA4QzUxMzFERDQ2NzAwMTMwMDcxIC8qIENoZWNrIEZvciBXZWFrIFZUYWJsZXMgYW5kIEV4dGVy
bmFscyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKIAkJCWJ1aWxk
QWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411378</attachid>
            <date>2020-10-14 15:25:33 -0700</date>
            <delta_ts>2020-10-14 19:45:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217559-20201014152532.patch</filename>
            <type>text/plain</type>
            <size>177722</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBlYzlmZTc5YTQ3MTY0
MDRjNzU3NWU2NTIxMDExN2Q2YTQxNzMxNS4uMWJiNjFkZjU0OWQwYjkzODIxNzQyOWIwZWVhMTk5
NWI4YTAyN2RlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTEwLTE0ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhuXSBJbXBs
ZW1lbnQgYSBkdW1teSBXZWJBdXRoblByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzU1OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzAx
Njg3NDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gdGVzdHMuCisKKyAgICAgICAgKiBlbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOgorICAg
ICAgICBQcm92aWRlcyBhIG5hbWUgZm9yIHRoZSBXZWJBdXRobiBwcm9jZXNzLgorCiAyMDIwLTEw
LTA5ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIEFp
clBsYXkgbWVudSBkb2VzIG5vdCBzaG93IHVwIHdoZW4gQWlyUGxheSBidXR0b24gaXMgY2xpY2tl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCBhNWJhMzQ3YjFhMWZmZjI5MWRlYTg0MTIzYzA0NjZlOWEwZTY0NzhlLi4x
ZWU0ZWZhYzJlODZlMDkwMzVkMTIxN2ZiMDg2OTQzYjliMzkxNTg1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1NyBAQAorMjAyMC0xMC0xNCAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29t
PgorCisgICAgICAgIFtXZWJBdXRobl0gSW1wbGVtZW50IGEgZHVtbXkgV2ViQXV0aG5Qcm9jZXNz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTc1NTkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwMTY4NzQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByZXZpb3VzIHBhdGNoIHIyNjgyNDggaW50cm9k
dWNlcyBhIG5ldyBkYWVtb24gdG8gaGFuZGxlIGFsbCBXZWJBdXRobiByZXF1ZXN0cy4gSG93ZXZl
ciwgYWZ0ZXIgbW9yZSBkZWVwZXIgaW52ZXN0aWdhdGlvbnMsIHRoZSBkYWVtb24KKyAgICAgICAg
c3RvcnkgaXMgbm90IHZlcnkgY29tcGVsbGluZyBmb3IgV2ViS2l0LiBIZXJlIGFyZSB0aGUgdHdv
IG1ham9yIHJvYWQgYmxvY2tlcnM6CisgICAgICAgIDEpIFRoZSBtYWpvciBvbmUgaXMgb24gbWFj
T1MuIE5ldyBkYWVtb25zIGNhbm5vdCBiZSBpbnN0YWxsZWQgd2l0aG91dCBhIHN5c3RlbSB1cGRh
dGUuIEl0IG1lYW5zIHJlbG9jYXRhYmxlIFNhZmFyaSAoZS5nLiBTVFApCisgICAgICAgIGFuZCBz
dGFnZWQgU2FmYXJpIG9uIGRvd25sZXZlbCBPU2VzIHdpbGwgbm90IGdldCB0aGlzIGZlYXR1cmUu
IEFuZCByZWxvY2F0YWJsZSBTVFAgY2FuIG9ubHkgdXRpbGl6ZSB0aGUgc3lzdGVtIGRhZW1vbi4g
VGhpcworICAgICAgICBzZWVtcyBhIGJ1bW1lciBlc3BlY2lhbGx5IGZvciB0aGUgU1RQIGNhc2Ug
Z2l2ZW4gaXQgaXMgaGVhdmlseSB1c2VkIHRvIHRlc3QgbGF0ZXN0IHdlYiBmZWF0dXJlcy4KKyAg
ICAgICAgMikgQWRkaXRpb25hbCBwbHVtYmluZyBpcyBuZWVkZWQgZm9yIHRlc3RpbmcgYW5kIGVu
Z2luZWVyaW5nIGJ1aWxkcy4gVGhpcyBwcm9ibGVtIGlzIHNwZWNpZmljIHRvIFdlYktpdCBhbmQg
aXMgb24gYm90aCBtYWNPUyBhbmQgaU9TLgorICAgICAgICBXZWJLaXQgZG9lc24ndCBidWlsZCBy
b290cyB0byB0ZXN0IGVuZ2luZWVyaW5nIGJ1aWxkcywgd2hpY2ggaXMgcmVxdWlyZWQgdG8gdXBk
YXRlIHRoZSBwbGlzdCBvbiB0aGUgYWJvdmUgbG9jYXRpb24uIEhlbmNlLCBhIHNlcGFyYXRlCisg
ICAgICAgIGNvbmZpZ3VyYXRpb24gaXMgbmVlZGVkIHRvIGdlbmVyYXRlIGEgZGlmZmVyZW50IHBs
aXN0IHRoYXQgcG9pbnRzIHRvIHRoZSByaWdodCBlbmdpbmVlcmluZyBiaW5hcnkgYW5kIGFkZGl0
aW9uYWwgc2NyaXB0cyB3aWxsIGJlIG5lZWRlZAorICAgICAgICB0byBhc2sgbGF1bmNoZCB0byBs
b2FkIHRoZSBwbGlzdCBiZWZvcmUgcnVubmluZyBhbnkgdGVzdHMuIFNvbWUgZXh0cmEgZXhlcmNp
c2VzIGFyZSBwcm9iYWJseSBuZWVkZWQgdG8gbm90IGNvbmZ1c2UgbGF1bmNoZCBhYm91dCB0aGUK
KyAgICAgICAgZW5naW5lZXJpbmcgYmluYXJ5IGFuZCBzeXN0ZW0gYmluYXJ5IGFzIHdlbGwuCisK
KyAgICAgICAgR2l2ZW4gdGhlIGFib3ZlIGNvbnN0cmFpbnRzLCBhIG5ldyBhcmNoaXRlY3R1cmUg
aXMgcHJvcG9zZWQgdG8gbWFrZSB0aGUgZGFlbW9uIGEgV2ViS2l0IFhQQyBzZXJ2aWNlL3Byb2Nl
c3MgaW5zdGVhZCBhbmQgbGVhdmUgdGhlIGxhdW5jaGQKKyAgICAgICAgZXZlbnQgaGFuZGxlciB0
byBhIG5ldyBTYWZhcmkgZGFlbW9uLiBUaGUgbGF1bmNoZCByZWxhdGVkIGZlYXR1cmUgaXMgb25s
eSBvbiBpT1MgYW5kIHRoZXJlZm9yZSBpdCByZWFsbHkgZG9lc24ndCBtYWtlIHNlbnNlIHRvIG92
ZXJjb21lCisgICAgICAgIGFsbCB0aGUgYWJvdmUgbWFjT1MgY29uc3RyYWludHMuIEhhdmluZyBk
aWZmZXJlbnQgYXJjaGl0ZWN0dXJlcyBvbiBpT1MgKGEgZGFlbW9uKSBhbmQgb24gbWFjT1MgKGEg
WFBDIHNlcnZpY2UpIGFjY29yZGluZ2x5IHdpbGwgaW50cm9kdWNlCisgICAgICAgIHRvbnMgb2Yg
b3ZlcmhlYWQgZm9yIG1haW50YWluYW5jZSBhcyB3ZWxsLiBUaGF0J3Mgd2h5IHJlbHlpbmcgb24g
YSBTYWZhcmkgZGFlbW9uIHRvIGRvIHRoZSBqb2IgaXMgdGhlIG1vc3QgcmVhc29uYWJsZSBvcHRp
b24uCisKKyAgICAgICAgVGhpcyBwYXRjaCB0aGVyZWZvcmUgZm9jdWVzIG9uIG1ha2luZyB0aGUg
V2ViQXV0aG4gcHJvY2VzcyBoYXBwZW4gYW5kIHJlbW92ZXMgdGhlIFdlYkF1dGhuIGRhZW1vbi4K
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dl
YkF1dGhuU2VydmljZS54Y2NvbmZpZzogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvQ29uZmln
dXJhdGlvbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC54Y2NvbmZpZy4KKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6CisgICAgICAgICogRGFlbW9ucy9XZWJBdXRoZW50
aWNhdGlvbkFnZW50L1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQuZW50aXRsZW1lbnRzOiBSZW1vdmVk
LgorICAgICAgICAqIERhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9jb20uYXBwbGUud2Vi
a2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQucGxpc3Q6IFJlbW92ZWQuCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAg
ICBQYXBlcndvcmsgZm9yIGJ1aWxkaW5nIHRoZSBuZXcgV2ViQXV0aG4gcHJvY2Vzcy4KKworICAg
ICAgICAqIFBsYXRmb3JtL0V4dHJhUHJpdmF0ZVN5bWJvbHNGb3JUQVBJLmg6CisgICAgICAgICog
U2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaDoKKyAgICAgICAgKiBTaGFyZWQvRW50cnlQb2ludFV0
aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50Lmg6CisgICAgICAg
ICogU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNl
TWFpbi5tbToKKyAgICAgICAgKFdlYktpdDo6WFBDU2VydmljZUV2ZW50SGFuZGxlcik6CisgICAg
ICAgICogU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tOgorICAgICAgICAoV2ViS2l0
Ojpwcm9jZXNzU3RvcmFnZUNsYXNzKToKKyAgICAgICAgKFdlYktpdDo6c2FuZGJveERpcmVjdG9y
eSk6CisgICAgICAgIFBhcGVyd29yayBmb3IgaW50cm91ZGNpbmcgdGhlIG5ldyBXZWJBdXRobiBw
cm9jZXNzLiBNb3N0bHkgY29waWVkIGZyb20gR1BVIHByb2Nlc3MuCisKKyAgICAgICAgKiBTb3Vy
Y2VzLnR4dDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICBQYXBlcndvcmsg
Zm9yIGJ1aWxkaW5nIHRoZSBuZXcgV2ViQXV0aG4gcHJvY2Vzcy4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXhpbGlh
cnlQcm9jZXNzUHJveHk6OmdldExhdW5jaE9wdGlvbnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9M
YXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIv
bWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6c2VydmljZU5hbWUp
OgorICAgICAgICAoV2ViS2l0OjpzaG91bGRMZWFrQm9vc3QpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQcm94eS5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NQcm94eTo6c2luZ2xldG9uKToKKyAgICAgICAg
KFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzUHJveHk6OldlYkF1dGhuUHJvY2Vzc1Byb3h5KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzUHJveHk6OmdldExhdW5jaE9wdGlvbnMpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NQcm94eTo6Y29ubmVjdGlvbldpbGxPcGVu
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzUHJveHk6OnByb2Nlc3NXaWxsU2h1
dERvd24pOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NQcm94eTo6Z2V0V2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc1By
b3h5Ojp3ZWJBdXRoblByb2Nlc3NDcmFzaGVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Q
cm9jZXNzUHJveHk6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNz
UHJveHk6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1
dGhuUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRoblByb2Nlc3NQcm94eTo6dXBkYXRlUHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5Lmg6IEFkZGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQ
cm94eS5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmdldFdlYkF1dGhuUHJv
Y2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUHJveHk6OmdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9FbnRy
eVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8tT1NYLnBsaXN0OiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9J
bmZvLnBsaXN0LgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQ
Q1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8taU9TLnBsaXN0OiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvSW5mby5wbGlzdC4KKyAg
ICAgICAgKiBXZWJBdXRoblByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL1dlYkF1
dGhuU2VydmljZUVudHJ5UG9pbnQubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvRGFlbW9u
cy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L21haW4ubW0uCisgICAgICAgIChXZWJLaXQ6OldlYkF1
dGhuU2VydmljZUluaXRpYWxpemVyRGVsZWdhdGU6OldlYkF1dGhuU2VydmljZUluaXRpYWxpemVy
RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0Ojppbml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzczxX
ZWJBdXRoblByb2Nlc3M+KToKKyAgICAgICAgKFdFQkFVVEhFTl9TRVJWSUNFX0lOSVRJQUxJWkVS
KToKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6On5XZWJBdXRobkNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UpOgorICAgICAgICAqIFdlYkF1dGhu
UHJvY2Vzcy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDogQ29waWVkIGZyb20gU291
cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvbWFpbi5tbS4KKyAgICAg
ICAgKFdlYktpdDo6V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjb25uZWN0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzOjpXZWJBdXRo
blByb2Nlc3NQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjp3ZWJQcm9jZXNzSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogV2ViQXV0
aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjogQWRk
ZWQuCisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OldlYkF1dGhuUHJvY2Vzcyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6fldlYkF1dGhuUHJvY2Vzcyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6Y3JlYXRlV2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpyZW1vdmVXZWJB
dXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblBy
b2Nlc3M6OmNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDbG9zZWQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRoblByb2Nlc3M6OnNob3VsZFRlcm1pbmF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1
dGhuUHJvY2Vzczo6ZGlkQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6
Omxvd01lbW9yeUhhbmRsZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6Omlu
aXRpYWxpemVXZWJBdXRoblByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nl
c3M6OnByZXBhcmVUb1N1c3BlbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6
OnByb2Nlc3NEaWRSZXN1bWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OnJl
c3VtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6cHJvY2Vzc0RpZFRyYW5z
aXRpb25Ub0ZvcmVncm91bmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OnBy
b2Nlc3NEaWRUcmFuc2l0aW9uVG9CYWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0
aG5Qcm9jZXNzOjp3ZWJQcm9jZXNzQ29ubmVjdGlvbiBjb25zdCk6CisgICAgICAgICogV2ViQXV0
aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJBdXRoblBy
b2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJB
dXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDogQ29waWVk
IGZyb20gU291cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvbWFpbi5t
bS4KKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpl
bmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L0RhZW1v
bnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9tYWluLm1tLgorICAgICAgICAqIFdlYkF1dGhuUHJv
Y2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0
L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9tYWluLm1tLgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6
V2ViQXV0aG5Qcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzc05hbWUpOgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KToKKyAgICAgICAgKiBXZWJBdXRo
blByb2Nlc3MvbWFjL1dlYkF1dGhuUHJvY2Vzc01hYy5tbTogQWRkZWQuCisgICAgICAgIChXZWJL
aXQ6OldlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzTmFtZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3gpOgorICAgICAgICBQYXBlcndv
cmsgZm9yIGludHJvdWRjaW5nIHRoZSBuZXcgV2ViQXV0aG4gcHJvY2Vzcy4gTW9zdGx5IGNvcGll
ZCBmcm9tIEdQVSBwcm9jZXNzLgorCisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbjogQWRkZWQuCisgICAgICAgIFRoZSBz
YW5kYm94IHByb2ZpbGUgaXMgb3JpZ2luYWxseSBmcm9tIHRoZSBHUFUgUHJvY2VzcyB3aXRoIElP
S2l0IHJlbGF0ZWQgcnVsZXMgcmVtb3ZlZC4gV2lsbCB0aWdodGVuIGl0IGFnYWluIGFmdGVyIHRo
ZSBwcm9jZXNzIGlzIGZ1bmN0aW9uYWwgcHJvcGVybHkuCisKKyAgICAgICAgKiBXZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgUGFwZXJ3b3JrIGZvciBidWlsZGluZyB0
aGUgbmV3IFdlYkF1dGhuIHByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9tYWluLm1tLgorICAgICAg
ICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6fldl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uOjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmg6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9tYWlu
Lm1tLgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpjcmVhdGUp
OgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpjb25uZWN0aW9u
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
QXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8uaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvOjppZGVudGlmaWVy
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm86
OnJlbGVhc2VJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbkluZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJv
Y2Vzc0Nvbm5lY3Rpb25JbmZvOjpkZWNvZGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OmdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjplbnN1cmVXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6d2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbkNsb3NlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmV4aXN0aW5nV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlv
bik6CisgICAgICAgIFBhcGVyd29yayBmb3IgaW50cm91ZGNpbmcgdGhlIG5ldyBXZWJBdXRobiBw
cm9jZXNzLiBNb3N0bHkgY29waWVkIGZyb20gR1BVIHByb2Nlc3MuCisKIDIwMjAtMTAtMDkgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVSBQcm9j
ZXNzXSBBZGQgYWRkaXRpb25hbCBzdXBwb3J0IGZvciBwYWludGluZyB2aWRlbyBlbGVtZW50cyB0
byAyRCBjb250ZXh0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxp
emFibGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmlu
Z3MKaW5kZXggZmE0ZDMyY2NmNzI3MGEzNjZhMDZhZGZlZGE4OGFlN2RjYzNlNjlmZS4uNGEzNWFi
ZDgyODI1ZDZlN2VkMzE4OWRlNDA1Y2JmMTQ4NzU5NzIzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncworKysgYi9Tb3VyY2UvV2ViQ29yZS9l
bi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC00Niw2ICs0Niw5IEBACiAvKiBWaXNpYmxl
IG5hbWUgb2YgU2VydmljZSBXb3JrZXIgcHJvY2Vzcy4gVGhlIGFyZ3VtZW50IGlzIHRoZSBhcHBs
aWNhdGlvbiBuYW1lLiAqLwogIiVAIFNlcnZpY2UgV29ya2VyICglQCkiID0gIiVAIFNlcnZpY2Ug
V29ya2VyICglQCkiOwogCisvKiB2aXNpYmxlIG5hbWUgb2YgdGhlIEdQVSBwcm9jZXNzLiBUaGUg
YXJndW1lbnQgaXMgdGhlIGFwcGxpY2F0aW9uIG5hbWUuICovCisiJUAgV2ViIEF1dGhlbnRpY2F0
aW9uIiA9ICIlQCBXZWIgQXV0aGVudGljYXRpb24iOworCiAvKiBWaXNpYmxlIG5hbWUgb2YgdGhl
IHdlYiBwcm9jZXNzLiBUaGUgYXJndW1lbnQgaXMgdGhlIGFwcGxpY2F0aW9uIG5hbWUuICovCiAi
JUAgV2ViIENvbnRlbnQiID0gIiVAIFdlYiBDb250ZW50IjsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5k
ZXggMzI3MzliMzAxNzdlOTBkNDdlMTYyNTljNWExY2E2NmU1OTM1ZjdhOS4uNjljMDUzZDJmYzky
MzFkMmMzODc1NzFiZjE1NjM4NDM4MTkxMmViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC03MSw2
ICs3MSw3IEBAIHNldChXZWJLaXRfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVF9E
SVJ9L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbiIKICAgICAiJHtXRUJLSVRfRElSfS9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jayIKICAgICAiJHtXRUJLSVRfRElSfS9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEiCisgICAgIiR7V0VCS0lUX0RJUn0vV2ViQXV0aG5Qcm9jZXNzIgogICAg
ICIke1dFQktJVF9ESVJ9L1dlYlByb2Nlc3MiCiAgICAgIiR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vz
cy9BcHBsZVBheSIKICAgICAiJHtXRUJLSVRfRElSfS9XZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2Fj
aGUiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkF1dGhlbnRp
Y2F0aW9uQWdlbnQueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkF1
dGhlbnRpY2F0aW9uQWdlbnQueGNjb25maWcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGMwNTA1NWMxOTFkN2Y3ZjI4NTNkOTY1YjkwZTdhN2VhMzk3NzA1YTYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0
aW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50LnhjY29uZmlnCisrKyAvZGV2L251bGwKQEAgLTEs
MzcgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vCi0vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLS8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotLy8gYXJlIG1ldDoKLS8v
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0vLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0vLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotLy8gICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
Ly8gICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLS8vCi0vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLS8vIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0vLyBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLS8v
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0vLyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLS8vIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLS8vIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotLy8gUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotLy8gT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0vLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLS8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLSNpbmNsdWRl
ICJCYXNlWFBDU2VydmljZS54Y2NvbmZpZyIKLQotUFJPRFVDVF9OQU1FID0gY29tLmFwcGxlLldl
YktpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50OwotUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9
ICQoUFJPRFVDVF9OQU1FKTsKLUlORk9QTElTVF9GSUxFID0gRGFlbW9ucy9XZWJBdXRoZW50aWNh
dGlvbkFnZW50L0luZm8ucGxpc3Q7Ci0KLU9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgJChP
VEhFUl9MREZMQUdTX1ZFUlNJT05FRF9GUkFNRVdPUktfUEFUSCkgJChXS19SRUxPQ0FUQUJMRV9G
UkFNRVdPUktTX0xERkxBR1MpOwotCi1FTlRJVExFTUVOVFNfUkVRVUlSRUQgPSAkKEVOVElUTEVN
RU5UU19SRVFVSVJFRF9VU0VfSU5URVJOQUxfU0RLXyQoVVNFX0lOVEVSTkFMX1NESykpCi1FTlRJ
VExFTUVOVFNfUkVRVUlSRURfVVNFX0lOVEVSTkFMX1NES18gPSBOTzsKLUVOVElUTEVNRU5UU19S
RVFVSVJFRF9VU0VfSU5URVJOQUxfU0RLX05PID0gTk87Ci1FTlRJVExFTUVOVFNfUkVRVUlSRURf
VVNFX0lOVEVSTkFMX1NES19ZRVMgPSAkKEVOVElUTEVNRU5UU19SRVFVSVJFRCk7Ci0KLUNPREVf
U0lHTl9FTlRJVExFTUVOVFMgPSBEYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvV2ViQXV0
aGVudGljYXRpb25BZ2VudC5lbnRpdGxlbWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NvbmZpZ3VyYXRpb25zL1dlYkF1dGhuU2VydmljZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQv
Q29uZmlndXJhdGlvbnMvV2ViQXV0aG5TZXJ2aWNlLnhjY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhYzM2
MzNmM2Q2NGUyY2ZkYWE5NTNmNzI5NDBmYTc5ZWEzMGYwOWMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkF1dGhuU2VydmljZS54Y2NvbmZpZwpAQCAt
MCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisvLyBhcmUgbWV0Ogor
Ly8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorLy8gRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy8vIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
Ly8gUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKy8vIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorLy8gRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorLy8gUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisvLyBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisvLyBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKy8vIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2luY2x1
ZGUgIkJhc2VYUENTZXJ2aWNlLnhjY29uZmlnIgorCitQUk9EVUNUX05BTUUgPSBjb20uYXBwbGUu
V2ViS2l0LldlYkF1dGhuOworUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9ICQoUFJPRFVDVF9O
QU1FKTsKK0lORk9QTElTVF9GSUxFW3Nkaz1lbWJlZGRlZCpdID0gV2ViQXV0aG5Qcm9jZXNzL0Vu
dHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9XZWJBdXRoblNlcnZpY2UvSW5mby1pT1MucGxpc3Q7
CitJTkZPUExJU1RfRklMRVtzZGs9bWFjb3N4Kl0gPSBXZWJBdXRoblByb2Nlc3MvRW50cnlQb2lu
dC9Db2NvYS9YUENTZXJ2aWNlL1dlYkF1dGhuU2VydmljZS9JbmZvLU9TWC5wbGlzdDsKKworT1RI
RVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKE9USEVSX0xERkxBR1NfVkVSU0lPTkVEX0ZSQU1F
V09SS19QQVRIKSAkKFdLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS1NfTERGTEFHUyk7CisKK0VOVElU
TEVNRU5UU19SRVFVSVJFRCA9ICQoRU5USVRMRU1FTlRTX1JFUVVJUkVEX1VTRV9JTlRFUk5BTF9T
REtfJChVU0VfSU5URVJOQUxfU0RLKSkKK0VOVElUTEVNRU5UU19SRVFVSVJFRF9VU0VfSU5URVJO
QUxfU0RLXyA9IE5POworRU5USVRMRU1FTlRTX1JFUVVJUkVEX1VTRV9JTlRFUk5BTF9TREtfTk8g
PSBOTzsKK0VOVElUTEVNRU5UU19SRVFVSVJFRF9VU0VfSU5URVJOQUxfU0RLX1lFUyA9ICQoRU5U
SVRMRU1FTlRTX1JFUVVJUkVEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJh
dGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKaW5kZXggY2U3MTg1OWRkYTkwNTRhZGZjMDQ1NTg0MDdmMTY0ZTM3ZTM2ZmY3
Yi4uZjM5MTA0YTI3MTI5NDg0MmYzNjk2MWE0NWVmYTA0NGJkYTc2YWJmZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNl
L1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKQEAgLTE1Miw3ICsxNTIsNyBA
QCBTRUNUT1JERVJfRkxBR1NfUHJvZHVjdGlvbltzZGs9aXBob25lb3MqXSA9IC1XbCwtb3JkZXJf
ZmlsZSwkKFNES1JPT1QpL0FwcGxlSW50ZQogU0VDVE9SREVSX0ZMQUdTX1Byb2R1Y3Rpb25bc2Rr
PW1hY29zeCpdID0gLVdsLC1vcmRlcl9maWxlLG1hYy9XZWJLaXQyLm9yZGVyOwogCiBFWENMVURF
RF9TT1VSQ0VfRklMRV9OQU1FUyA9IFJlc291cmNlcy9pb3MvKjsKLUVYQ0xVREVEX1NPVVJDRV9G
SUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5bGliIFNlY0l0ZW1T
aGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNlcy9tYWMvKiBjb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vz
cy5zYiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiBjb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21t
b24uc2IgUGx1Z0luU2FuZGJveFByb2ZpbGVzLyouc2I7CitFWENMVURFRF9TT1VSQ0VfRklMRV9O
QU1FU1tzZGs9aXBob25lKl0gPSBQbHVnaW5Qcm9jZXNzU2hpbS5keWxpYiBTZWNJdGVtU2hpbS5k
eWxpYiBXZWJQcm9jZXNzU2hpbS5keWxpYiAqLnBkZiBSZXNvdXJjZXMvbWFjLyogY29tLmFwcGxl
LldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBjb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2Ig
Y29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IgY29tLmFwcGxlLldlYlByb2Nlc3Mu
c2IgY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiIFBsdWdJblNhbmRib3hQcm9maWxl
cy8qLnNiOwogCiBJTlNUQUxMSERSU19TQ1JJUFRfUEhBU0UgPSBZRVM7CiBBUFBMWV9SVUxFU19J
Tl9DT1BZX0hFQURFUlMgPSAkKFdLX1VTRV9ORVdfQlVJTERfU1lTVEVNKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L0luZm8ucGxpc3Qg
Yi9Tb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9JbmZvLnBsaXN0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDQ4NDQ4NzdhMDhkNmZlYzYwODViOTky
N2ZjMTg3YmMyMTFhZDg4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L0luZm8u
cGxpc3QKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAi
IGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RU
RCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt
MS4wLmR0ZCI+Ci08cGxpc3QgdmVyc2lvbj0iMS4wIj4KLTxkaWN0PgotCTxrZXk+Q0ZCdW5kbGVH
ZXRJbmZvU3RyaW5nPC9rZXk+Ci0JPHN0cmluZz4ke0JVTkRMRV9WRVJTSU9OfSwgQ29weXJpZ2h0
IDIwMDMtMjAyMCBBcHBsZSBJbmMuPC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZURldmVsb3BtZW50
UmVnaW9uPC9rZXk+Ci0JPHN0cmluZz5FbmdsaXNoPC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUV4
ZWN1dGFibGU8L2tleT4KLQk8c3RyaW5nPiR7RVhFQ1VUQUJMRV9OQU1FfTwvc3RyaW5nPgotCTxr
ZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+Ci0JPHN0cmluZz4ke1BST0RVQ1RfQlVORExFX0lE
RU5USUZJRVJ9PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwv
a2V5PgotCTxzdHJpbmc+Ni4wPC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZU5hbWU8L2tleT4KLQk8
c3RyaW5nPiR7UFJPRFVDVF9OQU1FfTwvc3RyaW5nPgotCTxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlw
ZTwva2V5PgotCTxzdHJpbmc+QVBQTDwvc3RyaW5nPgotCTxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNp
b25TdHJpbmc8L2tleT4KLQk8c3RyaW5nPiR7U0hPUlRfVkVSU0lPTl9TVFJJTkd9PC9zdHJpbmc+
Ci0JPGtleT5DRkJ1bmRsZVNpZ25hdHVyZTwva2V5PgotCTxzdHJpbmc+Pz8/Pzwvc3RyaW5nPgot
CTxrZXk+Q0ZCdW5kbGVWZXJzaW9uPC9rZXk+Ci0JPHN0cmluZz4ke0JVTkRMRV9WRVJTSU9OfTwv
c3RyaW5nPgotCTxrZXk+TFNGaWxlUXVhcmFudGluZUVuYWJsZWQ8L2tleT4KLQk8dHJ1ZS8+Ci0J
PGtleT5MU0JhY2tncm91bmRPbmx5PC9rZXk+Ci0JPHRydWUvPgotCTxrZXk+TlNQcmluY2lwYWxD
bGFzczwva2V5PgotCTxzdHJpbmc+TlNBcHBsaWNhdGlvbjwvc3RyaW5nPgotCTxrZXk+TFNVSUVs
ZW1lbnQ8L2tleT4KLQk8dHJ1ZS8+Ci08L2RpY3Q+Ci08L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvV2ViQXV0aGVudGljYXRp
b25BZ2VudC5lbnRpdGxlbWVudHMgYi9Tb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGlj
YXRpb25BZ2VudC9XZWJBdXRoZW50aWNhdGlvbkFnZW50LmVudGl0bGVtZW50cwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGM2NzM3NmViYWNiNDEwZmQ4NzNjYWMxZDhkOGRkNDMxYjI2
MmMwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9XZWJBdXRoZW50aWNhdGlv
bkFnZW50LmVudGl0bGVtZW50cworKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBwbGlzdCBQVUJMSUMg
Ii0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMv
UHJvcGVydHlMaXN0LTEuMC5kdGQiPgotPHBsaXN0IHZlcnNpb249IjEuMCI+Ci08ZGljdC8+Ci08
L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0
aW9uQWdlbnQvY29tLmFwcGxlLndlYmtpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50LnBsaXN0IGIv
U291cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvY29tLmFwcGxlLndl
YmtpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50LnBsaXN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2OGI5YWM5ZmZkMmU3MDliMzc3ZTE2YjkyZGY1YWQ3M2U5MzFkMDBmLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvRGFl
bW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L2NvbS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGlj
YXRpb25BZ2VudC5wbGlzdAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElDICIt
Ly9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1By
b3BlcnR5TGlzdC0xLjAuZHRkIj4KLTxwbGlzdCB2ZXJzaW9uPSIxLjAiPgotPGRpY3Q+Ci0JPGtl
eT5FbmFibGVQcmVzc3VyZWRFeGl0PC9rZXk+Ci0JPHRydWUvPgotCTxrZXk+S2VlcEFsaXZlPC9r
ZXk+Ci0JPGZhbHNlLz4KLQk8a2V5PkxhYmVsPC9rZXk+Ci0JPHN0cmluZz5jb20uYXBwbGUud2Vi
a2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQ8L3N0cmluZz4KLQk8a2V5Pk1hY2hTZXJ2aWNlczwv
a2V5PgotCTxkaWN0PgotCQk8a2V5PmNvbS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGljYXRpb25B
Z2VudDwva2V5PgotCQk8dHJ1ZS8+Ci0JPC9kaWN0PgotCTxrZXk+UHJvZ3JhbTwva2V5PgotCTxz
dHJpbmc+L1VzZXJzL2p3dGFuL0RvY3VtZW50cy9CdWlsZC9Qcm9kdWN0cy9EZWJ1Zy9jb20uYXBw
bGUuV2ViS2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQuRGV2ZWxvcG1lbnQ8L3N0cmluZz4KLTwv
ZGljdD4KLTwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0
aGVudGljYXRpb25BZ2VudC9tYWluLm1tIGIvU291cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhl
bnRpY2F0aW9uQWdlbnQvbWFpbi5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNj
ZTQ3YzgzOWNiM2RjMGM3NWU1NWI3OGJlMDU0MWIyOGIzM2I3YS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0
aGVudGljYXRpb25BZ2VudC9tYWluLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotCi1pbnQgbWFpbihpbnQgYXJnYywgY29u
c3QgY2hhciogYXJndltdKQotewotICAgIEBhdXRvcmVsZWFzZXBvb2wgewotICAgICAgICBXVEZM
b2dBbHdheXMoImNvbS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGljYXRpb25BZ2VudCBzdGFydGVk
LiIpOwotICAgIH0KLQotICAgIFtbTlNSdW5Mb29wIG1haW5SdW5Mb29wXSBydW5dOwotCi0gICAg
cmV0dXJuIDA7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNTJjMTMwYjRmODMzMzNiYjZlZGQ3ODRhYmJjYThhN2NkMDU3NTNjMy4uMTQ1
NzNmZjFiNmQxMjRhMDcwYTMzMWE2MmRjYWE2NWI3ZTMwYjllOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJL
aXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTA0LDYgKzEwNCw3IEBAICQo
UFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xs
ZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL1ZpZXdHZXN0dXJl
Q29udHJvbGxlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL1Zpc2l0ZWRM
aW5rU3RvcmUubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgorJChQ
Uk9KRUNUX0RJUikvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdl
clByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL1dlYkdl
b2xvY2F0aW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTUsNiArMTE2LDkgQEAgJChQ
Uk9KRUNUX0RJUikvVUlQcm9jZXNzL2lvcy9FZGl0YWJsZUltYWdlQ29udHJvbGxlci5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250
cm9sbGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvaW9zL1dlYkRldmlj
ZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJ
UikvVUlQcm9jZXNzL21hYy9TZWNJdGVtU2hpbVByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1Rf
RElSKS9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLm1l
c3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0Fw
cGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikv
V2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuanMKICQoUFJP
SkVDVF9ESVIpL1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5
Lm1lc3NhZ2VzLmluCkBAIC0xNTMsNiArMTU3LDcgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJ
UikvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250
ZW50Q29udHJvbGxlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IubWVzc2FnZXMuaW4KKyQo
UFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLm1lc3NhZ2VzLmluCiAk
KFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvVGV4dENoZWNraW5nQ29udHJv
bGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2Vz
LW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDU2ODJiZWNhMjc2ZGE3ZWQ3NzQ2ZGVlMzY5MGZmYTM2
ZjU1NzkxN2MuLjA4YzQ1ZjFiYWY0ZWI3YmIwODJiMWNjYmZkNDQ2YjI2Nzk4NWNiZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysr
IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjg4
LDYgKzI4OCwxOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlcwogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhlbnRpY2F0
b3JDb29yZGluYXRvclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01l
c3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhuQ29ubmVjdGlvblRv
V2ViUHJvY2Vzc01lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVy
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlc1JlcGxp
ZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0
aG5Qcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZXMuaAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZXNS
ZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aG5Qcm9jZXNzUHJveHlNZXNzYWdlcy5o
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRoblBy
b2Nlc3NQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRvbWF0aW9uU2Vzc2lvbk1lc3NhZ2VSZWNlaXZlci5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dG9tYXRp
b25TZXNzaW9uTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViQXV0b21hdGlvblNlc3Npb25NZXNzYWdlc1JlcGxpZXMuaApAQCAtNDIwLDUg
KzQzMiw2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5TWVzc2FnCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eU1lc3Nh
Z2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2NvbS5hcHBsZS5XZWJQcm9jZXNz
LnNiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjc0NThiNjNiOThjZGMzM2E0YjQ3
NTcyM2M2Nzg5OTEyYTJlYmY0Yy4uNjNjZTM5ZDdlNTYyZDc3NjcxZjljYTI1Y2E2MTI1YmNjZjcz
MzM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDUsNiArNDUsOCBAQCBWUEFU
SCA9IFwKICAgICAkKFdlYktpdDIpL1NoYXJlZC9BcHBsZVBheSBcCiAgICAgJChXZWJLaXQyKS9T
aGFyZWQvQXV0aGVudGljYXRpb24gXAogICAgICQoV2ViS2l0MikvU2hhcmVkL21hYyBcCisgICAg
JChXZWJLaXQyKS9XZWJBdXRoblByb2Nlc3MgXAorICAgICQoV2ViS2l0MikvV2ViQXV0aG5Qcm9j
ZXNzL21hYyBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL0FwcGxlUGF5IFwKICAgICAkKFdl
YktpdDIpL1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZSBcCiAgICAgJChXZWJLaXQyKS9XZWJQ
cm9jZXNzL0F1dG9tYXRpb24gXApAQCAtMTQwLDYgKzE0Miw3IEBAIE1FU1NBR0VfUkVDRUlWRVJT
ID0gXAogCVVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eSBcCiAJVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkgXAogCVVJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eSBcCisJVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5IFwKIAlVSVByb2Nl
c3MvV2ViUGFzdGVib2FyZFByb3h5IFwKIAlVSVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNv
bnRlbnRDb250cm9sbGVyUHJveHkgXAogCVVJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9y
UHJveHkgXApAQCAtMjEzLDYgKzIxNiw3IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogCVdlYlBy
b2Nlc3MvV2ViUGFnZS9WaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlciBcCiAJV2ViUHJvY2Vzcy9X
ZWJQYWdlL0NvY29hL1RleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94eSBcCiAJV2ViUHJvY2Vzcy9X
ZWJQYWdlL1ZpZXdVcGRhdGVEaXNwYXRjaGVyIFwKKwlXZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24gXAogCVBsdWdpblByb2Nlc3MvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb24gXAogCVBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5IFwKIAlQ
bHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MgXApAQCAtMjM5LDYgKzI0Myw4IEBAIE1FU1NBR0Vf
UkVDRUlWRVJTID0gXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkgXAog
CUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkgXAogCUdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIgXAorCVdlYkF1dGhuUHJv
Y2Vzcy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgXAorCVdlYkF1dGhuUHJvY2Vzcy9X
ZWJBdXRoblByb2Nlc3MgXAogIwogCiBHRU5FUkFURV9NRVNTQUdFX1JFQ0VJVkVSX1NDUklQVCA9
ICQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlLXJlY2VpdmVyLnB5CkBAIC0yODQs
NyArMjkwLDggQEAgU0FOREJPWF9QUk9GSUxFUyA9IFwKIAljb20uYXBwbGUuV2ViUHJvY2Vzcy5z
YiBcCiAJY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiIFwKIAljb20uYXBwbGUuV2Vi
S2l0Lk5ldHdvcmtQcm9jZXNzLnNiIFwKLQljb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IK
Kwljb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IgXAorCWNvbS5hcHBsZS5XZWJLaXQuV2Vi
QXV0aG5Qcm9jZXNzLnNiCiAKIGFsbCA6ICQoU0FOREJPWF9QUk9GSUxFUykKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9FeHRyYVByaXZhdGVTeW1ib2xzRm9yVEFQSS5oIGIv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9FeHRyYVByaXZhdGVTeW1ib2xzRm9yVEFQSS5oCmluZGV4
IGM2NzgzYTQ2ODgyOTdhYjIzMmU4MjUxZDVkOGIwOTViOTY0NDYzYTguLmZiN2FjMGJjNGMxY2M4
OTAzYmE5MjU0YzE0MjMxZDM2NjlkZDQyOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vRXh0cmFQcml2YXRlU3ltYm9sc0ZvclRBUEkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0V4dHJhUHJpdmF0ZVN5bWJvbHNGb3JUQVBJLmgKQEAgLTM0LDYgKzM0LDcgQEAgdm9p
ZCBOZXR3b3JrU2VydmljZUluaXRpYWxpemVyKCk7CiB2b2lkIFBsdWdpblNlcnZpY2VJbml0aWFs
aXplcigpOwogdm9pZCBXZWJDb250ZW50U2VydmljZUluaXRpYWxpemVyKCk7CiB2b2lkIEdQVVNl
cnZpY2VJbml0aWFsaXplcigpOwordm9pZCBXZWJBdXRoblNlcnZpY2VJbml0aWFsaXplcigpOwog
CiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0F1eGlsaWFyeVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nl
c3MuaAppbmRleCBlODYyOGJlMTJjNmE5ZjA3N2RjNzdmZDdlNDQ3ZTE2MjBmN2U1YjQ5Li43YmEy
MDdhYmIwYWNjYzhhNTcwZjVjNjYzZjQ2Y2FhMjRhODI2ZDkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDksNyArNDksMTAgQEAgcHVibGljOgogICAgICAg
ICBOZXR3b3JrLAogICAgICAgICBQbHVnaW4sCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotICAg
ICAgICBHUFUKKyAgICAgICAgR1BVLAorI2VuZGlmCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKyAg
ICAgICAgV2ViQXV0aG4KICNlbmRpZgogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNl
RW50cnlQb2ludC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9D
b2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50LmgKaW5kZXggODNlMDVkYzk0MjU4
NjlhYWE5OTI4YzM5YWUzMDE3ZTE0NWEyNTZkMS4uMzMyNWRiMWIwZWRkMGRhOTIzYjk0Yzc1MTky
YjQyMzg5NGY4Mzg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2lu
dFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNl
L1hQQ1NlcnZpY2VFbnRyeVBvaW50LmgKQEAgLTQyLDYgKzQyLDcgQEAgZXh0ZXJuICJDIiBPU19O
T1RIUk9XIHZvaWQgdm91Y2hlcl9yZXBsYWNlX2RlZmF1bHRfdm91Y2hlcih2b2lkKTsKICNkZWZp
bmUgTkVUV09SS19TRVJWSUNFX0lOSVRJQUxJWkVSIE5ldHdvcmtTZXJ2aWNlSW5pdGlhbGl6ZXIK
ICNkZWZpbmUgUExVR0lOX1NFUlZJQ0VfSU5JVElBTElaRVIgUGx1Z2luU2VydmljZUluaXRpYWxp
emVyCiAjZGVmaW5lIEdQVV9TRVJWSUNFX0lOSVRJQUxJWkVSIEdQVVNlcnZpY2VJbml0aWFsaXpl
cgorI2RlZmluZSBXRUJBVVRITl9TRVJWSUNFX0lOSVRJQUxJWkVSIFdlYkF1dGhuU2VydmljZUlu
aXRpYWxpemVyCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2Vydmlj
ZU1haW4ubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29h
L1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0KaW5kZXggOTNiN2Y0NTIxODYwZjgyYjdlNzQy
NmY3NTcxNDIxZWYyMWE0MzBhOS4uN2U5ODQ5NzRiOGFhNzZlMTk5ZTFhODNjOGZkOTc0NDBiNzYz
NDdlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGll
cy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFp
bi5tbQpAQCAtNzAsNiArNzAsOCBAQCBzdGF0aWMgdm9pZCBYUENTZXJ2aWNlRXZlbnRIYW5kbGVy
KHhwY19jb25uZWN0aW9uX3QgcGVlcikKICAgICAgICAgICAgICAgICAgICAgZW50cnlQb2ludEZ1
bmN0aW9uTmFtZSA9IENGU1RSKFNUUklOR0laRV9WQUxVRV9PRihQTFVHSU5fU0VSVklDRV9JTklU
SUFMSVpFUikpOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoc2VydmljZU5hbWUs
ICJjb20uYXBwbGUuV2ViS2l0LkdQVSIpKQogICAgICAgICAgICAgICAgICAgICBlbnRyeVBvaW50
RnVuY3Rpb25OYW1lID0gQ0ZTVFIoU1RSSU5HSVpFX1ZBTFVFX09GKEdQVV9TRVJWSUNFX0lOSVRJ
QUxJWkVSKSk7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChzZXJ2aWNlTmFtZSwg
ImNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4iKSkKKyAgICAgICAgICAgICAgICAgICAgZW50cnlQ
b2ludEZ1bmN0aW9uTmFtZSA9IENGU1RSKFNUUklOR0laRV9WQUxVRV9PRihXRUJBVVRITl9TRVJW
SUNFX0lOSVRJQUxJWkVSKSk7CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCmluZGV4IGYzM2NlN2M5ODY1NDA5ZGRh
Zjk1OTdlZDRlNTMxMTY1MDYxMWU1N2MuLjIyYzBiMTg5YWFmYzY5NDA1MDgzYzM2MDA0YjRkNGRl
NGYzYmJmZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQ
cm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9j
ZXNzTWFjLm1tCkBAIC0yMzAsNiArMjMwLDEwIEBAIGNvbnN0ZXhwciBjb25zdCBjaGFyKiBwcm9j
ZXNzU3RvcmFnZUNsYXNzKEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlIHR5cGUpCiAjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQogICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5
cGU6OkdQVToKICAgICAgICAgcmV0dXJuICJXZWJLaXRHUFVTYW5kYm94IjsKKyNlbmRpZgorI2lm
IEVOQUJMRShXRUJfQVVUSE4pCisgICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlw
ZTo6V2ViQXV0aG46CisgICAgICAgIHJldHVybiAiV2ViS2l0V2ViQXV0aG5TYW5kYm94IjsKICNl
bmRpZgogICAgIH0KIH0KQEAgLTI5Miw2ICsyOTYsMTEgQEAgc3RhdGljIFN0cmluZyBzYW5kYm94
RGlyZWN0b3J5KEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlLCBjb25z
dAogICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OkdQVToKICAgICAgICAg
ZGlyZWN0b3J5LmFwcGVuZCgiL2NvbS5hcHBsZS5XZWJLaXQuR1BVLlNhbmRib3giKTsKICAgICAg
ICAgYnJlYWs7CisjZW5kaWYKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorICAgIGNhc2UgQXV4aWxp
YXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OldlYkF1dGhuOgorICAgICAgICBkaXJlY3RvcnkuYXBw
ZW5kKCIvY29tLmFwcGxlLldlYktpdC5XZWJBdXRobi5TYW5kYm94Iik7CisgICAgICAgIGJyZWFr
OwogI2VuZGlmCiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCBkYWY1ZmI3MzEzYmRkOTgwNjhkZWRk
MzljYmFjNGRmYmU5Mzc3Y2E4Li42MzE0NWFmYjVmOTE0NzBjZWNlYmQyY2I2MDljN2IyMWZlYzc2
NWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJLaXQvU291cmNlcy50eHQKQEAgLTQ3MiwxMiArNDcyLDE3IEBAIFVJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yVHJhbnNwb3J0U2VydmljZS5jcHAKIFVJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yLmNwcAogVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmNwcAogVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEuY3BwCitVSVByb2Nl
c3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzUHJveHkuY3BwCiAKIFVJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xs
ZXIuY3BwCiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFSZWNvcmQuY3BwCiBVSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKIFVJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHAKIAorV2ViQXV0aG5Qcm9jZXNz
L1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKK1dlYkF1dGhuUHJvY2Vzcy9XZWJB
dXRoblByb2Nlc3MuY3BwCitXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAorCiBXZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHAK
IFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKIFdlYlByb2Nlc3MvV2ViU2xlZXBEaXNhYmxlckNs
aWVudC5jcHAKQEAgLTYyNiw2ICs2MzEsNyBAQCBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2Vydmlj
ZVdvcmtlclByb3ZpZGVyLmNwcAogV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVu
dENvbnRyb2xsZXIuY3BwCiAKIFdlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yLmNwcAorV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uLmNwcAogCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1Nl
c3Npb25TdGF0ZUNvbnZlcnNpb24uY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCA3NzY5MGQwZGQ1MjcyYTA1
ZTJhNzg0MjIyMThhMzViNDIyYjU3NTVhLi4yMWFlMjVlMTg3MTliMzJlMWM5NWM3MzU2NDJlMDg0
YzE2MGJlYTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysr
IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC01NDgsNiArNTQ4LDEwIEBAIFVJ
UHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tOZmNTZXJ2aWNlLm1tCiAKIFVJUHJv
Y2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KIAorV2ViQXV0
aG5Qcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9XZWJBdXRoblNlcnZpY2VFbnRy
eVBvaW50Lm1tCitXZWJBdXRoblByb2Nlc3MvaW9zL1dlYkF1dGhuUHJvY2Vzc0lPUy5tbQorV2Vi
QXV0aG5Qcm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW0KKwogV2ViUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJQcm9jZXNzLmNwcAogCiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGls
aWFyeVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQ
cm9jZXNzUHJveHkuY3BwCmluZGV4IGQxYWM3ZDk5MGZhMjQwZjk5YmYyNWNkZmM2MGE5NDExMzk0
YjRkNDcuLmQ0NTZlMDU5NGYzNGRmNmQyNzRkYTcyZDYzY2IyYWY1YjA2ZmVkNTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmNwcApAQCAt
ODMsNiArODMsMTEgQEAgdm9pZCBBdXhpbGlhcnlQcm9jZXNzUHJveHk6OmdldExhdW5jaE9wdGlv
bnMoUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXUKICAgICBjYXNlIFByb2Nlc3NM
YXVuY2hlcjo6UHJvY2Vzc1R5cGU6OkdQVToKICAgICAgICAgdmFybmFtZSA9ICJHUFVfUFJPQ0VT
U19DTURfUFJFRklYIjsKICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNpZiBFTkFCTEUoV0VCX0FV
VEhOKQorICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6V2ViQXV0aG46Cisg
ICAgICAgIHZhcm5hbWUgPSAiV0VCQVVUSE5fUFJPQ0VTU19DTURfUFJFRklYIjsKKyAgICAgICAg
YnJlYWs7CiAjZW5kaWYKICAgICB9CiAgICAgY29uc3QgY2hhciogcHJvY2Vzc0NtZFByZWZpeCA9
IGdldGVudih2YXJuYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xh
dW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNo
ZXIvUHJvY2Vzc0xhdW5jaGVyLmgKaW5kZXggZWUyYjA3ZTY2Y2UyZjMwZWU5MTEyMjUxOWRmNzQx
NjIxMGU4ODYzNy4uNzAyNzFiNzQ5MDczMThmYWJjNDUyN2I0MzVjNzUxY2M0ZTYxMzI2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVy
LmgKQEAgLTczLDcgKzczLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgICAgICBOZXR3b3JrLAog
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLSAgICAgICAgR1BVCisgICAgICAgIEdQVSwKKyNlbmRp
ZgorI2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgICAgIFdlYkF1dGhuCiAjZW5kaWYKICAgICB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJv
Y2Vzc0xhdW5jaGVyTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvbWFj
L1Byb2Nlc3NMYXVuY2hlck1hYy5tbQppbmRleCAyOGEzMzdjYTJhMjg0ZTk2YmIyOGI4ZGQ3ZDAw
NGUyYTI5OWNhN2RjLi41NDQwODFiMzRkYWZkZTMwNTgzMTI4ZWI0Nzg3ODc3YjQ1MGZjNWJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vzc0xh
dW5jaGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Q
cm9jZXNzTGF1bmNoZXJNYWMubW0KQEAgLTYwLDYgKzYwLDEwIEBAIHN0YXRpYyBjb25zdCBjaGFy
KiBzZXJ2aWNlTmFtZShjb25zdCBQcm9jZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmIGxhdW5j
aE9wdGlvCiAgICAgY2FzZSBQcm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpHUFU6CiAgICAg
ICAgIHJldHVybiAiY29tLmFwcGxlLldlYktpdC5HUFUiOwogI2VuZGlmCisjaWYgRU5BQkxFKFdF
Ql9BVVRITikKKyAgICBjYXNlIFByb2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6OldlYkF1dGhu
OgorICAgICAgICByZXR1cm4gImNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4iOworI2VuZGlmCiAj
aWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgY2FzZSBQcm9jZXNzTGF1bmNoZXI6
OlByb2Nlc3NUeXBlOjpQbHVnaW46CiAgICAgICAgIHJldHVybiAiY29tLmFwcGxlLldlYktpdC5Q
bHVnaW4uNjQiOwpAQCAtNzQsMTAgKzc4LDE0IEBAIHN0YXRpYyBib29sIHNob3VsZExlYWtCb29z
dChjb25zdCBQcm9jZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmIGxhdW5jaE9wdGlvbnMpCiAg
ICAgVU5VU0VEX1BBUkFNKGxhdW5jaE9wdGlvbnMpOwogICAgIHJldHVybiB0cnVlOwogI2Vsc2UK
LSAgICAvLyBPbiBNYWMsIGxlYWsgYSBib29zdCBvbnRvIHRoZSBOZXR3b3JrUHJvY2VzcyBhbmQg
R1BVUHJvY2Vzcy4KKyAgICAvLyBPbiBNYWMsIGxlYWsgYSBib29zdCBvbnRvIHRoZSBOZXR3b3Jr
UHJvY2VzcywgR1BVUHJvY2VzcyBhbmQgV2ViQXV0aG5Qcm9jZXNzLgogI2lmIEVOQUJMRShHUFVf
UFJPQ0VTUykKICAgICBpZiAobGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBQcm9jZXNzTGF1
bmNoZXI6OlByb2Nlc3NUeXBlOjpHUFUpCiAgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCisj
aWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICBpZiAobGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9
PSBQcm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpXZWJBdXRobikKKyAgICAgICAgcmV0dXJu
IHRydWU7CiAjZW5kaWYKICAgICByZXR1cm4gbGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBQ
cm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpOZXR3b3JrOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nl
c3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9X
ZWJBdXRoblByb2Nlc3NQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTEzMzMyYmJjMDZhNTM0ZWQ4YWM2
MGE1M2YyNjYwMmQwMjZmMzMxOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5LmNwcApAQCAtMCww
ICsxLDE4OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJX
ZWJBdXRoblByb2Nlc3NQcm94eS5oIgorCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKworI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5o
IgorI2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1
ZGUgIldlYkF1dGhuUHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Qcm9jZXNz
UHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgorI2luY2x1ZGUg
IldlYlBhZ2VQcm94eS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1
ZGUgIldlYlByb2Nlc3NQb29sLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCisjaW5j
bHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrcy5oPgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5o
PgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9Y
UENTUEkuaD4KKyNlbmRpZgorCisjZGVmaW5lIE1FU1NBR0VfQ0hFQ0soYXNzZXJ0aW9uKSBNRVNT
QUdFX0NIRUNLX0JBU0UoYXNzZXJ0aW9uLCB0aGlzLT5jb25uZWN0aW9uKCkpCisKK25hbWVzcGFj
ZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1dlYkF1dGhuUHJvY2Vzc1By
b3h5JiBXZWJBdXRoblByb2Nlc3NQcm94eTo6c2luZ2xldG9uKCkKK3sKKyAgICBBU1NFUlQoUnVu
TG9vcDo6aXNNYWluKCkpOworCisgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwor
ICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8V2ViQXV0aG5Qcm9jZXNzUHJveHk+IHdlYkF1
dGhuUHJvY2VzczsKKworICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbXSB7CisgICAgICAg
IHdlYkF1dGhuUHJvY2Vzcy5jb25zdHJ1Y3QoKTsKKworICAgICAgICBXZWJBdXRoblByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKworICAgICAgICAvLyBJbml0aWFsaXplIHRo
ZSBXZWJBdXRobiBwcm9jZXNzLgorICAgICAgICB3ZWJBdXRoblByb2Nlc3MtPnNlbmQoTWVzc2Fn
ZXM6OldlYkF1dGhuUHJvY2Vzczo6SW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2VzcyhwYXJhbWV0ZXJz
KSwgMCk7CisgICAgICAgIHdlYkF1dGhuUHJvY2Vzcy0+dXBkYXRlUHJvY2Vzc0Fzc2VydGlvbigp
OworICAgIH0pOworCisgICAgcmV0dXJuIHdlYkF1dGhuUHJvY2Vzcy5nZXQoKTsKK30KKworV2Vi
QXV0aG5Qcm9jZXNzUHJveHk6OldlYkF1dGhuUHJvY2Vzc1Byb3h5KCkKKyAgICA6IEF1eGlsaWFy
eVByb2Nlc3NQcm94eSgpCisgICAgLCBtX3Rocm90dGxlcigqdGhpcywgZmFsc2UpCit7CisgICAg
Y29ubmVjdCgpOworfQorCitXZWJBdXRoblByb2Nlc3NQcm94eTo6fldlYkF1dGhuUHJvY2Vzc1By
b3h5KCkgPSBkZWZhdWx0OworCit2b2lkIFdlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hP
cHRpb25zKFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1bmNoT3B0aW9ucykKK3sK
KyAgICBsYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID0gUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNz
VHlwZTo6V2ViQXV0aG47CisgICAgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hPcHRp
b25zKGxhdW5jaE9wdGlvbnMpOworfQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzc1Byb3h5Ojpjb25u
ZWN0aW9uV2lsbE9wZW4oSVBDOjpDb25uZWN0aW9uJikKK3sKK30KKwordm9pZCBXZWJBdXRoblBy
b2Nlc3NQcm94eTo6cHJvY2Vzc1dpbGxTaHV0RG93bihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24pCit7CisgICAgQVNTRVJUX1VOVVNFRChjb25uZWN0aW9uLCB0aGlzLT5jb25uZWN0aW9uKCkg
PT0gJmNvbm5lY3Rpb24pOworfQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRXZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5LCBN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpE
ZWxheWVkUmVwbHkmJiByZXBseSkKK3sKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lv
biwgIiVwIC0gV2ViQXV0aG5Qcm9jZXNzUHJveHkgaXMgdGFraW5nIGEgYmFja2dyb3VuZCBhc3Nl
cnRpb24gYmVjYXVzZSBhIHdlYiBwcm9jZXNzIGlzIHJlcXVlc3RpbmcgYSBjb25uZWN0aW9uIiwg
dGhpcyk7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJBdXRoblByb2Nlc3M6
OkNyZWF0ZVdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyB7IHdlYlByb2Nlc3NQcm94eS5j
b3JlUHJvY2Vzc0lkZW50aWZpZXIoKSB9LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigq
dGhpcyksIHJlcGx5ID0gV1RGTW92ZShyZXBseSldKGF1dG8mJiBpZGVudGlmaWVyKSBtdXRhYmxl
IHsKKyAgICAgICAgaWYgKCF3ZWFrVGhpcykgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJS
T1IoUHJvY2VzcywgIldlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uOiBXZWJBdXRoblByb2Nlc3NQcm94eSBkZWFsbG9jYXRlZCBkdXJpbmcgY29ubmVjdGlv
biBlc3RhYmxpc2htZW50Iik7CisgICAgICAgICAgICByZXR1cm4gcmVwbHkoeyB9KTsKKyAgICAg
ICAgfQorCisgICAgICAgIGlmICghaWRlbnRpZmllcikgeworICAgICAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoUHJvY2VzcywgIldlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uOiBjb25uZWN0aW9uIGlkZW50aWZpZXIgaXMgZW1wdHkiKTsKKyAgICAgICAg
ICAgIHJldHVybiByZXBseSh7IH0pOworICAgICAgICB9CisKKyAgICAgICAgTUVTU0FHRV9DSEVD
SyhNQUNIX1BPUlRfVkFMSUQoaWRlbnRpZmllci0+cG9ydCgpKSk7CisgICAgICAgIHJlcGx5KFdl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIHsgSVBDOjpBdHRhY2htZW50IHsgaWRlbnRpZmll
ci0+cG9ydCgpLCBNQUNIX01TR19UWVBFX01PVkVfU0VORCB9IH0pOworICAgIH0sIDAsIElQQzo6
U2VuZE9wdGlvbjo6RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5KTsK
K30KKwordm9pZCBXZWJBdXRoblByb2Nlc3NQcm94eTo6d2ViQXV0aG5Qcm9jZXNzQ3Jhc2hlZCgp
Cit7CisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9j
ZXNzUG9vbHMoKSkKKyAgICAgICAgcHJvY2Vzc1Bvb2wtPnRlcm1pbmF0ZUFsbFdlYkNvbnRlbnRQ
cm9jZXNzZXMoKTsKK30KKwordm9pZCBXZWJBdXRoblByb2Nlc3NQcm94eTo6ZGlkQ2xvc2UoSVBD
OjpDb25uZWN0aW9uJikKK3sKKyAgICAvLyBUaGlzIHdpbGwgY2F1c2UgdXMgdG8gYmUgZGVsZXRl
ZC4KKyAgICB3ZWJBdXRoblByb2Nlc3NDcmFzaGVkKCk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9j
ZXNzUHJveHk6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIElQQzo6TWVzc2FnZU5hbWUgbWVzc2FnZU5hbWUpCit7CisgICAgbG9nSW52YWxpZE1l
c3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZU5hbWUpOworCisgICAgV2ViUHJvY2Vzc1Bvb2w6OmRp
ZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShtZXNzYWdlTmFtZSk7CisKKyAgICAvLyBUZXJtaW5hdGUg
dGhlIFdlYkF1dGhuIHByb2Nlc3MuCisgICAgdGVybWluYXRlKCk7CisKKyAgICAvLyBTaW5jZSB3
ZSd2ZSBpbnZhbGlkYXRlZCB0aGUgY29ubmVjdGlvbiB3ZSdsbCBuZXZlciBnZXQgYSBJUEM6OkNv
bm5lY3Rpb246OkNsaWVudDo6ZGlkQ2xvc2UKKyAgICAvLyBjYWxsYmFjayBzbyB3ZSdsbCBleHBs
aWNpdGx5IGNhbGwgaXQgaGVyZSBpbnN0ZWFkLgorICAgIGRpZENsb3NlKGNvbm5lY3Rpb24pOwor
fQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcoUHJvY2Vz
c0xhdW5jaGVyKiBsYXVuY2hlciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rp
b25JZGVudGlmaWVyKQoreworICAgIEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1
bmNoaW5nKGxhdW5jaGVyLCBjb25uZWN0aW9uSWRlbnRpZmllcik7CisKKyAgICBpZiAoIUlQQzo6
Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbklkZW50aWZpZXIpKSB7Cisg
ICAgICAgIHdlYkF1dGhuUHJvY2Vzc0NyYXNoZWQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKHhwY19jb25uZWN0aW9uX3QgY29u
bmVjdGlvbiA9IHRoaXMtPmNvbm5lY3Rpb24oKS0+eHBjQ29ubmVjdGlvbigpKQorICAgICAgICBt
X3Rocm90dGxlci5kaWRDb25uZWN0VG9Qcm9jZXNzKHhwY19jb25uZWN0aW9uX2dldF9waWQoY29u
bmVjdGlvbikpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzUHJveHk6OnVwZGF0
ZVByb2Nlc3NBc3NlcnRpb24oKQoreworICAgIGJvb2wgaGFzQW55Rm9yZWdyb3VuZFdlYlByb2Nl
c3NlcyA9IGZhbHNlOworICAgIGJvb2wgaGFzQW55QmFja2dyb3VuZFdlYlByb2Nlc3NlcyA9IGZh
bHNlOworCisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQ
cm9jZXNzUG9vbHMoKSkgeworICAgICAgICBoYXNBbnlGb3JlZ3JvdW5kV2ViUHJvY2Vzc2VzIHw9
IHByb2Nlc3NQb29sLT5oYXNGb3JlZ3JvdW5kV2ViUHJvY2Vzc2VzKCk7CisgICAgICAgIGhhc0Fu
eUJhY2tncm91bmRXZWJQcm9jZXNzZXMgfD0gcHJvY2Vzc1Bvb2wtPmhhc0JhY2tncm91bmRXZWJQ
cm9jZXNzZXMoKTsKKyAgICB9CisKKyAgICBpZiAoaGFzQW55Rm9yZWdyb3VuZFdlYlByb2Nlc3Nl
cykgeworICAgICAgICBpZiAoIVByb2Nlc3NUaHJvdHRsZXI6OmlzVmFsaWRGb3JlZ3JvdW5kQWN0
aXZpdHkobV9hY3Rpdml0eUZyb21XZWJQcm9jZXNzZXMpKSB7CisgICAgICAgICAgICBtX2FjdGl2
aXR5RnJvbVdlYlByb2Nlc3NlcyA9IHRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgiV2Vi
QXV0aG4gZm9yIGZvcmVncm91bmQgdmlldyhzKSJfcyk7CisgICAgICAgICAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJBdXRoblByb2Nlc3M6OlByb2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCks
IDApOworICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGhhc0FueUJh
Y2tncm91bmRXZWJQcm9jZXNzZXMpIHsKKyAgICAgICAgaWYgKCFQcm9jZXNzVGhyb3R0bGVyOjpp
c1ZhbGlkQmFja2dyb3VuZEFjdGl2aXR5KG1fYWN0aXZpdHlGcm9tV2ViUHJvY2Vzc2VzKSkgewor
ICAgICAgICAgICAgbV9hY3Rpdml0eUZyb21XZWJQcm9jZXNzZXMgPSB0aHJvdHRsZXIoKS5iYWNr
Z3JvdW5kQWN0aXZpdHkoIldlYkF1dGhuIGZvciBiYWNrZ3JvdW5kIHZpZXcocykiX3MpOworICAg
ICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViQXV0aG5Qcm9jZXNzOjpQcm9jZXNzRGlkVHJhbnNp
dGlvblRvQmFja2dyb3VuZCgpLCAwKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAg
fQorICAgIG1fYWN0aXZpdHlGcm9tV2ViUHJvY2Vzc2VzID0gbnVsbHB0cjsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyN1bmRlZiBNRVNTQUdFX0NIRUNLCisKKyNlbmRpZiAvLyBFTkFC
TEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmM3MjcxNzUxYzUzZmI2ZDdmMDU4ZmI4YWM1ZWJlMzk4ZTAyYWI5OQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJv
Y2Vzc1Byb3h5LmgKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgRU5BQkxFKFdFQl9BVVRITikKKworI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NQcm94
eS5oIgorI2luY2x1ZGUgIlByb2Nlc3NMYXVuY2hlci5oIgorI2luY2x1ZGUgIlByb2Nlc3NUaHJv
dHRsZXIuaCIKKyNpbmNsdWRlICJQcm9jZXNzVGhyb3R0bGVyQ2xpZW50LmgiCisjaW5jbHVkZSAi
V2ViUGFnZVByb3h5SWRlbnRpZmllci5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3Nh
Z2VzUmVwbGllcy5oIgorI2luY2x1ZGUgPG1lbW9yeT4KKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K2NsYXNzIFdlYlByb2Nlc3NQcm94eTsKK2NsYXNzIFdlYnNpdGVEYXRhU3RvcmU7CitzdHJ1Y3Qg
V2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOworCitjbGFzcyBXZWJBdXRoblByb2Nl
c3NQcm94eSBmaW5hbCA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzUHJveHksIHByaXZhdGUgUHJv
Y2Vzc1Rocm90dGxlckNsaWVudCwgcHVibGljIENhbk1ha2VXZWFrUHRyPFdlYkF1dGhuUHJvY2Vz
c1Byb3h5PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV2ViQXV0aG5Qcm9jZXNzUHJveHkpOworICAgIGZyaWVuZCBMYXp5TmV2ZXJEZXN0
cm95ZWQ8V2ViQXV0aG5Qcm9jZXNzUHJveHk+OworcHVibGljOgorICAgIHN0YXRpYyBXZWJBdXRo
blByb2Nlc3NQcm94eSYgc2luZ2xldG9uKCk7CisKKyAgICB2b2lkIGdldFdlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc1Byb3h5JiwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6
R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkRlbGF5ZWRSZXBseSYmKTsKKworICAgIFByb2Nl
c3NUaHJvdHRsZXImIHRocm90dGxlcigpIGZpbmFsIHsgcmV0dXJuIG1fdGhyb3R0bGVyOyB9Cisg
ICAgdm9pZCB1cGRhdGVQcm9jZXNzQXNzZXJ0aW9uKCk7CisKKyAgICAvLyBQcm9jZXNzVGhyb3R0
bGVyQ2xpZW50CisgICAgdm9pZCBzZW5kUHJvY2Vzc0RpZFJlc3VtZSgpIGZpbmFsIHsgfQorICAg
IEFTQ0lJTGl0ZXJhbCBjbGllbnROYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIldlYkF1dGhu
UHJvY2VzcyJfczsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYkF1dGhuUHJvY2Vzc1By
b3h5KCk7CisgICAgfldlYkF1dGhuUHJvY2Vzc1Byb3h5KCk7CisKKyAgICAvLyBBdXhpbGlhcnlQ
cm9jZXNzUHJveHkKKyAgICBBU0NJSUxpdGVyYWwgcHJvY2Vzc05hbWUoKSBjb25zdCBmaW5hbCB7
IHJldHVybiAiV2ViQXV0aG4iX3M7IH0KKworICAgIHZvaWQgZ2V0TGF1bmNoT3B0aW9ucyhQcm9j
ZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmKSBvdmVycmlkZTsKKyAgICB2b2lkIGNvbm5lY3Rp
b25XaWxsT3BlbihJUEM6OkNvbm5lY3Rpb24mKSBvdmVycmlkZTsKKyAgICB2b2lkIHByb2Nlc3NX
aWxsU2h1dERvd24oSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CisKKyAgICB2b2lkIHdlYkF1
dGhuUHJvY2Vzc0NyYXNoZWQoKTsKKworICAgIC8vIFByb2Nlc3NUaHJvdHRsZXJDbGllbnQKKyAg
ICB2b2lkIHNlbmRQcmVwYXJlVG9TdXNwZW5kKElzU3VzcGVuc2lvbkltbWluZW50LCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsIHsgfQorCisgICAgLy8gUHJvY2Vzc0xhdW5jaGVy
OjpDbGllbnQKKyAgICB2b2lkIGRpZEZpbmlzaExhdW5jaGluZyhQcm9jZXNzTGF1bmNoZXIqLCBJ
UEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIpIG92ZXJyaWRlOworCisgICAgLy8gSVBDOjpDb25u
ZWN0aW9uOjpDbGllbnQKKyAgICB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJy
aWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6TWVzc2FnZU5hbWUpIG92ZXJyaWRlOworCisgICAgUHJvY2Vzc1Rocm90dGxlciBtX3Ro
cm90dGxlcjsKKyAgICBQcm9jZXNzVGhyb3R0bGVyOjpBY3Rpdml0eVZhcmlhbnQgbV9hY3Rpdml0
eUZyb21XZWJQcm9jZXNzZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
IC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzZTY4NjhmYjkwZThiMmZlZmI1M2RlNjYyMTY4
ZjdhODIyZDI3MjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMCww
ICsxLDI4IEBACisjIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
CisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBF
TkFCTEUoV0VCX0FVVEhOKQorCittZXNzYWdlcyAtPiBXZWJBdXRoblByb2Nlc3NQcm94eSBOb3RS
ZWZDb3VudGVkIHsKK30KKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggOGQ5ODdiYjY2ZDE0MzQwODk2
MTI4ZDczOTMwZjJhMWNhZGQ2OTlhNi4uMjZmMTRiNTExNzdlMDU3YmEzNGU1MTU0N2RiMWM0ZjI3
N2RmZjRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApA
QCAtMTE2LDYgKzExNiwxMSBAQAogI2luY2x1ZGUgIkdQVVByb2Nlc3NQcm94eS5oIgogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorI2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vzc0Nvbm5l
Y3Rpb25JbmZvLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Qcm9jZXNzUHJveHkuaCIKKyNlbmRpZgor
CiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
UmVtb3RlSW5zcGVjdG9yLmg+CiAjZW5kaWYKQEAgLTQ5Niw2ICs1MDEsMjAgQEAgdm9pZCBXZWJQ
cm9jZXNzUG9vbDo6Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc1Byb3h5JiB3ZWJQ
cm9jZXNzUHJveHksIE0KIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9BVVRITikKK3ZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OmdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc1By
b3h5JiB3ZWJQcm9jZXNzUHJveHksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFdlYkF1
dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseSYmIHJlcGx5KQoreworICAgIFdlYkF1
dGhuUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24oKS5nZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
KHdlYlByb2Nlc3NQcm94eSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB3
ZWJQcm9jZXNzUHJveHkgPSBtYWtlV2Vha1B0cih3ZWJQcm9jZXNzUHJveHkpLCByZXBseSA9IFdU
Rk1vdmUocmVwbHkpXSAoYXV0byYgY29ubmVjdGlvbkluZm8pIG11dGFibGUgeworICAgICAgICBp
ZiAoVU5MSUtFTFkoIUlQQzo6Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlv
bkluZm8uaWRlbnRpZmllcigpKSAmJiB3ZWJQcm9jZXNzUHJveHkgJiYgd2Vha1RoaXMpKSB7Cisg
ICAgICAgICAgICBXRUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiZ2V0
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjogRmFpbGVkIGZpcnN0IGF0dGVtcHQsIHJldHJ5aW5n
Iik7CisgICAgICAgICAgICBXZWJBdXRoblByb2Nlc3NQcm94eTo6c2luZ2xldG9uKCkuZ2V0V2Vi
QXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigqd2ViUHJvY2Vzc1Byb3h5LCBXVEZNb3ZlKHJlcGx5KSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgcmVwbHkoY29ubmVjdGlv
bkluZm8pOworICAgIH0pOworfQorI2VuZGlmCisKIGJvb2wgV2ViUHJvY2Vzc1Bvb2w6OnNfdXNl
U2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2VzcyA9IGZhbHNlOwogCiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXgg
MTgyNjc1MjVlZDcwZDFmNmY4ZTE2Mjk0MzRhOGQyYWMyN2I2OTFlOS4uNGUyZTlhNTIzZTQ2ZWU0
NDc0N2NlMzUwMmFlOTUwZTU4Zjk5NTAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oCkBAIC0zNTgsNiArMzU4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGdldEdQ
VVByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYsIE1lc3NhZ2VzOjpXZWJQcm9jZXNz
UHJveHk6OkdldEdQVVByb2Nlc3NDb25uZWN0aW9uRGVsYXllZFJlcGx5JiYpOwogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorICAgIHZvaWQgZ2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVj
dGlvbihXZWJQcm9jZXNzUHJveHkmLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uRGVsYXllZFJlcGx5JiYpOworI2VuZGlmCisKICAgICAvLyBO
ZXR3b3JrIFByb2Nlc3MgTWFuYWdlbWVudAogICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NDcmFzaGVk
KE5ldHdvcmtQcm9jZXNzUHJveHkmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5jcHAKaW5kZXggMGVmN2Q4OTg1OGVkNDkxMDdlYWQ5MzgyMzJmZTI2M2VkZGQy
MzFhNi4uMDE2MGE2ZmE2Yzk1MzBjZmU3MDZmYTI4MjA5ODJjYzQ0NTYwODIxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCkBAIC03NzQsNiArNzc0LDEz
IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpncHVQcm9jZXNzQ3Jhc2hlZCgpCiB9CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShXRUJfQVVUSE4pCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0V2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbihNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHkmJiByZXBseSkKK3sKKyAgICBtX3Byb2Nl
c3NQb29sLT5nZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKCp0aGlzLCBXVEZNb3ZlKHJlcGx5
KSk7Cit9CisjZW5kaWYKKwogI2lmICFQTEFURk9STShDT0NPQSkKIGJvb2wgV2ViUHJvY2Vzc1By
b3h5OjpwbGF0Zm9ybUlzQmVpbmdEZWJ1Z2dlZCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDY0MGQ4OTJhZTc5NGZlYTE4NTFhMDY2MTQ4
OTIwNmU1NjJiZGYxYjEuLjg4NTgyOTYxYTJkMjMyN2FkNjViODA2MmM5Zjk5NzliNmQyZjY3NDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC00NDYsNiAr
NDQ2LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihNZXNz
YWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbkRlbGF5ZWRSZXBs
eSYmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICB2b2lkIGdldFdlYkF1
dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbkRlbGF5ZWRSZXBseSYmKTsKKyNlbmRpZgorCiAgICAgYm9vbCBw
bGF0Zm9ybUlzQmVpbmdEZWJ1Z2dlZCgpIGNvbnN0OwogICAgIGJvb2wgc2hvdWxkQWxsb3dOb25W
YWxpZEluamVjdGVkQ29kZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMTY3MWFhNjQ5MmM2ZmFlOGVj
N2Y2MDFlMWVlN2QxOGY5OGQ3ZTA3Ni4uYzE1NzA0NzNiMGMzZjBjYjc1YzUyMTFjOTBjMzJjNWM5
NTg0YjJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtNDIsNiArNDIsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vz
c1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbigpIC0+
IChzdHJ1Y3QgV2ViS2l0OjpHUFVQcm9jZXNzQ29ubmVjdGlvbkluZm8gY29ubmVjdGlvbkluZm8p
IFN5bmNocm9ub3VzCiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgR2V0V2Vi
QXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigpIC0+IChzdHJ1Y3QgV2ViS2l0OjpXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uSW5mbyBjb25uZWN0aW9uSW5mbykgU3luY2hyb25vdXMKKyNlbmRpZgorCiAg
ICAgU2V0SXNIb2xkaW5nTG9ja2VkRmlsZXMoYm9vbCBpc0hvbGRpbmdMb2NrZWRGaWxlcykKIAog
ICAgIERpZEV4Y2VlZEFjdGl2ZU1lbW9yeUxpbWl0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViQXV0aG5Qcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9XZWJBdXRoblNl
cnZpY2UvSW5mby1PU1gucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9FbnRy
eVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8tT1NYLnBsaXN0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUyNzEwMzU4YWQ5MjhkZmRmZGU0MWU5ZGI4MzMwZDZkMjFhMDUzZGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0Nv
Y29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8tT1NYLnBsaXN0CkBAIC0wLDAgKzEs
NDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUg
cGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFw
cGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KKzxwbGlzdCB2ZXJzaW9uPSIxLjAi
PgorPGRpY3Q+CisJPGtleT5DRkJ1bmRsZUdldEluZm9TdHJpbmc8L2tleT4KKwk8c3RyaW5nPiR7
QlVORExFX1ZFUlNJT059LCBDb3B5cmlnaHQgMjAwMy0yMDIwIEFwcGxlIEluYy48L3N0cmluZz4K
Kwk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KKwk8c3RyaW5nPkVuZ2xpc2g8
L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgorCTxzdHJpbmc+JHtFWEVD
VVRBQkxFX05BTUV9PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KKwk8
c3RyaW5nPiR7UFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUn08L3N0cmluZz4KKwk8a2V5PkNGQnVu
ZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+CisJPHN0cmluZz42LjA8L3N0cmluZz4KKwk8
a2V5PkNGQnVuZGxlTmFtZTwva2V5PgorCTxzdHJpbmc+JHtQUk9EVUNUX05BTUV9PC9zdHJpbmc+
CisJPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+CisJPHN0cmluZz5YUEMhPC9zdHJpbmc+
CisJPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5PgorCTxzdHJpbmc+JHtTSE9S
VF9WRVJTSU9OX1NUUklOR308L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlU2lnbmF0dXJlPC9rZXk+
CisJPHN0cmluZz4/Pz8/PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4KKwk8
c3RyaW5nPiR7QlVORExFX1ZFUlNJT059PC9zdHJpbmc+CisJPGtleT5MU0ZpbGVRdWFyYW50aW5l
RW5hYmxlZDwva2V5PgorCTx0cnVlLz4KKwk8a2V5Pk5TUHJpbmNpcGFsQ2xhc3M8L2tleT4KKwk8
c3RyaW5nPk5TQXBwbGljYXRpb248L3N0cmluZz4KKwk8a2V5PkxTVUlFbGVtZW50PC9rZXk+CisJ
PHRydWUvPgorCTxrZXk+WFBDU2VydmljZTwva2V5PgorCTxkaWN0PgorCQk8a2V5PlNlcnZpY2VU
eXBlPC9rZXk+CisJCTxzdHJpbmc+QXBwbGljYXRpb248L3N0cmluZz4KKwkJPGtleT5Kb2luRXhp
c3RpbmdTZXNzaW9uPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5SdW5Mb29wVHlwZTwva2V5Pgor
CQk8c3RyaW5nPk5TUnVuTG9vcDwvc3RyaW5nPgorCQk8a2V5Pl9NdWx0aXBsZUluc3RhbmNlczwv
a2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorPC9kaWN0PgorPC9wbGlzdD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2Vydmlj
ZS9XZWJBdXRoblNlcnZpY2UvSW5mby1pT1MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhu
UHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8t
aU9TLnBsaXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmNDdjMTE1NGUyMTM3Zjg0MGExM2U1M2ZjZDVlMWM0YmE2
NjdkOWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9F
bnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8taU9TLnBsaXN0
CkBAIC0wLDAgKzEsNDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+
Cis8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJo
dHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KKzxwbGlzdCB2
ZXJzaW9uPSIxLjAiPgorPGRpY3Q+CisJPGtleT5DRkJ1bmRsZUdldEluZm9TdHJpbmc8L2tleT4K
Kwk8c3RyaW5nPiR7QlVORExFX1ZFUlNJT059LCBDb3B5cmlnaHQgMjAwMy0yMDIwIEFwcGxlIElu
Yy48L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KKwk8c3Ry
aW5nPkVuZ2xpc2g8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgorCTxz
dHJpbmc+JHtFWEVDVVRBQkxFX05BTUV9PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUlkZW50aWZp
ZXI8L2tleT4KKwk8c3RyaW5nPiR7UFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUn08L3N0cmluZz4K
Kwk8a2V5PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+CisJPHN0cmluZz42LjA8
L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlTmFtZTwva2V5PgorCTxzdHJpbmc+JHtQUk9EVUNUX05B
TUV9PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+CisJPHN0cmluZz5Y
UEMhPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5PgorCTxz
dHJpbmc+JHtTSE9SVF9WRVJTSU9OX1NUUklOR308L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlU2ln
bmF0dXJlPC9rZXk+CisJPHN0cmluZz4/Pz8/PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVZlcnNp
b248L2tleT4KKwk8c3RyaW5nPiR7QlVORExFX1ZFUlNJT059PC9zdHJpbmc+CisJPGtleT5MU0Zp
bGVRdWFyYW50aW5lRW5hYmxlZDwva2V5PgorCTx0cnVlLz4KKwk8a2V5Pk5TUHJpbmNpcGFsQ2xh
c3M8L2tleT4KKwk8c3RyaW5nPk5TQXBwbGljYXRpb248L3N0cmluZz4KKwk8a2V5PkxTVUlFbGVt
ZW50PC9rZXk+CisJPHRydWUvPgorCTxrZXk+WFBDU2VydmljZTwva2V5PgorCTxkaWN0PgorCQk8
a2V5PlNlcnZpY2VUeXBlPC9rZXk+CisJCTxzdHJpbmc+QXBwbGljYXRpb248L3N0cmluZz4KKwkJ
PGtleT5SdW5Mb29wVHlwZTwva2V5PgorCQk8c3RyaW5nPk5TUnVuTG9vcDwvc3RyaW5nPgorCQk8
a2V5Pl9NdWx0aXBsZUluc3RhbmNlczwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+
Q2FuSW5oZXJpdEFwcGxpY2F0aW9uU3RhdGVGcm9tT3RoZXJQcm9jZXNzZXM8L2tleT4KKwk8dHJ1
ZS8+Cis8L2RpY3Q+Cis8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRo
blByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL1dlYkF1dGhuU2VydmljZUVudHJ5
UG9pbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29h
L1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlRW50cnlQb2ludC5tbQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzAz
ZWU0YTQ1NTQ2NjM4NzA5ZDc3ZGUwZGE0NTRjMmI0OTkxMzA5Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNl
L1dlYkF1dGhuU2VydmljZUVudHJ5UG9pbnQubW0KQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaW1wb3J0ICJFbnZpcm9ubWVudFV0aWxpdGllcy5o
IgorI2ltcG9ydCAiV0tCYXNlLmgiCisjaW1wb3J0ICJXZWJBdXRoblByb2Nlc3MuaCIKKyNpbXBv
cnQgIlhQQ1NlcnZpY2VFbnRyeVBvaW50LmgiCisKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQXV0aG5TZXJ2aWNlSW5pdGlhbGl6ZXJEZWxl
Z2F0ZSA6IHB1YmxpYyBYUENTZXJ2aWNlSW5pdGlhbGl6ZXJEZWxlZ2F0ZSB7CitwdWJsaWM6Cisg
ICAgV2ViQXV0aG5TZXJ2aWNlSW5pdGlhbGl6ZXJEZWxlZ2F0ZShPU09iamVjdFB0cjx4cGNfY29u
bmVjdGlvbl90PiBjb25uZWN0aW9uLCB4cGNfb2JqZWN0X3QgaW5pdGlhbGl6ZXJNZXNzYWdlKQor
ICAgICAgICA6IFhQQ1NlcnZpY2VJbml0aWFsaXplckRlbGVnYXRlKFdURk1vdmUoY29ubmVjdGlv
biksIGluaXRpYWxpemVyTWVzc2FnZSkKKyAgICB7CisgICAgfQorfTsKKwordGVtcGxhdGU8Pgor
dm9pZCBpbml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzczxXZWJBdXRoblByb2Nlc3M+KEF1eGlsaWFy
eVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQoreworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxXZWJBdXRoblByb2Nlc3M+IFdlYkF1dGhuUHJvY2VzcyhXVEZN
b3ZlKHBhcmFtZXRlcnMpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX0FVVEhOKQorCitleHRlcm4gIkMiIFdLX0VYUE9SVCB2b2lkIFdFQkFVVEhF
Tl9TRVJWSUNFX0lOSVRJQUxJWkVSKHhwY19jb25uZWN0aW9uX3QgY29ubmVjdGlvbiwgeHBjX29i
amVjdF90IGluaXRpYWxpemVyTWVzc2FnZSwgeHBjX29iamVjdF90IHByaW9yaXR5Qm9vc3RNZXNz
YWdlKTsKKwordm9pZCBXRUJBVVRIRU5fU0VSVklDRV9JTklUSUFMSVpFUih4cGNfY29ubmVjdGlv
bl90IGNvbm5lY3Rpb24sIHhwY19vYmplY3RfdCBpbml0aWFsaXplck1lc3NhZ2UsIHhwY19vYmpl
Y3RfdCBwcmlvcml0eUJvb3N0TWVzc2FnZSkKK3sKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhy
ZWFkKCk7CisKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorICAgIFdlYktpdDo6WFBDU2VydmljZUlu
aXRpYWxpemVyPFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzLCBXZWJLaXQ6OldlYkF1dGhuU2Vydmlj
ZUluaXRpYWxpemVyRGVsZWdhdGU+KGFkb3B0T1NPYmplY3QoY29ubmVjdGlvbiksIGluaXRpYWxp
emVyTWVzc2FnZSwgcHJpb3JpdHlCb29zdE1lc3NhZ2UpOworI2VuZGlmIC8vIEVOQUJMRShXRUJf
QVVUSE4pCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJB
dXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblBy
b2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTM2
YzA5YmE1MTk4YjM5NjUxMThhNjI3YTg3ZWQwYWViNDdjODg1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgorCisjaWYgRU5B
QkxFKFdFQl9BVVRITikKKworbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKKworUmVmPFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gV2ViQXV0aG5Db25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUoV2ViQXV0aG5Qcm9jZXNzJiBXZWJBdXRoblByb2Nl
c3MsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyLCBJUEM6
OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpCit7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkF1dGhu
UHJvY2Vzcywgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIGNvbm5lY3Rpb25JZGVudGlmaWVyKSk7Cit9
CisKK1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6V2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzKFdlYkF1dGhuUHJvY2VzcyYgV2ViQXV0aG5Qcm9jZXNzLCBXZWJDb3JlOjpQcm9j
ZXNzSWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVu
dGlmaWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyKQorICAgIDogbV9jb25uZWN0aW9uKElQQzo6Q29u
bmVjdGlvbjo6Y3JlYXRlU2VydmVyQ29ubmVjdGlvbihjb25uZWN0aW9uSWRlbnRpZmllciwgKnRo
aXMpKQorICAgICwgbV9XZWJBdXRoblByb2Nlc3MoV2ViQXV0aG5Qcm9jZXNzKQorICAgICwgbV93
ZWJQcm9jZXNzSWRlbnRpZmllcih3ZWJQcm9jZXNzSWRlbnRpZmllcikKK3sKKyAgICBSRUxFQVNF
X0FTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CisgICAgbV9jb25uZWN0aW9uLT5vcGVuKCk7Cit9
CisKK1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6fldlYkF1dGhuQ29ubmVjdGlvblRv
V2ViUHJvY2VzcygpCit7CisgICAgUkVMRUFTRV9BU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwor
CisgICAgbV9jb25uZWN0aW9uLT5pbnZhbGlkYXRlKCk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Db25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKQoreworfQorCit2
b2lkIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZUludmFsaWRNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlTmFtZSBtZXNzYWdl
TmFtZSkKK3sKKyAgICBXVEZMb2dBbHdheXMoIlJlY2VpdmVkIGFuIGludmFsaWQgbWVzc2FnZSBc
IiVzXCIgZnJvbSB0aGUgd2ViIHByb2Nlc3MuXG4iLCBkZXNjcmlwdGlvbihtZXNzYWdlTmFtZSkp
OworICAgIENSQVNIKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8g
RU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9j
ZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJB
dXRoblByb2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjZkNjliYjFkYjdhZjBkNDJkODYwMjQwN2Q4OGNmY2YyYzZjNWM4YwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIEVOQUJMRShXRUJfQVVUSE4pCisKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVk
ZSAiV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL1Byb2Nlc3NJZGVudGlmaWVyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkF1dGhuUHJvY2VzczsKKworY2xhc3Mg
V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzCisgICAgOiBwdWJsaWMgUmVmQ291bnRlZDxX
ZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+CisgICAgLCBJUEM6OkNvbm5lY3Rpb246OkNs
aWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M+IGNyZWF0ZShXZWJBdXRoblByb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmll
ciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKKyAgICB2aXJ0dWFsIH5XZWJBdXRobkNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MoKTsKKworICAgIElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlv
bigpIHsgcmV0dXJuIG1fY29ubmVjdGlvbi5nZXQoKTsgfQorICAgIFdlYkF1dGhuUHJvY2VzcyYg
V2ViQXV0aG5Qcm9jZXNzUHJvY2VzcygpIHsgcmV0dXJuIG1fV2ViQXV0aG5Qcm9jZXNzLmdldCgp
OyB9CisgICAgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIo
KSBjb25zdCB7IHJldHVybiBtX3dlYlByb2Nlc3NJZGVudGlmaWVyOyB9CisKKyAgICB2b2lkIGNs
ZWFudXBGb3JTdXNwZW5zaW9uKEZ1bmN0aW9uPHZvaWQoKT4mJik7CisgICAgdm9pZCBlbmRTdXNw
ZW5zaW9uKCk7CisKK3ByaXZhdGU6CisgICAgV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNz
KFdlYkF1dGhuUHJvY2VzcyYsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBJUEM6OkNvbm5l
Y3Rpb246OklkZW50aWZpZXIpOworCisgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKKyAg
ICB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVj
ZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZU5hbWUpIGZp
bmFsOworCisgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOworICAgIFJlZjxX
ZWJBdXRoblByb2Nlc3M+IG1fV2ViQXV0aG5Qcm9jZXNzOworICAgIGNvbnN0IFdlYkNvcmU6OlBy
b2Nlc3NJZGVudGlmaWVyIG1fd2ViUHJvY2Vzc0lkZW50aWZpZXI7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRobkNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGYyYzczZGRmMzRi
MGFjOTcxZDk4YWFiMGJhZmZjZWE3Y2Y0ODNmZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbgpAQCAtMCwwICsxLDI4IEBACisjIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJl
IG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgor
IyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
CisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorCittZXNzYWdlcyAtPiBXZWJBdXRobkNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MgeworfQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVlOGY0NjUzNzM0MGEyMjBkNDBiYWQyNTliMGQ0MjdlNzNmZjIwNzUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblBy
b2Nlc3MuY3BwCkBAIC0wLDAgKzEsMTI4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vzcy5oIgorCisjaWYgRU5BQkxFKFdFQl9BVVRI
TikKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJXZWJBdXRobkNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJL
aXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKKworV2ViQXV0aG5Qcm9jZXNzOjpXZWJB
dXRoblByb2Nlc3MoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYmIHBh
cmFtZXRlcnMpCit7CisgICAgaW5pdGlhbGl6ZShXVEZNb3ZlKHBhcmFtZXRlcnMpKTsKK30KKwor
V2ViQXV0aG5Qcm9jZXNzOjp+V2ViQXV0aG5Qcm9jZXNzKCkKK3sKK30KKwordm9pZCBXZWJBdXRo
blByb2Nlc3M6OmNyZWF0ZVdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRl
bnRpZmllciBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPElQQzo6
QXR0YWNobWVudD4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byBpcGNDb25u
ZWN0aW9uID0gY3JlYXRlSVBDQ29ubmVjdGlvblBhaXIoKTsKKyAgICBpZiAoIWlwY0Nvbm5lY3Rp
b24pIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGF1dG8gbmV3Q29ubmVjdGlvbiA9IFdlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6Y3JlYXRlKCp0aGlzLCBpZGVudGlmaWVyLCBpcGNDb25uZWN0aW9uLT5maXJzdCk7
CisKKyAgICBBU1NFUlQoIW1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmNvbnRhaW5zKGlkZW50aWZp
ZXIpKTsKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9ucy5hZGQoaWRlbnRpZmllciwgV1RGTW92
ZShuZXdDb25uZWN0aW9uKSk7CisKKyAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGlwY0Nv
bm5lY3Rpb24tPnNlY29uZCkpOworfQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzczo6cmVtb3ZlV2Vi
QXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyYgY29ubmVjdGlvbikKK3sKKyAgICBBU1NFUlQobV93ZWJQcm9jZXNzQ29ubmVjdGlvbnMuY29u
dGFpbnMoY29ubmVjdGlvbi53ZWJQcm9jZXNzSWRlbnRpZmllcigpKSk7CisgICAgbV93ZWJQcm9j
ZXNzQ29ubmVjdGlvbnMucmVtb3ZlKGNvbm5lY3Rpb24ud2ViUHJvY2Vzc0lkZW50aWZpZXIoKSk7
Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpjb25uZWN0aW9uVG9XZWJQcm9jZXNzQ2xvc2Vk
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKK3sKK30KKworYm9vbCBXZWJBdXRoblByb2Nl
c3M6OnNob3VsZFRlcm1pbmF0ZSgpCit7CisgICAgcmV0dXJuIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rp
b25zLmlzRW1wdHkoKTsKK30KKwordm9pZCBXZWJBdXRoblByb2Nlc3M6OmRpZENsb3NlKElQQzo6
Q29ubmVjdGlvbiYpCit7CisgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKK30KKwordm9p
ZCBXZWJBdXRoblByb2Nlc3M6Omxvd01lbW9yeUhhbmRsZXIoQ3JpdGljYWwgY3JpdGljYWwpCit7
CisgICAgV1RGOjpyZWxlYXNlRmFzdE1hbGxvY0ZyZWVNZW1vcnkoKTsKK30KKwordm9pZCBXZWJB
dXRoblByb2Nlc3M6OmluaXRpYWxpemVXZWJBdXRoblByb2Nlc3MoV2ViQXV0aG5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKK3sKKyAgICBXVEY6OlRocmVhZDo6c2V0Q3Vy
cmVudFRocmVhZElzVXNlckluaXRpYXRlZCgpOworICAgIEF0b21TdHJpbmc6OmluaXQoKTsKK30K
Kwordm9pZCBXZWJBdXRoblByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQoYm9vbCBpc1N1c3BlbnNp
b25JbW1pbmVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQoreworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJBdXRoblBy
b2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQoKSwgaXNTdXNwZW5zaW9uSW1taW5lbnQ6ICVkIiwgdGhp
cywgaXNTdXNwZW5zaW9uSW1taW5lbnQpOworCisgICAgbG93TWVtb3J5SGFuZGxlcihDcml0aWNh
bDo6WWVzKTsKK30KKwordm9pZCBXZWJBdXRoblByb2Nlc3M6OnByb2Nlc3NEaWRSZXN1bWUoKQor
eworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJBdXRoblByb2Nl
c3M6OnByb2Nlc3NEaWRSZXN1bWUoKSIsIHRoaXMpOworICAgIHJlc3VtZSgpOworfQorCit2b2lk
IFdlYkF1dGhuUHJvY2Vzczo6cmVzdW1lKCkKK3sKK30KKwordm9pZCBXZWJBdXRoblByb2Nlc3M6
OnByb2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCkKK3sKK30KKwordm9pZCBXZWJBdXRo
blByb2Nlc3M6OnByb2Nlc3NEaWRUcmFuc2l0aW9uVG9CYWNrZ3JvdW5kKCkKK3sKK30KKworV2Vi
QXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzKiBXZWJBdXRoblByb2Nlc3M6OndlYlByb2Nlc3ND
b25uZWN0aW9uKFByb2Nlc3NJZGVudGlmaWVyIGlkZW50aWZpZXIpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmdldChpZGVudGlmaWVyKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
ODVhMjMyMWQwZDE1ZmMyMTU0Njg4NTk0ODU2OGFiZmU0YWQ4ZmY3Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmgKQEAgLTAs
MCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9B
VVRITikKKworI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJBdXRo
blByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgorI2luY2x1ZGUg
PHd0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9j
ZXNzOworc3RydWN0IFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKKworY2xhc3Mg
V2ViQXV0aG5Qcm9jZXNzIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MsIHB1YmxpYyBUaHJlYWRT
YWZlUmVmQ291bnRlZDxXZWJBdXRoblByb2Nlc3M+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2Vi
QXV0aG5Qcm9jZXNzPiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQXV0aG5Qcm9jZXNz
KTsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBXZWJBdXRoblByb2Nlc3MoQXV4aWxpYXJ5UHJvY2Vz
c0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYmKTsKKyAgICB+V2ViQXV0aG5Qcm9jZXNzKCk7Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFByb2Nlc3NUeXBl
OjpXZWJBdXRobjsKKworICAgIHZvaWQgcmVtb3ZlV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9j
ZXNzKFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOworCisgICAgdm9pZCBwcmVwYXJl
VG9TdXNwZW5kKGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7CisgICAgdm9pZCBwcm9jZXNzRGlkUmVzdW1lKCk7CisgICAgdm9pZCByZXN1bWUo
KTsKKworICAgIHZvaWQgY29ubmVjdGlvblRvV2ViUHJvY2Vzc0Nsb3NlZChJUEM6OkNvbm5lY3Rp
b24mKTsKKworICAgIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyogd2ViUHJvY2Vzc0Nv
bm5lY3Rpb24oV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIpIGNvbnN0OworCitwcml2YXRlOgor
ICAgIHZvaWQgbG93TWVtb3J5SGFuZGxlcihDcml0aWNhbCk7CisKKyAgICAvLyBBdXhpbGlhcnlQ
cm9jZXNzCisgICAgdm9pZCBpbml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNz
SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJikgb3ZlcnJpZGU7CisgICAgdm9pZCBpbml0aWFsaXpl
UHJvY2Vzc05hbWUoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVy
cyYpIG92ZXJyaWRlOworICAgIHZvaWQgaW5pdGlhbGl6ZVNhbmRib3goY29uc3QgQXV4aWxpYXJ5
UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYsIFNhbmRib3hJbml0aWFsaXphdGlvblBh
cmFtZXRlcnMmKSBvdmVycmlkZTsKKyAgICBib29sIHNob3VsZFRlcm1pbmF0ZSgpIG92ZXJyaWRl
OworCisgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKKyAgICB2b2lkIGRpZFJlY2VpdmVN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZv
aWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CisKKyAgICAvLyBNZXNzYWdl
IEhhbmRsZXJzCisgICAgdm9pZCBpbml0aWFsaXplV2ViQXV0aG5Qcm9jZXNzKFdlYkF1dGhuUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmKTsKKyAgICB2b2lkIGNyZWF0ZVdlYkF1dGhuQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChPcHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+JiYpPiYmKTsKKworICAgIHZvaWQg
cHJvY2Vzc0RpZFRyYW5zaXRpb25Ub0ZvcmVncm91bmQoKTsKKyAgICB2b2lkIHByb2Nlc3NEaWRU
cmFuc2l0aW9uVG9CYWNrZ3JvdW5kKCk7CisKKyAgICAvLyBDb25uZWN0aW9ucyB0byBXZWJQcm9j
ZXNzZXMuCisgICAgSGFzaE1hcDxXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgUmVmPFdlYkF1
dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4+IG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNz
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9j
ZXNzLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhMDkyMTI1MmJmYzg4ZjdhZWI3MzYxOTRiZWJl
NmJkMjYwNzRhYTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJv
Y2Vzcy9XZWJBdXRoblByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzNiBAQAorIyBDb3B5
cmlnaHQgKEMpIDIwMTktMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisj
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBFTkFCTEUoV0VCX0FV
VEhOKQorCittZXNzYWdlcyAtPiBXZWJBdXRoblByb2Nlc3MgeworICAgICMgSW5pdGlhbGl6ZXMg
dGhlIFdlYkF1dGhuIHByb2Nlc3MuCisgICAgSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2VzcyhzdHJ1
Y3QgV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgcHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycykKKworICAgICMgQ3JlYXRlcyBhIGNvbm5lY3Rpb24gZm9yIGNvbW11bmlj
YXRpb24gd2l0aCBhIFdlYlByb2Nlc3MKKyAgICBDcmVhdGVXZWJBdXRobkNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIpIC0+
IChPcHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+IGNvbm5lY3Rpb25JZGVudGlmaWVyKSBBc3luYwor
CisgICAgUHJvY2Vzc0RpZFRyYW5zaXRpb25Ub0ZvcmVncm91bmQoKQorICAgIFByb2Nlc3NEaWRU
cmFuc2l0aW9uVG9CYWNrZ3JvdW5kKCkKK30KKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3Mv
V2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2YzZTJj
OWM5N2NhYzk5ZTQxNzdlZDQxMDcwYzg2MWU0ZDg4NTQ1Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorCisjaWYg
RU5BQkxFKFdFQl9BVVRITikKKworI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCisjaW5jbHVk
ZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNpbmNs
dWRlICJBcmd1bWVudENvZGVyc0NGLmgiCisjZW5kaWYKKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K1dlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6V2ViQXV0aG5Qcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzKCkgPSBkZWZhdWx0OworCit2b2lkIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKK30KKwor
Ym9vbCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29k
ZXImIGRlY29kZXIsIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcmVzdWx0KQor
eworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
IC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhu
UHJvY2Vzcy9XZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk2NWJjMjY1YTYyNzcwZjM2NjRkYmM4ZmYyMDZhZjkzOGIzNzkyNmEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorCituYW1lc3BhY2UgSVBDIHsKK2Ns
YXNzIERlY29kZXI7CitjbGFzcyBFbmNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
c3RydWN0IFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CisgICAgV2ViQXV0aG5Q
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKCk7CisKKyAgICB2b2lkIGVuY29kZShJUEM6OkVuY29k
ZXImKSBjb25zdDsKKyAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQ
Qzo6RGVjb2RlciYsIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvaW9zL1dlYkF1dGhuUHJvY2Vz
c0lPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL2lvcy9XZWJBdXRoblByb2Nl
c3NJT1MubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2I0YTBmMjQ5MzJmYTI2YTczNTQ2NDg3ZjI1OWRiOTlmNWNh
ZDg5ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL2lv
cy9XZWJBdXRoblByb2Nlc3NJT1MubW0KQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV2ViQXV0aG5Qcm9jZXNzLmgiCisKKyNpZiBFTkFC
TEUoV0VCX0FVVEhOKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorCisjaW1wb3J0IDxXZWJDb3Jl
L05vdEltcGxlbWVudGVkLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVUaHJlYWRTeXN0ZW1J
bnRlcmZhY2UuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKKwordm9pZCBXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzKGNvbnN0IEF1eGls
aWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKQoreworICAgIEluaXRXZWJDb3Jl
VGhyZWFkU3lzdGVtSW50ZXJmYWNlKCk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjppbml0
aWFsaXplUHJvY2Vzc05hbWUoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFy
YW1ldGVycyYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXZWJBdXRoblBy
b2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXph
dGlvblBhcmFtZXRlcnMmLCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJikKK3sKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKSAm
JiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRo
blByb2Nlc3MvbWFjL1dlYkF1dGhuUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0
aG5Qcm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDFhYjMzODQ1
OTRmZGQyOTkwY2U3MmRmZWJmMTAyYzRhMjUxNTc3NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW0KQEAgLTAs
MCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV2Vi
QXV0aG5Qcm9jZXNzLmgiCisKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKSAmJiBQTEFURk9STShNQUMp
CisKKyNpbXBvcnQgIlNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaCIKKyNpbXBvcnQg
IldLRm91bmRhdGlvbi5oIgorI2ltcG9ydCAiV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmgiCisjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KKyNpbXBvcnQgPHBh
bC9zcGkvY29jb2EvTGF1bmNoU2VydmljZXNTUEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvbWFjL0hJ
U2VydmljZXNTUEkuaD4KKyNpbXBvcnQgPHN5c2V4aXRzLmg+CisjaW1wb3J0IDx3dGYvTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFt
ZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKwordm9pZCBXZWJBdXRo
blByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFs
aXphdGlvblBhcmFtZXRlcnMmKQoreworICAgIC8vIEhhdmluZyBhIHdpbmRvdyBzZXJ2ZXIgY29u
bmVjdGlvbiBpbiB0aGlzIHByb2Nlc3Mgd291bGQgcmVzdWx0IGluIHNwaW4gbG9ncyAoPHJkYXI6
Ly9wcm9ibGVtLzEzMjM5MTE5PikuCisgICAgT1NTdGF0dXMgZXJyb3IgPSBTZXRBcHBsaWNhdGlv
bklzRGFlbW9uKHRydWUpOworICAgIEFTU0VSVF9VTlVTRUQoZXJyb3IsIGVycm9yID09IG5vRXJy
KTsKKworICAgIGxhdW5jaFNlcnZpY2VzQ2hlY2tJbigpOworfQorCit2b2lkIFdlYkF1dGhuUHJv
Y2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3NOYW1lKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFs
aXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7CisgICAgTlNTdHJpbmcgKmFwcGxpY2F0
aW9uTmFtZSA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9TVFJJTkcoIiVAIFdl
YiBBdXRoZW50aWNhdGlvbiIsICJ2aXNpYmxlIG5hbWUgb2YgdGhlIFdlYkF1dGhuIHByb2Nlc3Mu
IFRoZSBhcmd1bWVudCBpcyB0aGUgYXBwbGljYXRpb24gbmFtZS4iKSwgKE5TU3RyaW5nICopcGFy
YW1ldGVycy51aVByb2Nlc3NOYW1lXTsKKyAgICBfTFNTZXRBcHBsaWNhdGlvbkluZm9ybWF0aW9u
SXRlbShrTFNEZWZhdWx0U2Vzc2lvbklELCBfTFNHZXRDdXJyZW50QXBwbGljYXRpb25BU04oKSwg
X2tMU0Rpc3BsYXlOYW1lS2V5LCAoQ0ZTdHJpbmdSZWYpYXBwbGljYXRpb25OYW1lLCBudWxscHRy
KTsKK30KKwordm9pZCBXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KGNvbnN0IEF1
eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIFNhbmRi
b3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHNhbmRib3hQYXJhbWV0ZXJzKQoreworICAgIC8v
IE5lZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQsIGJlY2F1c2Ugc2VydmljZSBoYXMgYSBkaWZm
ZXJlbnQgYnVuZGxlIElELgorICAgIE5TQnVuZGxlICp3ZWJLaXQyQnVuZGxlID0gW05TQnVuZGxl
IGJ1bmRsZUZvckNsYXNzOk5TQ2xhc3NGcm9tU3RyaW5nKEAiV0tXZWJWaWV3IildOworCisgICAg
c2FuZGJveFBhcmFtZXRlcnMuc2V0T3ZlcnJpZGVTYW5kYm94UHJvZmlsZVBhdGgoW3dlYktpdDJC
dW5kbGUgcGF0aEZvclJlc291cmNlOkAiY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Mi
IG9mVHlwZTpAInNiIl0pOworCisgICAgQXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRi
b3gocGFyYW1ldGVycywgc2FuZGJveFBhcmFtZXRlcnMpOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nl
c3Muc2IuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldl
YktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODZkYmE2NWEyMWQ1MThmZDc3
MzAzNDk2MWY4ZGI1ZTE4YWVjOTI3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5p
bgpAQCAtMCwwICsxLDQ0MCBAQAorOyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCis7Cis7IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorOyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKzsgYXJl
IG1ldDoKKzsgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKzsgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorOyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorOyAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCis7ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCis7Cis7IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKzsgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Cis7IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKzsgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCis7IEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKzsg
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKzsgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCis7IElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCis7IENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCis7IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKzsgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCisodmVyc2lvbiAxKQorKGRlbnkgZGVmYXVsdCAod2l0aCBwYXJ0aWFsLXN5bWJvbGlj
YXRpb24pKQorKGFsbG93IHN5c3RlbS1hdWRpdCBmaWxlLXJlYWQtbWV0YWRhdGEpCisKKzs7Owor
Ozs7IFRoZSBmb2xsb3dpbmcgcnVsZXMgd2VyZSBvcmlnaW5hbGx5IGNvbnRhaW5lZCBpbiAnc3lz
dGVtLnNiJy4gV2UgYXJlIGR1cGxpY2F0aW5nIHRoZW0gaGVyZSBzbyB3ZSBjYW4KKzs7OyByZW1v
dmUgdW5uZWVkZWQgc2FuZGJveCBleHRlbnNpb25zLgorOzs7CisKKzs7OyBBbGxvdyByZWdpc3Ry
YXRpb24gb2YgcGVyLXBpZCBzZXJ2aWNlcy4KKyhhbGxvdyBtYWNoLXJlZ2lzdGVyIChsb2NhbC1u
YW1lLXByZWZpeCAiIikpCisKKzs7OyBBbGxvdyByZWFkIGFjY2VzcyB0byBzdGFuZGFyZCBzeXN0
ZW0gcGF0aHMuCisoYWxsb3cgZmlsZS1yZWFkKgorICAgIChyZXF1aXJlLWFsbCAoZmlsZS1tb2Rl
ICNvMDAwNCkKKyAgICAocmVxdWlyZS1hbnkgKHN1YnBhdGggIi9MaWJyYXJ5L0ZpbGVzeXN0ZW1z
L05ldEZTUGx1Z2lucyIpCisgICAgKHN1YnBhdGggIi9MaWJyYXJ5L0FwcGxlL1N5c3RlbSIpCisg
ICAgKHN1YnBhdGggIi9MaWJyYXJ5L1ByZWZlcmVuY2VzL0xvZ2dpbmciKSAgICAgIDsgTG9nZ2lu
ZyBSZXRoaW5rCisgICAgKHN1YnBhdGggIi9TeXN0ZW0iKQorICAgIChzdWJwYXRoICIvcHJpdmF0
ZS92YXIvZGIvZHlsZCIpCisgICAgKHN1YnBhdGggIi9wcml2YXRlL3Zhci9kYi90aW1lem9uZSIp
CisgICAgKHN1YnBhdGggIi91c3IvbGliIikKKyAgICAoc3VicGF0aCAiL3Vzci9zaGFyZSIpKSkp
CisKKzs7OyBBbGxvdyByZWFkaW5nIGludGVybmFsIHByb2ZpbGVzIG9uIGRldmVsb3BtZW50IGJ1
aWxkcworKGFsbG93IGZpbGUtcmVhZCoKKyAgICAocmVxdWlyZS1hbGwgKGZpbGUtbW9kZSAjbzAw
MDQpCisgICAgKHN1YnBhdGggIi9BcHBsZUludGVybmFsL0xpYnJhcnkvUHJlZmVyZW5jZXMvTG9n
Z2luZyIpCisgICAgKHN5c3RlbS1hdHRyaWJ1dGUgYXBwbGUtaW50ZXJuYWwpKSkKKworOzs7IEFs
bG93IG1hcHBpbmcgb2Ygc3lzdGVtIGZyYW1ld29ya3MgKyBkeWxpYnMKKyhhbGxvdyBmaWxlLW1h
cC1leGVjdXRhYmxlCisgICAgKHN1YnBhdGggIi9MaWJyYXJ5L0FwcGxlL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MiKQorICAgIChzdWJwYXRoICIvTGlicmFyeS9BcHBsZS9TeXN0ZW0vTGlicmFy
eS9Qcml2YXRlRnJhbWV3b3JrcyIpCisgICAgKHN1YnBhdGggIi9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzIikKKyAgICAoc3VicGF0aCAiL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtz
IikKKyAgICAoc3VicGF0aCAiL3Vzci9saWIiKQorICAgIChzdWJwYXRoICIvdXNyL2FwcGxlaW50
ZXJuYWwvbGliL3Nhbml0aXplcnMiKSkKKworKGFsbG93IGZpbGUtcmVhZC1tZXRhZGF0YQorICAg
IChsaXRlcmFsICIvZXRjIikKKyAgICAobGl0ZXJhbCAiL3RtcCIpCisgICAgKGxpdGVyYWwgIi92
YXIiKQorICAgIChsaXRlcmFsICIvcHJpdmF0ZS9ldGMvbG9jYWx0aW1lIikpCisKKworOzs7IEFs
bG93IGFjY2VzcyB0byBzdGFuZGFyZCBzcGVjaWFsIGZpbGVzLgorKGFsbG93IGZpbGUtcmVhZCoK
KyAgICAobGl0ZXJhbCAiL2Rldi9hdXRvZnNfbm93YWl0IikKKyAgICAobGl0ZXJhbCAiL2Rldi9y
YW5kb20iKQorICAgIChsaXRlcmFsICIvZGV2L3VyYW5kb20iKQorICAgIChsaXRlcmFsICIvcHJp
dmF0ZS9ldGMvbWFzdGVyLnBhc3N3ZCIpCisgICAgKGxpdGVyYWwgIi9wcml2YXRlL2V0Yy9wYXNz
d2QiKSkKKworKGFsbG93IGZpbGUtcmVhZCoKKyAgICAgICBmaWxlLXdyaXRlLWRhdGEKKyAgICAo
bGl0ZXJhbCAiL2Rldi9udWxsIikKKyAgICAobGl0ZXJhbCAiL2Rldi96ZXJvIikpCisKKyhhbGxv
dyBmaWxlLXJlYWQqCisgICAgICAgZmlsZS13cml0ZS1kYXRhCisgICAgICAgZmlsZS1pb2N0bAor
ICAgIChsaXRlcmFsICIvZGV2L2R0cmFjZWhlbHBlciIpKQorCis7OzsgQWxsb3cgY3JlYXRpb24g
b2YgY29yZSBkdW1wcy4KKyhhbGxvdyBmaWxlLXdyaXRlLWNyZWF0ZQorICAgIChyZXF1aXJlLWFs
bCAocHJlZml4ICIvY29yZXMvIikKKyAgICAgICAgKHZub2RlLXR5cGUgUkVHVUxBUi1GSUxFKSkp
CisKKzs7OyBBbGxvdyBJUEMgdG8gc3RhbmRhcmQgc3lzdGVtIGFnZW50cy4KKyhhbGxvdyBpcGMt
cG9zaXgtc2htLXJlYWQqCisgICAgKGlwYy1wb3NpeC1uYW1lICJhcHBsZS5zaG0ubm90aWZpY2F0
aW9uX2NlbnRlciIpCisgICAgKGlwYy1wb3NpeC1uYW1lLXByZWZpeCAiYXBwbGUuY2ZwcmVmcy4i
KSkKKworOzs7Cis7OzsgRW5kIHJ1bGVzIG9yaWdpbmFsbHkgY29waWVkIGZyb20gJ3N5c3RlbS5z
YicKKzs7OworCis7OzsgcHJvY2Vzcy1pbmZvKiBkZWZhdWx0cyB0byBhbGxvdzsgZGVueSBpdCBh
bmQgdGhlbiBhbGxvdyBvcGVyYXRpb25zIHdlIGFjdHVhbGx5IG5lZWQuCisoZGVueSBwcm9jZXNz
LWluZm8qKQorKGFsbG93IHByb2Nlc3MtaW5mby1waWRpbmZvKQorKGFsbG93IHByb2Nlc3MtaW5m
by1zZXRjb250cm9sICh0YXJnZXQgc2VsZikpCisoYWxsb3cgcHJvY2Vzcy1jb2Rlc2lnbmluZy1z
dGF0dXMqKQorCisoZGVueSBzeXNjdGwqKQorKGFsbG93IHN5c2N0bC1yZWFkCisgICAgKHN5c2N0
bC1uYW1lCisgICAgICAgICJody5ieXRlb3JkZXIiCisgICAgICAgICJody5idXNmcmVxdWVuY3lf
bWF4IgorICAgICAgICAiaHcuY3B1dHlwZSIKKyAgICAgICAgImh3Lm1hY2hpbmUiCisgICAgICAg
ICJody5tZW1zaXplIgorICAgICAgICAiaHcubW9kZWwiCisgICAgICAgICJody5uY3B1IgorICAg
ICAgICAiaHcudmVjdG9ydW5pdCIKKyAgICAgICAgImtlcm4uYm9vdGFyZ3MiIDs7IDxyZGFyOi8v
cHJvYmxlbS80NzczODAxNT4KKyAgICAgICAgImtlcm4uaG9zdG5hbWUiCisgICAgICAgICJrZXJu
Lm1heGZpbGVzcGVycHJvYyIKKyAgICAgICAgImtlcm4ubWVtb3J5c3RhdHVzX2xldmVsIgorICAg
ICAgICAia2Vybi5vc3Byb2R1Y3R2ZXJzaW9uIiA7OyA8cmRhcjovL3Byb2JsZW0vNTE3NTY3Mzk+
CisgICAgICAgICJrZXJuLm9zdmVyc2lvbiIKKyAgICAgICAgImtlcm4uc2FmZWJvb3QiCisgICAg
ICAgICJrZXJuLnZlcnNpb24iCisgICAgICAgICJtYWNoZGVwLmNwdS5icmFuZF9zdHJpbmciCisg
ICAgICAgICJzZWN1cml0eS5tYWMuc2FuZGJveC5zZW50aW5lbCIKKyAgICAgICAgImtlcm4udGNz
bV9lbmFibGUiCisgICAgICAgICJrZXJuLnRjc21fYXZhaWxhYmxlIgorICAgICAgICAidm0uZm9v
dHByaW50X3N1c3BlbmQiKQorICAgIChzeXNjdGwtbmFtZS1yZWdleCAjIl5ody4oYWN0aXZlfGF2
YWlsKWNwdSIpCisgICAgKHN5c2N0bC1uYW1lLXJlZ2V4ICMiXmh3LihidXNmcmVxdWVuY3l8Y2Fj
aGVsaW5lc2l6ZXxjcHVmcmVxdWVuY3kofF9tYXgpfHBhZ2VzaXplfHRiZnJlcXVlbmN5KSh8X2Nv
bXBhdCkiKQorICAgIChzeXNjdGwtbmFtZS1yZWdleCAjIl5ody5sLitjYWNoZXNpemUiKQorICAg
IChzeXNjdGwtbmFtZS1yZWdleCAjIl5ody4obG9naWNhbHxwaHlzaWNhbCljcHVfbWF4IikKKyAg
ICAoc3lzY3RsLW5hbWUtcmVnZXggIyJeaHcub3B0aW9uYWxcLiIpCisgICAgKHN5c2N0bC1uYW1l
LXJlZ2V4ICMiXmtlcm4ub3MocmVsZWFzZXx0eXBlfHZhcmlhbnRfc3RhdHVzfHZlcnNpb24pIikK
KyAgICAoc3lzY3RsLW5hbWUtcmVnZXggIyJebmV0LnJvdXRldGFibGUiKQorKQorCisoYWxsb3cg
c3lzY3RsLXdyaXRlCisgICAgKHN5c2N0bC1uYW1lCisgICAgICAgICJrZXJuLnRjc21fZW5hYmxl
IikpCisKKyhkZW55IG1hY2gtbG9va3VwICh4cGMtc2VydmljZS1uYW1lLXByZWZpeCAiIikpCiso
YWxsb3cgbWFjaC1sb29rdXAKKyAgICAoeHBjLXNlcnZpY2UtbmFtZSAiY29tLmFwcGxlLlBlcmZv
cm1hbmNlQW5hbHlzaXMuYW5pbWF0aW9ucGVyZmQiKQorICAgICh4cGMtc2VydmljZS1uYW1lICJj
b20uYXBwbGUuYWNjZXNzaWJpbGl0eS5tZWRpYWFjY2Vzc2liaWxpdHlkIikKKyAgICAoeHBjLXNl
cnZpY2UtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLlNhbmRib3hIZWxwZXIiKQorICAgICh4cGMtc2Vy
dmljZS1uYW1lICJjb20uYXBwbGUuY29yZW1lZGlhLnZpZGVvZGVjb2RlciIpCisgICAgKHhwYy1z
ZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5jb3JlbWVkaWEudmlkZW9lbmNvZGVyIikKKyAgICAoeHBj
LXNlcnZpY2UtbmFtZSAiY29tLmFwcGxlLmhpc2VydmljZXMteHBjc2VydmljZSIpCisgICAgKHhw
Yy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5wcmludC5ub3JtYWxpemVyZCIpCispCisKKzs7IFV0
aWxpdHkgZnVuY3Rpb25zIGZvciBob21lIGRpcmVjdG9yeSByZWxhdGl2ZSBwYXRoIGZpbHRlcnMK
KyhkZWZpbmUgKGhvbWUtcmVnZXggaG9tZS1yZWxhdGl2ZS1yZWdleCkKKyAgKHJlZ2V4IChzdHJp
bmctYXBwZW5kICJeIiAocmVnZXgtcXVvdGUgKHBhcmFtICJIT01FX0RJUiIpKSBob21lLXJlbGF0
aXZlLXJlZ2V4KSkpCisKKyhkZWZpbmUgKGhvbWUtc3VicGF0aCBob21lLXJlbGF0aXZlLXN1YnBh
dGgpCisgIChzdWJwYXRoIChzdHJpbmctYXBwZW5kIChwYXJhbSAiSE9NRV9ESVIiKSBob21lLXJl
bGF0aXZlLXN1YnBhdGgpKSkKKworKGRlZmluZSAoaG9tZS1saXRlcmFsIGhvbWUtcmVsYXRpdmUt
bGl0ZXJhbCkKKyAgKGxpdGVyYWwgKHN0cmluZy1hcHBlbmQgKHBhcmFtICJIT01FX0RJUiIpIGhv
bWUtcmVsYXRpdmUtbGl0ZXJhbCkpKQorCisoZGVmaW5lIChhbGxvdy1yZWFkLWRpcmVjdG9yeS1h
bmQtaXNzdWUtcmVhZC1leHRlbnNpb25zIHBhdGgpCisgICAgKGlmIHBhdGgKKyAgICAgICAgKGJl
Z2luCisgICAgICAgICAgICAoYWxsb3cgZmlsZS1yZWFkKiAoc3VicGF0aCBwYXRoKSkKKyAgICAg
ICAgICAgIChhbGxvdyBmaWxlLWlzc3VlLWV4dGVuc2lvbiAocmVxdWlyZS1hbGwgKGV4dGVuc2lv
bi1jbGFzcyAiY29tLmFwcGxlLmFwcC1zYW5kYm94LnJlYWQiKSAoc3VicGF0aCBwYXRoKSkpKSkp
CisKKyhkZWZpbmUgKGFsbG93LXJlYWQtd3JpdGUtZGlyZWN0b3J5LWFuZC1pc3N1ZS1yZWFkLXdy
aXRlLWV4dGVuc2lvbnMgcGF0aCkKKyAgICAoaWYgcGF0aAorICAgICAgICAoYmVnaW4KKyAgICAg
ICAgICAgIChhbGxvdyBmaWxlLXJlYWQqIGZpbGUtd3JpdGUqIChzdWJwYXRoIHBhdGgpKQorICAg
ICAgICAgICAgKGFsbG93IGZpbGUtaXNzdWUtZXh0ZW5zaW9uIChyZXF1aXJlLWFsbCAoZXh0ZW5z
aW9uLWNsYXNzICJjb20uYXBwbGUuYXBwLXNhbmRib3gucmVhZCIpIChzdWJwYXRoIHBhdGgpKSkK
KyAgICAgICAgICAgIChhbGxvdyBmaWxlLWlzc3VlLWV4dGVuc2lvbiAocmVxdWlyZS1hbGwgKGV4
dGVuc2lvbi1jbGFzcyAiY29tLmFwcGxlLmFwcC1zYW5kYm94LnJlYWQtd3JpdGUiKSAoc3VicGF0
aCBwYXRoKSkpKSkpCisKKzs7IFJlbW92ZSB3aGVuIDxyZGFyOi8vcHJvYmxlbS8yOTY0NjA5ND4g
aXMgZml4ZWQuCisoZGVmaW5lIChIRVgtcGF0dGVybi1tYXRjaC1nZW5lcmF0b3IgcGF0dGVybi1k
ZXNjcmlwdG9yKQorICAgIChsZXRyZWMgKChwYXR0ZXJuLXN0cmluZyAiIikpCisgICAgICAgIChm
b3ItZWFjaCAgKGxhbWJkYSAocmVwZWF0LWNvdW50KQorICAgICAgICAgICAgKGlmICh6ZXJvPyBy
ZXBlYXQtY291bnQpCisgICAgICAgICAgICAgICAgKHNldCEgcGF0dGVybi1zdHJpbmcgKHN0cmlu
Zy1hcHBlbmQgIHBhdHRlcm4tc3RyaW5nICItIikpCisgICAgICAgICAgICAgICAgKGxldCBhcHBl
bmRlciAoKGNvdW50IHJlcGVhdC1jb3VudCkpCisgICAgICAgICAgICAgICAgICAgIChpZiAoPiBj
b3VudCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgKGJlZ2luCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKHNldCEgcGF0dGVybi1zdHJpbmcgKHN0cmluZy1hcHBlbmQgIHBhdHRlcm4t
c3RyaW5nICJbMC05QS1GXSIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmRl
ciAoLSBjb3VudCAxKSkpKSkpKQorICAgICAgICAgICAgcGF0dGVybi1kZXNjcmlwdG9yKQorICAg
IHBhdHRlcm4tc3RyaW5nKSkKKworOzsgcmV0dXJuIGEgcmVnZXggcGF0dGVybiBtYXRjaGluZyBz
dHJpbmcgZm9yIDgtNC00LTQtMTIgVVVJRHM6CisoZGVmaW5lICh1dWlkLUhFWC1wYXR0ZXJuLW1h
dGNoLXN0cmluZykKKyAgICAoSEVYLXBhdHRlcm4tbWF0Y2gtZ2VuZXJhdG9yICcoOCAwIDQgMCA0
IDAgNCAwIDEyKSkpCisKKzs7IGdsb2JhbCB0byBob2xkIHRoZSBjb21wdXRlZCBVVUlEIG1hdGNo
aW5nIHBhdHRlcm4uCisoZGVmaW5lICp1dWlkLXBhdHRlcm4qICIiKQorCisoZGVmaW5lICh1dWlk
LXJlZ2V4LXN0cmluZykKKyAgICAoaWYgKHplcm8/IChzdHJpbmctbGVuZ3RoICp1dWlkLXBhdHRl
cm4qKSkKKyAgICAgICAgKHNldCEgKnV1aWQtcGF0dGVybiogKHV1aWQtSEVYLXBhdHRlcm4tbWF0
Y2gtc3RyaW5nKSkpCisgICAgKnV1aWQtcGF0dGVybiopCisKKzs7IFJlYWQtb25seSBwcmVmZXJl
bmNlcyBhbmQgZGF0YQorKGFsbG93IGZpbGUtcmVhZCoKKyAgICA7OyBCYXNpYyBzeXN0ZW0gcGF0
aHMKKyAgICAoc3VicGF0aCAiL0xpYnJhcnkvRGljdGlvbmFyaWVzIikKKyAgICAoc3VicGF0aCAi
L0xpYnJhcnkvRm9udHMiKQorICAgIChzdWJwYXRoICIvTGlicmFyeS9GcmFtZXdvcmtzIikKKyAg
ICAoc3VicGF0aCAiL0xpYnJhcnkvTWFuYWdlZCBQcmVmZXJlbmNlcyIpCisgICAgKHN1YnBhdGgg
Ii9MaWJyYXJ5L1NwZWVjaC9TeW50aGVzaXplcnMiKQorICAgIChyZWdleCAjIl4vcHJpdmF0ZS9l
dGMvKGhvc3RzfGdyb3VwfHBhc3N3ZCkkIikKKworICAgIChsaXRlcmFsICIvTGlicmFyeS9BcHBs
aWNhdGlvbiBTdXBwb3J0L0NyYXNoUmVwb3J0ZXIvU3VibWl0RGlhZ0luZm8uZG9tYWlucyIpCisK
KyAgICA7OyBTeXN0ZW0gYW5kIHVzZXIgcHJlZmVyZW5jZXMKKyAgICAoaG9tZS1saXRlcmFsICIv
LkNGVXNlclRleHRFbmNvZGluZyIpCisKKyAgICA7OyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVt
b3ZlZCB3aGVuIDxyZGFyOi8vcHJvYmxlbS84OTU3ODQ1PiBpcyBmaXhlZC4KKyAgICAoaG9tZS1z
dWJwYXRoICIvTGlicmFyeS9Gb250cyIpCisKKyAgICAoc3VicGF0aCAiL0xpYnJhcnkvQXVkaW8v
UGx1Zy1JbnMvSEFMIikKKworICAgIChob21lLXN1YnBhdGggIi9MaWJyYXJ5L0RpY3Rpb25hcmll
cyIpKQorCisoYWxsb3cgZmlsZS1yZWFkLWRhdGEKKyAgICAobGl0ZXJhbCAiL3Vzci9sb2NhbC9s
aWIvbG9nIikgOyA8cmRhcjovL3Byb2JsZW0vMzY2Mjk0OTU+CisgICAgOzsgTmVlZGVkIGZvciBB
RVMzIHN1cHBvcnQKKyAgICAoc3VicGF0aCAiL0xpYnJhcnkvQXVkaW8vUGx1Zy1JbnMvQ29tcG9u
ZW50cyIpKQorCis7OyBQcmVmZXJlbmNlcyBzdXBwb3J0CisoYWxsb3cgdXNlci1wcmVmZXJlbmNl
LXJlYWQKKyAgICAocHJlZmVyZW5jZS1kb21haW4KKyAgICAgICAgImtDRlByZWZlcmVuY2VzQW55
QXBwbGljYXRpb24iCisgICAgICAgICJjb20uYXBwbGUuQWNjZXNzaWJpbGl0eSIKKyAgICAgICAg
ImNvbS5hcHBsZS5BVFMiCisgICAgICAgICJjb20uYXBwbGUuQ29yZUdyYXBoaWNzIgorICAgICAg
ICAiY29tLmFwcGxlLkRvd25sb2FkQXNzZXNzbWVudCIKKyAgICAgICAgImNvbS5hcHBsZS5ISVRv
b2xib3giCisgICAgICAgICJjb20uYXBwbGUuTGF1bmNoU2VydmljZXMiCisgICAgICAgICJjb20u
YXBwbGUuTXVsdGl0b3VjaFN1cHBvcnQiIDs7IEZJWE1FOiBSZW1vdmUgd2hlbiA8cmRhcjovL3By
b2JsZW0vMTMwMTE2MzM+IGlzIGZpeGVkLgorICAgICAgICAiY29tLmFwcGxlLlNlcnZpY2VzTWVu
dS5TZXJ2aWNlcyIgOzsgTmVlZGVkIGZvciBOU0F0dHJpYnV0ZWRTdHJpbmcgPHJkYXI6Ly9wcm9i
bGVtLzEwODQ0MzIxPgorICAgICAgICAiY29tLmFwcGxlLlZpZXdCcmlkZ2UiIDs7IE5lZWRlZCBm
b3IgSW5wdXQgZWxlbWVudHMuCisgICAgICAgICJjb20uYXBwbGUuV2ViRm91bmRhdGlvbiIKKyAg
ICAgICAgImNvbS5hcHBsZS5hdmZvdW5kYXRpb24iCisgICAgICAgICJjb20uYXBwbGUuYXZmb3Vu
ZGF0aW9uLmZyZWNlbnRzIiA7OyA8cmRhcjovL3Byb2JsZW0vMzMxMzcwMjk+CisgICAgICAgICJj
b20uYXBwbGUuYXZmb3VuZGF0aW9uLnZpZGVvcGVyZm9ybWFuY2VodWQiIDs7IDxyZGFyOi8vcHJv
YmxlbS8zMTU5NDU2OD4KKyAgICAgICAgImNvbS5hcHBsZS5jb3JlbWVkaWEiCisgICAgICAgICJj
b20uYXBwbGUuY3J5cHRvIgorICAgICAgICAiY29tLmFwcGxlLmRyaXZlci5BcHBsZUJsdWV0b290
aE11bHRpdG91Y2gubW91c2UiCisgICAgICAgICJjb20uYXBwbGUuZHJpdmVyLkFwcGxlQmx1ZXRv
b3RoTXVsdGl0b3VjaC50cmFja3BhZCIKKyAgICAgICAgImNvbS5hcHBsZS5kcml2ZXIuQXBwbGVI
SURNb3VzZSIKKyAgICAgICAgImNvbS5hcHBsZS5sb29rdXAuc2hhcmVkIgorICAgICAgICAiY29t
LmFwcGxlLm1lZGlhYWNjZXNzaWJpbGl0eSIgOzsgTmVlZGVkIGZvciBjdXN0b20gY2FwdGlvbiBz
dHlsZXMKKyAgICAgICAgImNvbS5hcHBsZS5uZXR3b3JrQ29ubmVjdCIKKyAgICAgICAgImNvbS5h
cHBsZS5zcGVlY2gudm9pY2UucHJlZnMiCisgICAgICAgICJjb20uYXBwbGUuc3lzdGVtc291bmQi
CisgICAgICAgICJjb20uYXBwbGUudW5pdmVyc2FsYWNjZXNzIgorICAgICAgICAiZWR1Lm1pdC5L
ZXJiZXJvcyIKKyAgICAgICAgInBicyIgOzsgTmVlZGVkIGZvciBOU0F0dHJpYnV0ZWRTdHJpbmcg
PHJkYXI6Ly9wcm9ibGVtLzEwODQ0MzIxPgorKSkKKworOyAoVGVtcG9yYXJ5KSBiYWNrd2FyZCBj
b21wYXRpYmlsaXR5IHdpdGggbm9uLUNGUHJlZmVyZW5jZXMgcmVhZGVycy4KKyhhbGxvdyBmaWxl
LXJlYWQqCisgICAgKGxpdGVyYWwgIi9MaWJyYXJ5L1ByZWZlcmVuY2VzL2NvbS5hcHBsZS5WaWV3
QnJpZGdlLnBsaXN0IikpCisKKzsgRklYTUU6IFRoaXMgaXMgbmVlZGVkIGZvciBzb21lIHNlY3Vy
aXR5IGZyYW1ld29yayBjYWxscyAodGhhdCB1c2Ugbm9uLUNGUHJlZmVyZW5jZXMgcmVhZGVycykK
KyhhbGxvdyBmaWxlLXJlYWQtZGF0YQorICAgIChsaXRlcmFsICIvTGlicmFyeS9QcmVmZXJlbmNl
cy9jb20uYXBwbGUuc2VjdXJpdHkucGxpc3QiKQorICAgIChob21lLXN1YnBhdGggIi9MaWJyYXJ5
L1ByZWZlcmVuY2VzL2NvbS5hcHBsZS5zZWN1cml0eS5wbGlzdCIpKQorCis7OyBPbi1kaXNrIFdl
YktpdDIgZnJhbWV3b3JrIGxvY2F0aW9uLCB0byBhY2NvdW50IGZvciBkZWJ1ZyBpbnN0YWxsYXRp
b25zIG91dHNpZGUgb2YgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MsCis7OyBhbmQgdG8gYWxs
b3cgaXNzdWluZyBleHRlbnNpb25zLgorKGFsbG93LXJlYWQtZGlyZWN0b3J5LWFuZC1pc3N1ZS1y
ZWFkLWV4dGVuc2lvbnMgKHBhcmFtICJXRUJLSVQyX0ZSQU1FV09SS19ESVIiKSkKKworOzsgQWxs
b3cgaXNzdWluZyBleHRlbnNpb25zIHRvIHN5c3RlbSBsaWJyYXJpZXMgdGhhdCB0aGUgTmV0d29y
ayBwcm9jZXNzIGNhbiBhbHJlYWR5IHJlYWQuCis7OyBUaGlzIGlzIHRvIGF2b2lkIHdhcm5pbmdz
IGF0dGVtcHRpbmcgdG8gY3JlYXRlIGV4dGVuc2lvbnMgZm9yIHRoZXNlIHJlc291cmNlcy4KKyhh
bGxvdy1yZWFkLWRpcmVjdG9yeS1hbmQtaXNzdWUtcmVhZC1leHRlbnNpb25zICIvU3lzdGVtL0xp
YnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvV2ViSW5zcGVjdG9yVUkuZnJhbWV3b3JrIikKKworOzsg
U2FuZGJveCBleHRlbnNpb25zCisoZGVmaW5lIChhcHBseS1yZWFkLWFuZC1pc3N1ZS1leHRlbnNp
b24gb3AgcGF0aC1maWx0ZXIpCisgICAgKG9wIGZpbGUtcmVhZCogcGF0aC1maWx0ZXIpCisgICAg
KG9wIGZpbGUtaXNzdWUtZXh0ZW5zaW9uIChyZXF1aXJlLWFsbCAoZXh0ZW5zaW9uLWNsYXNzICJj
b20uYXBwbGUuYXBwLXNhbmRib3gucmVhZCIpIHBhdGgtZmlsdGVyKSkpCisoZGVmaW5lIChhcHBs
eS13cml0ZS1hbmQtaXNzdWUtZXh0ZW5zaW9uIG9wIHBhdGgtZmlsdGVyKQorICAgIChvcCBmaWxl
LXdyaXRlKiBwYXRoLWZpbHRlcikKKyAgICAob3AgZmlsZS1pc3N1ZS1leHRlbnNpb24gKHJlcXVp
cmUtYWxsIChleHRlbnNpb24tY2xhc3MgImNvbS5hcHBsZS5hcHAtc2FuZGJveC5yZWFkLXdyaXRl
IikgcGF0aC1maWx0ZXIpKSkKKyhkZWZpbmUgKHJlYWQtb25seS1hbmQtaXNzdWUtZXh0ZW5zaW9u
cyBwYXRoLWZpbHRlcikKKyAgICAoYXBwbHktcmVhZC1hbmQtaXNzdWUtZXh0ZW5zaW9uIGFsbG93
IHBhdGgtZmlsdGVyKSkKKyhkZWZpbmUgKHJlYWQtd3JpdGUtYW5kLWlzc3VlLWV4dGVuc2lvbnMg
cGF0aC1maWx0ZXIpCisgICAgKGFwcGx5LXJlYWQtYW5kLWlzc3VlLWV4dGVuc2lvbiBhbGxvdyBw
YXRoLWZpbHRlcikKKyAgICAoYXBwbHktd3JpdGUtYW5kLWlzc3VlLWV4dGVuc2lvbiBhbGxvdyBw
YXRoLWZpbHRlcikpCisocmVhZC1vbmx5LWFuZC1pc3N1ZS1leHRlbnNpb25zIChleHRlbnNpb24g
ImNvbS5hcHBsZS5hcHAtc2FuZGJveC5yZWFkIikpCisocmVhZC13cml0ZS1hbmQtaXNzdWUtZXh0
ZW5zaW9ucyAoZXh0ZW5zaW9uICJjb20uYXBwbGUuYXBwLXNhbmRib3gucmVhZC13cml0ZSIpKQor
KGFsbG93IG1hY2gtbG9va3VwIChleHRlbnNpb24gImNvbS5hcHBsZS5hcHAtc2FuZGJveC5tYWNo
IikpIDs7IEZJWE1FOiBTaG91bGQgYmUgcmVtb3ZlZCB3aGVuIDxyZGFyOi8vcHJvYmxlbS8xMzA2
NjIwNj4gaXMgZml4ZWQuCisKKyhhbGxvdyBtYWNoLWxvb2t1cAorI2lmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisgICAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxl
bWV0cnkpCisjZW5kaWYKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby5BdWRpb0Nv
bXBvbmVudFJlZ2lzdHJhciIpCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXdkZCIpCisg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiKQorICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLmNvb2tpZWQiKQorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmRp
YWdub3N0aWNkIikKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5pY29uc2VydmljZXMiKQor
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmljb25zZXJ2aWNlcy5zdG9yZSIpCisgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUubW9iaWxlYXNzZXRkIikKKyAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5wb3dlcmxvZy5wbHhwY2xvZ2dlci54cGMiKQorICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLnN5c3RlbS5sb2dnZXIiKQorKQorCis7OyBWYXJpb3VzIHNlcnZpY2VzIHJlcXVpcmVk
IGJ5IEFwcEtpdCBhbmQgb3RoZXIgZnJhbWV3b3JrcworKGFsbG93IG1hY2gtbG9va3VwCisjaWYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTQwMAorICAgICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLkZvbnRPYmplY3RzU2VydmVyIikKKyNlbmRpZgorICAgICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLlBvd2VyTWFuYWdlbWVudC5jb250cm9sIikKKyAgICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS5TeXN0ZW1Db25maWd1cmF0aW9uLmNvbmZpZ2QiKQorICAgICAg
IChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmFuYWx5dGljc2QiKQorICAgICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLmFzc2VydGlvbmQucHJvY2Vzc2Fzc2VydGlvbmNvbm5lY3Rpb24iKQorICAg
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLlN5c3RlbVNvdW5kU2VydmVyLU9TWCIp
CisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXVkaW8uYXVkaW9oYWxkIikKKyAgICAg
ICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5jZnByZWZzZC5kYWVtb24iKQorICAgICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLmNvcmVzZXJ2aWNlcy5sYXVuY2hzZXJ2aWNlc2QiKQorICAgICAg
IChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmZvbnRzIikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5tZWRpYXJlbW90ZWQueHBjIikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS5sb2dkIikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5sb2dkLmV2ZW50cyIpCisg
ICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubHNkLm1hcGRiIikKKyAgICAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS5sc2tkZCIpIDs7IDxyZGFyOi8vcHJvYmxlbS80OTEyMzg1NT4KKyAg
ICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS50Y2NkIikKKyAgICAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS50Y2NkLnN5c3RlbSIpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
dHJ1c3RkLmFnZW50IikKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS5DQVJlbmRlclNlcnZlciIpIDsgTmVlZGVkIGZvciBbQ0FDb250ZXh0IHJlbW90ZUNvbnRl
eHRXaXRoT3B0aW9uc10KKyNlbHNlCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUud2lu
ZG93c2VydmVyLmFjdGl2ZSIpCisjZW5kaWYKKykKKworI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorOzsgPHJkYXI6
Ly9wcm9ibGVtLzQ3MjY4MTY2PgorKGFsbG93IG1hY2gtbG9va3VwICh4cGMtc2VydmljZS1uYW1l
ICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCisjZW5kaWYKKworI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNU
KQorKGRlbnkgbWFjaC1sb29rdXAgKHdpdGggbm8tbG9nKQorICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLkNvcmVTZXJ2aWNlcy5jb3Jlc2VydmljZXNkIikKKyAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5EaXNrQXJiaXRyYXRpb24uZGlza2FyYml0cmF0aW9uZCIpCisgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuVmlld0JyaWRnZUF1eGlsaWFyeSIpCisgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUud2luZG93c2VydmVyLmFjdGl2ZSIpKQorI2VuZGlmCisKKzs7IE5lZWRlZCB0byBz
dXBwb3J0IGVuY3J5cHRlZCBtZWRpYSBwbGF5YmFjayA8cmRhcjovL3Byb2JsZW0vNDAwMzg0Nzg+
CisoYWxsb3cgbWFjaC1sb29rdXAKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5TZWN1cml0
eVNlcnZlciIpCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUub2NzcGQiKSkKKworKGFsbG93
IGZpbGUtcmVhZCogZmlsZS13cml0ZSogKHN1YnBhdGggIi9wcml2YXRlL3Zhci9kYi9tZHMvc3lz
dGVtIikpIDs7IEZJWE1FOiBUaGlzIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gPHJkYXI6Ly9wcm9i
bGVtLzk1Mzg0MTQ+IGlzIGZpeGVkLgorCisoYWxsb3cgZmlsZS1yZWFkKgorICAgICAgIChzdWJw
YXRoICIvcHJpdmF0ZS92YXIvZGIvbWRzIikKKyAgICAgICAobGl0ZXJhbCAiL3ByaXZhdGUvdmFy
L2RiL0RldGFjaGVkU2lnbmF0dXJlcyIpKQorCisoYWxsb3cgaXBjLXBvc2l4LXNobS1yZWFkKiBp
cGMtcG9zaXgtc2htLXdyaXRlLWRhdGEgaXBjLXBvc2l4LXNobS13cml0ZS1jcmVhdGUKKyAgICAg
ICAoaXBjLXBvc2l4LW5hbWUgImNvbS5hcHBsZS5BcHBsZURhdGFiYXNlQ2hhbmdlZCIpKQorCis7
OyBDb3JlRm91bmRhdGlvbi4gV2UgZG9uJ3QgaW1wb3J0IGNvbS5hcHBsZS5jb3JlZm91bmRhdGlv
bi5zYiwgYmVjYXVzZSBpdCBhbGxvd3MgdW5uZWNlc3NhcnkgYWNjZXNzIHRvIHBhc3RlYm9hcmQu
CisoYWxsb3cgbWFjaC1sb29rdXAKKyAgICAoZ2xvYmFsLW5hbWUtcmVnZXggIyJeY29tLmFwcGxl
LmRpc3RyaWJ1dGVkX25vdGlmaWNhdGlvbnMiKQorI2lmICFIQVZFKENTQ0hFQ0tGSVhESVNBQkxF
KQorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkNvcmVTZXJ2aWNlcy5jb3Jlc2VydmljZXNk
IikKKyNlbmRpZgorKQorCisoYWxsb3cgZmlsZS1yZWFkLWRhdGEKKyAgICAobGl0ZXJhbCAiL2Rl
di9hdXRvZnNfbm93YWl0IikpIDsgVXNlZCBieSBDRiB0byBjaXJjdW12ZW50IGF1dG9tb3VudCB0
cmlnZ2VycworKGFsbG93IGlwYy1wb3NpeC1zaG0KKyAgICAoaXBjLXBvc2l4LW5hbWUtcmVnZXgg
IyJeQ0ZQQlM6IikpIDsgPHJkYXI6Ly9wcm9ibGVtLzEzNzU3NDc1PgorKGFsbG93IHN5c3RlbS1m
c2N0bCAoZnNjdGwtY29tbWFuZCAoX0lPICJoIiA0NykpKQorCis7OyBHcmFwaGljcworKHN5c3Rl
bS1ncmFwaGljcykKKworOzsgTmV0d29ya2luZworKGFsbG93IG5ldHdvcmstb3V0Ym91bmQKKyAg
ICAgICA7OyBMb2NhbCBtRE5TUmVzcG9uZGVyIGZvciBETlMsIGFyYml0cmFyeSBvdXRib3VuZCBU
Q1AKKyAgICAgICA7OyBOb3RlOiBUaGlzIGlzIG5lZWRlZCBmb3Igc29tZSBtZWRpYSBwbGF5YmFj
ayBmZWF0dXJlcy4gPHJkYXI6Ly9wcm9ibGVtLzM4MTkxNTc0PgorICAgICAgIDs7IFJlbW92ZSB0
aGlzIHBlcm1pc3Npb24gd2hlbiA8cmRhcjovL3Byb2JsZW0vMzgyNDA1NzI+IGlzIGZpeGVkLgor
ICAgICAgIChsaXRlcmFsICIvcHJpdmF0ZS92YXIvcnVuL21ETlNSZXNwb25kZXIiKQorICAgICAg
IDs7IE9iakMgbWFwX2ltYWdlcyBuZWVkcyB0byBzZW5kIGxvZ2dpbmcgZGF0YSB0byBzeXNsb2cu
IDxyZGFyOi8vcHJvYmxlbS8zOTc3ODkxOD4KKyAgICAgICAobGl0ZXJhbCAiL3ByaXZhdGUvdmFy
L3J1bi9zeXNsb2ciKQorICAgICAgIChyZW1vdGUgdGNwKSkKKworOzsgQ0ZOZXR3b3JrCisoYWxs
b3cgZmlsZS1yZWFkLWRhdGEgKHBhdGggIi9wcml2YXRlL3Zhci9kYi9uc3VybHN0b3JhZ2VkL2Rh
ZnNhRGF0YS5iaW4iKSkKKworI2lmIFBMQVRGT1JNKE1BQykKKzs7IEZJWE1FIHNob3VsZCBiZSBy
ZW1vdmVkIHdoZW4gPHJkYXI6Ly9wcm9ibGVtLzkzNDcyMDU+ICsgcmVsYXRlZCByYWRhciBpbiBT
YWZhcmkgaXMgZml4ZWQKKyhhbGxvdyBtYWNoLWxvb2t1cAorICAgICAgIChnbG9iYWwtbmFtZSAi
Y29tLmFwcGxlLnN5c3RlbS5sb2dnZXIiKQorICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxl
LnN5c3RlbS5ub3RpZmljYXRpb25fY2VudGVyIikpCisjZW5kaWYKKworKGlmIChkZWZpbmVkPyAn
dm5vZGUtdHlwZSkKKyAgICAgICAgKGRlbnkgZmlsZS13cml0ZS1jcmVhdGUgKHZub2RlLXR5cGUg
U1lNTElOSykpKQorCis7OyBSZXNlcnZlIGEgbmFtZXNwYWNlIGZvciBhZGRpdGlvbmFsIHByb3Rl
Y3RlZCBleHRlbmRlZCBhdHRyaWJ1dGVzLgorKGRlbnkgZmlsZS1yZWFkLXhhdHRyIGZpbGUtd3Jp
dGUteGF0dHIgKHhhdHRyLXJlZ2V4ICMiXmNvbVwuYXBwbGVcLnNlY3VyaXR5XC5wcml2YXRlXC4i
KSkKKworKGRlbnkgZmlsZS1yZWFkKiBmaWxlLXdyaXRlKiAod2l0aCBuby1sb2cpCisgICAgICAg
OzsgRklYTUU6IFNob3VsZCBiZSByZW1vdmVkIGFmdGVyIDxyZGFyOi8vcHJvYmxlbS8xMDQ2Mzg4
MT4gaXMgZml4ZWQuCisgICAgICAgKGhvbWUtbGl0ZXJhbCAiL0xpYnJhcnkvUHJlZmVyZW5jZXMv
Y29tLmFwcGxlLkxhdW5jaFNlcnZpY2VzLlF1YXJhbnRpbmVFdmVudHNWMiIpCisgICAgICAgKGhv
bWUtbGl0ZXJhbCAiL0xpYnJhcnkvUHJlZmVyZW5jZXMvY29tLmFwcGxlLkxhdW5jaFNlcnZpY2Vz
LlF1YXJhbnRpbmVFdmVudHNWMi1qb3VybmFsIikpCisKKzs7IERlbnkgYWNjZXNzIG5lZWRlZCBm
b3IgdW5uZWNlc3NhcnkgTlNBcHBsaWNhdGlvbiBpbml0aWFsaXphdGlvbi4KKzs7IEZJWE1FOiBU
aGlzIGNhbiBiZSByZW1vdmVkIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzEzMDExNjMzPiBpcyBmaXhl
ZC4KKyhkZW55IGZpbGUtcmVhZCogKHdpdGggbm8tbG9nKQorICAgICAgIChzdWJwYXRoICIvTGli
cmFyeS9JbnB1dE1hbmFnZXJzIikKKyAgICAgICAoaG9tZS1zdWJwYXRoICIvTGlicmFyeS9JbnB1
dE1hbmFnZXJzIikpCisoZGVueSB1c2VyLXByZWZlcmVuY2UtcmVhZCAod2l0aCBuby1sb2cpCisg
ICAgKHByZWZlcmVuY2UtZG9tYWluICJjb20uYXBwbGUuc3BlZWNoLnJlY29nbml0aW9uLkFwcGxl
U3BlZWNoUmVjb2duaXRpb24ucHJlZnMiKSkKKyhkZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxv
ZykKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5jb3Jlc2VydmljZXMuYXBwbGVldmVu
dHMiKQorICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLnBhc3RlYm9hcmQuMSIpCisgICAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuc3BlZWNoLnJlY29nbml0aW9uc2VydmVyIikpCisj
aWYgUExBVEZPUk0oTUFDKQorOzsgQWxzbyBwYXJ0IG9mIHVubmVjZXNzYXJ5IE5TQXBwbGljYXRp
b24gaW5pdGlhbGl6YXRpb24sIGJ1dCB3ZSBjYW4ndCBibG9jayBhY2Nlc3MgdG8gdGhlc2UgeWV0
LCBzZWUgPHJkYXI6Ly9wcm9ibGVtLzEzODY5NzY1Pi4KKyhhbGxvdyBmaWxlLXJlYWQqCisgICAg
ICAgKHN1YnBhdGggIi9MaWJyYXJ5L0NvbXBvbmVudHMiKQorICAgICAgIChzdWJwYXRoICIvTGli
cmFyeS9LZXlib2FyZCBMYXlvdXRzIikKKyAgICAgICAoc3VicGF0aCAiL0xpYnJhcnkvSW5wdXQg
TWV0aG9kcyIpCisgICAgICAgKGhvbWUtc3VicGF0aCAiL0xpYnJhcnkvQ29tcG9uZW50cyIpCisg
ICAgICAgKGhvbWUtc3VicGF0aCAiL0xpYnJhcnkvS2V5Ym9hcmQgTGF5b3V0cyIpCisgICAgICAg
KGhvbWUtc3VicGF0aCAiL0xpYnJhcnkvSW5wdXQgTWV0aG9kcyIpKQorI2VuZGlmCisKKzs7IERh
dGEgRGV0ZWN0b3JzCisoYWxsb3cgZmlsZS1yZWFkKiAoc3VicGF0aCAiL3ByaXZhdGUvdmFyL2Ri
L2RhdGFkZXRlY3RvcnMvc3lzIikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA5ODQzNGNiYWMwYzJmNjFhMmQ2ZTI4MDcxNmVjZDcyODgy
ODg5MjgyLi5hM2M1ZTA2NDI4MmU2NjcwYmQ5MjhhZTBmNDE2ZTg3YzYyMzM1NjE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0LDcg
KzE0LDcgQEAKIAkJCQlCQ0ZGQ0E4QTE2MEQ2REVBMDAzREYzMTUgLyogQWRkIFhQQ1NlcnZpY2Vz
IHN5bWxpbmsgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAotCQkJCTU3QTlGRjBDMjUy
QzMxRDYwMDZBMjA0MCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAorCQkJCTU3NDJBMkZBMjUz
NTYxOUQwMEI3QkExNCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCUJDQThENDY4MTVC
Q0UwRDYwMDlEQzFGMSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTM3MkVCQjQ5MjAx
N0U2Q0YwMDA4NTA2NCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCUJDODI4NDQ2MTZC
NEZGNjYwMEEyNzhGRSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLApAQCAtMTA5Nyw4ICsxMDk3
LDI1IEBACiAJCTU3MERBQUMyMjMwMzczMDMwMEU4RkMwNCAvKiBOZmNDb25uZWN0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzBEQUFDMDIzMDM3
MzAzMDBFOEZDMDQgLyogTmZjQ29ubmVjdGlvbi5oICovOyB9OwogCQk1NzBEQUFDNjIzMDM3RjdG
MDBFOEZDMDQgLyogV0tORlJlYWRlclNlc3Npb25EZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcwREFBQzQyMzAzN0Y3RTAwRThGQzA0IC8q
IFdLTkZSZWFkZXJTZXNzaW9uRGVsZWdhdGUuaCAqLzsgfTsKIAkJNTcwREFBQ0EyMzAzODVGRDAw
RThGQzA0IC8qIEN0YXBOZmNEcml2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3MERBQUM4MjMwMzg1RkQwMEU4RkMwNCAvKiBDdGFwTmZjRHJpdmVy
LmggKi87IH07CisJCTU3MkVCQkJGMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRobkNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyRUJCQkIyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1
dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTU3
MkVCQkMwMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTcyRUJCQkMyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
c01lc3NhZ2VzLmggKi87IH07CisJCTU3MkVCQkMxMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRo
blByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTcyRUJCQkQyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJv
Y2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTU3MkVCQkMyMjUzNkE2MEEwMDA1NTJC
MyAvKiBXZWJBdXRoblByb2Nlc3NNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyRUJCQkUyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhu
UHJvY2Vzc01lc3NhZ2VzLmggKi87IH07CisJCTU3MkVCQkM0MjUzNkFCODQwMDA1NTJCMyAvKiBj
b20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyRUJCQzMyNTM2QUI4NDAwMDU1MkIzIC8qIGNv
bS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiICovOyB9OworCQk1NzJFQkJDOTI1MzZB
RkQ1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkM2MjUzNkFGRDUwMDA1NTJCMyAvKiBX
ZWJBdXRoblByb2Nlc3NQcm94eS5oICovOyB9OworCQk1NzJFQkJDQzI1MzZCMDRGMDAwNTUyQjMg
LyogV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkNCMjUzNkIwNEYwMDA1NTJCMyAvKiBXZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5oICovOyB9OworCQk1NzJFQkJDRjI1MzZCQjExMDAw
NTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyRUJCQ0QyNTM2QkIxMDAw
MDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
KwkJNTcyRUJCRDAyNTM2QkIxMTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2Fn
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVC
QkNFMjUzNkJCMTAwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eU1lc3NhZ2VzLmggKi87
IH07CisJCTU3MkVCQkQ1MjUzNkM4ODUwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NDb25uZWN0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzJF
QkJEMjI1MzZDODg1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5oICovOyB9
OwogCQk1NzJGRDQ0MzIyMjY1Q0UyMDBBMUVDQzMgLyogV2ViVmlld0RpZE1vdmVUb1dpbmRvd09i
c2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
NzJGRDQ0MTIyMjY1Q0UyMDBBMUVDQzMgLyogV2ViVmlld0RpZE1vdmVUb1dpbmRvd09ic2VydmVy
LmggKi87IH07CiAJCTU3NDIxNzkyMjQwMEUyODYwMDJCMzAzRCAvKiBMb2NhbEF1dGhlbnRpY2F0
aW9uU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
NzQyMTc5MTI0MDBFMDk4MDAyQjMwM0QgLyogTG9jYWxBdXRoZW50aWNhdGlvblNQSS5oICovOyB9
OworCQk1NzQyQTJFQjI1MzU2MTNGMDBCN0JBMTQgLyogQXV4aWxpYXJ5UHJvY2Vzc01haW4uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNFOTEyMEYy
MjkzQzI1RjAwNUJFQzc4IC8qIEF1eGlsaWFyeVByb2Nlc3NNYWluLmNwcCAqLzsgfTsKKwkJNTc0
MkEyRUMyNTM1NjEzRjAwQjdCQTE0IC8qIFhQQ1NlcnZpY2VNYWluLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4MjgzOTYxNkI0N0VDNDAwQTI3OEZF
IC8qIFhQQ1NlcnZpY2VNYWluLm1tICovOyB9OworCQk1NzQyQTJFRTI1MzU2MTNGMDBCN0JBMTQg
LyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzNERTQ2ODE1QTkxNzYzMDA4RDI2RkMgLyogRm91bmRhdGlvbi5m
cmFtZXdvcmsgKi87IH07CisJCTU3NDJBMkVGMjUzNTYxM0YwMEI3QkExNCAvKiBXZWJLaXQuZnJh
bWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OERDMkVGNUIwNDg2QTY5NDAwOThCMjE2IC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07CisJCTU3
NDJBMzA4MjUzNThBMDQwMEI3QkExNCAvKiBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NDJB
MzA2MjUzNThBMDQwMEI3QkExNCAvKiBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aCAqLzsgfTsKKwkJNTc0MkEzMEQyNTM1OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTc0MkEzMEEyNTM1OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5oICovOyB9OworCQk1NzQyQTMxODI1MzY0OEU1MDBCN0JBMTQgLyogV2ViQXV0aG5Q
cm9jZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
NzQyQTMxNTI1MzY0OEU0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzLmggKi87IH07CiAJCTU3
NDcyOEQxMjM0NTZFOTgwMDE3MDBBRiAvKiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzQ3MjhDRjIzNDU2
RTk4MDAxNzAwQUYgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU3NDcyOEQ0MjM0NTcwQUUwMDE3
MDBBRiAvKiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NDcyOEQzMjM0NTcwQUUwMDE3MDBB
RiAvKiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsSW50ZXJuYWwuaCAqLzsgfTsKIAkJNTc1OTdF
QjkyMTgxMUQ5QTAwMzdGOTI0IC8qIEN0YXBIaWREcml2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NTk3RUI3MjE4MTFEOUEwMDM3RjkyNCAvKiBD
dGFwSGlkRHJpdmVyLmggKi87IH07CkBAIC0xMTA2LDcgKzExMjMsNiBAQAogCQk1NzVCMUJCODIz
Q0U5QkZDMDAyMDYzOUEgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzBBMTk0NDFDOEZGMUE4MDBG
RTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAgKi87IH07CiAJCTU3NUIxQkI5
MjNDRTlDMEIwMDIwNjM5QSAvKiBTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1MjI2RDUyMDdEMTg0NjAw
Rjc4NDIwIC8qIFNpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5jcHAgKi87IH07CiAJCTU3NUIxQkJB
MjNDRTlDMTMwMDIwNjM5QSAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZFQTFDNzk4MEJCMDBFQjZB
OTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwICovOyB9OwotCQk1NzZCQ0Q1RTI1MkZEMjJE
MDBDRTlGODcgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzNERTQ2ODE1QTkxNzYzMDA4RDI2RkMgLyogRm91
bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07CiAJCTU3NkNBOUQ3MjJCODYyMTgwMDMwMTQzQyAvKiBT
T0F1dGhvcml6YXRpb25OU1VSTEV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTdGRDMxNzMyMkIzNTE0ODAwOEQwRThCIC8qIFNPQXV0aG9yaXph
dGlvbk5TVVJMRXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNTc3MkYyMDYyMTdEQkQ2QTAwNTZCRjJDIC8qIEhpZFNlcnZpY2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NzJGMjA0MjE3REJE
NkEwMDU2QkYyQyAvKiBIaWRTZXJ2aWNlLmggKi87IH07CiAJCTU3N0ZGNzgyMjM0NkU4MUMwMDRF
REZCOSAvKiBBUElXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzdGRjc4MTIzNDZFODFDMDA0RURGQjkg
LyogQVBJV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5oICovOyB9OwpAQCAtMTExNSw4ICsx
MTMxLDYgQEAKIAkJNTc5RjFCRjYyM0M4MERCNjAwQzdENEI0IC8qIF9XS1dlYkF1dGhlbnRpY2F0
aW9uQXNzZXJ0aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU3OUYxQkY0MjNDODBEQjYwMEM3RDRCNCAvKiBfV0tXZWJBdXRoZW50aWNh
dGlvbkFzc2VydGlvblJlc3BvbnNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNTc5RjFCRjkyM0M4MEVDNjAwQzdENEI0IC8qIF9XS1dlYkF1dGhl
bnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc5RjFCRjgyM0M4MEVDNjAwQzdENEI0IC8qIF9X
S1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5hbC5oICovOyB9OwogCQk1
NzlGMUJGQzIzQzgxMUNGMDBDN0Q0QjQgLyogQVBJV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25S
ZXNwb25zZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTc5RjFCRkEyM0M4MTFDRjAwQzdENEI0IC8qIEFQSVdlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9u
UmVzcG9uc2UuaCAqLzsgfTsKLQkJNTdBOUZGMDkyNTJCRUFGMDAwNkEyMDQwIC8qIG1haW4ubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0E5RkYwODI1
MkJFQUYwMDA2QTIwNDAgLyogbWFpbi5tbSAqLzsgfTsKLQkJNTdBOUZGMUQyNTJDNkNFNjAwNkEy
MDQwIC8qIGxpYldURi5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTdBOUZGMTUyNTJDNkFFRjAwNkEyMDQwIC8qIGxpYldURi5hICovOyB9OwogCQk1
N0FDOEY1MDIxN0ZFRUQ5MDA1NTQzOEMgLyogSGlkQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdBQzhGNEUyMTdGRUVEOTAwNTU0MzhD
IC8qIEhpZENvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNTdCNEI0NjAyMEI1MDRBQzAwRDRBRDc5IC8q
IENsaWVudENlcnRpZmljYXRlQXV0aGVudGljYXRpb25YUENDb25zdGFudHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QjRCNDVFMjBCNTA0QUIwMEQ0
QUQ3OSAvKiBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29uc3RhbnRzLmggKi87
IH07CiAJCTU3QjgyNjQxMjMwNEVCM0UwMEI3MkVCMCAvKiBOZWFyRmllbGRTUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QjgyNjQwMjMwNEVCM0Uw
MEI3MkVCMCAvKiBOZWFyRmllbGRTUEkuaCAqLzsgfTsKQEAgLTExMjYsNyArMTE0MCw2IEBACiAJ
CTU3QjgyNjRDMjMwNjAzQzEwMEI3MkVCMCAvKiBNb2NrTmZjU2VydmljZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdCODI2NEEyMzA2MDNDMTAwQjcy
RUIwIC8qIE1vY2tOZmNTZXJ2aWNlLmggKi87IH07CiAJCTU3QkJFQTZEMjJCQzBCRkUwMDI3Mzk5
NSAvKiBTT0F1dGhvcml6YXRpb25Mb2FkUG9saWN5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0JCRUE2QzIyQkMwQkZFMDAyNzM5OTUgLyogU09BdXRo
b3JpemF0aW9uTG9hZFBvbGljeS5oICovOyB9OwogCQk1N0M2MjQ0QjIzNDY3OUE0MDAzODNGRTcg
LyogV2ViQXV0aGVudGljYXRpb25GbGFncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTdDNjI0NEEyMzQ2NzlBNDAwMzgzRkU3IC8qIFdlYkF1dGhlbnRp
Y2F0aW9uRmxhZ3MuaCAqLzsgfTsKLQkJNTdEQ0VENkYyMTQyRUU2MzAwMTZCODQ3IC8qIFdlYkF1
dGhlbnRpY2F0b3JDb29yZGluYXRvck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RDRUQ2QTIxNDJFQUUyMDAxNkI4NDcgLyogV2ViQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yTWVzc2FnZXMuaCAqLzsgfTsKIAkJNTdEQ0VENzAyMTQyRUU2
ODAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
RENFRDZDMjE0MkVBRjkwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTU3RENFRDcxMjE0MkVFNkMwMDE2Qjg0NyAv
KiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RDRUQ2RDIxNDJFQUZBMDAxNkI4
NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oICovOyB9Owog
CQk1N0RDRURBQzIxNEM2MDI3MDAxNkI4NDcgLyogTG9jYWxBdXRoZW50aWNhdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RDRURBMTIxNDlDMUUy
MDAxNkI4NDcgLyogTG9jYWxBdXRoZW50aWNhdG9yLmggKi87IH07CkBAIC0xOTcwLDEyICsxOTgz
LDI2IEBACiAJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IEMwQ0U3Mjg1MTI0N0U2NjgwMEJDMEVD
NDsKIAkJCXJlbW90ZUluZm8gPSAiRGVyaXZlZCBTb3VyY2VzIjsKIAkJfTsKLQkJNTdBOUZGMEIy
NTJDMzFENjAwNkEyMDQwIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJNTc0MkEy
RTcyNTM1NjEzRjAwQjdCQTE0IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJCWlz
YSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkw
RkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKIAkJCXByb3h5VHlwZSA9IDE7
Ci0JCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDU3QTlGRUZCMjUyQkQ4QUEwMDZBMjA0MDsKLQkJ
CXJlbW90ZUluZm8gPSBXZWJBdXRoZW50aWNhdGlvbkFnZW50OworCQkJcmVtb3RlR2xvYmFsSURT
dHJpbmcgPSBFMUFDMkUyNzIwRjdCOTRDMDBCMDg5N0Q7CisJCQlyZW1vdGVJbmZvID0gIlVubG9j
ayBLZXljaGFpbiI7CisJCX07CisJCTU3NDJBMkU5MjUzNTYxM0YwMEI3QkExNCAvKiBQQlhDb250
YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CisJ
CQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBv
YmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA4
REMyRUY0RjA0ODZBNjk0MDA5OEIyMTY7CisJCQlyZW1vdGVJbmZvID0gV2ViS2l0OworCQl9Owor
CQk1NzQyQTJGOTI1MzU2MTlEMDBCN0JBMTQgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0g
eworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFsID0g
MDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJveHlU
eXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNTc0MkEyRTUyNTM1NjEzRjAwQjdC
QTE0OworCQkJcmVtb3RlSW5mbyA9IFdlYkF1dGhlbnRpY2F0aW9uOwogCQl9OwogCQlCQzgyODNE
NDE2QjRDMDFGMDBBMjc4RkUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewogCQkJaXNh
ID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwpAQCAtMjA4OSwxNSArMjExNiw2IEBACiAJCQluYW1l
ID0gIkNvcHkgU2hpbXMiOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07Ci0JCTU3QTlGRUZBMjUyQkQ4QUEwMDZBMjA0MCAvKiBDb3B5RmlsZXMgKi8gPSB7
Ci0JCQlpc2EgPSBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlOwotCQkJYnVpbGRBY3Rpb25NYXNrID0g
MjE0NzQ4MzY0NzsKLQkJCWRzdFBhdGggPSAvdXNyL3NoYXJlL21hbi9tYW4xLzsKLQkJCWRzdFN1
YmZvbGRlclNwZWMgPSAwOwotCQkJZmlsZXMgPSAoCi0JCQkpOwotCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDE7Ci0JCX07CiAJCTdDQjE2RkVFMTcyNEJBMDUwMDdBMEE5
NSAvKiBDb3B5IFBsdWctaW4gU2FuZGJveCBQcm9maWxlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWENv
cHlGaWxlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAt
MzYzMyw4ICszNjUxLDYgQEAKIAkJNTEwNTIzNzExQzczRDIyQjAwNzk5M0NCIC8qIFdlYklEQkNv
bm5lY3Rpb25Ub1NlcnZlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUxMDUyMzcyMUM3M0QzN0IwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERl
cml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTEwNTIzNzMx
QzczRDM3QjAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1l
c3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25U
b1NlcnZlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0J
CTUxMDUyMzc3MUM3M0RBNzAwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNz
YWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZVJlY2VpdmVyLmNw
cDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKLQkJNTEwNTIzNzgxQzczREE3
MDAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2Vz
Lmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dE1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxMDVC
MEQ0MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
LmNwcDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwNUIwRDUxNjJGN0E3QTAwRTI3NzA5IC8qIE5ldHdv
cmtQcm9jZXNzQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDVCMEYzMTYzMDg3
MkUwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5ldHdv
cmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0zNjU1LDEyICszNjcxLDYgQEAKIAkJNTExMDY1RkIyM0VDOTU2QjAwNTQ0M0Q2IC8qIFdLQ29u
dGVudFdvcmxkSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tD
b250ZW50V29ybGRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTEw
QUUwQTEzM0MxNkNCMDA3MjcxN0EgLyogV0tJY29uRGF0YWJhc2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tJY29uRGF0YWJhc2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MTEwQUUwQjEzM0MxNkNCMDA3MjcxN0EgLyogV0tJY29uRGF0YWJh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tJY29uRGF0YWJhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTExOEU5QTIxRjI5NTk2MzAwM0VGOUY1IC8q
IFN0b3JhZ2VQcm9jZXNzUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdG9yYWdlUHJv
Y2Vzc1Byb3h5TWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3RvcmFn
ZVByb2Nlc3NQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07Ci0JCTUxMThFOUEzMUYyOTU5NjMwMDNFRjlGNSAvKiBTdG9yYWdlVG9XZWJQcm9jZXNzQ29u
bmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTdG9yYWdlVG9X
ZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291
cmNlcy9XZWJLaXQyL1N0b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVy
LmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKLQkJNTExOEU5QTQxRjI5
NTk2MzAwM0VGOUY1IC8qIFN0b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oOyBw
YXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlv
bk1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTUxMThF
OUE1MUYyOTU5NjMwMDNFRjlGNSAvKiBTdG9yYWdlUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBTdG9yYWdlUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHA7IHBh
dGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1N0b3JhZ2VQcm9jZXNzTWVzc2FnZVJlY2VpdmVy
LmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKLQkJNTExOEU5QTYxRjI5
NTk2MzAwM0VGOUY1IC8qIFN0b3JhZ2VQcm9jZXNzTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
U3RvcmFnZVByb2Nlc3NNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9T
dG9yYWdlUHJvY2Vzc01lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07Ci0JCTUxMThFOUE3MUYyOTU5NjMwMDNFRjlGNSAvKiBTdG9yYWdlUHJvY2Vzc1Byb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFN0b3JhZ2VQcm9jZXNzUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TdG9yYWdl
UHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKIAkJNTExRjdEM0YxRUIxQkNFRTAwRTQ3QjgzIC8qIFdlYnNpdGVEYXRhU3Rv
cmVQYXJhbWV0ZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTExRjdENDAxRUIxQkNFRTAwRTQ3QjgzIC8qIFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYnNpdGVEYXRhU3RvcmVQYXJh
bWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMUY4QTc3MTM4QjQ2MDkw
MEE5NUY0NCAvKiBTZWNJdGVtU2hpbUxpYnJhcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gU2VjSXRlbVNoaW1MaWJyYXJ5Lmg7IHBhdGggPSAuLi8uLi9XZWJQcm9jZXNzL21h
Yy9TZWNJdGVtU2hpbUxpYnJhcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM5
MDYsOCArMzkxNiwzNyBAQAogCQk1NzBEQUFDNTIzMDM3RjdFMDBFOEZDMDQgLyogV0tORlJlYWRl
clNlc3Npb25EZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLTkZSZWFkZXJTZXNz
aW9uRGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MERBQUM4MjMw
Mzg1RkQwMEU4RkMwNCAvKiBDdGFwTmZjRHJpdmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEN0YXBOZmNE
cml2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcwREFBQzkyMzAzODVGRDAw
RThGQzA0IC8qIEN0YXBOZmNEcml2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3RhcE5mY0Ry
aXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MkVCQkI5MjUzNkEwNkUw
MDA1NTJCMyAvKiBJbmZvLWlPUy5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3Q7IG5hbWUgPSAiSW5mby1pT1MucGxpc3QiOyBw
YXRoID0gIldlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0
aG5TZXJ2aWNlL0luZm8taU9TLnBsaXN0Ijsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9Owor
CQk1NzJFQkJCQTI1MzZBMDZFMDAwNTUyQjMgLyogSW5mby1PU1gucGxpc3QgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0OyBuYW1lID0g
IkluZm8tT1NYLnBsaXN0IjsgcGF0aCA9ICJXZWJBdXRoblByb2Nlc3MvRW50cnlQb2ludC9Db2Nv
YS9YUENTZXJ2aWNlL1dlYkF1dGhuU2VydmljZS9JbmZvLU9TWC5wbGlzdCI7IHNvdXJjZVRyZWUg
PSBTT1VSQ0VfUk9PVDsgfTsKKwkJNTcyRUJCQkIyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhu
Q29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNz
YWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzJFQkJCQzI1
MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJC
QkQyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBdXRoblByb2Nlc3NNZXNz
YWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzJFQkJCRTI1
MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCQzMyNTM2QUI4NDAwMDU1MkIzIC8qIGNvbS5hcHBs
ZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGNvbS5h
cHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1NzJFQkJDNTI1MzZBRkQ1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzUHJveHkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzUHJv
eHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzJFQkJDNjI1MzZBRkQ1MDAw
NTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTcyRUJCQzcyNTM2QUZENTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkF1dGhuUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzJFQkJDQjI1MzZCMDRG
MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCQ0QyNTM2QkIxMDAwMDU1MkIzIC8qIFdl
YkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCQ0UyNTM2QkIxMDAwMDU1MkIz
IC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1NzJFQkJEMTI1MzZDODg1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9j
ZXNzQ29ubmVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTcyRUJCRDIyNTM2Qzg4NTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzQ29ubmVj
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzJFQkJEMzI1MzZDODg1MDAw
NTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzJGRDQ0MTIyMjY1Q0UyMDBBMUVDQzMgLyogV2Vi
Vmlld0RpZE1vdmVUb1dpbmRvd09ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlZpZXdEaWRN
b3ZlVG9XaW5kb3dPYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzQy
MTc5MTI0MDBFMDk4MDAyQjMwM0QgLyogTG9jYWxBdXRoZW50aWNhdGlvblNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBMb2NhbEF1dGhlbnRpY2F0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTU3NDJBMkY3MjUzNTYxM0YwMEI3QkExNCAvKiBjb20uYXBwbGUuV2ViS2l0LldlYkF1
dGhuLnhwYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0g
IndyYXBwZXIueHBjLXNlcnZpY2UiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBjb20uYXBw
bGUuV2ViS2l0LldlYkF1dGhuLnhwYzsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKKwkJNTc0MkEzMDYyNTM1OEEwNDAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBdXRoblBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTc0MkEzMDcyNTM1OEEwNDAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBdXRoblBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1NzQyQTMwQTI1MzU4RUZEMDBCN0JBMTQgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkF1dGhuQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzQyQTMwQjI1
MzU4RUZEMDBCN0JBMTQgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTc0MkEzMEMyNTM1
OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzQyQTMxMzI1MzY0OEU0
MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFdlYkF1dGhuUHJvY2Vzcy5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNTc0MkEzMTQyNTM2NDhFNDAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzcy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBdXRoblByb2Nlc3MuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzQyQTMxNTI1MzY0OEU0MDBCN0JBMTQg
LyogV2ViQXV0aG5Qcm9jZXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YkF1dGhuUHJvY2Vzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzQyQTMxQTI1
MzY3NUU5MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzSU9TLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gV2ViQXV0aG5Qcm9jZXNzSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1NzQyQTMxQzI1MzY3NUY2MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzTWFjLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1NzQyQTMxRDI1MzY3NUY2MDBCN0JBMTQgLyogY29tLmFwcGxlLldlYktp
dC5XZWJBdXRoblByb2Nlc3Muc2IuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblBy
b2Nlc3Muc2IuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3NDJBMzFFMjUzNjk0
OTMwMEI3QkExNCAvKiBXZWJBdXRoblNlcnZpY2VFbnRyeVBvaW50Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gV2ViQXV0aG5TZXJ2aWNlRW50cnlQb2ludC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTc0NzI4Q0YyMzQ1NkU5ODAwMTcwMEFGIC8qIF9XS1dlYkF1dGhlbnRpY2F0
aW9uUGFuZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzQ3MjhEMDIzNDU2RTk4MDAxNzAwQUYgLyog
X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3
NDcyOEQzMjM0NTcwQUUwMDE3MDBBRiAvKiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsSW50ZXJu
YWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEludGVybmFsLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zOTM3LDEyICszOTc2LDcgQEAKIAkJNTc5
RjFCRjgyM0M4MEVDNjAwQzdENEI0IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVz
cG9uc2VJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tXZWJBdXRoZW50aWNhdGlvbkFzc2Vy
dGlvblJlc3BvbnNlSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc5
RjFCRkEyM0M4MTFDRjAwQzdENEI0IC8qIEFQSVdlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVz
cG9uc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNw
b25zZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzlGMUJGQjIzQzgxMUNGMDBD
N0Q0QjQgLyogQVBJV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBBUElXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTdBOUZFRkMyNTJCRDhBQTAwNkEyMDQwIC8q
IGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aGVudGljYXRpb25BZ2VudC5EZXZlbG9wbWVudCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1h
Y2gtby5leGVjdXRhYmxlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gY29tLmFwcGxlLldl
YktpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50LkRldmVsb3BtZW50OyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OwotCQk1N0E5RkYwNzI1MkJFNkUwMDA2QTIwNDAgLyogV2ViQXV0
aGVudGljYXRpb25BZ2VudC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBXZWJBdXRoZW50aWNhdGlv
bkFnZW50LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1N0E5RkYwODI1
MkJFQUYwMDA2QTIwNDAgLyogbWFpbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgbmFtZSA9IG1haW4ubW07IHBhdGggPSBEYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQv
bWFpbi5tbTsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwotCQk1N0E5RkYwQTI1MkJGNUMz
MDA2QTIwNDAgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gSW5mby5wbGlzdDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTdBOUZGMEQyNTJDMzk3QTAwNkEyMDQwIC8qIGNvbS5h
cHBsZS53ZWJraXQuV2ViQXV0aGVudGljYXRpb25BZ2VudC5wbGlzdCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0g
Y29tLmFwcGxlLndlYmtpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50LnBsaXN0OyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk1N0E5RkYwRjI1MkM1RDlEMDA2QTIwNDAgLyogV2ViQXV0aGVu
dGljYXRpb25BZ2VudC5lbnRpdGxlbWVudHMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LmVudGl0bGVtZW50czsgcGF0aCA9IFdlYkF1
dGhlbnRpY2F0aW9uQWdlbnQuZW50aXRsZW1lbnRzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1N0E5RkYwNzI1MkJFNkUwMDA2QTIwNDAgLyogV2ViQXV0aG5TZXJ2aWNlLnhjY29uZmln
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54
Y2NvbmZpZzsgcGF0aCA9IFdlYkF1dGhuU2VydmljZS54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTdBOUZGMTUyNTJDNkFFRjAwNkEyMDQwIC8qIGxpYldURi5hICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBw
YXRoID0gbGliV1RGLmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTU3
QUM4RjRFMjE3RkVFRDkwMDU1NDM4QyAvKiBIaWRDb25uZWN0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEhpZENvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdBQzhGNEYy
MTdGRUVEOTAwNTU0MzhDIC8qIEhpZENvbm5lY3Rpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBIaWRDb25uZWN0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzk2MCw4
ICszOTk0LDYgQEAKIAkJNTdCQkVBNkMyMkJDMEJGRTAwMjczOTk1IC8qIFNPQXV0aG9yaXphdGlv
bkxvYWRQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU09BdXRob3JpemF0aW9uTG9hZFBvbGljeS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0MzRThBQzI0MjQ5MEQ1MDAxRTIyMDkg
LyogV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTdDNjI0NEEyMzQ2NzlBNDAwMzgzRkU3IC8qIFdlYkF1dGhlbnRpY2F0aW9uRmxhZ3Mu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aGVudGljYXRpb25GbGFncy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk1N0RDRUQ2QTIxNDJFQUUyMDAxNkI4NDcgLyogV2ViQXV0aGVudGlj
YXRvckNvb3JkaW5hdG9yTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yTWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yTWVzc2FnZXMuaDsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKLQkJNTdEQ0VENkIyMTQyRUFFMjAwMTZC
ODQ3IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9X
ZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVl
ID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1N0RDRUQ2QzIxNDJFQUY5MDAxNkI4NDcgLyog
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTU3RENFRDZEMjE0MkVBRkEwMDE2
Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5TWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aGVudGlj
YXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OwogCQk1N0RDRUQ4NDIxNDczNjNBMDAxNkI4NDcgLyogQXV0aGVudGljYXRvck1h
bmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXV0aGVudGljYXRvck1hbmFnZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUyODUsNyArNTMxNyw2IEBACiAJCURGODRDRUUyMjQ5QUEy
MUYwMDkwOTZGNiAvKiBXS1BERkhVRFZpZXcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IG5hbWUgPSBXS1BERkhVRFZpZXcubW07IHBhdGggPSBQREYvV0tQREZIVURWaWV3Lm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlERjg0Q0VFMzI0OUFBMjFGMDA5MDk2RjYg
LyogV0tQREZIVURWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLUERG
SFVEVmlldy5oOyBwYXRoID0gUERGL1dLUERGSFVEVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMTA1RkU1MzE4RDdCOURFMDA4RjU3QTggLyogRWRpdGluZ1JhbmdlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVkaXRpbmdSYW5nZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQlFMTE1QzcxNTE5MEY4QTI1MDBFQ0M1MTYgLyogY29tLmFwcGxl
LldlYktpdC5TdG9yYWdlLnNiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IGNvbS5hcHBsZS5XZWJL
aXQuU3RvcmFnZS5zYjsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvY29tLmFwcGxlLldl
YktpdC5TdG9yYWdlLnNiOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlF
MTMzRkQ4OTE0MjNERDdGMDBGQzdCRkIgLyogV2ViS2l0LmljbnMgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5pY25zOyBuYW1lID0gV2ViS2l0
LmljbnM7IHBhdGggPSBSZXNvdXJjZXMvV2ViS2l0LmljbnM7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUxNEE5NTQ3MTZFMDE2QTQwMDY4REU4MiAvKiBOZXR3b3JrUHJvY2Vzc1BsYXRm
b3JtU3RyYXRlZ2llcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBO
ZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUxNEE5NTQ4MTZFMDE2QTQwMDY4REU4MiAvKiBOZXR3b3JrUHJvY2Vzc1BsYXRm
b3JtU3RyYXRlZ2llcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3Jr
UHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNTQ3MCwxMiArNTUwMSwxMiBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwotCQk1N0E5RkVGOTI1MkJEOEFBMDA2QTIwNDAgLyogRnJh
bWV3b3JrcyAqLyA9IHsKKwkJNTc0MkEyRUQyNTM1NjEzRjAwQjdCQTE0IC8qIEZyYW1ld29ya3Mg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9u
TWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKLQkJCQk1NzZCQ0Q1RTI1MkZEMjJEMDBD
RTlGODcgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKLQkJCQk1N0E5
RkYxRDI1MkM2Q0U2MDA2QTIwNDAgLyogbGliV1RGLmEgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQk1
NzQyQTJFRTI1MzU2MTNGMDBCN0JBMTQgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3
b3JrcyAqLywKKwkJCQk1NzQyQTJFRjI1MzU2MTNGMDBCN0JBMTQgLyogV2ViS2l0LmZyYW1ld29y
ayBpbiBGcmFtZXdvcmtzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNTUyNyw3ICs1NTU4LDcgQEAKIAkJCQkyRDlGQjIyODIz
NzUyMzgzMDA0OUY5MzYgLyogY29tLmFwcGxlLldlYktpdC5HUFUueHBjICovLAogCQkJCUJDODI4
M0IxMTZCNEJGNzcwMEEyNzhGRSAvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjICov
LAogCQkJCUJDODI4NDFGMTZCNEZERjYwMEEyNzhGRSAvKiBjb20uYXBwbGUuV2ViS2l0LlBsdWdp
bi42NC54cGMgKi8sCi0JCQkJNTdBOUZFRkMyNTJCRDhBQTAwNkEyMDQwIC8qIGNvbS5hcHBsZS5X
ZWJLaXQuV2ViQXV0aGVudGljYXRpb25BZ2VudC5EZXZlbG9wbWVudCAqLywKKwkJCQk1NzQyQTJG
NzI1MzU2MTNGMDBCN0JBMTQgLyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRobi54cGMgKi8sCiAJ
CQkJMzcyRUJCNDYyMDE3RTY0MzAwMDg1MDY0IC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVu
dC5EZXZlbG9wbWVudC54cGMgKi8sCiAJCQkJQkMzREU0NjYxNUE5MTc2MzAwOEQyNkZDIC8qIGNv
bS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMgKi8sCiAJCQkJMUFDMjVGQjAxMkE0OEVBNzAw
QkQyNjcxIC8qIFBsdWdpblByb2Nlc3NTaGltLmR5bGliICovLApAQCAtNTY3Miw3ICs1NzAzLDYg
QEAKIAkJCQlDMENFNzJEQjEyNDdFOEY3MDBCQzBFQzQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAq
LywKIAkJCQkxQTFEMjExNzE5MUQ5OTZDMDAwMTYxOUYgLyogTWlncmF0ZUhlYWRlcnNGcm9tV2Vi
S2l0TGVnYWN5Lm1ha2UgKi8sCiAJCQkJMUExRDIxMTYxOTFEOTk1QzAwMDE2MTlGIC8qIHBvc3Rw
cm9jZXNzLWZyYW1ld29yay1oZWFkZXJzLnNoICovLAotCQkJCTU3QTlGRUVGMjUyQkI3MEMwMDZB
MjA0MCAvKiBEYWVtb25zICovLAogCQkJCUJDMkU2RTc0MTE0MTk2RjAwMEE2M0IxRSAvKiBQbGF0
Zm9ybSAqLywKIAkJCQkxQUFEREY0QjEwRDgyQUYwMDBEM0Q2M0QgLyogU2hhcmVkICovLAogCQkJ
CUJDMDMyREMzMTBGNDM4MjYwMDU4QzE1QSAvKiBVSVByb2Nlc3MgKi8sCkBAIC01NjgwLDYgKzU3
MTAsNyBAQAogCQkJCTUxMENDN0RBMTYxMzhFMDEwMEQwM0VEMyAvKiBOZXR3b3JrUHJvY2VzcyAq
LywKIAkJCQkxQTBFQzZCMDEyNEJCRDM2MDA3RUY0QTUgLyogUGx1Z2luUHJvY2VzcyAqLywKIAkJ
CQkyRDlGQjFGRjIzNzUyMDlEMDA0OUY5MzYgLyogR1BVUHJvY2VzcyAqLywKKwkJCQk1NzQyQTJG
RjI1MzU3NTgwMDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzICovLAogCQkJCUMwQ0U3MjlEMTI0
N0U3MUQwMEJDMEVDNCAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCiAJCQkJMURFQzk3QUIyNDZCNjg2
NTAwN0M4M0Y0IC8qIEZlYXR1cmVGbGFncyAqLywKIAkJCQkwODlDMTY2NUZFODQxMTU4QzAyQUFD
MDcgLyogUmVzb3VyY2VzICovLApAQCAtNTg4MSw3ICs1OTEyLDcgQEAKIAkJCQlBMUVERDJEQzE4
ODRCOUI1MDBCQkZFOTggLyogU2VjSXRlbVNoaW0ueGNjb25maWcgKi8sCiAJCQkJNTE4M0IzOTMx
Mzc5Rjg1QzAwRTg3NTRFIC8qIFNoaW0ueGNjb25maWcgKi8sCiAJCQkJMUE0Rjk3NkUxMDBFN0I2
NjAwNjM3QTE4IC8qIFZlcnNpb24ueGNjb25maWcgKi8sCi0JCQkJNTdBOUZGMDcyNTJCRTZFMDAw
NkEyMDQwIC8qIFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQueGNjb25maWcgKi8sCisJCQkJNTdBOUZG
MDcyNTJCRTZFMDAwNkEyMDQwIC8qIFdlYkF1dGhuU2VydmljZS54Y2NvbmZpZyAqLywKIAkJCQkz
NzJFQkI0QTIwMTdFNzYwMDAwODUwNjQgLyogV2ViQ29udGVudFNlcnZpY2UuRGV2ZWxvcG1lbnQu
eGNjb25maWcgKi8sCiAJCQkJQkNBQ0M0MEUxNkIwQjhBODAwQjZFMDkyIC8qIFdlYkNvbnRlbnRT
ZXJ2aWNlLnhjY29uZmlnICovLAogCQkJCUJDQjg2RjRCMTE2QUFBQ0QwMENFMjBCNyAvKiBXZWJL
aXQueGNjb25maWcgKi8sCkBAIC04MTE2LDYgKzgxNDcsNzUgQEAKIAkJCXBhdGggPSBjb2NvYTsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTU3NDJBMkZGMjUzNTc1ODAwMEI3
QkExNCAvKiBXZWJBdXRoblByb2Nlc3MgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTU3NDJBMzAwMjUzNTc1ODAwMEI3QkExNCAvKiBFbnRyeVBvaW50ICov
LAorCQkJCTU3NDJBMzE5MjUzNjc1RTkwMEI3QkExNCAvKiBpb3MgKi8sCisJCQkJNTc0MkEzMUIy
NTM2NzVGNjAwQjdCQTE0IC8qIG1hYyAqLywKKwkJCQk1NzQyQTMwQzI1MzU4RUZEMDBCN0JBMTQg
LyogV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCAqLywKKwkJCQk1NzQyQTMwQTI1
MzU4RUZEMDBCN0JBMTQgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLmggKi8sCisJ
CQkJNTc0MkEzMEIyNTM1OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbiAqLywKKwkJCQk1NzQyQTMxNDI1MzY0OEU0MDBCN0JBMTQgLyogV2Vi
QXV0aG5Qcm9jZXNzLmNwcCAqLywKKwkJCQk1NzQyQTMxNTI1MzY0OEU0MDBCN0JBMTQgLyogV2Vi
QXV0aG5Qcm9jZXNzLmggKi8sCisJCQkJNTc0MkEzMTMyNTM2NDhFNDAwQjdCQTE0IC8qIFdlYkF1
dGhuUHJvY2Vzcy5tZXNzYWdlcy5pbiAqLywKKwkJCQk1NzQyQTMwNzI1MzU4QTA0MDBCN0JBMTQg
LyogV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLywKKwkJCQk1NzQyQTMw
NjI1MzU4QTA0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgg
Ki8sCisJCQkpOworCQkJcGF0aCA9IFdlYkF1dGhuUHJvY2VzczsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CisJCTU3NDJBMzAwMjUzNTc1ODAwMEI3QkExNCAvKiBFbnRyeVBvaW50
ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk1NzQyQTMw
MTI1MzU3NTgwMDBCN0JBMTQgLyogQ29jb2EgKi8sCisJCQkpOworCQkJcGF0aCA9IEVudHJ5UG9p
bnQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk1NzQyQTMwMTI1MzU3NTgw
MDBCN0JBMTQgLyogQ29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAorCQkJCTU3NDJBMzAyMjUzNTc1ODAwMEI3QkExNCAvKiBYUENTZXJ2aWNlICovLAorCQkJ
KTsKKwkJCXBhdGggPSBDb2NvYTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJ
CTU3NDJBMzAyMjUzNTc1ODAwMEI3QkExNCAvKiBYUENTZXJ2aWNlICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk1NzQyQTMwMzI1MzU3NTgwMDBCN0JBMTQg
LyogV2ViQXV0aG5TZXJ2aWNlICovLAorCQkJCTU3NDJBMzFFMjUzNjk0OTMwMEI3QkExNCAvKiBX
ZWJBdXRoblNlcnZpY2VFbnRyeVBvaW50Lm1tICovLAorCQkJKTsKKwkJCXBhdGggPSBYUENTZXJ2
aWNlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNTc0MkEzMDMyNTM1NzU4
MDAwQjdCQTE0IC8qIFdlYkF1dGhuU2VydmljZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJNTcyRUJCQjkyNTM2QTA2RTAwMDU1MkIzIC8qIEluZm8taU9T
LnBsaXN0ICovLAorCQkJCTU3MkVCQkJBMjUzNkEwNkUwMDA1NTJCMyAvKiBJbmZvLU9TWC5wbGlz
dCAqLywKKwkJCSk7CisJCQlwYXRoID0gV2ViQXV0aG5TZXJ2aWNlOworCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNTc0MkEzMTkyNTM2NzVFOTAwQjdCQTE0IC8qIGlvcyAqLyA9
IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNTc0MkEzMUEyNTM2
NzVFOTAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzc0lPUy5tbSAqLywKKwkJCSk7CisJCQlwYXRo
ID0gaW9zOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNTc0MkEzMUIyNTM2
NzVGNjAwQjdCQTE0IC8qIG1hYyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRy
ZW4gPSAoCisJCQkJNTc0MkEzMUQyNTM2NzVGNjAwQjdCQTE0IC8qIGNvbS5hcHBsZS5XZWJLaXQu
V2ViQXV0aG5Qcm9jZXNzLnNiLmluICovLAorCQkJCTU3NDJBMzFDMjUzNjc1RjYwMEI3QkExNCAv
KiBXZWJBdXRoblByb2Nlc3NNYWMubW0gKi8sCisJCQkpOworCQkJcGF0aCA9IG1hYzsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTU3NTA3NUE2MjBBQjc1QUIwMDY5M0VBOSAv
KiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtODE1
OSw2ICs4MjU5LDEwIEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQk1NzYwODI4QzIwMjk4NTQyMDAx
MTY2NzggLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCAqLywKIAkJCQk1NzYwODI4
QjIwMjk4NTQyMDAxMTY2NzggLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggKi8sCisJ
CQkJNTcyRUJCRDEyNTM2Qzg4NTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24u
Y3BwICovLAorCQkJCTU3MkVCQkQyMjUzNkM4ODUwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3ND
b25uZWN0aW9uLmggKi8sCisJCQkJNTcyRUJCRDMyNTM2Qzg4NTAwMDU1MkIzIC8qIFdlYkF1dGhu
UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4gKi8sCisJCQkJNTcyRUJCQ0IyNTM2QjA0RjAw
MDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvLmggKi8sCiAJCQkpOwogCQkJ
cGF0aCA9IFdlYkF1dGhlbnRpY2F0aW9uOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAg
LTgxODEsMjkgKzgyODUsMTMgQEAKIAkJCQk1NzYwODI5NjIwMkJEOEJBMDAxMTY2NzggLyogV2Vi
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuY3BwICovLAogCQkJCTU3NjA4Mjk1MjAyQkQ4
QkEwMDExNjY3OCAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oICovLAogCQkJ
CTU3NjA4Mjk5MjAyQkRBRTIwMDExNjY3OCAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQ
cm94eS5tZXNzYWdlcy5pbiAqLywKKwkJCQk1NzJFQkJDNTI1MzZBRkQ1MDAwNTUyQjMgLyogV2Vi
QXV0aG5Qcm9jZXNzUHJveHkuY3BwICovLAorCQkJCTU3MkVCQkM2MjUzNkFGRDUwMDA1NTJCMyAv
KiBXZWJBdXRoblByb2Nlc3NQcm94eS5oICovLAorCQkJCTU3MkVCQkM3MjUzNkFGRDUwMDA1NTJC
MyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiAqLywKIAkJCSk7CiAJCQlwYXRo
ID0gV2ViQXV0aGVudGljYXRpb247CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owot
CQk1N0E5RkVFRjI1MkJCNzBDMDA2QTIwNDAgLyogRGFlbW9ucyAqLyA9IHsKLQkJCWlzYSA9IFBC
WEdyb3VwOwotCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTdBOUZFRjAyNTJCQjc0MDAwNkEyMDQwIC8q
IFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQgKi8sCi0JCQkpOwotCQkJcGF0aCA9IERhZW1vbnM7Ci0J
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwotCQl9OwotCQk1N0E5RkVGMDI1MkJCNzQwMDA2QTIw
NDAgLyogV2ViQXV0aGVudGljYXRpb25BZ2VudCAqLyA9IHsKLQkJCWlzYSA9IFBCWEdyb3VwOwot
CQkJY2hpbGRyZW4gPSAoCi0JCQkJNTdBOUZGMEQyNTJDMzk3QTAwNkEyMDQwIC8qIGNvbS5hcHBs
ZS53ZWJraXQuV2ViQXV0aGVudGljYXRpb25BZ2VudC5wbGlzdCAqLywKLQkJCQk1N0E5RkYwQTI1
MkJGNUMzMDA2QTIwNDAgLyogSW5mby5wbGlzdCAqLywKLQkJCQk1N0E5RkYwODI1MkJFQUYwMDA2
QTIwNDAgLyogbWFpbi5tbSAqLywKLQkJCQk1N0E5RkYwRjI1MkM1RDlEMDA2QTIwNDAgLyogV2Vi
QXV0aGVudGljYXRpb25BZ2VudC5lbnRpdGxlbWVudHMgKi8sCi0JCQkpOwotCQkJcGF0aCA9IFdl
YkF1dGhlbnRpY2F0aW9uQWdlbnQ7Ci0JCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwotCQl9Owog
CQk1N0I0QjQ1QzIwQjUwNDhCMDBENEFENzkgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMTAwNjQsNyArMTAxNTIsNyBAQAogCQkJCUUxN0FF
MkMyMTZCOUM2M0EwMDFDNDJGMiAvKiBjb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IgKi8s
CiAJCQkJRTE3QUUyQzIxNkI5QzYzQTAwMUM0MkYxIC8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29y
a1Byb2Nlc3Muc2IgKi8sCiAJCQkJN0ExNTA2NzIxREQ1NjI5ODAwMUY0QjU4IC8qIGNvbS5hcHBs
ZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiAqLywKLQkJCQlFMTE1QzcxNTE5MEY4QTI1MDBFQ0M1
MTYgLyogY29tLmFwcGxlLldlYktpdC5TdG9yYWdlLnNiICovLAorCQkJCTU3MkVCQkMzMjUzNkFC
ODQwMDA1NTJCMyAvKiBjb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYiAqLywKIAkJ
CQlFMTk2N0UzNzE1MEFCNUUyMDBDNzMxNjkgLyogY29tLmFwcGxlLldlYlByb2Nlc3Muc2IgKi8s
CiAJCQkJMUFCN0Q2MTcxMjg4QjlEOTAwQ0ZEMDhDIC8qIERvd25sb2FkUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovLAogCQkJCTFBQjdENjE4MTI4OEI5RDkwMENGRDA4QyAvKiBEb3dubG9hZFBy
b3h5TWVzc2FnZXMuaCAqLywKQEAgLTEwMTc4LDEyICsxMDI2Niw2IEBACiAJCQkJMUEzMzRERUMx
NkRFOEY4ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZXMuaCAqLywKIAkJCQk5MzY4
RUVEQzIzMDNBOEQ4MDBCREIxMUEgLyogU3RvcmFnZU1hbmFnZXJTZXRNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovLAogCQkJCTkzNjhFRUREMjMwM0E4RDgwMEJEQjExQSAvKiBTdG9yYWdlTWFuYWdlclNl
dE1lc3NhZ2VzLmggKi8sCi0JCQkJNTExOEU5QTUxRjI5NTk2MzAwM0VGOUY1IC8qIFN0b3JhZ2VQ
cm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKLQkJCQk1MTE4RTlBNjFGMjk1OTYzMDAzRUY5
RjUgLyogU3RvcmFnZVByb2Nlc3NNZXNzYWdlcy5oICovLAotCQkJCTUxMThFOUE3MUYyOTU5NjMw
MDNFRjlGNSAvKiBTdG9yYWdlUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKLQkJ
CQk1MTE4RTlBMjFGMjk1OTYzMDAzRUY5RjUgLyogU3RvcmFnZVByb2Nlc3NQcm94eU1lc3NhZ2Vz
LmggKi8sCi0JCQkJNTExOEU5QTMxRjI5NTk2MzAwM0VGOUY1IC8qIFN0b3JhZ2VUb1dlYlByb2Nl
c3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKLQkJCQk1MTE4RTlBNDFGMjk1OTYz
MDAzRUY5RjUgLyogU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oICovLAog
CQkJCUNENDkxQjBCMUU3MzJFNEQwMDAwOTA2NiAvKiBVc2VyTWVkaWFDYXB0dXJlTWFuYWdlck1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQ0Q0OTFCMEMxRTczMkU0RDAwMDA5MDY2IC8qIFVz
ZXJNZWRpYUNhcHR1cmVNYW5hZ2VyTWVzc2FnZXMuaCAqLywKIAkJCQlDRDQ5MUIxNTFFNzM1MjU1
MDAwMDkwNjYgLyogVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCkBAIC0xMDIwMiwxMCArMTAyODQsMTQgQEAKIAkJCQkxQTYwMjI0QjE4QzE2QjlGMDBD
M0U4QzkgLyogVmlzaXRlZExpbmtTdG9yZU1lc3NhZ2VzLmggKi8sCiAJCQkJMUE4RTdEM0ExOEMx
NTE0OTAwNUE3MDJBIC8qIFZpc2l0ZWRMaW5rVGFibGVDb250cm9sbGVyTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLywKIAkJCQkxQThFN0QzQjE4QzE1MTQ5MDA1QTcwMkEgLyogVmlzaXRlZExpbmtUYWJs
ZUNvbnRyb2xsZXJNZXNzYWdlcy5oICovLAotCQkJCTU3RENFRDZCMjE0MkVBRTIwMDE2Qjg0NyAv
KiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAotCQkJ
CTU3RENFRDZBMjE0MkVBRTIwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JN
ZXNzYWdlcy5oICovLAogCQkJCTU3RENFRDZDMjE0MkVBRjkwMDE2Qjg0NyAvKiBXZWJBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTdEQ0VE
NkQyMTQyRUFGQTAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5TWVz
c2FnZXMuaCAqLywKKwkJCQk1NzJFQkJCQjI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Db25u
ZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1NzJFQkJCQzI1
MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMu
aCAqLywKKwkJCQk1NzJFQkJCRDI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1NzJFQkJCRTI1MzZBNjBBMDAwNTUyQjMgLyogV2Vi
QXV0aG5Qcm9jZXNzTWVzc2FnZXMuaCAqLywKKwkJCQk1NzJFQkJDRDI1MzZCQjEwMDAwNTUyQjMg
LyogV2ViQXV0aG5Qcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTU3MkVC
QkNFMjUzNkJCMTAwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eU1lc3NhZ2VzLmggKi8s
CiAJCQkJMUMwQTE5NTUxQzkwMDY4RjAwRkUwRUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxQzBBMTk1NjFDOTAwNjhGMDBGRTBFQkIgLyogV2Vi
QXV0b21hdGlvblNlc3Npb25NZXNzYWdlcy5oICovLAogCQkJCTFDMEExOTUxMUM4RkZERkIwMEZF
MEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywK
QEAgLTEwMjI5LDggKzEwMzE1LDYgQEAKIAkJCQlCQzBFNjA2MDEyRDZCQTkxMDAxMkE3MkEgLyog
V2ViR2VvbG9jYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCAqLywKIAkJCQlCQzBFNjE4MDEyRDZDQjFE
MDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLAogCQkJCUJDMEU2MTgxMTJENkNCMUQwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFn
ZXJQcm94eU1lc3NhZ2VzLmggKi8sCi0JCQkJNTEwNTIzNzcxQzczREE3MDAwNzk5M0NCIC8qIFdl
YklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCi0JCQkJNTEwNTIz
NzgxQzczREE3MDAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VzLmgg
Ki8sCiAJCQkJNTEwNTIzNzIxQzczRDM3QjAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub1Nl
cnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTEwNTIzNzMxQzczRDM3QjAwNzk5M0NC
IC8qIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VzLmggKi8sCiAJCQkJOTMzRTgzNTgy
M0ExQURGNTAwREVGMjg5IC8qIFdlYklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCkBA
IC0xMTI2Niw5ICsxMTM1MCwxNyBAQAogCQkJCTU3QzYyNDRCMjM0Njc5QTQwMDM4M0ZFNyAvKiBX
ZWJBdXRoZW50aWNhdGlvbkZsYWdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzdGRjc4NTIzNDZF
Q0FBMDA0RURGQjkgLyogV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTdEQ0VEQjIyMTRDNjA0QzAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0aW9uUmVx
dWVzdERhdGEuaCBpbiBIZWFkZXJzICovLAotCQkJCTU3RENFRDZGMjE0MkVFNjMwMDE2Qjg0NyAv
KiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTdEQ0VEQjMyMTRDNjA1MzAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRv
clByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRUQ3MTIxNDJFRTZDMDAxNkI4NDcgLyog
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNTc0MkEzMEQyNTM1OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTcyRUJCQzAyNTM2QTYwQTAwMDU1MkIzIC8q
IFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1NzQyQTMxODI1MzY0OEU1MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk1NzJFQkJENTI1MzZDODg1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTcyRUJCQ0MyNTM2QjA0RjAwMDU1MkIz
IC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvLmggaW4gSGVhZGVycyAqLywKKwkJCQk1
NzQyQTMwODI1MzU4QTA0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzJFQkJDMjI1MzZBNjBBMDAwNTUyQjMgLyogV2Vi
QXV0aG5Qcm9jZXNzTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3MkVCQkM5MjUzNkFG
RDUwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NTcyRUJCRDAyNTM2QkIxMTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUY0MkQ2MzQxMjJBMEVGREYwMEQyRkIzQSAvKiBXZWJBdXRv
Y29ycmVjdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5MEQzOUY1MjQzQkU2NDgwMDE5
OTM4OCAvKiBXZWJBdXRvbWF0aW9uRE9NV2luZG93T2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTk5NTVBNkVDMUM3OTgwQzIwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0xMTk5OSwyMiArMTIwOTEsMjYgQEAKIAkJCXByb2R1Y3RSZWZlcmVu
Y2UgPSA1MTAwMzFGNjEzNzlDQUNCMDBDOERGRTQgLyogU2VjSXRlbVNoaW0uZHlsaWIgKi87CiAJ
CQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmxpYnJhcnkuZHluYW1pYyI7
CiAJCX07Ci0JCTU3QTlGRUZCMjUyQkQ4QUEwMDZBMjA0MCAvKiBXZWJBdXRoZW50aWNhdGlvbkFn
ZW50ICovID0geworCQk1NzQyQTJFNTI1MzU2MTNGMDBCN0JBMTQgLyogV2ViQXV0aG4gKi8gPSB7
CiAJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7Ci0JCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0g
NTdBOUZGMDAyNTJCRDhBQjAwNkEyMDQwIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3Ig
UEJYTmF0aXZlVGFyZ2V0ICJXZWJBdXRoZW50aWNhdGlvbkFnZW50IiAqLzsKKwkJCWJ1aWxkQ29u
ZmlndXJhdGlvbkxpc3QgPSA1NzQyQTJGMzI1MzU2MTNGMDBCN0JBMTQgLyogQnVpbGQgY29uZmln
dXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldlYkF1dGhuIiAqLzsKIAkJCWJ1aWxk
UGhhc2VzID0gKAotCQkJCTU3QTlGRUY4MjUyQkQ4QUEwMDZBMjA0MCAvKiBTb3VyY2VzICovLAot
CQkJCTU3QTlGRUY5MjUyQkQ4QUEwMDZBMjA0MCAvKiBGcmFtZXdvcmtzICovLAotCQkJCTU3QTlG
RUZBMjUyQkQ4QUEwMDZBMjA0MCAvKiBDb3B5RmlsZXMgKi8sCisJCQkJNTc0MkEyRUEyNTM1NjEz
RjAwQjdCQTE0IC8qIFNvdXJjZXMgKi8sCisJCQkJNTc0MkEyRUQyNTM1NjEzRjAwQjdCQTE0IC8q
IEZyYW1ld29ya3MgKi8sCisJCQkJNTc0MkEyRjAyNTM1NjEzRjAwQjdCQTE0IC8qIFJlc291cmNl
cyAqLywKKwkJCQk1NzQyQTJGMTI1MzU2MTNGMDBCN0JBMTQgLyogVW5sb2NrIGtleWNoYWluICov
LAorCQkJCTU3NDJBMkYyMjUzNTYxM0YwMEI3QkExNCAvKiBQcm9jZXNzIFdlYkF1dGhlbnRpY2F0
aW9uIGVudGl0bGVtZW50cyAqLywKIAkJCSk7CiAJCQlidWlsZFJ1bGVzID0gKAogCQkJKTsKIAkJ
CWRlcGVuZGVuY2llcyA9ICgKKwkJCQk1NzQyQTJFNjI1MzU2MTNGMDBCN0JBMTQgLyogUEJYVGFy
Z2V0RGVwZW5kZW5jeSAqLywKKwkJCQk1NzQyQTJFODI1MzU2MTNGMDBCN0JBMTQgLyogUEJYVGFy
Z2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0JCQluYW1lID0gV2ViQXV0aGVudGljYXRpb25BZ2Vu
dDsKLQkJCXByb2R1Y3ROYW1lID0gV2ViQXV0aGVudGljYXRpb25BZ2VudDsKLQkJCXByb2R1Y3RS
ZWZlcmVuY2UgPSA1N0E5RkVGQzI1MkJEOEFBMDA2QTIwNDAgLyogY29tLmFwcGxlLldlYktpdC5X
ZWJBdXRoZW50aWNhdGlvbkFnZW50LkRldmVsb3BtZW50ICovOwotCQkJcHJvZHVjdFR5cGUgPSAi
Y29tLmFwcGxlLnByb2R1Y3QtdHlwZS50b29sIjsKKwkJCW5hbWUgPSBXZWJBdXRobjsKKwkJCXBy
b2R1Y3ROYW1lID0gTmV0d29ya2luZzsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSA1NzQyQTJGNzI1
MzU2MTNGMDBCN0JBMTQgLyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRobi54cGMgKi87CisJCQlw
cm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLnhwYy1zZXJ2aWNlIjsKIAkJfTsK
IAkJOERDMkVGNEYwNDg2QTY5NDAwOThCMjE2IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBC
WE5hdGl2ZVRhcmdldDsKQEAgLTEyMTQwLDkgKzEyMjM2LDYgQEAKIAkJCQkJCUNyZWF0ZWRPblRv
b2xzVmVyc2lvbiA9IDEwLjE7CiAJCQkJCQlQcm92aXNpb25pbmdTdHlsZSA9IEF1dG9tYXRpYzsK
IAkJCQkJfTsKLQkJCQkJNTdBOUZFRkIyNTJCRDhBQTAwNkEyMDQwID0gewotCQkJCQkJQ3JlYXRl
ZE9uVG9vbHNWZXJzaW9uID0gMTIuMDsKLQkJCQkJfTsKIAkJCQkJRTFBQzJFMjcyMEY3Qjk0QzAw
QjA4OTdEID0gewogCQkJCQkJQ3JlYXRlZE9uVG9vbHNWZXJzaW9uID0gOS4zOwogCQkJCQkJUHJv
dmlzaW9uaW5nU3R5bGUgPSBBdXRvbWF0aWM7CkBAIC0xMjE3MiwxMSArMTIyNjUsMTEgQEAKIAkJ
CQkzNzJFQkIzODIwMTdFNjQzMDAwODUwNjQgLyogV2ViQ29udGVudC5EZXZlbG9wbWVudCAqLywK
IAkJCQlCQzgyODNCMDE2QjRCRjc3MDBBMjc4RkUgLyogTmV0d29ya2luZyAqLywKIAkJCQkyRDlG
QjIxNjIzNzUyMzgzMDA0OUY5MzYgLyogR1BVICovLAorCQkJCTU3NDJBMkU1MjUzNTYxM0YwMEI3
QkExNCAvKiBXZWJBdXRobiAqLywKIAkJCQlCQzgyODQxRTE2QjRGREY2MDBBMjc4RkUgLyogUGx1
Z2luLjY0ICovLAogCQkJCUE3QUFEQTEwMTkzOTVDQTkwMDNFQTFDNyAvKiBTYW5kYm94IFByb2Zp
bGVzICovLAogCQkJCUUxQUMyRTI3MjBGN0I5NEMwMEIwODk3RCAvKiBVbmxvY2sgS2V5Y2hhaW4g
Ki8sCiAJCQkJNTMyNUJEQ0QyMURGRjQ3NzAwQTBERUUxIC8qIEFwcGx5IENvbmZpZ3VyYXRpb24g
dG8gWENGaWxlTGlzdHMgKi8sCi0JCQkJNTdBOUZFRkIyNTJCRDhBQTAwNkEyMDQwIC8qIFdlYkF1
dGhlbnRpY2F0aW9uQWdlbnQgKi8sCiAJCQkpOwogCQl9OwogLyogRW5kIFBCWFByb2plY3Qgc2Vj
dGlvbiAqLwpAQCAtMTIxOTcsMTIgKzEyMjkwLDIwIEBACiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CisJCTU3NDJBMkYwMjUzNTYxM0YwMEI3
QkExNCAvKiBSZXNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNl
OworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsK
KwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OwogCQk4REMy
RUY1MjA0ODZBNjk0MDA5OEIyMTYgLyogUmVzb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYUmVz
b3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlm
aWxlcyA9ICgKIAkJCQlFMTdBRTJDMzE2QjlDNjNBMDAxQzQyRjIgLyogY29tLmFwcGxlLldlYktp
dC5HUFVQcm9jZXNzLnNiIGluIFJlc291cmNlcyAqLywKIAkJCQlFMTdBRTJDMzE2QjlDNjNBMDAx
QzQyRjEgLyogY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBpbiBSZXNvdXJjZXMg
Ki8sCisJCQkJNTcyRUJCQzQyNTM2QUI4NDAwMDU1MkIzIC8qIGNvbS5hcHBsZS5XZWJLaXQuV2Vi
QXV0aG5Qcm9jZXNzLnNiIGluIFJlc291cmNlcyAqLywKIAkJCQlFMTFEMzVBRTE2QjYzRDFCMDA2
RDIzRDcgLyogY29tLmFwcGxlLldlYlByb2Nlc3Muc2IgaW4gUmVzb3VyY2VzICovLAogCQkJCTQx
NEREMzc5MjBCRjQzRjUwMDY5NTlGQiAvKiBjb20uY2lzY28ud2ViZXgucGx1Z2luLmdwYzY0LnNi
IGluIFJlc291cmNlcyAqLywKIAkJCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVBy
ZWRpY3Rpb25fbW9kZWwgaW4gUmVzb3VyY2VzICovLApAQCAtMTI1MzgsNiArMTI2MzksMzYgQEAK
IAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CiAJCQlzaGVsbFNjcmlwdCA9ICJTY3JpcHRzL2NoZWNr
LXhjZmlsZWxpc3RzLnNoXG4iOwogCQl9OworCQk1NzQyQTJGMTI1MzU2MTNGMDBCN0JBMTQgLyog
VW5sb2NrIGtleWNoYWluICovID0geworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNl
OworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsK
KwkJCWlucHV0UGF0aHMgPSAoCisJCQkpOworCQkJbmFtZSA9ICJVbmxvY2sga2V5Y2hhaW4iOwor
CQkJb3V0cHV0UGF0aHMgPSAoCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3JpcHQgPSAi
VU5MT0NLX1NDUklQVF9QQVRIPVwiJHtTUkNST09UfS8uLi8uLi8uLi9JbnRlcm5hbC9Ub29scy9T
Y3JpcHRzL3VubG9jay1zYWZhcmktZW5naW5lZXJpbmcta2V5Y2hhaW4taWYtbmVlZGVkXCJcblxu
W1sgLXggXCIke1VOTE9DS19TQ1JJUFRfUEFUSH1cIiBdXSAmJiBleGVjIFwiJHtVTkxPQ0tfU0NS
SVBUX1BBVEh9XCJcblxuZXhpdCAwXG4iOworCQl9OworCQk1NzQyQTJGMjI1MzU2MTNGMDBCN0JB
MTQgLyogUHJvY2VzcyBXZWJBdXRoZW50aWNhdGlvbiBlbnRpdGxlbWVudHMgKi8gPSB7CisJCQlp
c2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3
NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJaW5wdXRQYXRocyA9ICgKKwkJCQkiJChT
UkNST09UKS9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoIiwKKwkJCSk7CisJCQluYW1l
ID0gIlByb2Nlc3MgV2ViQXV0aGVudGljYXRpb24gZW50aXRsZW1lbnRzIjsKKwkJCW91dHB1dFBh
dGhzID0gKAorCQkJCSIkKFdLX1BST0NFU1NFRF9YQ0VOVF9GSUxFKSIsCisJCQkpOworCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAvYmlu
L3NoOworCQkJc2hlbGxTY3JpcHQgPSAiU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaFxu
IjsKKwkJfTsKIAkJNURGNDA4QzUxMzFERDQ2NzAwMTMwMDcxIC8qIENoZWNrIEZvciBXZWFrIFZU
YWJsZXMgYW5kIEV4dGVybmFscyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQ
aGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0xMjY0Nyw3ICsxMjc3
OCw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiaWYgW1sgXCIke0RF
UExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIGV4aXRcbmZpXG5c
bmlmIFtbICR7V0tfUExBVEZPUk1fTkFNRX0gIT0gXCJtYWNvc3hcIiBdXTsgdGhlblxuICAgIFhQ
Q19TRVJWSUNFU19QQVRIPVwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L1dlYktpdC5mcmFtZXdvcmsv
WFBDU2VydmljZXNcIlxuICAgIEJVSUxUX1BST0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01f
WFBDX1NFUlZJQ0VTPVwiLi4vLi5cIlxuZWxzZVxuICAgIFhQQ19TRVJWSUNFU19QQVRIPVwiJHtC
VUlMVF9QUk9EVUNUU19ESVJ9L1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2aWNl
c1wiXG4gICAgQlVJTFRfUFJPRFVDVFNfRElSX1JFTEFUSVZFX1BBVEhfRlJPTV9YUENfU0VSVklD
RVM9XCIuLi8uLi8uLi8uLlwiXG5maVxuXG5ta2RpciAtcCBcIiR7WFBDX1NFUlZJQ0VTX1BBVEh9
XCJcbmxuIC1zRmggXCIke0JVSUxUX1BST0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01fWFBD
X1NFUlZJQ0VTfS9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjXCIgXCIke1hQQ19TRVJW
SUNFU19QQVRIfS9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjXCJcbmxuIC1zRmggXCIk
e0JVSUxUX1BST0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VTfS9jb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjXCIgXCIke1hQQ19TRVJWSUNFU19QQVRIfS9jb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjXCJcbmxuIC1zRmggXCIke0JVSUxUX1BST0RVQ1RT
X0RJUl9SRUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VTfS9jb20uYXBwbGUuV2ViS2l0LkdQ
VS54cGNcIiBcIiR7WFBDX1NFUlZJQ0VTX1BBVEh9L2NvbS5hcHBsZS5XZWJLaXQuR1BVLnhwY1wi
XG5cbmlmIFtbICR7V0tfUExBVEZPUk1fTkFNRX0gPT0gbWFjb3N4IF1dOyB0aGVuXG4gICAgbG4g
LXNGaCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSX1JFTEFUSVZFX1BBVEhfRlJPTV9YUENfU0VSVklD
RVN9L2NvbS5hcHBsZS5XZWJLaXQuUGx1Z2luLjY0LnhwY1wiIFwiJHtYUENfU0VSVklDRVNfUEFU
SH0vY29tLmFwcGxlLldlYktpdC5QbHVnaW4uNjQueHBjXCJcbmZpXG4iOworCQkJc2hlbGxTY3Jp
cHQgPSAiaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhl
blxuICAgIGV4aXRcbmZpXG5cbmlmIFtbICR7V0tfUExBVEZPUk1fTkFNRX0gIT0gXCJtYWNvc3hc
IiBdXTsgdGhlblxuICAgIFhQQ19TRVJWSUNFU19QQVRIPVwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9
L1dlYktpdC5mcmFtZXdvcmsvWFBDU2VydmljZXNcIlxuICAgIEJVSUxUX1BST0RVQ1RTX0RJUl9S
RUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VTPVwiLi4vLi5cIlxuZWxzZVxuICAgIFhQQ19T
RVJWSUNFU19QQVRIPVwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L1dlYktpdC5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9YUENTZXJ2aWNlc1wiXG4gICAgQlVJTFRfUFJPRFVDVFNfRElSX1JFTEFUSVZFX1BB
VEhfRlJPTV9YUENfU0VSVklDRVM9XCIuLi8uLi8uLi8uLlwiXG5maVxuXG5ta2RpciAtcCBcIiR7
WFBDX1NFUlZJQ0VTX1BBVEh9XCJcbmxuIC1zRmggXCIke0JVSUxUX1BST0RVQ1RTX0RJUl9SRUxB
VElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VTfS9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQu
eHBjXCIgXCIke1hQQ19TRVJWSUNFU19QQVRIfS9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQu
eHBjXCJcbmxuIC1zRmggXCIke0JVSUxUX1BST0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01f
WFBDX1NFUlZJQ0VTfS9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjXCIgXCIke1hQQ19T
RVJWSUNFU19QQVRIfS9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjXCJcbmxuIC1zRmgg
XCIke0JVSUxUX1BST0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VTfS9j
b20uYXBwbGUuV2ViS2l0LkdQVS54cGNcIiBcIiR7WFBDX1NFUlZJQ0VTX1BBVEh9L2NvbS5hcHBs
ZS5XZWJLaXQuR1BVLnhwY1wiXG5sbiAtc0ZoIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJfUkVMQVRJ
VkVfUEFUSF9GUk9NX1hQQ19TRVJWSUNFU30vY29tLmFwcGxlLldlYktpdC5XZWJBdXRobi54cGNc
IiBcIiR7WFBDX1NFUlZJQ0VTX1BBVEh9L2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4ueHBjXCJc
blxuaWYgW1sgJHtXS19QTEFURk9STV9OQU1FfSA9PSBtYWNvc3ggXV07IHRoZW5cbiAgICBsbiAt
c0ZoIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJfUkVMQVRJVkVfUEFUSF9GUk9NX1hQQ19TRVJWSUNF
U30vY29tLmFwcGxlLldlYktpdC5QbHVnaW4uNjQueHBjXCIgXCIke1hQQ19TRVJWSUNFU19QQVRI
fS9jb20uYXBwbGUuV2ViS2l0LlBsdWdpbi42NC54cGNcIlxuZmlcbiI7CiAJCX07CiAJCTk5Q0Ez
ODYyMjA3Mjg2REIwMEJBRDU3OCAvKiBDb3B5IFdlYkRyaXZlciBBdG9tcyB0byBGcmFtZXdvcmsg
UHJpdmF0ZSBIZWFkZXJzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNl
OwpAQCAtMTI3ODYsMTEgKzEyOTE3LDEyIEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07Ci0JCTU3QTlGRUY4MjUyQkQ4QUEwMDZBMjA0MCAv
KiBTb3VyY2VzICovID0geworCQk1NzQyQTJFQTI1MzU2MTNGMDBCN0JBMTQgLyogU291cmNlcyAq
LyA9IHsKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNr
ID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCTU3QTlGRjA5MjUyQkVBRjAwMDZBMjA0
MCAvKiBtYWluLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNTc0MkEyRUIyNTM1NjEzRjAwQjdCQTE0
IC8qIEF1eGlsaWFyeVByb2Nlc3NNYWluLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU3NDJBMkVD
MjUzNTYxM0YwMEI3QkExNCAvKiBYUENTZXJ2aWNlTWFpbi5tbSBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MTMxMjAsNiArMTMyNTIsOSBAQAogCQkJCTFBNjAyMjRDMThDMTZCOUYwMEMzRThDOSAvKiBWaXNp
dGVkTGlua1N0b3JlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBOEU3
RDNDMThDMTUxNDkwMDVBNzAyQSAvKiBWaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1N0RDRUQ3MDIxNDJFRTY4MDAxNkI4NDcg
LyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNTcyRUJCQkYyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuQ29u
bmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk1NzJFQkJDMTI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU3MkVCQkNGMjUzNkJCMTEwMDA1NTJCMyAvKiBX
ZWJBdXRoblByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1NzVCMUJCQTIzQ0U5QzEzMDAyMDYzOUEgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUMwQTE5NTcxQzkwMDY4RjAwRkUwRUJCIC8qIFdlYkF1dG9tYXRp
b25TZXNzaW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3NUIxQkI4
MjNDRTlCRkMwMDIwNjM5QSAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMTMyOTMsMTAgKzEzNDI4LDIwIEBACiAJCQl0YXJnZXQgPSBDMENFNzI4NTEy
NDdFNjY4MDBCQzBFQzQgLyogRGVyaXZlZCBTb3VyY2VzICovOwogCQkJdGFyZ2V0UHJveHkgPSAz
N0Y3NDA3ODEyNzIxRjc0MDA5Mzg2OUIgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwogCQl9
OwotCQk1N0E5RkYwQzI1MkMzMUQ2MDA2QTIwNDAgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9
IHsKKwkJNTc0MkEyRTYyNTM1NjEzRjAwQjdCQTE0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8g
PSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gRTFBQzJFMjcy
MEY3Qjk0QzAwQjA4OTdEIC8qIFVubG9jayBLZXljaGFpbiAqLzsKKwkJCXRhcmdldFByb3h5ID0g
NTc0MkEyRTcyNTM1NjEzRjAwQjdCQTE0IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJ
fTsKKwkJNTc0MkEyRTgyNTM1NjEzRjAwQjdCQTE0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8g
PSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gOERDMkVGNEYw
NDg2QTY5NDAwOThCMjE2IC8qIFdlYktpdCAqLzsKKwkJCXRhcmdldFByb3h5ID0gNTc0MkEyRTky
NTM1NjEzRjAwQjdCQTE0IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKKwkJNTc0
MkEyRkEyNTM1NjE5RDAwQjdCQTE0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlp
c2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwotCQkJdGFyZ2V0ID0gNTdBOUZFRkIyNTJCRDhBQTAw
NkEyMDQwIC8qIFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQgKi87Ci0JCQl0YXJnZXRQcm94eSA9IDU3
QTlGRjBCMjUyQzMxRDYwMDZBMjA0MCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCQl0
YXJnZXQgPSA1NzQyQTJFNTI1MzU2MTNGMDBCN0JBMTQgLyogV2ViQXV0aG4gKi87CisJCQl0YXJn
ZXRQcm94eSA9IDU3NDJBMkY5MjUzNTYxOUQwMEI3QkExNCAvKiBQQlhDb250YWluZXJJdGVtUHJv
eHkgKi87CiAJCX07CiAJCUJDODI4M0Q1MTZCNEMwMUYwMEEyNzhGRSAvKiBQQlhUYXJnZXREZXBl
bmRlbmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKQEAgLTEzNTU0LDIz
ICsxMzY5OSwyMyBAQAogCQkJfTsKIAkJCW5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OwotCQk1N0E5
RkYwMTI1MkJEOEFCMDA2QTIwNDAgLyogRGVidWcgKi8gPSB7CisJCTU3NDJBMkY0MjUzNTYxM0Yw
MEI3QkExNCAvKiBEZWJ1ZyAqLyA9IHsKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwot
CQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA1N0E5RkYwNzI1MkJFNkUwMDA2QTIwNDAg
LyogV2ViQXV0aGVudGljYXRpb25BZ2VudC54Y2NvbmZpZyAqLzsKKwkJCWJhc2VDb25maWd1cmF0
aW9uUmVmZXJlbmNlID0gNTdBOUZGMDcyNTJCRTZFMDAwNkEyMDQwIC8qIFdlYkF1dGhuU2Vydmlj
ZS54Y2NvbmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7CiAJCQl9OwogCQkJbmFtZSA9IERl
YnVnOwogCQl9OwotCQk1N0E5RkYwMjI1MkJEOEFCMDA2QTIwNDAgLyogUmVsZWFzZSAqLyA9IHsK
KwkJNTc0MkEyRjUyNTM1NjEzRjAwQjdCQTE0IC8qIFJlbGVhc2UgKi8gPSB7CiAJCQlpc2EgPSBY
Q0J1aWxkQ29uZmlndXJhdGlvbjsKLQkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNTdB
OUZGMDcyNTJCRTZFMDAwNkEyMDQwIC8qIFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQueGNjb25maWcg
Ki87CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDU3QTlGRjA3MjUyQkU2RTAwMDZB
MjA0MCAvKiBXZWJBdXRoblNlcnZpY2UueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0g
ewogCQkJfTsKIAkJCW5hbWUgPSBSZWxlYXNlOwogCQl9OwotCQk1N0E5RkYwMzI1MkJEOEFCMDA2
QTIwNDAgLyogUHJvZHVjdGlvbiAqLyA9IHsKKwkJNTc0MkEyRjYyNTM1NjEzRjAwQjdCQTE0IC8q
IFByb2R1Y3Rpb24gKi8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKLQkJCWJh
c2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNTdBOUZGMDcyNTJCRTZFMDAwNkEyMDQwIC8qIFdl
YkF1dGhlbnRpY2F0aW9uQWdlbnQueGNjb25maWcgKi87CisJCQliYXNlQ29uZmlndXJhdGlvblJl
ZmVyZW5jZSA9IDU3QTlGRjA3MjUyQkU2RTAwMDZBMjA0MCAvKiBXZWJBdXRoblNlcnZpY2UueGNj
b25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0gewogCQkJfTsKIAkJCW5hbWUgPSBQcm9kdWN0
aW9uOwpAQCAtMTM4MzEsMTIgKzEzOTc2LDEyIEBACiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklz
VmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwog
CQl9OwotCQk1N0E5RkYwMDI1MkJEOEFCMDA2QTIwNDAgLyogQnVpbGQgY29uZmlndXJhdGlvbiBs
aXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldlYkF1dGhlbnRpY2F0aW9uQWdlbnQiICovID0gewor
CQk1NzQyQTJGMzI1MzU2MTNGMDBCN0JBMTQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZv
ciBQQlhOYXRpdmVUYXJnZXQgIldlYkF1dGhuIiAqLyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJh
dGlvbkxpc3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAotCQkJCTU3QTlGRjAxMjUyQkQ4
QUIwMDZBMjA0MCAvKiBEZWJ1ZyAqLywKLQkJCQk1N0E5RkYwMjI1MkJEOEFCMDA2QTIwNDAgLyog
UmVsZWFzZSAqLywKLQkJCQk1N0E5RkYwMzI1MkJEOEFCMDA2QTIwNDAgLyogUHJvZHVjdGlvbiAq
LywKKwkJCQk1NzQyQTJGNDI1MzU2MTNGMDBCN0JBMTQgLyogRGVidWcgKi8sCisJCQkJNTc0MkEy
RjUyNTM1NjEzRjAwQjdCQTE0IC8qIFJlbGVhc2UgKi8sCisJCQkJNTc0MkEyRjYyNTM1NjEzRjAw
QjdCQTE0IC8qIFByb2R1Y3Rpb24gKi8sCiAJCQkpOwogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25J
c1Zpc2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9X
ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNGNiNjBjNTQxZGUzZTIzZjgzMmZjMWFlOTFlZWE2ZjVmZGNkMzk2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhu
UHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5oIgor
CisjaWYgRU5BQkxFKFdFQl9BVVRITikKKworI2luY2x1ZGUgIldlYkF1dGhuQ29ubmVjdGlvblRv
V2ViUHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUGFnZU1lc3NhZ2VzLmgiCisjaW5j
bHVkZSAiV2ViUHJvY2Vzcy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOworCitXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpXZWJBdXRoblByb2Nlc3ND
b25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmll
cikKKyAgICA6IG1fY29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZUNsaWVudENvbm5l
Y3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsICp0aGlzKSkKK3sKKyAgICBtX2Nvbm5lY3Rpb24t
Pm9wZW4oKTsKK30KKworV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6fldlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb24oKQoreworICAgIG1fY29ubmVjdGlvbi0+aW52YWxpZGF0ZSgpOworfQorCit2
b2lkIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYp
Cit7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZUludmFs
aWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZU5hbWUpCit7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyOTViYTUz
ZDNhZWMzZjM4NTAzMzc1MWRiZGIwM2ZiYzRkOWE5YTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbi5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIEVOQUJMRShXRUJfQVVUSE4pCisKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24gOiBw
dWJsaWMgUmVmQ291bnRlZDxXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uPiwgSVBDOjpDb25uZWN0
aW9uOjpDbGllbnQgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbj4gY3JlYXRlKElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRl
bnRpZmllcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkF1dGhuUHJv
Y2Vzc0Nvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIpKTsKKyAgICB9CisgICAgfldlYkF1
dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKKworICAgIElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlv
bigpIHsgcmV0dXJuIG1fY29ubmVjdGlvbi5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIFdlYkF1
dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKKworICAg
IC8vIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CisgICAgdm9pZCBkaWRDbG9zZShJUEM6OkNvbm5l
Y3Rpb24mKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VOYW1lKSBvdmVycmlkZTsKKworICAgIC8vIFRoZSBj
b25uZWN0aW9uIGZyb20gdGhlIHdlYiBwcm9jZXNzIHRvIHRoZSBXZWJBdXRobiBwcm9jZXNzLgor
ICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3ND
b25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjgzZjU4YTg2Y2RlNzNjZTIwYzdlYTU0NGJmMzU5N2I4Mjk1NTZiZQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMjggQEAKKyMgQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMg
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIEVOQUJMRShXRUJfQVVUSE4pCisK
K21lc3NhZ2VzIC0+IFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24geworfQorCisjZW5kaWYgLy8g
RU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc0Nvbm5l
Y3Rpb25JbmZvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTA3ZjgzZTc2NDA5NjRmYWU5YjMxY2YyM2Y3ZDg5NDAx
NjdlZjY0OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5oCkBAIC0wLDAgKzEs
NjIgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorCituYW1lc3BhY2UgV2ViS2l0IHsK
Kworc3RydWN0IFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIHsKKyAgICBJUEM6OkF0dGFj
aG1lbnQgY29ubmVjdGlvbjsKKworICAgIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBpZGVu
dGlmaWVyKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBJUEM6OkNvbm5lY3Rpb246Oklk
ZW50aWZpZXIoY29ubmVjdGlvbi5wb3J0KCkpOworICAgIH0KKworICAgIElQQzo6Q29ubmVjdGlv
bjo6SWRlbnRpZmllciByZWxlYXNlSWRlbnRpZmllcigpCisgICAgeworICAgICAgICBhdXRvIHJl
dHVyblZhbHVlID0gaWRlbnRpZmllcigpOworICAgICAgICBjb25uZWN0aW9uID0geyB9OworICAg
ICAgICByZXR1cm4gcmV0dXJuVmFsdWU7CisgICAgfQorCisgICAgdm9pZCBlbmNvZGUoSVBDOjpF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgZW5jb2RlciA8PCBjb25uZWN0
aW9uOworICAgIH0KKworICAgIHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUo
SVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mbyYgaW5m
bykKKyAgICB7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaW5mby5jb25uZWN0aW9uKSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NF
U1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNTllMDdiMDgw
MWFmZjk3MGRmYzZhM2FlNTQxMDNmZDlmNzVhMGZkYi4uYzgyN2Y4MTAzYTQ0NDM4MmRiZjUxMzFh
YWZlY2RhMGVmNmFjMTJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cApAQCAtMTY1LDYgKzE2NSwxMiBAQAogI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uSW5m
by5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisjaW5jbHVkZSAiV2ViQXV0
aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJBdXRoblBy
b2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbklu
Zm8uaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvUmVtb3RlSW5zcGVjdG9yLmg+CiAjZW5kaWYKQEAgLTEzMDQsNiArMTMx
MCw1MyBAQCBMaWJXZWJSVENDb2RlY3MmIFdlYlByb2Nlc3M6OmxpYldlYlJUQ0NvZGVjcygpCiAK
ICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCiAKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQor
CitzdGF0aWMgV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8gZ2V0V2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCit7CisgICAgV2ViQXV0aG5Q
cm9jZXNzQ29ubmVjdGlvbkluZm8gY29ubmVjdGlvbkluZm87CisgICAgaWYgKCFjb25uZWN0aW9u
LnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFdlYkF1dGhuUHJvY2Vzc0Nv
bm5lY3Rpb24oKSwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbjo6UmVwbHkoY29ubmVjdGlvbkluZm8pLCAwKSkgeworICAgICAgICAvLyBJZiB3
ZSBmYWlsZWQgdGhlIGZpcnN0IHRpbWUsIHJldHJ5IG9uY2UuIFRoZSBhdHRhY2htZW50IG1heSBo
YXZlIGJlY29tZSBpbnZhbGlkCisgICAgICAgIC8vIGJlZm9yZSBpdCB3YXMgcmVjZWl2ZWQgYnkg
dGhlIHdlYiBwcm9jZXNzIGlmIHRoZSBuZXR3b3JrIHByb2Nlc3MgY3Jhc2hlZC4KKyAgICAgICAg
aWYgKCFjb25uZWN0aW9uLnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFdl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKSwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6UmVwbHkoY29ubmVjdGlvbkluZm8pLCAwKSkKKyAg
ICAgICAgICAgIENSQVNIKCk7CisgICAgfQorCisgICAgcmV0dXJuIGNvbm5lY3Rpb25JbmZvOwor
fQorCitXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uJiBXZWJQcm9jZXNzOjplbnN1cmVXZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uKCkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChSdW5Mb29wOjppc01h
aW4oKSk7CisKKyAgICAvLyBJZiB3ZSd2ZSBsb3N0IG91ciBjb25uZWN0aW9uIHRvIHRoZSBXZWJB
dXRobiBwcm9jZXNzIChlLmcuIGl0IGNyYXNoZWQpIHRyeSB0byByZS1lc3RhYmxpc2ggaXQuCisg
ICAgaWYgKCFtX3dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pIHsKKyAgICAgICAgYXV0byBjb25u
ZWN0aW9uSW5mbyA9IGdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKnBhcmVudFByb2Nlc3ND
b25uZWN0aW9uKCkpOworCisgICAgICAgIC8vIFJldHJ5IG9uY2UgaWYgdGhlIElQQyB0byBnZXQg
dGhlIGNvbm5lY3Rpb25JZGVudGlmaWVyIHN1Y2NlZWRlZCBidXQgdGhlIGNvbm5lY3Rpb25JZGVu
dGlmaWVyIHdlIHJlY2VpdmVkCisgICAgICAgIC8vIGlzIGludmFsaWQuIFRoaXMgbWF5IGluZGlj
YXRlIHRoYXQgdGhlIFdlYkF1dGhuIHByb2Nlc3MgaGFzIGNyYXNoZWQuCisgICAgICAgIGlmICgh
SVBDOjpDb25uZWN0aW9uOjppZGVudGlmaWVySXNWYWxpZChjb25uZWN0aW9uSW5mby5pZGVudGlm
aWVyKCkpKQorICAgICAgICAgICAgY29ubmVjdGlvbkluZm8gPSBnZXRXZWJBdXRoblByb2Nlc3ND
b25uZWN0aW9uKCpwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpKTsKKworICAgICAgICBpZiAoIUlQ
Qzo6Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbkluZm8uaWRlbnRpZmll
cigpKSkKKyAgICAgICAgICAgIENSQVNIKCk7CisKKyAgICAgICAgbV93ZWJBdXRoblByb2Nlc3ND
b25uZWN0aW9uID0gV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6Y3JlYXRlKGNvbm5lY3Rpb25J
bmZvLnJlbGVhc2VJZGVudGlmaWVyKCkpOworICAgIH0KKworICAgIHJldHVybiAqbV93ZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uOworfQorCit2b2lkIFdlYlByb2Nlc3M6OndlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb25DbG9zZWQoV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbiogY29ubmVjdGlvbikK
K3sKKyAgICBBU1NFUlQobV93ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKTsKKyAgICBBU1NFUlRf
VU5VU0VEKGNvbm5lY3Rpb24sIG1fd2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbiA9PSBjb25uZWN0
aW9uKTsKKworICAgIG1fd2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbiA9IG51bGxwdHI7Cit9CisK
KyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQorCiB2b2lkIFdlYlByb2Nlc3M6OnNldEVuaGFu
Y2VkQWNjZXNzaWJpbGl0eShib29sIGZsYWcpCiB7CiAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6c2V0RW5oYW5jZWRVc2VySW50ZXJmYWNlQWNjZXNzaWJpbGl0eShmbGFnKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGYzZTE5YWI2YWIzMmJkMGVjNjRjZDcyNzc5
M2Y0YmNkM2U0ZDQ4ZjQuLjExMjExODExODQyNDEzNzY4MjRkYjlmNzgzZTMzODg2ZDJhMjI1Zjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMTE1LDYgKzExNSw3IEBA
IHN0cnVjdCBTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogY2xhc3MgU3RvcmFnZUFy
ZWFNYXA7CiBjbGFzcyBVc2VyRGF0YTsKIGNsYXNzIFdheWxhbmRDb21wb3NpdG9yRGlzcGxheTsK
K2NsYXNzIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb247CiBjbGFzcyBXZWJBdXRvbWF0aW9uU2Vz
c2lvblByb3h5OwogY2xhc3MgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI7CiBjbGFzcyBXZWJDb29r
aWVKYXI7CkBAIC0yMjksNiArMjMwLDEyIEBAIHB1YmxpYzoKIAogI2VuZGlmIC8vIEVOQUJMRShH
UFVfUFJPQ0VTUykKIAorI2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgV2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbiYgZW5zdXJlV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigpOworICAgIHZvaWQg
d2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkNsb3NlZChXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
Kik7CisgICAgV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbiogZXhpc3RpbmdXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uKCkgeyByZXR1cm4gbV93ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmdldCgp
OyB9CisjZW5kaWYKKwogICAgIExpYldlYlJUQ05ldHdvcmsmIGxpYldlYlJUQ05ldHdvcmsoKTsK
IAogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsKTsKQEAgLTU4MSw2ICs1ODgsMTAg
QEAgcHJpdmF0ZToKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorICAg
IFJlZlB0cjxXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uPiBtX3dlYkF1dGhuUHJvY2Vzc0Nvbm5l
Y3Rpb247CisjZW5kaWYKKwogICAgIFJlZjxXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcj4gbV9jYWNo
ZVN0b3JhZ2VQcm92aWRlcjsKICAgICBSZWY8V2ViQ29va2llSmFyPiBtX2Nvb2tpZUphcjsKICAg
ICBXZWJTb2NrZXRDaGFubmVsTWFuYWdlciBtX3dlYlNvY2tldENoYW5uZWxNYW5hZ2VyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411396</attachid>
            <date>2020-10-14 19:45:30 -0700</date>
            <delta_ts>2020-10-16 10:02:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217559-20201014194529.patch</filename>
            <type>text/plain</type>
            <size>178387</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBlYzlmZTc5YTQ3MTY0
MDRjNzU3NWU2NTIxMDExN2Q2YTQxNzMxNS4uMWJiNjFkZjU0OWQwYjkzODIxNzQyOWIwZWVhMTk5
NWI4YTAyN2RlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTEwLTE0ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhuXSBJbXBs
ZW1lbnQgYSBkdW1teSBXZWJBdXRoblByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzU1OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzAx
Njg3NDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gdGVzdHMuCisKKyAgICAgICAgKiBlbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOgorICAg
ICAgICBQcm92aWRlcyBhIG5hbWUgZm9yIHRoZSBXZWJBdXRobiBwcm9jZXNzLgorCiAyMDIwLTEw
LTA5ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIEFp
clBsYXkgbWVudSBkb2VzIG5vdCBzaG93IHVwIHdoZW4gQWlyUGxheSBidXR0b24gaXMgY2xpY2tl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCBhNWJhMzQ3YjFhMWZmZjI5MWRlYTg0MTIzYzA0NjZlOWEwZTY0NzhlLi4x
ZWU0ZWZhYzJlODZlMDkwMzVkMTIxN2ZiMDg2OTQzYjliMzkxNTg1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1NyBAQAorMjAyMC0xMC0xNCAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29t
PgorCisgICAgICAgIFtXZWJBdXRobl0gSW1wbGVtZW50IGEgZHVtbXkgV2ViQXV0aG5Qcm9jZXNz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTc1NTkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwMTY4NzQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByZXZpb3VzIHBhdGNoIHIyNjgyNDggaW50cm9k
dWNlcyBhIG5ldyBkYWVtb24gdG8gaGFuZGxlIGFsbCBXZWJBdXRobiByZXF1ZXN0cy4gSG93ZXZl
ciwgYWZ0ZXIgbW9yZSBkZWVwZXIgaW52ZXN0aWdhdGlvbnMsIHRoZSBkYWVtb24KKyAgICAgICAg
c3RvcnkgaXMgbm90IHZlcnkgY29tcGVsbGluZyBmb3IgV2ViS2l0LiBIZXJlIGFyZSB0aGUgdHdv
IG1ham9yIHJvYWQgYmxvY2tlcnM6CisgICAgICAgIDEpIFRoZSBtYWpvciBvbmUgaXMgb24gbWFj
T1MuIE5ldyBkYWVtb25zIGNhbm5vdCBiZSBpbnN0YWxsZWQgd2l0aG91dCBhIHN5c3RlbSB1cGRh
dGUuIEl0IG1lYW5zIHJlbG9jYXRhYmxlIFNhZmFyaSAoZS5nLiBTVFApCisgICAgICAgIGFuZCBz
dGFnZWQgU2FmYXJpIG9uIGRvd25sZXZlbCBPU2VzIHdpbGwgbm90IGdldCB0aGlzIGZlYXR1cmUu
IEFuZCByZWxvY2F0YWJsZSBTVFAgY2FuIG9ubHkgdXRpbGl6ZSB0aGUgc3lzdGVtIGRhZW1vbi4g
VGhpcworICAgICAgICBzZWVtcyBhIGJ1bW1lciBlc3BlY2lhbGx5IGZvciB0aGUgU1RQIGNhc2Ug
Z2l2ZW4gaXQgaXMgaGVhdmlseSB1c2VkIHRvIHRlc3QgbGF0ZXN0IHdlYiBmZWF0dXJlcy4KKyAg
ICAgICAgMikgQWRkaXRpb25hbCBwbHVtYmluZyBpcyBuZWVkZWQgZm9yIHRlc3RpbmcgYW5kIGVu
Z2luZWVyaW5nIGJ1aWxkcy4gVGhpcyBwcm9ibGVtIGlzIHNwZWNpZmljIHRvIFdlYktpdCBhbmQg
aXMgb24gYm90aCBtYWNPUyBhbmQgaU9TLgorICAgICAgICBXZWJLaXQgZG9lc24ndCBidWlsZCBy
b290cyB0byB0ZXN0IGVuZ2luZWVyaW5nIGJ1aWxkcywgd2hpY2ggaXMgcmVxdWlyZWQgdG8gdXBk
YXRlIHRoZSBwbGlzdCBvbiB0aGUgYWJvdmUgbG9jYXRpb24uIEhlbmNlLCBhIHNlcGFyYXRlCisg
ICAgICAgIGNvbmZpZ3VyYXRpb24gaXMgbmVlZGVkIHRvIGdlbmVyYXRlIGEgZGlmZmVyZW50IHBs
aXN0IHRoYXQgcG9pbnRzIHRvIHRoZSByaWdodCBlbmdpbmVlcmluZyBiaW5hcnkgYW5kIGFkZGl0
aW9uYWwgc2NyaXB0cyB3aWxsIGJlIG5lZWRlZAorICAgICAgICB0byBhc2sgbGF1bmNoZCB0byBs
b2FkIHRoZSBwbGlzdCBiZWZvcmUgcnVubmluZyBhbnkgdGVzdHMuIFNvbWUgZXh0cmEgZXhlcmNp
c2VzIGFyZSBwcm9iYWJseSBuZWVkZWQgdG8gbm90IGNvbmZ1c2UgbGF1bmNoZCBhYm91dCB0aGUK
KyAgICAgICAgZW5naW5lZXJpbmcgYmluYXJ5IGFuZCBzeXN0ZW0gYmluYXJ5IGFzIHdlbGwuCisK
KyAgICAgICAgR2l2ZW4gdGhlIGFib3ZlIGNvbnN0cmFpbnRzLCBhIG5ldyBhcmNoaXRlY3R1cmUg
aXMgcHJvcG9zZWQgdG8gbWFrZSB0aGUgZGFlbW9uIGEgV2ViS2l0IFhQQyBzZXJ2aWNlL3Byb2Nl
c3MgaW5zdGVhZCBhbmQgbGVhdmUgdGhlIGxhdW5jaGQKKyAgICAgICAgZXZlbnQgaGFuZGxlciB0
byBhIG5ldyBTYWZhcmkgZGFlbW9uLiBUaGUgbGF1bmNoZCByZWxhdGVkIGZlYXR1cmUgaXMgb25s
eSBvbiBpT1MgYW5kIHRoZXJlZm9yZSBpdCByZWFsbHkgZG9lc24ndCBtYWtlIHNlbnNlIHRvIG92
ZXJjb21lCisgICAgICAgIGFsbCB0aGUgYWJvdmUgbWFjT1MgY29uc3RyYWludHMuIEhhdmluZyBk
aWZmZXJlbnQgYXJjaGl0ZWN0dXJlcyBvbiBpT1MgKGEgZGFlbW9uKSBhbmQgb24gbWFjT1MgKGEg
WFBDIHNlcnZpY2UpIGFjY29yZGluZ2x5IHdpbGwgaW50cm9kdWNlCisgICAgICAgIHRvbnMgb2Yg
b3ZlcmhlYWQgZm9yIG1haW50YWluYW5jZSBhcyB3ZWxsLiBUaGF0J3Mgd2h5IHJlbHlpbmcgb24g
YSBTYWZhcmkgZGFlbW9uIHRvIGRvIHRoZSBqb2IgaXMgdGhlIG1vc3QgcmVhc29uYWJsZSBvcHRp
b24uCisKKyAgICAgICAgVGhpcyBwYXRjaCB0aGVyZWZvcmUgZm9jdWVzIG9uIG1ha2luZyB0aGUg
V2ViQXV0aG4gcHJvY2VzcyBoYXBwZW4gYW5kIHJlbW92ZXMgdGhlIFdlYkF1dGhuIGRhZW1vbi4K
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dl
YkF1dGhuU2VydmljZS54Y2NvbmZpZzogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvQ29uZmln
dXJhdGlvbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC54Y2NvbmZpZy4KKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6CisgICAgICAgICogRGFlbW9ucy9XZWJBdXRoZW50
aWNhdGlvbkFnZW50L1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQuZW50aXRsZW1lbnRzOiBSZW1vdmVk
LgorICAgICAgICAqIERhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9jb20uYXBwbGUud2Vi
a2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQucGxpc3Q6IFJlbW92ZWQuCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAg
ICBQYXBlcndvcmsgZm9yIGJ1aWxkaW5nIHRoZSBuZXcgV2ViQXV0aG4gcHJvY2Vzcy4KKworICAg
ICAgICAqIFBsYXRmb3JtL0V4dHJhUHJpdmF0ZVN5bWJvbHNGb3JUQVBJLmg6CisgICAgICAgICog
U2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaDoKKyAgICAgICAgKiBTaGFyZWQvRW50cnlQb2ludFV0
aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50Lmg6CisgICAgICAg
ICogU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNl
TWFpbi5tbToKKyAgICAgICAgKFdlYktpdDo6WFBDU2VydmljZUV2ZW50SGFuZGxlcik6CisgICAg
ICAgICogU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tOgorICAgICAgICAoV2ViS2l0
Ojpwcm9jZXNzU3RvcmFnZUNsYXNzKToKKyAgICAgICAgKFdlYktpdDo6c2FuZGJveERpcmVjdG9y
eSk6CisgICAgICAgIFBhcGVyd29yayBmb3IgaW50cm91ZGNpbmcgdGhlIG5ldyBXZWJBdXRobiBw
cm9jZXNzLiBNb3N0bHkgY29waWVkIGZyb20gR1BVIHByb2Nlc3MuCisKKyAgICAgICAgKiBTb3Vy
Y2VzLnR4dDoKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICBQYXBlcndvcmsg
Zm9yIGJ1aWxkaW5nIHRoZSBuZXcgV2ViQXV0aG4gcHJvY2Vzcy4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXhpbGlh
cnlQcm9jZXNzUHJveHk6OmdldExhdW5jaE9wdGlvbnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9M
YXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIv
bWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6c2VydmljZU5hbWUp
OgorICAgICAgICAoV2ViS2l0OjpzaG91bGRMZWFrQm9vc3QpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQcm94eS5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NQcm94eTo6c2luZ2xldG9uKToKKyAgICAgICAg
KFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzUHJveHk6OldlYkF1dGhuUHJvY2Vzc1Byb3h5KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzUHJveHk6OmdldExhdW5jaE9wdGlvbnMpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NQcm94eTo6Y29ubmVjdGlvbldpbGxPcGVu
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzUHJveHk6OnByb2Nlc3NXaWxsU2h1
dERvd24pOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NQcm94eTo6Z2V0V2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc1By
b3h5Ojp3ZWJBdXRoblByb2Nlc3NDcmFzaGVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Q
cm9jZXNzUHJveHk6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNz
UHJveHk6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1
dGhuUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRoblByb2Nlc3NQcm94eTo6dXBkYXRlUHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5Lmg6IEFkZGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQ
cm94eS5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmdldFdlYkF1dGhuUHJv
Y2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUHJveHk6OmdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9FbnRy
eVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8tT1NYLnBsaXN0OiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9J
bmZvLnBsaXN0LgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQ
Q1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8taU9TLnBsaXN0OiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvSW5mby5wbGlzdC4KKyAg
ICAgICAgKiBXZWJBdXRoblByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL1dlYkF1
dGhuU2VydmljZUVudHJ5UG9pbnQubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvRGFlbW9u
cy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L21haW4ubW0uCisgICAgICAgIChXZWJLaXQ6OldlYkF1
dGhuU2VydmljZUluaXRpYWxpemVyRGVsZWdhdGU6OldlYkF1dGhuU2VydmljZUluaXRpYWxpemVy
RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0Ojppbml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzczxX
ZWJBdXRoblByb2Nlc3M+KToKKyAgICAgICAgKFdFQkFVVEhFTl9TRVJWSUNFX0lOSVRJQUxJWkVS
KToKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6On5XZWJBdXRobkNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UpOgorICAgICAgICAqIFdlYkF1dGhu
UHJvY2Vzcy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDogQ29waWVkIGZyb20gU291
cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvbWFpbi5tbS4KKyAgICAg
ICAgKFdlYktpdDo6V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjb25uZWN0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzOjpXZWJBdXRo
blByb2Nlc3NQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjp3ZWJQcm9jZXNzSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogV2ViQXV0
aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjogQWRk
ZWQuCisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OldlYkF1dGhuUHJvY2Vzcyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6fldlYkF1dGhuUHJvY2Vzcyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6Y3JlYXRlV2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpyZW1vdmVXZWJB
dXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblBy
b2Nlc3M6OmNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDbG9zZWQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRoblByb2Nlc3M6OnNob3VsZFRlcm1pbmF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1
dGhuUHJvY2Vzczo6ZGlkQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6
Omxvd01lbW9yeUhhbmRsZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6Omlu
aXRpYWxpemVXZWJBdXRoblByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nl
c3M6OnByZXBhcmVUb1N1c3BlbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6
OnByb2Nlc3NEaWRSZXN1bWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OnJl
c3VtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6cHJvY2Vzc0RpZFRyYW5z
aXRpb25Ub0ZvcmVncm91bmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OnBy
b2Nlc3NEaWRUcmFuc2l0aW9uVG9CYWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0
aG5Qcm9jZXNzOjp3ZWJQcm9jZXNzQ29ubmVjdGlvbiBjb25zdCk6CisgICAgICAgICogV2ViQXV0
aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJBdXRoblBy
b2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJB
dXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDogQ29waWVk
IGZyb20gU291cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvbWFpbi5t
bS4KKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpl
bmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L0RhZW1v
bnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9tYWluLm1tLgorICAgICAgICAqIFdlYkF1dGhuUHJv
Y2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0
L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9tYWluLm1tLgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6
V2ViQXV0aG5Qcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzc05hbWUpOgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KToKKyAgICAgICAgKiBXZWJBdXRo
blByb2Nlc3MvbWFjL1dlYkF1dGhuUHJvY2Vzc01hYy5tbTogQWRkZWQuCisgICAgICAgIChXZWJL
aXQ6OldlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzTmFtZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3gpOgorICAgICAgICBQYXBlcndv
cmsgZm9yIGludHJvdWRjaW5nIHRoZSBuZXcgV2ViQXV0aG4gcHJvY2Vzcy4gTW9zdGx5IGNvcGll
ZCBmcm9tIEdQVSBwcm9jZXNzLgorCisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbjogQWRkZWQuCisgICAgICAgIFRoZSBz
YW5kYm94IHByb2ZpbGUgaXMgb3JpZ2luYWxseSBmcm9tIHRoZSBHUFUgUHJvY2VzcyB3aXRoIElP
S2l0IHJlbGF0ZWQgcnVsZXMgcmVtb3ZlZC4gV2lsbCB0aWdodGVuIGl0IGFnYWluIGFmdGVyIHRo
ZSBwcm9jZXNzIGlzIGZ1bmN0aW9uYWwgcHJvcGVybHkuCisKKyAgICAgICAgKiBXZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgUGFwZXJ3b3JrIGZvciBidWlsZGluZyB0
aGUgbmV3IFdlYkF1dGhuIHByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9tYWluLm1tLgorICAgICAg
ICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6fldl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uOjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmg6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9tYWlu
Lm1tLgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpjcmVhdGUp
OgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpjb25uZWN0aW9u
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
QXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8uaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvOjppZGVudGlmaWVy
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm86
OnJlbGVhc2VJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbkluZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJv
Y2Vzc0Nvbm5lY3Rpb25JbmZvOjpkZWNvZGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OmdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjplbnN1cmVXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6d2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbkNsb3NlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmV4aXN0aW5nV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlv
bik6CisgICAgICAgIFBhcGVyd29yayBmb3IgaW50cm91ZGNpbmcgdGhlIG5ldyBXZWJBdXRobiBw
cm9jZXNzLiBNb3N0bHkgY29waWVkIGZyb20gR1BVIHByb2Nlc3MuCisKIDIwMjAtMTAtMDkgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVSBQcm9j
ZXNzXSBBZGQgYWRkaXRpb25hbCBzdXBwb3J0IGZvciBwYWludGluZyB2aWRlbyBlbGVtZW50cyB0
byAyRCBjb250ZXh0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxp
emFibGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmlu
Z3MKaW5kZXggZmE0ZDMyY2NmNzI3MGEzNjZhMDZhZGZlZGE4OGFlN2RjYzNlNjlmZS4uNGEzNWFi
ZDgyODI1ZDZlN2VkMzE4OWRlNDA1Y2JmMTQ4NzU5NzIzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncworKysgYi9Tb3VyY2UvV2ViQ29yZS9l
bi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC00Niw2ICs0Niw5IEBACiAvKiBWaXNpYmxl
IG5hbWUgb2YgU2VydmljZSBXb3JrZXIgcHJvY2Vzcy4gVGhlIGFyZ3VtZW50IGlzIHRoZSBhcHBs
aWNhdGlvbiBuYW1lLiAqLwogIiVAIFNlcnZpY2UgV29ya2VyICglQCkiID0gIiVAIFNlcnZpY2Ug
V29ya2VyICglQCkiOwogCisvKiB2aXNpYmxlIG5hbWUgb2YgdGhlIEdQVSBwcm9jZXNzLiBUaGUg
YXJndW1lbnQgaXMgdGhlIGFwcGxpY2F0aW9uIG5hbWUuICovCisiJUAgV2ViIEF1dGhlbnRpY2F0
aW9uIiA9ICIlQCBXZWIgQXV0aGVudGljYXRpb24iOworCiAvKiBWaXNpYmxlIG5hbWUgb2YgdGhl
IHdlYiBwcm9jZXNzLiBUaGUgYXJndW1lbnQgaXMgdGhlIGFwcGxpY2F0aW9uIG5hbWUuICovCiAi
JUAgV2ViIENvbnRlbnQiID0gIiVAIFdlYiBDb250ZW50IjsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5k
ZXggMzI3MzliMzAxNzdlOTBkNDdlMTYyNTljNWExY2E2NmU1OTM1ZjdhOS4uNjljMDUzZDJmYzky
MzFkMmMzODc1NzFiZjE1NjM4NDM4MTkxMmViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC03MSw2
ICs3MSw3IEBAIHNldChXZWJLaXRfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVF9E
SVJ9L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbiIKICAgICAiJHtXRUJLSVRfRElSfS9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jayIKICAgICAiJHtXRUJLSVRfRElSfS9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEiCisgICAgIiR7V0VCS0lUX0RJUn0vV2ViQXV0aG5Qcm9jZXNzIgogICAg
ICIke1dFQktJVF9ESVJ9L1dlYlByb2Nlc3MiCiAgICAgIiR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vz
cy9BcHBsZVBheSIKICAgICAiJHtXRUJLSVRfRElSfS9XZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2Fj
aGUiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkF1dGhlbnRp
Y2F0aW9uQWdlbnQueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkF1
dGhlbnRpY2F0aW9uQWdlbnQueGNjb25maWcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGMwNTA1NWMxOTFkN2Y3ZjI4NTNkOTY1YjkwZTdhN2VhMzk3NzA1YTYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0
aW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50LnhjY29uZmlnCisrKyAvZGV2L251bGwKQEAgLTEs
MzcgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vCi0vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLS8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotLy8gYXJlIG1ldDoKLS8v
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0vLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0vLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotLy8gICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
Ly8gICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLS8vCi0vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLS8vIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0vLyBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLS8v
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0vLyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLS8vIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLS8vIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotLy8gUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotLy8gT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0vLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLS8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLSNpbmNsdWRl
ICJCYXNlWFBDU2VydmljZS54Y2NvbmZpZyIKLQotUFJPRFVDVF9OQU1FID0gY29tLmFwcGxlLldl
YktpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50OwotUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9
ICQoUFJPRFVDVF9OQU1FKTsKLUlORk9QTElTVF9GSUxFID0gRGFlbW9ucy9XZWJBdXRoZW50aWNh
dGlvbkFnZW50L0luZm8ucGxpc3Q7Ci0KLU9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgJChP
VEhFUl9MREZMQUdTX1ZFUlNJT05FRF9GUkFNRVdPUktfUEFUSCkgJChXS19SRUxPQ0FUQUJMRV9G
UkFNRVdPUktTX0xERkxBR1MpOwotCi1FTlRJVExFTUVOVFNfUkVRVUlSRUQgPSAkKEVOVElUTEVN
RU5UU19SRVFVSVJFRF9VU0VfSU5URVJOQUxfU0RLXyQoVVNFX0lOVEVSTkFMX1NESykpCi1FTlRJ
VExFTUVOVFNfUkVRVUlSRURfVVNFX0lOVEVSTkFMX1NES18gPSBOTzsKLUVOVElUTEVNRU5UU19S
RVFVSVJFRF9VU0VfSU5URVJOQUxfU0RLX05PID0gTk87Ci1FTlRJVExFTUVOVFNfUkVRVUlSRURf
VVNFX0lOVEVSTkFMX1NES19ZRVMgPSAkKEVOVElUTEVNRU5UU19SRVFVSVJFRCk7Ci0KLUNPREVf
U0lHTl9FTlRJVExFTUVOVFMgPSBEYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvV2ViQXV0
aGVudGljYXRpb25BZ2VudC5lbnRpdGxlbWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NvbmZpZ3VyYXRpb25zL1dlYkF1dGhuU2VydmljZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQv
Q29uZmlndXJhdGlvbnMvV2ViQXV0aG5TZXJ2aWNlLnhjY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhYzM2
MzNmM2Q2NGUyY2ZkYWE5NTNmNzI5NDBmYTc5ZWEzMGYwOWMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkF1dGhuU2VydmljZS54Y2NvbmZpZwpAQCAt
MCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisvLyBhcmUgbWV0Ogor
Ly8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorLy8gRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy8vIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
Ly8gUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKy8vIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorLy8gRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorLy8gUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisvLyBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisvLyBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKy8vIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2luY2x1
ZGUgIkJhc2VYUENTZXJ2aWNlLnhjY29uZmlnIgorCitQUk9EVUNUX05BTUUgPSBjb20uYXBwbGUu
V2ViS2l0LldlYkF1dGhuOworUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9ICQoUFJPRFVDVF9O
QU1FKTsKK0lORk9QTElTVF9GSUxFW3Nkaz1lbWJlZGRlZCpdID0gV2ViQXV0aG5Qcm9jZXNzL0Vu
dHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9XZWJBdXRoblNlcnZpY2UvSW5mby1pT1MucGxpc3Q7
CitJTkZPUExJU1RfRklMRVtzZGs9bWFjb3N4Kl0gPSBXZWJBdXRoblByb2Nlc3MvRW50cnlQb2lu
dC9Db2NvYS9YUENTZXJ2aWNlL1dlYkF1dGhuU2VydmljZS9JbmZvLU9TWC5wbGlzdDsKKworT1RI
RVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKE9USEVSX0xERkxBR1NfVkVSU0lPTkVEX0ZSQU1F
V09SS19QQVRIKSAkKFdLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS1NfTERGTEFHUyk7CisKK0VOVElU
TEVNRU5UU19SRVFVSVJFRCA9ICQoRU5USVRMRU1FTlRTX1JFUVVJUkVEX1VTRV9JTlRFUk5BTF9T
REtfJChVU0VfSU5URVJOQUxfU0RLKSkKK0VOVElUTEVNRU5UU19SRVFVSVJFRF9VU0VfSU5URVJO
QUxfU0RLXyA9IE5POworRU5USVRMRU1FTlRTX1JFUVVJUkVEX1VTRV9JTlRFUk5BTF9TREtfTk8g
PSBOTzsKK0VOVElUTEVNRU5UU19SRVFVSVJFRF9VU0VfSU5URVJOQUxfU0RLX1lFUyA9ICQoRU5U
SVRMRU1FTlRTX1JFUVVJUkVEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJh
dGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKaW5kZXggY2U3MTg1OWRkYTkwNTRhZGZjMDQ1NTg0MDdmMTY0ZTM3ZTM2ZmY3
Yi4uZjM5MTA0YTI3MTI5NDg0MmYzNjk2MWE0NWVmYTA0NGJkYTc2YWJmZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNl
L1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKQEAgLTE1Miw3ICsxNTIsNyBA
QCBTRUNUT1JERVJfRkxBR1NfUHJvZHVjdGlvbltzZGs9aXBob25lb3MqXSA9IC1XbCwtb3JkZXJf
ZmlsZSwkKFNES1JPT1QpL0FwcGxlSW50ZQogU0VDVE9SREVSX0ZMQUdTX1Byb2R1Y3Rpb25bc2Rr
PW1hY29zeCpdID0gLVdsLC1vcmRlcl9maWxlLG1hYy9XZWJLaXQyLm9yZGVyOwogCiBFWENMVURF
RF9TT1VSQ0VfRklMRV9OQU1FUyA9IFJlc291cmNlcy9pb3MvKjsKLUVYQ0xVREVEX1NPVVJDRV9G
SUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IFBsdWdpblByb2Nlc3NTaGltLmR5bGliIFNlY0l0ZW1T
aGltLmR5bGliIFdlYlByb2Nlc3NTaGltLmR5bGliICoucGRmIFJlc291cmNlcy9tYWMvKiBjb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vz
cy5zYiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiBjb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21t
b24uc2IgUGx1Z0luU2FuZGJveFByb2ZpbGVzLyouc2I7CitFWENMVURFRF9TT1VSQ0VfRklMRV9O
QU1FU1tzZGs9aXBob25lKl0gPSBQbHVnaW5Qcm9jZXNzU2hpbS5keWxpYiBTZWNJdGVtU2hpbS5k
eWxpYiBXZWJQcm9jZXNzU2hpbS5keWxpYiAqLnBkZiBSZXNvdXJjZXMvbWFjLyogY29tLmFwcGxl
LldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBjb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2Ig
Y29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IgY29tLmFwcGxlLldlYlByb2Nlc3Mu
c2IgY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiIFBsdWdJblNhbmRib3hQcm9maWxl
cy8qLnNiOwogCiBJTlNUQUxMSERSU19TQ1JJUFRfUEhBU0UgPSBZRVM7CiBBUFBMWV9SVUxFU19J
Tl9DT1BZX0hFQURFUlMgPSAkKFdLX1VTRV9ORVdfQlVJTERfU1lTVEVNKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L0luZm8ucGxpc3Qg
Yi9Tb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9JbmZvLnBsaXN0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDQ4NDQ4NzdhMDhkNmZlYzYwODViOTky
N2ZjMTg3YmMyMTFhZDg4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L0luZm8u
cGxpc3QKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAi
IGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RU
RCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt
MS4wLmR0ZCI+Ci08cGxpc3QgdmVyc2lvbj0iMS4wIj4KLTxkaWN0PgotCTxrZXk+Q0ZCdW5kbGVH
ZXRJbmZvU3RyaW5nPC9rZXk+Ci0JPHN0cmluZz4ke0JVTkRMRV9WRVJTSU9OfSwgQ29weXJpZ2h0
IDIwMDMtMjAyMCBBcHBsZSBJbmMuPC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZURldmVsb3BtZW50
UmVnaW9uPC9rZXk+Ci0JPHN0cmluZz5FbmdsaXNoPC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUV4
ZWN1dGFibGU8L2tleT4KLQk8c3RyaW5nPiR7RVhFQ1VUQUJMRV9OQU1FfTwvc3RyaW5nPgotCTxr
ZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+Ci0JPHN0cmluZz4ke1BST0RVQ1RfQlVORExFX0lE
RU5USUZJRVJ9PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwv
a2V5PgotCTxzdHJpbmc+Ni4wPC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZU5hbWU8L2tleT4KLQk8
c3RyaW5nPiR7UFJPRFVDVF9OQU1FfTwvc3RyaW5nPgotCTxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlw
ZTwva2V5PgotCTxzdHJpbmc+QVBQTDwvc3RyaW5nPgotCTxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNp
b25TdHJpbmc8L2tleT4KLQk8c3RyaW5nPiR7U0hPUlRfVkVSU0lPTl9TVFJJTkd9PC9zdHJpbmc+
Ci0JPGtleT5DRkJ1bmRsZVNpZ25hdHVyZTwva2V5PgotCTxzdHJpbmc+Pz8/Pzwvc3RyaW5nPgot
CTxrZXk+Q0ZCdW5kbGVWZXJzaW9uPC9rZXk+Ci0JPHN0cmluZz4ke0JVTkRMRV9WRVJTSU9OfTwv
c3RyaW5nPgotCTxrZXk+TFNGaWxlUXVhcmFudGluZUVuYWJsZWQ8L2tleT4KLQk8dHJ1ZS8+Ci0J
PGtleT5MU0JhY2tncm91bmRPbmx5PC9rZXk+Ci0JPHRydWUvPgotCTxrZXk+TlNQcmluY2lwYWxD
bGFzczwva2V5PgotCTxzdHJpbmc+TlNBcHBsaWNhdGlvbjwvc3RyaW5nPgotCTxrZXk+TFNVSUVs
ZW1lbnQ8L2tleT4KLQk8dHJ1ZS8+Ci08L2RpY3Q+Ci08L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvV2ViQXV0aGVudGljYXRp
b25BZ2VudC5lbnRpdGxlbWVudHMgYi9Tb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGlj
YXRpb25BZ2VudC9XZWJBdXRoZW50aWNhdGlvbkFnZW50LmVudGl0bGVtZW50cwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGM2NzM3NmViYWNiNDEwZmQ4NzNjYWMxZDhkOGRkNDMxYjI2
MmMwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9XZWJBdXRoZW50aWNhdGlv
bkFnZW50LmVudGl0bGVtZW50cworKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBwbGlzdCBQVUJMSUMg
Ii0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMv
UHJvcGVydHlMaXN0LTEuMC5kdGQiPgotPHBsaXN0IHZlcnNpb249IjEuMCI+Ci08ZGljdC8+Ci08
L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0
aW9uQWdlbnQvY29tLmFwcGxlLndlYmtpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50LnBsaXN0IGIv
U291cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvY29tLmFwcGxlLndl
YmtpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50LnBsaXN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2OGI5YWM5ZmZkMmU3MDliMzc3ZTE2YjkyZGY1YWQ3M2U5MzFkMDBmLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvRGFl
bW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L2NvbS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGlj
YXRpb25BZ2VudC5wbGlzdAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElDICIt
Ly9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1By
b3BlcnR5TGlzdC0xLjAuZHRkIj4KLTxwbGlzdCB2ZXJzaW9uPSIxLjAiPgotPGRpY3Q+Ci0JPGtl
eT5FbmFibGVQcmVzc3VyZWRFeGl0PC9rZXk+Ci0JPHRydWUvPgotCTxrZXk+S2VlcEFsaXZlPC9r
ZXk+Ci0JPGZhbHNlLz4KLQk8a2V5PkxhYmVsPC9rZXk+Ci0JPHN0cmluZz5jb20uYXBwbGUud2Vi
a2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQ8L3N0cmluZz4KLQk8a2V5Pk1hY2hTZXJ2aWNlczwv
a2V5PgotCTxkaWN0PgotCQk8a2V5PmNvbS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGljYXRpb25B
Z2VudDwva2V5PgotCQk8dHJ1ZS8+Ci0JPC9kaWN0PgotCTxrZXk+UHJvZ3JhbTwva2V5PgotCTxz
dHJpbmc+L1VzZXJzL2p3dGFuL0RvY3VtZW50cy9CdWlsZC9Qcm9kdWN0cy9EZWJ1Zy9jb20uYXBw
bGUuV2ViS2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQuRGV2ZWxvcG1lbnQ8L3N0cmluZz4KLTwv
ZGljdD4KLTwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0
aGVudGljYXRpb25BZ2VudC9tYWluLm1tIGIvU291cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhl
bnRpY2F0aW9uQWdlbnQvbWFpbi5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNj
ZTQ3YzgzOWNiM2RjMGM3NWU1NWI3OGJlMDU0MWIyOGIzM2I3YS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0
aGVudGljYXRpb25BZ2VudC9tYWluLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotCi1pbnQgbWFpbihpbnQgYXJnYywgY29u
c3QgY2hhciogYXJndltdKQotewotICAgIEBhdXRvcmVsZWFzZXBvb2wgewotICAgICAgICBXVEZM
b2dBbHdheXMoImNvbS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGljYXRpb25BZ2VudCBzdGFydGVk
LiIpOwotICAgIH0KLQotICAgIFtbTlNSdW5Mb29wIG1haW5SdW5Mb29wXSBydW5dOwotCi0gICAg
cmV0dXJuIDA7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNTJjMTMwYjRmODMzMzNiYjZlZGQ3ODRhYmJjYThhN2NkMDU3NTNjMy4uMTQ1
NzNmZjFiNmQxMjRhMDcwYTMzMWE2MmRjYWE2NWI3ZTMwYjllOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJL
aXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTA0LDYgKzEwNCw3IEBAICQo
UFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xs
ZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL1ZpZXdHZXN0dXJl
Q29udHJvbGxlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL1Zpc2l0ZWRM
aW5rU3RvcmUubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgorJChQ
Uk9KRUNUX0RJUikvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdl
clByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL1dlYkdl
b2xvY2F0aW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTUsNiArMTE2LDkgQEAgJChQ
Uk9KRUNUX0RJUikvVUlQcm9jZXNzL2lvcy9FZGl0YWJsZUltYWdlQ29udHJvbGxlci5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250
cm9sbGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvaW9zL1dlYkRldmlj
ZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJ
UikvVUlQcm9jZXNzL21hYy9TZWNJdGVtU2hpbVByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1Rf
RElSKS9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLm1l
c3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0Fw
cGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikv
V2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuanMKICQoUFJP
SkVDVF9ESVIpL1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5
Lm1lc3NhZ2VzLmluCkBAIC0xNTMsNiArMTU3LDcgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJ
UikvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250
ZW50Q29udHJvbGxlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IubWVzc2FnZXMuaW4KKyQo
UFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLm1lc3NhZ2VzLmluCiAk
KFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvVGV4dENoZWNraW5nQ29udHJv
bGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2Vz
LW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDU2ODJiZWNhMjc2ZGE3ZWQ3NzQ2ZGVlMzY5MGZmYTM2
ZjU1NzkxN2MuLjA4YzQ1ZjFiYWY0ZWI3YmIwODJiMWNjYmZkNDQ2YjI2Nzk4NWNiZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysr
IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjg4
LDYgKzI4OCwxOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlcwogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhlbnRpY2F0
b3JDb29yZGluYXRvclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01l
c3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhuQ29ubmVjdGlvblRv
V2ViUHJvY2Vzc01lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVy
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlc1JlcGxp
ZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0
aG5Qcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZXMuaAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZXNS
ZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aG5Qcm9jZXNzUHJveHlNZXNzYWdlcy5o
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRoblBy
b2Nlc3NQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRvbWF0aW9uU2Vzc2lvbk1lc3NhZ2VSZWNlaXZlci5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dG9tYXRp
b25TZXNzaW9uTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViQXV0b21hdGlvblNlc3Npb25NZXNzYWdlc1JlcGxpZXMuaApAQCAtNDIwLDUg
KzQzMiw2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5TWVzc2FnCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eU1lc3Nh
Z2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2NvbS5hcHBsZS5XZWJQcm9jZXNz
LnNiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjc0NThiNjNiOThjZGMzM2E0YjQ3
NTcyM2M2Nzg5OTEyYTJlYmY0Yy4uNjNjZTM5ZDdlNTYyZDc3NjcxZjljYTI1Y2E2MTI1YmNjZjcz
MzM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDUsNiArNDUsOCBAQCBWUEFU
SCA9IFwKICAgICAkKFdlYktpdDIpL1NoYXJlZC9BcHBsZVBheSBcCiAgICAgJChXZWJLaXQyKS9T
aGFyZWQvQXV0aGVudGljYXRpb24gXAogICAgICQoV2ViS2l0MikvU2hhcmVkL21hYyBcCisgICAg
JChXZWJLaXQyKS9XZWJBdXRoblByb2Nlc3MgXAorICAgICQoV2ViS2l0MikvV2ViQXV0aG5Qcm9j
ZXNzL21hYyBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL0FwcGxlUGF5IFwKICAgICAkKFdl
YktpdDIpL1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZSBcCiAgICAgJChXZWJLaXQyKS9XZWJQ
cm9jZXNzL0F1dG9tYXRpb24gXApAQCAtMTQwLDYgKzE0Miw3IEBAIE1FU1NBR0VfUkVDRUlWRVJT
ID0gXAogCVVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eSBcCiAJVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkgXAogCVVJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eSBcCisJVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5IFwKIAlVSVByb2Nl
c3MvV2ViUGFzdGVib2FyZFByb3h5IFwKIAlVSVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNv
bnRlbnRDb250cm9sbGVyUHJveHkgXAogCVVJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9y
UHJveHkgXApAQCAtMjEzLDYgKzIxNiw3IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogCVdlYlBy
b2Nlc3MvV2ViUGFnZS9WaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlciBcCiAJV2ViUHJvY2Vzcy9X
ZWJQYWdlL0NvY29hL1RleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94eSBcCiAJV2ViUHJvY2Vzcy9X
ZWJQYWdlL1ZpZXdVcGRhdGVEaXNwYXRjaGVyIFwKKwlXZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24gXAogCVBsdWdpblByb2Nlc3MvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb24gXAogCVBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5IFwKIAlQ
bHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MgXApAQCAtMjM5LDYgKzI0Myw4IEBAIE1FU1NBR0Vf
UkVDRUlWRVJTID0gXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkgXAog
CUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkgXAogCUdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIgXAorCVdlYkF1dGhuUHJv
Y2Vzcy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgXAorCVdlYkF1dGhuUHJvY2Vzcy9X
ZWJBdXRoblByb2Nlc3MgXAogIwogCiBHRU5FUkFURV9NRVNTQUdFX1JFQ0VJVkVSX1NDUklQVCA9
ICQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlLXJlY2VpdmVyLnB5CkBAIC0yODQs
NyArMjkwLDggQEAgU0FOREJPWF9QUk9GSUxFUyA9IFwKIAljb20uYXBwbGUuV2ViUHJvY2Vzcy5z
YiBcCiAJY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiIFwKIAljb20uYXBwbGUuV2Vi
S2l0Lk5ldHdvcmtQcm9jZXNzLnNiIFwKLQljb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IK
Kwljb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IgXAorCWNvbS5hcHBsZS5XZWJLaXQuV2Vi
QXV0aG5Qcm9jZXNzLnNiCiAKIGFsbCA6ICQoU0FOREJPWF9QUk9GSUxFUykKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9FeHRyYVByaXZhdGVTeW1ib2xzRm9yVEFQSS5oIGIv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9FeHRyYVByaXZhdGVTeW1ib2xzRm9yVEFQSS5oCmluZGV4
IGM2NzgzYTQ2ODgyOTdhYjIzMmU4MjUxZDVkOGIwOTViOTY0NDYzYTguLmZiN2FjMGJjNGMxY2M4
OTAzYmE5MjU0YzE0MjMxZDM2NjlkZDQyOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vRXh0cmFQcml2YXRlU3ltYm9sc0ZvclRBUEkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0V4dHJhUHJpdmF0ZVN5bWJvbHNGb3JUQVBJLmgKQEAgLTM0LDYgKzM0LDcgQEAgdm9p
ZCBOZXR3b3JrU2VydmljZUluaXRpYWxpemVyKCk7CiB2b2lkIFBsdWdpblNlcnZpY2VJbml0aWFs
aXplcigpOwogdm9pZCBXZWJDb250ZW50U2VydmljZUluaXRpYWxpemVyKCk7CiB2b2lkIEdQVVNl
cnZpY2VJbml0aWFsaXplcigpOwordm9pZCBXZWJBdXRoblNlcnZpY2VJbml0aWFsaXplcigpOwog
CiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0F1eGlsaWFyeVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nl
c3MuaAppbmRleCBlODYyOGJlMTJjNmE5ZjA3N2RjNzdmZDdlNDQ3ZTE2MjBmN2U1YjQ5Li43YmEy
MDdhYmIwYWNjYzhhNTcwZjVjNjYzZjQ2Y2FhMjRhODI2ZDkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDksNyArNDksMTAgQEAgcHVibGljOgogICAgICAg
ICBOZXR3b3JrLAogICAgICAgICBQbHVnaW4sCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotICAg
ICAgICBHUFUKKyAgICAgICAgR1BVLAorI2VuZGlmCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKyAg
ICAgICAgV2ViQXV0aG4KICNlbmRpZgogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNl
RW50cnlQb2ludC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9D
b2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50LmgKaW5kZXggODNlMDVkYzk0MjU4
NjlhYWE5OTI4YzM5YWUzMDE3ZTE0NWEyNTZkMS4uMzMyNWRiMWIwZWRkMGRhOTIzYjk0Yzc1MTky
YjQyMzg5NGY4Mzg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2lu
dFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNl
L1hQQ1NlcnZpY2VFbnRyeVBvaW50LmgKQEAgLTQyLDYgKzQyLDcgQEAgZXh0ZXJuICJDIiBPU19O
T1RIUk9XIHZvaWQgdm91Y2hlcl9yZXBsYWNlX2RlZmF1bHRfdm91Y2hlcih2b2lkKTsKICNkZWZp
bmUgTkVUV09SS19TRVJWSUNFX0lOSVRJQUxJWkVSIE5ldHdvcmtTZXJ2aWNlSW5pdGlhbGl6ZXIK
ICNkZWZpbmUgUExVR0lOX1NFUlZJQ0VfSU5JVElBTElaRVIgUGx1Z2luU2VydmljZUluaXRpYWxp
emVyCiAjZGVmaW5lIEdQVV9TRVJWSUNFX0lOSVRJQUxJWkVSIEdQVVNlcnZpY2VJbml0aWFsaXpl
cgorI2RlZmluZSBXRUJBVVRITl9TRVJWSUNFX0lOSVRJQUxJWkVSIFdlYkF1dGhuU2VydmljZUlu
aXRpYWxpemVyCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2Vydmlj
ZU1haW4ubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29h
L1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0KaW5kZXggOTNiN2Y0NTIxODYwZjgyYjdlNzQy
NmY3NTcxNDIxZWYyMWE0MzBhOS4uN2U5ODQ5NzRiOGFhNzZlMTk5ZTFhODNjOGZkOTc0NDBiNzYz
NDdlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGll
cy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFp
bi5tbQpAQCAtNzAsNiArNzAsOCBAQCBzdGF0aWMgdm9pZCBYUENTZXJ2aWNlRXZlbnRIYW5kbGVy
KHhwY19jb25uZWN0aW9uX3QgcGVlcikKICAgICAgICAgICAgICAgICAgICAgZW50cnlQb2ludEZ1
bmN0aW9uTmFtZSA9IENGU1RSKFNUUklOR0laRV9WQUxVRV9PRihQTFVHSU5fU0VSVklDRV9JTklU
SUFMSVpFUikpOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoc2VydmljZU5hbWUs
ICJjb20uYXBwbGUuV2ViS2l0LkdQVSIpKQogICAgICAgICAgICAgICAgICAgICBlbnRyeVBvaW50
RnVuY3Rpb25OYW1lID0gQ0ZTVFIoU1RSSU5HSVpFX1ZBTFVFX09GKEdQVV9TRVJWSUNFX0lOSVRJ
QUxJWkVSKSk7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChzZXJ2aWNlTmFtZSwg
ImNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4iKSkKKyAgICAgICAgICAgICAgICAgICAgZW50cnlQ
b2ludEZ1bmN0aW9uTmFtZSA9IENGU1RSKFNUUklOR0laRV9WQUxVRV9PRihXRUJBVVRITl9TRVJW
SUNFX0lOSVRJQUxJWkVSKSk7CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCmluZGV4IGYzM2NlN2M5ODY1NDA5ZGRh
Zjk1OTdlZDRlNTMxMTY1MDYxMWU1N2MuLjIyYzBiMTg5YWFmYzY5NDA1MDgzYzM2MDA0YjRkNGRl
NGYzYmJmZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQ
cm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9j
ZXNzTWFjLm1tCkBAIC0yMzAsNiArMjMwLDEwIEBAIGNvbnN0ZXhwciBjb25zdCBjaGFyKiBwcm9j
ZXNzU3RvcmFnZUNsYXNzKEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlIHR5cGUpCiAjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQogICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5
cGU6OkdQVToKICAgICAgICAgcmV0dXJuICJXZWJLaXRHUFVTYW5kYm94IjsKKyNlbmRpZgorI2lm
IEVOQUJMRShXRUJfQVVUSE4pCisgICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlw
ZTo6V2ViQXV0aG46CisgICAgICAgIHJldHVybiAiV2ViS2l0V2ViQXV0aG5TYW5kYm94IjsKICNl
bmRpZgogICAgIH0KIH0KQEAgLTI5Miw2ICsyOTYsMTEgQEAgc3RhdGljIFN0cmluZyBzYW5kYm94
RGlyZWN0b3J5KEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlLCBjb25z
dAogICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OkdQVToKICAgICAgICAg
ZGlyZWN0b3J5LmFwcGVuZCgiL2NvbS5hcHBsZS5XZWJLaXQuR1BVLlNhbmRib3giKTsKICAgICAg
ICAgYnJlYWs7CisjZW5kaWYKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorICAgIGNhc2UgQXV4aWxp
YXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OldlYkF1dGhuOgorICAgICAgICBkaXJlY3RvcnkuYXBw
ZW5kKCIvY29tLmFwcGxlLldlYktpdC5XZWJBdXRobi5TYW5kYm94Iik7CisgICAgICAgIGJyZWFr
OwogI2VuZGlmCiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCBkYWY1ZmI3MzEzYmRkOTgwNjhkZWRk
MzljYmFjNGRmYmU5Mzc3Y2E4Li42MzE0NWFmYjVmOTE0NzBjZWNlYmQyY2I2MDljN2IyMWZlYzc2
NWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJLaXQvU291cmNlcy50eHQKQEAgLTQ3MiwxMiArNDcyLDE3IEBAIFVJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yVHJhbnNwb3J0U2VydmljZS5jcHAKIFVJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yLmNwcAogVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmNwcAogVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEuY3BwCitVSVByb2Nl
c3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzUHJveHkuY3BwCiAKIFVJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xs
ZXIuY3BwCiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFSZWNvcmQuY3BwCiBVSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKIFVJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHAKIAorV2ViQXV0aG5Qcm9jZXNz
L1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKK1dlYkF1dGhuUHJvY2Vzcy9XZWJB
dXRoblByb2Nlc3MuY3BwCitXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAorCiBXZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHAK
IFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKIFdlYlByb2Nlc3MvV2ViU2xlZXBEaXNhYmxlckNs
aWVudC5jcHAKQEAgLTYyNiw2ICs2MzEsNyBAQCBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2Vydmlj
ZVdvcmtlclByb3ZpZGVyLmNwcAogV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVu
dENvbnRyb2xsZXIuY3BwCiAKIFdlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yLmNwcAorV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uLmNwcAogCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1Nl
c3Npb25TdGF0ZUNvbnZlcnNpb24uY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCA3NzY5MGQwZGQ1MjcyYTA1
ZTJhNzg0MjIyMThhMzViNDIyYjU3NTVhLi4yMWFlMjVlMTg3MTliMzJlMWM5NWM3MzU2NDJlMDg0
YzE2MGJlYTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysr
IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC01NDgsNiArNTQ4LDEwIEBAIFVJ
UHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tOZmNTZXJ2aWNlLm1tCiAKIFVJUHJv
Y2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KIAorV2ViQXV0
aG5Qcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9XZWJBdXRoblNlcnZpY2VFbnRy
eVBvaW50Lm1tCitXZWJBdXRoblByb2Nlc3MvaW9zL1dlYkF1dGhuUHJvY2Vzc0lPUy5tbQorV2Vi
QXV0aG5Qcm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW0KKwogV2ViUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJQcm9jZXNzLmNwcAogCiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGls
aWFyeVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQ
cm9jZXNzUHJveHkuY3BwCmluZGV4IGQxYWM3ZDk5MGZhMjQwZjk5YmYyNWNkZmM2MGE5NDExMzk0
YjRkNDcuLmQ0NTZlMDU5NGYzNGRmNmQyNzRkYTcyZDYzY2IyYWY1YjA2ZmVkNTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmNwcApAQCAt
ODMsNiArODMsMTEgQEAgdm9pZCBBdXhpbGlhcnlQcm9jZXNzUHJveHk6OmdldExhdW5jaE9wdGlv
bnMoUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXUKICAgICBjYXNlIFByb2Nlc3NM
YXVuY2hlcjo6UHJvY2Vzc1R5cGU6OkdQVToKICAgICAgICAgdmFybmFtZSA9ICJHUFVfUFJPQ0VT
U19DTURfUFJFRklYIjsKICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNpZiBFTkFCTEUoV0VCX0FV
VEhOKQorICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6V2ViQXV0aG46Cisg
ICAgICAgIHZhcm5hbWUgPSAiV0VCQVVUSE5fUFJPQ0VTU19DTURfUFJFRklYIjsKKyAgICAgICAg
YnJlYWs7CiAjZW5kaWYKICAgICB9CiAgICAgY29uc3QgY2hhciogcHJvY2Vzc0NtZFByZWZpeCA9
IGdldGVudih2YXJuYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xh
dW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNo
ZXIvUHJvY2Vzc0xhdW5jaGVyLmgKaW5kZXggZWUyYjA3ZTY2Y2UyZjMwZWU5MTEyMjUxOWRmNzQx
NjIxMGU4ODYzNy4uNzAyNzFiNzQ5MDczMThmYWJjNDUyN2I0MzVjNzUxY2M0ZTYxMzI2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVy
LmgKQEAgLTczLDcgKzczLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgICAgICBOZXR3b3JrLAog
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLSAgICAgICAgR1BVCisgICAgICAgIEdQVSwKKyNlbmRp
ZgorI2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgICAgIFdlYkF1dGhuCiAjZW5kaWYKICAgICB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJv
Y2Vzc0xhdW5jaGVyTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvbWFj
L1Byb2Nlc3NMYXVuY2hlck1hYy5tbQppbmRleCAyOGEzMzdjYTJhMjg0ZTk2YmIyOGI4ZGQ3ZDAw
NGUyYTI5OWNhN2RjLi41NDQwODFiMzRkYWZkZTMwNTgzMTI4ZWI0Nzg3ODc3YjQ1MGZjNWJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vzc0xh
dW5jaGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Q
cm9jZXNzTGF1bmNoZXJNYWMubW0KQEAgLTYwLDYgKzYwLDEwIEBAIHN0YXRpYyBjb25zdCBjaGFy
KiBzZXJ2aWNlTmFtZShjb25zdCBQcm9jZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmIGxhdW5j
aE9wdGlvCiAgICAgY2FzZSBQcm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpHUFU6CiAgICAg
ICAgIHJldHVybiAiY29tLmFwcGxlLldlYktpdC5HUFUiOwogI2VuZGlmCisjaWYgRU5BQkxFKFdF
Ql9BVVRITikKKyAgICBjYXNlIFByb2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6OldlYkF1dGhu
OgorICAgICAgICByZXR1cm4gImNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4iOworI2VuZGlmCiAj
aWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgY2FzZSBQcm9jZXNzTGF1bmNoZXI6
OlByb2Nlc3NUeXBlOjpQbHVnaW46CiAgICAgICAgIHJldHVybiAiY29tLmFwcGxlLldlYktpdC5Q
bHVnaW4uNjQiOwpAQCAtNzQsMTAgKzc4LDE0IEBAIHN0YXRpYyBib29sIHNob3VsZExlYWtCb29z
dChjb25zdCBQcm9jZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmIGxhdW5jaE9wdGlvbnMpCiAg
ICAgVU5VU0VEX1BBUkFNKGxhdW5jaE9wdGlvbnMpOwogICAgIHJldHVybiB0cnVlOwogI2Vsc2UK
LSAgICAvLyBPbiBNYWMsIGxlYWsgYSBib29zdCBvbnRvIHRoZSBOZXR3b3JrUHJvY2VzcyBhbmQg
R1BVUHJvY2Vzcy4KKyAgICAvLyBPbiBNYWMsIGxlYWsgYSBib29zdCBvbnRvIHRoZSBOZXR3b3Jr
UHJvY2VzcywgR1BVUHJvY2VzcyBhbmQgV2ViQXV0aG5Qcm9jZXNzLgogI2lmIEVOQUJMRShHUFVf
UFJPQ0VTUykKICAgICBpZiAobGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBQcm9jZXNzTGF1
bmNoZXI6OlByb2Nlc3NUeXBlOjpHUFUpCiAgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCisj
aWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICBpZiAobGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9
PSBQcm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpXZWJBdXRobikKKyAgICAgICAgcmV0dXJu
IHRydWU7CiAjZW5kaWYKICAgICByZXR1cm4gbGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBQ
cm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpOZXR3b3JrOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nl
c3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9X
ZWJBdXRoblByb2Nlc3NQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTEzMzMyYmJjMDZhNTM0ZWQ4YWM2
MGE1M2YyNjYwMmQwMjZmMzMxOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5LmNwcApAQCAtMCww
ICsxLDE4OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJX
ZWJBdXRoblByb2Nlc3NQcm94eS5oIgorCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKworI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5o
IgorI2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1
ZGUgIldlYkF1dGhuUHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Qcm9jZXNz
UHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgorI2luY2x1ZGUg
IldlYlBhZ2VQcm94eS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1
ZGUgIldlYlByb2Nlc3NQb29sLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCisjaW5j
bHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrcy5oPgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5o
PgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9Y
UENTUEkuaD4KKyNlbmRpZgorCisjZGVmaW5lIE1FU1NBR0VfQ0hFQ0soYXNzZXJ0aW9uKSBNRVNT
QUdFX0NIRUNLX0JBU0UoYXNzZXJ0aW9uLCB0aGlzLT5jb25uZWN0aW9uKCkpCisKK25hbWVzcGFj
ZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1dlYkF1dGhuUHJvY2Vzc1By
b3h5JiBXZWJBdXRoblByb2Nlc3NQcm94eTo6c2luZ2xldG9uKCkKK3sKKyAgICBBU1NFUlQoUnVu
TG9vcDo6aXNNYWluKCkpOworCisgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwor
ICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8V2ViQXV0aG5Qcm9jZXNzUHJveHk+IHdlYkF1
dGhuUHJvY2VzczsKKworICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbXSB7CisgICAgICAg
IHdlYkF1dGhuUHJvY2Vzcy5jb25zdHJ1Y3QoKTsKKworICAgICAgICBXZWJBdXRoblByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKworICAgICAgICAvLyBJbml0aWFsaXplIHRo
ZSBXZWJBdXRobiBwcm9jZXNzLgorICAgICAgICB3ZWJBdXRoblByb2Nlc3MtPnNlbmQoTWVzc2Fn
ZXM6OldlYkF1dGhuUHJvY2Vzczo6SW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2VzcyhwYXJhbWV0ZXJz
KSwgMCk7CisgICAgICAgIHdlYkF1dGhuUHJvY2Vzcy0+dXBkYXRlUHJvY2Vzc0Fzc2VydGlvbigp
OworICAgIH0pOworCisgICAgcmV0dXJuIHdlYkF1dGhuUHJvY2Vzcy5nZXQoKTsKK30KKworV2Vi
QXV0aG5Qcm9jZXNzUHJveHk6OldlYkF1dGhuUHJvY2Vzc1Byb3h5KCkKKyAgICA6IEF1eGlsaWFy
eVByb2Nlc3NQcm94eSgpCisgICAgLCBtX3Rocm90dGxlcigqdGhpcywgZmFsc2UpCit7CisgICAg
Y29ubmVjdCgpOworfQorCitXZWJBdXRoblByb2Nlc3NQcm94eTo6fldlYkF1dGhuUHJvY2Vzc1By
b3h5KCkgPSBkZWZhdWx0OworCit2b2lkIFdlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hP
cHRpb25zKFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1bmNoT3B0aW9ucykKK3sK
KyAgICBsYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID0gUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNz
VHlwZTo6V2ViQXV0aG47CisgICAgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hPcHRp
b25zKGxhdW5jaE9wdGlvbnMpOworfQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzc1Byb3h5Ojpjb25u
ZWN0aW9uV2lsbE9wZW4oSVBDOjpDb25uZWN0aW9uJikKK3sKK30KKwordm9pZCBXZWJBdXRoblBy
b2Nlc3NQcm94eTo6cHJvY2Vzc1dpbGxTaHV0RG93bihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24pCit7CisgICAgQVNTRVJUX1VOVVNFRChjb25uZWN0aW9uLCB0aGlzLT5jb25uZWN0aW9uKCkg
PT0gJmNvbm5lY3Rpb24pOworfQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRXZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5LCBN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpE
ZWxheWVkUmVwbHkmJiByZXBseSkKK3sKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lv
biwgIiVwIC0gV2ViQXV0aG5Qcm9jZXNzUHJveHkgaXMgdGFraW5nIGEgYmFja2dyb3VuZCBhc3Nl
cnRpb24gYmVjYXVzZSBhIHdlYiBwcm9jZXNzIGlzIHJlcXVlc3RpbmcgYSBjb25uZWN0aW9uIiwg
dGhpcyk7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJBdXRoblByb2Nlc3M6
OkNyZWF0ZVdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyB7IHdlYlByb2Nlc3NQcm94eS5j
b3JlUHJvY2Vzc0lkZW50aWZpZXIoKSB9LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigq
dGhpcyksIHJlcGx5ID0gV1RGTW92ZShyZXBseSldKGF1dG8mJiBpZGVudGlmaWVyKSBtdXRhYmxl
IHsKKyAgICAgICAgaWYgKCF3ZWFrVGhpcykgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJS
T1IoUHJvY2VzcywgIldlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uOiBXZWJBdXRoblByb2Nlc3NQcm94eSBkZWFsbG9jYXRlZCBkdXJpbmcgY29ubmVjdGlv
biBlc3RhYmxpc2htZW50Iik7CisgICAgICAgICAgICByZXR1cm4gcmVwbHkoeyB9KTsKKyAgICAg
ICAgfQorCisgICAgICAgIGlmICghaWRlbnRpZmllcikgeworICAgICAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoUHJvY2VzcywgIldlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uOiBjb25uZWN0aW9uIGlkZW50aWZpZXIgaXMgZW1wdHkiKTsKKyAgICAgICAg
ICAgIHJldHVybiByZXBseSh7IH0pOworICAgICAgICB9CisKKyAgICAgICAgTUVTU0FHRV9DSEVD
SyhNQUNIX1BPUlRfVkFMSUQoaWRlbnRpZmllci0+cG9ydCgpKSk7CisgICAgICAgIHJlcGx5KFdl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIHsgSVBDOjpBdHRhY2htZW50IHsgaWRlbnRpZmll
ci0+cG9ydCgpLCBNQUNIX01TR19UWVBFX01PVkVfU0VORCB9IH0pOworICAgIH0sIDAsIElQQzo6
U2VuZE9wdGlvbjo6RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5KTsK
K30KKwordm9pZCBXZWJBdXRoblByb2Nlc3NQcm94eTo6d2ViQXV0aG5Qcm9jZXNzQ3Jhc2hlZCgp
Cit7CisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9j
ZXNzUG9vbHMoKSkKKyAgICAgICAgcHJvY2Vzc1Bvb2wtPnRlcm1pbmF0ZUFsbFdlYkNvbnRlbnRQ
cm9jZXNzZXMoKTsKK30KKwordm9pZCBXZWJBdXRoblByb2Nlc3NQcm94eTo6ZGlkQ2xvc2UoSVBD
OjpDb25uZWN0aW9uJikKK3sKKyAgICAvLyBUaGlzIHdpbGwgY2F1c2UgdXMgdG8gYmUgZGVsZXRl
ZC4KKyAgICB3ZWJBdXRoblByb2Nlc3NDcmFzaGVkKCk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9j
ZXNzUHJveHk6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIElQQzo6TWVzc2FnZU5hbWUgbWVzc2FnZU5hbWUpCit7CisgICAgbG9nSW52YWxpZE1l
c3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZU5hbWUpOworCisgICAgV2ViUHJvY2Vzc1Bvb2w6OmRp
ZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShtZXNzYWdlTmFtZSk7CisKKyAgICAvLyBUZXJtaW5hdGUg
dGhlIFdlYkF1dGhuIHByb2Nlc3MuCisgICAgdGVybWluYXRlKCk7CisKKyAgICAvLyBTaW5jZSB3
ZSd2ZSBpbnZhbGlkYXRlZCB0aGUgY29ubmVjdGlvbiB3ZSdsbCBuZXZlciBnZXQgYSBJUEM6OkNv
bm5lY3Rpb246OkNsaWVudDo6ZGlkQ2xvc2UKKyAgICAvLyBjYWxsYmFjayBzbyB3ZSdsbCBleHBs
aWNpdGx5IGNhbGwgaXQgaGVyZSBpbnN0ZWFkLgorICAgIGRpZENsb3NlKGNvbm5lY3Rpb24pOwor
fQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcoUHJvY2Vz
c0xhdW5jaGVyKiBsYXVuY2hlciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rp
b25JZGVudGlmaWVyKQoreworICAgIEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1
bmNoaW5nKGxhdW5jaGVyLCBjb25uZWN0aW9uSWRlbnRpZmllcik7CisKKyAgICBpZiAoIUlQQzo6
Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbklkZW50aWZpZXIpKSB7Cisg
ICAgICAgIHdlYkF1dGhuUHJvY2Vzc0NyYXNoZWQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKHhwY19jb25uZWN0aW9uX3QgY29u
bmVjdGlvbiA9IHRoaXMtPmNvbm5lY3Rpb24oKS0+eHBjQ29ubmVjdGlvbigpKQorICAgICAgICBt
X3Rocm90dGxlci5kaWRDb25uZWN0VG9Qcm9jZXNzKHhwY19jb25uZWN0aW9uX2dldF9waWQoY29u
bmVjdGlvbikpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzUHJveHk6OnVwZGF0
ZVByb2Nlc3NBc3NlcnRpb24oKQoreworICAgIGJvb2wgaGFzQW55Rm9yZWdyb3VuZFdlYlByb2Nl
c3NlcyA9IGZhbHNlOworICAgIGJvb2wgaGFzQW55QmFja2dyb3VuZFdlYlByb2Nlc3NlcyA9IGZh
bHNlOworCisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQ
cm9jZXNzUG9vbHMoKSkgeworICAgICAgICBoYXNBbnlGb3JlZ3JvdW5kV2ViUHJvY2Vzc2VzIHw9
IHByb2Nlc3NQb29sLT5oYXNGb3JlZ3JvdW5kV2ViUHJvY2Vzc2VzKCk7CisgICAgICAgIGhhc0Fu
eUJhY2tncm91bmRXZWJQcm9jZXNzZXMgfD0gcHJvY2Vzc1Bvb2wtPmhhc0JhY2tncm91bmRXZWJQ
cm9jZXNzZXMoKTsKKyAgICB9CisKKyAgICBpZiAoaGFzQW55Rm9yZWdyb3VuZFdlYlByb2Nlc3Nl
cykgeworICAgICAgICBpZiAoIVByb2Nlc3NUaHJvdHRsZXI6OmlzVmFsaWRGb3JlZ3JvdW5kQWN0
aXZpdHkobV9hY3Rpdml0eUZyb21XZWJQcm9jZXNzZXMpKSB7CisgICAgICAgICAgICBtX2FjdGl2
aXR5RnJvbVdlYlByb2Nlc3NlcyA9IHRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgiV2Vi
QXV0aG4gZm9yIGZvcmVncm91bmQgdmlldyhzKSJfcyk7CisgICAgICAgICAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJBdXRoblByb2Nlc3M6OlByb2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCks
IDApOworICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGhhc0FueUJh
Y2tncm91bmRXZWJQcm9jZXNzZXMpIHsKKyAgICAgICAgaWYgKCFQcm9jZXNzVGhyb3R0bGVyOjpp
c1ZhbGlkQmFja2dyb3VuZEFjdGl2aXR5KG1fYWN0aXZpdHlGcm9tV2ViUHJvY2Vzc2VzKSkgewor
ICAgICAgICAgICAgbV9hY3Rpdml0eUZyb21XZWJQcm9jZXNzZXMgPSB0aHJvdHRsZXIoKS5iYWNr
Z3JvdW5kQWN0aXZpdHkoIldlYkF1dGhuIGZvciBiYWNrZ3JvdW5kIHZpZXcocykiX3MpOworICAg
ICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViQXV0aG5Qcm9jZXNzOjpQcm9jZXNzRGlkVHJhbnNp
dGlvblRvQmFja2dyb3VuZCgpLCAwKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAg
fQorICAgIG1fYWN0aXZpdHlGcm9tV2ViUHJvY2Vzc2VzID0gbnVsbHB0cjsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyN1bmRlZiBNRVNTQUdFX0NIRUNLCisKKyNlbmRpZiAvLyBFTkFC
TEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmM3MjcxNzUxYzUzZmI2ZDdmMDU4ZmI4YWM1ZWJlMzk4ZTAyYWI5OQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJv
Y2Vzc1Byb3h5LmgKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgRU5BQkxFKFdFQl9BVVRITikKKworI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NQcm94
eS5oIgorI2luY2x1ZGUgIlByb2Nlc3NMYXVuY2hlci5oIgorI2luY2x1ZGUgIlByb2Nlc3NUaHJv
dHRsZXIuaCIKKyNpbmNsdWRlICJQcm9jZXNzVGhyb3R0bGVyQ2xpZW50LmgiCisjaW5jbHVkZSAi
V2ViUGFnZVByb3h5SWRlbnRpZmllci5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3Nh
Z2VzUmVwbGllcy5oIgorI2luY2x1ZGUgPG1lbW9yeT4KKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K2NsYXNzIFdlYlByb2Nlc3NQcm94eTsKK2NsYXNzIFdlYnNpdGVEYXRhU3RvcmU7CitzdHJ1Y3Qg
V2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOworCitjbGFzcyBXZWJBdXRoblByb2Nl
c3NQcm94eSBmaW5hbCA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzUHJveHksIHByaXZhdGUgUHJv
Y2Vzc1Rocm90dGxlckNsaWVudCwgcHVibGljIENhbk1ha2VXZWFrUHRyPFdlYkF1dGhuUHJvY2Vz
c1Byb3h5PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV2ViQXV0aG5Qcm9jZXNzUHJveHkpOworICAgIGZyaWVuZCBMYXp5TmV2ZXJEZXN0
cm95ZWQ8V2ViQXV0aG5Qcm9jZXNzUHJveHk+OworcHVibGljOgorICAgIHN0YXRpYyBXZWJBdXRo
blByb2Nlc3NQcm94eSYgc2luZ2xldG9uKCk7CisKKyAgICB2b2lkIGdldFdlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc1Byb3h5JiwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6
R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkRlbGF5ZWRSZXBseSYmKTsKKworICAgIFByb2Nl
c3NUaHJvdHRsZXImIHRocm90dGxlcigpIGZpbmFsIHsgcmV0dXJuIG1fdGhyb3R0bGVyOyB9Cisg
ICAgdm9pZCB1cGRhdGVQcm9jZXNzQXNzZXJ0aW9uKCk7CisKKyAgICAvLyBQcm9jZXNzVGhyb3R0
bGVyQ2xpZW50CisgICAgdm9pZCBzZW5kUHJvY2Vzc0RpZFJlc3VtZSgpIGZpbmFsIHsgfQorICAg
IEFTQ0lJTGl0ZXJhbCBjbGllbnROYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIldlYkF1dGhu
UHJvY2VzcyJfczsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYkF1dGhuUHJvY2Vzc1By
b3h5KCk7CisgICAgfldlYkF1dGhuUHJvY2Vzc1Byb3h5KCk7CisKKyAgICAvLyBBdXhpbGlhcnlQ
cm9jZXNzUHJveHkKKyAgICBBU0NJSUxpdGVyYWwgcHJvY2Vzc05hbWUoKSBjb25zdCBmaW5hbCB7
IHJldHVybiAiV2ViQXV0aG4iX3M7IH0KKworICAgIHZvaWQgZ2V0TGF1bmNoT3B0aW9ucyhQcm9j
ZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmKSBvdmVycmlkZTsKKyAgICB2b2lkIGNvbm5lY3Rp
b25XaWxsT3BlbihJUEM6OkNvbm5lY3Rpb24mKSBvdmVycmlkZTsKKyAgICB2b2lkIHByb2Nlc3NX
aWxsU2h1dERvd24oSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CisKKyAgICB2b2lkIHdlYkF1
dGhuUHJvY2Vzc0NyYXNoZWQoKTsKKworICAgIC8vIFByb2Nlc3NUaHJvdHRsZXJDbGllbnQKKyAg
ICB2b2lkIHNlbmRQcmVwYXJlVG9TdXNwZW5kKElzU3VzcGVuc2lvbkltbWluZW50LCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsIHsgfQorCisgICAgLy8gUHJvY2Vzc0xhdW5jaGVy
OjpDbGllbnQKKyAgICB2b2lkIGRpZEZpbmlzaExhdW5jaGluZyhQcm9jZXNzTGF1bmNoZXIqLCBJ
UEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIpIG92ZXJyaWRlOworCisgICAgLy8gSVBDOjpDb25u
ZWN0aW9uOjpDbGllbnQKKyAgICB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJy
aWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6TWVzc2FnZU5hbWUpIG92ZXJyaWRlOworCisgICAgUHJvY2Vzc1Rocm90dGxlciBtX3Ro
cm90dGxlcjsKKyAgICBQcm9jZXNzVGhyb3R0bGVyOjpBY3Rpdml0eVZhcmlhbnQgbV9hY3Rpdml0
eUZyb21XZWJQcm9jZXNzZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
IC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzZTY4NjhmYjkwZThiMmZlZmI1M2RlNjYyMTY4
ZjdhODIyZDI3MjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMCww
ICsxLDI4IEBACisjIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
CisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBF
TkFCTEUoV0VCX0FVVEhOKQorCittZXNzYWdlcyAtPiBXZWJBdXRoblByb2Nlc3NQcm94eSBOb3RS
ZWZDb3VudGVkIHsKK30KKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggOGQ5ODdiYjY2ZDE0MzQwODk2
MTI4ZDczOTMwZjJhMWNhZGQ2OTlhNi4uMjZmMTRiNTExNzdlMDU3YmEzNGU1MTU0N2RiMWM0ZjI3
N2RmZjRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApA
QCAtMTE2LDYgKzExNiwxMSBAQAogI2luY2x1ZGUgIkdQVVByb2Nlc3NQcm94eS5oIgogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorI2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vzc0Nvbm5l
Y3Rpb25JbmZvLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Qcm9jZXNzUHJveHkuaCIKKyNlbmRpZgor
CiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
UmVtb3RlSW5zcGVjdG9yLmg+CiAjZW5kaWYKQEAgLTQ5Niw2ICs1MDEsMjAgQEAgdm9pZCBXZWJQ
cm9jZXNzUG9vbDo6Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc1Byb3h5JiB3ZWJQ
cm9jZXNzUHJveHksIE0KIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9BVVRITikKK3ZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OmdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc1By
b3h5JiB3ZWJQcm9jZXNzUHJveHksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFdlYkF1
dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseSYmIHJlcGx5KQoreworICAgIFdlYkF1
dGhuUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24oKS5nZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
KHdlYlByb2Nlc3NQcm94eSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB3
ZWJQcm9jZXNzUHJveHkgPSBtYWtlV2Vha1B0cih3ZWJQcm9jZXNzUHJveHkpLCByZXBseSA9IFdU
Rk1vdmUocmVwbHkpXSAoYXV0byYgY29ubmVjdGlvbkluZm8pIG11dGFibGUgeworICAgICAgICBp
ZiAoVU5MSUtFTFkoIUlQQzo6Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlv
bkluZm8uaWRlbnRpZmllcigpKSAmJiB3ZWJQcm9jZXNzUHJveHkgJiYgd2Vha1RoaXMpKSB7Cisg
ICAgICAgICAgICBXRUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiZ2V0
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjogRmFpbGVkIGZpcnN0IGF0dGVtcHQsIHJldHJ5aW5n
Iik7CisgICAgICAgICAgICBXZWJBdXRoblByb2Nlc3NQcm94eTo6c2luZ2xldG9uKCkuZ2V0V2Vi
QXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigqd2ViUHJvY2Vzc1Byb3h5LCBXVEZNb3ZlKHJlcGx5KSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgcmVwbHkoY29ubmVjdGlv
bkluZm8pOworICAgIH0pOworfQorI2VuZGlmCisKIGJvb2wgV2ViUHJvY2Vzc1Bvb2w6OnNfdXNl
U2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2VzcyA9IGZhbHNlOwogCiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXgg
MTgyNjc1MjVlZDcwZDFmNmY4ZTE2Mjk0MzRhOGQyYWMyN2I2OTFlOS4uNGUyZTlhNTIzZTQ2ZWU0
NDc0N2NlMzUwMmFlOTUwZTU4Zjk5NTAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oCkBAIC0zNTgsNiArMzU4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGdldEdQ
VVByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYsIE1lc3NhZ2VzOjpXZWJQcm9jZXNz
UHJveHk6OkdldEdQVVByb2Nlc3NDb25uZWN0aW9uRGVsYXllZFJlcGx5JiYpOwogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorICAgIHZvaWQgZ2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVj
dGlvbihXZWJQcm9jZXNzUHJveHkmLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uRGVsYXllZFJlcGx5JiYpOworI2VuZGlmCisKICAgICAvLyBO
ZXR3b3JrIFByb2Nlc3MgTWFuYWdlbWVudAogICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NDcmFzaGVk
KE5ldHdvcmtQcm9jZXNzUHJveHkmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5jcHAKaW5kZXggMGVmN2Q4OTg1OGVkNDkxMDdlYWQ5MzgyMzJmZTI2M2VkZGQy
MzFhNi4uMDE2MGE2ZmE2Yzk1MzBjZmU3MDZmYTI4MjA5ODJjYzQ0NTYwODIxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCkBAIC03NzQsNiArNzc0LDEz
IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpncHVQcm9jZXNzQ3Jhc2hlZCgpCiB9CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShXRUJfQVVUSE4pCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0V2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbihNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHkmJiByZXBseSkKK3sKKyAgICBtX3Byb2Nl
c3NQb29sLT5nZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKCp0aGlzLCBXVEZNb3ZlKHJlcGx5
KSk7Cit9CisjZW5kaWYKKwogI2lmICFQTEFURk9STShDT0NPQSkKIGJvb2wgV2ViUHJvY2Vzc1By
b3h5OjpwbGF0Zm9ybUlzQmVpbmdEZWJ1Z2dlZCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDY0MGQ4OTJhZTc5NGZlYTE4NTFhMDY2MTQ4
OTIwNmU1NjJiZGYxYjEuLjg4NTgyOTYxYTJkMjMyN2FkNjViODA2MmM5Zjk5NzliNmQyZjY3NDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC00NDYsNiAr
NDQ2LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihNZXNz
YWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbkRlbGF5ZWRSZXBs
eSYmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICB2b2lkIGdldFdlYkF1
dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbkRlbGF5ZWRSZXBseSYmKTsKKyNlbmRpZgorCiAgICAgYm9vbCBw
bGF0Zm9ybUlzQmVpbmdEZWJ1Z2dlZCgpIGNvbnN0OwogICAgIGJvb2wgc2hvdWxkQWxsb3dOb25W
YWxpZEluamVjdGVkQ29kZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMTY3MWFhNjQ5MmM2ZmFlOGVj
N2Y2MDFlMWVlN2QxOGY5OGQ3ZTA3Ni4uYzE1NzA0NzNiMGMzZjBjYjc1YzUyMTFjOTBjMzJjNWM5
NTg0YjJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtNDIsNiArNDIsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vz
c1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbigpIC0+
IChzdHJ1Y3QgV2ViS2l0OjpHUFVQcm9jZXNzQ29ubmVjdGlvbkluZm8gY29ubmVjdGlvbkluZm8p
IFN5bmNocm9ub3VzCiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgR2V0V2Vi
QXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigpIC0+IChzdHJ1Y3QgV2ViS2l0OjpXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uSW5mbyBjb25uZWN0aW9uSW5mbykgU3luY2hyb25vdXMKKyNlbmRpZgorCiAg
ICAgU2V0SXNIb2xkaW5nTG9ja2VkRmlsZXMoYm9vbCBpc0hvbGRpbmdMb2NrZWRGaWxlcykKIAog
ICAgIERpZEV4Y2VlZEFjdGl2ZU1lbW9yeUxpbWl0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViQXV0aG5Qcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9XZWJBdXRoblNl
cnZpY2UvSW5mby1PU1gucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9FbnRy
eVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8tT1NYLnBsaXN0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUyNzEwMzU4YWQ5MjhkZmRmZGU0MWU5ZGI4MzMwZDZkMjFhMDUzZGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0Nv
Y29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8tT1NYLnBsaXN0CkBAIC0wLDAgKzEs
NDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUg
cGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFw
cGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KKzxwbGlzdCB2ZXJzaW9uPSIxLjAi
PgorPGRpY3Q+CisJPGtleT5DRkJ1bmRsZUdldEluZm9TdHJpbmc8L2tleT4KKwk8c3RyaW5nPiR7
QlVORExFX1ZFUlNJT059LCBDb3B5cmlnaHQgMjAwMy0yMDIwIEFwcGxlIEluYy48L3N0cmluZz4K
Kwk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KKwk8c3RyaW5nPkVuZ2xpc2g8
L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgorCTxzdHJpbmc+JHtFWEVD
VVRBQkxFX05BTUV9PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KKwk8
c3RyaW5nPiR7UFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUn08L3N0cmluZz4KKwk8a2V5PkNGQnVu
ZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+CisJPHN0cmluZz42LjA8L3N0cmluZz4KKwk8
a2V5PkNGQnVuZGxlTmFtZTwva2V5PgorCTxzdHJpbmc+JHtQUk9EVUNUX05BTUV9PC9zdHJpbmc+
CisJPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+CisJPHN0cmluZz5YUEMhPC9zdHJpbmc+
CisJPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5PgorCTxzdHJpbmc+JHtTSE9S
VF9WRVJTSU9OX1NUUklOR308L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlU2lnbmF0dXJlPC9rZXk+
CisJPHN0cmluZz4/Pz8/PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4KKwk8
c3RyaW5nPiR7QlVORExFX1ZFUlNJT059PC9zdHJpbmc+CisJPGtleT5MU0ZpbGVRdWFyYW50aW5l
RW5hYmxlZDwva2V5PgorCTx0cnVlLz4KKwk8a2V5Pk5TUHJpbmNpcGFsQ2xhc3M8L2tleT4KKwk8
c3RyaW5nPk5TQXBwbGljYXRpb248L3N0cmluZz4KKwk8a2V5PkxTVUlFbGVtZW50PC9rZXk+CisJ
PHRydWUvPgorCTxrZXk+WFBDU2VydmljZTwva2V5PgorCTxkaWN0PgorCQk8a2V5PlNlcnZpY2VU
eXBlPC9rZXk+CisJCTxzdHJpbmc+QXBwbGljYXRpb248L3N0cmluZz4KKwkJPGtleT5Kb2luRXhp
c3RpbmdTZXNzaW9uPC9rZXk+CisJCTx0cnVlLz4KKwkJPGtleT5SdW5Mb29wVHlwZTwva2V5Pgor
CQk8c3RyaW5nPk5TUnVuTG9vcDwvc3RyaW5nPgorCQk8a2V5Pl9NdWx0aXBsZUluc3RhbmNlczwv
a2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorPC9kaWN0PgorPC9wbGlzdD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2Vydmlj
ZS9XZWJBdXRoblNlcnZpY2UvSW5mby1pT1MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhu
UHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8t
aU9TLnBsaXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmNDdjMTE1NGUyMTM3Zjg0MGExM2U1M2ZjZDVlMWM0YmE2
NjdkOWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9F
bnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8taU9TLnBsaXN0
CkBAIC0wLDAgKzEsNDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+
Cis8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJo
dHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KKzxwbGlzdCB2
ZXJzaW9uPSIxLjAiPgorPGRpY3Q+CisJPGtleT5DRkJ1bmRsZUdldEluZm9TdHJpbmc8L2tleT4K
Kwk8c3RyaW5nPiR7QlVORExFX1ZFUlNJT059LCBDb3B5cmlnaHQgMjAwMy0yMDIwIEFwcGxlIElu
Yy48L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KKwk8c3Ry
aW5nPkVuZ2xpc2g8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgorCTxz
dHJpbmc+JHtFWEVDVVRBQkxFX05BTUV9PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUlkZW50aWZp
ZXI8L2tleT4KKwk8c3RyaW5nPiR7UFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUn08L3N0cmluZz4K
Kwk8a2V5PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+CisJPHN0cmluZz42LjA8
L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlTmFtZTwva2V5PgorCTxzdHJpbmc+JHtQUk9EVUNUX05B
TUV9PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+CisJPHN0cmluZz5Y
UEMhPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5PgorCTxz
dHJpbmc+JHtTSE9SVF9WRVJTSU9OX1NUUklOR308L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlU2ln
bmF0dXJlPC9rZXk+CisJPHN0cmluZz4/Pz8/PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVZlcnNp
b248L2tleT4KKwk8c3RyaW5nPiR7QlVORExFX1ZFUlNJT059PC9zdHJpbmc+CisJPGtleT5MU0Zp
bGVRdWFyYW50aW5lRW5hYmxlZDwva2V5PgorCTx0cnVlLz4KKwk8a2V5Pk5TUHJpbmNpcGFsQ2xh
c3M8L2tleT4KKwk8c3RyaW5nPk5TQXBwbGljYXRpb248L3N0cmluZz4KKwk8a2V5PkxTVUlFbGVt
ZW50PC9rZXk+CisJPHRydWUvPgorCTxrZXk+WFBDU2VydmljZTwva2V5PgorCTxkaWN0PgorCQk8
a2V5PlNlcnZpY2VUeXBlPC9rZXk+CisJCTxzdHJpbmc+QXBwbGljYXRpb248L3N0cmluZz4KKwkJ
PGtleT5SdW5Mb29wVHlwZTwva2V5PgorCQk8c3RyaW5nPk5TUnVuTG9vcDwvc3RyaW5nPgorCQk8
a2V5Pl9NdWx0aXBsZUluc3RhbmNlczwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+
Q2FuSW5oZXJpdEFwcGxpY2F0aW9uU3RhdGVGcm9tT3RoZXJQcm9jZXNzZXM8L2tleT4KKwk8dHJ1
ZS8+Cis8L2RpY3Q+Cis8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRo
blByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL1dlYkF1dGhuU2VydmljZUVudHJ5
UG9pbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29h
L1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlRW50cnlQb2ludC5tbQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTNi
NGJiZDcyMWIzMDU0MGNiYTk2NDVlYzUwZjQ5ZjMzMmEyNDAwCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNl
L1dlYkF1dGhuU2VydmljZUVudHJ5UG9pbnQubW0KQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaW1wb3J0ICJFbnZpcm9ubWVudFV0aWxpdGllcy5o
IgorI2ltcG9ydCAiV0tCYXNlLmgiCisjaW1wb3J0ICJXZWJBdXRoblByb2Nlc3MuaCIKKyNpbXBv
cnQgIlhQQ1NlcnZpY2VFbnRyeVBvaW50LmgiCisKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQXV0aG5TZXJ2aWNlSW5pdGlhbGl6ZXJEZWxl
Z2F0ZSA6IHB1YmxpYyBYUENTZXJ2aWNlSW5pdGlhbGl6ZXJEZWxlZ2F0ZSB7CitwdWJsaWM6Cisg
ICAgV2ViQXV0aG5TZXJ2aWNlSW5pdGlhbGl6ZXJEZWxlZ2F0ZShPU09iamVjdFB0cjx4cGNfY29u
bmVjdGlvbl90PiBjb25uZWN0aW9uLCB4cGNfb2JqZWN0X3QgaW5pdGlhbGl6ZXJNZXNzYWdlKQor
ICAgICAgICA6IFhQQ1NlcnZpY2VJbml0aWFsaXplckRlbGVnYXRlKFdURk1vdmUoY29ubmVjdGlv
biksIGluaXRpYWxpemVyTWVzc2FnZSkKKyAgICB7CisgICAgfQorfTsKKwordGVtcGxhdGU8Pgor
dm9pZCBpbml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzczxXZWJBdXRoblByb2Nlc3M+KEF1eGlsaWFy
eVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQoreworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxXZWJBdXRoblByb2Nlc3M+IFdlYkF1dGhuUHJvY2VzcyhXVEZN
b3ZlKHBhcmFtZXRlcnMpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX0FVVEhOKQorCitleHRlcm4gIkMiIFdLX0VYUE9SVCB2b2lkIFdFQkFVVEhO
X1NFUlZJQ0VfSU5JVElBTElaRVIoeHBjX2Nvbm5lY3Rpb25fdCBjb25uZWN0aW9uLCB4cGNfb2Jq
ZWN0X3QgaW5pdGlhbGl6ZXJNZXNzYWdlLCB4cGNfb2JqZWN0X3QgcHJpb3JpdHlCb29zdE1lc3Nh
Z2UpOworCit2b2lkIFdFQkFVVEhOX1NFUlZJQ0VfSU5JVElBTElaRVIoeHBjX2Nvbm5lY3Rpb25f
dCBjb25uZWN0aW9uLCB4cGNfb2JqZWN0X3QgaW5pdGlhbGl6ZXJNZXNzYWdlLCB4cGNfb2JqZWN0
X3QgcHJpb3JpdHlCb29zdE1lc3NhZ2UpCit7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVh
ZCgpOworCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICBXZWJLaXQ6OlhQQ1NlcnZpY2VJbml0
aWFsaXplcjxXZWJLaXQ6OldlYkF1dGhuUHJvY2VzcywgV2ViS2l0OjpXZWJBdXRoblNlcnZpY2VJ
bml0aWFsaXplckRlbGVnYXRlPihhZG9wdE9TT2JqZWN0KGNvbm5lY3Rpb24pLCBpbml0aWFsaXpl
ck1lc3NhZ2UsIHByaW9yaXR5Qm9vc3RNZXNzYWdlKTsKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FV
VEhOKQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0
aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9j
ZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjUzNmMw
OWJhNTE5OGIzOTY1MTE4YTYyN2E4N2VkMGFlYjQ3Yzg4NQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5jcHAKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKworI2lmIEVOQUJM
RShXRUJfQVVUSE4pCisKK25hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CisKK1JlZjxXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IFdlYkF1dGhuQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlKFdlYkF1dGhuUHJvY2VzcyYgV2ViQXV0aG5Qcm9jZXNz
LCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpD
b25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyKQoreworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJBdXRoblBy
b2Nlc3MsIHdlYlByb2Nlc3NJZGVudGlmaWVyLCBjb25uZWN0aW9uSWRlbnRpZmllcikpOworfQor
CitXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OldlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2VzcyhXZWJBdXRoblByb2Nlc3MmIFdlYkF1dGhuUHJvY2VzcywgV2ViQ29yZTo6UHJvY2Vz
c0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRp
ZmllciBjb25uZWN0aW9uSWRlbnRpZmllcikKKyAgICA6IG1fY29ubmVjdGlvbihJUEM6OkNvbm5l
Y3Rpb246OmNyZWF0ZVNlcnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsICp0aGlz
KSkKKyAgICAsIG1fV2ViQXV0aG5Qcm9jZXNzKFdlYkF1dGhuUHJvY2VzcykKKyAgICAsIG1fd2Vi
UHJvY2Vzc0lkZW50aWZpZXIod2ViUHJvY2Vzc0lkZW50aWZpZXIpCit7CisgICAgUkVMRUFTRV9B
U1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOworICAgIG1fY29ubmVjdGlvbi0+b3BlbigpOworfQor
CitXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6On5XZWJBdXRobkNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MoKQoreworICAgIFJFTEVBU0VfQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKKwor
ICAgIG1fY29ubmVjdGlvbi0+aW52YWxpZGF0ZSgpOworfQorCit2b2lkIFdlYkF1dGhuQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikKK3sKK30KKwordm9p
ZCBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZU5hbWUgbWVzc2FnZU5h
bWUpCit7CisgICAgV1RGTG9nQWx3YXlzKCJSZWNlaXZlZCBhbiBpbnZhbGlkIG1lc3NhZ2UgXCIl
c1wiIGZyb20gdGhlIHdlYiBwcm9jZXNzLlxuIiwgZGVzY3JpcHRpb24obWVzc2FnZU5hbWUpKTsK
KyAgICBDUkFTSCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVO
QUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vz
cy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0
aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2
ZDY5YmIxZGI3YWYwZDQyZDg2MDI0MDdkODhjZmNmMmM2YzVjOGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoV0VCX0FVVEhOKQorCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUg
IldlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9Qcm9jZXNzSWRlbnRpZmllci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJBdXRoblByb2Nlc3M7CisKK2NsYXNzIFdl
YkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcworICAgIDogcHVibGljIFJlZkNvdW50ZWQ8V2Vi
QXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzPgorICAgICwgSVBDOjpDb25uZWN0aW9uOjpDbGll
bnQgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9j
ZXNzPiBjcmVhdGUoV2ViQXV0aG5Qcm9jZXNzJiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIs
IElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllcik7CisgICAgdmlydHVhbCB+V2ViQXV0aG5Db25u
ZWN0aW9uVG9XZWJQcm9jZXNzKCk7CisKKyAgICBJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24o
KSB7IHJldHVybiBtX2Nvbm5lY3Rpb24uZ2V0KCk7IH0KKyAgICBXZWJBdXRoblByb2Nlc3MmIFdl
YkF1dGhuUHJvY2Vzc1Byb2Nlc3MoKSB7IHJldHVybiBtX1dlYkF1dGhuUHJvY2Vzcy5nZXQoKTsg
fQorICAgIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gbV93ZWJQcm9jZXNzSWRlbnRpZmllcjsgfQorCisgICAgdm9pZCBjbGVh
bnVwRm9yU3VzcGVuc2lvbihGdW5jdGlvbjx2b2lkKCk+JiYpOworICAgIHZvaWQgZW5kU3VzcGVu
c2lvbigpOworCitwcml2YXRlOgorICAgIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhX
ZWJBdXRoblByb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0
aW9uOjpJZGVudGlmaWVyKTsKKworICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CisgICAg
dm9pZCBkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKSBmaW5hbDsKKyAgICB2b2lkIGRpZFJlY2Vp
dmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VOYW1lKSBmaW5h
bDsKKworICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKKyAgICBSZWY8V2Vi
QXV0aG5Qcm9jZXNzPiBtX1dlYkF1dGhuUHJvY2VzczsKKyAgICBjb25zdCBXZWJDb3JlOjpQcm9j
ZXNzSWRlbnRpZmllciBtX3dlYlByb2Nlc3NJZGVudGlmaWVyOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Db25u
ZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmMmM3M2RkZjM0YjBh
Yzk3MWQ5OGFhYjBiYWZmY2VhN2NmNDgzZmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4KQEAgLTAsMCArMSwyOCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBt
ZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMg
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgor
IyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKworbWVzc2FnZXMgLT4gV2ViQXV0aG5Db25u
ZWN0aW9uVG9XZWJQcm9jZXNzIHsKK30KKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3Mu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lZThmNDY1MzczNDBhMjIwZDQwYmFkMjU5YjBkNDI3ZTczZmYyMDc1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9j
ZXNzLmNwcApAQCAtMCwwICsxLDEyOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJXZWJBdXRoblByb2Nlc3MuaCIKKworI2lmIEVOQUJMRShXRUJfQVVUSE4p
CisKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbVN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCisKK1dlYkF1dGhuUHJvY2Vzczo6V2ViQXV0
aG5Qcm9jZXNzKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJiBwYXJh
bWV0ZXJzKQoreworICAgIGluaXRpYWxpemUoV1RGTW92ZShwYXJhbWV0ZXJzKSk7Cit9CisKK1dl
YkF1dGhuUHJvY2Vzczo6fldlYkF1dGhuUHJvY2VzcygpCit7Cit9CisKK3ZvaWQgV2ViQXV0aG5Q
cm9jZXNzOjpjcmVhdGVXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoUHJvY2Vzc0lkZW50
aWZpZXIgaWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxJUEM6OkF0
dGFjaG1lbnQ+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGF1dG8gaXBjQ29ubmVj
dGlvbiA9IGNyZWF0ZUlQQ0Nvbm5lY3Rpb25QYWlyKCk7CisgICAgaWYgKCFpcGNDb25uZWN0aW9u
KSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBhdXRvIG5ld0Nvbm5lY3Rpb24gPSBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OmNyZWF0ZSgqdGhpcywgaWRlbnRpZmllciwgaXBjQ29ubmVjdGlvbi0+Zmlyc3QpOwor
CisgICAgQVNTRVJUKCFtX3dlYlByb2Nlc3NDb25uZWN0aW9ucy5jb250YWlucyhpZGVudGlmaWVy
KSk7CisgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnMuYWRkKGlkZW50aWZpZXIsIFdURk1vdmUo
bmV3Q29ubmVjdGlvbikpOworCisgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShpcGNDb25u
ZWN0aW9uLT5zZWNvbmQpKTsKK30KKwordm9pZCBXZWJBdXRoblByb2Nlc3M6OnJlbW92ZVdlYkF1
dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mm
IGNvbm5lY3Rpb24pCit7CisgICAgQVNTRVJUKG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmNvbnRh
aW5zKGNvbm5lY3Rpb24ud2ViUHJvY2Vzc0lkZW50aWZpZXIoKSkpOworICAgIG1fd2ViUHJvY2Vz
c0Nvbm5lY3Rpb25zLnJlbW92ZShjb25uZWN0aW9uLndlYlByb2Nlc3NJZGVudGlmaWVyKCkpOwor
fQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzczo6Y29ubmVjdGlvblRvV2ViUHJvY2Vzc0Nsb3NlZChJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCit7Cit9CisKK2Jvb2wgV2ViQXV0aG5Qcm9jZXNz
OjpzaG91bGRUZXJtaW5hdGUoKQoreworICAgIHJldHVybiBtX3dlYlByb2Nlc3NDb25uZWN0aW9u
cy5pc0VtcHR5KCk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpkaWRDbG9zZShJUEM6OkNv
bm5lY3Rpb24mKQoreworICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Cit9CisKK3ZvaWQg
V2ViQXV0aG5Qcm9jZXNzOjpsb3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsIGNyaXRpY2FsKQorewor
ICAgIFdURjo6cmVsZWFzZUZhc3RNYWxsb2NGcmVlTWVtb3J5KCk7Cit9CisKK3ZvaWQgV2ViQXV0
aG5Qcm9jZXNzOjppbml0aWFsaXplV2ViQXV0aG5Qcm9jZXNzKFdlYkF1dGhuUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCit7CisgICAgV1RGOjpUaHJlYWQ6OnNldEN1cnJl
bnRUaHJlYWRJc1VzZXJJbml0aWF0ZWQoKTsKKyAgICBBdG9tU3RyaW5nOjppbml0KCk7Cit9CisK
K3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wgaXNTdXNwZW5zaW9u
SW1taW5lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
K3sKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViQXV0aG5Qcm9j
ZXNzOjpwcmVwYXJlVG9TdXNwZW5kKCksIGlzU3VzcGVuc2lvbkltbWluZW50OiAlZCIsIHRoaXMs
IGlzU3VzcGVuc2lvbkltbWluZW50KTsKKworICAgIGxvd01lbW9yeUhhbmRsZXIoQ3JpdGljYWw6
Olllcyk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1lKCkKK3sK
KyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViQXV0aG5Qcm9jZXNz
Ojpwcm9jZXNzRGlkUmVzdW1lKCkiLCB0aGlzKTsKKyAgICByZXN1bWUoKTsKK30KKwordm9pZCBX
ZWJBdXRoblByb2Nlc3M6OnJlc3VtZSgpCit7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpw
cm9jZXNzRGlkVHJhbnNpdGlvblRvRm9yZWdyb3VuZCgpCit7Cit9CisKK3ZvaWQgV2ViQXV0aG5Q
cm9jZXNzOjpwcm9jZXNzRGlkVHJhbnNpdGlvblRvQmFja2dyb3VuZCgpCit7Cit9CisKK1dlYkF1
dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyogV2ViQXV0aG5Qcm9jZXNzOjp3ZWJQcm9jZXNzQ29u
bmVjdGlvbihQcm9jZXNzSWRlbnRpZmllciBpZGVudGlmaWVyKSBjb25zdAoreworICAgIHJldHVy
biBtX3dlYlByb2Nlc3NDb25uZWN0aW9ucy5nZXQoaWRlbnRpZmllcik7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzg1
YTIzMjFkMGQxNWZjMjE1NDY4ODU5NDg1NjhhYmZlNGFkOGZmNwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oCkBAIC0wLDAg
KzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfQVVU
SE4pCisKKyNpbmNsdWRlICJBdXhpbGlhcnlQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Q
cm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDx3
dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czsKK3N0cnVjdCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CisKK2NsYXNzIFdl
YkF1dGhuUHJvY2VzcyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzLCBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8V2ViQXV0aG5Qcm9jZXNzPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPFdlYkF1
dGhuUHJvY2Vzcz4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkF1dGhuUHJvY2Vzcyk7
CitwdWJsaWM6CisgICAgZXhwbGljaXQgV2ViQXV0aG5Qcm9jZXNzKEF1eGlsaWFyeVByb2Nlc3NJ
bml0aWFsaXphdGlvblBhcmFtZXRlcnMmJik7CisgICAgfldlYkF1dGhuUHJvY2VzcygpOworICAg
IHN0YXRpYyBjb25zdGV4cHIgUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBQcm9jZXNzVHlwZTo6
V2ViQXV0aG47CisKKyAgICB2b2lkIHJlbW92ZVdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyhXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKworICAgIHZvaWQgcHJlcGFyZVRv
U3VzcGVuZChib29sIGlzU3VzcGVuc2lvbkltbWluZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOworICAgIHZvaWQgcHJvY2Vzc0RpZFJlc3VtZSgpOworICAgIHZvaWQgcmVzdW1lKCk7
CisKKyAgICB2b2lkIGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDbG9zZWQoSVBDOjpDb25uZWN0aW9u
Jik7CisKKyAgICBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MqIHdlYlByb2Nlc3NDb25u
ZWN0aW9uKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKSBjb25zdDsKKworcHJpdmF0ZToKKyAg
ICB2b2lkIGxvd01lbW9yeUhhbmRsZXIoQ3JpdGljYWwpOworCisgICAgLy8gQXV4aWxpYXJ5UHJv
Y2VzcworICAgIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0lu
aXRpYWxpemF0aW9uUGFyYW1ldGVycyYpIG92ZXJyaWRlOworICAgIHZvaWQgaW5pdGlhbGl6ZVBy
b2Nlc3NOYW1lKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMm
KSBvdmVycmlkZTsKKyAgICB2b2lkIGluaXRpYWxpemVTYW5kYm94KGNvbnN0IEF1eGlsaWFyeVBy
b2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmLCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJh
bWV0ZXJzJikgb3ZlcnJpZGU7CisgICAgYm9vbCBzaG91bGRUZXJtaW5hdGUoKSBvdmVycmlkZTsK
KworICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CisgICAgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBvdmVycmlkZTsKKyAgICB2b2lk
IGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRlOworCisgICAgLy8gTWVzc2FnZSBI
YW5kbGVycworICAgIHZvaWQgaW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2VzcyhXZWJBdXRoblByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmJik7CisgICAgdm9pZCBjcmVhdGVXZWJBdXRobkNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJik7CisKKyAgICB2b2lkIHBy
b2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCk7CisgICAgdm9pZCBwcm9jZXNzRGlkVHJh
bnNpdGlvblRvQmFja2dyb3VuZCgpOworCisgICAgLy8gQ29ubmVjdGlvbnMgdG8gV2ViUHJvY2Vz
c2VzLgorICAgIEhhc2hNYXA8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIFJlZjxXZWJBdXRo
bkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+PiBtX3dlYlByb2Nlc3NDb25uZWN0aW9uczsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vz
cy5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YTA5MjEyNTJiZmM4OGY3YWViNzM2MTk0YmViZTZi
ZDI2MDc0YWEzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nl
c3MvV2ViQXV0aG5Qcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzYgQEAKKyMgQ29weXJp
Z2h0IChDKSAyMDE5LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisj
CisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgRU5BQkxFKFdFQl9BVVRI
TikKKworbWVzc2FnZXMgLT4gV2ViQXV0aG5Qcm9jZXNzIHsKKyAgICAjIEluaXRpYWxpemVzIHRo
ZSBXZWJBdXRobiBwcm9jZXNzLgorICAgIEluaXRpYWxpemVXZWJBdXRoblByb2Nlc3Moc3RydWN0
IFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMpCisKKyAgICAjIENyZWF0ZXMgYSBjb25uZWN0aW9uIGZvciBjb21tdW5pY2F0
aW9uIHdpdGggYSBXZWJQcm9jZXNzCisgICAgQ3JlYXRlV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQ
cm9jZXNzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyKSAtPiAo
T3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiBjb25uZWN0aW9uSWRlbnRpZmllcikgQXN5bmMKKwor
ICAgIFByb2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCkKKyAgICBQcm9jZXNzRGlkVHJh
bnNpdGlvblRvQmFja2dyb3VuZCgpCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dl
YkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNmM2UyYzlj
OTdjYWM5OWU0MTc3ZWQ0MTA3MGM4NjFlNGQ4ODU0NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKKworI2lmIEVO
QUJMRShXRUJfQVVUSE4pCisKKyNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVk
ZSAiQXJndW1lbnRDb2RlcnNDRi5oIgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitX
ZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OldlYkF1dGhuUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycygpID0gZGVmYXVsdDsKKwordm9pZCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7Cit9CisKK2Jv
b2wgV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVy
JiBkZWNvZGVyLCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHJlc3VsdCkKK3sK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblBy
b2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45NjViYzI2NWE2Mjc3MGYzNjY0ZGJjOGZmMjA2YWY5MzhiMzc5MjZhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKworbmFtZXNwYWNlIElQQyB7CitjbGFz
cyBEZWNvZGVyOworY2xhc3MgRW5jb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0
cnVjdCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgeworICAgIFdlYkF1dGhuUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycygpOworCisgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVy
JikgY29uc3Q7CisgICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShJUEM6
OkRlY29kZXImLCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL2lvcy9XZWJBdXRoblByb2Nlc3NJ
T1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNz
SU9TLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNiNGEwZjI0OTMyZmEyNmE3MzU0NjQ4N2YyNTlkYjk5ZjVjYWQ4
OWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9pb3Mv
V2ViQXV0aG5Qcm9jZXNzSU9TLm1tCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1w
b3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldlYkF1dGhuUHJvY2Vzcy5oIgorCisjaWYgRU5BQkxF
KFdFQl9BVVRITikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2ltcG9ydCA8V2ViQ29yZS9O
b3RJbXBsZW1lbnRlZC5oPgorI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlVGhyZWFkU3lzdGVtSW50
ZXJmYWNlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlh
cnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJikKK3sKKyAgICBJbml0V2ViQ29yZVRo
cmVhZFN5c3RlbUludGVyZmFjZSgpOworfQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzczo6aW5pdGlh
bGl6ZVByb2Nlc3NOYW1lKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9j
ZXNzOjppbml0aWFsaXplU2FuZGJveChjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRp
b25QYXJhbWV0ZXJzJiwgU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpCit7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikgJiYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Q
cm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhu
UHJvY2Vzcy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxYWIzMzg0NTk0
ZmRkMjk5MGNlNzJkZmViZjEwMmM0YTI1MTU3NzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1tCkBAIC0wLDAg
KzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldlYkF1
dGhuUHJvY2Vzcy5oIgorCisjaWYgRU5BQkxFKFdFQl9BVVRITikgJiYgUExBVEZPUk0oTUFDKQor
CisjaW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCisjaW1wb3J0ICJX
S0ZvdW5kYXRpb24uaCIKKyNpbXBvcnQgIldlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oIgorI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxwYWwv
c3BpL2NvY29hL0xhdW5jaFNlcnZpY2VzU1BJLmg+CisjaW1wb3J0IDxwYWwvc3BpL21hYy9ISVNl
cnZpY2VzU1BJLmg+CisjaW1wb3J0IDxzeXNleGl0cy5oPgorI2ltcG9ydCA8d3RmL01lbW9yeVBy
ZXNzdXJlSGFuZGxlci5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK3ZvaWQgV2ViQXV0aG5Q
cm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJikKK3sKKyAgICAvLyBIYXZpbmcgYSB3aW5kb3cgc2VydmVyIGNvbm5l
Y3Rpb24gaW4gdGhpcyBwcm9jZXNzIHdvdWxkIHJlc3VsdCBpbiBzcGluIGxvZ3MgKDxyZGFyOi8v
cHJvYmxlbS8xMzIzOTExOT4pLgorICAgIE9TU3RhdHVzIGVycm9yID0gU2V0QXBwbGljYXRpb25J
c0RhZW1vbih0cnVlKTsKKyAgICBBU1NFUlRfVU5VU0VEKGVycm9yLCBlcnJvciA9PSBub0Vycik7
CisKKyAgICBsYXVuY2hTZXJ2aWNlc0NoZWNrSW4oKTsKK30KKwordm9pZCBXZWJBdXRoblByb2Nl
c3M6OmluaXRpYWxpemVQcm9jZXNzTmFtZShjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQoreworICAgIE5TU3RyaW5nICphcHBsaWNhdGlv
bk5hbWUgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfU1RSSU5HKCIlQCBXZWIg
QXV0aGVudGljYXRpb24iLCAidmlzaWJsZSBuYW1lIG9mIHRoZSBXZWJBdXRobiBwcm9jZXNzLiBU
aGUgYXJndW1lbnQgaXMgdGhlIGFwcGxpY2F0aW9uIG5hbWUuIiksIChOU1N0cmluZyAqKXBhcmFt
ZXRlcnMudWlQcm9jZXNzTmFtZV07CisgICAgX0xTU2V0QXBwbGljYXRpb25JbmZvcm1hdGlvbkl0
ZW0oa0xTRGVmYXVsdFNlc3Npb25JRCwgX0xTR2V0Q3VycmVudEFwcGxpY2F0aW9uQVNOKCksIF9r
TFNEaXNwbGF5TmFtZUtleSwgKENGU3RyaW5nUmVmKWFwcGxpY2F0aW9uTmFtZSwgbnVsbHB0cik7
Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChjb25zdCBBdXhp
bGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBTYW5kYm94
SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBzYW5kYm94UGFyYW1ldGVycykKK3sKKyAgICAvLyBO
ZWVkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LCBiZWNhdXNlIHNlcnZpY2UgaGFzIGEgZGlmZmVy
ZW50IGJ1bmRsZSBJRC4KKyAgICBOU0J1bmRsZSAqd2ViS2l0MkJ1bmRsZSA9IFtOU0J1bmRsZSBi
dW5kbGVGb3JDbGFzczpOU0NsYXNzRnJvbVN0cmluZyhAIldLV2ViVmlldyIpXTsKKworICAgIHNh
bmRib3hQYXJhbWV0ZXJzLnNldE92ZXJyaWRlU2FuZGJveFByb2ZpbGVQYXRoKFt3ZWJLaXQyQnVu
ZGxlIHBhdGhGb3JSZXNvdXJjZTpAImNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzIiBv
ZlR5cGU6QCJzYiJdKTsKKworICAgIEF1eGlsaWFyeVByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94
KHBhcmFtZXRlcnMsIHNhbmRib3hQYXJhbWV0ZXJzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNz
LnNiLmluIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJL
aXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2ZGJhNjVhMjFkNTE4ZmQ3NzMw
MzQ5NjFmOGRiNWUxOGFlYzkyN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4K
QEAgLTAsMCArMSw0NDAgQEAKKzsgQ29weXJpZ2h0IChDKSAyMDEwLTIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorOworOyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKzsgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCis7IGFyZSBt
ZXQ6Cis7IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Cis7ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzsgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKzsgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorOyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorOworOyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCis7IEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
OyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCis7IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworOyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCis7IENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCis7IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworOyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorOyBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorOyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCis7IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworKHZlcnNpb24gMSkKKyhkZW55IGRlZmF1bHQgKHdpdGggcGFydGlhbC1zeW1ib2xpY2F0
aW9uKSkKKyhhbGxvdyBzeXN0ZW0tYXVkaXQgZmlsZS1yZWFkLW1ldGFkYXRhKQorCis7OzsKKzs7
OyBUaGUgZm9sbG93aW5nIHJ1bGVzIHdlcmUgb3JpZ2luYWxseSBjb250YWluZWQgaW4gJ3N5c3Rl
bS5zYicuIFdlIGFyZSBkdXBsaWNhdGluZyB0aGVtIGhlcmUgc28gd2UgY2FuCis7OzsgcmVtb3Zl
IHVubmVlZGVkIHNhbmRib3ggZXh0ZW5zaW9ucy4KKzs7OworCis7OzsgQWxsb3cgcmVnaXN0cmF0
aW9uIG9mIHBlci1waWQgc2VydmljZXMuCisoYWxsb3cgbWFjaC1yZWdpc3RlciAobG9jYWwtbmFt
ZS1wcmVmaXggIiIpKQorCis7OzsgQWxsb3cgcmVhZCBhY2Nlc3MgdG8gc3RhbmRhcmQgc3lzdGVt
IHBhdGhzLgorKGFsbG93IGZpbGUtcmVhZCoKKyAgICAocmVxdWlyZS1hbGwgKGZpbGUtbW9kZSAj
bzAwMDQpCisgICAgKHJlcXVpcmUtYW55IChzdWJwYXRoICIvTGlicmFyeS9GaWxlc3lzdGVtcy9O
ZXRGU1BsdWdpbnMiKQorICAgIChzdWJwYXRoICIvTGlicmFyeS9BcHBsZS9TeXN0ZW0iKQorICAg
IChzdWJwYXRoICIvTGlicmFyeS9QcmVmZXJlbmNlcy9Mb2dnaW5nIikgICAgICA7IExvZ2dpbmcg
UmV0aGluaworICAgIChzdWJwYXRoICIvU3lzdGVtIikKKyAgICAoc3VicGF0aCAiL3ByaXZhdGUv
dmFyL2RiL2R5bGQiKQorICAgIChzdWJwYXRoICIvcHJpdmF0ZS92YXIvZGIvdGltZXpvbmUiKQor
ICAgIChzdWJwYXRoICIvdXNyL2xpYiIpCisgICAgKHN1YnBhdGggIi91c3Ivc2hhcmUiKSkpKQor
Cis7OzsgQWxsb3cgcmVhZGluZyBpbnRlcm5hbCBwcm9maWxlcyBvbiBkZXZlbG9wbWVudCBidWls
ZHMKKyhhbGxvdyBmaWxlLXJlYWQqCisgICAgKHJlcXVpcmUtYWxsIChmaWxlLW1vZGUgI28wMDA0
KQorICAgIChzdWJwYXRoICIvQXBwbGVJbnRlcm5hbC9MaWJyYXJ5L1ByZWZlcmVuY2VzL0xvZ2dp
bmciKQorICAgIChzeXN0ZW0tYXR0cmlidXRlIGFwcGxlLWludGVybmFsKSkpCisKKzs7OyBBbGxv
dyBtYXBwaW5nIG9mIHN5c3RlbSBmcmFtZXdvcmtzICsgZHlsaWJzCisoYWxsb3cgZmlsZS1tYXAt
ZXhlY3V0YWJsZQorICAgIChzdWJwYXRoICIvTGlicmFyeS9BcHBsZS9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzIikKKyAgICAoc3VicGF0aCAiL0xpYnJhcnkvQXBwbGUvU3lzdGVtL0xpYnJhcnkv
UHJpdmF0ZUZyYW1ld29ya3MiKQorICAgIChzdWJwYXRoICIvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3JrcyIpCisgICAgKHN1YnBhdGggIi9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3JrcyIp
CisgICAgKHN1YnBhdGggIi91c3IvbGliIikKKyAgICAoc3VicGF0aCAiL3Vzci9hcHBsZWludGVy
bmFsL2xpYi9zYW5pdGl6ZXJzIikpCisKKyhhbGxvdyBmaWxlLXJlYWQtbWV0YWRhdGEKKyAgICAo
bGl0ZXJhbCAiL2V0YyIpCisgICAgKGxpdGVyYWwgIi90bXAiKQorICAgIChsaXRlcmFsICIvdmFy
IikKKyAgICAobGl0ZXJhbCAiL3ByaXZhdGUvZXRjL2xvY2FsdGltZSIpKQorCisKKzs7OyBBbGxv
dyBhY2Nlc3MgdG8gc3RhbmRhcmQgc3BlY2lhbCBmaWxlcy4KKyhhbGxvdyBmaWxlLXJlYWQqCisg
ICAgKGxpdGVyYWwgIi9kZXYvYXV0b2ZzX25vd2FpdCIpCisgICAgKGxpdGVyYWwgIi9kZXYvcmFu
ZG9tIikKKyAgICAobGl0ZXJhbCAiL2Rldi91cmFuZG9tIikKKyAgICAobGl0ZXJhbCAiL3ByaXZh
dGUvZXRjL21hc3Rlci5wYXNzd2QiKQorICAgIChsaXRlcmFsICIvcHJpdmF0ZS9ldGMvcGFzc3dk
IikpCisKKyhhbGxvdyBmaWxlLXJlYWQqCisgICAgICAgZmlsZS13cml0ZS1kYXRhCisgICAgKGxp
dGVyYWwgIi9kZXYvbnVsbCIpCisgICAgKGxpdGVyYWwgIi9kZXYvemVybyIpKQorCisoYWxsb3cg
ZmlsZS1yZWFkKgorICAgICAgIGZpbGUtd3JpdGUtZGF0YQorICAgICAgIGZpbGUtaW9jdGwKKyAg
ICAobGl0ZXJhbCAiL2Rldi9kdHJhY2VoZWxwZXIiKSkKKworOzs7IEFsbG93IGNyZWF0aW9uIG9m
IGNvcmUgZHVtcHMuCisoYWxsb3cgZmlsZS13cml0ZS1jcmVhdGUKKyAgICAocmVxdWlyZS1hbGwg
KHByZWZpeCAiL2NvcmVzLyIpCisgICAgICAgICh2bm9kZS10eXBlIFJFR1VMQVItRklMRSkpKQor
Cis7OzsgQWxsb3cgSVBDIHRvIHN0YW5kYXJkIHN5c3RlbSBhZ2VudHMuCisoYWxsb3cgaXBjLXBv
c2l4LXNobS1yZWFkKgorICAgIChpcGMtcG9zaXgtbmFtZSAiYXBwbGUuc2htLm5vdGlmaWNhdGlv
bl9jZW50ZXIiKQorICAgIChpcGMtcG9zaXgtbmFtZS1wcmVmaXggImFwcGxlLmNmcHJlZnMuIikp
CisKKzs7OworOzs7IEVuZCBydWxlcyBvcmlnaW5hbGx5IGNvcGllZCBmcm9tICdzeXN0ZW0uc2In
Cis7OzsKKworOzs7IHByb2Nlc3MtaW5mbyogZGVmYXVsdHMgdG8gYWxsb3c7IGRlbnkgaXQgYW5k
IHRoZW4gYWxsb3cgb3BlcmF0aW9ucyB3ZSBhY3R1YWxseSBuZWVkLgorKGRlbnkgcHJvY2Vzcy1p
bmZvKikKKyhhbGxvdyBwcm9jZXNzLWluZm8tcGlkaW5mbykKKyhhbGxvdyBwcm9jZXNzLWluZm8t
c2V0Y29udHJvbCAodGFyZ2V0IHNlbGYpKQorKGFsbG93IHByb2Nlc3MtY29kZXNpZ25pbmctc3Rh
dHVzKikKKworKGRlbnkgc3lzY3RsKikKKyhhbGxvdyBzeXNjdGwtcmVhZAorICAgIChzeXNjdGwt
bmFtZQorICAgICAgICAiaHcuYnl0ZW9yZGVyIgorICAgICAgICAiaHcuYnVzZnJlcXVlbmN5X21h
eCIKKyAgICAgICAgImh3LmNwdXR5cGUiCisgICAgICAgICJody5tYWNoaW5lIgorICAgICAgICAi
aHcubWVtc2l6ZSIKKyAgICAgICAgImh3Lm1vZGVsIgorICAgICAgICAiaHcubmNwdSIKKyAgICAg
ICAgImh3LnZlY3RvcnVuaXQiCisgICAgICAgICJrZXJuLmJvb3RhcmdzIiA7OyA8cmRhcjovL3By
b2JsZW0vNDc3MzgwMTU+CisgICAgICAgICJrZXJuLmhvc3RuYW1lIgorICAgICAgICAia2Vybi5t
YXhmaWxlc3BlcnByb2MiCisgICAgICAgICJrZXJuLm1lbW9yeXN0YXR1c19sZXZlbCIKKyAgICAg
ICAgImtlcm4ub3Nwcm9kdWN0dmVyc2lvbiIgOzsgPHJkYXI6Ly9wcm9ibGVtLzUxNzU2NzM5Pgor
ICAgICAgICAia2Vybi5vc3ZlcnNpb24iCisgICAgICAgICJrZXJuLnNhZmVib290IgorICAgICAg
ICAia2Vybi52ZXJzaW9uIgorICAgICAgICAibWFjaGRlcC5jcHUuYnJhbmRfc3RyaW5nIgorICAg
ICAgICAic2VjdXJpdHkubWFjLnNhbmRib3guc2VudGluZWwiCisgICAgICAgICJrZXJuLnRjc21f
ZW5hYmxlIgorICAgICAgICAia2Vybi50Y3NtX2F2YWlsYWJsZSIKKyAgICAgICAgInZtLmZvb3Rw
cmludF9zdXNwZW5kIikKKyAgICAoc3lzY3RsLW5hbWUtcmVnZXggIyJeaHcuKGFjdGl2ZXxhdmFp
bCljcHUiKQorICAgIChzeXNjdGwtbmFtZS1yZWdleCAjIl5ody4oYnVzZnJlcXVlbmN5fGNhY2hl
bGluZXNpemV8Y3B1ZnJlcXVlbmN5KHxfbWF4KXxwYWdlc2l6ZXx0YmZyZXF1ZW5jeSkofF9jb21w
YXQpIikKKyAgICAoc3lzY3RsLW5hbWUtcmVnZXggIyJeaHcubC4rY2FjaGVzaXplIikKKyAgICAo
c3lzY3RsLW5hbWUtcmVnZXggIyJeaHcuKGxvZ2ljYWx8cGh5c2ljYWwpY3B1X21heCIpCisgICAg
KHN5c2N0bC1uYW1lLXJlZ2V4ICMiXmh3Lm9wdGlvbmFsXC4iKQorICAgIChzeXNjdGwtbmFtZS1y
ZWdleCAjIl5rZXJuLm9zKHJlbGVhc2V8dHlwZXx2YXJpYW50X3N0YXR1c3x2ZXJzaW9uKSIpCisg
ICAgKHN5c2N0bC1uYW1lLXJlZ2V4ICMiXm5ldC5yb3V0ZXRhYmxlIikKKykKKworKGFsbG93IHN5
c2N0bC13cml0ZQorICAgIChzeXNjdGwtbmFtZQorICAgICAgICAia2Vybi50Y3NtX2VuYWJsZSIp
KQorCisoZGVueSBtYWNoLWxvb2t1cCAoeHBjLXNlcnZpY2UtbmFtZS1wcmVmaXggIiIpKQorKGFs
bG93IG1hY2gtbG9va3VwCisgICAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5QZXJmb3Jt
YW5jZUFuYWx5c2lzLmFuaW1hdGlvbnBlcmZkIikKKyAgICAoeHBjLXNlcnZpY2UtbmFtZSAiY29t
LmFwcGxlLmFjY2Vzc2liaWxpdHkubWVkaWFhY2Nlc3NpYmlsaXR5ZCIpCisgICAgKHhwYy1zZXJ2
aWNlLW5hbWUgImNvbS5hcHBsZS5hdWRpby5TYW5kYm94SGVscGVyIikKKyAgICAoeHBjLXNlcnZp
Y2UtbmFtZSAiY29tLmFwcGxlLmNvcmVtZWRpYS52aWRlb2RlY29kZXIiKQorICAgICh4cGMtc2Vy
dmljZS1uYW1lICJjb20uYXBwbGUuY29yZW1lZGlhLnZpZGVvZW5jb2RlciIpCisgICAgKHhwYy1z
ZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5oaXNlcnZpY2VzLXhwY3NlcnZpY2UiKQorICAgICh4cGMt
c2VydmljZS1uYW1lICJjb20uYXBwbGUucHJpbnQubm9ybWFsaXplcmQiKQorKQorCis7OyBVdGls
aXR5IGZ1bmN0aW9ucyBmb3IgaG9tZSBkaXJlY3RvcnkgcmVsYXRpdmUgcGF0aCBmaWx0ZXJzCiso
ZGVmaW5lIChob21lLXJlZ2V4IGhvbWUtcmVsYXRpdmUtcmVnZXgpCisgIChyZWdleCAoc3RyaW5n
LWFwcGVuZCAiXiIgKHJlZ2V4LXF1b3RlIChwYXJhbSAiSE9NRV9ESVIiKSkgaG9tZS1yZWxhdGl2
ZS1yZWdleCkpKQorCisoZGVmaW5lIChob21lLXN1YnBhdGggaG9tZS1yZWxhdGl2ZS1zdWJwYXRo
KQorICAoc3VicGF0aCAoc3RyaW5nLWFwcGVuZCAocGFyYW0gIkhPTUVfRElSIikgaG9tZS1yZWxh
dGl2ZS1zdWJwYXRoKSkpCisKKyhkZWZpbmUgKGhvbWUtbGl0ZXJhbCBob21lLXJlbGF0aXZlLWxp
dGVyYWwpCisgIChsaXRlcmFsIChzdHJpbmctYXBwZW5kIChwYXJhbSAiSE9NRV9ESVIiKSBob21l
LXJlbGF0aXZlLWxpdGVyYWwpKSkKKworKGRlZmluZSAoYWxsb3ctcmVhZC1kaXJlY3RvcnktYW5k
LWlzc3VlLXJlYWQtZXh0ZW5zaW9ucyBwYXRoKQorICAgIChpZiBwYXRoCisgICAgICAgIChiZWdp
bgorICAgICAgICAgICAgKGFsbG93IGZpbGUtcmVhZCogKHN1YnBhdGggcGF0aCkpCisgICAgICAg
ICAgICAoYWxsb3cgZmlsZS1pc3N1ZS1leHRlbnNpb24gKHJlcXVpcmUtYWxsIChleHRlbnNpb24t
Y2xhc3MgImNvbS5hcHBsZS5hcHAtc2FuZGJveC5yZWFkIikgKHN1YnBhdGggcGF0aCkpKSkpKQor
CisoZGVmaW5lIChhbGxvdy1yZWFkLXdyaXRlLWRpcmVjdG9yeS1hbmQtaXNzdWUtcmVhZC13cml0
ZS1leHRlbnNpb25zIHBhdGgpCisgICAgKGlmIHBhdGgKKyAgICAgICAgKGJlZ2luCisgICAgICAg
ICAgICAoYWxsb3cgZmlsZS1yZWFkKiBmaWxlLXdyaXRlKiAoc3VicGF0aCBwYXRoKSkKKyAgICAg
ICAgICAgIChhbGxvdyBmaWxlLWlzc3VlLWV4dGVuc2lvbiAocmVxdWlyZS1hbGwgKGV4dGVuc2lv
bi1jbGFzcyAiY29tLmFwcGxlLmFwcC1zYW5kYm94LnJlYWQiKSAoc3VicGF0aCBwYXRoKSkpCisg
ICAgICAgICAgICAoYWxsb3cgZmlsZS1pc3N1ZS1leHRlbnNpb24gKHJlcXVpcmUtYWxsIChleHRl
bnNpb24tY2xhc3MgImNvbS5hcHBsZS5hcHAtc2FuZGJveC5yZWFkLXdyaXRlIikgKHN1YnBhdGgg
cGF0aCkpKSkpKQorCis7OyBSZW1vdmUgd2hlbiA8cmRhcjovL3Byb2JsZW0vMjk2NDYwOTQ+IGlz
IGZpeGVkLgorKGRlZmluZSAoSEVYLXBhdHRlcm4tbWF0Y2gtZ2VuZXJhdG9yIHBhdHRlcm4tZGVz
Y3JpcHRvcikKKyAgICAobGV0cmVjICgocGF0dGVybi1zdHJpbmcgIiIpKQorICAgICAgICAoZm9y
LWVhY2ggIChsYW1iZGEgKHJlcGVhdC1jb3VudCkKKyAgICAgICAgICAgIChpZiAoemVybz8gcmVw
ZWF0LWNvdW50KQorICAgICAgICAgICAgICAgIChzZXQhIHBhdHRlcm4tc3RyaW5nIChzdHJpbmct
YXBwZW5kICBwYXR0ZXJuLXN0cmluZyAiLSIpKQorICAgICAgICAgICAgICAgIChsZXQgYXBwZW5k
ZXIgKChjb3VudCByZXBlYXQtY291bnQpKQorICAgICAgICAgICAgICAgICAgICAoaWYgKD4gY291
bnQgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIChiZWdpbgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChzZXQhIHBhdHRlcm4tc3RyaW5nIChzdHJpbmctYXBwZW5kICBwYXR0ZXJuLXN0
cmluZyAiWzAtOUEtRl0iKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwZW5kZXIg
KC0gY291bnQgMSkpKSkpKSkKKyAgICAgICAgICAgIHBhdHRlcm4tZGVzY3JpcHRvcikKKyAgICBw
YXR0ZXJuLXN0cmluZykpCisKKzs7IHJldHVybiBhIHJlZ2V4IHBhdHRlcm4gbWF0Y2hpbmcgc3Ry
aW5nIGZvciA4LTQtNC00LTEyIFVVSURzOgorKGRlZmluZSAodXVpZC1IRVgtcGF0dGVybi1tYXRj
aC1zdHJpbmcpCisgICAgKEhFWC1wYXR0ZXJuLW1hdGNoLWdlbmVyYXRvciAnKDggMCA0IDAgNCAw
IDQgMCAxMikpKQorCis7OyBnbG9iYWwgdG8gaG9sZCB0aGUgY29tcHV0ZWQgVVVJRCBtYXRjaGlu
ZyBwYXR0ZXJuLgorKGRlZmluZSAqdXVpZC1wYXR0ZXJuKiAiIikKKworKGRlZmluZSAodXVpZC1y
ZWdleC1zdHJpbmcpCisgICAgKGlmICh6ZXJvPyAoc3RyaW5nLWxlbmd0aCAqdXVpZC1wYXR0ZXJu
KikpCisgICAgICAgIChzZXQhICp1dWlkLXBhdHRlcm4qICh1dWlkLUhFWC1wYXR0ZXJuLW1hdGNo
LXN0cmluZykpKQorICAgICp1dWlkLXBhdHRlcm4qKQorCis7OyBSZWFkLW9ubHkgcHJlZmVyZW5j
ZXMgYW5kIGRhdGEKKyhhbGxvdyBmaWxlLXJlYWQqCisgICAgOzsgQmFzaWMgc3lzdGVtIHBhdGhz
CisgICAgKHN1YnBhdGggIi9MaWJyYXJ5L0RpY3Rpb25hcmllcyIpCisgICAgKHN1YnBhdGggIi9M
aWJyYXJ5L0ZvbnRzIikKKyAgICAoc3VicGF0aCAiL0xpYnJhcnkvRnJhbWV3b3JrcyIpCisgICAg
KHN1YnBhdGggIi9MaWJyYXJ5L01hbmFnZWQgUHJlZmVyZW5jZXMiKQorICAgIChzdWJwYXRoICIv
TGlicmFyeS9TcGVlY2gvU3ludGhlc2l6ZXJzIikKKyAgICAocmVnZXggIyJeL3ByaXZhdGUvZXRj
Lyhob3N0c3xncm91cHxwYXNzd2QpJCIpCisKKyAgICAobGl0ZXJhbCAiL0xpYnJhcnkvQXBwbGlj
YXRpb24gU3VwcG9ydC9DcmFzaFJlcG9ydGVyL1N1Ym1pdERpYWdJbmZvLmRvbWFpbnMiKQorCisg
ICAgOzsgU3lzdGVtIGFuZCB1c2VyIHByZWZlcmVuY2VzCisgICAgKGhvbWUtbGl0ZXJhbCAiLy5D
RlVzZXJUZXh0RW5jb2RpbmciKQorCisgICAgOzsgRklYTUU6IFRoaXMgc2hvdWxkIGJlIHJlbW92
ZWQgd2hlbiA8cmRhcjovL3Byb2JsZW0vODk1Nzg0NT4gaXMgZml4ZWQuCisgICAgKGhvbWUtc3Vi
cGF0aCAiL0xpYnJhcnkvRm9udHMiKQorCisgICAgKHN1YnBhdGggIi9MaWJyYXJ5L0F1ZGlvL1Bs
dWctSW5zL0hBTCIpCisKKyAgICAoaG9tZS1zdWJwYXRoICIvTGlicmFyeS9EaWN0aW9uYXJpZXMi
KSkKKworKGFsbG93IGZpbGUtcmVhZC1kYXRhCisgICAgKGxpdGVyYWwgIi91c3IvbG9jYWwvbGli
L2xvZyIpIDsgPHJkYXI6Ly9wcm9ibGVtLzM2NjI5NDk1PgorICAgIDs7IE5lZWRlZCBmb3IgQUVT
MyBzdXBwb3J0CisgICAgKHN1YnBhdGggIi9MaWJyYXJ5L0F1ZGlvL1BsdWctSW5zL0NvbXBvbmVu
dHMiKSkKKworOzsgUHJlZmVyZW5jZXMgc3VwcG9ydAorKGFsbG93IHVzZXItcHJlZmVyZW5jZS1y
ZWFkCisgICAgKHByZWZlcmVuY2UtZG9tYWluCisgICAgICAgICJrQ0ZQcmVmZXJlbmNlc0FueUFw
cGxpY2F0aW9uIgorICAgICAgICAiY29tLmFwcGxlLkFjY2Vzc2liaWxpdHkiCisgICAgICAgICJj
b20uYXBwbGUuQVRTIgorICAgICAgICAiY29tLmFwcGxlLkNvcmVHcmFwaGljcyIKKyAgICAgICAg
ImNvbS5hcHBsZS5Eb3dubG9hZEFzc2Vzc21lbnQiCisgICAgICAgICJjb20uYXBwbGUuSElUb29s
Ym94IgorICAgICAgICAiY29tLmFwcGxlLkxhdW5jaFNlcnZpY2VzIgorICAgICAgICAiY29tLmFw
cGxlLk11bHRpdG91Y2hTdXBwb3J0IiA7OyBGSVhNRTogUmVtb3ZlIHdoZW4gPHJkYXI6Ly9wcm9i
bGVtLzEzMDExNjMzPiBpcyBmaXhlZC4KKyAgICAgICAgImNvbS5hcHBsZS5TZXJ2aWNlc01lbnUu
U2VydmljZXMiIDs7IE5lZWRlZCBmb3IgTlNBdHRyaWJ1dGVkU3RyaW5nIDxyZGFyOi8vcHJvYmxl
bS8xMDg0NDMyMT4KKyAgICAgICAgImNvbS5hcHBsZS5WaWV3QnJpZGdlIiA7OyBOZWVkZWQgZm9y
IElucHV0IGVsZW1lbnRzLgorICAgICAgICAiY29tLmFwcGxlLldlYkZvdW5kYXRpb24iCisgICAg
ICAgICJjb20uYXBwbGUuYXZmb3VuZGF0aW9uIgorICAgICAgICAiY29tLmFwcGxlLmF2Zm91bmRh
dGlvbi5mcmVjZW50cyIgOzsgPHJkYXI6Ly9wcm9ibGVtLzMzMTM3MDI5PgorICAgICAgICAiY29t
LmFwcGxlLmF2Zm91bmRhdGlvbi52aWRlb3BlcmZvcm1hbmNlaHVkIiA7OyA8cmRhcjovL3Byb2Js
ZW0vMzE1OTQ1Njg+CisgICAgICAgICJjb20uYXBwbGUuY29yZW1lZGlhIgorICAgICAgICAiY29t
LmFwcGxlLmNyeXB0byIKKyAgICAgICAgImNvbS5hcHBsZS5kcml2ZXIuQXBwbGVCbHVldG9vdGhN
dWx0aXRvdWNoLm1vdXNlIgorICAgICAgICAiY29tLmFwcGxlLmRyaXZlci5BcHBsZUJsdWV0b290
aE11bHRpdG91Y2gudHJhY2twYWQiCisgICAgICAgICJjb20uYXBwbGUuZHJpdmVyLkFwcGxlSElE
TW91c2UiCisgICAgICAgICJjb20uYXBwbGUubG9va3VwLnNoYXJlZCIKKyAgICAgICAgImNvbS5h
cHBsZS5tZWRpYWFjY2Vzc2liaWxpdHkiIDs7IE5lZWRlZCBmb3IgY3VzdG9tIGNhcHRpb24gc3R5
bGVzCisgICAgICAgICJjb20uYXBwbGUubmV0d29ya0Nvbm5lY3QiCisgICAgICAgICJjb20uYXBw
bGUuc3BlZWNoLnZvaWNlLnByZWZzIgorICAgICAgICAiY29tLmFwcGxlLnN5c3RlbXNvdW5kIgor
ICAgICAgICAiY29tLmFwcGxlLnVuaXZlcnNhbGFjY2VzcyIKKyAgICAgICAgImVkdS5taXQuS2Vy
YmVyb3MiCisgICAgICAgICJwYnMiIDs7IE5lZWRlZCBmb3IgTlNBdHRyaWJ1dGVkU3RyaW5nIDxy
ZGFyOi8vcHJvYmxlbS8xMDg0NDMyMT4KKykpCisKKzsgKFRlbXBvcmFyeSkgYmFja3dhcmQgY29t
cGF0aWJpbGl0eSB3aXRoIG5vbi1DRlByZWZlcmVuY2VzIHJlYWRlcnMuCisoYWxsb3cgZmlsZS1y
ZWFkKgorICAgIChsaXRlcmFsICIvTGlicmFyeS9QcmVmZXJlbmNlcy9jb20uYXBwbGUuVmlld0Jy
aWRnZS5wbGlzdCIpKQorCis7IEZJWE1FOiBUaGlzIGlzIG5lZWRlZCBmb3Igc29tZSBzZWN1cml0
eSBmcmFtZXdvcmsgY2FsbHMgKHRoYXQgdXNlIG5vbi1DRlByZWZlcmVuY2VzIHJlYWRlcnMpCiso
YWxsb3cgZmlsZS1yZWFkLWRhdGEKKyAgICAobGl0ZXJhbCAiL0xpYnJhcnkvUHJlZmVyZW5jZXMv
Y29tLmFwcGxlLnNlY3VyaXR5LnBsaXN0IikKKyAgICAoaG9tZS1zdWJwYXRoICIvTGlicmFyeS9Q
cmVmZXJlbmNlcy9jb20uYXBwbGUuc2VjdXJpdHkucGxpc3QiKSkKKworOzsgT24tZGlzayBXZWJL
aXQyIGZyYW1ld29yayBsb2NhdGlvbiwgdG8gYWNjb3VudCBmb3IgZGVidWcgaW5zdGFsbGF0aW9u
cyBvdXRzaWRlIG9mIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzLAorOzsgYW5kIHRvIGFsbG93
IGlzc3VpbmcgZXh0ZW5zaW9ucy4KKyhhbGxvdy1yZWFkLWRpcmVjdG9yeS1hbmQtaXNzdWUtcmVh
ZC1leHRlbnNpb25zIChwYXJhbSAiV0VCS0lUMl9GUkFNRVdPUktfRElSIikpCisKKzs7IEFsbG93
IGlzc3VpbmcgZXh0ZW5zaW9ucyB0byBzeXN0ZW0gbGlicmFyaWVzIHRoYXQgdGhlIE5ldHdvcmsg
cHJvY2VzcyBjYW4gYWxyZWFkeSByZWFkLgorOzsgVGhpcyBpcyB0byBhdm9pZCB3YXJuaW5ncyBh
dHRlbXB0aW5nIHRvIGNyZWF0ZSBleHRlbnNpb25zIGZvciB0aGVzZSByZXNvdXJjZXMuCisoYWxs
b3ctcmVhZC1kaXJlY3RvcnktYW5kLWlzc3VlLXJlYWQtZXh0ZW5zaW9ucyAiL1N5c3RlbS9MaWJy
YXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1dlYkluc3BlY3RvclVJLmZyYW1ld29yayIpCisKKzs7IFNh
bmRib3ggZXh0ZW5zaW9ucworKGRlZmluZSAoYXBwbHktcmVhZC1hbmQtaXNzdWUtZXh0ZW5zaW9u
IG9wIHBhdGgtZmlsdGVyKQorICAgIChvcCBmaWxlLXJlYWQqIHBhdGgtZmlsdGVyKQorICAgIChv
cCBmaWxlLWlzc3VlLWV4dGVuc2lvbiAocmVxdWlyZS1hbGwgKGV4dGVuc2lvbi1jbGFzcyAiY29t
LmFwcGxlLmFwcC1zYW5kYm94LnJlYWQiKSBwYXRoLWZpbHRlcikpKQorKGRlZmluZSAoYXBwbHkt
d3JpdGUtYW5kLWlzc3VlLWV4dGVuc2lvbiBvcCBwYXRoLWZpbHRlcikKKyAgICAob3AgZmlsZS13
cml0ZSogcGF0aC1maWx0ZXIpCisgICAgKG9wIGZpbGUtaXNzdWUtZXh0ZW5zaW9uIChyZXF1aXJl
LWFsbCAoZXh0ZW5zaW9uLWNsYXNzICJjb20uYXBwbGUuYXBwLXNhbmRib3gucmVhZC13cml0ZSIp
IHBhdGgtZmlsdGVyKSkpCisoZGVmaW5lIChyZWFkLW9ubHktYW5kLWlzc3VlLWV4dGVuc2lvbnMg
cGF0aC1maWx0ZXIpCisgICAgKGFwcGx5LXJlYWQtYW5kLWlzc3VlLWV4dGVuc2lvbiBhbGxvdyBw
YXRoLWZpbHRlcikpCisoZGVmaW5lIChyZWFkLXdyaXRlLWFuZC1pc3N1ZS1leHRlbnNpb25zIHBh
dGgtZmlsdGVyKQorICAgIChhcHBseS1yZWFkLWFuZC1pc3N1ZS1leHRlbnNpb24gYWxsb3cgcGF0
aC1maWx0ZXIpCisgICAgKGFwcGx5LXdyaXRlLWFuZC1pc3N1ZS1leHRlbnNpb24gYWxsb3cgcGF0
aC1maWx0ZXIpKQorKHJlYWQtb25seS1hbmQtaXNzdWUtZXh0ZW5zaW9ucyAoZXh0ZW5zaW9uICJj
b20uYXBwbGUuYXBwLXNhbmRib3gucmVhZCIpKQorKHJlYWQtd3JpdGUtYW5kLWlzc3VlLWV4dGVu
c2lvbnMgKGV4dGVuc2lvbiAiY29tLmFwcGxlLmFwcC1zYW5kYm94LnJlYWQtd3JpdGUiKSkKKyhh
bGxvdyBtYWNoLWxvb2t1cCAoZXh0ZW5zaW9uICJjb20uYXBwbGUuYXBwLXNhbmRib3gubWFjaCIp
KSA7OyBGSVhNRTogU2hvdWxkIGJlIHJlbW92ZWQgd2hlbiA8cmRhcjovL3Byb2JsZW0vMTMwNjYy
MDY+IGlzIGZpeGVkLgorCisoYWxsb3cgbWFjaC1sb29rdXAKKyNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAorICAgICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1l
dHJ5KQorI2VuZGlmCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21w
b25lbnRSZWdpc3RyYXIiKQorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF3ZGQiKQorICAg
IChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmNmcHJlZnNkLmFnZW50IikKKyAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5jb29raWVkIikKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5kaWFn
bm9zdGljZCIpCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuaWNvbnNlcnZpY2VzIikKKyAg
ICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5pY29uc2VydmljZXMuc3RvcmUiKQorICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLm1vYmlsZWFzc2V0ZCIpCisgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUucG93ZXJsb2cucGx4cGNsb2dnZXIueHBjIikKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS5zeXN0ZW0ubG9nZ2VyIikKKykKKworOzsgVmFyaW91cyBzZXJ2aWNlcyByZXF1aXJlZCBi
eSBBcHBLaXQgYW5kIG90aGVyIGZyYW1ld29ya3MKKyhhbGxvdyBtYWNoLWxvb2t1cAorI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKKyAgICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5Gb250T2JqZWN0c1NlcnZlciIpCisjZW5kaWYKKyAgICAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS5Qb3dlck1hbmFnZW1lbnQuY29udHJvbCIpCisgICAgICAgKGdsb2Jh
bC1uYW1lICJjb20uYXBwbGUuU3lzdGVtQ29uZmlndXJhdGlvbi5jb25maWdkIikKKyAgICAgICAo
Z2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hbmFseXRpY3NkIikKKyAgICAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS5hc3NlcnRpb25kLnByb2Nlc3Nhc3NlcnRpb25jb25uZWN0aW9uIikKKyAgICAg
ICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby5TeXN0ZW1Tb3VuZFNlcnZlci1PU1giKQor
ICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLmF1ZGlvaGFsZCIpCisgICAgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY2ZwcmVmc2QuZGFlbW9uIikKKyAgICAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS5jb3Jlc2VydmljZXMubGF1bmNoc2VydmljZXNkIikKKyAgICAgICAo
Z2xvYmFsLW5hbWUgImNvbS5hcHBsZS5mb250cyIpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUubWVkaWFyZW1vdGVkLnhwYyIpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
bG9nZCIpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubG9nZC5ldmVudHMiKQorICAg
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmxzZC5tYXBkYiIpCisgICAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUubHNrZGQiKSA7OyA8cmRhcjovL3Byb2JsZW0vNDkxMjM4NTU+CisgICAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUudGNjZCIpCisgICAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUudGNjZC5zeXN0ZW0iKQorICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLnRy
dXN0ZC5hZ2VudCIpCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0
MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuQ0FSZW5kZXJTZXJ2ZXIiKSA7IE5lZWRlZCBmb3IgW0NBQ29udGV4dCByZW1vdGVDb250ZXh0
V2l0aE9wdGlvbnNdCisjZWxzZQorICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRv
d3NlcnZlci5hY3RpdmUiKQorI2VuZGlmCispCisKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKzs7IDxyZGFyOi8v
cHJvYmxlbS80NzI2ODE2Nj4KKyhhbGxvdyBtYWNoLWxvb2t1cCAoeHBjLXNlcnZpY2UtbmFtZSAi
Y29tLmFwcGxlLk1UTENvbXBpbGVyU2VydmljZSIpKQorI2VuZGlmCisKKyNpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkK
KyhkZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxvZykKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS5Db3JlU2VydmljZXMuY29yZXNlcnZpY2VzZCIpCisgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuRGlza0FyYml0cmF0aW9uLmRpc2thcmJpdHJhdGlvbmQiKQorICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLlZpZXdCcmlkZ2VBdXhpbGlhcnkiKQorICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLndpbmRvd3NlcnZlci5hY3RpdmUiKSkKKyNlbmRpZgorCis7OyBOZWVkZWQgdG8gc3Vw
cG9ydCBlbmNyeXB0ZWQgbWVkaWEgcGxheWJhY2sgPHJkYXI6Ly9wcm9ibGVtLzQwMDM4NDc4Pgor
KGFsbG93IG1hY2gtbG9va3VwCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuU2VjdXJpdHlT
ZXJ2ZXIiKQorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLm9jc3BkIikpCisKKyhhbGxvdyBm
aWxlLXJlYWQqIGZpbGUtd3JpdGUqIChzdWJwYXRoICIvcHJpdmF0ZS92YXIvZGIvbWRzL3N5c3Rl
bSIpKSA7OyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIDxyZGFyOi8vcHJvYmxl
bS85NTM4NDE0PiBpcyBmaXhlZC4KKworKGFsbG93IGZpbGUtcmVhZCoKKyAgICAgICAoc3VicGF0
aCAiL3ByaXZhdGUvdmFyL2RiL21kcyIpCisgICAgICAgKGxpdGVyYWwgIi9wcml2YXRlL3Zhci9k
Yi9EZXRhY2hlZFNpZ25hdHVyZXMiKSkKKworKGFsbG93IGlwYy1wb3NpeC1zaG0tcmVhZCogaXBj
LXBvc2l4LXNobS13cml0ZS1kYXRhIGlwYy1wb3NpeC1zaG0td3JpdGUtY3JlYXRlCisgICAgICAg
KGlwYy1wb3NpeC1uYW1lICJjb20uYXBwbGUuQXBwbGVEYXRhYmFzZUNoYW5nZWQiKSkKKworOzsg
Q29yZUZvdW5kYXRpb24uIFdlIGRvbid0IGltcG9ydCBjb20uYXBwbGUuY29yZWZvdW5kYXRpb24u
c2IsIGJlY2F1c2UgaXQgYWxsb3dzIHVubmVjZXNzYXJ5IGFjY2VzcyB0byBwYXN0ZWJvYXJkLgor
KGFsbG93IG1hY2gtbG9va3VwCisgICAgKGdsb2JhbC1uYW1lLXJlZ2V4ICMiXmNvbS5hcHBsZS5k
aXN0cmlidXRlZF9ub3RpZmljYXRpb25zIikKKyNpZiAhSEFWRShDU0NIRUNLRklYRElTQUJMRSkK
KyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Db3JlU2VydmljZXMuY29yZXNlcnZpY2VzZCIp
CisjZW5kaWYKKykKKworKGFsbG93IGZpbGUtcmVhZC1kYXRhCisgICAgKGxpdGVyYWwgIi9kZXYv
YXV0b2ZzX25vd2FpdCIpKSA7IFVzZWQgYnkgQ0YgdG8gY2lyY3VtdmVudCBhdXRvbW91bnQgdHJp
Z2dlcnMKKyhhbGxvdyBpcGMtcG9zaXgtc2htCisgICAgKGlwYy1wb3NpeC1uYW1lLXJlZ2V4ICMi
XkNGUEJTOiIpKSA7IDxyZGFyOi8vcHJvYmxlbS8xMzc1NzQ3NT4KKyhhbGxvdyBzeXN0ZW0tZnNj
dGwgKGZzY3RsLWNvbW1hbmQgKF9JTyAiaCIgNDcpKSkKKworOzsgR3JhcGhpY3MKKyhzeXN0ZW0t
Z3JhcGhpY3MpCisKKzs7IE5ldHdvcmtpbmcKKyhhbGxvdyBuZXR3b3JrLW91dGJvdW5kCisgICAg
ICAgOzsgTG9jYWwgbUROU1Jlc3BvbmRlciBmb3IgRE5TLCBhcmJpdHJhcnkgb3V0Ym91bmQgVENQ
CisgICAgICAgOzsgTm90ZTogVGhpcyBpcyBuZWVkZWQgZm9yIHNvbWUgbWVkaWEgcGxheWJhY2sg
ZmVhdHVyZXMuIDxyZGFyOi8vcHJvYmxlbS8zODE5MTU3ND4KKyAgICAgICA7OyBSZW1vdmUgdGhp
cyBwZXJtaXNzaW9uIHdoZW4gPHJkYXI6Ly9wcm9ibGVtLzM4MjQwNTcyPiBpcyBmaXhlZC4KKyAg
ICAgICAobGl0ZXJhbCAiL3ByaXZhdGUvdmFyL3J1bi9tRE5TUmVzcG9uZGVyIikKKyAgICAgICA7
OyBPYmpDIG1hcF9pbWFnZXMgbmVlZHMgdG8gc2VuZCBsb2dnaW5nIGRhdGEgdG8gc3lzbG9nLiA8
cmRhcjovL3Byb2JsZW0vMzk3Nzg5MTg+CisgICAgICAgKGxpdGVyYWwgIi9wcml2YXRlL3Zhci9y
dW4vc3lzbG9nIikKKyAgICAgICAocmVtb3RlIHRjcCkpCisKKzs7IENGTmV0d29yaworKGFsbG93
IGZpbGUtcmVhZC1kYXRhIChwYXRoICIvcHJpdmF0ZS92YXIvZGIvbnN1cmxzdG9yYWdlZC9kYWZz
YURhdGEuYmluIikpCisKKyNpZiBQTEFURk9STShNQUMpCis7OyBGSVhNRSBzaG91bGQgYmUgcmVt
b3ZlZCB3aGVuIDxyZGFyOi8vcHJvYmxlbS85MzQ3MjA1PiArIHJlbGF0ZWQgcmFkYXIgaW4gU2Fm
YXJpIGlzIGZpeGVkCisoYWxsb3cgbWFjaC1sb29rdXAKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5zeXN0ZW0ubG9nZ2VyIikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5z
eXN0ZW0ubm90aWZpY2F0aW9uX2NlbnRlciIpKQorI2VuZGlmCisKKyhpZiAoZGVmaW5lZD8gJ3Zu
b2RlLXR5cGUpCisgICAgICAgIChkZW55IGZpbGUtd3JpdGUtY3JlYXRlICh2bm9kZS10eXBlIFNZ
TUxJTkspKSkKKworOzsgUmVzZXJ2ZSBhIG5hbWVzcGFjZSBmb3IgYWRkaXRpb25hbCBwcm90ZWN0
ZWQgZXh0ZW5kZWQgYXR0cmlidXRlcy4KKyhkZW55IGZpbGUtcmVhZC14YXR0ciBmaWxlLXdyaXRl
LXhhdHRyICh4YXR0ci1yZWdleCAjIl5jb21cLmFwcGxlXC5zZWN1cml0eVwucHJpdmF0ZVwuIikp
CisKKyhkZW55IGZpbGUtcmVhZCogZmlsZS13cml0ZSogKHdpdGggbm8tbG9nKQorICAgICAgIDs7
IEZJWE1FOiBTaG91bGQgYmUgcmVtb3ZlZCBhZnRlciA8cmRhcjovL3Byb2JsZW0vMTA0NjM4ODE+
IGlzIGZpeGVkLgorICAgICAgIChob21lLWxpdGVyYWwgIi9MaWJyYXJ5L1ByZWZlcmVuY2VzL2Nv
bS5hcHBsZS5MYXVuY2hTZXJ2aWNlcy5RdWFyYW50aW5lRXZlbnRzVjIiKQorICAgICAgIChob21l
LWxpdGVyYWwgIi9MaWJyYXJ5L1ByZWZlcmVuY2VzL2NvbS5hcHBsZS5MYXVuY2hTZXJ2aWNlcy5R
dWFyYW50aW5lRXZlbnRzVjItam91cm5hbCIpKQorCis7OyBEZW55IGFjY2VzcyBuZWVkZWQgZm9y
IHVubmVjZXNzYXJ5IE5TQXBwbGljYXRpb24gaW5pdGlhbGl6YXRpb24uCis7OyBGSVhNRTogVGhp
cyBjYW4gYmUgcmVtb3ZlZCBvbmNlIDxyZGFyOi8vcHJvYmxlbS8xMzAxMTYzMz4gaXMgZml4ZWQu
CisoZGVueSBmaWxlLXJlYWQqICh3aXRoIG5vLWxvZykKKyAgICAgICAoc3VicGF0aCAiL0xpYnJh
cnkvSW5wdXRNYW5hZ2VycyIpCisgICAgICAgKGhvbWUtc3VicGF0aCAiL0xpYnJhcnkvSW5wdXRN
YW5hZ2VycyIpKQorKGRlbnkgdXNlci1wcmVmZXJlbmNlLXJlYWQgKHdpdGggbm8tbG9nKQorICAg
IChwcmVmZXJlbmNlLWRvbWFpbiAiY29tLmFwcGxlLnNwZWVjaC5yZWNvZ25pdGlvbi5BcHBsZVNw
ZWVjaFJlY29nbml0aW9uLnByZWZzIikpCisoZGVueSBtYWNoLWxvb2t1cCAod2l0aCBuby1sb2cp
CisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY29yZXNlcnZpY2VzLmFwcGxlZXZlbnRz
IikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5wYXN0ZWJvYXJkLjEiKQorICAgICAg
IChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLnNwZWVjaC5yZWNvZ25pdGlvbnNlcnZlciIpKQorI2lm
IFBMQVRGT1JNKE1BQykKKzs7IEFsc28gcGFydCBvZiB1bm5lY2Vzc2FyeSBOU0FwcGxpY2F0aW9u
IGluaXRpYWxpemF0aW9uLCBidXQgd2UgY2FuJ3QgYmxvY2sgYWNjZXNzIHRvIHRoZXNlIHlldCwg
c2VlIDxyZGFyOi8vcHJvYmxlbS8xMzg2OTc2NT4uCisoYWxsb3cgZmlsZS1yZWFkKgorICAgICAg
IChzdWJwYXRoICIvTGlicmFyeS9Db21wb25lbnRzIikKKyAgICAgICAoc3VicGF0aCAiL0xpYnJh
cnkvS2V5Ym9hcmQgTGF5b3V0cyIpCisgICAgICAgKHN1YnBhdGggIi9MaWJyYXJ5L0lucHV0IE1l
dGhvZHMiKQorICAgICAgIChob21lLXN1YnBhdGggIi9MaWJyYXJ5L0NvbXBvbmVudHMiKQorICAg
ICAgIChob21lLXN1YnBhdGggIi9MaWJyYXJ5L0tleWJvYXJkIExheW91dHMiKQorICAgICAgICho
b21lLXN1YnBhdGggIi9MaWJyYXJ5L0lucHV0IE1ldGhvZHMiKSkKKyNlbmRpZgorCis7OyBEYXRh
IERldGVjdG9ycworKGFsbG93IGZpbGUtcmVhZCogKHN1YnBhdGggIi9wcml2YXRlL3Zhci9kYi9k
YXRhZGV0ZWN0b3JzL3N5cyIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggOTg0MzRjYmFjMGMyZjYxYTJkNmUyODA3MTZlY2Q3Mjg4Mjg4
OTI4Mi4uNmRiMDRiM2RmZmYyNmZkOGI0YzkzNTQzYmY1YWM1NWMzNjU5MjVjMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNCw3ICsx
NCw3IEBACiAJCQkJQkNGRkNBOEExNjBENkRFQTAwM0RGMzE1IC8qIEFkZCBYUENTZXJ2aWNlcyBz
eW1saW5rICovLAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKLQkJCQk1N0E5RkYwQzI1MkMz
MUQ2MDA2QTIwNDAgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCQk1NzQyQTJGQTI1MzU2
MTlEMDBCN0JBMTQgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCQlCQ0E4RDQ2ODE1QkNF
MEQ2MDA5REMxRjEgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCQkzNzJFQkI0OTIwMTdF
NkNGMDAwODUwNjQgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCQlCQzgyODQ0NjE2QjRG
RjY2MDBBMjc4RkUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKQEAgLTEwOTcsOCArMTA5Nywy
NiBAQAogCQk1NzBEQUFDMjIzMDM3MzAzMDBFOEZDMDQgLyogTmZjQ29ubmVjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcwREFBQzAyMzAzNzMw
MzAwRThGQzA0IC8qIE5mY0Nvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNTcwREFBQzYyMzAzN0Y3RjAw
RThGQzA0IC8qIFdLTkZSZWFkZXJTZXNzaW9uRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MERBQUM0MjMwMzdGN0UwMEU4RkMwNCAvKiBX
S05GUmVhZGVyU2Vzc2lvbkRlbGVnYXRlLmggKi87IH07CiAJCTU3MERBQUNBMjMwMzg1RkQwMEU4
RkMwNCAvKiBDdGFwTmZjRHJpdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1NzBEQUFDODIzMDM4NUZEMDBFOEZDMDQgLyogQ3RhcE5mY0RyaXZlci5o
ICovOyB9OworCQk1NzJFQkJCRjI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Db25uZWN0aW9u
VG9XZWJQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkJCMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRo
bkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk1NzJF
QkJDMDI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzTWVz
c2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
MkVCQkJDMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NN
ZXNzYWdlcy5oICovOyB9OworCQk1NzJFQkJDMTI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Q
cm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3MkVCQkJEMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nl
c3NNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk1NzJFQkJDMjI1MzZBNjBBMDAwNTUyQjMg
LyogV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkJFMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRoblBy
b2Nlc3NNZXNzYWdlcy5oICovOyB9OworCQk1NzJFQkJDNDI1MzZBQjg0MDAwNTUyQjMgLyogY29t
LmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkMzMjUzNkFCODQwMDA1NTJCMyAvKiBjb20u
YXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYiAqLzsgfTsKKwkJNTcyRUJCQzkyNTM2QUZE
NTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzJFQkJDNjI1MzZBRkQ1MDAwNTUyQjMgLyogV2Vi
QXV0aG5Qcm9jZXNzUHJveHkuaCAqLzsgfTsKKwkJNTcyRUJCQ0MyNTM2QjA0RjAwMDU1MkIzIC8q
IFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzJFQkJDQjI1MzZCMDRGMDAwNTUyQjMgLyogV2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8uaCAqLzsgfTsKKwkJNTcyRUJCQ0YyNTM2QkIxMTAwMDU1
MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkNEMjUzNkJCMTAwMDA1
NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJ
CTU3MkVCQkQwMjUzNkJCMTEwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eU1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzJFQkJD
RTI1MzZCQjEwMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzUHJveHlNZXNzYWdlcy5oICovOyB9
OworCQk1NzJFQkJENTI1MzZDODg1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyRUJC
RDIyNTM2Qzg4NTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLzsgfTsK
KwkJNTcyRUJCRDcyNTM3RUJBRTAwMDU1MkIzIC8qIEV4dHJhUHJpdmF0ZVN5bWJvbHNGb3JUQVBJ
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQ0E2ODBE
MzFFNjkwNEI1MDA3MzFEMjAgLyogRXh0cmFQcml2YXRlU3ltYm9sc0ZvclRBUEkuaCAqLzsgfTsK
IAkJNTcyRkQ0NDMyMjI2NUNFMjAwQTFFQ0MzIC8qIFdlYlZpZXdEaWRNb3ZlVG9XaW5kb3dPYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcy
RkQ0NDEyMjI2NUNFMjAwQTFFQ0MzIC8qIFdlYlZpZXdEaWRNb3ZlVG9XaW5kb3dPYnNlcnZlci5o
ICovOyB9OwogCQk1NzQyMTc5MjI0MDBFMjg2MDAyQjMwM0QgLyogTG9jYWxBdXRoZW50aWNhdGlv
blNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc0
MjE3OTEyNDAwRTA5ODAwMkIzMDNEIC8qIExvY2FsQXV0aGVudGljYXRpb25TUEkuaCAqLzsgfTsK
KwkJNTc0MkEyRUIyNTM1NjEzRjAwQjdCQTE0IC8qIEF1eGlsaWFyeVByb2Nlc3NNYWluLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDRTkxMjBGMjI5
M0MyNUYwMDVCRUM3OCAvKiBBdXhpbGlhcnlQcm9jZXNzTWFpbi5jcHAgKi87IH07CisJCTU3NDJB
MkVDMjUzNTYxM0YwMEI3QkExNCAvKiBYUENTZXJ2aWNlTWFpbi5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI4Mzk2MTZCNDdFQzQwMEEyNzhGRSAv
KiBYUENTZXJ2aWNlTWFpbi5tbSAqLzsgfTsKKwkJNTc0MkEyRUUyNTM1NjEzRjAwQjdCQTE0IC8q
IEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkMzREU0NjgxNUE5MTc2MzAwOEQyNkZDIC8qIEZvdW5kYXRpb24uZnJh
bWV3b3JrICovOyB9OworCQk1NzQyQTJFRjI1MzU2MTNGMDBCN0JBMTQgLyogV2ViS2l0LmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhE
QzJFRjVCMDQ4NkE2OTQwMDk4QjIxNiAvKiBXZWJLaXQuZnJhbWV3b3JrICovOyB9OworCQk1NzQy
QTMwODI1MzU4QTA0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzQyQTMw
NjI1MzU4QTA0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgg
Ki87IH07CisJCTU3NDJBMzBEMjUzNThFRkQwMEI3QkExNCAvKiBXZWJBdXRobkNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU3NDJBMzBBMjUzNThFRkQwMEI3QkExNCAvKiBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuaCAqLzsgfTsKKwkJNTc0MkEzMTgyNTM2NDhFNTAwQjdCQTE0IC8qIFdlYkF1dGhuUHJv
Y2Vzcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc0
MkEzMTUyNTM2NDhFNDAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzcy5oICovOyB9OwogCQk1NzQ3
MjhEMTIzNDU2RTk4MDAxNzAwQUYgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc0NzI4Q0YyMzQ1NkU5
ODAwMTcwMEFGIC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1NzQ3MjhENDIzNDU3MEFFMDAxNzAw
QUYgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzQ3MjhEMzIzNDU3MEFFMDAxNzAwQUYg
LyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEludGVybmFsLmggKi87IH07CiAJCTU3NTk3RUI5
MjE4MTFEOUEwMDM3RjkyNCAvKiBDdGFwSGlkRHJpdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzU5N0VCNzIxODExRDlBMDAzN0Y5MjQgLyogQ3Rh
cEhpZERyaXZlci5oICovOyB9OwpAQCAtMTEwNiw3ICsxMTI0LDYgQEAKIAkJNTc1QjFCQjgyM0NF
OUJGQzAwMjA2MzlBIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwQTE5NDQxQzhGRjFBODAwRkUw
RUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuY3BwICovOyB9OwogCQk1NzVCMUJCOTIz
Q0U5QzBCMDAyMDYzOUEgLyogU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTIyNkQ1MjA3RDE4NDYwMEY3
ODQyMCAvKiBTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwICovOyB9OwogCQk1NzVCMUJCQTIz
Q0U5QzEzMDAyMDYzOUEgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RUExQzc5ODBCQjAwRUI2QTkz
IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCAqLzsgfTsKLQkJNTc2QkNENUUyNTJGRDIyRDAw
Q0U5Rjg3IC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzREU0NjgxNUE5MTc2MzAwOEQyNkZDIC8qIEZvdW5k
YXRpb24uZnJhbWV3b3JrICovOyB9OwogCQk1NzZDQTlENzIyQjg2MjE4MDAzMDE0M0MgLyogU09B
dXRob3JpemF0aW9uTlNVUkxFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3RkQzMTczMjJCMzUxNDgwMDhEMEU4QiAvKiBTT0F1dGhvcml6YXRp
b25OU1VSTEV4dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTU3NzJGMjA2MjE3REJENkEwMDU2QkYyQyAvKiBIaWRTZXJ2aWNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzcyRjIwNDIxN0RCRDZB
MDA1NkJGMkMgLyogSGlkU2VydmljZS5oICovOyB9OwogCQk1NzdGRjc4MjIzNDZFODFDMDA0RURG
QjkgLyogQVBJV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc3RkY3ODEyMzQ2RTgxQzAwNEVERkI5IC8q
IEFQSVdlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQuaCAqLzsgfTsKQEAgLTExMTUsOCArMTEz
Miw2IEBACiAJCTU3OUYxQkY2MjNDODBEQjYwMEM3RDRCNCAvKiBfV0tXZWJBdXRoZW50aWNhdGlv
bkFzc2VydGlvblJlc3BvbnNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1NzlGMUJGNDIzQzgwREI2MDBDN0Q0QjQgLyogX1dLV2ViQXV0aGVudGljYXRp
b25Bc3NlcnRpb25SZXNwb25zZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTU3OUYxQkY5MjNDODBFQzYwMEM3RDRCNCAvKiBfV0tXZWJBdXRoZW50
aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3OUYxQkY4MjNDODBFQzYwMEM3RDRCNCAvKiBfV0tX
ZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlSW50ZXJuYWwuaCAqLzsgfTsKIAkJNTc5
RjFCRkMyM0M4MTFDRjAwQzdENEI0IC8qIEFQSVdlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVz
cG9uc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
OUYxQkZBMjNDODExQ0YwMEM3RDRCNCAvKiBBUElXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJl
c3BvbnNlLmggKi87IH07Ci0JCTU3QTlGRjA5MjUyQkVBRjAwMDZBMjA0MCAvKiBtYWluLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdBOUZGMDgyNTJC
RUFGMDAwNkEyMDQwIC8qIG1haW4ubW0gKi87IH07Ci0JCTU3QTlGRjFEMjUyQzZDRTYwMDZBMjA0
MCAvKiBsaWJXVEYuYSBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU3QTlGRjE1MjUyQzZBRUYwMDZBMjA0MCAvKiBsaWJXVEYuYSAqLzsgfTsKIAkJNTdB
QzhGNTAyMTdGRUVEOTAwNTU0MzhDIC8qIEhpZENvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QUM4RjRFMjE3RkVFRDkwMDU1NDM4QyAv
KiBIaWRDb25uZWN0aW9uLmggKi87IH07CiAJCTU3QjRCNDYwMjBCNTA0QUMwMEQ0QUQ3OSAvKiBD
bGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29uc3RhbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0I0QjQ1RTIwQjUwNEFCMDBENEFE
NzkgLyogQ2xpZW50Q2VydGlmaWNhdGVBdXRoZW50aWNhdGlvblhQQ0NvbnN0YW50cy5oICovOyB9
OwogCQk1N0I4MjY0MTIzMDRFQjNFMDBCNzJFQjAgLyogTmVhckZpZWxkU1BJLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0I4MjY0MDIzMDRFQjNFMDBC
NzJFQjAgLyogTmVhckZpZWxkU1BJLmggKi87IH07CkBAIC0xMTI2LDcgKzExNDEsNiBAQAogCQk1
N0I4MjY0QzIzMDYwM0MxMDBCNzJFQjAgLyogTW9ja05mY1NlcnZpY2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QjgyNjRBMjMwNjAzQzEwMEI3MkVC
MCAvKiBNb2NrTmZjU2VydmljZS5oICovOyB9OwogCQk1N0JCRUE2RDIyQkMwQkZFMDAyNzM5OTUg
LyogU09BdXRob3JpemF0aW9uTG9hZFBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTdCQkVBNkMyMkJDMEJGRTAwMjczOTk1IC8qIFNPQXV0aG9y
aXphdGlvbkxvYWRQb2xpY3kuaCAqLzsgfTsKIAkJNTdDNjI0NEIyMzQ2NzlBNDAwMzgzRkU3IC8q
IFdlYkF1dGhlbnRpY2F0aW9uRmxhZ3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3QzYyNDRBMjM0Njc5QTQwMDM4M0ZFNyAvKiBXZWJBdXRoZW50aWNh
dGlvbkZsYWdzLmggKi87IH07Ci0JCTU3RENFRDZGMjE0MkVFNjMwMDE2Qjg0NyAvKiBXZWJBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VENkEyMTQyRUFFMjAwMTZCODQ3IC8qIFdlYkF1dGhl
bnRpY2F0b3JDb29yZGluYXRvck1lc3NhZ2VzLmggKi87IH07CiAJCTU3RENFRDcwMjE0MkVFNjgw
MDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RD
RUQ2QzIxNDJFQUY5MDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1N0RDRUQ3MTIxNDJFRTZDMDAxNkI4NDcgLyog
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VENkQyMTQyRUFGQTAwMTZCODQ3
IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaCAqLzsgfTsKIAkJ
NTdEQ0VEQUMyMTRDNjAyNzAwMTZCODQ3IC8qIExvY2FsQXV0aGVudGljYXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VEQTEyMTQ5QzFFMjAw
MTZCODQ3IC8qIExvY2FsQXV0aGVudGljYXRvci5oICovOyB9OwpAQCAtMTk3MCwxMiArMTk4NCwy
NiBAQAogCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSBDMENFNzI4NTEyNDdFNjY4MDBCQzBFQzQ7
CiAJCQlyZW1vdGVJbmZvID0gIkRlcml2ZWQgU291cmNlcyI7CiAJCX07Ci0JCTU3QTlGRjBCMjUy
QzMxRDYwMDZBMjA0MCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCTU3NDJBMkU3
MjUzNTYxM0YwMEI3QkExNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZF
ODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CiAJCQlwcm94eVR5cGUgPSAxOwot
CQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA1N0E5RkVGQjI1MkJEOEFBMDA2QTIwNDA7Ci0JCQly
ZW1vdGVJbmZvID0gV2ViQXV0aGVudGljYXRpb25BZ2VudDsKKwkJCXJlbW90ZUdsb2JhbElEU3Ry
aW5nID0gRTFBQzJFMjcyMEY3Qjk0QzAwQjA4OTdEOworCQkJcmVtb3RlSW5mbyA9ICJVbmxvY2sg
S2V5Y2hhaW4iOworCQl9OworCQk1NzQyQTJFOTI1MzU2MTNGMDBCN0JBMTQgLyogUEJYQ29udGFp
bmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJ
Y29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2Jq
ZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gOERD
MkVGNEYwNDg2QTY5NDAwOThCMjE2OworCQkJcmVtb3RlSW5mbyA9IFdlYktpdDsKKwkJfTsKKwkJ
NTc0MkEyRjkyNTM1NjE5RDAwQjdCQTE0IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsK
KwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4
NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlw
ZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDU3NDJBMkU1MjUzNTYxM0YwMEI3QkEx
NDsKKwkJCXJlbW90ZUluZm8gPSBXZWJBdXRoZW50aWNhdGlvbjsKIAkJfTsKIAkJQkM4MjgzRDQx
NkI0QzAxRjAwQTI3OEZFIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9
IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKQEAgLTIwODksMTUgKzIxMTcsNiBAQAogCQkJbmFtZSA9
ICJDb3B5IFNoaW1zIjsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwotCQk1N0E5RkVGQTI1MkJEOEFBMDA2QTIwNDAgLyogQ29weUZpbGVzICovID0gewot
CQkJaXNhID0gUEJYQ29weUZpbGVzQnVpbGRQaGFzZTsKLQkJCWJ1aWxkQWN0aW9uTWFzayA9IDIx
NDc0ODM2NDc7Ci0JCQlkc3RQYXRoID0gL3Vzci9zaGFyZS9tYW4vbWFuMS87Ci0JCQlkc3RTdWJm
b2xkZXJTcGVjID0gMDsKLQkJCWZpbGVzID0gKAotCQkJKTsKLQkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAxOwotCQl9OwogCQk3Q0IxNkZFRTE3MjRCQTA1MDA3QTBBOTUg
LyogQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhDb3B5
RmlsZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAgLTM2
MzMsOCArMzY1Miw2IEBACiAJCTUxMDUyMzcxMUM3M0QyMkIwMDc5OTNDQiAvKiBXZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViSURC
Q29ubmVjdGlvblRvU2VydmVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTA1MjM3MjFDNzNEMzdCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVy
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJp
dmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VSZWNlaXZl
ci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxMDUyMzczMUM3
M0QzN0IwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNz
YWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQk1
MTA1MjM3NzFDNzNEQTcwMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VSZWNlaXZlci5jcHA7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTUxMDUyMzc4MUM3M0RBNzAw
MDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlcy5o
OyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnRN
ZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1MTA1QjBE
NDE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5j
cHA7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDVCMEQ1MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uLmg7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTA1QjBGMzE2MzA4NzJF
MDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOZXR3b3Jr
UHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MzY1NSwxMiArMzY3Miw2IEBACiAJCTUxMTA2NUZCMjNFQzk1NkIwMDU0NDNENiAvKiBXS0NvbnRl
bnRXb3JsZEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQ29u
dGVudFdvcmxkSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTExMEFF
MEExMzNDMTZDQjAwNzI3MTdBIC8qIFdLSWNvbkRhdGFiYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLSWNvbkRhdGFiYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTExMEFFMEIxMzNDMTZDQjAwNzI3MTdBIC8qIFdLSWNvbkRhdGFiYXNl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLSWNvbkRhdGFiYXNlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxMThFOUEyMUYyOTU5NjMwMDNFRjlGNSAvKiBT
dG9yYWdlUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU3RvcmFnZVByb2Nl
c3NQcm94eU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1N0b3JhZ2VQ
cm9jZXNzUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OwotCQk1MTE4RTlBMzFGMjk1OTYzMDAzRUY5RjUgLyogU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5l
Y3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gU3RvcmFnZVRvV2Vi
UHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9TdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5j
cHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTUxMThFOUE0MUYyOTU5
NjMwMDNFRjlGNSAvKiBTdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFN0b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaDsgcGF0
aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25N
ZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQk1MTE4RTlB
NTFGMjk1OTYzMDAzRUY5RjUgLyogU3RvcmFnZVByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gU3RvcmFnZVByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TdG9yYWdlUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5j
cHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTUxMThFOUE2MUYyOTU5
NjMwMDNFRjlGNSAvKiBTdG9yYWdlUHJvY2Vzc01lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFN0
b3JhZ2VQcm9jZXNzTWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3Rv
cmFnZVByb2Nlc3NNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OwotCQk1MTE4RTlBNzFGMjk1OTYzMDAzRUY5RjUgLyogU3RvcmFnZVByb2Nlc3NQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTdG9yYWdlUHJvY2Vzc1Byb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3RvcmFnZVBy
b2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNU
U19ESVI7IH07CiAJCTUxMUY3RDNGMUVCMUJDRUUwMEU0N0I4MyAvKiBXZWJzaXRlRGF0YVN0b3Jl
UGFyYW1ldGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJz
aXRlRGF0YVN0b3JlUGFyYW1ldGVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUxMUY3RDQwMUVCMUJDRUUwMEU0N0I4MyAvKiBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJzaXRlRGF0YVN0b3JlUGFyYW1l
dGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTFGOEE3NzEzOEI0NjA5MDBB
OTVGNDQgLyogU2VjSXRlbVNoaW1MaWJyYXJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFNlY0l0ZW1TaGltTGlicmFyeS5oOyBwYXRoID0gLi4vLi4vV2ViUHJvY2Vzcy9tYWMv
U2VjSXRlbVNoaW1MaWJyYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zOTA2
LDggKzM5MTcsMzcgQEAKIAkJNTcwREFBQzUyMzAzN0Y3RTAwRThGQzA0IC8qIFdLTkZSZWFkZXJT
ZXNzaW9uRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS05GUmVhZGVyU2Vzc2lv
bkRlbGVnYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzBEQUFDODIzMDM4
NUZEMDBFOEZDMDQgLyogQ3RhcE5mY0RyaXZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDdGFwTmZjRHJp
dmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MERBQUM5MjMwMzg1RkQwMEU4
RkMwNCAvKiBDdGFwTmZjRHJpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEN0YXBOZmNEcml2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzJFQkJCOTI1MzZBMDZFMDAw
NTUyQjMgLyogSW5mby1pT1MucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0OyBuYW1lID0gIkluZm8taU9TLnBsaXN0IjsgcGF0
aCA9ICJXZWJBdXRoblByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL1dlYkF1dGhu
U2VydmljZS9JbmZvLWlPUy5wbGlzdCI7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJ
NTcyRUJCQkEyNTM2QTA2RTAwMDU1MkIzIC8qIEluZm8tT1NYLnBsaXN0ICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdDsgbmFtZSA9ICJJ
bmZvLU9TWC5wbGlzdCI7IHBhdGggPSAiV2ViQXV0aG5Qcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2Ev
WFBDU2VydmljZS9XZWJBdXRoblNlcnZpY2UvSW5mby1PU1gucGxpc3QiOyBzb3VyY2VUcmVlID0g
U09VUkNFX1JPT1Q7IH07CisJCTU3MkVCQkJCMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRobkNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCQkMyNTM2
QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzc01lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MkVCQkJE
MjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzTWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCQkUyNTM2
QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc01lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkF1dGhuUHJvY2Vzc01lc3NhZ2VzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTU3MkVCQkMzMjUzNkFCODQwMDA1NTJCMyAvKiBjb20uYXBwbGUu
V2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBjb20uYXBw
bGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTcyRUJCQzUyNTM2QUZENTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkF1dGhuUHJvY2Vzc1Byb3h5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCQzYyNTM2QUZENTAwMDU1
MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYkF1dGhuUHJvY2Vzc1Byb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTU3MkVCQkM3MjUzNkFGRDUwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJBdXRoblByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCQ0IyNTM2QjA0RjAw
MDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MkVCQkNEMjUzNkJCMTAwMDA1NTJCMyAvKiBXZWJB
dXRoblByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJBdXRoblByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MkVCQkNFMjUzNkJCMTAwMDA1NTJCMyAv
KiBXZWJBdXRoblByb2Nlc3NQcm94eU1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNTcyRUJCRDEyNTM2Qzg4NTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
QXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTU3MkVCQkQyMjUzNkM4ODUwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCRDMyNTM2Qzg4NTAwMDU1
MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcyRkQ0NDEyMjI2NUNFMjAwQTFFQ0MzIC8qIFdlYlZp
ZXdEaWRNb3ZlVG9XaW5kb3dPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWaWV3RGlkTW92
ZVRvV2luZG93T2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc0MjE3
OTEyNDAwRTA5ODAwMkIzMDNEIC8qIExvY2FsQXV0aGVudGljYXRpb25TUEkuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTG9jYWxBdXRoZW50aWNhdGlvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1NzQyQTJGNzI1MzU2MTNGMDBCN0JBMTQgLyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRo
bi54cGMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJ3
cmFwcGVyLnhwYy1zZXJ2aWNlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gY29tLmFwcGxl
LldlYktpdC5XZWJBdXRobi54cGM7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07
CisJCTU3NDJBMzA2MjUzNThBMDQwMEI3QkExNCAvKiBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aG5Qcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3
NDJBMzA3MjUzNThBMDQwMEI3QkExNCAvKiBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXV0aG5Qcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTc0MkEzMEEyNTM1OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBdXRobkNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTc0MkEzMEIyNTM1
OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
biAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3NDJBMzBDMjUzNThF
RkQwMEI3QkExNCAvKiBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTc0MkEzMTMyNTM2NDhFNDAw
QjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzcy5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBXZWJBdXRoblByb2Nlc3MubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTU3NDJBMzE0MjUzNjQ4RTQwMEI3QkExNCAvKiBXZWJBdXRoblByb2Nlc3MuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTc0MkEzMTUyNTM2NDhFNDAwQjdCQTE0IC8q
IFdlYkF1dGhuUHJvY2Vzcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJB
dXRoblByb2Nlc3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTc0MkEzMUEyNTM2
NzVFOTAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzc0lPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYkF1dGhuUHJvY2Vzc0lPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTc0MkEzMUMyNTM2NzVGNjAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzc01hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdlYkF1dGhuUHJvY2Vzc01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTc0MkEzMUQyNTM2NzVGNjAwQjdCQTE0IC8qIGNvbS5hcHBsZS5XZWJLaXQu
V2ViQXV0aG5Qcm9jZXNzLnNiLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9j
ZXNzLnNiLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzQyQTMxRTI1MzY5NDkz
MDBCN0JBMTQgLyogV2ViQXV0aG5TZXJ2aWNlRW50cnlQb2ludC5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdlYkF1dGhuU2VydmljZUVudHJ5UG9pbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU3NDcyOENGMjM0NTZFOTgwMDE3MDBBRiAvKiBfV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc0NzI4RDAyMzQ1NkU5ODAwMTcwMEFGIC8qIF9X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tXZWJB
dXRoZW50aWNhdGlvblBhbmVsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzQ3
MjhEMzIzNDU3MEFFMDAxNzAwQUYgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEludGVybmFs
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxJbnRlcm5hbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzkzNywxMiArMzk3Nyw3IEBACiAJCTU3OUYx
QkY4MjNDODBFQzYwMEM3RDRCNCAvKiBfV0tXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3Bv
bnNlSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLV2ViQXV0aGVudGljYXRpb25Bc3NlcnRp
b25SZXNwb25zZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3OUYx
QkZBMjNDODExQ0YwMEM3RDRCNCAvKiBBUElXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3Bv
bnNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSVdlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9u
c2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc5RjFCRkIyM0M4MTFDRjAwQzdE
NEI0IC8qIEFQSVdlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQVBJV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3QTlGRUZDMjUyQkQ4QUEwMDZBMjA0MCAvKiBj
b20uYXBwbGUuV2ViS2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQuRGV2ZWxvcG1lbnQgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNo
LW8uZXhlY3V0YWJsZSI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGNvbS5hcHBsZS5XZWJL
aXQuV2ViQXV0aGVudGljYXRpb25BZ2VudC5EZXZlbG9wbWVudDsgc291cmNlVHJlZSA9IEJVSUxU
X1BST0RVQ1RTX0RJUjsgfTsKLQkJNTdBOUZGMDcyNTJCRTZFMDAwNkEyMDQwIC8qIFdlYkF1dGhl
bnRpY2F0aW9uQWdlbnQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gV2ViQXV0aGVudGljYXRpb25B
Z2VudC54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTdBOUZGMDgyNTJC
RUFGMDAwNkEyMDQwIC8qIG1haW4ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IG5hbWUgPSBtYWluLm1tOyBwYXRoID0gRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L21h
aW4ubW07IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKLQkJNTdBOUZGMEEyNTJCRjVDMzAw
NkEyMDQwIC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3QTlGRjBEMjUyQzM5N0EwMDZBMjA0MCAvKiBjb20uYXBw
bGUud2Via2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQucGxpc3QgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IGNv
bS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGljYXRpb25BZ2VudC5wbGlzdDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNTdBOUZGMEYyNTJDNUQ5RDAwNkEyMDQwIC8qIFdlYkF1dGhlbnRp
Y2F0aW9uQWdlbnQuZW50aXRsZW1lbnRzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC5lbnRpdGxlbWVudHM7IHBhdGggPSBXZWJBdXRo
ZW50aWNhdGlvbkFnZW50LmVudGl0bGVtZW50czsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTdBOUZGMDcyNTJCRTZFMDAwNkEyMDQwIC8qIFdlYkF1dGhuU2VydmljZS54Y2NvbmZpZyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNj
b25maWc7IHBhdGggPSBXZWJBdXRoblNlcnZpY2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTU3QTlGRjE1MjUyQzZBRUYwMDZBMjA0MCAvKiBsaWJXVEYuYSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgcGF0
aCA9IGxpYldURi5hOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1N0FD
OEY0RTIxN0ZFRUQ5MDA1NTQzOEMgLyogSGlkQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
aWRDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3QUM4RjRGMjE3
RkVFRDkwMDU1NDM4QyAvKiBIaWRDb25uZWN0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
SGlkQ29ubmVjdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM5NjAsOCAr
Mzk5NSw2IEBACiAJCTU3QkJFQTZDMjJCQzBCRkUwMDI3Mzk5NSAvKiBTT0F1dGhvcml6YXRpb25M
b2FkUG9saWN5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNPQXV0aG9yaXphdGlvbkxvYWRQb2xpY3kuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdDM0U4QUMyNDI0OTBENTAwMUUyMjA5IC8q
IFdlYkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
QXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTU3QzYyNDRBMjM0Njc5QTQwMDM4M0ZFNyAvKiBXZWJBdXRoZW50aWNhdGlvbkZsYWdzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYkF1dGhlbnRpY2F0aW9uRmxhZ3MuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNTdEQ0VENkEyMTQyRUFFMjAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0
b3JDb29yZGluYXRvck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvck1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvck1lc3NhZ2VzLmg7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTU3RENFRDZCMjE0MkVBRTIwMDE2Qjg0
NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2Vi
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTdEQ0VENkMyMTQyRUFGOTAwMTZCODQ3IC8qIFdl
YkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRv
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIv
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1N0RDRUQ2RDIxNDJFQUZBMDAxNkI4
NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94
eU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhlbnRpY2F0
b3JDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RT
X0RJUjsgfTsKIAkJNTdEQ0VEODQyMTQ3MzYzQTAwMTZCODQ3IC8qIEF1dGhlbnRpY2F0b3JNYW5h
Z2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JNYW5hZ2VyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC01Mjg1LDcgKzUzMTgsNiBAQAogCQlERjg0Q0VFMjI0OUFBMjFG
MDA5MDk2RjYgLyogV0tQREZIVURWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBuYW1lID0gV0tQREZIVURWaWV3Lm1tOyBwYXRoID0gUERGL1dLUERGSFVEVmlldy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREY4NENFRTMyNDlBQTIxRjAwOTA5NkY2IC8q
IFdLUERGSFVEVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS1BERkhV
RFZpZXcuaDsgcGF0aCA9IFBERi9XS1BERkhVRFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTEwNUZFNTMxOEQ3QjlERTAwOEY1N0E4IC8qIEVkaXRpbmdSYW5nZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0aW5nUmFuZ2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJRTExNUM3MTUxOTBGOEEyNTAwRUNDNTE2IC8qIGNvbS5hcHBsZS5X
ZWJLaXQuU3RvcmFnZS5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBjb20uYXBwbGUuV2ViS2l0
LlN0b3JhZ2Uuc2I7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL2NvbS5hcHBsZS5XZWJL
aXQuU3RvcmFnZS5zYjsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJRTEz
M0ZEODkxNDIzREQ3RjAwRkM3QkZCIC8qIFdlYktpdC5pY25zICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UuaWNuczsgbmFtZSA9IFdlYktpdC5p
Y25zOyBwYXRoID0gUmVzb3VyY2VzL1dlYktpdC5pY25zOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMTRBOTU0NzE2RTAxNkE0MDA2OERFODIgLyogTmV0d29ya1Byb2Nlc3NQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0
d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMTRBOTU0ODE2RTAxNkE0MDA2OERFODIgLyogTmV0d29ya1Byb2Nlc3NQbGF0Zm9y
bVN0cmF0ZWdpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya1By
b2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTU0NzAsMTIgKzU1MDIsMTIgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKLQkJNTdBOUZFRjkyNTJCRDhBQTAwNkEyMDQwIC8qIEZyYW1l
d29ya3MgKi8gPSB7CisJCTU3NDJBMkVEMjUzNTYxM0YwMEI3QkExNCAvKiBGcmFtZXdvcmtzICov
ID0gewogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCi0JCQkJNTc2QkNENUUyNTJGRDIyRDAwQ0U5
Rjg3IC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCi0JCQkJNTdBOUZG
MUQyNTJDNkNFNjAwNkEyMDQwIC8qIGxpYldURi5hIGluIEZyYW1ld29ya3MgKi8sCisJCQkJNTc0
MkEyRUUyNTM1NjEzRjAwQjdCQTE0IC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8sCisJCQkJNTc0MkEyRUYyNTM1NjEzRjAwQjdCQTE0IC8qIFdlYktpdC5mcmFtZXdvcmsg
aW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTU1MjcsNyArNTU1OSw3IEBACiAJCQkJMkQ5RkIyMjgyMzc1
MjM4MzAwNDlGOTM2IC8qIGNvbS5hcHBsZS5XZWJLaXQuR1BVLnhwYyAqLywKIAkJCQlCQzgyODNC
MTE2QjRCRjc3MDBBMjc4RkUgLyogY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nLnhwYyAqLywK
IAkJCQlCQzgyODQxRjE2QjRGREY2MDBBMjc4RkUgLyogY29tLmFwcGxlLldlYktpdC5QbHVnaW4u
NjQueHBjICovLAotCQkJCTU3QTlGRUZDMjUyQkQ4QUEwMDZBMjA0MCAvKiBjb20uYXBwbGUuV2Vi
S2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQuRGV2ZWxvcG1lbnQgKi8sCisJCQkJNTc0MkEyRjcy
NTM1NjEzRjAwQjdCQTE0IC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4ueHBjICovLAogCQkJ
CTM3MkVCQjQ2MjAxN0U2NDMwMDA4NTA2NCAvKiBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQu
RGV2ZWxvcG1lbnQueHBjICovLAogCQkJCUJDM0RFNDY2MTVBOTE3NjMwMDhEMjZGQyAvKiBjb20u
YXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjICovLAogCQkJCTFBQzI1RkIwMTJBNDhFQTcwMEJE
MjY3MSAvKiBQbHVnaW5Qcm9jZXNzU2hpbS5keWxpYiAqLywKQEAgLTU2NzIsNyArNTcwNCw2IEBA
CiAJCQkJQzBDRTcyREIxMjQ3RThGNzAwQkMwRUM0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8s
CiAJCQkJMUExRDIxMTcxOTFEOTk2QzAwMDE2MTlGIC8qIE1pZ3JhdGVIZWFkZXJzRnJvbVdlYktp
dExlZ2FjeS5tYWtlICovLAogCQkJCTFBMUQyMTE2MTkxRDk5NUMwMDAxNjE5RiAvKiBwb3N0cHJv
Y2Vzcy1mcmFtZXdvcmstaGVhZGVycy5zaCAqLywKLQkJCQk1N0E5RkVFRjI1MkJCNzBDMDA2QTIw
NDAgLyogRGFlbW9ucyAqLywKIAkJCQlCQzJFNkU3NDExNDE5NkYwMDBBNjNCMUUgLyogUGxhdGZv
cm0gKi8sCiAJCQkJMUFBRERGNEIxMEQ4MkFGMDAwRDNENjNEIC8qIFNoYXJlZCAqLywKIAkJCQlC
QzAzMkRDMzEwRjQzODI2MDA1OEMxNUEgLyogVUlQcm9jZXNzICovLApAQCAtNTY4MCw2ICs1NzEx
LDcgQEAKIAkJCQk1MTBDQzdEQTE2MTM4RTAxMDBEMDNFRDMgLyogTmV0d29ya1Byb2Nlc3MgKi8s
CiAJCQkJMUEwRUM2QjAxMjRCQkQzNjAwN0VGNEE1IC8qIFBsdWdpblByb2Nlc3MgKi8sCiAJCQkJ
MkQ5RkIxRkYyMzc1MjA5RDAwNDlGOTM2IC8qIEdQVVByb2Nlc3MgKi8sCisJCQkJNTc0MkEyRkYy
NTM1NzU4MDAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2VzcyAqLywKIAkJCQlDMENFNzI5RDEyNDdF
NzFEMDBCQzBFQzQgLyogRGVyaXZlZCBTb3VyY2VzICovLAogCQkJCTFERUM5N0FCMjQ2QjY4NjUw
MDdDODNGNCAvKiBGZWF0dXJlRmxhZ3MgKi8sCiAJCQkJMDg5QzE2NjVGRTg0MTE1OEMwMkFBQzA3
IC8qIFJlc291cmNlcyAqLywKQEAgLTU4ODEsNyArNTkxMyw3IEBACiAJCQkJQTFFREQyREMxODg0
QjlCNTAwQkJGRTk4IC8qIFNlY0l0ZW1TaGltLnhjY29uZmlnICovLAogCQkJCTUxODNCMzkzMTM3
OUY4NUMwMEU4NzU0RSAvKiBTaGltLnhjY29uZmlnICovLAogCQkJCTFBNEY5NzZFMTAwRTdCNjYw
MDYzN0ExOCAvKiBWZXJzaW9uLnhjY29uZmlnICovLAotCQkJCTU3QTlGRjA3MjUyQkU2RTAwMDZB
MjA0MCAvKiBXZWJBdXRoZW50aWNhdGlvbkFnZW50LnhjY29uZmlnICovLAorCQkJCTU3QTlGRjA3
MjUyQkU2RTAwMDZBMjA0MCAvKiBXZWJBdXRoblNlcnZpY2UueGNjb25maWcgKi8sCiAJCQkJMzcy
RUJCNEEyMDE3RTc2MDAwMDg1MDY0IC8qIFdlYkNvbnRlbnRTZXJ2aWNlLkRldmVsb3BtZW50Lnhj
Y29uZmlnICovLAogCQkJCUJDQUNDNDBFMTZCMEI4QTgwMEI2RTA5MiAvKiBXZWJDb250ZW50U2Vy
dmljZS54Y2NvbmZpZyAqLywKIAkJCQlCQ0I4NkY0QjExNkFBQUNEMDBDRTIwQjcgLyogV2ViS2l0
LnhjY29uZmlnICovLApAQCAtODExNiw2ICs4MTQ4LDc1IEBACiAJCQlwYXRoID0gY29jb2E7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk1NzQyQTJGRjI1MzU3NTgwMDBCN0JB
MTQgLyogV2ViQXV0aG5Qcm9jZXNzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGls
ZHJlbiA9ICgKKwkJCQk1NzQyQTMwMDI1MzU3NTgwMDBCN0JBMTQgLyogRW50cnlQb2ludCAqLywK
KwkJCQk1NzQyQTMxOTI1MzY3NUU5MDBCN0JBMTQgLyogaW9zICovLAorCQkJCTU3NDJBMzFCMjUz
Njc1RjYwMEI3QkExNCAvKiBtYWMgKi8sCisJCQkJNTc0MkEzMEMyNTM1OEVGRDAwQjdCQTE0IC8q
IFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgKi8sCisJCQkJNTc0MkEzMEEyNTM1
OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oICovLAorCQkJ
CTU3NDJBMzBCMjUzNThFRkQwMEI3QkExNCAvKiBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MubWVzc2FnZXMuaW4gKi8sCisJCQkJNTc0MkEzMTQyNTM2NDhFNDAwQjdCQTE0IC8qIFdlYkF1
dGhuUHJvY2Vzcy5jcHAgKi8sCisJCQkJNTc0MkEzMTUyNTM2NDhFNDAwQjdCQTE0IC8qIFdlYkF1
dGhuUHJvY2Vzcy5oICovLAorCQkJCTU3NDJBMzEzMjUzNjQ4RTQwMEI3QkExNCAvKiBXZWJBdXRo
blByb2Nlc3MubWVzc2FnZXMuaW4gKi8sCisJCQkJNTc0MkEzMDcyNTM1OEEwNDAwQjdCQTE0IC8q
IFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi8sCisJCQkJNTc0MkEzMDYy
NTM1OEEwNDAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oICov
LAorCQkJKTsKKwkJCXBhdGggPSBXZWJBdXRoblByb2Nlc3M7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OworCQk1NzQyQTMwMDI1MzU3NTgwMDBCN0JBMTQgLyogRW50cnlQb2ludCAq
LyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNTc0MkEzMDEy
NTM1NzU4MDAwQjdCQTE0IC8qIENvY29hICovLAorCQkJKTsKKwkJCXBhdGggPSBFbnRyeVBvaW50
OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNTc0MkEzMDEyNTM1NzU4MDAw
QjdCQTE0IC8qIENvY29hICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9
ICgKKwkJCQk1NzQyQTMwMjI1MzU3NTgwMDBCN0JBMTQgLyogWFBDU2VydmljZSAqLywKKwkJCSk7
CisJCQlwYXRoID0gQ29jb2E7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk1
NzQyQTMwMjI1MzU3NTgwMDBCN0JBMTQgLyogWFBDU2VydmljZSAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNTc0MkEzMDMyNTM1NzU4MDAwQjdCQTE0IC8q
IFdlYkF1dGhuU2VydmljZSAqLywKKwkJCQk1NzQyQTMxRTI1MzY5NDkzMDBCN0JBMTQgLyogV2Vi
QXV0aG5TZXJ2aWNlRW50cnlQb2ludC5tbSAqLywKKwkJCSk7CisJCQlwYXRoID0gWFBDU2Vydmlj
ZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTU3NDJBMzAzMjUzNTc1ODAw
MEI3QkExNCAvKiBXZWJBdXRoblNlcnZpY2UgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJ
CWNoaWxkcmVuID0gKAorCQkJCTU3MkVCQkI5MjUzNkEwNkUwMDA1NTJCMyAvKiBJbmZvLWlPUy5w
bGlzdCAqLywKKwkJCQk1NzJFQkJCQTI1MzZBMDZFMDAwNTUyQjMgLyogSW5mby1PU1gucGxpc3Qg
Ki8sCisJCQkpOworCQkJcGF0aCA9IFdlYkF1dGhuU2VydmljZTsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CisJCTU3NDJBMzE5MjUzNjc1RTkwMEI3QkExNCAvKiBpb3MgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTU3NDJBMzFBMjUzNjc1
RTkwMEI3QkExNCAvKiBXZWJBdXRoblByb2Nlc3NJT1MubW0gKi8sCisJCQkpOworCQkJcGF0aCA9
IGlvczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTU3NDJBMzFCMjUzNjc1
RjYwMEI3QkExNCAvKiBtYWMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAorCQkJCTU3NDJBMzFEMjUzNjc1RjYwMEI3QkExNCAvKiBjb20uYXBwbGUuV2ViS2l0Lldl
YkF1dGhuUHJvY2Vzcy5zYi5pbiAqLywKKwkJCQk1NzQyQTMxQzI1MzY3NUY2MDBCN0JBMTQgLyog
V2ViQXV0aG5Qcm9jZXNzTWFjLm1tICovLAorCQkJKTsKKwkJCXBhdGggPSBtYWM7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk1NzUwNzVBNjIwQUI3NUFCMDA2OTNFQTkgLyog
bWFjICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTgxNTks
NiArODI2MCwxMCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNTc2MDgyOEMyMDI5ODU0MjAwMTE2
Njc4IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAgKi8sCiAJCQkJNTc2MDgyOEIy
MDI5ODU0MjAwMTE2Njc4IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oICovLAorCQkJ
CTU3MkVCQkQxMjUzNkM4ODUwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmNw
cCAqLywKKwkJCQk1NzJFQkJEMjI1MzZDODg1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbi5oICovLAorCQkJCTU3MkVCQkQzMjUzNkM4ODUwMDA1NTJCMyAvKiBXZWJBdXRoblBy
b2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluICovLAorCQkJCTU3MkVCQkNCMjUzNkIwNEYwMDA1
NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5oICovLAogCQkJKTsKIAkJCXBh
dGggPSBXZWJBdXRoZW50aWNhdGlvbjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC04
MTgxLDI5ICs4Mjg2LDEzIEBACiAJCQkJNTc2MDgyOTYyMDJCRDhCQTAwMTE2Njc4IC8qIFdlYkF1
dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmNwcCAqLywKIAkJCQk1NzYwODI5NTIwMkJEOEJB
MDAxMTY2NzggLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaCAqLywKIAkJCQk1
NzYwODI5OTIwMkJEQUUyMDAxMTY2NzggLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJv
eHkubWVzc2FnZXMuaW4gKi8sCisJCQkJNTcyRUJCQzUyNTM2QUZENTAwMDU1MkIzIC8qIFdlYkF1
dGhuUHJvY2Vzc1Byb3h5LmNwcCAqLywKKwkJCQk1NzJFQkJDNjI1MzZBRkQ1MDAwNTUyQjMgLyog
V2ViQXV0aG5Qcm9jZXNzUHJveHkuaCAqLywKKwkJCQk1NzJFQkJDNzI1MzZBRkQ1MDAwNTUyQjMg
LyogV2ViQXV0aG5Qcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gKi8sCiAJCQkpOwogCQkJcGF0aCA9
IFdlYkF1dGhlbnRpY2F0aW9uOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJ
NTdBOUZFRUYyNTJCQjcwQzAwNkEyMDQwIC8qIERhZW1vbnMgKi8gPSB7Ci0JCQlpc2EgPSBQQlhH
cm91cDsKLQkJCWNoaWxkcmVuID0gKAotCQkJCTU3QTlGRUYwMjUyQkI3NDAwMDZBMjA0MCAvKiBX
ZWJBdXRoZW50aWNhdGlvbkFnZW50ICovLAotCQkJKTsKLQkJCXBhdGggPSBEYWVtb25zOwotCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJfTsKLQkJNTdBOUZFRjAyNTJCQjc0MDAwNkEyMDQw
IC8qIFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQgKi8gPSB7Ci0JCQlpc2EgPSBQQlhHcm91cDsKLQkJ
CWNoaWxkcmVuID0gKAotCQkJCTU3QTlGRjBEMjUyQzM5N0EwMDZBMjA0MCAvKiBjb20uYXBwbGUu
d2Via2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQucGxpc3QgKi8sCi0JCQkJNTdBOUZGMEEyNTJC
RjVDMzAwNkEyMDQwIC8qIEluZm8ucGxpc3QgKi8sCi0JCQkJNTdBOUZGMDgyNTJCRUFGMDAwNkEy
MDQwIC8qIG1haW4ubW0gKi8sCi0JCQkJNTdBOUZGMEYyNTJDNUQ5RDAwNkEyMDQwIC8qIFdlYkF1
dGhlbnRpY2F0aW9uQWdlbnQuZW50aXRsZW1lbnRzICovLAotCQkJKTsKLQkJCXBhdGggPSBXZWJB
dXRoZW50aWNhdGlvbkFnZW50OwotCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJfTsKIAkJ
NTdCNEI0NUMyMEI1MDQ4QjAwRDRBRDc5IC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTEwMDY0LDcgKzEwMTUzLDcgQEAKIAkJCQlFMTdBRTJD
MjE2QjlDNjNBMDAxQzQyRjIgLyogY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiICovLAog
CQkJCUUxN0FFMkMyMTZCOUM2M0EwMDFDNDJGMSAvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQ
cm9jZXNzLnNiICovLAogCQkJCTdBMTUwNjcyMURENTYyOTgwMDFGNEI1OCAvKiBjb20uYXBwbGUu
V2ViS2l0LnBsdWdpbi1jb21tb24uc2IgKi8sCi0JCQkJRTExNUM3MTUxOTBGOEEyNTAwRUNDNTE2
IC8qIGNvbS5hcHBsZS5XZWJLaXQuU3RvcmFnZS5zYiAqLywKKwkJCQk1NzJFQkJDMzI1MzZBQjg0
MDAwNTUyQjMgLyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IgKi8sCiAJCQkJ
RTE5NjdFMzcxNTBBQjVFMjAwQzczMTY5IC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiICovLAog
CQkJCTFBQjdENjE3MTI4OEI5RDkwMENGRDA4QyAvKiBEb3dubG9hZFByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLywKIAkJCQkxQUI3RDYxODEyODhCOUQ5MDBDRkQwOEMgLyogRG93bmxvYWRQcm94
eU1lc3NhZ2VzLmggKi8sCkBAIC0xMDE3OCwxMiArMTAyNjcsNiBAQAogCQkJCTFBMzM0REVDMTZE
RThGODgwMDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VzLmggKi8sCiAJCQkJOTM2OEVF
REMyMzAzQThEODAwQkRCMTFBIC8qIFN0b3JhZ2VNYW5hZ2VyU2V0TWVzc2FnZVJlY2VpdmVyLmNw
cCAqLywKIAkJCQk5MzY4RUVERDIzMDNBOEQ4MDBCREIxMUEgLyogU3RvcmFnZU1hbmFnZXJTZXRN
ZXNzYWdlcy5oICovLAotCQkJCTUxMThFOUE1MUYyOTU5NjMwMDNFRjlGNSAvKiBTdG9yYWdlUHJv
Y2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCi0JCQkJNTExOEU5QTYxRjI5NTk2MzAwM0VGOUY1
IC8qIFN0b3JhZ2VQcm9jZXNzTWVzc2FnZXMuaCAqLywKLQkJCQk1MTE4RTlBNzFGMjk1OTYzMDAz
RUY5RjUgLyogU3RvcmFnZVByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCi0JCQkJ
NTExOEU5QTIxRjI5NTk2MzAwM0VGOUY1IC8qIFN0b3JhZ2VQcm9jZXNzUHJveHlNZXNzYWdlcy5o
ICovLAotCQkJCTUxMThFOUEzMUYyOTU5NjMwMDNFRjlGNSAvKiBTdG9yYWdlVG9XZWJQcm9jZXNz
Q29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCi0JCQkJNTExOEU5QTQxRjI5NTk2MzAw
M0VGOUY1IC8qIFN0b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCAqLywKIAkJ
CQlDRDQ5MUIwQjFFNzMyRTREMDAwMDkwNjYgLyogVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCUNENDkxQjBDMUU3MzJFNEQwMDAwOTA2NiAvKiBVc2Vy
TWVkaWFDYXB0dXJlTWFuYWdlck1lc3NhZ2VzLmggKi8sCiAJCQkJQ0Q0OTFCMTUxRTczNTI1NTAw
MDA5MDY2IC8qIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLApAQCAtMTAyMDIsMTAgKzEwMjg1LDE0IEBACiAJCQkJMUE2MDIyNEIxOEMxNkI5RjAwQzNF
OEM5IC8qIFZpc2l0ZWRMaW5rU3RvcmVNZXNzYWdlcy5oICovLAogCQkJCTFBOEU3RDNBMThDMTUx
NDkwMDVBNzAyQSAvKiBWaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCiAJCQkJMUE4RTdEM0IxOEMxNTE0OTAwNUE3MDJBIC8qIFZpc2l0ZWRMaW5rVGFibGVD
b250cm9sbGVyTWVzc2FnZXMuaCAqLywKLQkJCQk1N0RDRUQ2QjIxNDJFQUUyMDAxNkI4NDcgLyog
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKLQkJCQk1
N0RDRUQ2QTIxNDJFQUUyMDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yTWVz
c2FnZXMuaCAqLywKIAkJCQk1N0RDRUQ2QzIxNDJFQUY5MDAxNkI4NDcgLyogV2ViQXV0aGVudGlj
YXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTU3RENFRDZE
MjE0MkVBRkEwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3Nh
Z2VzLmggKi8sCisJCQkJNTcyRUJCQkIyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuQ29ubmVj
dGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTcyRUJCQkMyNTM2
QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgg
Ki8sCisJCQkJNTcyRUJCQkQyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc01lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTcyRUJCQkUyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1
dGhuUHJvY2Vzc01lc3NhZ2VzLmggKi8sCisJCQkJNTcyRUJCQ0QyNTM2QkIxMDAwMDU1MkIzIC8q
IFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1NzJFQkJD
RTI1MzZCQjEwMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzUHJveHlNZXNzYWdlcy5oICovLAog
CQkJCTFDMEExOTU1MUM5MDA2OEYwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbk1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUMwQTE5NTYxQzkwMDY4RjAwRkUwRUJCIC8qIFdlYkF1
dG9tYXRpb25TZXNzaW9uTWVzc2FnZXMuaCAqLywKIAkJCQkxQzBBMTk1MTFDOEZGREZCMDBGRTBF
QkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCkBA
IC0xMDIyOSw4ICsxMDMxNiw2IEBACiAJCQkJQkMwRTYwNjAxMkQ2QkE5MTAwMTJBNzJBIC8qIFdl
Ykdlb2xvY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi8sCiAJCQkJQkMwRTYxODAxMkQ2Q0IxRDAw
MTJBNzJBIC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAq
LywKIAkJCQlCQzBFNjE4MTEyRDZDQjFEMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2Vy
UHJveHlNZXNzYWdlcy5oICovLAotCQkJCTUxMDUyMzc3MUM3M0RBNzAwMDc5OTNDQiAvKiBXZWJJ
REJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAotCQkJCTUxMDUyMzc4
MUM3M0RBNzAwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlcy5oICov
LAogCQkJCTUxMDUyMzcyMUM3M0QzN0IwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUxMDUyMzczMUM3M0QzN0IwMDc5OTNDQiAv
KiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlcy5oICovLAogCQkJCTkzM0U4MzU4MjNB
MUFERjUwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLApAQCAt
MTA4ODIsNiArMTA5NjcsNyBAQAogCQkJCUNEQ0RDOTlEMjQ4RkU4REEwMEE2OTUyMiAvKiBFbmRv
d21lbnRTdGF0ZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQjE1QTg1MTM4NDNBMzkw
MDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFB
NTc1RkIxNDk2QjUyNjAwQTRFRTA2IC8qIEV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNTcyRUJCRDcyNTM3RUJBRTAwMDU1MkIzIC8qIEV4dHJhUHJpdmF0ZVN5bWJvbHNGb3JU
QVBJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0I4MjY0ODIzMDUwQzUxMDBCNzJFQjAgLyogRmlk
b1NlcnZpY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTAwQjk2NjFBMThFMjVBRTEwMENFMUY4OCAv
KiBGaW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTkwQzFGNDEyNjRGRDcxMDAzRTQ0
RDQgLyogRmluZENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMTEyNjYsOSArMTEzNTIs
MTcgQEAKIAkJCQk1N0M2MjQ0QjIzNDY3OUE0MDAzODNGRTcgLyogV2ViQXV0aGVudGljYXRpb25G
bGFncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc3RkY3ODUyMzQ2RUNBQTAwNEVERkI5IC8qIFdl
YkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RENFREIy
MjE0QzYwNEMwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmggaW4gSGVh
ZGVycyAqLywKLQkJCQk1N0RDRUQ2RjIxNDJFRTYzMDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RENFREIzMjE0QzYw
NTMwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTdEQ0VENzEyMTQyRUU2QzAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0b3JD
b29yZGluYXRvclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3NDJBMzBEMjUz
NThFRkQwMEI3QkExNCAvKiBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTU3MkVCQkMwMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRobkNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTc0MkEzMTgyNTM2
NDhFNTAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTcy
RUJCRDUyNTM2Qzg4NTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uaCBpbiBI
ZWFkZXJzICovLAorCQkJCTU3MkVCQkNDMjUzNkIwNEYwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uSW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTc0MkEzMDgyNTM1OEEwNDAw
QjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNTcyRUJCQzIyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc01lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzJFQkJDOTI1MzZBRkQ1MDAwNTUyQjMgLyogV2Vi
QXV0aG5Qcm9jZXNzUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3MkVCQkQwMjUzNkJCMTEw
MDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQlGNDJENjM0MTIyQTBFRkRGMDBEMkZCM0EgLyogV2ViQXV0b2NvcnJlY3Rpb25EYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5OTBEMzlGNTI0M0JFNjQ4MDAxOTkzODggLyogV2ViQXV0b21h
dGlvbkRPTVdpbmRvd09ic2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTU1QTZFQzFDNzk4
MEMyMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCBpbiBIZWFkZXJzICovLApAQCAt
MTE5OTksMjIgKzEyMDkzLDI2IEBACiAJCQlwcm9kdWN0UmVmZXJlbmNlID0gNTEwMDMxRjYxMzc5
Q0FDQjAwQzhERkU0IC8qIFNlY0l0ZW1TaGltLmR5bGliICovOwogCQkJcHJvZHVjdFR5cGUgPSAi
Y29tLmFwcGxlLnByb2R1Y3QtdHlwZS5saWJyYXJ5LmR5bmFtaWMiOwogCQl9OwotCQk1N0E5RkVG
QjI1MkJEOEFBMDA2QTIwNDAgLyogV2ViQXV0aGVudGljYXRpb25BZ2VudCAqLyA9IHsKKwkJNTc0
MkEyRTUyNTM1NjEzRjAwQjdCQTE0IC8qIFdlYkF1dGhuICovID0gewogCQkJaXNhID0gUEJYTmF0
aXZlVGFyZ2V0OwotCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDU3QTlGRjAwMjUyQkQ4QUIw
MDZBMjA0MCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAi
V2ViQXV0aGVudGljYXRpb25BZ2VudCIgKi87CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0g
NTc0MkEyRjMyNTM1NjEzRjAwQjdCQTE0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3Ig
UEJYTmF0aXZlVGFyZ2V0ICJXZWJBdXRobiIgKi87CiAJCQlidWlsZFBoYXNlcyA9ICgKLQkJCQk1
N0E5RkVGODI1MkJEOEFBMDA2QTIwNDAgLyogU291cmNlcyAqLywKLQkJCQk1N0E5RkVGOTI1MkJE
OEFBMDA2QTIwNDAgLyogRnJhbWV3b3JrcyAqLywKLQkJCQk1N0E5RkVGQTI1MkJEOEFBMDA2QTIw
NDAgLyogQ29weUZpbGVzICovLAorCQkJCTU3NDJBMkVBMjUzNTYxM0YwMEI3QkExNCAvKiBTb3Vy
Y2VzICovLAorCQkJCTU3NDJBMkVEMjUzNTYxM0YwMEI3QkExNCAvKiBGcmFtZXdvcmtzICovLAor
CQkJCTU3NDJBMkYwMjUzNTYxM0YwMEI3QkExNCAvKiBSZXNvdXJjZXMgKi8sCisJCQkJNTc0MkEy
RjEyNTM1NjEzRjAwQjdCQTE0IC8qIFVubG9jayBrZXljaGFpbiAqLywKKwkJCQk1NzQyQTJGMjI1
MzU2MTNGMDBCN0JBMTQgLyogUHJvY2VzcyBXZWJBdXRoZW50aWNhdGlvbiBlbnRpdGxlbWVudHMg
Ki8sCiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgKIAkJCSk7CiAJCQlkZXBlbmRlbmNpZXMgPSAo
CisJCQkJNTc0MkEyRTYyNTM1NjEzRjAwQjdCQTE0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8s
CisJCQkJNTc0MkEyRTgyNTM1NjEzRjAwQjdCQTE0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8s
CiAJCQkpOwotCQkJbmFtZSA9IFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQ7Ci0JCQlwcm9kdWN0TmFt
ZSA9IFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQ7Ci0JCQlwcm9kdWN0UmVmZXJlbmNlID0gNTdBOUZF
RkMyNTJCRDhBQTAwNkEyMDQwIC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aGVudGljYXRpb25B
Z2VudC5EZXZlbG9wbWVudCAqLzsKLQkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0
LXR5cGUudG9vbCI7CisJCQluYW1lID0gV2ViQXV0aG47CisJCQlwcm9kdWN0TmFtZSA9IE5ldHdv
cmtpbmc7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gNTc0MkEyRjcyNTM1NjEzRjAwQjdCQTE0IC8q
IGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4ueHBjICovOworCQkJcHJvZHVjdFR5cGUgPSAiY29t
LmFwcGxlLnByb2R1Y3QtdHlwZS54cGMtc2VydmljZSI7CiAJCX07CiAJCThEQzJFRjRGMDQ4NkE2
OTQwMDk4QjIxNiAvKiBXZWJLaXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CkBA
IC0xMjE0MCw5ICsxMjIzOCw2IEBACiAJCQkJCQlDcmVhdGVkT25Ub29sc1ZlcnNpb24gPSAxMC4x
OwogCQkJCQkJUHJvdmlzaW9uaW5nU3R5bGUgPSBBdXRvbWF0aWM7CiAJCQkJCX07Ci0JCQkJCTU3
QTlGRUZCMjUyQkQ4QUEwMDZBMjA0MCA9IHsKLQkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9
IDEyLjA7Ci0JCQkJCX07CiAJCQkJCUUxQUMyRTI3MjBGN0I5NEMwMEIwODk3RCA9IHsKIAkJCQkJ
CUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDkuMzsKIAkJCQkJCVByb3Zpc2lvbmluZ1N0eWxlID0g
QXV0b21hdGljOwpAQCAtMTIxNzIsMTEgKzEyMjY3LDExIEBACiAJCQkJMzcyRUJCMzgyMDE3RTY0
MzAwMDg1MDY0IC8qIFdlYkNvbnRlbnQuRGV2ZWxvcG1lbnQgKi8sCiAJCQkJQkM4MjgzQjAxNkI0
QkY3NzAwQTI3OEZFIC8qIE5ldHdvcmtpbmcgKi8sCiAJCQkJMkQ5RkIyMTYyMzc1MjM4MzAwNDlG
OTM2IC8qIEdQVSAqLywKKwkJCQk1NzQyQTJFNTI1MzU2MTNGMDBCN0JBMTQgLyogV2ViQXV0aG4g
Ki8sCiAJCQkJQkM4Mjg0MUUxNkI0RkRGNjAwQTI3OEZFIC8qIFBsdWdpbi42NCAqLywKIAkJCQlB
N0FBREExMDE5Mzk1Q0E5MDAzRUExQzcgLyogU2FuZGJveCBQcm9maWxlcyAqLywKIAkJCQlFMUFD
MkUyNzIwRjdCOTRDMDBCMDg5N0QgLyogVW5sb2NrIEtleWNoYWluICovLAogCQkJCTUzMjVCRENE
MjFERkY0NzcwMEEwREVFMSAvKiBBcHBseSBDb25maWd1cmF0aW9uIHRvIFhDRmlsZUxpc3RzICov
LAotCQkJCTU3QTlGRUZCMjUyQkQ4QUEwMDZBMjA0MCAvKiBXZWJBdXRoZW50aWNhdGlvbkFnZW50
ICovLAogCQkJKTsKIAkJfTsKIC8qIEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KQEAgLTEyMTk3
LDEyICsxMjI5MiwyMCBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OworCQk1NzQyQTJGMDI1MzU2MTNGMDBCN0JBMTQgLyogUmVzb3VyY2Vz
ICovID0geworCQkJaXNhID0gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9u
TWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJOERDMkVGNTIwNDg2QTY5NDAwOThC
MjE2IC8qIFJlc291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7
CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkJRTE3
QUUyQzMxNkI5QzYzQTAwMUM0MkYyIC8qIGNvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYiBp
biBSZXNvdXJjZXMgKi8sCiAJCQkJRTE3QUUyQzMxNkI5QzYzQTAwMUM0MkYxIC8qIGNvbS5hcHBs
ZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgaW4gUmVzb3VyY2VzICovLAorCQkJCTU3MkVCQkM0
MjUzNkFCODQwMDA1NTJCMyAvKiBjb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYiBp
biBSZXNvdXJjZXMgKi8sCiAJCQkJRTExRDM1QUUxNkI2M0QxQjAwNkQyM0Q3IC8qIGNvbS5hcHBs
ZS5XZWJQcm9jZXNzLnNiIGluIFJlc291cmNlcyAqLywKIAkJCQk0MTRERDM3OTIwQkY0M0Y1MDA2
OTU5RkIgLyogY29tLmNpc2NvLndlYmV4LnBsdWdpbi5ncGM2NC5zYiBpbiBSZXNvdXJjZXMgKi8s
CiAJCQkJNkJFOTY5QzExRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsIGlu
IFJlc291cmNlcyAqLywKQEAgLTEyNTM4LDYgKzEyNjQxLDM2IEBACiAJCQlzaGVsbFBhdGggPSAv
YmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAiU2NyaXB0cy9jaGVjay14Y2ZpbGVsaXN0cy5zaFxu
IjsKIAkJfTsKKwkJNTc0MkEyRjEyNTM1NjEzRjAwQjdCQTE0IC8qIFVubG9jayBrZXljaGFpbiAq
LyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9u
TWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0g
KAorCQkJKTsKKwkJCW5hbWUgPSAiVW5sb2NrIGtleWNoYWluIjsKKwkJCW91dHB1dFBhdGhzID0g
KAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJ
c2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJCXNoZWxsU2NyaXB0ID0gIlVOTE9DS19TQ1JJUFRfUEFU
SD1cIiR7U1JDUk9PVH0vLi4vLi4vLi4vSW50ZXJuYWwvVG9vbHMvU2NyaXB0cy91bmxvY2stc2Fm
YXJpLWVuZ2luZWVyaW5nLWtleWNoYWluLWlmLW5lZWRlZFwiXG5cbltbIC14IFwiJHtVTkxPQ0tf
U0NSSVBUX1BBVEh9XCIgXV0gJiYgZXhlYyBcIiR7VU5MT0NLX1NDUklQVF9QQVRIfVwiXG5cbmV4
aXQgMFxuIjsKKwkJfTsKKwkJNTc0MkEyRjIyNTM1NjEzRjAwQjdCQTE0IC8qIFByb2Nlc3MgV2Vi
QXV0aGVudGljYXRpb24gZW50aXRsZW1lbnRzICovID0geworCQkJaXNhID0gUEJYU2hlbGxTY3Jp
cHRCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVz
ID0gKAorCQkJKTsKKwkJCWlucHV0UGF0aHMgPSAoCisJCQkJIiQoU1JDUk9PVCkvU2NyaXB0cy9w
cm9jZXNzLWVudGl0bGVtZW50cy5zaCIsCisJCQkpOworCQkJbmFtZSA9ICJQcm9jZXNzIFdlYkF1
dGhlbnRpY2F0aW9uIGVudGl0bGVtZW50cyI7CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCQkiJChX
S19QUk9DRVNTRURfWENFTlRfRklMRSkiLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJCXNoZWxsU2Ny
aXB0ID0gIlNjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2hcbiI7CisJCX07CiAJCTVERjQw
OEM1MTMxREQ0NjcwMDEzMDA3MSAvKiBDaGVjayBGb3IgV2VhayBWVGFibGVzIGFuZCBFeHRlcm5h
bHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CiAJCQlidWlsZEFj
dGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtMTI2NDcsNyArMTI3ODAsNyBAQAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0g
L2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9O
fVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBleGl0XG5maVxuXG5pZiBbWyAke1dLX1BMQVRG
T1JNX05BTUV9ICE9IFwibWFjb3N4XCIgXV07IHRoZW5cbiAgICBYUENfU0VSVklDRVNfUEFUSD1c
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9XZWJLaXQuZnJhbWV3b3JrL1hQQ1NlcnZpY2VzXCJcbiAg
ICBCVUlMVF9QUk9EVUNUU19ESVJfUkVMQVRJVkVfUEFUSF9GUk9NX1hQQ19TRVJWSUNFUz1cIi4u
Ly4uXCJcbmVsc2VcbiAgICBYUENfU0VSVklDRVNfUEFUSD1cIiR7QlVJTFRfUFJPRFVDVFNfRElS
fS9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXNcIlxuICAgIEJVSUxUX1BS
T0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VTPVwiLi4vLi4vLi4vLi5c
IlxuZmlcblxubWtkaXIgLXAgXCIke1hQQ19TRVJWSUNFU19QQVRIfVwiXG5sbiAtc0ZoIFwiJHtC
VUlMVF9QUk9EVUNUU19ESVJfUkVMQVRJVkVfUEFUSF9GUk9NX1hQQ19TRVJWSUNFU30vY29tLmFw
cGxlLldlYktpdC5XZWJDb250ZW50LnhwY1wiIFwiJHtYUENfU0VSVklDRVNfUEFUSH0vY29tLmFw
cGxlLldlYktpdC5XZWJDb250ZW50LnhwY1wiXG5sbiAtc0ZoIFwiJHtCVUlMVF9QUk9EVUNUU19E
SVJfUkVMQVRJVkVfUEFUSF9GUk9NX1hQQ19TRVJWSUNFU30vY29tLmFwcGxlLldlYktpdC5OZXR3
b3JraW5nLnhwY1wiIFwiJHtYUENfU0VSVklDRVNfUEFUSH0vY29tLmFwcGxlLldlYktpdC5OZXR3
b3JraW5nLnhwY1wiXG5sbiAtc0ZoIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJfUkVMQVRJVkVfUEFU
SF9GUk9NX1hQQ19TRVJWSUNFU30vY29tLmFwcGxlLldlYktpdC5HUFUueHBjXCIgXCIke1hQQ19T
RVJWSUNFU19QQVRIfS9jb20uYXBwbGUuV2ViS2l0LkdQVS54cGNcIlxuXG5pZiBbWyAke1dLX1BM
QVRGT1JNX05BTUV9ID09IG1hY29zeCBdXTsgdGhlblxuICAgIGxuIC1zRmggXCIke0JVSUxUX1BS
T0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VTfS9jb20uYXBwbGUuV2Vi
S2l0LlBsdWdpbi42NC54cGNcIiBcIiR7WFBDX1NFUlZJQ0VTX1BBVEh9L2NvbS5hcHBsZS5XZWJL
aXQuUGx1Z2luLjY0LnhwY1wiXG5maVxuIjsKKwkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtE
RVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBleGl0XG5maVxu
XG5pZiBbWyAke1dLX1BMQVRGT1JNX05BTUV9ICE9IFwibWFjb3N4XCIgXV07IHRoZW5cbiAgICBY
UENfU0VSVklDRVNfUEFUSD1cIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9XZWJLaXQuZnJhbWV3b3Jr
L1hQQ1NlcnZpY2VzXCJcbiAgICBCVUlMVF9QUk9EVUNUU19ESVJfUkVMQVRJVkVfUEFUSF9GUk9N
X1hQQ19TRVJWSUNFUz1cIi4uLy4uXCJcbmVsc2VcbiAgICBYUENfU0VSVklDRVNfUEFUSD1cIiR7
QlVJTFRfUFJPRFVDVFNfRElSfS9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2Vydmlj
ZXNcIlxuICAgIEJVSUxUX1BST0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJ
Q0VTPVwiLi4vLi4vLi4vLi5cIlxuZmlcblxubWtkaXIgLXAgXCIke1hQQ19TRVJWSUNFU19QQVRI
fVwiXG5sbiAtc0ZoIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJfUkVMQVRJVkVfUEFUSF9GUk9NX1hQ
Q19TRVJWSUNFU30vY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnhwY1wiIFwiJHtYUENfU0VS
VklDRVNfUEFUSH0vY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnhwY1wiXG5sbiAtc0ZoIFwi
JHtCVUlMVF9QUk9EVUNUU19ESVJfUkVMQVRJVkVfUEFUSF9GUk9NX1hQQ19TRVJWSUNFU30vY29t
LmFwcGxlLldlYktpdC5OZXR3b3JraW5nLnhwY1wiIFwiJHtYUENfU0VSVklDRVNfUEFUSH0vY29t
LmFwcGxlLldlYktpdC5OZXR3b3JraW5nLnhwY1wiXG5sbiAtc0ZoIFwiJHtCVUlMVF9QUk9EVUNU
U19ESVJfUkVMQVRJVkVfUEFUSF9GUk9NX1hQQ19TRVJWSUNFU30vY29tLmFwcGxlLldlYktpdC5H
UFUueHBjXCIgXCIke1hQQ19TRVJWSUNFU19QQVRIfS9jb20uYXBwbGUuV2ViS2l0LkdQVS54cGNc
IlxubG4gLXNGaCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSX1JFTEFUSVZFX1BBVEhfRlJPTV9YUENf
U0VSVklDRVN9L2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4ueHBjXCIgXCIke1hQQ19TRVJWSUNF
U19QQVRIfS9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuLnhwY1wiXG5cbmlmIFtbICR7V0tfUExB
VEZPUk1fTkFNRX0gPT0gbWFjb3N4IF1dOyB0aGVuXG4gICAgbG4gLXNGaCBcIiR7QlVJTFRfUFJP
RFVDVFNfRElSX1JFTEFUSVZFX1BBVEhfRlJPTV9YUENfU0VSVklDRVN9L2NvbS5hcHBsZS5XZWJL
aXQuUGx1Z2luLjY0LnhwY1wiIFwiJHtYUENfU0VSVklDRVNfUEFUSH0vY29tLmFwcGxlLldlYktp
dC5QbHVnaW4uNjQueHBjXCJcbmZpXG4iOwogCQl9OwogCQk5OUNBMzg2MjIwNzI4NkRCMDBCQUQ1
NzggLyogQ29weSBXZWJEcml2ZXIgQXRvbXMgdG8gRnJhbWV3b3JrIFByaXZhdGUgSGVhZGVycyAq
LyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKQEAgLTEyNzg2LDExICsx
MjkxOSwxMiBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwotCQk1N0E5RkVGODI1MkJEOEFBMDA2QTIwNDAgLyogU291cmNlcyAqLyA9IHsK
KwkJNTc0MkEyRUEyNTM1NjEzRjAwQjdCQTE0IC8qIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJ
CQlmaWxlcyA9ICgKLQkJCQk1N0E5RkYwOTI1MkJFQUYwMDA2QTIwNDAgLyogbWFpbi5tbSBpbiBT
b3VyY2VzICovLAorCQkJCTU3NDJBMkVCMjUzNTYxM0YwMEI3QkExNCAvKiBBdXhpbGlhcnlQcm9j
ZXNzTWFpbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1NzQyQTJFQzI1MzU2MTNGMDBCN0JBMTQg
LyogWFBDU2VydmljZU1haW4ubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTEzMTIwLDYgKzEzMjU0LDkg
QEAKIAkJCQkxQTYwMjI0QzE4QzE2QjlGMDBDM0U4QzkgLyogVmlzaXRlZExpbmtTdG9yZU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQThFN0QzQzE4QzE1MTQ5MDA1QTcw
MkEgLyogVmlzaXRlZExpbmtUYWJsZUNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTdEQ0VENzAyMTQyRUU2ODAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0
b3JDb29yZGluYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTU3MkVCQkJGMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTcyRUJCQzEyNTM2QTYw
QTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk1NzJFQkJDRjI1MzZCQjExMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTc1QjFCQkEyM0NFOUMx
MzAwMjA2MzlBIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTFDMEExOTU3MUM5MDA2OEYwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbk1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzVCMUJCODIzQ0U5QkZDMDAyMDYzOUEg
LyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEzMjkz
LDEwICsxMzQzMCwyMCBAQAogCQkJdGFyZ2V0ID0gQzBDRTcyODUxMjQ3RTY2ODAwQkMwRUM0IC8q
IERlcml2ZWQgU291cmNlcyAqLzsKIAkJCXRhcmdldFByb3h5ID0gMzdGNzQwNzgxMjcyMUY3NDAw
OTM4NjlCIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKIAkJfTsKLQkJNTdBOUZGMEMyNTJD
MzFENjAwNkEyMDQwIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCTU3NDJBMkU2MjUz
NTYxM0YwMEI3QkExNCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJY
VGFyZ2V0RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IEUxQUMyRTI3MjBGN0I5NEMwMEIwODk3RCAv
KiBVbmxvY2sgS2V5Y2hhaW4gKi87CisJCQl0YXJnZXRQcm94eSA9IDU3NDJBMkU3MjUzNTYxM0Yw
MEI3QkExNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CisJCTU3NDJBMkU4MjUz
NTYxM0YwMEI3QkExNCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJY
VGFyZ2V0RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IDhEQzJFRjRGMDQ4NkE2OTQwMDk4QjIxNiAv
KiBXZWJLaXQgKi87CisJCQl0YXJnZXRQcm94eSA9IDU3NDJBMkU5MjUzNTYxM0YwMEI3QkExNCAv
KiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CisJCTU3NDJBMkZBMjUzNTYxOUQwMEI3
QkExNCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVw
ZW5kZW5jeTsKLQkJCXRhcmdldCA9IDU3QTlGRUZCMjUyQkQ4QUEwMDZBMjA0MCAvKiBXZWJBdXRo
ZW50aWNhdGlvbkFnZW50ICovOwotCQkJdGFyZ2V0UHJveHkgPSA1N0E5RkYwQjI1MkMzMUQ2MDA2
QTIwNDAgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOworCQkJdGFyZ2V0ID0gNTc0MkEyRTUy
NTM1NjEzRjAwQjdCQTE0IC8qIFdlYkF1dGhuICovOworCQkJdGFyZ2V0UHJveHkgPSA1NzQyQTJG
OTI1MzU2MTlEMDBCN0JBMTQgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwogCQl9OwogCQlC
QzgyODNENTE2QjRDMDFGMDBBMjc4RkUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKIAkJ
CWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CkBAIC0xMzU1NCwyMyArMTM3MDEsMjMgQEAKIAkJ
CX07CiAJCQluYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKLQkJNTdBOUZGMDEyNTJCRDhBQjAwNkEy
MDQwIC8qIERlYnVnICovID0geworCQk1NzQyQTJGNDI1MzU2MTNGMDBCN0JBMTQgLyogRGVidWcg
Ki8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKLQkJCWJhc2VDb25maWd1cmF0
aW9uUmVmZXJlbmNlID0gNTdBOUZGMDcyNTJCRTZFMDAwNkEyMDQwIC8qIFdlYkF1dGhlbnRpY2F0
aW9uQWdlbnQueGNjb25maWcgKi87CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDU3
QTlGRjA3MjUyQkU2RTAwMDZBMjA0MCAvKiBXZWJBdXRoblNlcnZpY2UueGNjb25maWcgKi87CiAJ
CQlidWlsZFNldHRpbmdzID0gewogCQkJfTsKIAkJCW5hbWUgPSBEZWJ1ZzsKIAkJfTsKLQkJNTdB
OUZGMDIyNTJCRDhBQjAwNkEyMDQwIC8qIFJlbGVhc2UgKi8gPSB7CisJCTU3NDJBMkY1MjUzNTYx
M0YwMEI3QkExNCAvKiBSZWxlYXNlICovID0gewogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRp
b247Ci0JCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDU3QTlGRjA3MjUyQkU2RTAwMDZB
MjA0MCAvKiBXZWJBdXRoZW50aWNhdGlvbkFnZW50LnhjY29uZmlnICovOworCQkJYmFzZUNvbmZp
Z3VyYXRpb25SZWZlcmVuY2UgPSA1N0E5RkYwNzI1MkJFNkUwMDA2QTIwNDAgLyogV2ViQXV0aG5T
ZXJ2aWNlLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKIAkJCX07CiAJCQluYW1l
ID0gUmVsZWFzZTsKIAkJfTsKLQkJNTdBOUZGMDMyNTJCRDhBQjAwNkEyMDQwIC8qIFByb2R1Y3Rp
b24gKi8gPSB7CisJCTU3NDJBMkY2MjUzNTYxM0YwMEI3QkExNCAvKiBQcm9kdWN0aW9uICovID0g
ewogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247Ci0JCQliYXNlQ29uZmlndXJhdGlvblJl
ZmVyZW5jZSA9IDU3QTlGRjA3MjUyQkU2RTAwMDZBMjA0MCAvKiBXZWJBdXRoZW50aWNhdGlvbkFn
ZW50LnhjY29uZmlnICovOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA1N0E5RkYw
NzI1MkJFNkUwMDA2QTIwNDAgLyogV2ViQXV0aG5TZXJ2aWNlLnhjY29uZmlnICovOwogCQkJYnVp
bGRTZXR0aW5ncyA9IHsKIAkJCX07CiAJCQluYW1lID0gUHJvZHVjdGlvbjsKQEAgLTEzODMxLDEy
ICsxMzk3OCwxMiBAQAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJ
ZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKLQkJNTdBOUZGMDAy
NTJCRDhBQjAwNkEyMDQwIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZl
VGFyZ2V0ICJXZWJBdXRoZW50aWNhdGlvbkFnZW50IiAqLyA9IHsKKwkJNTc0MkEyRjMyNTM1NjEz
RjAwQjdCQTE0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0
ICJXZWJBdXRobiIgKi8gPSB7CiAJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVp
bGRDb25maWd1cmF0aW9ucyA9ICgKLQkJCQk1N0E5RkYwMTI1MkJEOEFCMDA2QTIwNDAgLyogRGVi
dWcgKi8sCi0JCQkJNTdBOUZGMDIyNTJCRDhBQjAwNkEyMDQwIC8qIFJlbGVhc2UgKi8sCi0JCQkJ
NTdBOUZGMDMyNTJCRDhBQjAwNkEyMDQwIC8qIFByb2R1Y3Rpb24gKi8sCisJCQkJNTc0MkEyRjQy
NTM1NjEzRjAwQjdCQTE0IC8qIERlYnVnICovLAorCQkJCTU3NDJBMkY1MjUzNTYxM0YwMEI3QkEx
NCAvKiBSZWxlYXNlICovLAorCQkJCTU3NDJBMkY2MjUzNTYxM0YwMEI3QkExNCAvKiBQcm9kdWN0
aW9uICovLAogCQkJKTsKIAkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKIAkJ
CWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjRjYjYwYzU0MWRlM2Uy
M2Y4MzJmYzFhZTkxZWVhNmY1ZmRjZDM5NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
LmNwcApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKworI2lmIEVOQUJMRShXRUJf
QVVUSE4pCisKKyNpbmNsdWRlICJXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdl
cy5oIgorI2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3Mu
aCIKKworbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworV2Vi
QXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbihJUEM6OkNv
bm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpCisgICAgOiBtX2Nvbm5l
Y3Rpb24oSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVDbGllbnRDb25uZWN0aW9uKGNvbm5lY3Rpb25J
ZGVudGlmaWVyLCAqdGhpcykpCit7CisgICAgbV9jb25uZWN0aW9uLT5vcGVuKCk7Cit9CisKK1dl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246On5XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKCkKK3sK
KyAgICBtX2Nvbm5lY3Rpb24tPmludmFsaWRhdGUoKTsKK30KKwordm9pZCBXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uOjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKQoreworfQorCit2b2lkIFdl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VOYW1lKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhu
UHJvY2Vzc0Nvbm5lY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMjk1YmE1M2QzYWVjM2YzODUwMzM3NTFk
YmRiMDNmYmM0ZDlhOWEzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uaApAQCAtMCww
ICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX0FV
VEhOKQorCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitjbGFzcyBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbj4sIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24+IGNyZWF0ZShJ
UEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKGNv
bm5lY3Rpb25JZGVudGlmaWVyKSk7CisgICAgfQorICAgIH5XZWJBdXRoblByb2Nlc3NDb25uZWN0
aW9uKCk7CisKKyAgICBJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24oKSB7IHJldHVybiBtX2Nv
bm5lY3Rpb24uZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBXZWJBdXRoblByb2Nlc3NDb25uZWN0
aW9uKElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllcik7CisKKyAgICAvLyBJUEM6OkNvbm5lY3Rp
b246OkNsaWVudAorICAgIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7
CisgICAgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBD
OjpNZXNzYWdlTmFtZSkgb3ZlcnJpZGU7CisKKyAgICAvLyBUaGUgY29ubmVjdGlvbiBmcm9tIHRo
ZSB3ZWIgcHJvY2VzcyB0byB0aGUgV2ViQXV0aG4gcHJvY2Vzcy4KKyAgICBSZWY8SVBDOjpDb25u
ZWN0aW9uPiBtX2Nvbm5lY3Rpb247Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4M2Y1OGE4NmNkZTcz
Y2UyMGM3ZWE1NDRiZjM1OTdiODI5NTU2YmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDI4IEBACisjIENvcHlyaWdodCAoQykgMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQK
KyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisj
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorCittZXNzYWdlcyAtPiBXZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uIHsKK30KKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkwN2Y4M2U3NjQwOTY0ZmFlOWIzMWNmMjNmN2Q4OTQwMTY3ZWY2NDkKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2Vi
QXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8uaApAQCAtMCwwICsxLDYyIEBACisvKgorKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
RU5BQkxFKFdFQl9BVVRITikKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0cnVjdCBXZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uSW5mbyB7CisgICAgSVBDOjpBdHRhY2htZW50IGNvbm5lY3Rpb247
CisKKyAgICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKGNvbm5lY3Rp
b24ucG9ydCgpKTsKKyAgICB9CisKKyAgICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgcmVs
ZWFzZUlkZW50aWZpZXIoKQorICAgIHsKKyAgICAgICAgYXV0byByZXR1cm5WYWx1ZSA9IGlkZW50
aWZpZXIoKTsKKyAgICAgICAgY29ubmVjdGlvbiA9IHsgfTsKKyAgICAgICAgcmV0dXJuIHJldHVy
blZhbHVlOworICAgIH0KKworICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKKyAgICB7CisgICAgICAgIGVuY29kZXIgPDwgY29ubmVjdGlvbjsKKyAgICB9CisKKyAg
ICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYgZGVj
b2RlciwgV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8mIGluZm8pCisgICAgeworICAgICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGluZm8uY29ubmVjdGlvbikpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDU5ZTA3YjA4MDFhZmY5NzBkZmM2YTNhZTU0
MTAzZmQ5Zjc1YTBmZGIuLmJhOTA5MDZhZGE4OWJmNjk5YjUxNDIwY2EwODFhYzhiYWIxODE3Zjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE2NSw2ICsxNjUs
MTIgQEAKICNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbkluZm8uaCIKICNlbmRpZgogCisj
aWYgRU5BQkxFKFdFQl9BVVRITikKKyNpbmNsdWRlICJXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uaCIK
KyNpbmNsdWRlICJXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5oIgorI2VuZGlmCisKICNp
ZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1v
dGVJbnNwZWN0b3IuaD4KICNlbmRpZgpAQCAtMTMwNCw2ICsxMzEwLDUzIEBAIExpYldlYlJUQ0Nv
ZGVjcyYgV2ViUHJvY2Vzczo6bGliV2ViUlRDQ29kZWNzKCkKIAogI2VuZGlmIC8vIEVOQUJMRShH
UFVfUFJPQ0VTUykKIAorI2lmIEVOQUJMRShXRUJfQVVUSE4pCisKK3N0YXRpYyBXZWJBdXRoblBy
b2Nlc3NDb25uZWN0aW9uSW5mbyBnZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbikKK3sKKyAgICBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5m
byBjb25uZWN0aW9uSW5mbzsKKyAgICBpZiAoIWNvbm5lY3Rpb24uc2VuZFN5bmMoTWVzc2FnZXM6
OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigpLCBNZXNzYWdl
czo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpSZXBseShj
b25uZWN0aW9uSW5mbyksIDApKSB7CisgICAgICAgIC8vIElmIHdlIGZhaWxlZCB0aGUgZmlyc3Qg
dGltZSwgcmV0cnkgb25jZS4gVGhlIGF0dGFjaG1lbnQgbWF5IGhhdmUgYmVjb21lIGludmFsaWQK
KyAgICAgICAgLy8gYmVmb3JlIGl0IHdhcyByZWNlaXZlZCBieSB0aGUgd2ViIHByb2Nlc3MgaWYg
dGhlIG5ldHdvcmsgcHJvY2VzcyBjcmFzaGVkLgorICAgICAgICBpZiAoIWNvbm5lY3Rpb24uc2Vu
ZFN5bmMoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVj
dGlvbigpLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uOjpSZXBseShjb25uZWN0aW9uSW5mbyksIDApKQorICAgICAgICAgICAgQ1JBU0goKTsK
KyAgICB9CisKKyAgICByZXR1cm4gY29ubmVjdGlvbkluZm87Cit9CisKK1dlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb24mIFdlYlByb2Nlc3M6OmVuc3VyZVdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24o
KQoreworICAgIFJFTEVBU0VfQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKKworICAgIC8vIElm
IHdlJ3ZlIGxvc3Qgb3VyIGNvbm5lY3Rpb24gdG8gdGhlIFdlYkF1dGhuIHByb2Nlc3MgKGUuZy4g
aXQgY3Jhc2hlZCkgdHJ5IHRvIHJlLWVzdGFibGlzaCBpdC4KKyAgICBpZiAoIW1fd2ViQXV0aG5Q
cm9jZXNzQ29ubmVjdGlvbikgeworICAgICAgICBhdXRvIGNvbm5lY3Rpb25JbmZvID0gZ2V0V2Vi
QXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigqcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKSk7CisKKyAg
ICAgICAgLy8gUmV0cnkgb25jZSBpZiB0aGUgSVBDIHRvIGdldCB0aGUgY29ubmVjdGlvbklkZW50
aWZpZXIgc3VjY2VlZGVkIGJ1dCB0aGUgY29ubmVjdGlvbklkZW50aWZpZXIgd2UgcmVjZWl2ZWQK
KyAgICAgICAgLy8gaXMgaW52YWxpZC4gVGhpcyBtYXkgaW5kaWNhdGUgdGhhdCB0aGUgV2ViQXV0
aG4gcHJvY2VzcyBoYXMgY3Jhc2hlZC4KKyAgICAgICAgaWYgKCFJUEM6OkNvbm5lY3Rpb246Omlk
ZW50aWZpZXJJc1ZhbGlkKGNvbm5lY3Rpb25JbmZvLmlkZW50aWZpZXIoKSkpCisgICAgICAgICAg
ICBjb25uZWN0aW9uSW5mbyA9IGdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKnBhcmVudFBy
b2Nlc3NDb25uZWN0aW9uKCkpOworCisgICAgICAgIGlmICghSVBDOjpDb25uZWN0aW9uOjppZGVu
dGlmaWVySXNWYWxpZChjb25uZWN0aW9uSW5mby5pZGVudGlmaWVyKCkpKQorICAgICAgICAgICAg
Q1JBU0goKTsKKworICAgICAgICBtX3dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24gPSBXZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uOjpjcmVhdGUoY29ubmVjdGlvbkluZm8ucmVsZWFzZUlkZW50aWZp
ZXIoKSk7CisgICAgfQorCisgICAgcmV0dXJuICptX3dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb247
Cit9CisKK3ZvaWQgV2ViUHJvY2Vzczo6d2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkNsb3NlZChX
ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKiBjb25uZWN0aW9uKQoreworICAgIEFTU0VSVChtX3dl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOworICAgIEFTU0VSVF9VTlVTRUQoY29ubmVjdGlvbiwg
bV93ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uID09IGNvbm5lY3Rpb24pOworCisgICAgbV93ZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uID0gbnVsbHB0cjsKK30KKworI2VuZGlmIC8vIEVOQUJMRShX
RUJfQVVUSE4pCisKIHZvaWQgV2ViUHJvY2Vzczo6c2V0RW5oYW5jZWRBY2Nlc3NpYmlsaXR5KGJv
b2wgZmxhZykKIHsKICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpzZXRFbmhhbmNlZFVzZXJJ
bnRlcmZhY2VBY2Nlc3NpYmlsaXR5KGZsYWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKaW5kZXggZjNlMTlhYjZhYjMyYmQwZWM2NGNkNzI3NzkzZjRiY2QzZTRkNDhmNC4uMTEy
MTE4MTE4NDI0MTM3NjgyNGRiOWY3ODNlMzM4ODZkMmEyMjVmOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0xMTUsNiArMTE1LDcgQEAgc3RydWN0IFNlcnZpY2VXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGE7CiBjbGFzcyBTdG9yYWdlQXJlYU1hcDsKIGNsYXNzIFVzZXJE
YXRhOwogY2xhc3MgV2F5bGFuZENvbXBvc2l0b3JEaXNwbGF5OworY2xhc3MgV2ViQXV0aG5Qcm9j
ZXNzQ29ubmVjdGlvbjsKIGNsYXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk7CiBjbGFzcyBX
ZWJDYWNoZVN0b3JhZ2VQcm92aWRlcjsKIGNsYXNzIFdlYkNvb2tpZUphcjsKQEAgLTIyOSw2ICsy
MzAsMTIgQEAgcHVibGljOgogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQogCisjaWYg
RU5BQkxFKFdFQl9BVVRITikKKyAgICBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uJiBlbnN1cmVX
ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKCk7CisgICAgdm9pZCB3ZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uQ2xvc2VkKFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24qKTsKKyAgICBXZWJBdXRoblBy
b2Nlc3NDb25uZWN0aW9uKiBleGlzdGluZ1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKSB7IHJl
dHVybiBtX3dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uZ2V0KCk7IH0KKyNlbmRpZgorCiAgICAg
TGliV2ViUlRDTmV0d29yayYgbGliV2ViUlRDTmV0d29yaygpOwogCiAgICAgdm9pZCBzZXRDYWNo
ZU1vZGVsKENhY2hlTW9kZWwpOwpAQCAtNTgxLDYgKzU4OCwxMCBAQCBwcml2YXRlOgogI2VuZGlm
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgUmVmUHRyPFdlYkF1dGhuUHJv
Y2Vzc0Nvbm5lY3Rpb24+IG1fd2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjsKKyNlbmRpZgorCiAg
ICAgUmVmPFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyPiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOwog
ICAgIFJlZjxXZWJDb29raWVKYXI+IG1fY29va2llSmFyOwogICAgIFdlYlNvY2tldENoYW5uZWxN
YW5hZ2VyIG1fd2ViU29ja2V0Q2hhbm5lbE1hbmFnZXI7Cg==
</data>
<flag name="review"
          id="427589"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411602</attachid>
            <date>2020-10-16 11:45:38 -0700</date>
            <delta_ts>2020-10-16 12:38:54 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-217559-20201016114537.patch</filename>
            <type>text/plain</type>
            <size>178407</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc3M2RjYjU0YTQ3ODg5
YWJjNjJlMTQ0ODY3ZjgwN2I1MjQyNTliMS4uYTZmOWQxYTY4ZmM5YzRjMmVkNjk3ODAyODc4YTk1
NTBhMDMyNzg3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTEwLTE0ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhuXSBJbXBs
ZW1lbnQgYSBkdW1teSBXZWJBdXRoblByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzU1OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzAx
Njg3NDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICBO
byB0ZXN0cy4KKworICAgICAgICAqIGVuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3M6CisgICAg
ICAgIFByb3ZpZGVzIGEgbmFtZSBmb3IgdGhlIFdlYkF1dGhuIHByb2Nlc3MuCisKIDIwMjAtMTAt
MTUgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIExlc3NlbiB0
aGUgcmVsaWFuY2Ugb24gVlBBVEggaW4gV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDBiMGZlODZhNTE3NDYzMGY2ZTY3YzMxMjg0MjgzOTJiZDc2ZWJkM2YuLjQ5YTEyMDk1
Y2ViY2FjZWY3MjYwOTAyMzM2NDVmZTA5MzdmNTc1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTU3
IEBACisyMDIwLTEwLTE0ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW1dlYkF1dGhuXSBJbXBsZW1lbnQgYSBkdW1teSBXZWJBdXRoblByb2Nlc3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzU1OQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzAxNjg3NDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQg
RnVsZ2hhbS4KKworICAgICAgICBQcmV2aW91cyBwYXRjaCByMjY4MjQ4IGludHJvZHVjZXMgYSBu
ZXcgZGFlbW9uIHRvIGhhbmRsZSBhbGwgV2ViQXV0aG4gcmVxdWVzdHMuIEhvd2V2ZXIsIGFmdGVy
IG1vcmUgZGVlcGVyIGludmVzdGlnYXRpb25zLCB0aGUgZGFlbW9uCisgICAgICAgIHN0b3J5IGlz
IG5vdCB2ZXJ5IGNvbXBlbGxpbmcgZm9yIFdlYktpdC4gSGVyZSBhcmUgdGhlIHR3byBtYWpvciBy
b2FkIGJsb2NrZXJzOgorICAgICAgICAxKSBUaGUgbWFqb3Igb25lIGlzIG9uIG1hY09TLiBOZXcg
ZGFlbW9ucyBjYW5ub3QgYmUgaW5zdGFsbGVkIHdpdGhvdXQgYSBzeXN0ZW0gdXBkYXRlLiBJdCBt
ZWFucyByZWxvY2F0YWJsZSBTYWZhcmkgKGUuZy4gU1RQKQorICAgICAgICBhbmQgc3RhZ2VkIFNh
ZmFyaSBvbiBkb3dubGV2ZWwgT1NlcyB3aWxsIG5vdCBnZXQgdGhpcyBmZWF0dXJlLiBBbmQgcmVs
b2NhdGFibGUgU1RQIGNhbiBvbmx5IHV0aWxpemUgdGhlIHN5c3RlbSBkYWVtb24uIFRoaXMKKyAg
ICAgICAgc2VlbXMgYSBidW1tZXIgZXNwZWNpYWxseSBmb3IgdGhlIFNUUCBjYXNlIGdpdmVuIGl0
IGlzIGhlYXZpbHkgdXNlZCB0byB0ZXN0IGxhdGVzdCB3ZWIgZmVhdHVyZXMuCisgICAgICAgIDIp
IEFkZGl0aW9uYWwgcGx1bWJpbmcgaXMgbmVlZGVkIGZvciB0ZXN0aW5nIGFuZCBlbmdpbmVlcmlu
ZyBidWlsZHMuIFRoaXMgcHJvYmxlbSBpcyBzcGVjaWZpYyB0byBXZWJLaXQgYW5kIGlzIG9uIGJv
dGggbWFjT1MgYW5kIGlPUy4KKyAgICAgICAgV2ViS2l0IGRvZXNuJ3QgYnVpbGQgcm9vdHMgdG8g
dGVzdCBlbmdpbmVlcmluZyBidWlsZHMsIHdoaWNoIGlzIHJlcXVpcmVkIHRvIHVwZGF0ZSB0aGUg
cGxpc3Qgb24gdGhlIGFib3ZlIGxvY2F0aW9uLiBIZW5jZSwgYSBzZXBhcmF0ZQorICAgICAgICBj
b25maWd1cmF0aW9uIGlzIG5lZWRlZCB0byBnZW5lcmF0ZSBhIGRpZmZlcmVudCBwbGlzdCB0aGF0
IHBvaW50cyB0byB0aGUgcmlnaHQgZW5naW5lZXJpbmcgYmluYXJ5IGFuZCBhZGRpdGlvbmFsIHNj
cmlwdHMgd2lsbCBiZSBuZWVkZWQKKyAgICAgICAgdG8gYXNrIGxhdW5jaGQgdG8gbG9hZCB0aGUg
cGxpc3QgYmVmb3JlIHJ1bm5pbmcgYW55IHRlc3RzLiBTb21lIGV4dHJhIGV4ZXJjaXNlcyBhcmUg
cHJvYmFibHkgbmVlZGVkIHRvIG5vdCBjb25mdXNlIGxhdW5jaGQgYWJvdXQgdGhlCisgICAgICAg
IGVuZ2luZWVyaW5nIGJpbmFyeSBhbmQgc3lzdGVtIGJpbmFyeSBhcyB3ZWxsLgorCisgICAgICAg
IEdpdmVuIHRoZSBhYm92ZSBjb25zdHJhaW50cywgYSBuZXcgYXJjaGl0ZWN0dXJlIGlzIHByb3Bv
c2VkIHRvIG1ha2UgdGhlIGRhZW1vbiBhIFdlYktpdCBYUEMgc2VydmljZS9wcm9jZXNzIGluc3Rl
YWQgYW5kIGxlYXZlIHRoZSBsYXVuY2hkCisgICAgICAgIGV2ZW50IGhhbmRsZXIgdG8gYSBuZXcg
U2FmYXJpIGRhZW1vbi4gVGhlIGxhdW5jaGQgcmVsYXRlZCBmZWF0dXJlIGlzIG9ubHkgb24gaU9T
IGFuZCB0aGVyZWZvcmUgaXQgcmVhbGx5IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBvdmVyY29tZQor
ICAgICAgICBhbGwgdGhlIGFib3ZlIG1hY09TIGNvbnN0cmFpbnRzLiBIYXZpbmcgZGlmZmVyZW50
IGFyY2hpdGVjdHVyZXMgb24gaU9TIChhIGRhZW1vbikgYW5kIG9uIG1hY09TIChhIFhQQyBzZXJ2
aWNlKSBhY2NvcmRpbmdseSB3aWxsIGludHJvZHVjZQorICAgICAgICB0b25zIG9mIG92ZXJoZWFk
IGZvciBtYWludGFpbmFuY2UgYXMgd2VsbC4gVGhhdCdzIHdoeSByZWx5aW5nIG9uIGEgU2FmYXJp
IGRhZW1vbiB0byBkbyB0aGUgam9iIGlzIHRoZSBtb3N0IHJlYXNvbmFibGUgb3B0aW9uLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggdGhlcmVmb3JlIGZvY3VzZXMgb24gbWFraW5nIHRoZSBXZWJBdXRo
biBwcm9jZXNzIGhhcHBlbiBhbmQgcmVtb3ZlcyB0aGUgV2ViQXV0aG4gZGFlbW9uLgorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViQXV0aG5T
ZXJ2aWNlLnhjY29uZmlnOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9u
cy9XZWJBdXRoZW50aWNhdGlvbkFnZW50LnhjY29uZmlnLgorICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAgICAgKiBEYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9u
QWdlbnQvV2ViQXV0aGVudGljYXRpb25BZ2VudC5lbnRpdGxlbWVudHM6IFJlbW92ZWQuCisgICAg
ICAgICogRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L2NvbS5hcHBsZS53ZWJraXQuV2Vi
QXV0aGVudGljYXRpb25BZ2VudC5wbGlzdDogUmVtb3ZlZC4KKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgIFBhcGVy
d29yayBmb3IgYnVpbGRpbmcgdGhlIG5ldyBXZWJBdXRobiBwcm9jZXNzLgorCisgICAgICAgICog
UGxhdGZvcm0vRXh0cmFQcml2YXRlU3ltYm9sc0ZvclRBUEkuaDoKKyAgICAgICAgKiBTaGFyZWQv
QXV4aWxpYXJ5UHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVz
L0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9pbnQuaDoKKyAgICAgICAgKiBTaGFy
ZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1t
OgorICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlRXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6OnByb2Nl
c3NTdG9yYWdlQ2xhc3MpOgorICAgICAgICAoV2ViS2l0OjpzYW5kYm94RGlyZWN0b3J5KToKKyAg
ICAgICAgUGFwZXJ3b3JrIGZvciBpbnRyb2R1Y2luZyB0aGUgbmV3IFdlYkF1dGhuIHByb2Nlc3Mu
IE1vc3RseSBjb3BpZWQgZnJvbSBHUFUgcHJvY2Vzcy4KKworICAgICAgICAqIFNvdXJjZXMudHh0
OgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgIFBhcGVyd29yayBmb3IgYnVp
bGRpbmcgdGhlIG5ldyBXZWJBdXRobiBwcm9jZXNzLgorCisgICAgICAgICogVUlQcm9jZXNzL0F1
eGlsaWFyeVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nl
c3NQcm94eTo6Z2V0TGF1bmNoT3B0aW9ucyk6CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVy
L1Byb2Nlc3NMYXVuY2hlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJv
Y2Vzc0xhdW5jaGVyTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpzZXJ2aWNlTmFtZSk6CisgICAg
ICAgIChXZWJLaXQ6OnNob3VsZExlYWtCb29zdCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24pOgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRoblByb2Nlc3NQcm94eTo6V2ViQXV0aG5Qcm9jZXNzUHJveHkpOgorICAgICAgICAo
V2ViS2l0OjpXZWJBdXRoblByb2Nlc3NQcm94eTo6Z2V0TGF1bmNoT3B0aW9ucyk6CisgICAgICAg
IChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc1Byb3h5Ojpjb25uZWN0aW9uV2lsbE9wZW4pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NQcm94eTo6cHJvY2Vzc1dpbGxTaHV0RG93bik6
CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzUHJveHk6Ondl
YkF1dGhuUHJvY2Vzc0NyYXNoZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NQ
cm94eTo6ZGlkQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NQcm94eTo6
ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9j
ZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhu
UHJvY2Vzc1Byb3h5Ojp1cGRhdGVQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzUHJveHkuaDogQWRkZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Z2V0V2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NQcm94eTo6Z2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL0VudHJ5UG9pbnQv
Q29jb2EvWFBDU2VydmljZS9XZWJBdXRoblNlcnZpY2UvSW5mby1PU1gucGxpc3Q6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJLaXQvRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L0luZm8ucGxp
c3QuCisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2Vydmlj
ZS9XZWJBdXRoblNlcnZpY2UvSW5mby1pT1MucGxpc3Q6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
S2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9JbmZvLnBsaXN0LgorICAgICAgICAq
IFdlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2
aWNlRW50cnlQb2ludC5tbTogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1
dGhlbnRpY2F0aW9uQWdlbnQvbWFpbi5tbS4KKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5TZXJ2
aWNlSW5pdGlhbGl6ZXJEZWxlZ2F0ZTo6V2ViQXV0aG5TZXJ2aWNlSW5pdGlhbGl6ZXJEZWxlZ2F0
ZSk6CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzPFdlYkF1dGhu
UHJvY2Vzcz4pOgorICAgICAgICAoV0VCQVVUSEVOX1NFUlZJQ0VfSU5JVElBTElaRVIpOgorICAg
ICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OldlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6fldlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
ZGlkQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSk6CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNz
L1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2Vi
S2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9tYWluLm1tLgorICAgICAgICAoV2Vi
S2l0OjpXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNvbm5lY3Rpb24pOgorICAgICAg
ICAoV2ViS2l0OjpXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OldlYkF1dGhuUHJvY2Vz
c1Byb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OndlYlByb2Nlc3NJZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKiBXZWJBdXRoblByb2Nl
c3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAg
ICAgICAgKiBXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6V2ViQXV0aG5Qcm9jZXNzKToKKyAgICAgICAg
KFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjp+V2ViQXV0aG5Qcm9jZXNzKToKKyAgICAgICAgKFdl
YktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpjcmVhdGVXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OnJlbW92ZVdlYkF1dGhuQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6
Y29ubmVjdGlvblRvV2ViUHJvY2Vzc0Nsb3NlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhu
UHJvY2Vzczo6c2hvdWxkVGVybWluYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9j
ZXNzOjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6bG93TWVt
b3J5SGFuZGxlcik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6
ZVdlYkF1dGhuUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6cHJl
cGFyZVRvU3VzcGVuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6cHJvY2Vz
c0RpZFJlc3VtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6cmVzdW1lKToK
KyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpwcm9jZXNzRGlkVHJhbnNpdGlvblRv
Rm9yZWdyb3VuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6cHJvY2Vzc0Rp
ZFRyYW5zaXRpb25Ub0JhY2tncm91bmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nl
c3M6OndlYlByb2Nlc3NDb25uZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKiBXZWJBdXRoblByb2Nl
c3MvV2ViQXV0aG5Qcm9jZXNzLmg6IEFkZGVkLgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9X
ZWJBdXRoblByb2Nlc3MubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYkF1dGhuUHJv
Y2Vzcy9XZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9tYWluLm1tLgorICAg
ICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
czo6ZGVjb2RlKToKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvRGFlbW9ucy9XZWJB
dXRoZW50aWNhdGlvbkFnZW50L21haW4ubW0uCisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL2lv
cy9XZWJBdXRoblByb2Nlc3NJT1MubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvRGFlbW9u
cy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L21haW4ubW0uCisgICAgICAgIChXZWJLaXQ6OldlYkF1
dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRo
blByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzTmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1
dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3gpOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vz
cy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2Vi
QXV0aG5Qcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1
dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3NOYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
QXV0aG5Qcm9jZXNzOjppbml0aWFsaXplU2FuZGJveCk6CisgICAgICAgIFBhcGVyd29yayBmb3Ig
aW50cm9kdWNpbmcgdGhlIG5ldyBXZWJBdXRobiBwcm9jZXNzLiBNb3N0bHkgY29waWVkIGZyb20g
R1BVIHByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluOiBBZGRlZC4KKyAgICAgICAgVGhlIHNhbmRib3gg
cHJvZmlsZSBpcyBvcmlnaW5hbGx5IGZyb20gdGhlIEdQVSBQcm9jZXNzIHdpdGggSU9LaXQgcmVs
YXRlZCBydWxlcyByZW1vdmVkLiBXaWxsIHRpZ2h0ZW4gaXQgYWdhaW4gYWZ0ZXIgdGhlIHByb2Nl
c3MgaXMgZnVsbHkgZnVuY3Rpb25hbC4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICBQYXBlcndvcmsgZm9yIGJ1aWxkaW5nIHRoZSBuZXcgV2Vi
QXV0aG4gcHJvY2Vzcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQv
RGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L21haW4ubW0uCisgICAgICAgIChXZWJLaXQ6
OldlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OldlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjp+V2ViQXV0aG5Qcm9j
ZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rp
b246OmRpZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlv
bjo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uaDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9XZWJLaXQvRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L21haW4ubW0uCisgICAg
ICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OmNyZWF0ZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OmNvbm5lY3Rpb24pOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNh
dGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm86OmlkZW50aWZpZXIgY29uc3QpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mbzo6cmVsZWFzZUlk
ZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5m
bzo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ29ubmVj
dGlvbkluZm86OmRlY29kZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Z2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OmVuc3VyZVdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjp3ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uQ2xv
c2VkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzczo6ZXhpc3RpbmdXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKToKKyAgICAg
ICAgUGFwZXJ3b3JrIGZvciBpbnRyb2R1Y2luZyB0aGUgbmV3IFdlYkF1dGhuIHByb2Nlc3MuIE1v
c3RseSBjb3BpZWQgZnJvbSBHUFUgcHJvY2Vzcy4KKwogMjAyMC0xMC0xNSAgSmlld2VuIFRhbiAg
PGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJBdXRobl0gTW92ZSBBcHBBdHRl
c3RJbnRlcm5hbCByZWxhdGVkIGNvZGUgZnJvbSBXS0EgdG8gT3BlblNvdXJjZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncyBiL1NvdXJjZS9X
ZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKaW5kZXggZmE0ZDMyY2NmNzI3MGEz
NjZhMDZhZGZlZGE4OGFlN2RjYzNlNjlmZS4uNTQ2NjlkNmQ2YzA4Mjc3MzljY2IxZDJkZTgyODA0
NTU2NTUxMTM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFi
bGUuc3RyaW5ncworKysgYi9Tb3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJp
bmdzCkBAIC00Niw2ICs0Niw5IEBACiAvKiBWaXNpYmxlIG5hbWUgb2YgU2VydmljZSBXb3JrZXIg
cHJvY2Vzcy4gVGhlIGFyZ3VtZW50IGlzIHRoZSBhcHBsaWNhdGlvbiBuYW1lLiAqLwogIiVAIFNl
cnZpY2UgV29ya2VyICglQCkiID0gIiVAIFNlcnZpY2UgV29ya2VyICglQCkiOwogCisvKiB2aXNp
YmxlIG5hbWUgb2YgdGhlIFdlYkF1dGhuIHByb2Nlc3MuIFRoZSBhcmd1bWVudCBpcyB0aGUgYXBw
bGljYXRpb24gbmFtZS4gKi8KKyIlQCBXZWIgQXV0aGVudGljYXRpb24iID0gIiVAIFdlYiBBdXRo
ZW50aWNhdGlvbiI7CisKIC8qIFZpc2libGUgbmFtZSBvZiB0aGUgd2ViIHByb2Nlc3MuIFRoZSBh
cmd1bWVudCBpcyB0aGUgYXBwbGljYXRpb24gbmFtZS4gKi8KICIlQCBXZWIgQ29udGVudCIgPSAi
JUAgV2ViIENvbnRlbnQiOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAppbmRleCBjOWY2YjQzYjhlODcxYTMz
ZmRiZDY0MTkyN2Y0Yzg3ZDhhZGI0M2Y2Li4yYjJlOTg1MDZhYTI0MmU0OWRlODYyOTUyZDBmZDMx
OWE0ZDY3NzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKQEAgLTcxLDYgKzcxLDcgQEAgc2V0KFdlYktp
dF9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUX0RJUn0vVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uIgogICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNh
dGlvbi9Nb2NrIgogICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YSIKKyAg
ICAiJHtXRUJLSVRfRElSfS9XZWJBdXRoblByb2Nlc3MiCiAgICAgIiR7V0VCS0lUX0RJUn0vV2Vi
UHJvY2VzcyIKICAgICAiJHtXRUJLSVRfRElSfS9XZWJQcm9jZXNzL0FwcGxlUGF5IgogICAgICIk
e1dFQktJVF9ESVJ9L1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZSIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC54Y2NvbmZp
ZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC54
Y2NvbmZpZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzA1MDU1YzE5MWQ3ZjdmMjg1
M2Q5NjViOTBlN2E3ZWEzOTc3MDVhNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYkF1dGhlbnRpY2F0
aW9uQWdlbnQueGNjb25maWcKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0vLyBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8KLS8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0vLyBhcmUgbWV0OgotLy8gMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS8vICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLS8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0vLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0vLyAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
Ly8KLS8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotLy8gRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLS8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotLy8gUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLS8vIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
Ly8gRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotLy8gUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0vLyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0vLyBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLS8vIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotI2luY2x1ZGUgIkJhc2VYUENTZXJ2aWNlLnhj
Y29uZmlnIgotCi1QUk9EVUNUX05BTUUgPSBjb20uYXBwbGUuV2ViS2l0LldlYkF1dGhlbnRpY2F0
aW9uQWdlbnQ7Ci1QUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0gJChQUk9EVUNUX05BTUUpOwot
SU5GT1BMSVNUX0ZJTEUgPSBEYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvSW5mby5wbGlz
dDsKLQotT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKE9USEVSX0xERkxBR1NfVkVSU0lP
TkVEX0ZSQU1FV09SS19QQVRIKSAkKFdLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS1NfTERGTEFHUyk7
Ci0KLUVOVElUTEVNRU5UU19SRVFVSVJFRCA9ICQoRU5USVRMRU1FTlRTX1JFUVVJUkVEX1VTRV9J
TlRFUk5BTF9TREtfJChVU0VfSU5URVJOQUxfU0RLKSkKLUVOVElUTEVNRU5UU19SRVFVSVJFRF9V
U0VfSU5URVJOQUxfU0RLXyA9IE5POwotRU5USVRMRU1FTlRTX1JFUVVJUkVEX1VTRV9JTlRFUk5B
TF9TREtfTk8gPSBOTzsKLUVOVElUTEVNRU5UU19SRVFVSVJFRF9VU0VfSU5URVJOQUxfU0RLX1lF
UyA9ICQoRU5USVRMRU1FTlRTX1JFUVVJUkVEKTsKLQotQ09ERV9TSUdOX0VOVElUTEVNRU5UUyA9
IERhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9XZWJBdXRoZW50aWNhdGlvbkFnZW50LmVu
dGl0bGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2Vi
QXV0aG5TZXJ2aWNlLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJB
dXRoblNlcnZpY2UueGNjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGFjMzYzM2YzZDY0ZTJjZmRhYTk1M2Y3
Mjk0MGZhNzllYTMwZjA5YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmln
dXJhdGlvbnMvV2ViQXV0aG5TZXJ2aWNlLnhjY29uZmlnCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisvLyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorLy8gSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorLy8gQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisvLyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisvLyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKy8vIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKy8vIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLy8g
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaW5jbHVkZSAiQmFzZVhQQ1NlcnZpY2Uu
eGNjb25maWciCisKK1BST0RVQ1RfTkFNRSA9IGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG47CitQ
Uk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0gJChQUk9EVUNUX05BTUUpOworSU5GT1BMSVNUX0ZJ
TEVbc2RrPWVtYmVkZGVkKl0gPSBXZWJBdXRoblByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENT
ZXJ2aWNlL1dlYkF1dGhuU2VydmljZS9JbmZvLWlPUy5wbGlzdDsKK0lORk9QTElTVF9GSUxFW3Nk
az1tYWNvc3gqXSA9IFdlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2Uv
V2ViQXV0aG5TZXJ2aWNlL0luZm8tT1NYLnBsaXN0OworCitPVEhFUl9MREZMQUdTID0gJChpbmhl
cml0ZWQpICQoT1RIRVJfTERGTEFHU19WRVJTSU9ORURfRlJBTUVXT1JLX1BBVEgpICQoV0tfUkVM
T0NBVEFCTEVfRlJBTUVXT1JLU19MREZMQUdTKTsKKworRU5USVRMRU1FTlRTX1JFUVVJUkVEID0g
JChFTlRJVExFTUVOVFNfUkVRVUlSRURfVVNFX0lOVEVSTkFMX1NES18kKFVTRV9JTlRFUk5BTF9T
REspKQorRU5USVRMRU1FTlRTX1JFUVVJUkVEX1VTRV9JTlRFUk5BTF9TREtfID0gTk87CitFTlRJ
VExFTUVOVFNfUkVRVUlSRURfVVNFX0lOVEVSTkFMX1NES19OTyA9IE5POworRU5USVRMRU1FTlRT
X1JFUVVJUkVEX1VTRV9JTlRFUk5BTF9TREtfWUVTID0gJChFTlRJVExFTUVOVFNfUkVRVUlSRUQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25m
aWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwppbmRleCBm
M2I3ZWJlMWJiNWE0MDY3YTFlNmQ2YzcyMDA1OGQwZmZkNjNjZTA0Li5hMzQ5NmNkM2Y3ZjM5ZGI5
OWNkYzIzMDkxZDkzNDU5NGEzNDhjNjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZp
Z3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRp
b25zL1dlYktpdC54Y2NvbmZpZwpAQCAtMTU0LDcgKzE1NCw3IEBAIFNFQ1RPUkRFUl9GTEFHU19Q
cm9kdWN0aW9uW3Nkaz1pcGhvbmVvcypdID0gLVdsLC1vcmRlcl9maWxlLCQoU0RLUk9PVCkvQXBw
bGVJbnRlCiBTRUNUT1JERVJfRkxBR1NfUHJvZHVjdGlvbltzZGs9bWFjb3N4Kl0gPSAtV2wsLW9y
ZGVyX2ZpbGUsbWFjL1dlYktpdDIub3JkZXI7CiAKIEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVT
ID0gUmVzb3VyY2VzL2lvcy8qOwotRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNbc2RrPWlwaG9u
ZSpdID0gUGx1Z2luUHJvY2Vzc1NoaW0uZHlsaWIgU2VjSXRlbVNoaW0uZHlsaWIgV2ViUHJvY2Vz
c1NoaW0uZHlsaWIgKi5wZGYgUmVzb3VyY2VzL21hYy8qIGNvbS5hcHBsZS5XZWJLaXQuTmV0d29y
a1Byb2Nlc3Muc2IgY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJQ
cm9jZXNzLnNiIGNvbS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiBQbHVnSW5TYW5kYm94
UHJvZmlsZXMvKi5zYjsKK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9
IFBsdWdpblByb2Nlc3NTaGltLmR5bGliIFNlY0l0ZW1TaGltLmR5bGliIFdlYlByb2Nlc3NTaGlt
LmR5bGliICoucGRmIFJlc291cmNlcy9tYWMvKiBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9j
ZXNzLnNiIGNvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYiBjb20uYXBwbGUuV2ViS2l0Lldl
YkF1dGhuUHJvY2Vzcy5zYiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiBjb20uYXBwbGUuV2ViS2l0
LnBsdWdpbi1jb21tb24uc2IgUGx1Z0luU2FuZGJveFByb2ZpbGVzLyouc2I7CiAKIElOU1RBTExI
RFJTX1NDUklQVF9QSEFTRSA9IFlFUzsKIEFQUExZX1JVTEVTX0lOX0NPUFlfSEVBREVSUyA9ICQo
V0tfVVNFX05FV19CVUlMRF9TWVNURU0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EYWVt
b25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvSW5mby5wbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGFl
bW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L0luZm8ucGxpc3QKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDYwNDg0NDg3N2EwOGQ2ZmVjNjA4NWI5OTI3ZmMxODdiYzIxMWFkODguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktp
dC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQvSW5mby5wbGlzdAorKysgL2Rldi9udWxs
CkBAIC0xLDM0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+
Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJo
dHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KLTxwbGlzdCB2
ZXJzaW9uPSIxLjAiPgotPGRpY3Q+Ci0JPGtleT5DRkJ1bmRsZUdldEluZm9TdHJpbmc8L2tleT4K
LQk8c3RyaW5nPiR7QlVORExFX1ZFUlNJT059LCBDb3B5cmlnaHQgMjAwMy0yMDIwIEFwcGxlIElu
Yy48L3N0cmluZz4KLQk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KLQk8c3Ry
aW5nPkVuZ2xpc2g8L3N0cmluZz4KLQk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgotCTxz
dHJpbmc+JHtFWEVDVVRBQkxFX05BTUV9PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZUlkZW50aWZp
ZXI8L2tleT4KLQk8c3RyaW5nPiR7UFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUn08L3N0cmluZz4K
LQk8a2V5PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+Ci0JPHN0cmluZz42LjA8
L3N0cmluZz4KLQk8a2V5PkNGQnVuZGxlTmFtZTwva2V5PgotCTxzdHJpbmc+JHtQUk9EVUNUX05B
TUV9PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+Ci0JPHN0cmluZz5B
UFBMPC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5PgotCTxz
dHJpbmc+JHtTSE9SVF9WRVJTSU9OX1NUUklOR308L3N0cmluZz4KLQk8a2V5PkNGQnVuZGxlU2ln
bmF0dXJlPC9rZXk+Ci0JPHN0cmluZz4/Pz8/PC9zdHJpbmc+Ci0JPGtleT5DRkJ1bmRsZVZlcnNp
b248L2tleT4KLQk8c3RyaW5nPiR7QlVORExFX1ZFUlNJT059PC9zdHJpbmc+Ci0JPGtleT5MU0Zp
bGVRdWFyYW50aW5lRW5hYmxlZDwva2V5PgotCTx0cnVlLz4KLQk8a2V5PkxTQmFja2dyb3VuZE9u
bHk8L2tleT4KLQk8dHJ1ZS8+Ci0JPGtleT5OU1ByaW5jaXBhbENsYXNzPC9rZXk+Ci0JPHN0cmlu
Zz5OU0FwcGxpY2F0aW9uPC9zdHJpbmc+Ci0JPGtleT5MU1VJRWxlbWVudDwva2V5PgotCTx0cnVl
Lz4KLTwvZGljdD4KLTwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0RhZW1vbnMv
V2ViQXV0aGVudGljYXRpb25BZ2VudC9XZWJBdXRoZW50aWNhdGlvbkFnZW50LmVudGl0bGVtZW50
cyBiL1NvdXJjZS9XZWJLaXQvRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L1dlYkF1dGhl
bnRpY2F0aW9uQWdlbnQuZW50aXRsZW1lbnRzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwYzY3Mzc2ZWJhY2I0MTBmZDg3M2NhYzFkOGQ4ZGQ0MzFiMjYyYzAyLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvRGFlbW9ucy9X
ZWJBdXRoZW50aWNhdGlvbkFnZW50L1dlYkF1dGhlbnRpY2F0aW9uQWdlbnQuZW50aXRsZW1lbnRz
CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElT
VCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0
ZCI+Ci08cGxpc3QgdmVyc2lvbj0iMS4wIj4KLTxkaWN0Lz4KLTwvcGxpc3Q+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9jb20uYXBwbGUu
d2Via2l0LldlYkF1dGhlbnRpY2F0aW9uQWdlbnQucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0RhZW1v
bnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9jb20uYXBwbGUud2Via2l0LldlYkF1dGhlbnRpY2F0
aW9uQWdlbnQucGxpc3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4YjlhYzlmZmQy
ZTcwOWIzNzdlMTZiOTJkZjVhZDczZTkzMWQwMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9EYWVtb25zL1dlYkF1dGhlbnRpY2F0
aW9uQWdlbnQvY29tLmFwcGxlLndlYmtpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50LnBsaXN0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGlu
Zz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1Qg
MS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQi
PgotPHBsaXN0IHZlcnNpb249IjEuMCI+Ci08ZGljdD4KLQk8a2V5PkVuYWJsZVByZXNzdXJlZEV4
aXQ8L2tleT4KLQk8dHJ1ZS8+Ci0JPGtleT5LZWVwQWxpdmU8L2tleT4KLQk8ZmFsc2UvPgotCTxr
ZXk+TGFiZWw8L2tleT4KLQk8c3RyaW5nPmNvbS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGljYXRp
b25BZ2VudDwvc3RyaW5nPgotCTxrZXk+TWFjaFNlcnZpY2VzPC9rZXk+Ci0JPGRpY3Q+Ci0JCTxr
ZXk+Y29tLmFwcGxlLndlYmtpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50PC9rZXk+Ci0JCTx0cnVl
Lz4KLQk8L2RpY3Q+Ci0JPGtleT5Qcm9ncmFtPC9rZXk+Ci0JPHN0cmluZz4vVXNlcnMvand0YW4v
RG9jdW1lbnRzL0J1aWxkL1Byb2R1Y3RzL0RlYnVnL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aGVu
dGljYXRpb25BZ2VudC5EZXZlbG9wbWVudDwvc3RyaW5nPgotPC9kaWN0PgotPC9wbGlzdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L21h
aW4ubW0gYi9Tb3VyY2UvV2ViS2l0L0RhZW1vbnMvV2ViQXV0aGVudGljYXRpb25BZ2VudC9tYWlu
Lm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwY2NlNDdjODM5Y2IzZGMwYzc1ZTU1
Yjc4YmUwNTQxYjI4YjMzYjdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvRGFlbW9ucy9XZWJBdXRoZW50aWNhdGlvbkFnZW50L21h
aW4ubW0KKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9y
dCAiY29uZmlnLmgiCi0KLWludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCi17
Ci0gICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0gICAgICAgIFdURkxvZ0Fsd2F5cygiY29tLmFwcGxl
LndlYmtpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50IHN0YXJ0ZWQuIik7Ci0gICAgfQotCi0gICAg
W1tOU1J1bkxvb3AgbWFpblJ1bkxvb3BdIHJ1bl07Ci0KLSAgICByZXR1cm4gMDsKLX0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA2ODQ1Y2U4
YmQ0MGY2NzFjMzI0YjliMjUyNGQ5Yzc0ZGVkZjAxMWEwLi5lNmNlNmM3Y2RiNGZhNjUwMTU2OTk2
YmRiOWE4YjgxYjc2ZTVlMzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CkBAIC0xMDUsNiArMTA1LDcgQEAgJChQUk9KRUNUX0RJUikvVUlQcm9j
ZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvVmlld0dlc3R1cmVDb250cm9sbGVyLm1lc3NhZ2Vz
LmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRp
Y2F0b3JDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9VSVByb2Nl
c3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KICQo
UFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Lm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJv
eHkubWVzc2FnZXMuaW4KQEAgLTExNiw2ICsxMTcsOSBAQCAkKFBST0pFQ1RfRElSKS9VSVByb2Nl
c3MvaW9zL0VkaXRhYmxlSW1hZ2VDb250cm9sbGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9pb3MvV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQ
cm92aWRlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvbWFjL1Nl
Y0l0ZW1TaGltUHJveHkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL1dlYkF1dGhuUHJvY2Vz
cy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9E
SVIpL1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MubWVzc2FnZXMuaW4KKyQoUFJPSkVD
VF9ESVIpL1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nl
c3Muc2IuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENv
b3JkaW5hdG9yLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0F1dG9tYXRp
b24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5qcwogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vz
cy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KQEAgLTE1
NCw2ICsxNTgsNyBAQCAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9E
SVIpL1dlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1
dGhlbnRpY2F0b3JDb29yZGluYXRvci5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvV2ViUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2Vz
LmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRldmljZU9y
aWVudGF0aW9uVXBkYXRlUHJvdmlkZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db2NvYS9UZXh0Q2hlY2tpbmdDb250cm9sbGVyUHJveHkubWVzc2FnZXMu
aW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5tZXNzYWdl
cy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
aW5kZXggMDRkNDc5ODZhMDU2NTkwYzhkMTljOTYxOWU5MjMzMjhkMjg0MWMxYi4uYjVkZGE5ZjE3
YzllYjY0NWQ3YWZjMmJhOTc1NGY4YzljYjI0MDZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yODksNiArMjg5LDE4IEBAICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhlbnRpY2F0b3JD
b29yZGluYXRvck1lc3NhZ2VzCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhl
bnRpY2F0b3JDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlN
ZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aG5Db25u
ZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXNS
ZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
TWVzc2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRoblByb2Nlc3NNZXNzYWdlUmVj
ZWl2ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9X
ZWJBdXRoblByb2Nlc3NNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9XZWJBdXRoblByb2Nlc3NNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aG5Qcm9jZXNzUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJBdXRoblByb2Nlc3NQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZXNS
ZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YkF1dG9tYXRpb25TZXNzaW9uTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0b21hdGlvblNlc3Npb25NZXNzYWdlcy5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRvbWF0
aW9uU2Vzc2lvbk1lc3NhZ2VzUmVwbGllcy5oCkBAIC00MjIsNSArNDM0LDYgQEAgJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViVXNlckNvbnRlbnRDb250cm9s
bGVyUHJveHlNZXNzYWcKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2NvbS5hcHBsZS5XZWJLaXQu
R1BVUHJvY2Vzcy5zYgogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYgorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nl
c3Muc2IKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2NvbS5h
cHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYgogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMubWFrZQppbmRleCBlZGQ1ODc4Mzg5MTkwZjNlZWM2NmNlOWUzYjE3Nzc5NmUxY2Y3Yjc2
Li5mMTg1NDdmNjAxNjZlZjRjMWQ2NDg0MTk1NGM1MjQ1Y2JjODg0ZmVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdC9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC00NSw2ICs0NSw4IEBAIFZQQVRIID0gXAogICAgICQoV2ViS2l0
MikvU2hhcmVkL0FwcGxlUGF5IFwKICAgICAkKFdlYktpdDIpL1NoYXJlZC9BdXRoZW50aWNhdGlv
biBcCiAgICAgJChXZWJLaXQyKS9TaGFyZWQvbWFjIFwKKyAgICAkKFdlYktpdDIpL1dlYkF1dGhu
UHJvY2VzcyBcCisgICAgJChXZWJLaXQyKS9XZWJBdXRoblByb2Nlc3MvbWFjIFwKICAgICAkKFdl
YktpdDIpL1dlYlByb2Nlc3MvQXBwbGVQYXkgXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9B
cHBsaWNhdGlvbkNhY2hlIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvQXV0b21hdGlvbiBc
CkBAIC0xNDAsNiArMTQyLDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAJVUlQcm9jZXNzL1Jl
bW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5IFwKIAlVSVByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NQcm94eSBcCiAJVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dl
YkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5IFwKKwlVSVByb2Nlc3MvV2ViQXV0aGVudGlj
YXRpb24vV2ViQXV0aG5Qcm9jZXNzUHJveHkgXAogCVVJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJv
eHkgXAogCVVJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94
eSBcCiAJVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JQcm94eSBcCkBAIC0yMTMsNiAr
MjE2LDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAJV2ViUHJvY2Vzcy9XZWJQYWdlL1Zpc2l0
ZWRMaW5rVGFibGVDb250cm9sbGVyIFwKIAlXZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvVGV4dENo
ZWNraW5nQ29udHJvbGxlclByb3h5IFwKIAlXZWJQcm9jZXNzL1dlYlBhZ2UvVmlld1VwZGF0ZURp
c3BhdGNoZXIgXAorCVdlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbiBcCiAJUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbiBcCiAJUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkgXAogCVBsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2VzcyBcCkBAIC0yMzksNiArMjQzLDggQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAJR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVB
dWRpb0Rlc3RpbmF0aW9uTWFuYWdlciBcCisJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyBcCisJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBcCiAj
CiAKIEdFTkVSQVRFX01FU1NBR0VfUkVDRUlWRVJfU0NSSVBUID0gJChXZWJLaXQyKS9TY3JpcHRz
L2dlbmVyYXRlLW1lc3NhZ2UtcmVjZWl2ZXIucHkKQEAgLTI4NCw3ICsyOTAsOCBAQCBTQU5EQk9Y
X1BST0ZJTEVTID0gXAogCWNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiIFwKIAljb20uYXBwbGUuV2Vi
S2l0LnBsdWdpbi1jb21tb24uc2IgXAogCWNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Mu
c2IgXAotCWNvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYgorCWNvbS5hcHBsZS5XZWJLaXQu
R1BVUHJvY2Vzcy5zYiBcCisJY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IKIAog
YWxsIDogJChTQU5EQk9YX1BST0ZJTEVTKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0V4dHJhUHJpdmF0ZVN5bWJvbHNGb3JUQVBJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0V4dHJhUHJpdmF0ZVN5bWJvbHNGb3JUQVBJLmgKaW5kZXggYzY3ODNhNDY4ODI5N2FiMjMy
ZTgyNTFkNWQ4YjA5NWI5NjQ0NjNhOC4uZmI3YWMwYmM0YzFjYzg5MDNiYTkyNTRjMTQyMzFkMzY2
OWRkNDI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9FeHRyYVByaXZhdGVT
eW1ib2xzRm9yVEFQSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vRXh0cmFQcml2YXRl
U3ltYm9sc0ZvclRBUEkuaApAQCAtMzQsNiArMzQsNyBAQCB2b2lkIE5ldHdvcmtTZXJ2aWNlSW5p
dGlhbGl6ZXIoKTsKIHZvaWQgUGx1Z2luU2VydmljZUluaXRpYWxpemVyKCk7CiB2b2lkIFdlYkNv
bnRlbnRTZXJ2aWNlSW5pdGlhbGl6ZXIoKTsKIHZvaWQgR1BVU2VydmljZUluaXRpYWxpemVyKCk7
Cit2b2lkIFdlYkF1dGhuU2VydmljZUluaXRpYWxpemVyKCk7CiAKICNpZmRlZiBfX2NwbHVzcGx1
cwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5o
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCmluZGV4IGU4NjI4YmUx
MmM2YTlmMDc3ZGM3N2ZkN2U0NDdlMTYyMGY3ZTViNDkuLjdiYTIwN2FiYjBhY2NjOGE1NzBmNWM2
NjNmNDZjYWEyNGE4MjZkOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGls
aWFyeVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNz
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC00OSw3ICs0OSwxMCBAQCBwdWJsaWM6CiAgICAgICAgIE5ldHdvcmssCiAgICAgICAg
IFBsdWdpbiwKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCi0gICAgICAgIEdQVQorICAgICAgICBH
UFUsCisjZW5kaWYKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorICAgICAgICBXZWJBdXRobgogI2Vu
ZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2lu
dFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBD
U2VydmljZUVudHJ5UG9pbnQuaAppbmRleCA4M2UwNWRjOTQyNTg2OWFhYTk5MjhjMzlhZTMwMTdl
MTQ1YTI1NmQxLi4zMzI1ZGIxYjBlZGQwZGE5MjNiOTRjNzUxOTJiNDIzODk0ZjgzODY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQ
Q1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9p
bnQuaApAQCAtNDIsNiArNDIsNyBAQCBleHRlcm4gIkMiIE9TX05PVEhST1cgdm9pZCB2b3VjaGVy
X3JlcGxhY2VfZGVmYXVsdF92b3VjaGVyKHZvaWQpOwogI2RlZmluZSBORVRXT1JLX1NFUlZJQ0Vf
SU5JVElBTElaRVIgTmV0d29ya1NlcnZpY2VJbml0aWFsaXplcgogI2RlZmluZSBQTFVHSU5fU0VS
VklDRV9JTklUSUFMSVpFUiBQbHVnaW5TZXJ2aWNlSW5pdGlhbGl6ZXIKICNkZWZpbmUgR1BVX1NF
UlZJQ0VfSU5JVElBTElaRVIgR1BVU2VydmljZUluaXRpYWxpemVyCisjZGVmaW5lIFdFQkFVVEhO
X1NFUlZJQ0VfSU5JVElBTElaRVIgV2ViQXV0aG5TZXJ2aWNlSW5pdGlhbGl6ZXIKIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9p
bnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbSBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2
aWNlTWFpbi5tbQppbmRleCA0OGMzMGQ1ZjEyMGRhNDhkNTY0MmM0ZDIzNjRmNTM3ZmE3ZGI1YmI2
Li42N2Q1NTJlYTI3OTkzMDZkNjgxZWU0YjdlNDBlYzljZDAxY2M2M2Q4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2Uv
WFBDU2VydmljZU1haW4ubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0
aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tCkBAIC03MCw2ICs3MCw4
IEBAIHN0YXRpYyB2b2lkIFhQQ1NlcnZpY2VFdmVudEhhbmRsZXIoeHBjX2Nvbm5lY3Rpb25fdCBw
ZWVyKQogICAgICAgICAgICAgICAgICAgICBlbnRyeVBvaW50RnVuY3Rpb25OYW1lID0gQ0ZTVFIo
U1RSSU5HSVpFX1ZBTFVFX09GKFBMVUdJTl9TRVJWSUNFX0lOSVRJQUxJWkVSKSk7CiAgICAgICAg
ICAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChzZXJ2aWNlTmFtZSwgImNvbS5hcHBsZS5XZWJLaXQu
R1BVIikpCiAgICAgICAgICAgICAgICAgICAgIGVudHJ5UG9pbnRGdW5jdGlvbk5hbWUgPSBDRlNU
UihTVFJJTkdJWkVfVkFMVUVfT0YoR1BVX1NFUlZJQ0VfSU5JVElBTElaRVIpKTsKKyAgICAgICAg
ICAgICAgICBlbHNlIGlmICghc3RyY21wKHNlcnZpY2VOYW1lLCAiY29tLmFwcGxlLldlYktpdC5X
ZWJBdXRobiIpKQorICAgICAgICAgICAgICAgICAgICBlbnRyeVBvaW50RnVuY3Rpb25OYW1lID0g
Q0ZTVFIoU1RSSU5HSVpFX1ZBTFVFX09GKFdFQkFVVEhOX1NFUlZJQ0VfSU5JVElBTElaRVIpKTsK
ICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9B
dXhpbGlhcnlQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F1eGlsaWFy
eVByb2Nlc3NNYWMubW0KaW5kZXggZjMzY2U3Yzk4NjU0MDlkZGFmOTU5N2VkNGU1MzExNjUwNjEx
ZTU3Yy4uMjJjMGIxODlhYWZjNjk0MDUwODNjMzYwMDRiNGQ0ZGU0ZjNiYmZkMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW0KQEAgLTIzMCw2
ICsyMzAsMTAgQEAgY29uc3RleHByIGNvbnN0IGNoYXIqIHByb2Nlc3NTdG9yYWdlQ2xhc3MoQXV4
aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGUgdHlwZSkKICNpZiBFTkFCTEUoR1BVX1BST0NFU1Mp
CiAgICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6R1BVOgogICAgICAgICBy
ZXR1cm4gIldlYktpdEdQVVNhbmRib3giOworI2VuZGlmCisjaWYgRU5BQkxFKFdFQl9BVVRITikK
KyAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpXZWJBdXRobjoKKyAgICAg
ICAgcmV0dXJuICJXZWJLaXRXZWJBdXRoblNhbmRib3giOwogI2VuZGlmCiAgICAgfQogfQpAQCAt
MjkyLDYgKzI5NiwxMSBAQCBzdGF0aWMgU3RyaW5nIHNhbmRib3hEaXJlY3RvcnkoQXV4aWxpYXJ5
UHJvY2Vzczo6UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUsIGNvbnN0CiAgICAgY2FzZSBBdXhpbGlh
cnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6R1BVOgogICAgICAgICBkaXJlY3RvcnkuYXBwZW5kKCIv
Y29tLmFwcGxlLldlYktpdC5HUFUuU2FuZGJveCIpOwogICAgICAgICBicmVhazsKKyNlbmRpZgor
I2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNz
VHlwZTo6V2ViQXV0aG46CisgICAgICAgIGRpcmVjdG9yeS5hcHBlbmQoIi9jb20uYXBwbGUuV2Vi
S2l0LldlYkF1dGhuLlNhbmRib3giKTsKKyAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXMudHh0CmluZGV4IGRhZjVmYjczMTNiZGQ5ODA2OGRlZGQzOWNiYWM0ZGZiZTkzNzdjYTgu
LjYzMTQ1YWZiNWY5MTQ3MGNlY2ViZDJjYjYwOWM3YjIxZmVjNzY1ZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApA
QCAtNDcyLDEyICs0NzIsMTcgQEAgVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0b3JUcmFuc3BvcnRTZXJ2aWNlLmNwcAogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0b3IuY3BwCiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGlj
YXRvckNvb3JkaW5hdG9yUHJveHkuY3BwCiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2Vi
QXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YS5jcHAKK1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9XZWJBdXRoblByb2Nlc3NQcm94eS5jcHAKIAogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYkRl
dmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5jcHAKIFVJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVJlY29yZC5jcHAKIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlLmNwcAogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uLmNwcAogCitXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAorV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5jcHAKK1dl
YkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisKIFdl
YlByb2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcAogV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAogV2ViUHJvY2Vzcy9XZWJTbGVlcERpc2FibGVyQ2xpZW50LmNwcApAQCAtNjI2LDYg
KzYzMSw3IEBAIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3Bw
CiBXZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5jcHAKIAog
V2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iu
Y3BwCitXZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwCiAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvU2Vzc2lvblN0YXRlQ29udmVyc2lv
bi5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9T
b3VyY2VzQ29jb2EudHh0CmluZGV4IDY0Zjc0YzA5YWM4MTUyZTBlODlhZGQ3NmJhMTJkYjQ5NmQx
MjEyMDYuLjNlNGQ4MWYyNmM1Zjc3NDQ0YzU5NzcyNzJhYmNiZmRmMzE1NmIwYWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKQEAgLTU0OSw2ICs1NDksMTAgQEAgVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL01vY2svTW9ja05mY1NlcnZpY2UubW0KIAogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0Nv
Y29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQogCitXZWJBdXRoblByb2Nlc3MvRW50cnlQb2lu
dC9Db2NvYS9YUENTZXJ2aWNlL1dlYkF1dGhuU2VydmljZUVudHJ5UG9pbnQubW0KK1dlYkF1dGhu
UHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tCitXZWJBdXRoblByb2Nlc3MvbWFjL1dl
YkF1dGhuUHJvY2Vzc01hYy5tbQorCiBXZWJQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3Mu
Y3BwCiAKIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAKaW5k
ZXggZDFhYzdkOTkwZmEyNDBmOTliZjI1Y2RmYzYwYTk0MTEzOTRiNGQ0Ny4uZDQ1NmUwNTk0ZjM0
ZGY2ZDI3NGRhNzJkNjNjYjJhZjViMDZmZWQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuY3BwCkBAIC04Myw2ICs4MywxMSBAQCB2b2lk
IEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6Z2V0TGF1bmNoT3B0aW9ucyhQcm9jZXNzTGF1bmNoZXI6
OkxhdW5jaE9wdGlvbnMmIGxhdQogICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlw
ZTo6R1BVOgogICAgICAgICB2YXJuYW1lID0gIkdQVV9QUk9DRVNTX0NNRF9QUkVGSVgiOwogICAg
ICAgICBicmVhazsKKyNlbmRpZgorI2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgY2FzZSBQcm9j
ZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpXZWJBdXRobjoKKyAgICAgICAgdmFybmFtZSA9ICJX
RUJBVVRITl9QUk9DRVNTX0NNRF9QUkVGSVgiOworICAgICAgICBicmVhazsKICNlbmRpZgogICAg
IH0KICAgICBjb25zdCBjaGFyKiBwcm9jZXNzQ21kUHJlZml4ID0gZ2V0ZW52KHZhcm5hbWUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5j
aGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIu
aAppbmRleCBlZTJiMDdlNjZjZTJmMzBlZTkxMTIyNTE5ZGY3NDE2MjEwZTg4NjM3Li43MDI3MWI3
NDkwNzMxOGZhYmM0NTI3YjQzNWM3NTFjYzRlNjEzMjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaApAQCAtNzMsNyArNzMsMTAg
QEAgcHVibGljOgogI2VuZGlmCiAgICAgICAgIE5ldHdvcmssCiAjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKQotICAgICAgICBHUFUKKyAgICAgICAgR1BVLAorI2VuZGlmCisjaWYgRU5BQkxFKFdFQl9B
VVRITikKKyAgICAgICAgV2ViQXV0aG4KICNlbmRpZgogICAgIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vzc0xhdW5jaGVyTWFj
Lm1tCmluZGV4IDI4YTMzN2NhMmEyODRlOTZiYjI4YjhkZDdkMDA0ZTJhMjk5Y2E3ZGMuLjlhNTJj
ZThkZDk0OTM0YjhlYzMwNDRiNzA2ZWY4NTg1ZGYzNDFiNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5t
bQpAQCAtNjAsNiArNjAsMTAgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHNlcnZpY2VOYW1lKGNvbnN0
IFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1bmNoT3B0aW8KICAgICBjYXNlIFBy
b2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6OkdQVToKICAgICAgICAgcmV0dXJuICJjb20uYXBw
bGUuV2ViS2l0LkdQVSI7CiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorICAgIGNhc2Ug
UHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6V2ViQXV0aG46CisgICAgICAgIHJldHVybiAi
Y29tLmFwcGxlLldlYktpdC5XZWJBdXRobiI7CisjZW5kaWYKICNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKICAgICBjYXNlIFByb2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6OlBsdWdp
bjoKICAgICAgICAgcmV0dXJuICJjb20uYXBwbGUuV2ViS2l0LlBsdWdpbi42NCI7CkBAIC03NCwx
MCArNzgsMTQgQEAgc3RhdGljIGJvb2wgc2hvdWxkTGVha0Jvb3N0KGNvbnN0IFByb2Nlc3NMYXVu
Y2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1bmNoT3B0aW9ucykKICAgICBVTlVTRURfUEFSQU0obGF1
bmNoT3B0aW9ucyk7CiAgICAgcmV0dXJuIHRydWU7CiAjZWxzZQotICAgIC8vIE9uIE1hYywgbGVh
ayBhIGJvb3N0IG9udG8gdGhlIE5ldHdvcmtQcm9jZXNzIGFuZCBHUFVQcm9jZXNzLgorICAgIC8v
IE9uIE1hYywgbGVhayBhIGJvb3N0IG9udG8gdGhlIE5ldHdvcmtQcm9jZXNzLCBHUFVQcm9jZXNz
LCBhbmQgV2ViQXV0aG5Qcm9jZXNzLgogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICBpZiAo
bGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBQcm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBl
OjpHUFUpCiAgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCisjaWYgRU5BQkxFKFdFQl9BVVRI
TikKKyAgICBpZiAobGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBQcm9jZXNzTGF1bmNoZXI6
OlByb2Nlc3NUeXBlOjpXZWJBdXRobikKKyAgICAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKICAg
ICByZXR1cm4gbGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBQcm9jZXNzTGF1bmNoZXI6OlBy
b2Nlc3NUeXBlOjpOZXR3b3JrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQcm94
eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTEzMzMyYmJjMDZhNTM0ZWQ4YWM2MGE1M2YyNjYwMmQwMjZmMzMx
OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5LmNwcApAQCAtMCwwICsxLDE4OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJBdXRoblByb2Nlc3NQcm94
eS5oIgorCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNp
bmNsdWRlICJXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5oIgorI2luY2x1ZGUgIldlYkF1
dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vz
c01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Qcm9jZXNzUHJveHlNZXNzYWdlcy5oIgor
I2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgor
I2luY2x1ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQb29s
LmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1By
b3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
cy5oPgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorCisjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKKyNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9YUENTUEkuaD4KKyNlbmRpZgor
CisjZGVmaW5lIE1FU1NBR0VfQ0hFQ0soYXNzZXJ0aW9uKSBNRVNTQUdFX0NIRUNLX0JBU0UoYXNz
ZXJ0aW9uLCB0aGlzLT5jb25uZWN0aW9uKCkpCisKK25hbWVzcGFjZSBXZWJLaXQgewordXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CisKK1dlYkF1dGhuUHJvY2Vzc1Byb3h5JiBXZWJBdXRoblByb2Nl
c3NQcm94eTo6c2luZ2xldG9uKCkKK3sKKyAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwor
CisgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOworICAgIHN0YXRpYyBMYXp5TmV2
ZXJEZXN0cm95ZWQ8V2ViQXV0aG5Qcm9jZXNzUHJveHk+IHdlYkF1dGhuUHJvY2VzczsKKworICAg
IHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbXSB7CisgICAgICAgIHdlYkF1dGhuUHJvY2Vzcy5j
b25zdHJ1Y3QoKTsKKworICAgICAgICBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMg
cGFyYW1ldGVyczsKKworICAgICAgICAvLyBJbml0aWFsaXplIHRoZSBXZWJBdXRobiBwcm9jZXNz
LgorICAgICAgICB3ZWJBdXRoblByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYkF1dGhuUHJvY2Vz
czo6SW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2VzcyhwYXJhbWV0ZXJzKSwgMCk7CisgICAgICAgIHdl
YkF1dGhuUHJvY2Vzcy0+dXBkYXRlUHJvY2Vzc0Fzc2VydGlvbigpOworICAgIH0pOworCisgICAg
cmV0dXJuIHdlYkF1dGhuUHJvY2Vzcy5nZXQoKTsKK30KKworV2ViQXV0aG5Qcm9jZXNzUHJveHk6
OldlYkF1dGhuUHJvY2Vzc1Byb3h5KCkKKyAgICA6IEF1eGlsaWFyeVByb2Nlc3NQcm94eSgpCisg
ICAgLCBtX3Rocm90dGxlcigqdGhpcywgZmFsc2UpCit7CisgICAgY29ubmVjdCgpOworfQorCitX
ZWJBdXRoblByb2Nlc3NQcm94eTo6fldlYkF1dGhuUHJvY2Vzc1Byb3h5KCkgPSBkZWZhdWx0Owor
Cit2b2lkIFdlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hPcHRpb25zKFByb2Nlc3NMYXVu
Y2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1bmNoT3B0aW9ucykKK3sKKyAgICBsYXVuY2hPcHRpb25z
LnByb2Nlc3NUeXBlID0gUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6V2ViQXV0aG47Cisg
ICAgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hPcHRpb25zKGxhdW5jaE9wdGlvbnMp
OworfQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzc1Byb3h5Ojpjb25uZWN0aW9uV2lsbE9wZW4oSVBD
OjpDb25uZWN0aW9uJikKK3sKK30KKwordm9pZCBXZWJBdXRoblByb2Nlc3NQcm94eTo6cHJvY2Vz
c1dpbGxTaHV0RG93bihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCit7CisgICAgQVNTRVJU
X1VOVVNFRChjb25uZWN0aW9uLCB0aGlzLT5jb25uZWN0aW9uKCkgPT0gJmNvbm5lY3Rpb24pOwor
fQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0
aW9uKFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5LCBNZXNzYWdlczo6V2ViUHJvY2Vz
c1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHkmJiByZXBs
eSkKK3sKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViQXV0aG5Q
cm9jZXNzUHJveHkgaXMgdGFraW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSBhIHdl
YiBwcm9jZXNzIGlzIHJlcXVlc3RpbmcgYSBjb25uZWN0aW9uIiwgdGhpcyk7CisgICAgc2VuZFdp
dGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJBdXRoblByb2Nlc3M6OkNyZWF0ZVdlYkF1dGhuQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyB7IHdlYlByb2Nlc3NQcm94eS5jb3JlUHJvY2Vzc0lkZW50aWZp
ZXIoKSB9LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHJlcGx5ID0gV1RG
TW92ZShyZXBseSldKGF1dG8mJiBpZGVudGlmaWVyKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCF3
ZWFrVGhpcykgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIldlYkF1
dGhuUHJvY2Vzc1Byb3h5OjpnZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOiBXZWJBdXRoblBy
b2Nlc3NQcm94eSBkZWFsbG9jYXRlZCBkdXJpbmcgY29ubmVjdGlvbiBlc3RhYmxpc2htZW50Iik7
CisgICAgICAgICAgICByZXR1cm4gcmVwbHkoeyB9KTsKKyAgICAgICAgfQorCisgICAgICAgIGlm
ICghaWRlbnRpZmllcikgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzcywg
IldlYkF1dGhuUHJvY2Vzc1Byb3h5OjpnZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOiBjb25u
ZWN0aW9uIGlkZW50aWZpZXIgaXMgZW1wdHkiKTsKKyAgICAgICAgICAgIHJldHVybiByZXBseSh7
IH0pOworICAgICAgICB9CisKKyAgICAgICAgTUVTU0FHRV9DSEVDSyhNQUNIX1BPUlRfVkFMSUQo
aWRlbnRpZmllci0+cG9ydCgpKSk7CisgICAgICAgIHJlcGx5KFdlYkF1dGhuUHJvY2Vzc0Nvbm5l
Y3Rpb25JbmZvIHsgSVBDOjpBdHRhY2htZW50IHsgaWRlbnRpZmllci0+cG9ydCgpLCBNQUNIX01T
R19UWVBFX01PVkVfU0VORCB9IH0pOworICAgIH0sIDAsIElQQzo6U2VuZE9wdGlvbjo6RGlzcGF0
Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5KTsKK30KKwordm9pZCBXZWJBdXRo
blByb2Nlc3NQcm94eTo6d2ViQXV0aG5Qcm9jZXNzQ3Jhc2hlZCgpCit7CisgICAgZm9yIChhdXRv
JiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKKyAgICAg
ICAgcHJvY2Vzc1Bvb2wtPnRlcm1pbmF0ZUFsbFdlYkNvbnRlbnRQcm9jZXNzZXMoKTsKK30KKwor
dm9pZCBXZWJBdXRoblByb2Nlc3NQcm94eTo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikKK3sK
KyAgICAvLyBUaGlzIHdpbGwgY2F1c2UgdXMgdG8gYmUgZGVsZXRlZC4KKyAgICB3ZWJBdXRoblBy
b2Nlc3NDcmFzaGVkKCk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzUHJveHk6OmRpZFJlY2Vp
dmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6TWVzc2Fn
ZU5hbWUgbWVzc2FnZU5hbWUpCit7CisgICAgbG9nSW52YWxpZE1lc3NhZ2UoY29ubmVjdGlvbiwg
bWVzc2FnZU5hbWUpOworCisgICAgV2ViUHJvY2Vzc1Bvb2w6OmRpZFJlY2VpdmVJbnZhbGlkTWVz
c2FnZShtZXNzYWdlTmFtZSk7CisKKyAgICAvLyBUZXJtaW5hdGUgdGhlIFdlYkF1dGhuIHByb2Nl
c3MuCisgICAgdGVybWluYXRlKCk7CisKKyAgICAvLyBTaW5jZSB3ZSd2ZSBpbnZhbGlkYXRlZCB0
aGUgY29ubmVjdGlvbiB3ZSdsbCBuZXZlciBnZXQgYSBJUEM6OkNvbm5lY3Rpb246OkNsaWVudDo6
ZGlkQ2xvc2UKKyAgICAvLyBjYWxsYmFjayBzbyB3ZSdsbCBleHBsaWNpdGx5IGNhbGwgaXQgaGVy
ZSBpbnN0ZWFkLgorICAgIGRpZENsb3NlKGNvbm5lY3Rpb24pOworfQorCit2b2lkIFdlYkF1dGhu
UHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcoUHJvY2Vzc0xhdW5jaGVyKiBsYXVuY2hl
ciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyKQorewor
ICAgIEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKGxhdW5jaGVyLCBj
b25uZWN0aW9uSWRlbnRpZmllcik7CisKKyAgICBpZiAoIUlQQzo6Q29ubmVjdGlvbjo6aWRlbnRp
ZmllcklzVmFsaWQoY29ubmVjdGlvbklkZW50aWZpZXIpKSB7CisgICAgICAgIHdlYkF1dGhuUHJv
Y2Vzc0NyYXNoZWQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCisgICAgaWYgKHhwY19jb25uZWN0aW9uX3QgY29ubmVjdGlvbiA9IHRoaXMtPmNv
bm5lY3Rpb24oKS0+eHBjQ29ubmVjdGlvbigpKQorICAgICAgICBtX3Rocm90dGxlci5kaWRDb25u
ZWN0VG9Qcm9jZXNzKHhwY19jb25uZWN0aW9uX2dldF9waWQoY29ubmVjdGlvbikpOworI2VuZGlm
Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzUHJveHk6OnVwZGF0ZVByb2Nlc3NBc3NlcnRpb24o
KQoreworICAgIGJvb2wgaGFzQW55Rm9yZWdyb3VuZFdlYlByb2Nlc3NlcyA9IGZhbHNlOworICAg
IGJvb2wgaGFzQW55QmFja2dyb3VuZFdlYlByb2Nlc3NlcyA9IGZhbHNlOworCisgICAgZm9yIChh
dXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkgewor
ICAgICAgICBoYXNBbnlGb3JlZ3JvdW5kV2ViUHJvY2Vzc2VzIHw9IHByb2Nlc3NQb29sLT5oYXNG
b3JlZ3JvdW5kV2ViUHJvY2Vzc2VzKCk7CisgICAgICAgIGhhc0FueUJhY2tncm91bmRXZWJQcm9j
ZXNzZXMgfD0gcHJvY2Vzc1Bvb2wtPmhhc0JhY2tncm91bmRXZWJQcm9jZXNzZXMoKTsKKyAgICB9
CisKKyAgICBpZiAoaGFzQW55Rm9yZWdyb3VuZFdlYlByb2Nlc3NlcykgeworICAgICAgICBpZiAo
IVByb2Nlc3NUaHJvdHRsZXI6OmlzVmFsaWRGb3JlZ3JvdW5kQWN0aXZpdHkobV9hY3Rpdml0eUZy
b21XZWJQcm9jZXNzZXMpKSB7CisgICAgICAgICAgICBtX2FjdGl2aXR5RnJvbVdlYlByb2Nlc3Nl
cyA9IHRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgiV2ViQXV0aG4gZm9yIGZvcmVncm91
bmQgdmlldyhzKSJfcyk7CisgICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJBdXRoblByb2Nl
c3M6OlByb2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCksIDApOworICAgICAgICB9Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGhhc0FueUJhY2tncm91bmRXZWJQcm9jZXNz
ZXMpIHsKKyAgICAgICAgaWYgKCFQcm9jZXNzVGhyb3R0bGVyOjppc1ZhbGlkQmFja2dyb3VuZEFj
dGl2aXR5KG1fYWN0aXZpdHlGcm9tV2ViUHJvY2Vzc2VzKSkgeworICAgICAgICAgICAgbV9hY3Rp
dml0eUZyb21XZWJQcm9jZXNzZXMgPSB0aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHkoIldl
YkF1dGhuIGZvciBiYWNrZ3JvdW5kIHZpZXcocykiX3MpOworICAgICAgICAgICAgc2VuZChNZXNz
YWdlczo6V2ViQXV0aG5Qcm9jZXNzOjpQcm9jZXNzRGlkVHJhbnNpdGlvblRvQmFja2dyb3VuZCgp
LCAwKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgfQorICAgIG1fYWN0aXZpdHlG
cm9tV2ViUHJvY2Vzc2VzID0gbnVsbHB0cjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyN1bmRlZiBNRVNTQUdFX0NIRUNLCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0
aG5Qcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmM3MjcxNzUxYzUzZmI2ZDdm
MDU4ZmI4YWM1ZWJlMzk4ZTAyYWI5OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5LmgKQEAgLTAs
MCArMSw4OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9B
VVRITikKKworI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NQcm94eS5oIgorI2luY2x1ZGUgIlBy
b2Nlc3NMYXVuY2hlci5oIgorI2luY2x1ZGUgIlByb2Nlc3NUaHJvdHRsZXIuaCIKKyNpbmNsdWRl
ICJQcm9jZXNzVGhyb3R0bGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5SWRlbnRp
Zmllci5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzUmVwbGllcy5oIgorI2lu
Y2x1ZGUgPG1lbW9yeT4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlByb2Nlc3NQ
cm94eTsKK2NsYXNzIFdlYnNpdGVEYXRhU3RvcmU7CitzdHJ1Y3QgV2ViQXV0aG5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOworCitjbGFzcyBXZWJBdXRoblByb2Nlc3NQcm94eSBmaW5hbCA6IHB1
YmxpYyBBdXhpbGlhcnlQcm9jZXNzUHJveHksIHByaXZhdGUgUHJvY2Vzc1Rocm90dGxlckNsaWVu
dCwgcHVibGljIENhbk1ha2VXZWFrUHRyPFdlYkF1dGhuUHJvY2Vzc1Byb3h5PiB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQXV0aG5Q
cm9jZXNzUHJveHkpOworICAgIGZyaWVuZCBMYXp5TmV2ZXJEZXN0cm95ZWQ8V2ViQXV0aG5Qcm9j
ZXNzUHJveHk+OworcHVibGljOgorICAgIHN0YXRpYyBXZWJBdXRoblByb2Nlc3NQcm94eSYgc2lu
Z2xldG9uKCk7CisKKyAgICB2b2lkIGdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJv
Y2Vzc1Byb3h5JiwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbkRlbGF5ZWRSZXBseSYmKTsKKworICAgIFByb2Nlc3NUaHJvdHRsZXImIHRocm90
dGxlcigpIGZpbmFsIHsgcmV0dXJuIG1fdGhyb3R0bGVyOyB9CisgICAgdm9pZCB1cGRhdGVQcm9j
ZXNzQXNzZXJ0aW9uKCk7CisKKyAgICAvLyBQcm9jZXNzVGhyb3R0bGVyQ2xpZW50CisgICAgdm9p
ZCBzZW5kUHJvY2Vzc0RpZFJlc3VtZSgpIGZpbmFsIHsgfQorICAgIEFTQ0lJTGl0ZXJhbCBjbGll
bnROYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIldlYkF1dGhuUHJvY2VzcyJfczsgfQorCitw
cml2YXRlOgorICAgIGV4cGxpY2l0IFdlYkF1dGhuUHJvY2Vzc1Byb3h5KCk7CisgICAgfldlYkF1
dGhuUHJvY2Vzc1Byb3h5KCk7CisKKyAgICAvLyBBdXhpbGlhcnlQcm9jZXNzUHJveHkKKyAgICBB
U0NJSUxpdGVyYWwgcHJvY2Vzc05hbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAiV2ViQXV0aG4i
X3M7IH0KKworICAgIHZvaWQgZ2V0TGF1bmNoT3B0aW9ucyhQcm9jZXNzTGF1bmNoZXI6OkxhdW5j
aE9wdGlvbnMmKSBvdmVycmlkZTsKKyAgICB2b2lkIGNvbm5lY3Rpb25XaWxsT3BlbihJUEM6OkNv
bm5lY3Rpb24mKSBvdmVycmlkZTsKKyAgICB2b2lkIHByb2Nlc3NXaWxsU2h1dERvd24oSVBDOjpD
b25uZWN0aW9uJikgb3ZlcnJpZGU7CisKKyAgICB2b2lkIHdlYkF1dGhuUHJvY2Vzc0NyYXNoZWQo
KTsKKworICAgIC8vIFByb2Nlc3NUaHJvdHRsZXJDbGllbnQKKyAgICB2b2lkIHNlbmRQcmVwYXJl
VG9TdXNwZW5kKElzU3VzcGVuc2lvbkltbWluZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpIGZpbmFsIHsgfQorCisgICAgLy8gUHJvY2Vzc0xhdW5jaGVyOjpDbGllbnQKKyAgICB2b2lk
IGRpZEZpbmlzaExhdW5jaGluZyhQcm9jZXNzTGF1bmNoZXIqLCBJUEM6OkNvbm5lY3Rpb246Oklk
ZW50aWZpZXIpIG92ZXJyaWRlOworCisgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKKyAg
ICB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRlOworICAgIHZvaWQgZGlk
UmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZU5hbWUp
IG92ZXJyaWRlOworCisgICAgUHJvY2Vzc1Rocm90dGxlciBtX3Rocm90dGxlcjsKKyAgICBQcm9j
ZXNzVGhyb3R0bGVyOjpBY3Rpdml0eVZhcmlhbnQgbV9hY3Rpdml0eUZyb21XZWJQcm9jZXNzZXM7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVU
SE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9XZWJBdXRoblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUzZTY4NjhmYjkwZThiMmZlZmI1M2RlNjYyMTY4ZjdhODIyZDI3MjUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9X
ZWJBdXRoblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDI4IEBACisjIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQor
CittZXNzYWdlcyAtPiBXZWJBdXRoblByb2Nlc3NQcm94eSBOb3RSZWZDb3VudGVkIHsKK30KKwor
I2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAKaW5kZXggNDc2MWQ5MzIxMTllMGM4YjhjZDBkODJmZWRiNWZiNTYzODhh
ZmE4Ni4uZTA0NTFmYjQ4YjJkMjc3ODBhMWFkZTljZjNkMTJmNjZiNGU0NGU0YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMTE2LDYgKzExNiwxMSBA
QAogI2luY2x1ZGUgIkdQVVByb2Nlc3NQcm94eS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VC
X0FVVEhOKQorI2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvLmgiCisjaW5j
bHVkZSAiV2ViQXV0aG5Qcm9jZXNzUHJveHkuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFJFTU9U
RV9JTlNQRUNUT1IpCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVtb3RlSW5zcGVjdG9yLmg+
CiAjZW5kaWYKQEAgLTQ5Niw2ICs1MDEsMjAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6Z2V0R1BV
UHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc1Byb3h5JiB3ZWJQcm9jZXNzUHJveHksIE0KIH0K
ICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9BVVRITikKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6Omdl
dFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc1Byb3h5JiB3ZWJQcm9jZXNzUHJv
eHksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rp
b246OkRlbGF5ZWRSZXBseSYmIHJlcGx5KQoreworICAgIFdlYkF1dGhuUHJvY2Vzc1Byb3h5Ojpz
aW5nbGV0b24oKS5nZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKHdlYlByb2Nlc3NQcm94eSwg
W3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB3ZWJQcm9jZXNzUHJveHkgPSBt
YWtlV2Vha1B0cih3ZWJQcm9jZXNzUHJveHkpLCByZXBseSA9IFdURk1vdmUocmVwbHkpXSAoYXV0
byYgY29ubmVjdGlvbkluZm8pIG11dGFibGUgeworICAgICAgICBpZiAoVU5MSUtFTFkoIUlQQzo6
Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbkluZm8uaWRlbnRpZmllcigp
KSAmJiB3ZWJQcm9jZXNzUHJveHkgJiYgd2Vha1RoaXMpKSB7CisgICAgICAgICAgICBXRUJQUk9D
RVNTUE9PTF9SRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiZ2V0V2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbjogRmFpbGVkIGZpcnN0IGF0dGVtcHQsIHJldHJ5aW5nIik7CisgICAgICAgICAgICBX
ZWJBdXRoblByb2Nlc3NQcm94eTo6c2luZ2xldG9uKCkuZ2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVj
dGlvbigqd2ViUHJvY2Vzc1Byb3h5LCBXVEZNb3ZlKHJlcGx5KSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICAgICAgcmVwbHkoY29ubmVjdGlvbkluZm8pOworICAgIH0pOwor
fQorI2VuZGlmCisKIGJvb2wgV2ViUHJvY2Vzc1Bvb2w6OnNfdXNlU2VwYXJhdGVTZXJ2aWNlV29y
a2VyUHJvY2VzcyA9IGZhbHNlOwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggMTgyNjc1MjVlZDcwZDFmNmY4
ZTE2Mjk0MzRhOGQyYWMyN2I2OTFlOS4uNGUyZTlhNTIzZTQ2ZWU0NDc0N2NlMzUwMmFlOTUwZTU4
Zjk5NTAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC0z
NTgsNiArMzU4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGdldEdQVVByb2Nlc3NDb25uZWN0aW9u
KFdlYlByb2Nlc3NQcm94eSYsIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldEdQVVByb2Nl
c3NDb25uZWN0aW9uRGVsYXllZFJlcGx5JiYpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCX0FV
VEhOKQorICAgIHZvaWQgZ2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbihXZWJQcm9jZXNzUHJv
eHkmLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0
aW9uRGVsYXllZFJlcGx5JiYpOworI2VuZGlmCisKICAgICAvLyBOZXR3b3JrIFByb2Nlc3MgTWFu
YWdlbWVudAogICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NDcmFzaGVkKE5ldHdvcmtQcm9jZXNzUHJv
eHkmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5k
ZXggN2FjNGJhMWVlMThmMjgxNzQ5YWViYTJmMmI3YjdmZDU0ZjM5MDc2NS4uMTk4NjNmNTYxNmU1
MmM4NjRhYjI2NGYxMDE2ZTYzYmM5ZDhmZjM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuY3BwCkBAIC03NjksNiArNzY5LDEzIEBAIHZvaWQgV2ViUHJvY2Vz
c1Byb3h5OjpncHVQcm9jZXNzQ3Jhc2hlZCgpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJf
QVVUSE4pCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlv
bihNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
OjpEZWxheWVkUmVwbHkmJiByZXBseSkKK3sKKyAgICBtX3Byb2Nlc3NQb29sLT5nZXRXZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uKCp0aGlzLCBXVEZNb3ZlKHJlcGx5KSk7Cit9CisjZW5kaWYKKwog
I2lmICFQTEFURk9STShDT0NPQSkKIGJvb2wgV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUlzQmVp
bmdEZWJ1Z2dlZCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oCmluZGV4IDQ4OWI3NWUwZTlkMmM3OGM0YTQ0MDkxYmQzNGMzM2FjMzU2N2VhNDQuLjEx
ZTg0MGExOTk4YzU3YzY2MTAyZGY5ODdkMGYyNjdhN2IyYzYwNDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC00NTEsNiArNDUxLDEwIEBAIHByaXZhdGU6
CiAgICAgdm9pZCBnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihNZXNzYWdlczo6V2ViUHJvY2Vzc1By
b3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbkRlbGF5ZWRSZXBseSYmKTsKICNlbmRpZgogCisj
aWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICB2b2lkIGdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rp
b24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlv
bkRlbGF5ZWRSZXBseSYmKTsKKyNlbmRpZgorCiAgICAgYm9vbCBwbGF0Zm9ybUlzQmVpbmdEZWJ1
Z2dlZCgpIGNvbnN0OwogICAgIGJvb2wgc2hvdWxkQWxsb3dOb25WYWxpZEluamVjdGVkQ29kZSgp
IGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkubWVzc2FnZXMuaW4KaW5kZXggMTY3MWFhNjQ5MmM2ZmFlOGVjN2Y2MDFlMWVlN2QxOGY5OGQ3
ZTA3Ni4uYzE1NzA0NzNiMGMzZjBjYjc1YzUyMTFjOTBjMzJjNWM5NTg0YjJhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpA
QCAtNDIsNiArNDIsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2Vp
dmVyIHsKICAgICBHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbigpIC0+IChzdHJ1Y3QgV2ViS2l0OjpH
UFVQcm9jZXNzQ29ubmVjdGlvbkluZm8gY29ubmVjdGlvbkluZm8pIFN5bmNocm9ub3VzCiAjZW5k
aWYKIAorI2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgR2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVj
dGlvbigpIC0+IChzdHJ1Y3QgV2ViS2l0OjpXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mbyBj
b25uZWN0aW9uSW5mbykgU3luY2hyb25vdXMKKyNlbmRpZgorCiAgICAgU2V0SXNIb2xkaW5nTG9j
a2VkRmlsZXMoYm9vbCBpc0hvbGRpbmdMb2NrZWRGaWxlcykKIAogICAgIERpZEV4Y2VlZEFjdGl2
ZU1lbW9yeUxpbWl0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNz
L0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9XZWJBdXRoblNlcnZpY2UvSW5mby1PU1gucGxp
c3QgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1Nl
cnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8tT1NYLnBsaXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyNzEwMzU4
YWQ5MjhkZmRmZGU0MWU5ZGI4MzMwZDZkMjFhMDUzZGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2Vi
QXV0aG5TZXJ2aWNlL0luZm8tT1NYLnBsaXN0CkBAIC0wLDAgKzEsNDMgQEAKKzw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9B
cHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3Bl
cnR5TGlzdC0xLjAuZHRkIj4KKzxwbGlzdCB2ZXJzaW9uPSIxLjAiPgorPGRpY3Q+CisJPGtleT5D
RkJ1bmRsZUdldEluZm9TdHJpbmc8L2tleT4KKwk8c3RyaW5nPiR7QlVORExFX1ZFUlNJT059LCBD
b3B5cmlnaHQgMjAwMy0yMDIwIEFwcGxlIEluYy48L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRGV2
ZWxvcG1lbnRSZWdpb248L2tleT4KKwk8c3RyaW5nPkVuZ2xpc2g8L3N0cmluZz4KKwk8a2V5PkNG
QnVuZGxlRXhlY3V0YWJsZTwva2V5PgorCTxzdHJpbmc+JHtFWEVDVVRBQkxFX05BTUV9PC9zdHJp
bmc+CisJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KKwk8c3RyaW5nPiR7UFJPRFVDVF9C
VU5ETEVfSURFTlRJRklFUn08L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlW
ZXJzaW9uPC9rZXk+CisJPHN0cmluZz42LjA8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlTmFtZTwv
a2V5PgorCTxzdHJpbmc+JHtQUk9EVUNUX05BTUV9PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVBh
Y2thZ2VUeXBlPC9rZXk+CisJPHN0cmluZz5YUEMhPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVNo
b3J0VmVyc2lvblN0cmluZzwva2V5PgorCTxzdHJpbmc+JHtTSE9SVF9WRVJTSU9OX1NUUklOR308
L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlU2lnbmF0dXJlPC9rZXk+CisJPHN0cmluZz4/Pz8/PC9z
dHJpbmc+CisJPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4KKwk8c3RyaW5nPiR7QlVORExFX1ZF
UlNJT059PC9zdHJpbmc+CisJPGtleT5MU0ZpbGVRdWFyYW50aW5lRW5hYmxlZDwva2V5PgorCTx0
cnVlLz4KKwk8a2V5Pk5TUHJpbmNpcGFsQ2xhc3M8L2tleT4KKwk8c3RyaW5nPk5TQXBwbGljYXRp
b248L3N0cmluZz4KKwk8a2V5PkxTVUlFbGVtZW50PC9rZXk+CisJPHRydWUvPgorCTxrZXk+WFBD
U2VydmljZTwva2V5PgorCTxkaWN0PgorCQk8a2V5PlNlcnZpY2VUeXBlPC9rZXk+CisJCTxzdHJp
bmc+QXBwbGljYXRpb248L3N0cmluZz4KKwkJPGtleT5Kb2luRXhpc3RpbmdTZXNzaW9uPC9rZXk+
CisJCTx0cnVlLz4KKwkJPGtleT5SdW5Mb29wVHlwZTwva2V5PgorCQk8c3RyaW5nPk5TUnVuTG9v
cDwvc3RyaW5nPgorCQk8a2V5Pl9NdWx0aXBsZUluc3RhbmNlczwva2V5PgorCQk8dHJ1ZS8+CisJ
PC9kaWN0PgorPC9kaWN0PgorPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
QXV0aG5Qcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9XZWJBdXRoblNlcnZpY2Uv
SW5mby1pT1MucGxpc3QgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50
L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8taU9TLnBsaXN0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmNmNDdjMTE1NGUyMTM3Zjg0MGExM2U1M2ZjZDVlMWM0YmE2NjdkOWEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQ
Q1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8taU9TLnBsaXN0CkBAIC0wLDAgKzEsNDMgQEAK
Kzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgcGxpc3Qg
UFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNv
bS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KKzxwbGlzdCB2ZXJzaW9uPSIxLjAiPgorPGRp
Y3Q+CisJPGtleT5DRkJ1bmRsZUdldEluZm9TdHJpbmc8L2tleT4KKwk8c3RyaW5nPiR7QlVORExF
X1ZFUlNJT059LCBDb3B5cmlnaHQgMjAwMy0yMDIwIEFwcGxlIEluYy48L3N0cmluZz4KKwk8a2V5
PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KKwk8c3RyaW5nPkVuZ2xpc2g8L3N0cmlu
Zz4KKwk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgorCTxzdHJpbmc+JHtFWEVDVVRBQkxF
X05BTUV9PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KKwk8c3RyaW5n
PiR7UFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUn08L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSW5m
b0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+CisJPHN0cmluZz42LjA8L3N0cmluZz4KKwk8a2V5PkNG
QnVuZGxlTmFtZTwva2V5PgorCTxzdHJpbmc+JHtQUk9EVUNUX05BTUV9PC9zdHJpbmc+CisJPGtl
eT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+CisJPHN0cmluZz5YUEMhPC9zdHJpbmc+CisJPGtl
eT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5PgorCTxzdHJpbmc+JHtTSE9SVF9WRVJT
SU9OX1NUUklOR308L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlU2lnbmF0dXJlPC9rZXk+CisJPHN0
cmluZz4/Pz8/PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4KKwk8c3RyaW5n
PiR7QlVORExFX1ZFUlNJT059PC9zdHJpbmc+CisJPGtleT5MU0ZpbGVRdWFyYW50aW5lRW5hYmxl
ZDwva2V5PgorCTx0cnVlLz4KKwk8a2V5Pk5TUHJpbmNpcGFsQ2xhc3M8L2tleT4KKwk8c3RyaW5n
Pk5TQXBwbGljYXRpb248L3N0cmluZz4KKwk8a2V5PkxTVUlFbGVtZW50PC9rZXk+CisJPHRydWUv
PgorCTxrZXk+WFBDU2VydmljZTwva2V5PgorCTxkaWN0PgorCQk8a2V5PlNlcnZpY2VUeXBlPC9r
ZXk+CisJCTxzdHJpbmc+QXBwbGljYXRpb248L3N0cmluZz4KKwkJPGtleT5SdW5Mb29wVHlwZTwv
a2V5PgorCQk8c3RyaW5nPk5TUnVuTG9vcDwvc3RyaW5nPgorCQk8a2V5Pl9NdWx0aXBsZUluc3Rh
bmNlczwva2V5PgorCQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+Q2FuSW5oZXJpdEFwcGxpY2F0
aW9uU3RhdGVGcm9tT3RoZXJQcm9jZXNzZXM8L2tleT4KKwk8dHJ1ZS8+Cis8L2RpY3Q+Cis8L3Bs
aXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvRW50cnlQb2lu
dC9Db2NvYS9YUENTZXJ2aWNlL1dlYkF1dGhuU2VydmljZUVudHJ5UG9pbnQubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvV2ViQXV0
aG5TZXJ2aWNlRW50cnlQb2ludC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTNiNGJiZDcyMWIzMDU0MGNiYTk2
NDVlYzUwZjQ5ZjMzMmEyNDAwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJB
dXRoblByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL1dlYkF1dGhuU2VydmljZUVu
dHJ5UG9pbnQubW0KQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZp
Zy5oIgorCisjaW1wb3J0ICJFbnZpcm9ubWVudFV0aWxpdGllcy5oIgorI2ltcG9ydCAiV0tCYXNl
LmgiCisjaW1wb3J0ICJXZWJBdXRoblByb2Nlc3MuaCIKKyNpbXBvcnQgIlhQQ1NlcnZpY2VFbnRy
eVBvaW50LmgiCisKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgV2ViQXV0aG5TZXJ2aWNlSW5pdGlhbGl6ZXJEZWxlZ2F0ZSA6IHB1YmxpYyBYUENT
ZXJ2aWNlSW5pdGlhbGl6ZXJEZWxlZ2F0ZSB7CitwdWJsaWM6CisgICAgV2ViQXV0aG5TZXJ2aWNl
SW5pdGlhbGl6ZXJEZWxlZ2F0ZShPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiBjb25uZWN0
aW9uLCB4cGNfb2JqZWN0X3QgaW5pdGlhbGl6ZXJNZXNzYWdlKQorICAgICAgICA6IFhQQ1NlcnZp
Y2VJbml0aWFsaXplckRlbGVnYXRlKFdURk1vdmUoY29ubmVjdGlvbiksIGluaXRpYWxpemVyTWVz
c2FnZSkKKyAgICB7CisgICAgfQorfTsKKwordGVtcGxhdGU8Pgordm9pZCBpbml0aWFsaXplQXV4
aWxpYXJ5UHJvY2VzczxXZWJBdXRoblByb2Nlc3M+KEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXph
dGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxXZWJBdXRoblByb2Nlc3M+IFdlYkF1dGhuUHJvY2VzcyhXVEZNb3ZlKHBhcmFtZXRlcnMpKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhO
KQorCitleHRlcm4gIkMiIFdLX0VYUE9SVCB2b2lkIFdFQkFVVEhOX1NFUlZJQ0VfSU5JVElBTEla
RVIoeHBjX2Nvbm5lY3Rpb25fdCBjb25uZWN0aW9uLCB4cGNfb2JqZWN0X3QgaW5pdGlhbGl6ZXJN
ZXNzYWdlLCB4cGNfb2JqZWN0X3QgcHJpb3JpdHlCb29zdE1lc3NhZ2UpOworCit2b2lkIFdFQkFV
VEhOX1NFUlZJQ0VfSU5JVElBTElaRVIoeHBjX2Nvbm5lY3Rpb25fdCBjb25uZWN0aW9uLCB4cGNf
b2JqZWN0X3QgaW5pdGlhbGl6ZXJNZXNzYWdlLCB4cGNfb2JqZWN0X3QgcHJpb3JpdHlCb29zdE1l
c3NhZ2UpCit7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOworCisjaWYgRU5BQkxF
KFdFQl9BVVRITikKKyAgICBXZWJLaXQ6OlhQQ1NlcnZpY2VJbml0aWFsaXplcjxXZWJLaXQ6Oldl
YkF1dGhuUHJvY2VzcywgV2ViS2l0OjpXZWJBdXRoblNlcnZpY2VJbml0aWFsaXplckRlbGVnYXRl
PihhZG9wdE9TT2JqZWN0KGNvbm5lY3Rpb24pLCBpbml0aWFsaXplck1lc3NhZ2UsIHByaW9yaXR5
Qm9vc3RNZXNzYWdlKTsKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQorfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjUzNmMwOWJhNTE5OGIzOTY1MTE4YTYy
N2E4N2VkMGFlYjQ3Yzg4NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0
aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTAsMCArMSw2
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJBdXRo
bkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKworI2lmIEVOQUJMRShXRUJfQVVUSE4pCisKK25h
bWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlZjxXZWJBdXRo
bkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
Y3JlYXRlKFdlYkF1dGhuUHJvY2VzcyYgV2ViQXV0aG5Qcm9jZXNzLCBXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlm
aWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
YkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJBdXRoblByb2Nlc3MsIHdlYlByb2Nlc3NJ
ZGVudGlmaWVyLCBjb25uZWN0aW9uSWRlbnRpZmllcikpOworfQorCitXZWJBdXRobkNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OldlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJBdXRoblBy
b2Nlc3MmIFdlYkF1dGhuUHJvY2VzcywgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJv
Y2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRl
bnRpZmllcikKKyAgICA6IG1fY29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZVNlcnZl
ckNvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsICp0aGlzKSkKKyAgICAsIG1fV2ViQXV0
aG5Qcm9jZXNzKFdlYkF1dGhuUHJvY2VzcykKKyAgICAsIG1fd2ViUHJvY2Vzc0lkZW50aWZpZXIo
d2ViUHJvY2Vzc0lkZW50aWZpZXIpCit7CisgICAgUkVMRUFTRV9BU1NFUlQoUnVuTG9vcDo6aXNN
YWluKCkpOworICAgIG1fY29ubmVjdGlvbi0+b3BlbigpOworfQorCitXZWJBdXRobkNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6On5XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoKQoreworICAg
IFJFTEVBU0VfQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKKworICAgIG1fY29ubmVjdGlvbi0+
aW52YWxpZGF0ZSgpOworfQorCit2b2lkIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikKK3sKK30KKwordm9pZCBXZWJBdXRobkNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZU5hbWUgbWVzc2FnZU5hbWUpCit7CisgICAgV1RGTG9n
QWx3YXlzKCJSZWNlaXZlZCBhbiBpbnZhbGlkIG1lc3NhZ2UgXCIlc1wiIGZyb20gdGhlIHdlYiBw
cm9jZXNzLlxuIiwgZGVzY3JpcHRpb24obWVzc2FnZU5hbWUpKTsKKyAgICBDUkFTSCgpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRobkNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhu
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2ZDY5YmIxZGI3YWYwZDQyZDg2
MDI0MDdkODhjZmNmMmM2YzVjOGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YkF1dGhuUHJvY2Vzcy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMCwwICsx
LDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX0FVVEhO
KQorCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIldlYkF1dGhuQ29ubmVjdGlv
blRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Qcm9jZXNzSWRlbnRp
Zmllci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitjbGFzcyBXZWJBdXRoblByb2Nlc3M7CisKK2NsYXNzIFdlYkF1dGhuQ29ubmVjdGlvblRv
V2ViUHJvY2VzcworICAgIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzPgorICAgICwgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQgeworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzPiBjcmVhdGUoV2ViQXV0
aG5Qcm9jZXNzJiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6
SWRlbnRpZmllcik7CisgICAgdmlydHVhbCB+V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNz
KCk7CisKKyAgICBJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24oKSB7IHJldHVybiBtX2Nvbm5l
Y3Rpb24uZ2V0KCk7IH0KKyAgICBXZWJBdXRoblByb2Nlc3MmIFdlYkF1dGhuUHJvY2Vzc1Byb2Nl
c3MoKSB7IHJldHVybiBtX1dlYkF1dGhuUHJvY2Vzcy5nZXQoKTsgfQorICAgIFdlYkNvcmU6OlBy
b2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV93
ZWJQcm9jZXNzSWRlbnRpZmllcjsgfQorCisgICAgdm9pZCBjbGVhbnVwRm9yU3VzcGVuc2lvbihG
dW5jdGlvbjx2b2lkKCk+JiYpOworICAgIHZvaWQgZW5kU3VzcGVuc2lvbigpOworCitwcml2YXRl
OgorICAgIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJBdXRoblByb2Nlc3MmLCBX
ZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsK
KworICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CisgICAgdm9pZCBkaWRDbG9zZShJUEM6
OkNvbm5lY3Rpb24mKSBmaW5hbDsKKyAgICB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VOYW1lKSBmaW5hbDsKKworICAgIFJlZjxJUEM6
OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKKyAgICBSZWY8V2ViQXV0aG5Qcm9jZXNzPiBtX1dl
YkF1dGhuUHJvY2VzczsKKyAgICBjb25zdCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBtX3dl
YlByb2Nlc3NJZGVudGlmaWVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRp
ZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRo
blByb2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmMmM3M2RkZjM0YjBhYzk3MWQ5OGFhYjBiYWZmY2Vh
N2NmNDgzZmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vz
cy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwy
OCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
IyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisj
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgRU5BQkxF
KFdFQl9BVVRITikKKworbWVzc2FnZXMgLT4gV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNz
IHsKK30KKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZThmNDY1
MzczNDBhMjIwZDQwYmFkMjU5YjBkNDI3ZTczZmYyMDc1Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcApAQCAtMCwwICsx
LDEyOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJB
dXRoblByb2Nlc3MuaCIKKworI2lmIEVOQUJMRShXRUJfQVVUSE4pCisKKyNpbmNsdWRlICJMb2dn
aW5nLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5j
bHVkZSAiV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSA8d3Rm
L3RleHQvQXRvbVN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOworCisKK1dlYkF1dGhuUHJvY2Vzczo6V2ViQXV0aG5Qcm9jZXNzKEF1eGlsaWFy
eVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQoreworICAgIGlu
aXRpYWxpemUoV1RGTW92ZShwYXJhbWV0ZXJzKSk7Cit9CisKK1dlYkF1dGhuUHJvY2Vzczo6fldl
YkF1dGhuUHJvY2VzcygpCit7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpjcmVhdGVXZWJB
dXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoUHJvY2Vzc0lkZW50aWZpZXIgaWRlbnRpZmllciwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+JiYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQoreworICAgIGF1dG8gaXBjQ29ubmVjdGlvbiA9IGNyZWF0ZUlQQ0Nv
bm5lY3Rpb25QYWlyKCk7CisgICAgaWYgKCFpcGNDb25uZWN0aW9uKSB7CisgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKHsgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIG5l
d0Nvbm5lY3Rpb24gPSBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhp
cywgaWRlbnRpZmllciwgaXBjQ29ubmVjdGlvbi0+Zmlyc3QpOworCisgICAgQVNTRVJUKCFtX3dl
YlByb2Nlc3NDb25uZWN0aW9ucy5jb250YWlucyhpZGVudGlmaWVyKSk7CisgICAgbV93ZWJQcm9j
ZXNzQ29ubmVjdGlvbnMuYWRkKGlkZW50aWZpZXIsIFdURk1vdmUobmV3Q29ubmVjdGlvbikpOwor
CisgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShpcGNDb25uZWN0aW9uLT5zZWNvbmQpKTsK
K30KKwordm9pZCBXZWJBdXRoblByb2Nlc3M6OnJlbW92ZVdlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2VzcyhXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24pCit7Cisg
ICAgQVNTRVJUKG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmNvbnRhaW5zKGNvbm5lY3Rpb24ud2Vi
UHJvY2Vzc0lkZW50aWZpZXIoKSkpOworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLnJlbW92
ZShjb25uZWN0aW9uLndlYlByb2Nlc3NJZGVudGlmaWVyKCkpOworfQorCit2b2lkIFdlYkF1dGhu
UHJvY2Vzczo6Y29ubmVjdGlvblRvV2ViUHJvY2Vzc0Nsb3NlZChJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24pCit7Cit9CisKK2Jvb2wgV2ViQXV0aG5Qcm9jZXNzOjpzaG91bGRUZXJtaW5hdGUo
KQoreworICAgIHJldHVybiBtX3dlYlByb2Nlc3NDb25uZWN0aW9ucy5pc0VtcHR5KCk7Cit9CisK
K3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKQoreworICAg
IEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjps
b3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsIGNyaXRpY2FsKQoreworICAgIFdURjo6cmVsZWFzZUZh
c3RNYWxsb2NGcmVlTWVtb3J5KCk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjppbml0aWFs
aXplV2ViQXV0aG5Qcm9jZXNzKFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBh
cmFtZXRlcnMpCit7CisgICAgV1RGOjpUaHJlYWQ6OnNldEN1cnJlbnRUaHJlYWRJc1VzZXJJbml0
aWF0ZWQoKTsKKyAgICBBdG9tU3RyaW5nOjppbml0KCk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9j
ZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBSRUxFQVNFX0xP
RyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViQXV0aG5Qcm9jZXNzOjpwcmVwYXJlVG9TdXNw
ZW5kKCksIGlzU3VzcGVuc2lvbkltbWluZW50OiAlZCIsIHRoaXMsIGlzU3VzcGVuc2lvbkltbWlu
ZW50KTsKKworICAgIGxvd01lbW9yeUhhbmRsZXIoQ3JpdGljYWw6Olllcyk7Cit9CisKK3ZvaWQg
V2ViQXV0aG5Qcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1lKCkKK3sKKyAgICBSRUxFQVNFX0xPRyhQ
cm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViQXV0aG5Qcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1l
KCkiLCB0aGlzKTsKKyAgICByZXN1bWUoKTsKK30KKwordm9pZCBXZWJBdXRoblByb2Nlc3M6OnJl
c3VtZSgpCit7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpwcm9jZXNzRGlkVHJhbnNpdGlv
blRvRm9yZWdyb3VuZCgpCit7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpwcm9jZXNzRGlk
VHJhbnNpdGlvblRvQmFja2dyb3VuZCgpCit7Cit9CisKK1dlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2VzcyogV2ViQXV0aG5Qcm9jZXNzOjp3ZWJQcm9jZXNzQ29ubmVjdGlvbihQcm9jZXNzSWRl
bnRpZmllciBpZGVudGlmaWVyKSBjb25zdAoreworICAgIHJldHVybiBtX3dlYlByb2Nlc3NDb25u
ZWN0aW9ucy5nZXQoaWRlbnRpZmllcik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisj
ZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
QXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblBy
b2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzg1YTIzMjFkMGQxNWZjMjE1NDY4
ODU5NDg1NjhhYmZlNGFkOGZmNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
QXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfQVVUSE4pCisKKyNpbmNsdWRlICJB
dXhpbGlhcnlQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZXMuaCIK
KyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKK3N0cnVjdCBXZWJBdXRo
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CisKK2NsYXNzIFdlYkF1dGhuUHJvY2VzcyA6IHB1
YmxpYyBBdXhpbGlhcnlQcm9jZXNzLCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8V2ViQXV0
aG5Qcm9jZXNzPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPFdlYkF1dGhuUHJvY2Vzcz4geworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkF1dGhuUHJvY2Vzcyk7CitwdWJsaWM6CisgICAgZXhw
bGljaXQgV2ViQXV0aG5Qcm9jZXNzKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmJik7CisgICAgfldlYkF1dGhuUHJvY2VzcygpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBQcm9jZXNzVHlwZTo6V2ViQXV0aG47CisKKyAgICB2
b2lkIHJlbW92ZVdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJBdXRobkNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MmKTsKKworICAgIHZvaWQgcHJlcGFyZVRvU3VzcGVuZChib29sIGlzU3Vz
cGVuc2lvbkltbWluZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOworICAgIHZvaWQg
cHJvY2Vzc0RpZFJlc3VtZSgpOworICAgIHZvaWQgcmVzdW1lKCk7CisKKyAgICB2b2lkIGNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3NDbG9zZWQoSVBDOjpDb25uZWN0aW9uJik7CisKKyAgICBXZWJBdXRo
bkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MqIHdlYlByb2Nlc3NDb25uZWN0aW9uKFdlYkNvcmU6OlBy
b2Nlc3NJZGVudGlmaWVyKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICB2b2lkIGxvd01lbW9yeUhh
bmRsZXIoQ3JpdGljYWwpOworCisgICAgLy8gQXV4aWxpYXJ5UHJvY2VzcworICAgIHZvaWQgaW5p
dGlhbGl6ZVByb2Nlc3MoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1l
dGVycyYpIG92ZXJyaWRlOworICAgIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3NOYW1lKGNvbnN0IEF1
eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKSBvdmVycmlkZTsKKyAgICB2
b2lkIGluaXRpYWxpemVTYW5kYm94KGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlv
blBhcmFtZXRlcnMmLCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJikgb3ZlcnJpZGU7
CisgICAgYm9vbCBzaG91bGRUZXJtaW5hdGUoKSBvdmVycmlkZTsKKworICAgIC8vIElQQzo6Q29u
bmVjdGlvbjo6Q2xpZW50CisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6OkRlY29kZXImKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZENsb3NlKElQQzo6Q29u
bmVjdGlvbiYpIG92ZXJyaWRlOworCisgICAgLy8gTWVzc2FnZSBIYW5kbGVycworICAgIHZvaWQg
aW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2VzcyhXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMmJik7CisgICAgdm9pZCBjcmVhdGVXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoV2Vi
Q29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8
SVBDOjpBdHRhY2htZW50PiYmKT4mJik7CisKKyAgICB2b2lkIHByb2Nlc3NEaWRUcmFuc2l0aW9u
VG9Gb3JlZ3JvdW5kKCk7CisgICAgdm9pZCBwcm9jZXNzRGlkVHJhbnNpdGlvblRvQmFja2dyb3Vu
ZCgpOworCisgICAgLy8gQ29ubmVjdGlvbnMgdG8gV2ViUHJvY2Vzc2VzLgorICAgIEhhc2hNYXA8
V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIFJlZjxXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M+PiBtX3dlYlByb2Nlc3NDb25uZWN0aW9uczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5tZXNzYWdlcy5pbgpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45YTA5MjEyNTJiZmM4OGY3YWViNzM2MTk0YmViZTZiZDI2MDc0YWEzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNz
Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzYgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKworbWVzc2FnZXMgLT4g
V2ViQXV0aG5Qcm9jZXNzIHsKKyAgICAjIEluaXRpYWxpemVzIHRoZSBXZWJBdXRobiBwcm9jZXNz
LgorICAgIEluaXRpYWxpemVXZWJBdXRoblByb2Nlc3Moc3RydWN0IFdlYktpdDo6V2ViQXV0aG5Q
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMpCisKKyAg
ICAjIENyZWF0ZXMgYSBjb25uZWN0aW9uIGZvciBjb21tdW5pY2F0aW9uIHdpdGggYSBXZWJQcm9j
ZXNzCisgICAgQ3JlYXRlV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkNvcmU6OlBy
b2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyKSAtPiAoT3B0aW9uYWw8SVBDOjpBdHRh
Y2htZW50PiBjb25uZWN0aW9uSWRlbnRpZmllcikgQXN5bmMKKworICAgIFByb2Nlc3NEaWRUcmFu
c2l0aW9uVG9Gb3JlZ3JvdW5kKCkKKyAgICBQcm9jZXNzRGlkVHJhbnNpdGlvblRvQmFja2dyb3Vu
ZCgpCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNmM2UyYzljOTdjYWM5OWU0MTc3ZWQ0MTA3
MGM4NjFlNGQ4ODU0NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Q
cm9jZXNzL1dlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTAsMCArMSw1
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJBdXRo
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKKworI2lmIEVOQUJMRShXRUJfQVVUSE4pCisK
KyNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENv
ZGVycy5oIgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnND
Ri5oIgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJBdXRoblByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnM6OldlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycygpID0gZGVm
YXVsdDsKKwordm9pZCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJ
UEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7Cit9CisKK2Jvb2wgV2ViQXV0aG5Qcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJBdXRo
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHJlc3VsdCkKK3sKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhO
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9X
ZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NjViYzI2NWE2
Mjc3MGYzNjY0ZGJjOGZmMjA2YWY5MzhiMzc5MjZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKFdFQl9BVVRITikKKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBEZWNvZGVyOworY2xhc3Mg
RW5jb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0cnVjdCBXZWJBdXRoblByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMgeworICAgIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycygpOworCisgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CisgICAgc3Rh
dGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShJUEM6OkRlY29kZXImLCBXZWJBdXRo
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViQXV0aG5Qcm9jZXNzL2lvcy9XZWJBdXRoblByb2Nlc3NJT1MubW0gYi9Tb3VyY2UvV2Vi
S2l0L1dlYkF1dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNiNGEwZjI0OTMyZmEyNmE3MzU0NjQ4N2YyNTlkYjk5ZjVjYWQ4OWYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9T
Lm1tCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNp
bXBvcnQgIldlYkF1dGhuUHJvY2Vzcy5oIgorCisjaWYgRU5BQkxFKFdFQl9BVVRITikgJiYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKKworI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgor
I2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK3ZvaWQgV2ViQXV0aG5Q
cm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJikKK3sKKyAgICBJbml0V2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFj
ZSgpOworfQorCit2b2lkIFdlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3NOYW1lKGNv
bnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKQoreworICAgIG5v
dEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjppbml0aWFsaXplU2Fu
ZGJveChjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiwgU2Fu
ZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikgJiYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9XZWJBdXRo
blByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0
aG5Qcm9jZXNzTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxYWIzMzg0NTk0ZmRkMjk5MGNlNzJkZmViZjEw
MmM0YTI1MTU3NzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJv
Y2Vzcy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1tCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldlYkF1dGhuUHJvY2Vzcy5oIgorCisj
aWYgRU5BQkxFKFdFQl9BVVRITikgJiYgUExBVEZPUk0oTUFDKQorCisjaW1wb3J0ICJTYW5kYm94
SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCisjaW1wb3J0ICJXS0ZvdW5kYXRpb24uaCIKKyNp
bXBvcnQgIldlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2ltcG9ydCA8V2Vi
Q29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0xhdW5jaFNl
cnZpY2VzU1BJLmg+CisjaW1wb3J0IDxwYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmg+CisjaW1w
b3J0IDxzeXNleGl0cy5oPgorI2ltcG9ydCA8d3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgor
I2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewordXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjppbml0aWFsaXpl
UHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJikK
K3sKKyAgICAvLyBIYXZpbmcgYSB3aW5kb3cgc2VydmVyIGNvbm5lY3Rpb24gaW4gdGhpcyBwcm9j
ZXNzIHdvdWxkIHJlc3VsdCBpbiBzcGluIGxvZ3MgKDxyZGFyOi8vcHJvYmxlbS8xMzIzOTExOT4p
LgorICAgIE9TU3RhdHVzIGVycm9yID0gU2V0QXBwbGljYXRpb25Jc0RhZW1vbih0cnVlKTsKKyAg
ICBBU1NFUlRfVU5VU0VEKGVycm9yLCBlcnJvciA9PSBub0Vycik7CisKKyAgICBsYXVuY2hTZXJ2
aWNlc0NoZWNrSW4oKTsKK30KKwordm9pZCBXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVQcm9j
ZXNzTmFtZShjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzKQoreworICAgIE5TU3RyaW5nICphcHBsaWNhdGlvbk5hbWUgPSBbTlNTdHJpbmcg
c3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfU1RSSU5HKCIlQCBXZWIgQXV0aGVudGljYXRpb24iLCAi
dmlzaWJsZSBuYW1lIG9mIHRoZSBXZWJBdXRobiBwcm9jZXNzLiBUaGUgYXJndW1lbnQgaXMgdGhl
IGFwcGxpY2F0aW9uIG5hbWUuIiksIChOU1N0cmluZyAqKXBhcmFtZXRlcnMudWlQcm9jZXNzTmFt
ZV07CisgICAgX0xTU2V0QXBwbGljYXRpb25JbmZvcm1hdGlvbkl0ZW0oa0xTRGVmYXVsdFNlc3Np
b25JRCwgX0xTR2V0Q3VycmVudEFwcGxpY2F0aW9uQVNOKCksIF9rTFNEaXNwbGF5TmFtZUtleSwg
KENGU3RyaW5nUmVmKWFwcGxpY2F0aW9uTmFtZSwgbnVsbHB0cik7Cit9CisKK3ZvaWQgV2ViQXV0
aG5Qcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJh
bWV0ZXJzJiBzYW5kYm94UGFyYW1ldGVycykKK3sKKyAgICAvLyBOZWVkIHRvIG92ZXJyaWRlIHRo
ZSBkZWZhdWx0LCBiZWNhdXNlIHNlcnZpY2UgaGFzIGEgZGlmZmVyZW50IGJ1bmRsZSBJRC4KKyAg
ICBOU0J1bmRsZSAqd2ViS2l0MkJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpOU0Ns
YXNzRnJvbVN0cmluZyhAIldLV2ViVmlldyIpXTsKKworICAgIHNhbmRib3hQYXJhbWV0ZXJzLnNl
dE92ZXJyaWRlU2FuZGJveFByb2ZpbGVQYXRoKFt3ZWJLaXQyQnVuZGxlIHBhdGhGb3JSZXNvdXJj
ZTpAImNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzIiBvZlR5cGU6QCJzYiJdKTsKKwor
ICAgIEF1eGlsaWFyeVByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KHBhcmFtZXRlcnMsIHNhbmRi
b3hQYXJhbWV0ZXJzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBF
TkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nl
c3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluIGIvU291cmNlL1dl
YktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNz
LnNiLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg2ZGJhNjVhMjFkNTE4ZmQ3NzMwMzQ5NjFmOGRiNWUxOGFlYzky
N2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMv
Y29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4KQEAgLTAsMCArMSw0NDAgQEAK
KzsgQ29weXJpZ2h0IChDKSAyMDEwLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorOworOyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKzsgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCis7IGFyZSBtZXQ6Cis7IDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cis7
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKzsgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKzsgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorOyAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorOworOyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCis7IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorOyBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCis7
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworOyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCis7IENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCis7IFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworOyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorOyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorOyBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCis7IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworKHZlcnNpb24gMSkK
KyhkZW55IGRlZmF1bHQgKHdpdGggcGFydGlhbC1zeW1ib2xpY2F0aW9uKSkKKyhhbGxvdyBzeXN0
ZW0tYXVkaXQgZmlsZS1yZWFkLW1ldGFkYXRhKQorCis7OzsKKzs7OyBUaGUgZm9sbG93aW5nIHJ1
bGVzIHdlcmUgb3JpZ2luYWxseSBjb250YWluZWQgaW4gJ3N5c3RlbS5zYicuIFdlIGFyZSBkdXBs
aWNhdGluZyB0aGVtIGhlcmUgc28gd2UgY2FuCis7OzsgcmVtb3ZlIHVubmVlZGVkIHNhbmRib3gg
ZXh0ZW5zaW9ucy4KKzs7OworCis7OzsgQWxsb3cgcmVnaXN0cmF0aW9uIG9mIHBlci1waWQgc2Vy
dmljZXMuCisoYWxsb3cgbWFjaC1yZWdpc3RlciAobG9jYWwtbmFtZS1wcmVmaXggIiIpKQorCis7
OzsgQWxsb3cgcmVhZCBhY2Nlc3MgdG8gc3RhbmRhcmQgc3lzdGVtIHBhdGhzLgorKGFsbG93IGZp
bGUtcmVhZCoKKyAgICAocmVxdWlyZS1hbGwgKGZpbGUtbW9kZSAjbzAwMDQpCisgICAgKHJlcXVp
cmUtYW55IChzdWJwYXRoICIvTGlicmFyeS9GaWxlc3lzdGVtcy9OZXRGU1BsdWdpbnMiKQorICAg
IChzdWJwYXRoICIvTGlicmFyeS9BcHBsZS9TeXN0ZW0iKQorICAgIChzdWJwYXRoICIvTGlicmFy
eS9QcmVmZXJlbmNlcy9Mb2dnaW5nIikgICAgICA7IExvZ2dpbmcgUmV0aGluaworICAgIChzdWJw
YXRoICIvU3lzdGVtIikKKyAgICAoc3VicGF0aCAiL3ByaXZhdGUvdmFyL2RiL2R5bGQiKQorICAg
IChzdWJwYXRoICIvcHJpdmF0ZS92YXIvZGIvdGltZXpvbmUiKQorICAgIChzdWJwYXRoICIvdXNy
L2xpYiIpCisgICAgKHN1YnBhdGggIi91c3Ivc2hhcmUiKSkpKQorCis7OzsgQWxsb3cgcmVhZGlu
ZyBpbnRlcm5hbCBwcm9maWxlcyBvbiBkZXZlbG9wbWVudCBidWlsZHMKKyhhbGxvdyBmaWxlLXJl
YWQqCisgICAgKHJlcXVpcmUtYWxsIChmaWxlLW1vZGUgI28wMDA0KQorICAgIChzdWJwYXRoICIv
QXBwbGVJbnRlcm5hbC9MaWJyYXJ5L1ByZWZlcmVuY2VzL0xvZ2dpbmciKQorICAgIChzeXN0ZW0t
YXR0cmlidXRlIGFwcGxlLWludGVybmFsKSkpCisKKzs7OyBBbGxvdyBtYXBwaW5nIG9mIHN5c3Rl
bSBmcmFtZXdvcmtzICsgZHlsaWJzCisoYWxsb3cgZmlsZS1tYXAtZXhlY3V0YWJsZQorICAgIChz
dWJwYXRoICIvTGlicmFyeS9BcHBsZS9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzIikKKyAgICAo
c3VicGF0aCAiL0xpYnJhcnkvQXBwbGUvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3Mi
KQorICAgIChzdWJwYXRoICIvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3JrcyIpCisgICAgKHN1YnBh
dGggIi9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3JrcyIpCisgICAgKHN1YnBhdGggIi91
c3IvbGliIikKKyAgICAoc3VicGF0aCAiL3Vzci9hcHBsZWludGVybmFsL2xpYi9zYW5pdGl6ZXJz
IikpCisKKyhhbGxvdyBmaWxlLXJlYWQtbWV0YWRhdGEKKyAgICAobGl0ZXJhbCAiL2V0YyIpCisg
ICAgKGxpdGVyYWwgIi90bXAiKQorICAgIChsaXRlcmFsICIvdmFyIikKKyAgICAobGl0ZXJhbCAi
L3ByaXZhdGUvZXRjL2xvY2FsdGltZSIpKQorCisKKzs7OyBBbGxvdyBhY2Nlc3MgdG8gc3RhbmRh
cmQgc3BlY2lhbCBmaWxlcy4KKyhhbGxvdyBmaWxlLXJlYWQqCisgICAgKGxpdGVyYWwgIi9kZXYv
YXV0b2ZzX25vd2FpdCIpCisgICAgKGxpdGVyYWwgIi9kZXYvcmFuZG9tIikKKyAgICAobGl0ZXJh
bCAiL2Rldi91cmFuZG9tIikKKyAgICAobGl0ZXJhbCAiL3ByaXZhdGUvZXRjL21hc3Rlci5wYXNz
d2QiKQorICAgIChsaXRlcmFsICIvcHJpdmF0ZS9ldGMvcGFzc3dkIikpCisKKyhhbGxvdyBmaWxl
LXJlYWQqCisgICAgICAgZmlsZS13cml0ZS1kYXRhCisgICAgKGxpdGVyYWwgIi9kZXYvbnVsbCIp
CisgICAgKGxpdGVyYWwgIi9kZXYvemVybyIpKQorCisoYWxsb3cgZmlsZS1yZWFkKgorICAgICAg
IGZpbGUtd3JpdGUtZGF0YQorICAgICAgIGZpbGUtaW9jdGwKKyAgICAobGl0ZXJhbCAiL2Rldi9k
dHJhY2VoZWxwZXIiKSkKKworOzs7IEFsbG93IGNyZWF0aW9uIG9mIGNvcmUgZHVtcHMuCisoYWxs
b3cgZmlsZS13cml0ZS1jcmVhdGUKKyAgICAocmVxdWlyZS1hbGwgKHByZWZpeCAiL2NvcmVzLyIp
CisgICAgICAgICh2bm9kZS10eXBlIFJFR1VMQVItRklMRSkpKQorCis7OzsgQWxsb3cgSVBDIHRv
IHN0YW5kYXJkIHN5c3RlbSBhZ2VudHMuCisoYWxsb3cgaXBjLXBvc2l4LXNobS1yZWFkKgorICAg
IChpcGMtcG9zaXgtbmFtZSAiYXBwbGUuc2htLm5vdGlmaWNhdGlvbl9jZW50ZXIiKQorICAgIChp
cGMtcG9zaXgtbmFtZS1wcmVmaXggImFwcGxlLmNmcHJlZnMuIikpCisKKzs7OworOzs7IEVuZCBy
dWxlcyBvcmlnaW5hbGx5IGNvcGllZCBmcm9tICdzeXN0ZW0uc2InCis7OzsKKworOzs7IHByb2Nl
c3MtaW5mbyogZGVmYXVsdHMgdG8gYWxsb3c7IGRlbnkgaXQgYW5kIHRoZW4gYWxsb3cgb3BlcmF0
aW9ucyB3ZSBhY3R1YWxseSBuZWVkLgorKGRlbnkgcHJvY2Vzcy1pbmZvKikKKyhhbGxvdyBwcm9j
ZXNzLWluZm8tcGlkaW5mbykKKyhhbGxvdyBwcm9jZXNzLWluZm8tc2V0Y29udHJvbCAodGFyZ2V0
IHNlbGYpKQorKGFsbG93IHByb2Nlc3MtY29kZXNpZ25pbmctc3RhdHVzKikKKworKGRlbnkgc3lz
Y3RsKikKKyhhbGxvdyBzeXNjdGwtcmVhZAorICAgIChzeXNjdGwtbmFtZQorICAgICAgICAiaHcu
Ynl0ZW9yZGVyIgorICAgICAgICAiaHcuYnVzZnJlcXVlbmN5X21heCIKKyAgICAgICAgImh3LmNw
dXR5cGUiCisgICAgICAgICJody5tYWNoaW5lIgorICAgICAgICAiaHcubWVtc2l6ZSIKKyAgICAg
ICAgImh3Lm1vZGVsIgorICAgICAgICAiaHcubmNwdSIKKyAgICAgICAgImh3LnZlY3RvcnVuaXQi
CisgICAgICAgICJrZXJuLmJvb3RhcmdzIiA7OyA8cmRhcjovL3Byb2JsZW0vNDc3MzgwMTU+Cisg
ICAgICAgICJrZXJuLmhvc3RuYW1lIgorICAgICAgICAia2Vybi5tYXhmaWxlc3BlcnByb2MiCisg
ICAgICAgICJrZXJuLm1lbW9yeXN0YXR1c19sZXZlbCIKKyAgICAgICAgImtlcm4ub3Nwcm9kdWN0
dmVyc2lvbiIgOzsgPHJkYXI6Ly9wcm9ibGVtLzUxNzU2NzM5PgorICAgICAgICAia2Vybi5vc3Zl
cnNpb24iCisgICAgICAgICJrZXJuLnNhZmVib290IgorICAgICAgICAia2Vybi52ZXJzaW9uIgor
ICAgICAgICAibWFjaGRlcC5jcHUuYnJhbmRfc3RyaW5nIgorICAgICAgICAic2VjdXJpdHkubWFj
LnNhbmRib3guc2VudGluZWwiCisgICAgICAgICJrZXJuLnRjc21fZW5hYmxlIgorICAgICAgICAi
a2Vybi50Y3NtX2F2YWlsYWJsZSIKKyAgICAgICAgInZtLmZvb3RwcmludF9zdXNwZW5kIikKKyAg
ICAoc3lzY3RsLW5hbWUtcmVnZXggIyJeaHcuKGFjdGl2ZXxhdmFpbCljcHUiKQorICAgIChzeXNj
dGwtbmFtZS1yZWdleCAjIl5ody4oYnVzZnJlcXVlbmN5fGNhY2hlbGluZXNpemV8Y3B1ZnJlcXVl
bmN5KHxfbWF4KXxwYWdlc2l6ZXx0YmZyZXF1ZW5jeSkofF9jb21wYXQpIikKKyAgICAoc3lzY3Rs
LW5hbWUtcmVnZXggIyJeaHcubC4rY2FjaGVzaXplIikKKyAgICAoc3lzY3RsLW5hbWUtcmVnZXgg
IyJeaHcuKGxvZ2ljYWx8cGh5c2ljYWwpY3B1X21heCIpCisgICAgKHN5c2N0bC1uYW1lLXJlZ2V4
ICMiXmh3Lm9wdGlvbmFsXC4iKQorICAgIChzeXNjdGwtbmFtZS1yZWdleCAjIl5rZXJuLm9zKHJl
bGVhc2V8dHlwZXx2YXJpYW50X3N0YXR1c3x2ZXJzaW9uKSIpCisgICAgKHN5c2N0bC1uYW1lLXJl
Z2V4ICMiXm5ldC5yb3V0ZXRhYmxlIikKKykKKworKGFsbG93IHN5c2N0bC13cml0ZQorICAgIChz
eXNjdGwtbmFtZQorICAgICAgICAia2Vybi50Y3NtX2VuYWJsZSIpKQorCisoZGVueSBtYWNoLWxv
b2t1cCAoeHBjLXNlcnZpY2UtbmFtZS1wcmVmaXggIiIpKQorKGFsbG93IG1hY2gtbG9va3VwCisg
ICAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5QZXJmb3JtYW5jZUFuYWx5c2lzLmFuaW1h
dGlvbnBlcmZkIikKKyAgICAoeHBjLXNlcnZpY2UtbmFtZSAiY29tLmFwcGxlLmFjY2Vzc2liaWxp
dHkubWVkaWFhY2Nlc3NpYmlsaXR5ZCIpCisgICAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBs
ZS5hdWRpby5TYW5kYm94SGVscGVyIikKKyAgICAoeHBjLXNlcnZpY2UtbmFtZSAiY29tLmFwcGxl
LmNvcmVtZWRpYS52aWRlb2RlY29kZXIiKQorICAgICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBw
bGUuY29yZW1lZGlhLnZpZGVvZW5jb2RlciIpCisgICAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5h
cHBsZS5oaXNlcnZpY2VzLXhwY3NlcnZpY2UiKQorICAgICh4cGMtc2VydmljZS1uYW1lICJjb20u
YXBwbGUucHJpbnQubm9ybWFsaXplcmQiKQorKQorCis7OyBVdGlsaXR5IGZ1bmN0aW9ucyBmb3Ig
aG9tZSBkaXJlY3RvcnkgcmVsYXRpdmUgcGF0aCBmaWx0ZXJzCisoZGVmaW5lIChob21lLXJlZ2V4
IGhvbWUtcmVsYXRpdmUtcmVnZXgpCisgIChyZWdleCAoc3RyaW5nLWFwcGVuZCAiXiIgKHJlZ2V4
LXF1b3RlIChwYXJhbSAiSE9NRV9ESVIiKSkgaG9tZS1yZWxhdGl2ZS1yZWdleCkpKQorCisoZGVm
aW5lIChob21lLXN1YnBhdGggaG9tZS1yZWxhdGl2ZS1zdWJwYXRoKQorICAoc3VicGF0aCAoc3Ry
aW5nLWFwcGVuZCAocGFyYW0gIkhPTUVfRElSIikgaG9tZS1yZWxhdGl2ZS1zdWJwYXRoKSkpCisK
KyhkZWZpbmUgKGhvbWUtbGl0ZXJhbCBob21lLXJlbGF0aXZlLWxpdGVyYWwpCisgIChsaXRlcmFs
IChzdHJpbmctYXBwZW5kIChwYXJhbSAiSE9NRV9ESVIiKSBob21lLXJlbGF0aXZlLWxpdGVyYWwp
KSkKKworKGRlZmluZSAoYWxsb3ctcmVhZC1kaXJlY3RvcnktYW5kLWlzc3VlLXJlYWQtZXh0ZW5z
aW9ucyBwYXRoKQorICAgIChpZiBwYXRoCisgICAgICAgIChiZWdpbgorICAgICAgICAgICAgKGFs
bG93IGZpbGUtcmVhZCogKHN1YnBhdGggcGF0aCkpCisgICAgICAgICAgICAoYWxsb3cgZmlsZS1p
c3N1ZS1leHRlbnNpb24gKHJlcXVpcmUtYWxsIChleHRlbnNpb24tY2xhc3MgImNvbS5hcHBsZS5h
cHAtc2FuZGJveC5yZWFkIikgKHN1YnBhdGggcGF0aCkpKSkpKQorCisoZGVmaW5lIChhbGxvdy1y
ZWFkLXdyaXRlLWRpcmVjdG9yeS1hbmQtaXNzdWUtcmVhZC13cml0ZS1leHRlbnNpb25zIHBhdGgp
CisgICAgKGlmIHBhdGgKKyAgICAgICAgKGJlZ2luCisgICAgICAgICAgICAoYWxsb3cgZmlsZS1y
ZWFkKiBmaWxlLXdyaXRlKiAoc3VicGF0aCBwYXRoKSkKKyAgICAgICAgICAgIChhbGxvdyBmaWxl
LWlzc3VlLWV4dGVuc2lvbiAocmVxdWlyZS1hbGwgKGV4dGVuc2lvbi1jbGFzcyAiY29tLmFwcGxl
LmFwcC1zYW5kYm94LnJlYWQiKSAoc3VicGF0aCBwYXRoKSkpCisgICAgICAgICAgICAoYWxsb3cg
ZmlsZS1pc3N1ZS1leHRlbnNpb24gKHJlcXVpcmUtYWxsIChleHRlbnNpb24tY2xhc3MgImNvbS5h
cHBsZS5hcHAtc2FuZGJveC5yZWFkLXdyaXRlIikgKHN1YnBhdGggcGF0aCkpKSkpKQorCis7OyBS
ZW1vdmUgd2hlbiA8cmRhcjovL3Byb2JsZW0vMjk2NDYwOTQ+IGlzIGZpeGVkLgorKGRlZmluZSAo
SEVYLXBhdHRlcm4tbWF0Y2gtZ2VuZXJhdG9yIHBhdHRlcm4tZGVzY3JpcHRvcikKKyAgICAobGV0
cmVjICgocGF0dGVybi1zdHJpbmcgIiIpKQorICAgICAgICAoZm9yLWVhY2ggIChsYW1iZGEgKHJl
cGVhdC1jb3VudCkKKyAgICAgICAgICAgIChpZiAoemVybz8gcmVwZWF0LWNvdW50KQorICAgICAg
ICAgICAgICAgIChzZXQhIHBhdHRlcm4tc3RyaW5nIChzdHJpbmctYXBwZW5kICBwYXR0ZXJuLXN0
cmluZyAiLSIpKQorICAgICAgICAgICAgICAgIChsZXQgYXBwZW5kZXIgKChjb3VudCByZXBlYXQt
Y291bnQpKQorICAgICAgICAgICAgICAgICAgICAoaWYgKD4gY291bnQgMCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIChiZWdpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXQhIHBh
dHRlcm4tc3RyaW5nIChzdHJpbmctYXBwZW5kICBwYXR0ZXJuLXN0cmluZyAiWzAtOUEtRl0iKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwZW5kZXIgKC0gY291bnQgMSkpKSkpKSkK
KyAgICAgICAgICAgIHBhdHRlcm4tZGVzY3JpcHRvcikKKyAgICBwYXR0ZXJuLXN0cmluZykpCisK
Kzs7IHJldHVybiBhIHJlZ2V4IHBhdHRlcm4gbWF0Y2hpbmcgc3RyaW5nIGZvciA4LTQtNC00LTEy
IFVVSURzOgorKGRlZmluZSAodXVpZC1IRVgtcGF0dGVybi1tYXRjaC1zdHJpbmcpCisgICAgKEhF
WC1wYXR0ZXJuLW1hdGNoLWdlbmVyYXRvciAnKDggMCA0IDAgNCAwIDQgMCAxMikpKQorCis7OyBn
bG9iYWwgdG8gaG9sZCB0aGUgY29tcHV0ZWQgVVVJRCBtYXRjaGluZyBwYXR0ZXJuLgorKGRlZmlu
ZSAqdXVpZC1wYXR0ZXJuKiAiIikKKworKGRlZmluZSAodXVpZC1yZWdleC1zdHJpbmcpCisgICAg
KGlmICh6ZXJvPyAoc3RyaW5nLWxlbmd0aCAqdXVpZC1wYXR0ZXJuKikpCisgICAgICAgIChzZXQh
ICp1dWlkLXBhdHRlcm4qICh1dWlkLUhFWC1wYXR0ZXJuLW1hdGNoLXN0cmluZykpKQorICAgICp1
dWlkLXBhdHRlcm4qKQorCis7OyBSZWFkLW9ubHkgcHJlZmVyZW5jZXMgYW5kIGRhdGEKKyhhbGxv
dyBmaWxlLXJlYWQqCisgICAgOzsgQmFzaWMgc3lzdGVtIHBhdGhzCisgICAgKHN1YnBhdGggIi9M
aWJyYXJ5L0RpY3Rpb25hcmllcyIpCisgICAgKHN1YnBhdGggIi9MaWJyYXJ5L0ZvbnRzIikKKyAg
ICAoc3VicGF0aCAiL0xpYnJhcnkvRnJhbWV3b3JrcyIpCisgICAgKHN1YnBhdGggIi9MaWJyYXJ5
L01hbmFnZWQgUHJlZmVyZW5jZXMiKQorICAgIChzdWJwYXRoICIvTGlicmFyeS9TcGVlY2gvU3lu
dGhlc2l6ZXJzIikKKyAgICAocmVnZXggIyJeL3ByaXZhdGUvZXRjLyhob3N0c3xncm91cHxwYXNz
d2QpJCIpCisKKyAgICAobGl0ZXJhbCAiL0xpYnJhcnkvQXBwbGljYXRpb24gU3VwcG9ydC9DcmFz
aFJlcG9ydGVyL1N1Ym1pdERpYWdJbmZvLmRvbWFpbnMiKQorCisgICAgOzsgU3lzdGVtIGFuZCB1
c2VyIHByZWZlcmVuY2VzCisgICAgKGhvbWUtbGl0ZXJhbCAiLy5DRlVzZXJUZXh0RW5jb2Rpbmci
KQorCisgICAgOzsgRklYTUU6IFRoaXMgc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiA8cmRhcjovL3By
b2JsZW0vODk1Nzg0NT4gaXMgZml4ZWQuCisgICAgKGhvbWUtc3VicGF0aCAiL0xpYnJhcnkvRm9u
dHMiKQorCisgICAgKHN1YnBhdGggIi9MaWJyYXJ5L0F1ZGlvL1BsdWctSW5zL0hBTCIpCisKKyAg
ICAoaG9tZS1zdWJwYXRoICIvTGlicmFyeS9EaWN0aW9uYXJpZXMiKSkKKworKGFsbG93IGZpbGUt
cmVhZC1kYXRhCisgICAgKGxpdGVyYWwgIi91c3IvbG9jYWwvbGliL2xvZyIpIDsgPHJkYXI6Ly9w
cm9ibGVtLzM2NjI5NDk1PgorICAgIDs7IE5lZWRlZCBmb3IgQUVTMyBzdXBwb3J0CisgICAgKHN1
YnBhdGggIi9MaWJyYXJ5L0F1ZGlvL1BsdWctSW5zL0NvbXBvbmVudHMiKSkKKworOzsgUHJlZmVy
ZW5jZXMgc3VwcG9ydAorKGFsbG93IHVzZXItcHJlZmVyZW5jZS1yZWFkCisgICAgKHByZWZlcmVu
Y2UtZG9tYWluCisgICAgICAgICJrQ0ZQcmVmZXJlbmNlc0FueUFwcGxpY2F0aW9uIgorICAgICAg
ICAiY29tLmFwcGxlLkFjY2Vzc2liaWxpdHkiCisgICAgICAgICJjb20uYXBwbGUuQVRTIgorICAg
ICAgICAiY29tLmFwcGxlLkNvcmVHcmFwaGljcyIKKyAgICAgICAgImNvbS5hcHBsZS5Eb3dubG9h
ZEFzc2Vzc21lbnQiCisgICAgICAgICJjb20uYXBwbGUuSElUb29sYm94IgorICAgICAgICAiY29t
LmFwcGxlLkxhdW5jaFNlcnZpY2VzIgorICAgICAgICAiY29tLmFwcGxlLk11bHRpdG91Y2hTdXBw
b3J0IiA7OyBGSVhNRTogUmVtb3ZlIHdoZW4gPHJkYXI6Ly9wcm9ibGVtLzEzMDExNjMzPiBpcyBm
aXhlZC4KKyAgICAgICAgImNvbS5hcHBsZS5TZXJ2aWNlc01lbnUuU2VydmljZXMiIDs7IE5lZWRl
ZCBmb3IgTlNBdHRyaWJ1dGVkU3RyaW5nIDxyZGFyOi8vcHJvYmxlbS8xMDg0NDMyMT4KKyAgICAg
ICAgImNvbS5hcHBsZS5WaWV3QnJpZGdlIiA7OyBOZWVkZWQgZm9yIElucHV0IGVsZW1lbnRzLgor
ICAgICAgICAiY29tLmFwcGxlLldlYkZvdW5kYXRpb24iCisgICAgICAgICJjb20uYXBwbGUuYXZm
b3VuZGF0aW9uIgorICAgICAgICAiY29tLmFwcGxlLmF2Zm91bmRhdGlvbi5mcmVjZW50cyIgOzsg
PHJkYXI6Ly9wcm9ibGVtLzMzMTM3MDI5PgorICAgICAgICAiY29tLmFwcGxlLmF2Zm91bmRhdGlv
bi52aWRlb3BlcmZvcm1hbmNlaHVkIiA7OyA8cmRhcjovL3Byb2JsZW0vMzE1OTQ1Njg+CisgICAg
ICAgICJjb20uYXBwbGUuY29yZW1lZGlhIgorICAgICAgICAiY29tLmFwcGxlLmNyeXB0byIKKyAg
ICAgICAgImNvbS5hcHBsZS5kcml2ZXIuQXBwbGVCbHVldG9vdGhNdWx0aXRvdWNoLm1vdXNlIgor
ICAgICAgICAiY29tLmFwcGxlLmRyaXZlci5BcHBsZUJsdWV0b290aE11bHRpdG91Y2gudHJhY2tw
YWQiCisgICAgICAgICJjb20uYXBwbGUuZHJpdmVyLkFwcGxlSElETW91c2UiCisgICAgICAgICJj
b20uYXBwbGUubG9va3VwLnNoYXJlZCIKKyAgICAgICAgImNvbS5hcHBsZS5tZWRpYWFjY2Vzc2li
aWxpdHkiIDs7IE5lZWRlZCBmb3IgY3VzdG9tIGNhcHRpb24gc3R5bGVzCisgICAgICAgICJjb20u
YXBwbGUubmV0d29ya0Nvbm5lY3QiCisgICAgICAgICJjb20uYXBwbGUuc3BlZWNoLnZvaWNlLnBy
ZWZzIgorICAgICAgICAiY29tLmFwcGxlLnN5c3RlbXNvdW5kIgorICAgICAgICAiY29tLmFwcGxl
LnVuaXZlcnNhbGFjY2VzcyIKKyAgICAgICAgImVkdS5taXQuS2VyYmVyb3MiCisgICAgICAgICJw
YnMiIDs7IE5lZWRlZCBmb3IgTlNBdHRyaWJ1dGVkU3RyaW5nIDxyZGFyOi8vcHJvYmxlbS8xMDg0
NDMyMT4KKykpCisKKzsgKFRlbXBvcmFyeSkgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIG5v
bi1DRlByZWZlcmVuY2VzIHJlYWRlcnMuCisoYWxsb3cgZmlsZS1yZWFkKgorICAgIChsaXRlcmFs
ICIvTGlicmFyeS9QcmVmZXJlbmNlcy9jb20uYXBwbGUuVmlld0JyaWRnZS5wbGlzdCIpKQorCis7
IEZJWE1FOiBUaGlzIGlzIG5lZWRlZCBmb3Igc29tZSBzZWN1cml0eSBmcmFtZXdvcmsgY2FsbHMg
KHRoYXQgdXNlIG5vbi1DRlByZWZlcmVuY2VzIHJlYWRlcnMpCisoYWxsb3cgZmlsZS1yZWFkLWRh
dGEKKyAgICAobGl0ZXJhbCAiL0xpYnJhcnkvUHJlZmVyZW5jZXMvY29tLmFwcGxlLnNlY3VyaXR5
LnBsaXN0IikKKyAgICAoaG9tZS1zdWJwYXRoICIvTGlicmFyeS9QcmVmZXJlbmNlcy9jb20uYXBw
bGUuc2VjdXJpdHkucGxpc3QiKSkKKworOzsgT24tZGlzayBXZWJLaXQyIGZyYW1ld29yayBsb2Nh
dGlvbiwgdG8gYWNjb3VudCBmb3IgZGVidWcgaW5zdGFsbGF0aW9ucyBvdXRzaWRlIG9mIC9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzLAorOzsgYW5kIHRvIGFsbG93IGlzc3VpbmcgZXh0ZW5zaW9u
cy4KKyhhbGxvdy1yZWFkLWRpcmVjdG9yeS1hbmQtaXNzdWUtcmVhZC1leHRlbnNpb25zIChwYXJh
bSAiV0VCS0lUMl9GUkFNRVdPUktfRElSIikpCisKKzs7IEFsbG93IGlzc3VpbmcgZXh0ZW5zaW9u
cyB0byBzeXN0ZW0gbGlicmFyaWVzIHRoYXQgdGhlIE5ldHdvcmsgcHJvY2VzcyBjYW4gYWxyZWFk
eSByZWFkLgorOzsgVGhpcyBpcyB0byBhdm9pZCB3YXJuaW5ncyBhdHRlbXB0aW5nIHRvIGNyZWF0
ZSBleHRlbnNpb25zIGZvciB0aGVzZSByZXNvdXJjZXMuCisoYWxsb3ctcmVhZC1kaXJlY3Rvcnkt
YW5kLWlzc3VlLXJlYWQtZXh0ZW5zaW9ucyAiL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdv
cmtzL1dlYkluc3BlY3RvclVJLmZyYW1ld29yayIpCisKKzs7IFNhbmRib3ggZXh0ZW5zaW9ucwor
KGRlZmluZSAoYXBwbHktcmVhZC1hbmQtaXNzdWUtZXh0ZW5zaW9uIG9wIHBhdGgtZmlsdGVyKQor
ICAgIChvcCBmaWxlLXJlYWQqIHBhdGgtZmlsdGVyKQorICAgIChvcCBmaWxlLWlzc3VlLWV4dGVu
c2lvbiAocmVxdWlyZS1hbGwgKGV4dGVuc2lvbi1jbGFzcyAiY29tLmFwcGxlLmFwcC1zYW5kYm94
LnJlYWQiKSBwYXRoLWZpbHRlcikpKQorKGRlZmluZSAoYXBwbHktd3JpdGUtYW5kLWlzc3VlLWV4
dGVuc2lvbiBvcCBwYXRoLWZpbHRlcikKKyAgICAob3AgZmlsZS13cml0ZSogcGF0aC1maWx0ZXIp
CisgICAgKG9wIGZpbGUtaXNzdWUtZXh0ZW5zaW9uIChyZXF1aXJlLWFsbCAoZXh0ZW5zaW9uLWNs
YXNzICJjb20uYXBwbGUuYXBwLXNhbmRib3gucmVhZC13cml0ZSIpIHBhdGgtZmlsdGVyKSkpCiso
ZGVmaW5lIChyZWFkLW9ubHktYW5kLWlzc3VlLWV4dGVuc2lvbnMgcGF0aC1maWx0ZXIpCisgICAg
KGFwcGx5LXJlYWQtYW5kLWlzc3VlLWV4dGVuc2lvbiBhbGxvdyBwYXRoLWZpbHRlcikpCisoZGVm
aW5lIChyZWFkLXdyaXRlLWFuZC1pc3N1ZS1leHRlbnNpb25zIHBhdGgtZmlsdGVyKQorICAgIChh
cHBseS1yZWFkLWFuZC1pc3N1ZS1leHRlbnNpb24gYWxsb3cgcGF0aC1maWx0ZXIpCisgICAgKGFw
cGx5LXdyaXRlLWFuZC1pc3N1ZS1leHRlbnNpb24gYWxsb3cgcGF0aC1maWx0ZXIpKQorKHJlYWQt
b25seS1hbmQtaXNzdWUtZXh0ZW5zaW9ucyAoZXh0ZW5zaW9uICJjb20uYXBwbGUuYXBwLXNhbmRi
b3gucmVhZCIpKQorKHJlYWQtd3JpdGUtYW5kLWlzc3VlLWV4dGVuc2lvbnMgKGV4dGVuc2lvbiAi
Y29tLmFwcGxlLmFwcC1zYW5kYm94LnJlYWQtd3JpdGUiKSkKKyhhbGxvdyBtYWNoLWxvb2t1cCAo
ZXh0ZW5zaW9uICJjb20uYXBwbGUuYXBwLXNhbmRib3gubWFjaCIpKSA7OyBGSVhNRTogU2hvdWxk
IGJlIHJlbW92ZWQgd2hlbiA8cmRhcjovL3Byb2JsZW0vMTMwNjYyMDY+IGlzIGZpeGVkLgorCiso
YWxsb3cgbWFjaC1sb29rdXAKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMAorICAgICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1ldHJ5KQorI2VuZGlmCisgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21wb25lbnRSZWdpc3RyYXIiKQor
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF3ZGQiKQorICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLmNmcHJlZnNkLmFnZW50IikKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5jb29r
aWVkIikKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5kaWFnbm9zdGljZCIpCisgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUuaWNvbnNlcnZpY2VzIikKKyAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5pY29uc2VydmljZXMuc3RvcmUiKQorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxl
Lm1vYmlsZWFzc2V0ZCIpCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUucG93ZXJsb2cucGx4
cGNsb2dnZXIueHBjIikKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5zeXN0ZW0ubG9nZ2Vy
IikKKykKKworOzsgVmFyaW91cyBzZXJ2aWNlcyByZXF1aXJlZCBieSBBcHBLaXQgYW5kIG90aGVy
IGZyYW1ld29ya3MKKyhhbGxvdyBtYWNoLWxvb2t1cAorI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPCAxMDE0MDAKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Gb250
T2JqZWN0c1NlcnZlciIpCisjZW5kaWYKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Q
b3dlck1hbmFnZW1lbnQuY29udHJvbCIpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
U3lzdGVtQ29uZmlndXJhdGlvbi5jb25maWdkIikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS5hbmFseXRpY3NkIikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hc3NlcnRp
b25kLnByb2Nlc3Nhc3NlcnRpb25jb25uZWN0aW9uIikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5hdWRpby5TeXN0ZW1Tb3VuZFNlcnZlci1PU1giKQorICAgICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLmF1ZGlvLmF1ZGlvaGFsZCIpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuY2ZwcmVmc2QuZGFlbW9uIikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5j
b3Jlc2VydmljZXMubGF1bmNoc2VydmljZXNkIikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS5mb250cyIpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubWVkaWFyZW1vdGVk
LnhwYyIpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubG9nZCIpCisgICAgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUubG9nZC5ldmVudHMiKQorICAgICAgIChnbG9iYWwtbmFtZSAi
Y29tLmFwcGxlLmxzZC5tYXBkYiIpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubHNr
ZGQiKSA7OyA8cmRhcjovL3Byb2JsZW0vNDkxMjM4NTU+CisgICAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUudGNjZCIpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUudGNjZC5zeXN0
ZW0iKQorICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLnRydXN0ZC5hZ2VudCIpCisjaWYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0oTUFD
Q0FUQUxZU1QpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuQ0FSZW5kZXJTZXJ2ZXIi
KSA7IE5lZWRlZCBmb3IgW0NBQ29udGV4dCByZW1vdGVDb250ZXh0V2l0aE9wdGlvbnNdCisjZWxz
ZQorICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRvd3NlcnZlci5hY3RpdmUiKQor
I2VuZGlmCispCisKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQw
MCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKzs7IDxyZGFyOi8vcHJvYmxlbS80NzI2ODE2Nj4K
KyhhbGxvdyBtYWNoLWxvb2t1cCAoeHBjLXNlcnZpY2UtbmFtZSAiY29tLmFwcGxlLk1UTENvbXBp
bGVyU2VydmljZSIpKQorI2VuZGlmCisKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKyhkZW55IG1hY2gtbG9va3Vw
ICh3aXRoIG5vLWxvZykKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Db3JlU2VydmljZXMu
Y29yZXNlcnZpY2VzZCIpCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuRGlza0FyYml0cmF0
aW9uLmRpc2thcmJpdHJhdGlvbmQiKQorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLlZpZXdC
cmlkZ2VBdXhpbGlhcnkiKQorICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRvd3NlcnZl
ci5hY3RpdmUiKSkKKyNlbmRpZgorCis7OyBOZWVkZWQgdG8gc3VwcG9ydCBlbmNyeXB0ZWQgbWVk
aWEgcGxheWJhY2sgPHJkYXI6Ly9wcm9ibGVtLzQwMDM4NDc4PgorKGFsbG93IG1hY2gtbG9va3Vw
CisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuU2VjdXJpdHlTZXJ2ZXIiKQorICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLm9jc3BkIikpCisKKyhhbGxvdyBmaWxlLXJlYWQqIGZpbGUtd3Jp
dGUqIChzdWJwYXRoICIvcHJpdmF0ZS92YXIvZGIvbWRzL3N5c3RlbSIpKSA7OyBGSVhNRTogVGhp
cyBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIDxyZGFyOi8vcHJvYmxlbS85NTM4NDE0PiBpcyBmaXhl
ZC4KKworKGFsbG93IGZpbGUtcmVhZCoKKyAgICAgICAoc3VicGF0aCAiL3ByaXZhdGUvdmFyL2Ri
L21kcyIpCisgICAgICAgKGxpdGVyYWwgIi9wcml2YXRlL3Zhci9kYi9EZXRhY2hlZFNpZ25hdHVy
ZXMiKSkKKworKGFsbG93IGlwYy1wb3NpeC1zaG0tcmVhZCogaXBjLXBvc2l4LXNobS13cml0ZS1k
YXRhIGlwYy1wb3NpeC1zaG0td3JpdGUtY3JlYXRlCisgICAgICAgKGlwYy1wb3NpeC1uYW1lICJj
b20uYXBwbGUuQXBwbGVEYXRhYmFzZUNoYW5nZWQiKSkKKworOzsgQ29yZUZvdW5kYXRpb24uIFdl
IGRvbid0IGltcG9ydCBjb20uYXBwbGUuY29yZWZvdW5kYXRpb24uc2IsIGJlY2F1c2UgaXQgYWxs
b3dzIHVubmVjZXNzYXJ5IGFjY2VzcyB0byBwYXN0ZWJvYXJkLgorKGFsbG93IG1hY2gtbG9va3Vw
CisgICAgKGdsb2JhbC1uYW1lLXJlZ2V4ICMiXmNvbS5hcHBsZS5kaXN0cmlidXRlZF9ub3RpZmlj
YXRpb25zIikKKyNpZiAhSEFWRShDU0NIRUNLRklYRElTQUJMRSkKKyAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS5Db3JlU2VydmljZXMuY29yZXNlcnZpY2VzZCIpCisjZW5kaWYKKykKKworKGFs
bG93IGZpbGUtcmVhZC1kYXRhCisgICAgKGxpdGVyYWwgIi9kZXYvYXV0b2ZzX25vd2FpdCIpKSA7
IFVzZWQgYnkgQ0YgdG8gY2lyY3VtdmVudCBhdXRvbW91bnQgdHJpZ2dlcnMKKyhhbGxvdyBpcGMt
cG9zaXgtc2htCisgICAgKGlwYy1wb3NpeC1uYW1lLXJlZ2V4ICMiXkNGUEJTOiIpKSA7IDxyZGFy
Oi8vcHJvYmxlbS8xMzc1NzQ3NT4KKyhhbGxvdyBzeXN0ZW0tZnNjdGwgKGZzY3RsLWNvbW1hbmQg
KF9JTyAiaCIgNDcpKSkKKworOzsgR3JhcGhpY3MKKyhzeXN0ZW0tZ3JhcGhpY3MpCisKKzs7IE5l
dHdvcmtpbmcKKyhhbGxvdyBuZXR3b3JrLW91dGJvdW5kCisgICAgICAgOzsgTG9jYWwgbUROU1Jl
c3BvbmRlciBmb3IgRE5TLCBhcmJpdHJhcnkgb3V0Ym91bmQgVENQCisgICAgICAgOzsgTm90ZTog
VGhpcyBpcyBuZWVkZWQgZm9yIHNvbWUgbWVkaWEgcGxheWJhY2sgZmVhdHVyZXMuIDxyZGFyOi8v
cHJvYmxlbS8zODE5MTU3ND4KKyAgICAgICA7OyBSZW1vdmUgdGhpcyBwZXJtaXNzaW9uIHdoZW4g
PHJkYXI6Ly9wcm9ibGVtLzM4MjQwNTcyPiBpcyBmaXhlZC4KKyAgICAgICAobGl0ZXJhbCAiL3By
aXZhdGUvdmFyL3J1bi9tRE5TUmVzcG9uZGVyIikKKyAgICAgICA7OyBPYmpDIG1hcF9pbWFnZXMg
bmVlZHMgdG8gc2VuZCBsb2dnaW5nIGRhdGEgdG8gc3lzbG9nLiA8cmRhcjovL3Byb2JsZW0vMzk3
Nzg5MTg+CisgICAgICAgKGxpdGVyYWwgIi9wcml2YXRlL3Zhci9ydW4vc3lzbG9nIikKKyAgICAg
ICAocmVtb3RlIHRjcCkpCisKKzs7IENGTmV0d29yaworKGFsbG93IGZpbGUtcmVhZC1kYXRhIChw
YXRoICIvcHJpdmF0ZS92YXIvZGIvbnN1cmxzdG9yYWdlZC9kYWZzYURhdGEuYmluIikpCisKKyNp
ZiBQTEFURk9STShNQUMpCis7OyBGSVhNRSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIDxyZGFyOi8v
cHJvYmxlbS85MzQ3MjA1PiArIHJlbGF0ZWQgcmFkYXIgaW4gU2FmYXJpIGlzIGZpeGVkCisoYWxs
b3cgbWFjaC1sb29rdXAKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5zeXN0ZW0ubG9n
Z2VyIikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5zeXN0ZW0ubm90aWZpY2F0aW9u
X2NlbnRlciIpKQorI2VuZGlmCisKKyhpZiAoZGVmaW5lZD8gJ3Zub2RlLXR5cGUpCisgICAgICAg
IChkZW55IGZpbGUtd3JpdGUtY3JlYXRlICh2bm9kZS10eXBlIFNZTUxJTkspKSkKKworOzsgUmVz
ZXJ2ZSBhIG5hbWVzcGFjZSBmb3IgYWRkaXRpb25hbCBwcm90ZWN0ZWQgZXh0ZW5kZWQgYXR0cmli
dXRlcy4KKyhkZW55IGZpbGUtcmVhZC14YXR0ciBmaWxlLXdyaXRlLXhhdHRyICh4YXR0ci1yZWdl
eCAjIl5jb21cLmFwcGxlXC5zZWN1cml0eVwucHJpdmF0ZVwuIikpCisKKyhkZW55IGZpbGUtcmVh
ZCogZmlsZS13cml0ZSogKHdpdGggbm8tbG9nKQorICAgICAgIDs7IEZJWE1FOiBTaG91bGQgYmUg
cmVtb3ZlZCBhZnRlciA8cmRhcjovL3Byb2JsZW0vMTA0NjM4ODE+IGlzIGZpeGVkLgorICAgICAg
IChob21lLWxpdGVyYWwgIi9MaWJyYXJ5L1ByZWZlcmVuY2VzL2NvbS5hcHBsZS5MYXVuY2hTZXJ2
aWNlcy5RdWFyYW50aW5lRXZlbnRzVjIiKQorICAgICAgIChob21lLWxpdGVyYWwgIi9MaWJyYXJ5
L1ByZWZlcmVuY2VzL2NvbS5hcHBsZS5MYXVuY2hTZXJ2aWNlcy5RdWFyYW50aW5lRXZlbnRzVjIt
am91cm5hbCIpKQorCis7OyBEZW55IGFjY2VzcyBuZWVkZWQgZm9yIHVubmVjZXNzYXJ5IE5TQXBw
bGljYXRpb24gaW5pdGlhbGl6YXRpb24uCis7OyBGSVhNRTogVGhpcyBjYW4gYmUgcmVtb3ZlZCBv
bmNlIDxyZGFyOi8vcHJvYmxlbS8xMzAxMTYzMz4gaXMgZml4ZWQuCisoZGVueSBmaWxlLXJlYWQq
ICh3aXRoIG5vLWxvZykKKyAgICAgICAoc3VicGF0aCAiL0xpYnJhcnkvSW5wdXRNYW5hZ2VycyIp
CisgICAgICAgKGhvbWUtc3VicGF0aCAiL0xpYnJhcnkvSW5wdXRNYW5hZ2VycyIpKQorKGRlbnkg
dXNlci1wcmVmZXJlbmNlLXJlYWQgKHdpdGggbm8tbG9nKQorICAgIChwcmVmZXJlbmNlLWRvbWFp
biAiY29tLmFwcGxlLnNwZWVjaC5yZWNvZ25pdGlvbi5BcHBsZVNwZWVjaFJlY29nbml0aW9uLnBy
ZWZzIikpCisoZGVueSBtYWNoLWxvb2t1cCAod2l0aCBuby1sb2cpCisgICAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuY29yZXNlcnZpY2VzLmFwcGxlZXZlbnRzIikKKyAgICAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS5wYXN0ZWJvYXJkLjEiKQorICAgICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLnNwZWVjaC5yZWNvZ25pdGlvbnNlcnZlciIpKQorI2lmIFBMQVRGT1JNKE1BQykKKzs7
IEFsc28gcGFydCBvZiB1bm5lY2Vzc2FyeSBOU0FwcGxpY2F0aW9uIGluaXRpYWxpemF0aW9uLCBi
dXQgd2UgY2FuJ3QgYmxvY2sgYWNjZXNzIHRvIHRoZXNlIHlldCwgc2VlIDxyZGFyOi8vcHJvYmxl
bS8xMzg2OTc2NT4uCisoYWxsb3cgZmlsZS1yZWFkKgorICAgICAgIChzdWJwYXRoICIvTGlicmFy
eS9Db21wb25lbnRzIikKKyAgICAgICAoc3VicGF0aCAiL0xpYnJhcnkvS2V5Ym9hcmQgTGF5b3V0
cyIpCisgICAgICAgKHN1YnBhdGggIi9MaWJyYXJ5L0lucHV0IE1ldGhvZHMiKQorICAgICAgICho
b21lLXN1YnBhdGggIi9MaWJyYXJ5L0NvbXBvbmVudHMiKQorICAgICAgIChob21lLXN1YnBhdGgg
Ii9MaWJyYXJ5L0tleWJvYXJkIExheW91dHMiKQorICAgICAgIChob21lLXN1YnBhdGggIi9MaWJy
YXJ5L0lucHV0IE1ldGhvZHMiKSkKKyNlbmRpZgorCis7OyBEYXRhIERldGVjdG9ycworKGFsbG93
IGZpbGUtcmVhZCogKHN1YnBhdGggIi9wcml2YXRlL3Zhci9kYi9kYXRhZGV0ZWN0b3JzL3N5cyIp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggYjMxODllNDU1YmQ1YTkwMmEyZGExNjAxY2RmODYzN2Q1ZWE4ZjE3NC4uNDhjZmQxMjZmMGQz
YmNiNjM3NmI4NWM1MzZiNmZmYmI4MTcyOWIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNCw3ICsxNCw3IEBACiAJCQkJQkNGRkNB
OEExNjBENkRFQTAwM0RGMzE1IC8qIEFkZCBYUENTZXJ2aWNlcyBzeW1saW5rICovLAogCQkJKTsK
IAkJCWRlcGVuZGVuY2llcyA9ICgKLQkJCQk1N0E5RkYwQzI1MkMzMUQ2MDA2QTIwNDAgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCQk1NzQyQTJGQTI1MzU2MTlEMDBCN0JBMTQgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCQlCQ0E4RDQ2ODE1QkNFMEQ2MDA5REMxRjEgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCQkzNzJFQkI0OTIwMTdFNkNGMDAwODUwNjQgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCQlCQzgyODQ0NjE2QjRGRjY2MDBBMjc4RkUgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKQEAgLTEwOTksOCArMTA5OSwyNiBAQAogCQk1NzJFQkJEQTI1
MzhGNkI0MDAwNTUyQjMgLyogQXBwQXR0ZXN0SW50ZXJuYWxTb2Z0TGluay5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkQ4MjUzOEY2QTEwMDA1
NTJCMyAvKiBBcHBBdHRlc3RJbnRlcm5hbFNvZnRMaW5rLm1tICovOyB9OwogCQk1NzJFQkJEQjI1
MzhGNkI2MDAwNTUyQjMgLyogQXBwQXR0ZXN0SW50ZXJuYWxTb2Z0TGluay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyRUJCRDkyNTM4RjZBMTAwMDU1
MkIzIC8qIEFwcEF0dGVzdEludGVybmFsU29mdExpbmsuaCAqLzsgfTsKIAkJNTcyRUJCREQyNTM5
MjE4MTAwMDU1MkIzIC8qIEFwcEF0dGVzdFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyRUJCREMyNTM5MjE4MTAwMDU1MkIzIC8qIEFwcEF0dGVz
dFNQSS5oICovOyB9OworCQk1NzJFQkJCRjI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Db25u
ZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkJCMjUzNkE2MEEwMDA1NTJCMyAvKiBX
ZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9Owor
CQk1NzJFQkJDMDI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9j
ZXNzTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU3MkVCQkJDMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3NNZXNzYWdlcy5oICovOyB9OworCQk1NzJFQkJDMTI1MzZBNjBBMDAwNTUyQjMgLyogV2Vi
QXV0aG5Qcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkJEMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJBdXRo
blByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk1NzJFQkJDMjI1MzZBNjBBMDAw
NTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkJFMjUzNkE2MEEwMDA1NTJCMyAvKiBXZWJB
dXRoblByb2Nlc3NNZXNzYWdlcy5oICovOyB9OworCQk1NzJFQkJDNDI1MzZBQjg0MDAwNTUyQjMg
LyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IgaW4gUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkMzMjUzNkFCODQwMDA1NTJCMyAv
KiBjb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYiAqLzsgfTsKKwkJNTcyRUJCQzky
NTM2QUZENTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzJFQkJDNjI1MzZBRkQ1MDAwNTUyQjMg
LyogV2ViQXV0aG5Qcm9jZXNzUHJveHkuaCAqLzsgfTsKKwkJNTcyRUJCQ0MyNTM2QjA0RjAwMDU1
MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzJFQkJDQjI1MzZCMDRGMDAwNTUyQjMgLyog
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8uaCAqLzsgfTsKKwkJNTcyRUJCQ0YyNTM2QkIx
MTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkVCQkNEMjUzNkJC
MTAwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87
IH07CisJCTU3MkVCQkQwMjUzNkJCMTEwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eU1l
c3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
NzJFQkJDRTI1MzZCQjEwMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzUHJveHlNZXNzYWdlcy5o
ICovOyB9OworCQk1NzJFQkJENTI1MzZDODg1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTcyRUJCRDIyNTM2Qzg4NTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uaCAq
LzsgfTsKKwkJNTcyRUJCRDcyNTM3RUJBRTAwMDU1MkIzIC8qIEV4dHJhUHJpdmF0ZVN5bWJvbHNG
b3JUQVBJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
Q0E2ODBEMzFFNjkwNEI1MDA3MzFEMjAgLyogRXh0cmFQcml2YXRlU3ltYm9sc0ZvclRBUEkuaCAq
LzsgfTsKIAkJNTcyRkQ0NDMyMjI2NUNFMjAwQTFFQ0MzIC8qIFdlYlZpZXdEaWRNb3ZlVG9XaW5k
b3dPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTcyRkQ0NDEyMjI2NUNFMjAwQTFFQ0MzIC8qIFdlYlZpZXdEaWRNb3ZlVG9XaW5kb3dPYnNl
cnZlci5oICovOyB9OwogCQk1NzQyMTc5MjI0MDBFMjg2MDAyQjMwM0QgLyogTG9jYWxBdXRoZW50
aWNhdGlvblNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTc0MjE3OTEyNDAwRTA5ODAwMkIzMDNEIC8qIExvY2FsQXV0aGVudGljYXRpb25TUEkuaCAq
LzsgfTsKKwkJNTc0MkEyRUIyNTM1NjEzRjAwQjdCQTE0IC8qIEF1eGlsaWFyeVByb2Nlc3NNYWlu
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDRTkx
MjBGMjI5M0MyNUYwMDVCRUM3OCAvKiBBdXhpbGlhcnlQcm9jZXNzTWFpbi5jcHAgKi87IH07CisJ
CTU3NDJBMkVDMjUzNTYxM0YwMEI3QkExNCAvKiBYUENTZXJ2aWNlTWFpbi5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI4Mzk2MTZCNDdFQzQwMEEy
NzhGRSAvKiBYUENTZXJ2aWNlTWFpbi5tbSAqLzsgfTsKKwkJNTc0MkEyRUUyNTM1NjEzRjAwQjdC
QTE0IC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzREU0NjgxNUE5MTc2MzAwOEQyNkZDIC8qIEZvdW5kYXRp
b24uZnJhbWV3b3JrICovOyB9OworCQk1NzQyQTJFRjI1MzU2MTNGMDBCN0JBMTQgLyogV2ViS2l0
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDhEQzJFRjVCMDQ4NkE2OTQwMDk4QjIxNiAvKiBXZWJLaXQuZnJhbWV3b3JrICovOyB9Owor
CQk1NzQyQTMwODI1MzU4QTA0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
NzQyQTMwNjI1MzU4QTA0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmggKi87IH07CisJCTU3NDJBMzBEMjUzNThFRkQwMEI3QkExNCAvKiBXZWJBdXRobkNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3NDJBMzBBMjUzNThFRkQwMEI3QkExNCAvKiBXZWJBdXRobkNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCAqLzsgfTsKKwkJNTc0MkEzMTgyNTM2NDhFNTAwQjdCQTE0IC8qIFdlYkF1
dGhuUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTc0MkEzMTUyNTM2NDhFNDAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzcy5oICovOyB9Owog
CQk1NzQ3MjhEMTIzNDU2RTk4MDAxNzAwQUYgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc0NzI4Q0Yy
MzQ1NkU5ODAwMTcwMEFGIC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1NzQ3MjhENDIzNDU3MEFF
MDAxNzAwQUYgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEludGVybmFsLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzQ3MjhEMzIzNDU3MEFFMDAx
NzAwQUYgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEludGVybmFsLmggKi87IH07CiAJCTU3
NTk3RUI5MjE4MTFEOUEwMDM3RjkyNCAvKiBDdGFwSGlkRHJpdmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzU5N0VCNzIxODExRDlBMDAzN0Y5MjQg
LyogQ3RhcEhpZERyaXZlci5oICovOyB9OwpAQCAtMTEwOCw3ICsxMTI2LDYgQEAKIAkJNTc1QjFC
QjgyM0NFOUJGQzAwMjA2MzlBIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwQTE5NDQxQzhGRjFB
ODAwRkUwRUJCIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuY3BwICovOyB9OwogCQk1NzVC
MUJCOTIzQ0U5QzBCMDAyMDYzOUEgLyogU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTIyNkQ1MjA3RDE4
NDYwMEY3ODQyMCAvKiBTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwICovOyB9OwogCQk1NzVC
MUJCQTIzQ0U5QzEzMDAyMDYzOUEgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RUExQzc5ODBCQjAw
RUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCAqLzsgfTsKLQkJNTc2QkNENUUyNTJG
RDIyRDAwQ0U5Rjg3IC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzREU0NjgxNUE5MTc2MzAwOEQyNkZDIC8q
IEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQk1NzZDQTlENzIyQjg2MjE4MDAzMDE0M0Mg
LyogU09BdXRob3JpemF0aW9uTlNVUkxFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkQzMTczMjJCMzUxNDgwMDhEMEU4QiAvKiBTT0F1dGhv
cml6YXRpb25OU1VSTEV4dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTU3NzJGMjA2MjE3REJENkEwMDU2QkYyQyAvKiBIaWRTZXJ2aWNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzcyRjIwNDIx
N0RCRDZBMDA1NkJGMkMgLyogSGlkU2VydmljZS5oICovOyB9OwogCQk1NzdGRjc4MjIzNDZFODFD
MDA0RURGQjkgLyogQVBJV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc3RkY3ODEyMzQ2RTgxQzAwNEVE
RkI5IC8qIEFQSVdlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQuaCAqLzsgfTsKQEAgLTExMTcs
OCArMTEzNCw2IEBACiAJCTU3OUYxQkY2MjNDODBEQjYwMEM3RDRCNCAvKiBfV0tXZWJBdXRoZW50
aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NzlGMUJGNDIzQzgwREI2MDBDN0Q0QjQgLyogX1dLV2ViQXV0aGVu
dGljYXRpb25Bc3NlcnRpb25SZXNwb25zZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTU3OUYxQkY5MjNDODBFQzYwMEM3RDRCNCAvKiBfV0tXZWJB
dXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3OUYxQkY4MjNDODBFQzYwMEM3RDRCNCAv
KiBfV0tXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlSW50ZXJuYWwuaCAqLzsgfTsK
IAkJNTc5RjFCRkMyM0M4MTFDRjAwQzdENEI0IC8qIEFQSVdlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0
aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU3OUYxQkZBMjNDODExQ0YwMEM3RDRCNCAvKiBBUElXZWJBdXRoZW50aWNhdGlvbkFzc2Vy
dGlvblJlc3BvbnNlLmggKi87IH07Ci0JCTU3QTlGRjA5MjUyQkVBRjAwMDZBMjA0MCAvKiBtYWlu
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdBOUZG
MDgyNTJCRUFGMDAwNkEyMDQwIC8qIG1haW4ubW0gKi87IH07Ci0JCTU3QTlGRjFEMjUyQzZDRTYw
MDZBMjA0MCAvKiBsaWJXVEYuYSBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU3QTlGRjE1MjUyQzZBRUYwMDZBMjA0MCAvKiBsaWJXVEYuYSAqLzsgfTsK
IAkJNTdBQzhGNTAyMTdGRUVEOTAwNTU0MzhDIC8qIEhpZENvbm5lY3Rpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QUM4RjRFMjE3RkVFRDkwMDU1
NDM4QyAvKiBIaWRDb25uZWN0aW9uLmggKi87IH07CiAJCTU3QjRCNDYwMjBCNTA0QUMwMEQ0QUQ3
OSAvKiBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29uc3RhbnRzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0I0QjQ1RTIwQjUwNEFC
MDBENEFENzkgLyogQ2xpZW50Q2VydGlmaWNhdGVBdXRoZW50aWNhdGlvblhQQ0NvbnN0YW50cy5o
ICovOyB9OwogCQk1N0I4MjY0MTIzMDRFQjNFMDBCNzJFQjAgLyogTmVhckZpZWxkU1BJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0I4MjY0MDIzMDRF
QjNFMDBCNzJFQjAgLyogTmVhckZpZWxkU1BJLmggKi87IH07CkBAIC0xMTI4LDcgKzExNDMsNiBA
QAogCQk1N0I4MjY0QzIzMDYwM0MxMDBCNzJFQjAgLyogTW9ja05mY1NlcnZpY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QjgyNjRBMjMwNjAzQzEw
MEI3MkVCMCAvKiBNb2NrTmZjU2VydmljZS5oICovOyB9OwogCQk1N0JCRUE2RDIyQkMwQkZFMDAy
NzM5OTUgLyogU09BdXRob3JpemF0aW9uTG9hZFBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdCQkVBNkMyMkJDMEJGRTAwMjczOTk1IC8qIFNP
QXV0aG9yaXphdGlvbkxvYWRQb2xpY3kuaCAqLzsgfTsKIAkJNTdDNjI0NEIyMzQ2NzlBNDAwMzgz
RkU3IC8qIFdlYkF1dGhlbnRpY2F0aW9uRmxhZ3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QzYyNDRBMjM0Njc5QTQwMDM4M0ZFNyAvKiBXZWJBdXRo
ZW50aWNhdGlvbkZsYWdzLmggKi87IH07Ci0JCTU3RENFRDZGMjE0MkVFNjMwMDE2Qjg0NyAvKiBX
ZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VENkEyMTQyRUFFMjAwMTZCODQ3IC8qIFdl
YkF1dGhlbnRpY2F0b3JDb29yZGluYXRvck1lc3NhZ2VzLmggKi87IH07CiAJCTU3RENFRDcwMjE0
MkVFNjgwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1N0RDRUQ2QzIxNDJFQUY5MDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9y
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1N0RDRUQ3MTIxNDJFRTZDMDAxNkI4
NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VENkQyMTQyRUFGQTAw
MTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaCAqLzsg
fTsKIAkJNTdEQ0VEQUMyMTRDNjAyNzAwMTZCODQ3IC8qIExvY2FsQXV0aGVudGljYXRvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VEQTEyMTQ5
QzFFMjAwMTZCODQ3IC8qIExvY2FsQXV0aGVudGljYXRvci5oICovOyB9OwpAQCAtMTk3NywxMiAr
MTk5MSwyNiBAQAogCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSBDMENFNzI4NTEyNDdFNjY4MDBC
QzBFQzQ7CiAJCQlyZW1vdGVJbmZvID0gIkRlcml2ZWQgU291cmNlcyI7CiAJCX07Ci0JCTU3QTlG
RjBCMjUyQzMxRDYwMDZBMjA0MCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCTU3
NDJBMkU3MjUzNTYxM0YwMEI3QkExNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQb3J0YWwgPSAwODY3
RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CiAJCQlwcm94eVR5cGUg
PSAxOwotCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA1N0E5RkVGQjI1MkJEOEFBMDA2QTIwNDA7
Ci0JCQlyZW1vdGVJbmZvID0gV2ViQXV0aGVudGljYXRpb25BZ2VudDsKKwkJCXJlbW90ZUdsb2Jh
bElEU3RyaW5nID0gRTFBQzJFMjcyMEY3Qjk0QzAwQjA4OTdEOworCQkJcmVtb3RlSW5mbyA9ICJV
bmxvY2sgS2V5Y2hhaW4iOworCQl9OworCQk1NzQyQTJFOTI1MzU2MTNGMDBCN0JBMTQgLyogUEJY
Q29udGFpbmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5
OworCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2pl
Y3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5n
ID0gOERDMkVGNEYwNDg2QTY5NDAwOThCMjE2OworCQkJcmVtb3RlSW5mbyA9IFdlYktpdDsKKwkJ
fTsKKwkJNTc0MkEyRjkyNTM1NjE5RDAwQjdCQTE0IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAq
LyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRh
bCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXBy
b3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDU3NDJBMkU1MjUzNTYxM0Yw
MEI3QkExNDsKKwkJCXJlbW90ZUluZm8gPSBXZWJBdXRoZW50aWNhdGlvbjsKIAkJfTsKIAkJQkM4
MjgzRDQxNkI0QzAxRjAwQTI3OEZFIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJ
CWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKQEAgLTIwOTYsMTUgKzIxMjQsNiBAQAogCQkJ
bmFtZSA9ICJDb3B5IFNoaW1zIjsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwotCQk1N0E5RkVGQTI1MkJEOEFBMDA2QTIwNDAgLyogQ29weUZpbGVzICov
ID0gewotCQkJaXNhID0gUEJYQ29weUZpbGVzQnVpbGRQaGFzZTsKLQkJCWJ1aWxkQWN0aW9uTWFz
ayA9IDIxNDc0ODM2NDc7Ci0JCQlkc3RQYXRoID0gL3Vzci9zaGFyZS9tYW4vbWFuMS87Ci0JCQlk
c3RTdWJmb2xkZXJTcGVjID0gMDsKLQkJCWZpbGVzID0gKAotCQkJKTsKLQkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAxOwotCQl9OwogCQk3Q0IxNkZFRTE3MjRCQTA1MDA3
QTBBOTUgLyogQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhDb3B5RmlsZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
QEAgLTM2NDEsOCArMzY2MCw2IEBACiAJCTUxMDUyMzcxMUM3M0QyMkIwMDc5OTNDQiAvKiBXZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
V2ViSURCQ29ubmVjdGlvblRvU2VydmVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1MTA1MjM3MjFDNzNEMzdCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRv
U2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGgg
PSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VS
ZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxMDUy
MzczMUM3M0QzN0IwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXJNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJDb25uZWN0
aW9uVG9TZXJ2ZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OwotCQk1MTA1MjM3NzFDNzNEQTcwMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJp
dmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VSZWNlaXZl
ci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTUxMDUyMzc4MUM3
M0RBNzAwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNz
YWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJDb25uZWN0aW9uVG9D
bGllbnRNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1
MTA1QjBENDE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbi5jcHA7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDVCMEQ1MTYyRjdBN0EwMEUyNzcwOSAvKiBO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmg7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTA1QjBGMzE2
MzA4NzJFMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBO
ZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMzY2MywxMiArMzY4MCw2IEBACiAJCTUxMTA2NUZCMjNFQzk1NkIwMDU0NDNENiAvKiBX
S0NvbnRlbnRXb3JsZEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdLQ29udGVudFdvcmxkSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTExMEFFMEExMzNDMTZDQjAwNzI3MTdBIC8qIFdLSWNvbkRhdGFiYXNlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLSWNvbkRhdGFiYXNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTExMEFFMEIxMzNDMTZDQjAwNzI3MTdBIC8qIFdLSWNvbkRh
dGFiYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLSWNvbkRhdGFiYXNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxMThFOUEyMUYyOTU5NjMwMDNFRjlG
NSAvKiBTdG9yYWdlUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU3RvcmFn
ZVByb2Nlc3NQcm94eU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1N0
b3JhZ2VQcm9jZXNzUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNf
RElSOyB9OwotCQk1MTE4RTlBMzFGMjk1OTYzMDAzRUY5RjUgLyogU3RvcmFnZVRvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gU3RvcmFn
ZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9TdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VSZWNl
aXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTUxMThFOUE0
MUYyOTU5NjMwMDNFRjlGNSAvKiBTdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2Vz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFN0b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMu
aDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5l
Y3Rpb25NZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQk1
MTE4RTlBNTFGMjk1OTYzMDAzRUY5RjUgLyogU3RvcmFnZVByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gU3RvcmFnZVByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3Bw
OyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TdG9yYWdlUHJvY2Vzc01lc3NhZ2VSZWNl
aXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTUxMThFOUE2
MUYyOTU5NjMwMDNFRjlGNSAvKiBTdG9yYWdlUHJvY2Vzc01lc3NhZ2VzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IFN0b3JhZ2VQcm9jZXNzTWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktp
dDIvU3RvcmFnZVByb2Nlc3NNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNf
RElSOyB9OwotCQk1MTE4RTlBNzFGMjk1OTYzMDAzRUY5RjUgLyogU3RvcmFnZVByb2Nlc3NQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTdG9yYWdlUHJvY2Vzc1By
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3Rv
cmFnZVByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CiAJCTUxMUY3RDNGMUVCMUJDRUUwMEU0N0I4MyAvKiBXZWJzaXRlRGF0
YVN0b3JlUGFyYW1ldGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUxMUY3RDQwMUVCMUJDRUUwMEU0N0I4MyAvKiBXZWJzaXRlRGF0YVN0b3JlUGFyYW1l
dGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJzaXRlRGF0YVN0b3Jl
UGFyYW1ldGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTFGOEE3NzEzOEI0
NjA5MDBBOTVGNDQgLyogU2VjSXRlbVNoaW1MaWJyYXJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFNlY0l0ZW1TaGltTGlicmFyeS5oOyBwYXRoID0gLi4vLi4vV2ViUHJvY2Vz
cy9tYWMvU2VjSXRlbVNoaW1MaWJyYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0zOTE2LDggKzM5MjcsMzcgQEAKIAkJNTcyRUJCRDgyNTM4RjZBMTAwMDU1MkIzIC8qIEFwcEF0
dGVzdEludGVybmFsU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBcHBBdHRlc3RJ
bnRlcm5hbFNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzJFQkJE
OTI1MzhGNkExMDAwNTUyQjMgLyogQXBwQXR0ZXN0SW50ZXJuYWxTb2Z0TGluay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBcHBBdHRlc3RJbnRlcm5hbFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU3MkVCQkRDMjUzOTIxODEwMDA1NTJCMyAvKiBBcHBBdHRlc3RTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQXBwQXR0ZXN0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTU3MkVCQkI5MjUzNkEwNkUwMDA1NTJCMyAvKiBJbmZvLWlPUy5wbGlzdCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3Q7IG5hbWUgPSAi
SW5mby1pT1MucGxpc3QiOyBwYXRoID0gIldlYkF1dGhuUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29h
L1hQQ1NlcnZpY2UvV2ViQXV0aG5TZXJ2aWNlL0luZm8taU9TLnBsaXN0Ijsgc291cmNlVHJlZSA9
IFNPVVJDRV9ST09UOyB9OworCQk1NzJFQkJCQTI1MzZBMDZFMDAwNTUyQjMgLyogSW5mby1PU1gu
cGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LnBsaXN0OyBuYW1lID0gIkluZm8tT1NYLnBsaXN0IjsgcGF0aCA9ICJXZWJBdXRoblByb2Nl
c3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL1dlYkF1dGhuU2VydmljZS9JbmZvLU9TWC5w
bGlzdCI7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJNTcyRUJCQkIyNTM2QTYwQTAw
MDU1MkIzIC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBdXRobkNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1NzJFQkJCQzI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
QXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTcyRUJCQkQyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc01l
c3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJBdXRoblByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1NzJFQkJCRTI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzTWVzc2Fn
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzTWVz
c2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCQzMyNTM2QUI4NDAw
MDU1MkIzIC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1NzJFQkJDNTI1MzZBRkQ1MDAwNTUyQjMgLyogV2ViQXV0
aG5Qcm9jZXNzUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViQXV0aG5Qcm9jZXNzUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzJFQkJDNjI1MzZBRkQ1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzUHJveHkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzUHJveHkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCQzcyNTM2QUZENTAwMDU1MkIzIC8qIFdlYkF1
dGhuUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkF1
dGhuUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1NzJFQkJDQjI1MzZCMDRGMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbklu
Zm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbkluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCQ0QyNTM2
QkIxMDAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkF1dGhuUHJvY2Vzc1Byb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJC
Q0UyNTM2QkIxMDAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzUHJveHlNZXNzYWdl
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzJFQkJEMTI1MzZDODg1MDAwNTUy
QjMgLyogV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcyRUJCRDIyNTM2Qzg4NTAwMDU1MkIzIC8qIFdlYkF1dGhu
UHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
QXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzJFQkJEMzI1MzZDODg1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5tZXNz
YWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzJGRDQ0MTIyMjY1
Q0UyMDBBMUVDQzMgLyogV2ViVmlld0RpZE1vdmVUb1dpbmRvd09ic2VydmVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYlZpZXdEaWRNb3ZlVG9XaW5kb3dPYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1NzQyMTc5MTI0MDBFMDk4MDAyQjMwM0QgLyogTG9jYWxBdXRoZW50aWNh
dGlvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbEF1dGhlbnRpY2F0aW9uU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3NDJBMkY3MjUzNTYxM0YwMEI3QkExNCAvKiBjb20u
YXBwbGUuV2ViS2l0LldlYkF1dGhuLnhwYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBl
eHBsaWNpdEZpbGVUeXBlID0gIndyYXBwZXIueHBjLXNlcnZpY2UiOyBpbmNsdWRlSW5JbmRleCA9
IDA7IHBhdGggPSBjb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuLnhwYzsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJNTc0MkEzMDYyNTM1OEEwNDAwQjdCQTE0IC8qIFdlYkF1
dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNTc0MkEzMDcyNTM1OEEwNDAwQjdCQTE0IC8qIFdlYkF1dGhuUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1NzQyQTMwQTI1MzU4RUZEMDBCN0JBMTQgLyogV2ViQXV0aG5D
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1NzQyQTMwQjI1MzU4RUZEMDBCN0JBMTQgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkF1dGhuQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTc0MkEzMEMyNTM1OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBdXRo
bkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1NzQyQTMxMzI1MzY0OEU0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzLm1lc3NhZ2VzLmlu
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkF1dGhuUHJvY2Vzcy5tZXNzYWdlcy5pbjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTc0MkEzMTQyNTM2NDhFNDAwQjdCQTE0IC8qIFdl
YkF1dGhuUHJvY2Vzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJBdXRoblByb2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzQyQTMx
NTI1MzY0OEU0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYkF1dGhuUHJvY2Vzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1NzQyQTMxQTI1MzY3NUU5MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzSU9TLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzSU9TLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1NzQyQTMxQzI1MzY3NUY2MDBCN0JBMTQgLyogV2ViQXV0aG5Q
cm9jZXNzTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQXV0aG5Qcm9jZXNzTWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzQyQTMxRDI1MzY3NUY2MDBCN0JBMTQg
LyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29tLmFwcGxl
LldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTU3NDJBMzFFMjUzNjk0OTMwMEI3QkExNCAvKiBXZWJBdXRoblNlcnZpY2VFbnRyeVBvaW50
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQXV0aG5TZXJ2aWNlRW50cnlQb2ludC5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc0NzI4Q0YyMzQ1NkU5ODAwMTcwMEFGIC8q
IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLV2ViQXV0aGVu
dGljYXRpb25QYW5lbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzQ3MjhEMDIz
NDU2RTk4MDAxNzAwQUYgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTU3NDcyOEQzMjM0NTcwQUUwMDE3MDBBRiAvKiBfV0tXZWJBdXRoZW50
aWNhdGlvblBhbmVsSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zOTQ3LDEy
ICszOTg3LDcgQEAKIAkJNTc5RjFCRjgyM0M4MEVDNjAwQzdENEI0IC8qIF9XS1dlYkF1dGhlbnRp
Y2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tXZWJB
dXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTc5RjFCRkEyM0M4MTFDRjAwQzdENEI0IC8qIEFQSVdlYkF1dGhlbnRp
Y2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJV2ViQXV0aGVudGlj
YXRpb25Bc3NlcnRpb25SZXNwb25zZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
NzlGMUJGQjIzQzgxMUNGMDBDN0Q0QjQgLyogQVBJV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25S
ZXNwb25zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBUElXZWJBdXRoZW50aWNhdGlvbkFzc2Vy
dGlvblJlc3BvbnNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTdBOUZFRkMy
NTJCRDhBQTAwNkEyMDQwIC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aGVudGljYXRpb25BZ2Vu
dC5EZXZlbG9wbWVudCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVU
eXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRhYmxlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBw
YXRoID0gY29tLmFwcGxlLldlYktpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50LkRldmVsb3BtZW50
OyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQk1N0E5RkYwNzI1MkJFNkUw
MDA2QTIwNDAgLyogV2ViQXV0aGVudGljYXRpb25BZ2VudC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGgg
PSBXZWJBdXRoZW50aWNhdGlvbkFnZW50LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk1N0E5RkYwODI1MkJFQUYwMDA2QTIwNDAgLyogbWFpbi5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IG1haW4ubW07IHBhdGggPSBEYWVtb25zL1dlYkF1
dGhlbnRpY2F0aW9uQWdlbnQvbWFpbi5tbTsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9Owot
CQk1N0E5RkYwQTI1MkJGNUMzMDA2QTIwNDAgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0g
SW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTdBOUZGMEQyNTJDMzk3
QTAwNkEyMDQwIC8qIGNvbS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGljYXRpb25BZ2VudC5wbGlz
dCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
cGxpc3QueG1sOyBwYXRoID0gY29tLmFwcGxlLndlYmtpdC5XZWJBdXRoZW50aWNhdGlvbkFnZW50
LnBsaXN0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1N0E5RkYwRjI1MkM1RDlEMDA2
QTIwNDAgLyogV2ViQXV0aGVudGljYXRpb25BZ2VudC5lbnRpdGxlbWVudHMgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LmVudGl0bGVt
ZW50czsgcGF0aCA9IFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQuZW50aXRsZW1lbnRzOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1N0E5RkYwNzI1MkJFNkUwMDA2QTIwNDAgLyogV2ViQXV0
aG5TZXJ2aWNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYkF1dGhuU2VydmljZS54Y2NvbmZp
Zzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdBOUZGMTUyNTJDNkFFRjAwNkEyMDQw
IC8qIGxpYldURi5hICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5
cGUgPSBhcmNoaXZlLmFyOyBwYXRoID0gbGliV1RGLmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CiAJCTU3QUM4RjRFMjE3RkVFRDkwMDU1NDM4QyAvKiBIaWRDb25uZWN0aW9u
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEhpZENvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTdBQzhGNEYyMTdGRUVEOTAwNTU0MzhDIC8qIEhpZENvbm5lY3Rpb24ubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBIaWRDb25uZWN0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMzk3MCw4ICs0MDA1LDYgQEAKIAkJNTdCQkVBNkMyMkJDMEJGRTAwMjczOTk1
IC8qIFNPQXV0aG9yaXphdGlvbkxvYWRQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU09BdXRob3Jp
emF0aW9uTG9hZFBvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0MzRThB
QzI0MjQ5MEQ1MDAxRTIyMDkgLyogV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdDNjI0NEEyMzQ2NzlBNDAwMzgzRkU3IC8qIFdlYkF1
dGhlbnRpY2F0aW9uRmxhZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0aGVudGljYXRpb25GbGFn
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1N0RDRUQ2QTIxNDJFQUUyMDAxNkI4
NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yTWVzc2FnZXMu
aDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKLQkJNTdE
Q0VENkIyMTQyRUFFMjAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJB
dXRoZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1N0RDRUQ2QzIx
NDJFQUY5MDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTU3
RENFRDZEMjE0MkVBRkEwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94
eU1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1dGhlbnRp
Y2F0b3JDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1N0RDRUQ4NDIxNDczNjNBMDAxNkI4NDcg
LyogQXV0aGVudGljYXRvck1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXV0aGVudGljYXRvck1h
bmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUyOTksNyArNTMzMiw2IEBA
CiAJCURGODRDRUUyMjQ5QUEyMUYwMDkwOTZGNiAvKiBXS1BERkhVRFZpZXcubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1BERkhVRFZpZXcubW07IHBhdGggPSBQ
REYvV0tQREZIVURWaWV3Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlERjg0Q0VF
MzI0OUFBMjFGMDA5MDk2RjYgLyogV0tQREZIVURWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFdLUERGSFVEVmlldy5oOyBwYXRoID0gUERGL1dLUERGSFVEVmlldy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTA1RkU1MzE4RDdCOURFMDA4RjU3QTggLyog
RWRpdGluZ1JhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVkaXRpbmdS
YW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMTE1QzcxNTE5MEY4QTI1MDBF
Q0M1MTYgLyogY29tLmFwcGxlLldlYktpdC5TdG9yYWdlLnNiICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFt
ZSA9IGNvbS5hcHBsZS5XZWJLaXQuU3RvcmFnZS5zYjsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dl
YktpdDIvY29tLmFwcGxlLldlYktpdC5TdG9yYWdlLnNiOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOyB9OwogCQlFMTMzRkQ4OTE0MjNERDdGMDBGQzdCRkIgLyogV2ViS2l0LmljbnMg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5p
Y25zOyBuYW1lID0gV2ViS2l0LmljbnM7IHBhdGggPSBSZXNvdXJjZXMvV2ViS2l0LmljbnM7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxNEE5NTQ3MTZFMDE2QTQwMDY4REU4MiAvKiBO
ZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxNEE5NTQ4MTZFMDE2QTQwMDY4REU4MiAvKiBO
ZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNTQ4NCwxMiArNTUxNiwxMiBAQAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwotCQk1N0E5RkVGOTI1MkJE
OEFBMDA2QTIwNDAgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJNTc0MkEyRUQyNTM1NjEzRjAwQjdC
QTE0IC8qIEZyYW1ld29ya3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFz
ZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKLQkJCQk1
NzZCQ0Q1RTI1MkZEMjJEMDBDRTlGODcgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3
b3JrcyAqLywKLQkJCQk1N0E5RkYxRDI1MkM2Q0U2MDA2QTIwNDAgLyogbGliV1RGLmEgaW4gRnJh
bWV3b3JrcyAqLywKKwkJCQk1NzQyQTJFRTI1MzU2MTNGMDBCN0JBMTQgLyogRm91bmRhdGlvbi5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQk1NzQyQTJFRjI1MzU2MTNGMDBCN0JBMTQg
LyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNTU0MSw3ICs1NTczLDcg
QEAKIAkJCQkyRDlGQjIyODIzNzUyMzgzMDA0OUY5MzYgLyogY29tLmFwcGxlLldlYktpdC5HUFUu
eHBjICovLAogCQkJCUJDODI4M0IxMTZCNEJGNzcwMEEyNzhGRSAvKiBjb20uYXBwbGUuV2ViS2l0
Lk5ldHdvcmtpbmcueHBjICovLAogCQkJCUJDODI4NDFGMTZCNEZERjYwMEEyNzhGRSAvKiBjb20u
YXBwbGUuV2ViS2l0LlBsdWdpbi42NC54cGMgKi8sCi0JCQkJNTdBOUZFRkMyNTJCRDhBQTAwNkEy
MDQwIC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aGVudGljYXRpb25BZ2VudC5EZXZlbG9wbWVu
dCAqLywKKwkJCQk1NzQyQTJGNzI1MzU2MTNGMDBCN0JBMTQgLyogY29tLmFwcGxlLldlYktpdC5X
ZWJBdXRobi54cGMgKi8sCiAJCQkJMzcyRUJCNDYyMDE3RTY0MzAwMDg1MDY0IC8qIGNvbS5hcHBs
ZS5XZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVudC54cGMgKi8sCiAJCQkJQkMzREU0NjYxNUE5
MTc2MzAwOEQyNkZDIC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC54cGMgKi8sCiAJCQkJ
MUFDMjVGQjAxMkE0OEVBNzAwQkQyNjcxIC8qIFBsdWdpblByb2Nlc3NTaGltLmR5bGliICovLApA
QCAtNTY4OCw3ICs1NzIwLDYgQEAKIAkJCQlDMENFNzJEQjEyNDdFOEY3MDBCQzBFQzQgLyogRGVy
aXZlZFNvdXJjZXMubWFrZSAqLywKIAkJCQkxQTFEMjExNzE5MUQ5OTZDMDAwMTYxOUYgLyogTWln
cmF0ZUhlYWRlcnNGcm9tV2ViS2l0TGVnYWN5Lm1ha2UgKi8sCiAJCQkJMUExRDIxMTYxOTFEOTk1
QzAwMDE2MTlGIC8qIHBvc3Rwcm9jZXNzLWZyYW1ld29yay1oZWFkZXJzLnNoICovLAotCQkJCTU3
QTlGRUVGMjUyQkI3MEMwMDZBMjA0MCAvKiBEYWVtb25zICovLAogCQkJCUJDMkU2RTc0MTE0MTk2
RjAwMEE2M0IxRSAvKiBQbGF0Zm9ybSAqLywKIAkJCQkxQUFEREY0QjEwRDgyQUYwMDBEM0Q2M0Qg
LyogU2hhcmVkICovLAogCQkJCUJDMDMyREMzMTBGNDM4MjYwMDU4QzE1QSAvKiBVSVByb2Nlc3Mg
Ki8sCkBAIC01Njk2LDYgKzU3MjcsNyBAQAogCQkJCTUxMENDN0RBMTYxMzhFMDEwMEQwM0VEMyAv
KiBOZXR3b3JrUHJvY2VzcyAqLywKIAkJCQkxQTBFQzZCMDEyNEJCRDM2MDA3RUY0QTUgLyogUGx1
Z2luUHJvY2VzcyAqLywKIAkJCQkyRDlGQjFGRjIzNzUyMDlEMDA0OUY5MzYgLyogR1BVUHJvY2Vz
cyAqLywKKwkJCQk1NzQyQTJGRjI1MzU3NTgwMDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzICov
LAogCQkJCUMwQ0U3MjlEMTI0N0U3MUQwMEJDMEVDNCAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCiAJ
CQkJMURFQzk3QUIyNDZCNjg2NTAwN0M4M0Y0IC8qIEZlYXR1cmVGbGFncyAqLywKIAkJCQkwODlD
MTY2NUZFODQxMTU4QzAyQUFDMDcgLyogUmVzb3VyY2VzICovLApAQCAtNTg5Nyw3ICs1OTI5LDcg
QEAKIAkJCQlBMUVERDJEQzE4ODRCOUI1MDBCQkZFOTggLyogU2VjSXRlbVNoaW0ueGNjb25maWcg
Ki8sCiAJCQkJNTE4M0IzOTMxMzc5Rjg1QzAwRTg3NTRFIC8qIFNoaW0ueGNjb25maWcgKi8sCiAJ
CQkJMUE0Rjk3NkUxMDBFN0I2NjAwNjM3QTE4IC8qIFZlcnNpb24ueGNjb25maWcgKi8sCi0JCQkJ
NTdBOUZGMDcyNTJCRTZFMDAwNkEyMDQwIC8qIFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQueGNjb25m
aWcgKi8sCisJCQkJNTdBOUZGMDcyNTJCRTZFMDAwNkEyMDQwIC8qIFdlYkF1dGhuU2VydmljZS54
Y2NvbmZpZyAqLywKIAkJCQkzNzJFQkI0QTIwMTdFNzYwMDAwODUwNjQgLyogV2ViQ29udGVudFNl
cnZpY2UuRGV2ZWxvcG1lbnQueGNjb25maWcgKi8sCiAJCQkJQkNBQ0M0MEUxNkIwQjhBODAwQjZF
MDkyIC8qIFdlYkNvbnRlbnRTZXJ2aWNlLnhjY29uZmlnICovLAogCQkJCUJDQjg2RjRCMTE2QUFB
Q0QwMENFMjBCNyAvKiBXZWJLaXQueGNjb25maWcgKi8sCkBAIC04MTM1LDYgKzgxNjcsNzUgQEAK
IAkJCXBhdGggPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTU3
NDJBMkZGMjUzNTc1ODAwMEI3QkExNCAvKiBXZWJBdXRoblByb2Nlc3MgKi8gPSB7CisJCQlpc2Eg
PSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTU3NDJBMzAwMjUzNTc1ODAwMEI3QkEx
NCAvKiBFbnRyeVBvaW50ICovLAorCQkJCTU3NDJBMzE5MjUzNjc1RTkwMEI3QkExNCAvKiBpb3Mg
Ki8sCisJCQkJNTc0MkEzMUIyNTM2NzVGNjAwQjdCQTE0IC8qIG1hYyAqLywKKwkJCQk1NzQyQTMw
QzI1MzU4RUZEMDBCN0JBMTQgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCAq
LywKKwkJCQk1NzQyQTMwQTI1MzU4RUZEMDBCN0JBMTQgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmggKi8sCisJCQkJNTc0MkEzMEIyNTM1OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhu
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiAqLywKKwkJCQk1NzQyQTMxNDI1MzY0
OEU0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzLmNwcCAqLywKKwkJCQk1NzQyQTMxNTI1MzY0
OEU0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzLmggKi8sCisJCQkJNTc0MkEzMTMyNTM2NDhF
NDAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzcy5tZXNzYWdlcy5pbiAqLywKKwkJCQk1NzQyQTMw
NzI1MzU4QTA0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cCAqLywKKwkJCQk1NzQyQTMwNjI1MzU4QTA0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmggKi8sCisJCQkpOworCQkJcGF0aCA9IFdlYkF1dGhuUHJvY2VzczsK
KwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTU3NDJBMzAwMjUzNTc1ODAwMEI3
QkExNCAvKiBFbnRyeVBvaW50ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJl
biA9ICgKKwkJCQk1NzQyQTMwMTI1MzU3NTgwMDBCN0JBMTQgLyogQ29jb2EgKi8sCisJCQkpOwor
CQkJcGF0aCA9IEVudHJ5UG9pbnQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owor
CQk1NzQyQTMwMTI1MzU3NTgwMDBCN0JBMTQgLyogQ29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTU3NDJBMzAyMjUzNTc1ODAwMEI3QkExNCAvKiBY
UENTZXJ2aWNlICovLAorCQkJKTsKKwkJCXBhdGggPSBDb2NvYTsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CisJCTU3NDJBMzAyMjUzNTc1ODAwMEI3QkExNCAvKiBYUENTZXJ2aWNl
ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk1NzQyQTMw
MzI1MzU3NTgwMDBCN0JBMTQgLyogV2ViQXV0aG5TZXJ2aWNlICovLAorCQkJCTU3NDJBMzFFMjUz
Njk0OTMwMEI3QkExNCAvKiBXZWJBdXRoblNlcnZpY2VFbnRyeVBvaW50Lm1tICovLAorCQkJKTsK
KwkJCXBhdGggPSBYUENTZXJ2aWNlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsK
KwkJNTc0MkEzMDMyNTM1NzU4MDAwQjdCQTE0IC8qIFdlYkF1dGhuU2VydmljZSAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNTcyRUJCQjkyNTM2QTA2RTAw
MDU1MkIzIC8qIEluZm8taU9TLnBsaXN0ICovLAorCQkJCTU3MkVCQkJBMjUzNkEwNkUwMDA1NTJC
MyAvKiBJbmZvLU9TWC5wbGlzdCAqLywKKwkJCSk7CisJCQlwYXRoID0gV2ViQXV0aG5TZXJ2aWNl
OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNTc0MkEzMTkyNTM2NzVFOTAw
QjdCQTE0IC8qIGlvcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJNTc0MkEzMUEyNTM2NzVFOTAwQjdCQTE0IC8qIFdlYkF1dGhuUHJvY2Vzc0lPUy5tbSAq
LywKKwkJCSk7CisJCQlwYXRoID0gaW9zOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJ
fTsKKwkJNTc0MkEzMUIyNTM2NzVGNjAwQjdCQTE0IC8qIG1hYyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNTc0MkEzMUQyNTM2NzVGNjAwQjdCQTE0IC8q
IGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluICovLAorCQkJCTU3NDJBMzFD
MjUzNjc1RjYwMEI3QkExNCAvKiBXZWJBdXRoblByb2Nlc3NNYWMubW0gKi8sCisJCQkpOworCQkJ
cGF0aCA9IG1hYzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTU3NTA3NUE2
MjBBQjc1QUIwMDY5M0VBOSAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKApAQCAtODE3OCw2ICs4Mjc5LDEwIEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQk1
NzYwODI4QzIwMjk4NTQyMDAxMTY2NzggLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNw
cCAqLywKIAkJCQk1NzYwODI4QjIwMjk4NTQyMDAxMTY2NzggLyogV2ViQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yLmggKi8sCisJCQkJNTcyRUJCRDEyNTM2Qzg4NTAwMDU1MkIzIC8qIFdlYkF1dGhu
UHJvY2Vzc0Nvbm5lY3Rpb24uY3BwICovLAorCQkJCTU3MkVCQkQyMjUzNkM4ODUwMDA1NTJCMyAv
KiBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmggKi8sCisJCQkJNTcyRUJCRDMyNTM2Qzg4NTAw
MDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4gKi8sCisJCQkJ
NTcyRUJCQ0IyNTM2QjA0RjAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZv
LmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IFdlYkF1dGhlbnRpY2F0aW9uOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTgyMDAsMjkgKzgzMDUsMTMgQEAKIAkJCQk1NzYwODI5NjIwMkJE
OEJBMDAxMTY2NzggLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuY3BwICovLAog
CQkJCTU3NjA4Mjk1MjAyQkQ4QkEwMDExNjY3OCAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3JQcm94eS5oICovLAogCQkJCTU3NjA4Mjk5MjAyQkRBRTIwMDExNjY3OCAvKiBXZWJBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbiAqLywKKwkJCQk1NzJFQkJDNTI1MzZB
RkQ1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzUHJveHkuY3BwICovLAorCQkJCTU3MkVCQkM2
MjUzNkFGRDUwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eS5oICovLAorCQkJCTU3MkVC
QkM3MjUzNkFGRDUwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiAq
LywKIAkJCSk7CiAJCQlwYXRoID0gV2ViQXV0aGVudGljYXRpb247CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwogCQl9OwotCQk1N0E5RkVFRjI1MkJCNzBDMDA2QTIwNDAgLyogRGFlbW9ucyAq
LyA9IHsKLQkJCWlzYSA9IFBCWEdyb3VwOwotCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTdBOUZFRjAy
NTJCQjc0MDAwNkEyMDQwIC8qIFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQgKi8sCi0JCQkpOwotCQkJ
cGF0aCA9IERhZW1vbnM7Ci0JCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwotCQl9OwotCQk1N0E5
RkVGMDI1MkJCNzQwMDA2QTIwNDAgLyogV2ViQXV0aGVudGljYXRpb25BZ2VudCAqLyA9IHsKLQkJ
CWlzYSA9IFBCWEdyb3VwOwotCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTdBOUZGMEQyNTJDMzk3QTAw
NkEyMDQwIC8qIGNvbS5hcHBsZS53ZWJraXQuV2ViQXV0aGVudGljYXRpb25BZ2VudC5wbGlzdCAq
LywKLQkJCQk1N0E5RkYwQTI1MkJGNUMzMDA2QTIwNDAgLyogSW5mby5wbGlzdCAqLywKLQkJCQk1
N0E5RkYwODI1MkJFQUYwMDA2QTIwNDAgLyogbWFpbi5tbSAqLywKLQkJCQk1N0E5RkYwRjI1MkM1
RDlEMDA2QTIwNDAgLyogV2ViQXV0aGVudGljYXRpb25BZ2VudC5lbnRpdGxlbWVudHMgKi8sCi0J
CQkpOwotCQkJcGF0aCA9IFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQ7Ci0JCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwotCQl9OwogCQk1N0I0QjQ1QzIwQjUwNDhCMDBENEFENzkgLyogY29jb2EgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMTAwODMsNyArMTAx
NzIsNyBAQAogCQkJCUUxN0FFMkMyMTZCOUM2M0EwMDFDNDJGMiAvKiBjb20uYXBwbGUuV2ViS2l0
LkdQVVByb2Nlc3Muc2IgKi8sCiAJCQkJRTE3QUUyQzIxNkI5QzYzQTAwMUM0MkYxIC8qIGNvbS5h
cHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IgKi8sCiAJCQkJN0ExNTA2NzIxREQ1NjI5ODAw
MUY0QjU4IC8qIGNvbS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYiAqLywKLQkJCQlFMTE1
QzcxNTE5MEY4QTI1MDBFQ0M1MTYgLyogY29tLmFwcGxlLldlYktpdC5TdG9yYWdlLnNiICovLAor
CQkJCTU3MkVCQkMzMjUzNkFCODQwMDA1NTJCMyAvKiBjb20uYXBwbGUuV2ViS2l0LldlYkF1dGhu
UHJvY2Vzcy5zYiAqLywKIAkJCQlFMTk2N0UzNzE1MEFCNUUyMDBDNzMxNjkgLyogY29tLmFwcGxl
LldlYlByb2Nlc3Muc2IgKi8sCiAJCQkJMUFCN0Q2MTcxMjg4QjlEOTAwQ0ZEMDhDIC8qIERvd25s
b2FkUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFBQjdENjE4MTI4OEI5RDkwMENG
RDA4QyAvKiBEb3dubG9hZFByb3h5TWVzc2FnZXMuaCAqLywKQEAgLTEwMTk4LDEyICsxMDI4Nyw2
IEBACiAJCQkJMUEzMzRERUMxNkRFOEY4ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2Fn
ZXMuaCAqLywKIAkJCQk5MzY4RUVEQzIzMDNBOEQ4MDBCREIxMUEgLyogU3RvcmFnZU1hbmFnZXJT
ZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTkzNjhFRUREMjMwM0E4RDgwMEJEQjExQSAv
KiBTdG9yYWdlTWFuYWdlclNldE1lc3NhZ2VzLmggKi8sCi0JCQkJNTExOEU5QTUxRjI5NTk2MzAw
M0VGOUY1IC8qIFN0b3JhZ2VQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKLQkJCQk1MTE4
RTlBNjFGMjk1OTYzMDAzRUY5RjUgLyogU3RvcmFnZVByb2Nlc3NNZXNzYWdlcy5oICovLAotCQkJ
CTUxMThFOUE3MUYyOTU5NjMwMDNFRjlGNSAvKiBTdG9yYWdlUHJvY2Vzc1Byb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLywKLQkJCQk1MTE4RTlBMjFGMjk1OTYzMDAzRUY5RjUgLyogU3RvcmFnZVBy
b2Nlc3NQcm94eU1lc3NhZ2VzLmggKi8sCi0JCQkJNTExOEU5QTMxRjI5NTk2MzAwM0VGOUY1IC8q
IFN0b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKLQkJ
CQk1MTE4RTlBNDFGMjk1OTYzMDAzRUY5RjUgLyogU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rp
b25NZXNzYWdlcy5oICovLAogCQkJCUNENDkxQjBCMUU3MzJFNEQwMDAwOTA2NiAvKiBVc2VyTWVk
aWFDYXB0dXJlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQ0Q0OTFCMEMxRTcz
MkU0RDAwMDA5MDY2IC8qIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyTWVzc2FnZXMuaCAqLywKIAkJ
CQlDRDQ5MUIxNTFFNzM1MjU1MDAwMDkwNjYgLyogVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCkBAIC0xMDIyMiwxMCArMTAzMDUsMTQgQEAKIAkJCQkx
QTYwMjI0QjE4QzE2QjlGMDBDM0U4QzkgLyogVmlzaXRlZExpbmtTdG9yZU1lc3NhZ2VzLmggKi8s
CiAJCQkJMUE4RTdEM0ExOEMxNTE0OTAwNUE3MDJBIC8qIFZpc2l0ZWRMaW5rVGFibGVDb250cm9s
bGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxQThFN0QzQjE4QzE1MTQ5MDA1QTcwMkEg
LyogVmlzaXRlZExpbmtUYWJsZUNvbnRyb2xsZXJNZXNzYWdlcy5oICovLAotCQkJCTU3RENFRDZC
MjE0MkVBRTIwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovLAotCQkJCTU3RENFRDZBMjE0MkVBRTIwMDE2Qjg0NyAvKiBXZWJBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlcy5oICovLAogCQkJCTU3RENFRDZDMjE0MkVBRjkwMDE2
Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCiAJCQkJNTdEQ0VENkQyMTQyRUFGQTAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0b3JD
b29yZGluYXRvclByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQk1NzJFQkJCQjI1MzZBNjBBMDAwNTUy
QjMgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LywKKwkJCQk1NzJFQkJCQzI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzTWVzc2FnZXMuaCAqLywKKwkJCQk1NzJFQkJCRDI1MzZBNjBBMDAwNTUyQjMgLyog
V2ViQXV0aG5Qcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1NzJFQkJCRTI1MzZB
NjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZXMuaCAqLywKKwkJCQk1NzJFQkJD
RDI1MzZCQjEwMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovLAorCQkJCTU3MkVCQkNFMjUzNkJCMTAwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQ
cm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJMUMwQTE5NTUxQzkwMDY4RjAwRkUwRUJCIC8qIFdlYkF1
dG9tYXRpb25TZXNzaW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxQzBBMTk1NjFDOTAw
NjhGMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25NZXNzYWdlcy5oICovLAogCQkJCTFD
MEExOTUxMUM4RkZERkIwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLywKQEAgLTEwMjQ5LDggKzEwMzM2LDYgQEAKIAkJCQlCQzBFNjA2MDEy
RDZCQTkxMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCAqLywKIAkJ
CQlCQzBFNjE4MDEyRDZDQjFEMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCUJDMEU2MTgxMTJENkNCMUQwMDEyQTcyQSAvKiBX
ZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmggKi8sCi0JCQkJNTEwNTIzNzcxQzcz
REE3MDAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCi0JCQkJNTEwNTIzNzgxQzczREE3MDAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25U
b0NsaWVudE1lc3NhZ2VzLmggKi8sCiAJCQkJNTEwNTIzNzIxQzczRDM3QjAwNzk5M0NCIC8qIFdl
YklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTEwNTIz
NzMxQzczRDM3QjAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VzLmgg
Ki8sCiAJCQkJOTMzRTgzNTgyM0ExQURGNTAwREVGMjg5IC8qIFdlYklEQlNlcnZlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8sCkBAIC0xMDkwNSw2ICsxMDk5MCw3IEBACiAJCQkJQ0RDREM5OUQyNDhG
RThEQTAwQTY5NTIyIC8qIEVuZG93bWVudFN0YXRlVHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTFCMTVBODUxMzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRpbGl0aWVzLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQUE1NzVGQjE0OTZCNTI2MDBBNEVFMDYgLyogRXZlbnREaXNwYXRj
aGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzJFQkJENzI1MzdFQkFFMDAwNTUyQjMgLyogRXh0
cmFQcml2YXRlU3ltYm9sc0ZvclRBUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3QjgyNjQ4MjMw
NTBDNTEwMEI3MkVCMCAvKiBGaWRvU2VydmljZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDBCOTY2
MUExOEUyNUFFMTAwQ0UxRjg4IC8qIEZpbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
OTBDMUY0MTI2NEZENzEwMDNFNDRENCAvKiBGaW5kQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8s
CkBAIC0xMTI5MSw5ICsxMTM3NywxNyBAQAogCQkJCTU3QzYyNDRCMjM0Njc5QTQwMDM4M0ZFNyAv
KiBXZWJBdXRoZW50aWNhdGlvbkZsYWdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzdGRjc4NTIz
NDZFQ0FBMDA0RURGQjkgLyogV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTdEQ0VEQjIyMTRDNjA0QzAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0aW9u
UmVxdWVzdERhdGEuaCBpbiBIZWFkZXJzICovLAotCQkJCTU3RENFRDZGMjE0MkVFNjMwMDE2Qjg0
NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTdEQ0VEQjMyMTRDNjA1MzAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGlu
YXRvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRUQ3MTIxNDJFRTZDMDAxNkI4NDcg
LyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNTc0MkEzMEQyNTM1OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTcyRUJCQzAyNTM2QTYwQTAwMDU1MkIz
IC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmggaW4gSGVhZGVycyAq
LywKKwkJCQk1NzQyQTMxODI1MzY0OEU1MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzLmggaW4g
SGVhZGVycyAqLywKKwkJCQk1NzJFQkJENTI1MzZDODg1MDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9j
ZXNzQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTcyRUJCQ0MyNTM2QjA0RjAwMDU1
MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk1NzQyQTMwODI1MzU4QTA0MDBCN0JBMTQgLyogV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzJFQkJDMjI1MzZBNjBBMDAwNTUyQjMgLyog
V2ViQXV0aG5Qcm9jZXNzTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3MkVCQkM5MjUz
NkFGRDUwMDA1NTJCMyAvKiBXZWJBdXRoblByb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNTcyRUJCRDAyNTM2QkIxMTAwMDU1MkIzIC8qIFdlYkF1dGhuUHJvY2Vzc1Byb3h5TWVzc2Fn
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUY0MkQ2MzQxMjJBMEVGREYwMEQyRkIzQSAvKiBXZWJB
dXRvY29ycmVjdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5MEQzOUY1MjQzQkU2NDgw
MDE5OTM4OCAvKiBXZWJBdXRvbWF0aW9uRE9NV2luZG93T2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk5NTVBNkVDMUM3OTgwQzIwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5o
IGluIEhlYWRlcnMgKi8sCkBAIC0xMjAyNCwyMiArMTIxMTgsMjYgQEAKIAkJCXByb2R1Y3RSZWZl
cmVuY2UgPSA1MTAwMzFGNjEzNzlDQUNCMDBDOERGRTQgLyogU2VjSXRlbVNoaW0uZHlsaWIgKi87
CiAJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmxpYnJhcnkuZHluYW1p
YyI7CiAJCX07Ci0JCTU3QTlGRUZCMjUyQkQ4QUEwMDZBMjA0MCAvKiBXZWJBdXRoZW50aWNhdGlv
bkFnZW50ICovID0geworCQk1NzQyQTJFNTI1MzU2MTNGMDBCN0JBMTQgLyogV2ViQXV0aG4gKi8g
PSB7CiAJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7Ci0JCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0
ID0gNTdBOUZGMDAyNTJCRDhBQjAwNkEyMDQwIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBm
b3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJBdXRoZW50aWNhdGlvbkFnZW50IiAqLzsKKwkJCWJ1aWxk
Q29uZmlndXJhdGlvbkxpc3QgPSA1NzQyQTJGMzI1MzU2MTNGMDBCN0JBMTQgLyogQnVpbGQgY29u
ZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldlYkF1dGhuIiAqLzsKIAkJCWJ1
aWxkUGhhc2VzID0gKAotCQkJCTU3QTlGRUY4MjUyQkQ4QUEwMDZBMjA0MCAvKiBTb3VyY2VzICov
LAotCQkJCTU3QTlGRUY5MjUyQkQ4QUEwMDZBMjA0MCAvKiBGcmFtZXdvcmtzICovLAotCQkJCTU3
QTlGRUZBMjUyQkQ4QUEwMDZBMjA0MCAvKiBDb3B5RmlsZXMgKi8sCisJCQkJNTc0MkEyRUEyNTM1
NjEzRjAwQjdCQTE0IC8qIFNvdXJjZXMgKi8sCisJCQkJNTc0MkEyRUQyNTM1NjEzRjAwQjdCQTE0
IC8qIEZyYW1ld29ya3MgKi8sCisJCQkJNTc0MkEyRjAyNTM1NjEzRjAwQjdCQTE0IC8qIFJlc291
cmNlcyAqLywKKwkJCQk1NzQyQTJGMTI1MzU2MTNGMDBCN0JBMTQgLyogVW5sb2NrIGtleWNoYWlu
ICovLAorCQkJCTU3NDJBMkYyMjUzNTYxM0YwMEI3QkExNCAvKiBQcm9jZXNzIFdlYkF1dGhlbnRp
Y2F0aW9uIGVudGl0bGVtZW50cyAqLywKIAkJCSk7CiAJCQlidWlsZFJ1bGVzID0gKAogCQkJKTsK
IAkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCQk1NzQyQTJFNjI1MzU2MTNGMDBCN0JBMTQgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCQk1NzQyQTJFODI1MzU2MTNGMDBCN0JBMTQgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0JCQluYW1lID0gV2ViQXV0aGVudGljYXRpb25B
Z2VudDsKLQkJCXByb2R1Y3ROYW1lID0gV2ViQXV0aGVudGljYXRpb25BZ2VudDsKLQkJCXByb2R1
Y3RSZWZlcmVuY2UgPSA1N0E5RkVGQzI1MkJEOEFBMDA2QTIwNDAgLyogY29tLmFwcGxlLldlYktp
dC5XZWJBdXRoZW50aWNhdGlvbkFnZW50LkRldmVsb3BtZW50ICovOwotCQkJcHJvZHVjdFR5cGUg
PSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS50b29sIjsKKwkJCW5hbWUgPSBXZWJBdXRobjsKKwkJ
CXByb2R1Y3ROYW1lID0gTmV0d29ya2luZzsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSA1NzQyQTJG
NzI1MzU2MTNGMDBCN0JBMTQgLyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRobi54cGMgKi87CisJ
CQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLnhwYy1zZXJ2aWNlIjsKIAkJ
fTsKIAkJOERDMkVGNEYwNDg2QTY5NDAwOThCMjE2IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9
IFBCWE5hdGl2ZVRhcmdldDsKQEAgLTEyMTY1LDkgKzEyMjYzLDYgQEAKIAkJCQkJCUNyZWF0ZWRP
blRvb2xzVmVyc2lvbiA9IDEwLjE7CiAJCQkJCQlQcm92aXNpb25pbmdTdHlsZSA9IEF1dG9tYXRp
YzsKIAkJCQkJfTsKLQkJCQkJNTdBOUZFRkIyNTJCRDhBQTAwNkEyMDQwID0gewotCQkJCQkJQ3Jl
YXRlZE9uVG9vbHNWZXJzaW9uID0gMTIuMDsKLQkJCQkJfTsKIAkJCQkJRTFBQzJFMjcyMEY3Qjk0
QzAwQjA4OTdEID0gewogCQkJCQkJQ3JlYXRlZE9uVG9vbHNWZXJzaW9uID0gOS4zOwogCQkJCQkJ
UHJvdmlzaW9uaW5nU3R5bGUgPSBBdXRvbWF0aWM7CkBAIC0xMjE5NywxMSArMTIyOTIsMTEgQEAK
IAkJCQkzNzJFQkIzODIwMTdFNjQzMDAwODUwNjQgLyogV2ViQ29udGVudC5EZXZlbG9wbWVudCAq
LywKIAkJCQlCQzgyODNCMDE2QjRCRjc3MDBBMjc4RkUgLyogTmV0d29ya2luZyAqLywKIAkJCQky
RDlGQjIxNjIzNzUyMzgzMDA0OUY5MzYgLyogR1BVICovLAorCQkJCTU3NDJBMkU1MjUzNTYxM0Yw
MEI3QkExNCAvKiBXZWJBdXRobiAqLywKIAkJCQlCQzgyODQxRTE2QjRGREY2MDBBMjc4RkUgLyog
UGx1Z2luLjY0ICovLAogCQkJCUE3QUFEQTEwMTkzOTVDQTkwMDNFQTFDNyAvKiBTYW5kYm94IFBy
b2ZpbGVzICovLAogCQkJCUUxQUMyRTI3MjBGN0I5NEMwMEIwODk3RCAvKiBVbmxvY2sgS2V5Y2hh
aW4gKi8sCiAJCQkJNTMyNUJEQ0QyMURGRjQ3NzAwQTBERUUxIC8qIEFwcGx5IENvbmZpZ3VyYXRp
b24gdG8gWENGaWxlTGlzdHMgKi8sCi0JCQkJNTdBOUZFRkIyNTJCRDhBQTAwNkEyMDQwIC8qIFdl
YkF1dGhlbnRpY2F0aW9uQWdlbnQgKi8sCiAJCQkpOwogCQl9OwogLyogRW5kIFBCWFByb2plY3Qg
c2VjdGlvbiAqLwpAQCAtMTIyMjIsMTIgKzEyMzE3LDIwIEBACiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CisJCTU3NDJBMkYwMjUzNTYxM0Yw
MEI3QkExNCAvKiBSZXNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBo
YXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJ
KTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OwogCQk4
REMyRUY1MjA0ODZBNjk0MDA5OEIyMTYgLyogUmVzb3VyY2VzICovID0gewogCQkJaXNhID0gUEJY
UmVzb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJ
CQlmaWxlcyA9ICgKIAkJCQlFMTdBRTJDMzE2QjlDNjNBMDAxQzQyRjIgLyogY29tLmFwcGxlLldl
YktpdC5HUFVQcm9jZXNzLnNiIGluIFJlc291cmNlcyAqLywKIAkJCQlFMTdBRTJDMzE2QjlDNjNB
MDAxQzQyRjEgLyogY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYiBpbiBSZXNvdXJj
ZXMgKi8sCisJCQkJNTcyRUJCQzQyNTM2QUI4NDAwMDU1MkIzIC8qIGNvbS5hcHBsZS5XZWJLaXQu
V2ViQXV0aG5Qcm9jZXNzLnNiIGluIFJlc291cmNlcyAqLywKIAkJCQlFMTFEMzVBRTE2QjYzRDFC
MDA2RDIzRDcgLyogY29tLmFwcGxlLldlYlByb2Nlc3Muc2IgaW4gUmVzb3VyY2VzICovLAogCQkJ
CTQxNEREMzc5MjBCRjQzRjUwMDY5NTlGQiAvKiBjb20uY2lzY28ud2ViZXgucGx1Z2luLmdwYzY0
LnNiIGluIFJlc291cmNlcyAqLywKIAkJCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyogY29y
ZVByZWRpY3Rpb25fbW9kZWwgaW4gUmVzb3VyY2VzICovLApAQCAtMTI1NjMsNiArMTI2NjYsMzYg
QEAKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CiAJCQlzaGVsbFNjcmlwdCA9ICJTY3JpcHRzL2No
ZWNrLXhjZmlsZWxpc3RzLnNoXG4iOwogCQl9OworCQk1NzQyQTJGMTI1MzU2MTNGMDBCN0JBMTQg
LyogVW5sb2NrIGtleWNoYWluICovID0geworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBo
YXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJ
KTsKKwkJCWlucHV0UGF0aHMgPSAoCisJCQkpOworCQkJbmFtZSA9ICJVbmxvY2sga2V5Y2hhaW4i
OworCQkJb3V0cHV0UGF0aHMgPSAoCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3JpcHQg
PSAiVU5MT0NLX1NDUklQVF9QQVRIPVwiJHtTUkNST09UfS8uLi8uLi8uLi9JbnRlcm5hbC9Ub29s
cy9TY3JpcHRzL3VubG9jay1zYWZhcmktZW5naW5lZXJpbmcta2V5Y2hhaW4taWYtbmVlZGVkXCJc
blxuW1sgLXggXCIke1VOTE9DS19TQ1JJUFRfUEFUSH1cIiBdXSAmJiBleGVjIFwiJHtVTkxPQ0tf
U0NSSVBUX1BBVEh9XCJcblxuZXhpdCAwXG4iOworCQl9OworCQk1NzQyQTJGMjI1MzU2MTNGMDBC
N0JBMTQgLyogUHJvY2VzcyBXZWJBdXRoZW50aWNhdGlvbiBlbnRpdGxlbWVudHMgKi8gPSB7CisJ
CQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAy
MTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJaW5wdXRQYXRocyA9ICgKKwkJCQki
JChTUkNST09UKS9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoIiwKKwkJCSk7CisJCQlu
YW1lID0gIlByb2Nlc3MgV2ViQXV0aGVudGljYXRpb24gZW50aXRsZW1lbnRzIjsKKwkJCW91dHB1
dFBhdGhzID0gKAorCQkJCSIkKFdLX1BST0NFU1NFRF9YQ0VOVF9GSUxFKSIsCisJCQkpOworCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAv
YmluL3NoOworCQkJc2hlbGxTY3JpcHQgPSAiU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5z
aFxuIjsKKwkJfTsKIAkJNURGNDA4QzUxMzFERDQ2NzAwMTMwMDcxIC8qIENoZWNrIEZvciBXZWFr
IFZUYWJsZXMgYW5kIEV4dGVybmFscyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVp
bGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0xMjY3Miw3ICsx
MjgwNSw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiaWYgW1sgXCIk
e0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIGV4aXRcbmZp
XG5cbmlmIFtbICR7V0tfUExBVEZPUk1fTkFNRX0gIT0gXCJtYWNvc3hcIiBdXTsgdGhlblxuICAg
IFhQQ19TRVJWSUNFU19QQVRIPVwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L1dlYktpdC5mcmFtZXdv
cmsvWFBDU2VydmljZXNcIlxuICAgIEJVSUxUX1BST0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZS
T01fWFBDX1NFUlZJQ0VTPVwiLi4vLi5cIlxuZWxzZVxuICAgIFhQQ19TRVJWSUNFU19QQVRIPVwi
JHtCVUlMVF9QUk9EVUNUU19ESVJ9L1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9YUENTZXJ2
aWNlc1wiXG4gICAgQlVJTFRfUFJPRFVDVFNfRElSX1JFTEFUSVZFX1BBVEhfRlJPTV9YUENfU0VS
VklDRVM9XCIuLi8uLi8uLi8uLlwiXG5maVxuXG5ta2RpciAtcCBcIiR7WFBDX1NFUlZJQ0VTX1BB
VEh9XCJcbmxuIC1zRmggXCIke0JVSUxUX1BST0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01f
WFBDX1NFUlZJQ0VTfS9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjXCIgXCIke1hQQ19T
RVJWSUNFU19QQVRIfS9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjXCJcbmxuIC1zRmgg
XCIke0JVSUxUX1BST0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VTfS9j
b20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjXCIgXCIke1hQQ19TRVJWSUNFU19QQVRIfS9j
b20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjXCJcbmxuIC1zRmggXCIke0JVSUxUX1BST0RV
Q1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VTfS9jb20uYXBwbGUuV2ViS2l0
LkdQVS54cGNcIiBcIiR7WFBDX1NFUlZJQ0VTX1BBVEh9L2NvbS5hcHBsZS5XZWJLaXQuR1BVLnhw
Y1wiXG5cbmlmIFtbICR7V0tfUExBVEZPUk1fTkFNRX0gPT0gbWFjb3N4IF1dOyB0aGVuXG4gICAg
bG4gLXNGaCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSX1JFTEFUSVZFX1BBVEhfRlJPTV9YUENfU0VS
VklDRVN9L2NvbS5hcHBsZS5XZWJLaXQuUGx1Z2luLjY0LnhwY1wiIFwiJHtYUENfU0VSVklDRVNf
UEFUSH0vY29tLmFwcGxlLldlYktpdC5QbHVnaW4uNjQueHBjXCJcbmZpXG4iOworCQkJc2hlbGxT
Y3JpcHQgPSAiaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsg
dGhlblxuICAgIGV4aXRcbmZpXG5cbmlmIFtbICR7V0tfUExBVEZPUk1fTkFNRX0gIT0gXCJtYWNv
c3hcIiBdXTsgdGhlblxuICAgIFhQQ19TRVJWSUNFU19QQVRIPVwiJHtCVUlMVF9QUk9EVUNUU19E
SVJ9L1dlYktpdC5mcmFtZXdvcmsvWFBDU2VydmljZXNcIlxuICAgIEJVSUxUX1BST0RVQ1RTX0RJ
Ul9SRUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VTPVwiLi4vLi5cIlxuZWxzZVxuICAgIFhQ
Q19TRVJWSUNFU19QQVRIPVwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L1dlYktpdC5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9YUENTZXJ2aWNlc1wiXG4gICAgQlVJTFRfUFJPRFVDVFNfRElSX1JFTEFUSVZF
X1BBVEhfRlJPTV9YUENfU0VSVklDRVM9XCIuLi8uLi8uLi8uLlwiXG5maVxuXG5ta2RpciAtcCBc
IiR7WFBDX1NFUlZJQ0VTX1BBVEh9XCJcbmxuIC1zRmggXCIke0JVSUxUX1BST0RVQ1RTX0RJUl9S
RUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VTfS9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRl
bnQueHBjXCIgXCIke1hQQ19TRVJWSUNFU19QQVRIfS9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRl
bnQueHBjXCJcbmxuIC1zRmggXCIke0JVSUxUX1BST0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZS
T01fWFBDX1NFUlZJQ0VTfS9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjXCIgXCIke1hQ
Q19TRVJWSUNFU19QQVRIfS9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjXCJcbmxuIC1z
RmggXCIke0JVSUxUX1BST0RVQ1RTX0RJUl9SRUxBVElWRV9QQVRIX0ZST01fWFBDX1NFUlZJQ0VT
fS9jb20uYXBwbGUuV2ViS2l0LkdQVS54cGNcIiBcIiR7WFBDX1NFUlZJQ0VTX1BBVEh9L2NvbS5h
cHBsZS5XZWJLaXQuR1BVLnhwY1wiXG5sbiAtc0ZoIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJfUkVM
QVRJVkVfUEFUSF9GUk9NX1hQQ19TRVJWSUNFU30vY29tLmFwcGxlLldlYktpdC5XZWJBdXRobi54
cGNcIiBcIiR7WFBDX1NFUlZJQ0VTX1BBVEh9L2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4ueHBj
XCJcblxuaWYgW1sgJHtXS19QTEFURk9STV9OQU1FfSA9PSBtYWNvc3ggXV07IHRoZW5cbiAgICBs
biAtc0ZoIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJfUkVMQVRJVkVfUEFUSF9GUk9NX1hQQ19TRVJW
SUNFU30vY29tLmFwcGxlLldlYktpdC5QbHVnaW4uNjQueHBjXCIgXCIke1hQQ19TRVJWSUNFU19Q
QVRIfS9jb20uYXBwbGUuV2ViS2l0LlBsdWdpbi42NC54cGNcIlxuZmlcbiI7CiAJCX07CiAJCTk5
Q0EzODYyMjA3Mjg2REIwMEJBRDU3OCAvKiBDb3B5IFdlYkRyaXZlciBBdG9tcyB0byBGcmFtZXdv
cmsgUHJpdmF0ZSBIZWFkZXJzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBo
YXNlOwpAQCAtMTI4MTEsMTEgKzEyOTQ0LDEyIEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07Ci0JCTU3QTlGRUY4MjUyQkQ4QUEwMDZBMjA0
MCAvKiBTb3VyY2VzICovID0geworCQk1NzQyQTJFQTI1MzU2MTNGMDBCN0JBMTQgLyogU291cmNl
cyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCTU3QTlGRjA5MjUyQkVBRjAwMDZB
MjA0MCAvKiBtYWluLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNTc0MkEyRUIyNTM1NjEzRjAwQjdC
QTE0IC8qIEF1eGlsaWFyeVByb2Nlc3NNYWluLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU3NDJB
MkVDMjUzNTYxM0YwMEI3QkExNCAvKiBYUENTZXJ2aWNlTWFpbi5tbSBpbiBTb3VyY2VzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtMTMxNDcsNiArMTMyODEsOSBAQAogCQkJCTFBNjAyMjRDMThDMTZCOUYwMEMzRThDOSAvKiBW
aXNpdGVkTGlua1N0b3JlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
OEU3RDNDMThDMTUxNDkwMDVBNzAyQSAvKiBWaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1N0RDRUQ3MDIxNDJFRTY4MDAxNkI4
NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNTcyRUJCQkYyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhu
Q29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk1NzJFQkJDMTI1MzZBNjBBMDAwNTUyQjMgLyogV2ViQXV0aG5Qcm9jZXNzTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU3MkVCQkNGMjUzNkJCMTEwMDA1NTJCMyAv
KiBXZWJBdXRoblByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1NzVCMUJCQTIzQ0U5QzEzMDAyMDYzOUEgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUMwQTE5NTcxQzkwMDY4RjAwRkUwRUJCIC8qIFdlYkF1dG9t
YXRpb25TZXNzaW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3NUIx
QkI4MjNDRTlCRkMwMDIwNjM5QSAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmNwcCBpbiBT
b3VyY2VzICovLApAQCAtMTMzMjEsMTAgKzEzNDU4LDIwIEBACiAJCQl0YXJnZXQgPSBDMENFNzI4
NTEyNDdFNjY4MDBCQzBFQzQgLyogRGVyaXZlZCBTb3VyY2VzICovOwogCQkJdGFyZ2V0UHJveHkg
PSAzN0Y3NDA3ODEyNzIxRjc0MDA5Mzg2OUIgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwog
CQl9OwotCQk1N0E5RkYwQzI1MkMzMUQ2MDA2QTIwNDAgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAq
LyA9IHsKKwkJNTc0MkEyRTYyNTM1NjEzRjAwQjdCQTE0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kg
Ki8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gRTFBQzJF
MjcyMEY3Qjk0QzAwQjA4OTdEIC8qIFVubG9jayBLZXljaGFpbiAqLzsKKwkJCXRhcmdldFByb3h5
ID0gNTc0MkEyRTcyNTM1NjEzRjAwQjdCQTE0IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsK
KwkJfTsKKwkJNTc0MkEyRTgyNTM1NjEzRjAwQjdCQTE0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kg
Ki8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gOERDMkVG
NEYwNDg2QTY5NDAwOThCMjE2IC8qIFdlYktpdCAqLzsKKwkJCXRhcmdldFByb3h5ID0gNTc0MkEy
RTkyNTM1NjEzRjAwQjdCQTE0IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKKwkJ
NTc0MkEyRkEyNTM1NjE5RDAwQjdCQTE0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwotCQkJdGFyZ2V0ID0gNTdBOUZFRkIyNTJCRDhB
QTAwNkEyMDQwIC8qIFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQgKi87Ci0JCQl0YXJnZXRQcm94eSA9
IDU3QTlGRjBCMjUyQzMxRDYwMDZBMjA0MCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJ
CQl0YXJnZXQgPSA1NzQyQTJFNTI1MzU2MTNGMDBCN0JBMTQgLyogV2ViQXV0aG4gKi87CisJCQl0
YXJnZXRQcm94eSA9IDU3NDJBMkY5MjUzNTYxOUQwMEI3QkExNCAvKiBQQlhDb250YWluZXJJdGVt
UHJveHkgKi87CiAJCX07CiAJCUJDODI4M0Q1MTZCNEMwMUYwMEEyNzhGRSAvKiBQQlhUYXJnZXRE
ZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKQEAgLTEzNTgy
LDIzICsxMzcyOSwyMyBAQAogCQkJfTsKIAkJCW5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OwotCQk1
N0E5RkYwMTI1MkJEOEFCMDA2QTIwNDAgLyogRGVidWcgKi8gPSB7CisJCTU3NDJBMkY0MjUzNTYx
M0YwMEI3QkExNCAvKiBEZWJ1ZyAqLyA9IHsKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OwotCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA1N0E5RkYwNzI1MkJFNkUwMDA2QTIw
NDAgLyogV2ViQXV0aGVudGljYXRpb25BZ2VudC54Y2NvbmZpZyAqLzsKKwkJCWJhc2VDb25maWd1
cmF0aW9uUmVmZXJlbmNlID0gNTdBOUZGMDcyNTJCRTZFMDAwNkEyMDQwIC8qIFdlYkF1dGhuU2Vy
dmljZS54Y2NvbmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7CiAJCQl9OwogCQkJbmFtZSA9
IERlYnVnOwogCQl9OwotCQk1N0E5RkYwMjI1MkJEOEFCMDA2QTIwNDAgLyogUmVsZWFzZSAqLyA9
IHsKKwkJNTc0MkEyRjUyNTM1NjEzRjAwQjdCQTE0IC8qIFJlbGVhc2UgKi8gPSB7CiAJCQlpc2Eg
PSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKLQkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0g
NTdBOUZGMDcyNTJCRTZFMDAwNkEyMDQwIC8qIFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQueGNjb25m
aWcgKi87CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDU3QTlGRjA3MjUyQkU2RTAw
MDZBMjA0MCAvKiBXZWJBdXRoblNlcnZpY2UueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdz
ID0gewogCQkJfTsKIAkJCW5hbWUgPSBSZWxlYXNlOwogCQl9OwotCQk1N0E5RkYwMzI1MkJEOEFC
MDA2QTIwNDAgLyogUHJvZHVjdGlvbiAqLyA9IHsKKwkJNTc0MkEyRjYyNTM1NjEzRjAwQjdCQTE0
IC8qIFByb2R1Y3Rpb24gKi8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKLQkJ
CWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNTdBOUZGMDcyNTJCRTZFMDAwNkEyMDQwIC8q
IFdlYkF1dGhlbnRpY2F0aW9uQWdlbnQueGNjb25maWcgKi87CisJCQliYXNlQ29uZmlndXJhdGlv
blJlZmVyZW5jZSA9IDU3QTlGRjA3MjUyQkU2RTAwMDZBMjA0MCAvKiBXZWJBdXRoblNlcnZpY2Uu
eGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0gewogCQkJfTsKIAkJCW5hbWUgPSBQcm9k
dWN0aW9uOwpAQCAtMTM4NTksMTIgKzE0MDA2LDEyIEBACiAJCQlkZWZhdWx0Q29uZmlndXJhdGlv
bklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9u
OwogCQl9OwotCQk1N0E5RkYwMDI1MkJEOEFCMDA2QTIwNDAgLyogQnVpbGQgY29uZmlndXJhdGlv
biBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldlYkF1dGhlbnRpY2F0aW9uQWdlbnQiICovID0g
eworCQk1NzQyQTJGMzI1MzU2MTNGMDBCN0JBMTQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0
IGZvciBQQlhOYXRpdmVUYXJnZXQgIldlYkF1dGhuIiAqLyA9IHsKIAkJCWlzYSA9IFhDQ29uZmln
dXJhdGlvbkxpc3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAotCQkJCTU3QTlGRjAxMjUy
QkQ4QUIwMDZBMjA0MCAvKiBEZWJ1ZyAqLywKLQkJCQk1N0E5RkYwMjI1MkJEOEFCMDA2QTIwNDAg
LyogUmVsZWFzZSAqLywKLQkJCQk1N0E5RkYwMzI1MkJEOEFCMDA2QTIwNDAgLyogUHJvZHVjdGlv
biAqLywKKwkJCQk1NzQyQTJGNDI1MzU2MTNGMDBCN0JBMTQgLyogRGVidWcgKi8sCisJCQkJNTc0
MkEyRjUyNTM1NjEzRjAwQjdCQTE0IC8qIFJlbGVhc2UgKi8sCisJCQkJNTc0MkEyRjYyNTM1NjEz
RjAwQjdCQTE0IC8qIFByb2R1Y3Rpb24gKi8sCiAJCQkpOwogCQkJZGVmYXVsdENvbmZpZ3VyYXRp
b25Jc1Zpc2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlv
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mNGNiNjBjNTQxZGUzZTIzZjgzMmZjMWFlOTFlZWE2ZjVmZGNkMzk2Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1
dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5o
IgorCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKworI2luY2x1ZGUgIldlYkF1dGhuQ29ubmVjdGlv
blRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUGFnZU1lc3NhZ2VzLmgiCisj
aW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOworCitXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRp
ZmllcikKKyAgICA6IG1fY29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZUNsaWVudENv
bm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsICp0aGlzKSkKK3sKKyAgICBtX2Nvbm5lY3Rp
b24tPm9wZW4oKTsKK30KKworV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6fldlYkF1dGhuUHJv
Y2Vzc0Nvbm5lY3Rpb24oKQoreworICAgIG1fY29ubmVjdGlvbi0+aW52YWxpZGF0ZSgpOworfQor
Cit2b2lkIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKElQQzo6Q29ubmVjdGlv
biYpCit7Cit9CisKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZUlu
dmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZU5hbWUpCit7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyOTVi
YTUzZDNhZWMzZjM4NTAzMzc1MWRiZGIwM2ZiYzRkOWE5YTMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbi5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShXRUJfQVVUSE4pCisKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24g
OiBwdWJsaWMgUmVmQ291bnRlZDxXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uPiwgSVBDOjpDb25u
ZWN0aW9uOjpDbGllbnQgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbj4gY3JlYXRlKElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9u
SWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkF1dGhu
UHJvY2Vzc0Nvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIpKTsKKyAgICB9CisgICAgfldl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKKworICAgIElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbigpIHsgcmV0dXJuIG1fY29ubmVjdGlvbi5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIFdl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKKwor
ICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CisgICAgdm9pZCBkaWRDbG9zZShJUEM6OkNv
bm5lY3Rpb24mKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VOYW1lKSBvdmVycmlkZTsKKworICAgIC8vIFRo
ZSBjb25uZWN0aW9uIGZyb20gdGhlIHdlYiBwcm9jZXNzIHRvIHRoZSBXZWJBdXRobiBwcm9jZXNz
LgorICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjgzZjU4YTg2Y2RlNzNjZTIwYzdlYTU0NGJmMzU5N2I4Mjk1NTZiZQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMjggQEAKKyMgQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIwor
IyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIEVOQUJMRShXRUJfQVVUSE4p
CisKK21lc3NhZ2VzIC0+IFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24geworfQorCisjZW5kaWYg
Ly8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc0Nv
bm5lY3Rpb25JbmZvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTA3ZjgzZTc2NDA5NjRmYWU5YjMxY2YyM2Y3ZDg5
NDAxNjdlZjY0OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mby5oCkBAIC0wLDAg
KzEsNjIgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorCituYW1lc3BhY2UgV2ViS2l0
IHsKKworc3RydWN0IFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIHsKKyAgICBJUEM6OkF0
dGFjaG1lbnQgY29ubmVjdGlvbjsKKworICAgIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBp
ZGVudGlmaWVyKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBJUEM6OkNvbm5lY3Rpb246
OklkZW50aWZpZXIoY29ubmVjdGlvbi5wb3J0KCkpOworICAgIH0KKworICAgIElQQzo6Q29ubmVj
dGlvbjo6SWRlbnRpZmllciByZWxlYXNlSWRlbnRpZmllcigpCisgICAgeworICAgICAgICBhdXRv
IHJldHVyblZhbHVlID0gaWRlbnRpZmllcigpOworICAgICAgICBjb25uZWN0aW9uID0geyB9Owor
ICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7CisgICAgfQorCisgICAgdm9pZCBlbmNvZGUoSVBD
OjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgZW5jb2RlciA8PCBjb25u
ZWN0aW9uOworICAgIH0KKworICAgIHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNv
ZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uSW5mbyYg
aW5mbykKKyAgICB7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaW5mby5jb25uZWN0aW9u
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BS
T0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYzA4MzJm
MzI4ZGM1MWM1MGQzYmM4YmIyNDVkNmY3NWYwZGM2Zjg5Zi4uZGZhNTdjNjU1YWRhN2NmOTcxODli
NzU3YzU5YWE5MDE5NTBhYTllOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcApAQCAtMTY1LDYgKzE2NSwxMiBAQAogI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9u
SW5mby5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorI2luY2x1ZGUgIldlYkF1
dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViQXV0aG5Q
cm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25J
bmZvLmgiCisjZW5kaWYKKwogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3Rvci5oPgogI2VuZGlmCkBAIC0xMzE2LDYgKzEz
MjIsNTMgQEAgTGliV2ViUlRDQ29kZWNzJiBXZWJQcm9jZXNzOjpsaWJXZWJSVENDb2RlY3MoKQog
CiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQogCisjaWYgRU5BQkxFKFdFQl9BVVRITikK
Kworc3RhdGljIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIGdldFdlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKQoreworICAgIFdlYkF1dGhu
UHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIGNvbm5lY3Rpb25JbmZvOworICAgIGlmICghY29ubmVjdGlv
bi5zZW5kU3luYyhNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3ND
b25uZWN0aW9uKCksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFdlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb246OlJlcGx5KGNvbm5lY3Rpb25JbmZvKSwgMCkpIHsKKyAgICAgICAgLy8gSWYg
d2UgZmFpbGVkIHRoZSBmaXJzdCB0aW1lLCByZXRyeSBvbmNlLiBUaGUgYXR0YWNobWVudCBtYXkg
aGF2ZSBiZWNvbWUgaW52YWxpZAorICAgICAgICAvLyBiZWZvcmUgaXQgd2FzIHJlY2VpdmVkIGJ5
IHRoZSB3ZWIgcHJvY2VzcyBpZiB0aGUgbmV0d29yayBwcm9jZXNzIGNyYXNoZWQuCisgICAgICAg
IGlmICghY29ubmVjdGlvbi5zZW5kU3luYyhNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRX
ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKCksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6Okdl
dFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OlJlcGx5KGNvbm5lY3Rpb25JbmZvKSwgMCkpCisg
ICAgICAgICAgICBDUkFTSCgpOworICAgIH0KKworICAgIHJldHVybiBjb25uZWN0aW9uSW5mbzsK
K30KKworV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbiYgV2ViUHJvY2Vzczo6ZW5zdXJlV2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbigpCit7CisgICAgUkVMRUFTRV9BU1NFUlQoUnVuTG9vcDo6aXNN
YWluKCkpOworCisgICAgLy8gSWYgd2UndmUgbG9zdCBvdXIgY29ubmVjdGlvbiB0byB0aGUgV2Vi
QXV0aG4gcHJvY2VzcyAoZS5nLiBpdCBjcmFzaGVkKSB0cnkgdG8gcmUtZXN0YWJsaXNoIGl0Lgor
ICAgIGlmICghbV93ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKSB7CisgICAgICAgIGF1dG8gY29u
bmVjdGlvbkluZm8gPSBnZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKCpwYXJlbnRQcm9jZXNz
Q29ubmVjdGlvbigpKTsKKworICAgICAgICAvLyBSZXRyeSBvbmNlIGlmIHRoZSBJUEMgdG8gZ2V0
IHRoZSBjb25uZWN0aW9uSWRlbnRpZmllciBzdWNjZWVkZWQgYnV0IHRoZSBjb25uZWN0aW9uSWRl
bnRpZmllciB3ZSByZWNlaXZlZAorICAgICAgICAvLyBpcyBpbnZhbGlkLiBUaGlzIG1heSBpbmRp
Y2F0ZSB0aGF0IHRoZSBXZWJBdXRobiBwcm9jZXNzIGhhcyBjcmFzaGVkLgorICAgICAgICBpZiAo
IUlQQzo6Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbkluZm8uaWRlbnRp
ZmllcigpKSkKKyAgICAgICAgICAgIGNvbm5lY3Rpb25JbmZvID0gZ2V0V2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbigqcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKSk7CisKKyAgICAgICAgaWYgKCFJ
UEM6OkNvbm5lY3Rpb246OmlkZW50aWZpZXJJc1ZhbGlkKGNvbm5lY3Rpb25JbmZvLmlkZW50aWZp
ZXIoKSkpCisgICAgICAgICAgICBDUkFTSCgpOworCisgICAgICAgIG1fd2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbiA9IFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OmNyZWF0ZShjb25uZWN0aW9u
SW5mby5yZWxlYXNlSWRlbnRpZmllcigpKTsKKyAgICB9CisKKyAgICByZXR1cm4gKm1fd2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbjsKK30KKwordm9pZCBXZWJQcm9jZXNzOjp3ZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uQ2xvc2VkKFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24qIGNvbm5lY3Rpb24p
Cit7CisgICAgQVNTRVJUKG1fd2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbik7CisgICAgQVNTRVJU
X1VOVVNFRChjb25uZWN0aW9uLCBtX3dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24gPT0gY29ubmVj
dGlvbik7CisKKyAgICBtX3dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24gPSBudWxscHRyOworfQor
CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKKwogdm9pZCBXZWJQcm9jZXNzOjpzZXRFbmhh
bmNlZEFjY2Vzc2liaWxpdHkoYm9vbCBmbGFnKQogewogICAgIFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OnNldEVuaGFuY2VkVXNlckludGVyZmFjZUFjY2Vzc2liaWxpdHkoZmxhZyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCAxZmQ5ZWRhZjkwMTM5OWM0ZjczNWJlOTgy
ZmVmOTdiNzhhZDM5M2UxLi5lODk0OGU5MTdjZTI5NTQ3ZTRlMDE3YTE1ZTRhMjAwZGYxMzk4MTcz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTExNSw2ICsxMTUsNyBA
QCBzdHJ1Y3QgU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIGNsYXNzIFN0b3JhZ2VB
cmVhTWFwOwogY2xhc3MgVXNlckRhdGE7CiBjbGFzcyBXYXlsYW5kQ29tcG9zaXRvckRpc3BsYXk7
CitjbGFzcyBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOwogY2xhc3MgV2ViQXV0b21hdGlvblNl
c3Npb25Qcm94eTsKIGNsYXNzIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyOwogY2xhc3MgV2ViQ29v
a2llSmFyOwpAQCAtMjMyLDYgKzIzMywxMiBAQCBwdWJsaWM6CiAKICNlbmRpZiAvLyBFTkFCTEUo
R1BVX1BST0NFU1MpCiAKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorICAgIFdlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb24mIGVuc3VyZVdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKKyAgICB2b2lk
IHdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25DbG9zZWQoV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlv
biopOworICAgIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24qIGV4aXN0aW5nV2ViQXV0aG5Qcm9j
ZXNzQ29ubmVjdGlvbigpIHsgcmV0dXJuIG1fd2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbi5nZXQo
KTsgfQorI2VuZGlmCisKICAgICBMaWJXZWJSVENOZXR3b3JrJiBsaWJXZWJSVENOZXR3b3JrKCk7
CiAKICAgICB2b2lkIHNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCk7CkBAIC01ODYsNiArNTkzLDEw
IEBAIHByaXZhdGU6CiAjZW5kaWYKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKyAg
ICBSZWZQdHI8V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbj4gbV93ZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uOworI2VuZGlmCisKICAgICBSZWY8V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI+IG1fY2Fj
aGVTdG9yYWdlUHJvdmlkZXI7CiAgICAgUmVmPFdlYkNvb2tpZUphcj4gbV9jb29raWVKYXI7CiAg
ICAgV2ViU29ja2V0Q2hhbm5lbE1hbmFnZXIgbV93ZWJTb2NrZXRDaGFubmVsTWFuYWdlcjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>