<?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>94920</bug_id>
          
          <creation_ts>2012-08-24 04:08:04 -0700</creation_ts>
          <short_desc>Rename RegisterProtocolHandler API to NavigatorContentUtils</short_desc>
          <delta_ts>2013-07-30 01:55:06 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>119239</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail Pozdnyakov">mikhail.pozdnyakov</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>abarth</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>703974</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-08-24 04:08:04 -0700</bug_when>
    <thetext>RegisterProtocolHandler API should be renamed to NavigatorContentUtils API.
The rational behind renaming is:
1) Specification http://www.w3.org/TR/html5/system-state-and-capabilities.html#custom-handlers
2) RegisterProtocolHandler name seems to be confusing as starts with a verb and is more like function name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704089</commentid>
    <comment_count>1</comment_count>
      <attachid>160420</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-08-24 07:26:23 -0700</bug_when>
    <thetext>Created attachment 160420
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704129</commentid>
    <comment_count>2</comment_count>
      <attachid>160426</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-08-24 08:45:11 -0700</bug_when>
    <thetext>Created attachment 160426
patch

Improvements comparing to preliminary patch: Fixed GTK build( hopefully :) ), fixed alphabetical order in some files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704158</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-08-24 09:32:59 -0700</bug_when>
    <thetext>Utils is often a bad name as it is very generic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704161</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-08-24 09:35:36 -0700</bug_when>
    <thetext>Sorry I see that is what is used in the spec, so it is ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704465</commentid>
    <comment_count>5</comment_count>
      <attachid>160426</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-24 15:37:12 -0700</bug_when>
    <thetext>Comment on attachment 160426
patch

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

&gt; Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.idl:25
&gt; +    ] NavigatorContentUtils {

Can we add a comment referencing the spec so folks know where the name comes from?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704486</commentid>
    <comment_count>6</comment_count>
      <attachid>160426</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-24 16:08:18 -0700</bug_when>
    <thetext>Comment on attachment 160426
patch

Rejecting attachment 160426 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
Kit/chromium/third_party/yasm/source/patched-yasm --revision 134927 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
50&gt;At revision 134927.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/13600304</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704490</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-24 16:10:15 -0700</bug_when>
    <thetext>Sorry, you hit a bug in the commit-queue.  I need to track it down.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704518</commentid>
    <comment_count>8</comment_count>
      <attachid>160426</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-24 16:51:38 -0700</bug_when>
    <thetext>Comment on attachment 160426
patch

Rejecting attachment 160426 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
Log
Auto-merging Source/WebKit/chromium/src/WebViewImpl.cpp
Failed to merge in the changes.
Patch failed at 0001 [chromium] Convert WebLayerTreeView interface into pure virtual

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Full output: http://queues.webkit.org/results/13594352</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704525</commentid>
    <comment_count>9</comment_count>
      <attachid>160426</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-24 16:58:39 -0700</bug_when>
    <thetext>Comment on attachment 160426
patch

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

&gt; ChangeLog:3
&gt; +        bug94920

Actually, it looks like your ChangeLog is malformed.  Notice that your ChangeLog entry doesn&apos;t follow the same format as the rest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705023</commentid>
    <comment_count>10</comment_count>
      <attachid>160654</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-08-27 00:49:12 -0700</bug_when>
    <thetext>Created attachment 160654
to be landed

Added reference to spec into .idl file, fixed ChangeLog formatting. Adam, thanks for review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705096</commentid>
    <comment_count>11</comment_count>
      <attachid>160654</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-27 02:19:05 -0700</bug_when>
    <thetext>Comment on attachment 160654
to be landed

Clearing flags on attachment: 160654

Committed r126735: &lt;http://trac.webkit.org/changeset/126735&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705097</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-27 02:19:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160420</attachid>
            <date>2012-08-24 07:26:23 -0700</date>
            <delta_ts>2012-08-24 08:45:11 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug94920</filename>
            <type>text/plain</type>
            <size>132338</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGVmMzBiM2M3M2RiNDEyNjIyZTBlYzAxNGE0NmY1MTNhMTMzNjQxZDYKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
RnJpIEF1ZyAyNCAxNToxMzoxMSAyMDEyICswMzAwCgogICAgYnVnOTQ5MjAKCmRpZmYgLS1naXQg
YS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggOTczZTYwOC4uMDUzNjE3MSAxMDA2NDQKLS0t
IGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTI0
ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisg
ICAgICAgIGJ1Zzk0OTIwCisKKyAgICAgICAgUmVuYW1lIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
IEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTW9kaWZpZWQgY29uZmlndXJhdGlvbiBmaWxlcyBzbyB0aGF0
IHRoZXkgY29udGFpbiByZW5hbWVkIE5hdmlnYXRvckNvbnRlbnRVdGlscy1wcmVmaXhlZCBmaWxl
cy4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zQmxhY2tCZXJyeS5jbWFrZToKKyAg
ICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBTb3VyY2Uv
Y21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6CisgICAgICAgICogU291cmNlL2NtYWtlY29uZmln
LmguY21ha2U6CisKIDIwMTItMDgtMjMgIEtldmluIE9sbGl2aWVyICA8a2V2aW5vQHRoZW9sbGl2
aWVycy5jb20+CiAKICAgICAgICAgW3d4XSBVbnJldmlld2VkIGJ1aWxkIGZpeC4gRGlzYWJsZSBj
b21waWxhdGlvbiBvZiBXZWJET00gZmlsZSBmb3Igbm93LApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
aW5kZXggNzRmMDU2Ny4uMWNjNzI2ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTItMDgtMjQgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55
YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgUmVuYW1lIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
IEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIgaXMg
cmVuYW1lZCB0byBFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMuCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxMi0wOC0yMyAgQ2hy
aXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFNl
cmlhbGl6YXRpb24gb2YgSmF2YVNjcmlwdCB2YWx1ZXMgZG9lcyBub3QgYXBwZWFyIHRvIHJlc3Bl
Y3QgbmV3IEhUTUw1IFN0cnVjdHVyZWQgQ2xvbmUgc2VtYW50aWNzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOWMxYjhmZi4uMTkwZWM5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtMTEzLDcgKzExMyw3IEBAIEVOQUJMRV9OT1RJRklDQVRJT05TX21hY29zeF8xMDkwID0gRU5B
QkxFX05PVElGSUNBVElPTlM7CiBFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSA9IDsKIEVOQUJM
RV9QUk9HUkVTU19FTEVNRU5UID0gRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQ7CiBFTkFCTEVfUVVP
VEEgPSA7Ci1FTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiA9IDsKK0VOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUyA9IDsKIEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSA9
IEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRTsKIEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gg
PSA7CiBFTkFCTEVfU0hBRE9XX0RPTSA9IDsKQEAgLTE0MCw0ICsxNDAsNCBAQCBFTkFCTEVfV0lE
R0VUX1JFR0lPTl9tYWNvc3ggPSBFTkFCTEVfV0lER0VUX1JFR0lPTjsKIEVOQUJMRV9XT1JLRVJT
ID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklM
VEVSUykgJChFTkFCTEVfQ1NTX0hJRVJBUkNISUVTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVf
Q1NTM19GTEVYQk9YKSAkKEVOQUJMRV9DU1MzX1RFWFRfREVDT1JBVElPTikgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVf
REVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJ
QUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZ
U1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMp
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEp
ICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5B
QkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFU
QUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdf
RE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VTkRPX01BTkFHRVIpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dJREdFVF9S
RUdJT04pICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQo
RU5BQkxFX0NTU19ISUVSQVJDSElFUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19T
VElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfRkxF
WEJPWCkgJChFTkFCTEVfQ1NTM19URVhUX0RFQ09SQVRJT04pICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxF
TUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVTUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTElO
S19QUkVGRVRDSCkgJChFTkFCTEVfTElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJM
RV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
R0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9X
X0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChF
TkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19C
SU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX1VORE9fTUFOQUdFUikgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0lER0VUX1JFR0lPTikgJChF
TkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGEx
NGM1YmUuLjc2M2IxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05LDggKzksOCBAQCBTRVQo
V2ViQ29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
bWVkaWFzb3VyY2UiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbWVkaWFzdHJlYW0iCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbmV0d29ya2luZm8iCisgICAgIiR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIgogICAgICIke1dFQkNPUkVfRElSfS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMiCi0gICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcHJvdG9j
b2xoYW5kbGVyIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3Byb3hpbWl0eSIKICAgICAi
JHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9xdW90YSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxl
cy92aWJyYXRpb24iCkBAIC0yMzAsMTQgKzIzMCwxNCBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMK
ICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05hdmlnYXRvck5ldHdvcmtJbmZvQ29ubmVjdGlvbi5p
ZGwKICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5pZGwKIAor
ICAgIE1vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5p
ZGwKKwogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmlk
bAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCiAgICAgTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKICAgICBNb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbAogICAgIE1vZHVsZXMv
bm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5pZGwKIAotICAgIE1vZHVs
ZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmlkbAot
CiAgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZlbnQuaWRsCiAKICAgICBN
b2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmlkbApAQCAtODcwLDcgKzg3MCw3IEBAIFNFVChX
ZWJDb3JlX1NPVVJDRVMKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5j
cHAKIAotICAgIE1vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyLmNwcAorICAgIE1vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRv
ckNvbnRlbnRVdGlscy5jcHAKIAogICAgIE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0
eUV2ZW50LmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E5YWNiOC4uZmIzYjM1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDU1IEBACisyMDEyLTA4LTI0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWls
LnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIGJ1Zzk0OTIwCisKKyAgICAgICAgUmVu
YW1lIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1pbmcg
d2hhdGV2ZXIgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXItcHJlZml4ZWQgdG8gTmF2aWdhdG9yQ29u
dGVudFV0aWxzLXByZWZpeGVkLgorICAgICAgICBNb2R1bGUgJ3Byb3RvY29saGFuZGxlcicgaXMg
cmVuYW1lZCB0byAnbmF2aWdhdG9yY29udGVudHV0aWxzJy4KKworICAgICAgICBObyBuZXcgdGVz
dHMgYXMgdGhlcmUgaXMgbm8gbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5mZWF0
dXJlcy5hbToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVs
ZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5jcHA6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JS
ZWdpc3RlclByb3RvY29sSGFuZGxlci5jcHAuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OmluaXRQcm90b2NvbEhhbmRsZXJXaGl0ZWxpc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6dmVyaWZ5Q3VzdG9tSGFuZGxlclVSTCk6CisgICAgICAgIChXZWJDb3JlOjppc1Byb3RvY29s
V2hpdGVsaXN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6dmVyaWZ5UHJvdG9jb2xIYW5kbGVyU2No
ZW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsczo6ZnJvbSk6Cisg
ICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHM6On5OYXZpZ2F0b3JDb250ZW50
VXRpbHMpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzOjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzOjpyZWdpc3RlclByb3Rv
Y29sSGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpjdXN0b21IYW5kbGVyc1N0YXRlU3RyaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsczo6aXNQcm90b2NvbEhh
bmRsZXJSZWdpc3RlcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGls
czo6dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0
b3JDb250ZW50VXRpbHM6OnN1cHBsZW1lbnROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OnByb3Zp
ZGVOYXZpZ2F0b3JDb250ZW50VXRpbHNUbyk6CisgICAgICAgICogTW9kdWxlcy9uYXZpZ2F0b3Jj
b250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29s
SGFuZGxlci5oLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChOYXZpZ2F0b3JDb250ZW50
VXRpbHMpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzOjpOYXZpZ2F0
b3JDb250ZW50VXRpbHMpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxz
OjpjbGllbnQpOgorICAgICAgICAqIE1vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmln
YXRvckNvbnRlbnRVdGlscy5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5pZGwuCisg
ICAgICAgICogTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0
aWxzQ2xpZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3RvY29s
aGFuZGxlci9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudC5oLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Ojp+TmF2aWdhdG9yQ29udGVudFV0aWxz
Q2xpZW50KToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBy
aToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBX
ZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZDoKKwogMjAxMi0wOC0yMyAgU2hlemFuIEJh
aWcgIDxzaGV6YmFpZy53a0BnbWFpbC5jb20+CiAKICAgICAgICAgRmxleGJveCBkb2Vzbid0IG5l
ZWQgdG8gY29tcHV0ZSBsb2dpY2FsIGhlaWdodCBmb3Igc3RyZXRjaGVkIGl0ZW1zIGluIHJvdyBm
bG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCmluZGV4IGNlZGQ5NWQuLmJkZGVmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xMTQs
NyArMTE0LDcgQEAgRU5BQkxFX05PVElGSUNBVElPTlNfbWFjb3N4XzEwOTAgPSBFTkFCTEVfTk9U
SUZJQ0FUSU9OUzsKIEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJID0gOwogRU5BQkxFX1BST0dS
RVNTX0VMRU1FTlQgPSBFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVDsKIEVOQUJMRV9RVU9UQSA9IDsK
LUVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSID0gOworRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTID0gOwogRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FID0gRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FOwogRU5BQkxFX1NDUklQVEVEX1NQRUVDSCA9IDsKIEVO
QUJMRV9TSEFET1dfRE9NID0gOwpAQCAtMTQxLDQgKzE0MSw0IEBAIEVOQUJMRV9XSURHRVRfUkVH
SU9OX21hY29zeCA9IEVOQUJMRV9XSURHRVRfUkVHSU9OOwogRU5BQkxFX1dPUktFUlMgPSBFTkFC
TEVfV09SS0VSUzsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAk
KEVOQUJMRV9DU1NfSElFUkFSQ0hJRVMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
U1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0ZM
RVhCT1gpICQoRU5BQkxFX0NTUzNfVEVYVF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VM
RU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAk
KEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFC
TEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hB
RE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkg
JChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JK
Q19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX1VORE9fTUFOQUdFUikgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0lER0VUX1JFR0lPTikg
JChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVf
Q1NTX0hJRVJBUkNISUVTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9Q
T1NJVElPTikgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19GTEVYQk9YKSAk
KEVOQUJMRV9DU1MzX1RFWFRfREVDT1JBVElPTikgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAk
KEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVf
RklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VM
RU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01VVEFU
SU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJ
QklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAk
KEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9T
VFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdT
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfVU5ET19NQU5BR0VSKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XSURHRVRfUkVHSU9OKSAkKEVOQUJMRV9X
T1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMmYwNmFlMy4u
YzdlZTg5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE1LDggKzE1LDggQEAgd2ViY29yZV9j
cHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UgXAog
CS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0gXAorCS1JJChz
cmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIFwKIAkt
SSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAotCS1JJChz
cmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyIFwKIAktSSQoc3Jj
ZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlIFwKQEAgLTY4NywxMSArNjg3LDExIEBAIGVuZGlmICAjIEVORCBF
TkFCTEVfTUlDUk9EQVRBCiAjIC0tLQogIyBSZWdpc3RlciBQcm90b2NvbCBIYW5kbGVyIHN1cHBv
cnQKICMgLS0tCi1pZiBFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUgotZmVhdHVyZV9k
ZWZpbmVzX292ZXJyaWRlcyArPSBFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUj0xCitp
ZiBFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMKK2ZlYXR1cmVfZGVmaW5lc19vdmVycmlk
ZXMgKz0gRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTPTEKIGVsc2UKLWZlYXR1cmVfZGVm
aW5lc19vdmVycmlkZXMgKz0gRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVI9MAotZW5k
aWYgICMgRU5EIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSCitmZWF0dXJlX2RlZmlu
ZXNfb3ZlcnJpZGVzICs9IEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUz0wCitlbmRpZiAg
IyBFTkQgRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTCiAKICMgLS0tCiAjIERldmljZU9y
aWVudGF0aW9uIHN1cHBvcnQKQEAgLTExMjAsOCArMTEyMCw4IEBAIEVYVFJBX0RJU1QgKz0gXAog
CSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiLyou
aWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS8qLmlkbCkgXAogCSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vKi5pZGwpIFwKKwkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy8qLmlkbCkgXAogCSQoc2hlbGwg
bHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy8qLmlkbCkg
XAotCSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xo
YW5kbGVyLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9xdW90YS8qLmlkbCkgXAogCSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vKi5pZGwpIFwKIAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlLyouaWRsKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5mZWF0dXJlcy5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmZlYXR1cmVzLmFtCmluZGV4IDBhOGMzY2UuLjc4NzRkMjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmZlYXR1cmVzLmFtCkBAIC02Nyw3ICs2Nyw3IEBAIGZlYXR1cmVfZGVmaW5lc19k
ZWZhdWx0cyArPSBcCiAJRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEk9MCBcCiAJRU5BQkxFX1BS
T0dSRVNTX0VMRU1FTlQ9MSBcCiAJRU5BQkxFX1FVT1RBPTAgXAotCUVOQUJMRV9SRUdJU1RFUl9Q
Uk9UT0NPTF9IQU5ETEVSPTAgXAorCUVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUz0wIFwK
IAlFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUU9MSBcCiAJRU5BQkxFX1NDUklQVEVEX1NQ
RUVDSD0wIFwKIAlFTkFCTEVfU0hBRE9XX0RPTT0xIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IGNhMTEwYTUuLjVjYWE4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQpAQCAtMTIyNCwxMCArMTIyNCwxMCBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsIFwKIAkkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCBcCiAJJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwgXAorCSQo
V2ViQ29yZSkvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0
aWxzLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmlkbCBcCi0JJChXZWJDb3JlKS9Nb2R1bGVzL3Byb3RvY29saGFu
ZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5pZGwgXAogCSQoV2ViQ29yZSkv
TW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9x
dW90YS9TdG9yYWdlSW5mby5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YS9TdG9yYWdl
SW5mb0Vycm9yQ2FsbGJhY2suaWRsIFwKQEAgLTE5MjQsNiArMTkyNCw5IEBAIHdlYmNvcmVfbW9k
dWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYUNvbnRyb2xsZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZp
Z2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmNwcCBcCisJU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxz
LmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmln
YXRvckNvbnRlbnRVdGlsc0NsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmggXAogCVNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIFwKQEAg
LTE5MzYsOSArMTkzOSw2IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250
ZXh0Tm90aWZpY2F0aW9ucy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5jcHAg
XAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyLmggXAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xo
YW5kbGVyL1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVv
dGEvU3RvcmFnZUluZm8uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRp
bHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2ODc5YmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGls
cy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuY3BwCkBAIC0wLDAgKzEsMjE4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEyLCBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorICogQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKyAqIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29u
dGVudFV0aWxzLmgiCisKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisKKyNp
bmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRl
ICJGcmFtZS5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBI
YXNoU2V0PFN0cmluZz4qIHByb3RvY29sV2hpdGVsaXN0OworCitzdGF0aWMgdm9pZCBpbml0UHJv
dG9jb2xIYW5kbGVyV2hpdGVsaXN0KCkKK3sKKyAgICBwcm90b2NvbFdoaXRlbGlzdCA9IG5ldyBI
YXNoU2V0PFN0cmluZz47CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHByb3RvY29sc1tdID0gewor
I2lmICFQTEFURk9STShCTEFDS0JFUlJZKQorICAgICAgICAiaXJjIiwKKyAgICAgICAgIm1haWx0
byIsCisgICAgICAgICJtbXMiLAorICAgICAgICAibmV3cyIsCisgICAgICAgICJubnRwIiwKKyAg
ICAgICAgInNtcyIsCisgICAgICAgICJzbXN0byIsCisgICAgICAgICJ0ZWwiLAorICAgICAgICAi
dXJuIiwKKyAgICAgICAgIndlYmNhbCIsCisjZW5kaWYKKyAgICB9OworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdUSChwcm90b2NvbHMpOyArK2kpCisgICAgICAgIHBy
b3RvY29sV2hpdGVsaXN0LT5hZGQocHJvdG9jb2xzW2ldKTsKK30KKworc3RhdGljIGJvb2wgdmVy
aWZ5Q3VzdG9tSGFuZGxlclVSTChjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYg
dXJsLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICAvLyBUaGUgc3BlY2lmaWNhdGlvbiByZXF1
aXJlcyB0aGF0IGl0IGlzIGEgU1lOVEFYX0VSUiBpZiB0aGUgIiVzIiB0b2tlbiBpcworICAgIC8v
IG5vdCBwcmVzZW50LgorICAgIHN0YXRpYyBjb25zdCBjaGFyIHRva2VuW10gPSAiJXMiOworICAg
IGludCBpbmRleCA9IHVybC5maW5kKHRva2VuKTsKKyAgICBpZiAoLTEgPT0gaW5kZXgpIHsKKyAg
ICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisg
ICAgLy8gSXQgaXMgYWxzbyBhIFNZTlRBWF9FUlIgaWYgdGhlIGN1c3RvbSBoYW5kbGVyIFVSTCwg
YXMgY3JlYXRlZCBieSByZW1vdmluZworICAgIC8vIHRoZSAiJXMiIHRva2VuIGFuZCBwcmVwZW5k
aW5nIHRoZSBiYXNlIHVybCwgZG9lcyBub3QgcmVzb2x2ZS4KKyAgICBTdHJpbmcgbmV3VVJMID0g
dXJsOworICAgIG5ld1VSTC5yZW1vdmUoaW5kZXgsIFdURl9BUlJBWV9MRU5HVEgodG9rZW4pIC0g
MSk7CisKKyAgICBLVVJMIGJhc2UoUGFyc2VkVVJMU3RyaW5nLCBiYXNlVVJMKTsKKyAgICBLVVJM
IGt1cmwoYmFzZSwgbmV3VVJMKTsKKworICAgIGlmIChrdXJsLmlzRW1wdHkoKSB8fCAha3VybC5p
c1ZhbGlkKCkpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29sIGlzUHJvdG9j
b2xXaGl0ZWxpc3RlZChjb25zdCBTdHJpbmcmIHNjaGVtZSkKK3sKKyAgICBpZiAoIXByb3RvY29s
V2hpdGVsaXN0KQorICAgICAgICBpbml0UHJvdG9jb2xIYW5kbGVyV2hpdGVsaXN0KCk7CisgICAg
cmV0dXJuIHByb3RvY29sV2hpdGVsaXN0LT5jb250YWlucyhzY2hlbWUpOworfQorCitzdGF0aWMg
Ym9vbCB2ZXJpZnlQcm90b2NvbEhhbmRsZXJTY2hlbWUoY29uc3QgU3RyaW5nJiBzY2hlbWUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmIChzY2hlbWUuc3RhcnRzV2l0aCgid2ViKyIpKSB7
CisgICAgICAgIGlmIChpc1ZhbGlkUHJvdG9jb2woc2NoZW1lKSkKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKworICAgIGlmIChpc1Byb3RvY29sV2hpdGVsaXN0ZWQoc2NoZW1lKSkKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgZWMgPSBTRUNVUklUWV9FUlI7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCitOYXZpZ2F0b3JDb250ZW50VXRpbHMqIE5hdmlnYXRvckNvbnRlbnRVdGlsczo6ZnJv
bShQYWdlKiBwYWdlKQoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JDb250ZW50
VXRpbHMqPihSZWZDb3VudGVkU3VwcGxlbWVudDxQYWdlLCBOYXZpZ2F0b3JDb250ZW50VXRpbHM+
Ojpmcm9tKHBhZ2UsIE5hdmlnYXRvckNvbnRlbnRVdGlsczo6c3VwcGxlbWVudE5hbWUoKSkpOwor
fQorCitOYXZpZ2F0b3JDb250ZW50VXRpbHM6On5OYXZpZ2F0b3JDb250ZW50VXRpbHMoKQorewor
fQorCitQYXNzUmVmUHRyPE5hdmlnYXRvckNvbnRlbnRVdGlscz4gTmF2aWdhdG9yQ29udGVudFV0
aWxzOjpjcmVhdGUoTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KiBjbGllbnQpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBOYXZpZ2F0b3JDb250ZW50VXRpbHMoY2xpZW50KSk7Cit9CisK
K3ZvaWQgTmF2aWdhdG9yQ29udGVudFV0aWxzOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihOYXZp
Z2F0b3IqIG5hdmlnYXRvciwgY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJs
LCBjb25zdCBTdHJpbmcmIHRpdGxlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIW5h
dmlnYXRvci0+ZnJhbWUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gbmF2aWdhdG9yLT5mcmFtZSgpLT5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQp
CisgICAgICAgIHJldHVybjsKKworICAgIFN0cmluZyBiYXNlVVJMID0gZG9jdW1lbnQtPmJhc2VV
UkwoKS5iYXNlQXNTdHJpbmcoKTsKKworICAgIGlmICghdmVyaWZ5Q3VzdG9tSGFuZGxlclVSTChi
YXNlVVJMLCB1cmwsIGVjKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCF2ZXJpZnlQcm90
b2NvbEhhbmRsZXJTY2hlbWUoc2NoZW1lLCBlYykpCisgICAgICAgIHJldHVybjsKKworICAgIE5h
dmlnYXRvckNvbnRlbnRVdGlsczo6ZnJvbShuYXZpZ2F0b3ItPmZyYW1lKCktPnBhZ2UoKSktPmNs
aWVudCgpLT5yZWdpc3RlclByb3RvY29sSGFuZGxlcihzY2hlbWUsIGJhc2VVUkwsIHVybCwgbmF2
aWdhdG9yLT5mcmFtZSgpLT5kaXNwbGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5nKHRpdGxlKSk7
Cit9CisKKyNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQorc3RhdGljIFN0cmluZyBj
dXN0b21IYW5kbGVyc1N0YXRlU3RyaW5nKGNvbnN0IE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dDo6Q3VzdG9tSGFuZGxlcnNTdGF0ZSBzdGF0ZSkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KGNvbnN0IFN0cmluZywgbmV3SGFuZGxlciwgKCJuZXciKSk7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChjb25zdCBTdHJpbmcsIHJlZ2lzdGVyZWRIYW5kbGVyLCAoInJlZ2lzdGVyZWQiKSk7Cisg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGRlY2xpbmVkSGFuZGxlciwgKCJk
ZWNsaW5lZCIpKTsKKworICAgIHN3aXRjaCAoc3RhdGUpIHsKKyAgICBjYXNlIE5hdmlnYXRvckNv
bnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxlcnNOZXc6CisgICAgICAgIHJldHVybiBuZXdI
YW5kbGVyOworICAgIGNhc2UgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpDdXN0b21IYW5k
bGVyc1JlZ2lzdGVyZWQ6CisgICAgICAgIHJldHVybiByZWdpc3RlcmVkSGFuZGxlcjsKKyAgICBj
YXNlIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxlcnNEZWNsaW5lZDoK
KyAgICAgICAgcmV0dXJuIGRlY2xpbmVkSGFuZGxlcjsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK1N0cmluZyBOYXZpZ2F0b3JD
b250ZW50VXRpbHM6OmlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChOYXZpZ2F0b3IqIG5hdmln
YXRvciwgY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBFeGNlcHRpb25D
b2RlJiBlYykKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgZGVjbGlu
ZWQsICgiZGVjbGluZWQiKSk7CisKKyAgICBpZiAoIW5hdmlnYXRvci0+ZnJhbWUoKSkKKyAgICAg
ICAgcmV0dXJuIGRlY2xpbmVkOworCisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbmF2aWdhdG9y
LT5mcmFtZSgpLT5kb2N1bWVudCgpOworICAgIFN0cmluZyBiYXNlVVJMID0gZG9jdW1lbnQtPmJh
c2VVUkwoKS5iYXNlQXNTdHJpbmcoKTsKKworICAgIGlmICghdmVyaWZ5Q3VzdG9tSGFuZGxlclVS
TChiYXNlVVJMLCB1cmwsIGVjKSkKKyAgICAgICAgcmV0dXJuIGRlY2xpbmVkOworCisgICAgaWYg
KCF2ZXJpZnlQcm90b2NvbEhhbmRsZXJTY2hlbWUoc2NoZW1lLCBlYykpCisgICAgICAgIHJldHVy
biBkZWNsaW5lZDsKKworICAgIHJldHVybiBjdXN0b21IYW5kbGVyc1N0YXRlU3RyaW5nKE5hdmln
YXRvckNvbnRlbnRVdGlsczo6ZnJvbShuYXZpZ2F0b3ItPmZyYW1lKCktPnBhZ2UoKSktPmNsaWVu
dCgpLT5pc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoc2NoZW1lLCBiYXNlVVJMLCB1cmwpKTsK
K30KKwordm9pZCBOYXZpZ2F0b3JDb250ZW50VXRpbHM6OnVucmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXIoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJp
bmcmIHVybCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFuYXZpZ2F0b3ItPmZyYW1l
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG5hdmlnYXRv
ci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKTsKKyAgICBTdHJpbmcgYmFzZVVSTCA9IGRvY3VtZW50LT5i
YXNlVVJMKCkuYmFzZUFzU3RyaW5nKCk7CisKKyAgICBpZiAoIXZlcmlmeUN1c3RvbUhhbmRsZXJV
UkwoYmFzZVVSTCwgdXJsLCBlYykpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghdmVyaWZ5
UHJvdG9jb2xIYW5kbGVyU2NoZW1lKHNjaGVtZSwgZWMpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBOYXZpZ2F0b3JDb250ZW50VXRpbHM6OmZyb20obmF2aWdhdG9yLT5mcmFtZSgpLT5wYWdlKCkp
LT5jbGllbnQoKS0+dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihzY2hlbWUsIGJhc2VVUkwsIHVy
bCk7Cit9CisjZW5kaWYKKworY29uc3QgQXRvbWljU3RyaW5nJiBOYXZpZ2F0b3JDb250ZW50VXRp
bHM6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0
cmluZywgbmFtZSwgKCJOYXZpZ2F0b3JDb250ZW50VXRpbHMiKSk7CisgICAgcmV0dXJuIG5hbWU7
Cit9CisKK3ZvaWQgcHJvdmlkZU5hdmlnYXRvckNvbnRlbnRVdGlsc1RvKFBhZ2UqIHBhZ2UsIE5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCogY2xpZW50KQoreworICAgIFJlZkNvdW50ZWRTdXBw
bGVtZW50PFBhZ2UsIE5hdmlnYXRvckNvbnRlbnRVdGlscz46OnByb3ZpZGVUbyhwYWdlLCBOYXZp
Z2F0b3JDb250ZW50VXRpbHM6OnN1cHBsZW1lbnROYW1lKCksIE5hdmlnYXRvckNvbnRlbnRVdGls
czo6Y3JlYXRlKGNsaWVudCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRV
dGlscy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2
aWdhdG9yQ29udGVudFV0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZjRkNmVhMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdh
dG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5oCkBAIC0wLDAgKzEsNzQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAq
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyAqIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSCisgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSAorICogREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF2aWdhdG9yQ29udGVudFV0aWxzX2gK
KyNkZWZpbmUgTmF2aWdhdG9yQ29udGVudFV0aWxzX2gKKworI2lmIEVOQUJMRShOQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykKKworI2luY2x1ZGUgIk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5o
IgorI2luY2x1ZGUgIlJlZkNvdW50ZWRTdXBwbGVtZW50LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBQYWdlOworY2xhc3MgTmF2aWdhdG9yOworCit0eXBlZGVmIGludCBF
eGNlcHRpb25Db2RlOworCitjbGFzcyBOYXZpZ2F0b3JDb250ZW50VXRpbHMgOiBwdWJsaWMgUmVm
Q291bnRlZFN1cHBsZW1lbnQ8UGFnZSwgTmF2aWdhdG9yQ29udGVudFV0aWxzPiB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+TmF2aWdhdG9yQ29udGVudFV0aWxzKCk7CisKKyAgICBzdGF0aWMgY29u
c3QgQXRvbWljU3RyaW5nJiBzdXBwbGVtZW50TmFtZSgpOworICAgIHN0YXRpYyBOYXZpZ2F0b3JD
b250ZW50VXRpbHMqIGZyb20oUGFnZSopOworCisgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIoTmF2aWdhdG9yKiwgY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBFeGNlcHRpb25Db2RlJik7CisKKyNpZiBFTkFC
TEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQorICAgIHN0YXRpYyBTdHJpbmcgaXNQcm90b2NvbEhh
bmRsZXJSZWdpc3RlcmVkKE5hdmlnYXRvciosIGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBT
dHJpbmcmIHVybCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXIoTmF2aWdhdG9yKiwgY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0
cmluZyYgdXJsLCBFeGNlcHRpb25Db2RlJik7CisjZW5kaWYKKworICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE5hdmlnYXRvckNvbnRlbnRVdGlscz4gY3JlYXRlKE5hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudCopOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvckNvbnRlbnRVdGlscyhO
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQqIGNsaWVudCkKKyAgICAgICAgOiBtX2NsaWVudChj
bGllbnQpCisgICAgeyB9CisKKyAgICBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQqIGNsaWVu
dCgpIHsgcmV0dXJuIG1fY2xpZW50OyB9CisKKyAgICBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnQqIG1fY2xpZW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorCisjZW5kaWYgLy8gTmF2aWdhdG9yQ29u
dGVudFV0aWxzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9y
Y29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5ZGUxNDAKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0
b3JDb250ZW50VXRpbHMuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgICAgQ29weXJpZ2h0IChD
KSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICAg
IENvcHlyaWdodCAoQykgMjAxMiwgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisqLworCittb2R1bGUgd2luZG93IHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIFN1
cHBsZW1lbnRhbD1OYXZpZ2F0b3IKKyAgICBdIE5hdmlnYXRvckNvbnRlbnRVdGlscyB7CisgICAg
ICAgIFtDb25kaXRpb25hbD1OQVZJR0FUT1JfQ09OVEVOVF9VVElMU10gdm9pZCByZWdpc3RlclBy
b3RvY29sSGFuZGxlcihpbiBET01TdHJpbmcgc2NoZW1lLCBpbiBET01TdHJpbmcgdXJsLCBpbiBE
T01TdHJpbmcgdGl0bGUpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAg
ICAgW0NvbmRpdGlvbmFsPU5BVklHQVRPUl9DT05URU5UX1VUSUxTJkNVU1RPTV9TQ0hFTUVfSEFO
RExFUl0gRE9NU3RyaW5nIGlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChpbiBET01TdHJpbmcg
c2NoZW1lLCBpbiBET01TdHJpbmcgdXJsKQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CisgICAgICAgIFtDb25kaXRpb25hbD1OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyZDVVNUT01f
U0NIRU1FX0hBTkRMRVJdIHZvaWQgdW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihpbiBET01TdHJp
bmcgc2NoZW1lLCBpbiBET01TdHJpbmcgdXJsKQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
YXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWQ2N2Nj
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jjb250
ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmgKQEAgLTAsMCArMSw1OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2lmbmRlZiBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRfaAorI2RlZmluZSBOYXZpZ2F0b3JD
b250ZW50VXRpbHNDbGllbnRfaAorCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxT
KQorCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgUGFnZTsKKworY2xhc3MgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50IHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQoKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBz
Y2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0
cmluZyYgdGl0bGUpID0gMDsKKworI2lmIEVOQUJMRShDVVNUT01fU0NIRU1FX0hBTkRMRVIpCisg
ICAgZW51bSBDdXN0b21IYW5kbGVyc1N0YXRlIHsKKyAgICAgICAgQ3VzdG9tSGFuZGxlcnNOZXcs
CisgICAgICAgIEN1c3RvbUhhbmRsZXJzUmVnaXN0ZXJlZCwKKyAgICAgICAgQ3VzdG9tSGFuZGxl
cnNEZWNsaW5lZAorICAgIH07CisKKyAgICB2aXJ0dWFsIEN1c3RvbUhhbmRsZXJzU3RhdGUgaXNQ
cm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJp
bmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHVu
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmlu
ZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKKyNlbmRpZgorfTsKKwordm9pZCBw
cm92aWRlTmF2aWdhdG9yQ29udGVudFV0aWxzVG8oUGFnZSosIE5hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudCopOworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpCisjZW5kaWYgLy8gTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50X2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5k
bGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmNwcApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzFkMDZhMC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSwyMTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAx
MiwgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRQotICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICi0gKiBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIk5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyLmgiCi0KLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLQotI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUg
IkZyYW1lLmgiCi0jaW5jbHVkZSAiTmF2aWdhdG9yLmgiCi0jaW5jbHVkZSAiUGFnZS5oIgotI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIEhh
c2hTZXQ8U3RyaW5nPiogcHJvdG9jb2xXaGl0ZWxpc3Q7Ci0KLXN0YXRpYyB2b2lkIGluaXRQcm90
b2NvbEhhbmRsZXJXaGl0ZWxpc3QoKQotewotICAgIHByb3RvY29sV2hpdGVsaXN0ID0gbmV3IEhh
c2hTZXQ8U3RyaW5nPjsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogcHJvdG9jb2xzW10gPSB7Ci0j
aWYgIVBMQVRGT1JNKEJMQUNLQkVSUlkpCi0gICAgICAgICJpcmMiLAotICAgICAgICAibWFpbHRv
IiwKLSAgICAgICAgIm1tcyIsCi0gICAgICAgICJuZXdzIiwKLSAgICAgICAgIm5udHAiLAotICAg
ICAgICAic21zIiwKLSAgICAgICAgInNtc3RvIiwKLSAgICAgICAgInRlbCIsCi0gICAgICAgICJ1
cm4iLAotICAgICAgICAid2ViY2FsIiwKLSNlbmRpZgotICAgIH07Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKHByb3RvY29scyk7ICsraSkKLSAgICAgICAgcHJv
dG9jb2xXaGl0ZWxpc3QtPmFkZChwcm90b2NvbHNbaV0pOwotfQotCi1zdGF0aWMgYm9vbCB2ZXJp
ZnlDdXN0b21IYW5kbGVyVVJMKGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1
cmwsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIC8vIFRoZSBzcGVjaWZpY2F0aW9uIHJlcXVp
cmVzIHRoYXQgaXQgaXMgYSBTWU5UQVhfRVJSIGlmIHRoZSAiJXMiIHRva2VuIGlzCi0gICAgLy8g
bm90IHByZXNlbnQuCi0gICAgc3RhdGljIGNvbnN0IGNoYXIgdG9rZW5bXSA9ICIlcyI7Ci0gICAg
aW50IGluZGV4ID0gdXJsLmZpbmQodG9rZW4pOwotICAgIGlmICgtMSA9PSBpbmRleCkgewotICAg
ICAgICBlYyA9IFNZTlRBWF9FUlI7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAg
ICAvLyBJdCBpcyBhbHNvIGEgU1lOVEFYX0VSUiBpZiB0aGUgY3VzdG9tIGhhbmRsZXIgVVJMLCBh
cyBjcmVhdGVkIGJ5IHJlbW92aW5nCi0gICAgLy8gdGhlICIlcyIgdG9rZW4gYW5kIHByZXBlbmRp
bmcgdGhlIGJhc2UgdXJsLCBkb2VzIG5vdCByZXNvbHZlLgotICAgIFN0cmluZyBuZXdVUkwgPSB1
cmw7Ci0gICAgbmV3VVJMLnJlbW92ZShpbmRleCwgV1RGX0FSUkFZX0xFTkdUSCh0b2tlbikgLSAx
KTsKLQotICAgIEtVUkwgYmFzZShQYXJzZWRVUkxTdHJpbmcsIGJhc2VVUkwpOwotICAgIEtVUkwg
a3VybChiYXNlLCBuZXdVUkwpOwotCi0gICAgaWYgKGt1cmwuaXNFbXB0eSgpIHx8ICFrdXJsLmlz
VmFsaWQoKSkgewotICAgICAgICBlYyA9IFNZTlRBWF9FUlI7Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotc3RhdGljIGJvb2wgaXNQcm90b2Nv
bFdoaXRlbGlzdGVkKGNvbnN0IFN0cmluZyYgc2NoZW1lKQotewotICAgIGlmICghcHJvdG9jb2xX
aGl0ZWxpc3QpCi0gICAgICAgIGluaXRQcm90b2NvbEhhbmRsZXJXaGl0ZWxpc3QoKTsKLSAgICBy
ZXR1cm4gcHJvdG9jb2xXaGl0ZWxpc3QtPmNvbnRhaW5zKHNjaGVtZSk7Ci19Ci0KLXN0YXRpYyBi
b29sIHZlcmlmeVByb3RvY29sSGFuZGxlclNjaGVtZShjb25zdCBTdHJpbmcmIHNjaGVtZSwgRXhj
ZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKHNjaGVtZS5zdGFydHNXaXRoKCJ3ZWIrIikpIHsK
LSAgICAgICAgaWYgKGlzVmFsaWRQcm90b2NvbChzY2hlbWUpKQotICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotCi0gICAgaWYgKGlzUHJvdG9jb2xXaGl0ZWxpc3RlZChzY2hlbWUpKQotICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KLU5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKiBOYXZpZ2F0b3JSZWdpc3Rl
clByb3RvY29sSGFuZGxlcjo6ZnJvbShQYWdlKiBwYWdlKQotewotICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcio+KFJlZkNvdW50ZWRTdXBwbGVt
ZW50PFBhZ2UsIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyPjo6ZnJvbShwYWdlLCBO
YXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6c3VwcGxlbWVudE5hbWUoKSkpOwotfQot
Ci1OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6fk5hdmlnYXRvclJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyKCkKLXsKLX0KLQotUGFzc1JlZlB0cjxOYXZpZ2F0b3JSZWdpc3RlclByb3Rv
Y29sSGFuZGxlcj4gTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI6OmNyZWF0ZShSZWdp
c3RlclByb3RvY29sSGFuZGxlckNsaWVudCogY2xpZW50KQotewotICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY2xpZW50KSk7Ci19Ci0KLXZv
aWQgTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI6OnJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyKE5hdmlnYXRvciogbmF2aWdhdG9yLCBjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3Ry
aW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAg
IGlmICghbmF2aWdhdG9yLT5mcmFtZSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBEb2N1bWVu
dCogZG9jdW1lbnQgPSBuYXZpZ2F0b3ItPmZyYW1lKCktPmRvY3VtZW50KCk7Ci0gICAgaWYgKCFk
b2N1bWVudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgU3RyaW5nIGJhc2VVUkwgPSBkb2N1bWVu
dC0+YmFzZVVSTCgpLmJhc2VBc1N0cmluZygpOwotCi0gICAgaWYgKCF2ZXJpZnlDdXN0b21IYW5k
bGVyVVJMKGJhc2VVUkwsIHVybCwgZWMpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIXZl
cmlmeVByb3RvY29sSGFuZGxlclNjaGVtZShzY2hlbWUsIGVjKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI6OmZyb20obmF2aWdhdG9yLT5m
cmFtZSgpLT5wYWdlKCkpLT5jbGllbnQoKS0+cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoc2NoZW1l
LCBiYXNlVVJMLCB1cmwsIG5hdmlnYXRvci0+ZnJhbWUoKS0+ZGlzcGxheVN0cmluZ01vZGlmaWVk
QnlFbmNvZGluZyh0aXRsZSkpOwotfQotCi0jaWYgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExF
UikKLXN0YXRpYyBTdHJpbmcgY3VzdG9tSGFuZGxlcnNTdGF0ZVN0cmluZyhjb25zdCBSZWdpc3Rl
clByb3RvY29sSGFuZGxlckNsaWVudDo6Q3VzdG9tSGFuZGxlcnNTdGF0ZSBzdGF0ZSkKLXsKLSAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgbmV3SGFuZGxlciwgKCJuZXciKSk7
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHJlZ2lzdGVyZWRIYW5kbGVy
LCAoInJlZ2lzdGVyZWQiKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcs
IGRlY2xpbmVkSGFuZGxlciwgKCJkZWNsaW5lZCIpKTsKLQotICAgIHN3aXRjaCAoc3RhdGUpIHsK
LSAgICBjYXNlIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50OjpDdXN0b21IYW5kbGVyc05l
dzoKLSAgICAgICAgcmV0dXJuIG5ld0hhbmRsZXI7Ci0gICAgY2FzZSBSZWdpc3RlclByb3RvY29s
SGFuZGxlckNsaWVudDo6Q3VzdG9tSGFuZGxlcnNSZWdpc3RlcmVkOgotICAgICAgICByZXR1cm4g
cmVnaXN0ZXJlZEhhbmRsZXI7Ci0gICAgY2FzZSBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVu
dDo6Q3VzdG9tSGFuZGxlcnNEZWNsaW5lZDoKLSAgICAgICAgcmV0dXJuIGRlY2xpbmVkSGFuZGxl
cjsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gU3RyaW5n
KCk7Ci19Ci0KLVN0cmluZyBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6aXNQcm90
b2NvbEhhbmRsZXJSZWdpc3RlcmVkKE5hdmlnYXRvciogbmF2aWdhdG9yLCBjb25zdCBTdHJpbmcm
IHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1cmwsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBkZWNsaW5lZCwgKCJkZWNsaW5lZCIpKTsK
LQotICAgIGlmICghbmF2aWdhdG9yLT5mcmFtZSgpKQotICAgICAgICByZXR1cm4gZGVjbGluZWQ7
Ci0KLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBuYXZpZ2F0b3ItPmZyYW1lKCktPmRvY3VtZW50
KCk7Ci0gICAgU3RyaW5nIGJhc2VVUkwgPSBkb2N1bWVudC0+YmFzZVVSTCgpLmJhc2VBc1N0cmlu
ZygpOwotCi0gICAgaWYgKCF2ZXJpZnlDdXN0b21IYW5kbGVyVVJMKGJhc2VVUkwsIHVybCwgZWMp
KQotICAgICAgICByZXR1cm4gZGVjbGluZWQ7Ci0KLSAgICBpZiAoIXZlcmlmeVByb3RvY29sSGFu
ZGxlclNjaGVtZShzY2hlbWUsIGVjKSkKLSAgICAgICAgcmV0dXJuIGRlY2xpbmVkOwotCi0gICAg
cmV0dXJuIGN1c3RvbUhhbmRsZXJzU3RhdGVTdHJpbmcoTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXI6OmZyb20obmF2aWdhdG9yLT5mcmFtZSgpLT5wYWdlKCkpLT5jbGllbnQoKS0+aXNQ
cm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKHNjaGVtZSwgYmFzZVVSTCwgdXJsKSk7Ci19Ci0KLXZv
aWQgTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI6OnVucmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBT
dHJpbmcmIHVybCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKCFuYXZpZ2F0b3ItPmZy
YW1lKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG5hdmln
YXRvci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKTsKLSAgICBTdHJpbmcgYmFzZVVSTCA9IGRvY3VtZW50
LT5iYXNlVVJMKCkuYmFzZUFzU3RyaW5nKCk7Ci0KLSAgICBpZiAoIXZlcmlmeUN1c3RvbUhhbmRs
ZXJVUkwoYmFzZVVSTCwgdXJsLCBlYykpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICghdmVy
aWZ5UHJvdG9jb2xIYW5kbGVyU2NoZW1lKHNjaGVtZSwgZWMpKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6ZnJvbShuYXZpZ2F0b3ItPmZy
YW1lKCktPnBhZ2UoKSktPmNsaWVudCgpLT51bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKHNjaGVt
ZSwgYmFzZVVSTCwgdXJsKTsKLX0KLSNlbmRpZgotCi1jb25zdCBBdG9taWNTdHJpbmcmIE5hdmln
YXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyOjpzdXBwbGVtZW50TmFtZSgpCi17Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiTmF2aWdhdG9yUmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXIiKSk7Ci0gICAgcmV0dXJuIG5hbWU7Ci19Ci0KLXZvaWQgcHJvdmlkZVJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyVG8oUGFnZSogcGFnZSwgUmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXJDbGllbnQqIGNsaWVudCkKLXsKLSAgICBSZWZDb3VudGVkU3VwcGxlbWVudDxQYWdlLCBOYXZp
Z2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcj46OnByb3ZpZGVUbyhwYWdlLCBOYXZpZ2F0b3JS
ZWdpc3RlclByb3RvY29sSGFuZGxlcjo6c3VwcGxlbWVudE5hbWUoKSwgTmF2aWdhdG9yUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXI6OmNyZWF0ZShjbGllbnQpKTsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCi0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmln
YXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3By
b3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTkwOWU1Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDExLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChD
KSAyMDEyLCBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAq
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0g
KiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKLSAqIERBTUFHRS4KLSAq
LwotCi0jaWZuZGVmIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyX2gKLSNkZWZpbmUg
TmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJfaAotCi0jaWYgRU5BQkxFKFJFR0lTVEVS
X1BST1RPQ09MX0hBTkRMRVIpCi0KLSNpbmNsdWRlICJSZWZDb3VudGVkU3VwcGxlbWVudC5oIgot
I2luY2x1ZGUgIlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1jbGFzcyBQYWdlOwotY2xhc3MgTmF2aWdhdG9yOwotCi10eXBlZGVm
IGludCBFeGNlcHRpb25Db2RlOwotCi1jbGFzcyBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFu
ZGxlciA6IHB1YmxpYyBSZWZDb3VudGVkU3VwcGxlbWVudDxQYWdlLCBOYXZpZ2F0b3JSZWdpc3Rl
clByb3RvY29sSGFuZGxlcj4gewotcHVibGljOgotICAgIHZpcnR1YWwgfk5hdmlnYXRvclJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKCk7Ci0KLSAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBz
dXBwbGVtZW50TmFtZSgpOwotICAgIHN0YXRpYyBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFu
ZGxlciogZnJvbShQYWdlKik7Ci0KLSAgICBzdGF0aWMgdm9pZCByZWdpc3RlclByb3RvY29sSGFu
ZGxlcihOYXZpZ2F0b3IqLCBjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1cmws
IGNvbnN0IFN0cmluZyYgdGl0bGUsIEV4Y2VwdGlvbkNvZGUmKTsKLQotI2lmIEVOQUJMRShDVVNU
T01fU0NIRU1FX0hBTkRMRVIpCi0gICAgc3RhdGljIFN0cmluZyBpc1Byb3RvY29sSGFuZGxlclJl
Z2lzdGVyZWQoTmF2aWdhdG9yKiwgY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYg
dXJsLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgc3RhdGljIHZvaWQgdW5yZWdpc3RlclByb3RvY29s
SGFuZGxlcihOYXZpZ2F0b3IqLCBjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1
cmwsIEV4Y2VwdGlvbkNvZGUmKTsKLSNlbmRpZgotCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8TmF2
aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI+IGNyZWF0ZShSZWdpc3RlclByb3RvY29sSGFu
ZGxlckNsaWVudCopOwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IE5hdmlnYXRvclJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyKFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50KiBjbGllbnQpCi0g
ICAgICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgIHsgfQotCi0gICAgUmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXJDbGllbnQqIGNsaWVudCgpIHsgcmV0dXJuIG1fY2xpZW50OyB9Ci0KLSAgICBSZWdp
c3RlclByb3RvY29sSGFuZGxlckNsaWVudCogbV9jbGllbnQ7Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikK
LQotI2VuZGlmIC8vIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xo
YW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmlkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMjc0YmI1OS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5p
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykg
MjAwOCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAgICBD
b3B5cmlnaHQgKEMpIDIwMTIsIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgotKi8KLQotbW9kdWxlIHdpbmRvdyB7Ci0KLSAgICBpbnRlcmZhY2UgWwotICAgICAgICBTdXBw
bGVtZW50YWw9TmF2aWdhdG9yCi0gICAgXSBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxl
ciB7Ci0gICAgICAgIFtDb25kaXRpb25hbD1SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSXSB2b2lk
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGluIERPTVN0cmluZyBzY2hlbWUsIGluIERPTVN0cmlu
ZyB1cmwsIGluIERPTVN0cmluZyB0aXRsZSkKLSAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRp
b24pOwotICAgICAgICBbQ29uZGl0aW9uYWw9UkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiZDVVNU
T01fU0NIRU1FX0hBTkRMRVJdIERPTVN0cmluZyBpc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQo
aW4gRE9NU3RyaW5nIHNjaGVtZSwgaW4gRE9NU3RyaW5nIHVybCkKLSAgICAgICAgICAgIHJhaXNl
cyhET01FeGNlcHRpb24pOwotICAgICAgICBbQ29uZGl0aW9uYWw9UkVHSVNURVJfUFJPVE9DT0xf
SEFORExFUiZDVVNUT01fU0NIRU1FX0hBTkRMRVJdIHZvaWQgdW5yZWdpc3RlclByb3RvY29sSGFu
ZGxlcihpbiBET01TdHJpbmcgc2NoZW1lLCBpbiBET01TdHJpbmcgdXJsKQotICAgICAgICAgICAg
cmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgfTsKLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL1JlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyQ2xpZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhODMy
YWMuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIv
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAot
ICovCi0KLSNpZm5kZWYgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRfaAotI2RlZmluZSBS
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudF9oCi0KLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJP
VE9DT0xfSEFORExFUikKLQotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFBhZ2U7Ci0KLWNsYXNzIFJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyQ2xpZW50IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5SZWdpc3RlclByb3RvY29sSGFu
ZGxlckNsaWVudCgpIHsgfQotICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxl
cihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkgPSAwOwotCi0jaWYgRU5BQkxFKENVU1RPTV9T
Q0hFTUVfSEFORExFUikKLSAgICBlbnVtIEN1c3RvbUhhbmRsZXJzU3RhdGUgewotICAgICAgICBD
dXN0b21IYW5kbGVyc05ldywKLSAgICAgICAgQ3VzdG9tSGFuZGxlcnNSZWdpc3RlcmVkLAotICAg
ICAgICBDdXN0b21IYW5kbGVyc0RlY2xpbmVkCi0gICAgfTsKLQotICAgIHZpcnR1YWwgQ3VzdG9t
SGFuZGxlcnNTdGF0ZSBpc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoY29uc3QgU3RyaW5nJiBz
Y2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKLSAg
ICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNj
aGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCkgPSAwOwotI2Vu
ZGlmCi19OwotCi12b2lkIHByb3ZpZGVSZWdpc3RlclByb3RvY29sSGFuZGxlclRvKFBhZ2UqLCBS
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCopOwotCi19Ci0KLSNlbmRpZiAvLyBFTkFCTEUo
UkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLSNlbmRpZiAvLyBSZWdpc3RlclByb3RvY29sSGFu
ZGxlckNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA4YjBkYjIxLi5mNzFhZTEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkKQEAgLTI0OSwxMiArMjQ5LDEyIEBAIFNPVVJDRVMgKz0gXAogICAgIE1vZHVsZXMvZmlsZXN5
c3RlbS9GaWxlV3JpdGVyU3luYy5jcHAgXAogICAgIE1vZHVsZXMvZmlsZXN5c3RlbS9Mb2NhbEZp
bGVTeXN0ZW0uY3BwIFwKICAgICBNb2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVT
eXN0ZW0uY3BwIFwKKyAgICBNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JD
b250ZW50VXRpbHMuY3BwIFwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90
aWZpY2F0aW9ucy5jcHAgXAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
Y3BwIFwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcCBc
CiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwIFwK
ICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3Bw
IFwKLSAgICBNb2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29s
SGFuZGxlci5jcHAgXAogICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBcCiAgICAgY3Nz
L0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZS5j
cHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCBkYjA0ZjQxLi42
M2M3ZjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNjYsOCAr
NjYsOCBAQAogICAgICAgJy4uL01vZHVsZXMvaW5kZXhlZGRiJywKICAgICAgICcuLi9Nb2R1bGVz
L21lZGlhc291cmNlJywKICAgICAgICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywKKyAgICAgICcu
Li9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscycsCiAgICAgICAnLi4vTW9kdWxlcy9ub3Rp
ZmljYXRpb25zJywKLSAgICAgICcuLi9Nb2R1bGVzL3Byb3RvY29saGFuZGxlcicsCiAgICAgICAn
Li4vTW9kdWxlcy9xdW90YScsCiAgICAgICAnLi4vTW9kdWxlcy9zcGVlY2gnLAogICAgICAgJy4u
L01vZHVsZXMvd2ViYXVkaW8nLApAQCAtMTEyMiw4ICsxMTIyLDggQEAKICAgICAgICAgICAgICAg
Jy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2ludGVudHMnLAogICAgICAgICAgICAgICAnLS1pbmNs
dWRlJywgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgICAgICAgICAnLS1pbmNsdWRl
JywgJy4uL01vZHVsZXMvbWVkaWFzdHJlYW0nLAorICAgICAgICAgICAgICAnLS1pbmNsdWRlJywg
Jy4uL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzJywKICAgICAgICAgICAgICAgJy0taW5j
bHVkZScsICcuLi9Nb2R1bGVzL25vdGlmaWNhdGlvbnMnLAotICAgICAgICAgICAgICAnLS1pbmNs
dWRlJywgJy4uL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyJywKICAgICAgICAgICAgICAgJy0taW5j
bHVkZScsICcuLi9Nb2R1bGVzL3dlYmF1ZGlvJywKICAgICAgICAgICAgICAgJy0taW5jbHVkZScs
ICcuLi9Nb2R1bGVzL3dlYmRhdGFiYXNlJywKICAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcu
Li9jc3MnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDBlOTU0ZDcuLjM4OWU1ZjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTg2NCwxMiArODY0LDEyIEBACiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9t
ZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaWRsJywKKyAgICAgICAgICAgICdNb2R1bGVz
L25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuaWRsJywKICAgICAg
ICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwn
LAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsJywK
ICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9X
b3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5pZGwnLAotICAgICAgICAgICAgJ01vZHVsZXMvcHJv
dG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmlkbCcsCiAgICAg
ICAgICAgICAnTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5pZGwnLAogICAgICAgICAgICAg
J01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL3F1
b3RhL1N0b3JhZ2VJbmZvRXJyb3JDYWxsYmFjay5pZGwnLApAQCAtMTYxMSw2ICsxNjExLDkgQEAK
ICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYUNvbnRyb2xsZXIuaCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgnLAor
ICAgICAgICAgICAgJ01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRl
bnRVdGlscy5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxz
L05hdmlnYXRvckNvbnRlbnRVdGlscy5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL25hdmlnYXRv
cmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwJywKICAg
ICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5o
JywKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCcs
CkBAIC0xNjIyLDkgKzE2MjUsNiBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnTW9kdWxl
cy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmNwcCcsCiAgICAgICAg
ICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmgn
LAotICAgICAgICAgICAgJ01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyLmNwcCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9wcm90b2NvbGhhbmRs
ZXIvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaCcsCi0gICAgICAgICAgICAnTW9k
dWxlcy9wcm90b2NvbGhhbmRsZXIvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQuaCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAnLAogICAgICAgICAg
ICAgJ01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuaCcsCiAgICAgICAgICAgICAnTW9kdWxl
cy9xdW90YS9TdG9yYWdlSW5mby5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAxMDE4MWY1Li4yODA0
YjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtMTYsOCArMTYsOCBAQCBJTkNMVURFUEFUSCArPSBcCiAg
ICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvZmlsZXN5c3RlbSBcCiAgICAgJCRTT1VSQ0VfRElSL01v
ZHVsZXMvZ2VvbG9jYXRpb24gXAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL2luZGV4ZWRkYiBc
CisgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIFwKICAgICAk
JFNPVVJDRV9ESVIvTW9kdWxlcy9ub3RpZmljYXRpb25zIFwKLSAgICAkJFNPVVJDRV9ESVIvTW9k
dWxlcy9wcm90b2NvbGhhbmRsZXIgXAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL3F1b3RhIFwK
ICAgICAkJFNPVVJDRV9ESVIvTW9kdWxlcy93ZWJhdWRpbyBcCiAgICAgJCRTT1VSQ0VfRElSL01v
ZHVsZXMvd2ViZGF0YWJhc2UgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagppbmRleCA4NzU4ZmNlLi5mMmY0MTQ2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjUxNTEsMTQgKzI1MTUxLDE0IEBACiAJ
CQkJPC9GaWxlPgogCQkJPC9GaWx0ZXI+CiAJCQk8RmlsdGVyCi0JCQkJTmFtZT0icHJvdG9jb2xo
YW5kbGVyIgorCQkJCU5hbWU9Im5hdmlnYXRvcmNvbnRlbnR1dGlscyIKIAkJCQk+CiAJCQkJPEZp
bGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXHByb3RvY29saGFuZGxlclxOYXZpZ2F0
b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5jcHAiCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9k
dWxlc1xuYXZpZ2F0b3Jjb250ZW50dXRpbHNcTmF2aWdhdG9yQ29udGVudFV0aWxzLmNwcCIKIAkJ
CQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVs
ZXNccHJvdG9jb2xoYW5kbGVyXE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmgiCisJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xuYXZpZ2F0b3Jjb250ZW50dXRpbHNcTmF2aWdh
dG9yQ29udGVudFV0aWxzLmgiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQk8L0ZpbHRlcj4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNw
cm9wcyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNwcm9w
cwppbmRleCAxNWFhOWJmLi5iZmVlNGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHMKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52c3Byb3BzCkBAIC03LDcgKzcsNyBAQAogCT4KIAk8
VG9vbAogCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpLi4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XE1vZHVsZXNcZmlsZXN5c3RlbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xn
ZW9sb2NhdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xpbmRleGVkZGIm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbWVkaWFzb3VyY2UmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccHJvdG9jb2xoYW5kbGVyJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxNb2R1bGVzXHF1b3RhJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxN
b2R1bGVzXG5vdGlmaWNhdGlvbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNc
d2ViZGF0YWJhc2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcd2Vic29ja2V0
cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eSZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGJyaWRnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlXGMmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxqc2MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XGNzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZWRpdGluZyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cZmlsZWFwaSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5n
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcbWF0aG1sJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3R5bGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHJlbmRlcmluZ1xzdmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xnZW5lcmljJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxiaW5kaW5nc1xqcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmlu
ZGluZ3NcanNcc3BlY2lhbGl6YXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGRvbSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tXGRlZmF1bHQmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGhpc3RvcnkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWwmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcY2FudmFzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxodG1sXHBhcnNlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxzaGFkb3cm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGluc3BlY3RvciZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cbG9hZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXBwY2Fj
aGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNoaXZlJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZVxjZiZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cbG9hZGVyXGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcaWNv
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbWF0aG1sJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXGFuaW1hdGlvbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVxzY3JvbGxpbmcmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHBhZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9y
bSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cYW5pbWF0aW9uJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxtb2NrJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxwbGF0Zm9ybVxzcWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHdp
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29yayZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29ya1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBsYXRmb3JtXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9y
bVxncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Nc
Y2EmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnMm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcYXJt
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdHJhbnNmb3JtcyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dCZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dFx0cmFuc2NvZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ceG1sXHBhcnNlciZxdW90OzsmcXVvdDsk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXMmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHBsdWdpbnNcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcYW5pbWF0aW9uJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHN2Z1xwcm9wZXJ0aWVzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdc
Z3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlx0ZXN0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3
bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN0b3JhZ2UmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHdlYnNvY2tldHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdvcmtlcnMm
cXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDsk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxp
bmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXGluY2x1ZGVccHRocmVhZHMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIp
XGluY2x1ZGVcc3FsaXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRl
XEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRl
XHpsaWImcXVvdDsiCisJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJv
amVjdERpcikuLiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xmaWxlc3lzdGVt
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGdlb2xvY2F0aW9uJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGluZGV4ZWRkYiZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cTW9kdWxlc1xtZWRpYXNvdXJjZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
TW9kdWxlc1xuYXZpZ2F0b3Jjb250ZW50dXRpbHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XE1vZHVsZXNccXVvdGEmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbm90aWZp
Y2F0aW9ucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxhY2Nlc3NpYmlsaXR5XHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2VcYyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cYnJpZGdlXGpzYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cY3NzJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxm
aWxlYXBpJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xtYXRobWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHJlbmRlcmluZ1xzdHlsZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5n
XHN2ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3MmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXGJpbmRpbmdzXGdlbmVyaWMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XGJpbmRpbmdzXGpzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqc1xzcGVj
aWFsaXphdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxkb21cZGVmYXVsdCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caGlz
dG9yeSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbCZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5caHRtbFxjYW52YXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxccGFy
c2VyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXHNoYWRvdyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5caW5zcGVjdG9yJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2Fk
ZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcHBjYWNoZSZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hpdmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGxvYWRlclxhcmNoaXZlXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJc
Y2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxpY29uJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxtYXRobWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2Um
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2VcYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxwYWdlXHNjcm9sbGluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
cGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXG1vY2smcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
XHNxbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cd2luJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxwbGF0Zm9ybVxuZXR3b3JrXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xjYSZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xhcm0mcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1x0cmFuc2Zvcm1zJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxwbGF0Zm9ybVx0ZXh0JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxw
bGF0Zm9ybVx0ZXh0XHRyYW5zY29kZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXGdyYXBoaWNzXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ceG1sJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlx4bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmpcV2ViQ29yZVxEZXJpdmVkU291cmNlcyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5ccGx1Z2lucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGx1Z2luc1x3aW4m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3Zn
XHByb3BlcnRpZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljc1xmaWx0
ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHRlc3RpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdtbCZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cc3RvcmFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cd2Vi
c29ja2V0cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cd29ya2VycyZxdW90OzsmcXVvdDsk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRl
XHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0
ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVk
ZVxwdGhyZWFkcyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxzcWxp
dGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENv
cmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcemxpYiZxdW90OyIK
IAkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9fV0lOMzJfXztESVNBQkxFXzNEX1JFTkRFUklO
RztXRUJDT1JFX0NPTlRFWFRfTUVOVVMiCiAJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIgogCQlQ
cmVjb21waWxlZEhlYWRlclRocm91Z2g9IldlYkNvcmVQcmVmaXguaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlGb3J3YXJkaW5nSGVhZGVycy5jbWQgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRlcnMuY21kCmlu
ZGV4IDc5YzM2MjAuLjc1NGE1N2YgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL2NvcHlGb3J3YXJkaW5nSGVhZGVycy5jbWQKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZApAQCAtMjIsOCArMjIsOCBAQCB4
Y29weSAveSAvZCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcb2JqXFdlYkNvcmVcRGVyaXZlZFNv
dXJjZXNcKi5oIiAiJUNPTkZJR1VSQQogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1vZHVs
ZXNcZmlsZXN5c3RlbVwqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNv
cmUiCiB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5cTW9kdWxlc1xnZW9sb2NhdGlvblwqLmgi
ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29weSAveSAvZCAi
JVByb2plY3REaXIlLi5cTW9kdWxlc1xtZWRpYXNvdXJjZVwqLmgiICIlQ09ORklHVVJBVElPTkJV
SUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCit4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5cTW9k
dWxlc1xuYXZpZ2F0b3Jjb250ZW50dXRpbHNcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVc
aW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNcbm90
aWZpY2F0aW9uc1wqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUi
Ci14Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5cTW9kdWxlc1xwcm90b2NvbGhhbmRsZXJcKi5o
IiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2Qg
IiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNccXVvdGFcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJ
UiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNc
d2ViZGF0YWJhc2VcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3Jl
IgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNcd2Vic29ja2V0c1wqLmgiICIl
Q09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRiZjk4
ZGUuLjY0OTcyNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDgtMjQgIE1pa2hh
aWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAg
UmVuYW1lIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRp
bHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9kaWZp
ZWQgUGxhdGZvcm1FZmwuY21ha2Ugc28gdGhhdCBpdCBpbmNsdWRlcyB0aGUgcmVuYW1lZCBmaWxl
cy4KKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorCiAyMDEyLTA4LTIwICBEb21pbmlr
IFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CiAKICAgICAgICAgW0VG
TF0gR2V0IHJpZCBvZiBwYW5nbyBiYWNrZW5kIHN1cHBvcnQgb25jZSBoYXJmYnV6ei1uZyBpcyB3
b3JraW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBjZWEzZTVlLi4wZDY1ZjkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTc4LDkgKzc4LDkgQEAgSUYgKEVOQUJMRV9CQVRURVJZ
X1NUQVRVUykKICAgKQogRU5ESUYgKCkKIAotSUYgKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9I
QU5ETEVSKQorSUYgKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKICAgTElTVChBUFBF
TkQgV2ViS2l0X0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxl
cy9wcm90b2NvbGhhbmRsZXIiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbmF2aWdhdG9y
Y29udGVudHV0aWxzIgogICApCiBFTkRJRiAoKQogCkBAIC0xMDIsNyArMTAyLDcgQEAgTElTVChB
UFBFTkQgV2ViS2l0X1NPVVJDRVMKICAgICBlZmwvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50RWZsLmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50
RWZsLmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3Bw
IAotICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVm
bC5jcHAgCisgICAgZWZsL1dlYkNvcmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dEVmbC5jcHAgCiAgICAgZWZsL1dlYkNvcmVTdXBwb3J0L1N0b3JhZ2VUcmFja2VyQ2xpZW50RWZs
LmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRFZmwuY3BwCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IDEwNTkxODEuLmE3ZWRmYjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTI0ICBNaWto
YWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAg
IFJlbmFtZSBSZWdpc3RlclByb3RvY29sSGFuZGxlciBBUEkgdG8gTmF2aWdhdG9yQ29udGVudFV0
aWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDky
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFt
aW5nIHdoYXRldmVyIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLXByZWZpeGVkIHRvIE5hdmlnYXRv
ckNvbnRlbnRVdGlscy1wcmVmaXhlZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Fib3V0
RGF0YUVuYWJsZUZlYXR1cmVzLmluOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWVDbGllbnRCbGFja0JlcnJ5OjpyZWdpc3RlclByb3RvY29sSGFuZGxlcik6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oOgorICAgICAgICAo
Q2hyb21lQ2xpZW50QmxhY2tCZXJyeSk6CisKIDIwMTItMDgtMjIgIENyeXN0YWwgWmhhbmcgIDxo
YWl6aGFuZ0ByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBNYWtlIGFsbCBwaWNrZXJz
IG5vbi16b29tYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNv
cmVTdXBwb3J0L0Fib3V0RGF0YUVuYWJsZUZlYXR1cmVzLmluIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Fib3V0RGF0YUVuYWJsZUZlYXR1cmVzLmluCmluZGV4IDE1
ZTQwZTYuLjQyZmMzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJD
b3JlU3VwcG9ydC9BYm91dERhdGFFbmFibGVGZWF0dXJlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhRW5hYmxlRmVhdHVyZXMuaW4KQEAg
LTEyMiw2ICsxMjIsNyBAQCBNSFRNTAogTUlDUk9EQVRBCiBNVVRBVElPTl9PQlNFUlZFUlMKIE1Z
U1RFUklPVVNfRkVBVFVSRQorTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMKIE5FVFNDQVBFX1BMVUdJ
Tl9NRVRBREFUQV9DQUNIRQogTkVUV09SS19JTkZPCiBORVdfWE1MCkBAIC0xNTAsNyArMTUxLDYg
QEAgUFJPR1JFU1NfVEFHCiBQVVJHRUFCTEVfTUVNT1JZCiBRVU9UQQogUkVHRVhQX1RSQUNJTkcK
LVJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIKIFJFUEFJTlRfVEhST1RUTElORwogUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUKIFJVQkJFUl9CQU5ESU5HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tC
ZXJyeS5jcHAKaW5kZXggOWE2MzI1Zi4uNTQ2ZGI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRC
bGFja0JlcnJ5LmNwcApAQCAtODI1LDYgKzgyNSwxMiBAQCBQYXNzT3duUHRyPENvbG9yQ2hvb3Nl
cj4gQ2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6Y3JlYXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3Nl
cgogICAgIHJldHVybiBudWxscHRyOwogfQogCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5U
X1VUSUxTKQordm9pZCBDaHJvbWVDbGllbnRCbGFja0JlcnJ5OjpyZWdpc3RlclByb3RvY29sSGFu
ZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBT
dHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKK3sKKyAgICBtX3dlYlBhZ2VQcml2YXRl
LT5tX2NsaWVudC0+cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoc2NoZW1lLCBiYXNlVVJMLCB1cmws
IHRpdGxlKTsKK30KKwogI2lmIEVOQUJMRShDVVNUT01fU0NIRU1FX0hBTkRMRVIpCiBDaHJvbWVD
bGllbnQ6OkN1c3RvbUhhbmRsZXJzU3RhdGUgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6aXNQcm90
b2NvbEhhbmRsZXJSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcm
IGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsKQogewpAQCAtODM2LDEyICs4NDIsNiBAQCB2b2lk
IENocm9tZUNsaWVudEJsYWNrQmVycnk6OnVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3Qg
U3RyaW5nJiBzY2hlbWUsIGNvbgogICAgIG1fd2ViUGFnZVByaXZhdGUtPm1fY2xpZW50LT51bnJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyKHNjaGVtZSwgYmFzZVVSTCwgdXJsKTsKIH0KICNlbmRpZgot
Ci0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCi12b2lkIENocm9tZUNsaWVu
dEJsYWNrQmVycnk6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1l
LCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcm
IHRpdGxlKQotewotICAgIG1fd2ViUGFnZVByaXZhdGUtPm1fY2xpZW50LT5yZWdpc3RlclByb3Rv
Y29sSGFuZGxlcihzY2hlbWUsIGJhc2VVUkwsIHVybCwgdGl0bGUpOwotfQogI2VuZGlmCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmggYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oCmluZGV4
IGQ0ZDAyZjguLjU2MDJmZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmgKKysrIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaApAQCAt
MTU0LDE0ICsxNTQsMTQgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBhbGxvd3NBY2NlbGVy
YXRlZENvbXBvc2l0aW5nKCkgY29uc3Q7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShSRUdJU1RFUl9Q
Uk9UT0NPTF9IQU5ETEVSKQorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKICAg
ICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiAvKnNj
aGVtZSovLCBjb25zdCBTdHJpbmcmIC8qYmFzZVVSTCovLCBjb25zdCBTdHJpbmcmIC8qdXJsKi8s
IGNvbnN0IFN0cmluZyYgLyp0aXRsZSovKTsKLSNlbmRpZgogCiAjaWYgRU5BQkxFKENVU1RPTV9T
Q0hFTUVfSEFORExFUikKICAgICB2aXJ0dWFsIEN1c3RvbUhhbmRsZXJzU3RhdGUgaXNQcm90b2Nv
bEhhbmRsZXJSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYgLypzY2hlbWUqLywgY29uc3QgU3RyaW5n
JiAvKmJhc2VVUkwqLywgY29uc3QgU3RyaW5nJiAvKnVybCovKTsKICAgICB2aXJ0dWFsIHZvaWQg
dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIC8qc2NoZW1lKi8sIGNvbnN0
IFN0cmluZyYgLypiYXNlVVJMKi8sIGNvbnN0IFN0cmluZyYgLyp1cmwqLyk7CiAjZW5kaWYKKyNl
bmRpZgogCiAgICAgQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZSogd2ViUGFnZVBy
aXZhdGUoKSBjb25zdCB7IHJldHVybiBtX3dlYlBhZ2VQcml2YXRlOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggNDMyOGVkMS4uN2U0YmM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0wOC0yNCAgTWlraGFpbCBQb3pkbnlha292ICA8
bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KKworICAgICAgICBSZW5hbWUgUmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXIgQVBJIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ5MjAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWluZyB3aGF0ZXZlciBSZWdp
c3RlclByb3RvY29sSGFuZGxlci1wcmVmaXhlZCB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMtcHJl
Zml4ZWQuCisgICAgICAgIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50SW1wbCBpcyByZW5h
bWVkIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGwuCisKKyAgICAgICAgKiBmZWF0
dXJlcy5neXBpOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudElt
cGw6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dEltcGw6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGwpOgorICAgICAgICAoV2ViS2l0
OjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsOjpyZWdpc3RlclByb3RvY29sSGFuZGxl
cik6CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAgKE5hdmlnYXRv
ckNvbnRlbnRVdGlsc0NsaWVudEltcGwpOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0b3JDb250
ZW50VXRpbHNDbGllbnRJbXBsOjp+TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbCk6Cisg
ICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OldlYlZpZXdJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKwogMjAxMi0w
OC0yMyAgV2VpIEppYSAgPHdqaWFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIGNyZWF0ZSBkaWZm
ZXJlbnQgV2ViS2l0OjpXZWJNZWRpYVBsYXllciBiYXNlZCBvbiBVUkwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vZmVhdHVyZXMuZ3lwaQppbmRleCA2YjE2NWZkLi5iYTgyMjUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9mZWF0dXJlcy5neXBpCkBAIC04NywxMSArODcsMTEgQEAKICAgICAgICdFTkFCTEVfTUhU
TUw9MScsCiAgICAgICAnRU5BQkxFX01JQ1JPREFUQT0wJywKICAgICAgICdFTkFCTEVfTVVUQVRJ
T05fT0JTRVJWRVJTPTwoZW5hYmxlX211dGF0aW9uX29ic2VydmVycyknLAorICAgICAgJ0VOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUz0xJywKICAgICAgICdFTkFCTEVfUEFHRV9WSVNJQklM
SVRZX0FQST0xJywKICAgICAgICdFTkFCTEVfUE9JTlRFUl9MT0NLPTEnLAogICAgICAgJ0VOQUJM
RV9QUk9HUkVTU19FTEVNRU5UPTEnLAogICAgICAgJ0VOQUJMRV9RVU9UQT0xJywKLSAgICAgICdF
TkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUj0xJywKICAgICAgICdFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUU9MScsCiAgICAgICAnRU5BQkxFX1JVQlk9MScsCiAgICAgICAnRU5B
QkxFX1NBTkRCT1g9MScsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9D
aHJvbWVDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNs
aWVudEltcGwuY3BwCmluZGV4IDMyOWE5OWYuLmI5N2FmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC0xMTIyLDE4ICsxMTIyLDE4
IEBAIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6ZGFzaGJvYXJkUmVnaW9uc0NoYW5nZWQoKQogfQog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLVBhc3NPd25Q
dHI8UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsPiBSZWdpc3RlclByb3RvY29sSGFu
ZGxlckNsaWVudEltcGw6OmNyZWF0ZShXZWJWaWV3SW1wbCogd2ViVmlldykKKyNpZiBFTkFCTEUo
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCitQYXNzT3duUHRyPE5hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudEltcGw+IE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGw6OmNyZWF0ZShXZWJW
aWV3SW1wbCogd2ViVmlldykKIHsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3IFJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyQ2xpZW50SW1wbCh3ZWJWaWV3KSk7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsKHdlYlZpZXcpKTsKIH0KIAotUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsOjpSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVu
dEltcGwoV2ViVmlld0ltcGwqIHdlYlZpZXcpCitOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJ
bXBsOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsKFdlYlZpZXdJbXBsKiB3ZWJWaWV3
KQogICAgIDogbV93ZWJWaWV3KHdlYlZpZXcpCiB7CiB9CiAKLXZvaWQgUmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXJDbGllbnRJbXBsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcm
IHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3Qg
U3RyaW5nJiB0aXRsZSkgCit2b2lkIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGw6OnJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcm
IGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKQogeyAKICAg
ICBtX3dlYlZpZXctPmNsaWVudCgpLT5yZWdpc3RlclByb3RvY29sSGFuZGxlcihzY2hlbWUsIGJh
c2VVUkwsIHVybCwgdGl0bGUpOwogfSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuaAppbmRleCBhNzg2ZGM1Li42MmIzOTk4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCkBAIC0zMyw4ICszMyw4IEBACiAj
ZGVmaW5lIENocm9tZUNsaWVudEltcGxfaAogCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50Q2hyb21p
dW0uaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaCIKICNpbmNsdWRl
ICJQb3B1cE1lbnUuaCIKLSNpbmNsdWRlICJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudC5o
IgogI2luY2x1ZGUgIlNlYXJjaFBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYk5hdmlnYXRpb25Q
b2xpY3kuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2ViQ29sb3IuaD4KQEAgLTIzNywxNSArMjM3LDE1
IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
Q2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVu
dCB7CitjbGFzcyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsIDogcHVibGljIFdlYkNv
cmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NPd25QdHI8UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsPiBjcmVhdGUoV2ViVmll
d0ltcGwqKTsKLSAgICB+UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsKCkgeyB9Cisg
ICAgc3RhdGljIFBhc3NPd25QdHI8TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbD4gY3Jl
YXRlKFdlYlZpZXdJbXBsKik7CisgICAgfk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGwo
KSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBT
dHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwg
Y29uc3QgU3RyaW5nJiB0aXRsZSkgT1ZFUlJJREU7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQg
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsKFdlYlZpZXdJbXBsKik7CisgICAgZXhw
bGljaXQgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbChXZWJWaWV3SW1wbCopOwogCiAg
ICAgV2ViVmlld0ltcGwqIG1fd2ViVmlldzsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggYzZmOWY3ZS4uYjQ4Y2MwOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtNDMyLDggKzQzMiw4IEBAIFdlYlZp
ZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KiBjbGllbnQpCiAjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKICAgICAsIG1fdXNlck1lZGlhQ2xpZW50SW1wbCh0aGlzKQogI2VuZGlmCi0j
aWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCi0gICAgLCBtX3JlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyQ2xpZW50KFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50SW1wbDo6Y3Jl
YXRlKHRoaXMpKQorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKyAgICAsIG1f
bmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudElt
cGw6OmNyZWF0ZSh0aGlzKSkKICNlbmRpZgogICAgICwgbV9mbGluZ01vZGlmaWVyKDApCiB7CkBA
IC00NjQsOCArNDY0LDggQEAgV2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGllbnQq
IGNsaWVudCkKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIHByb3ZpZGVOb3RpZmljYXRpb24obV9wYWdlLmdldCgpLCBub3RpZmlj
YXRpb25QcmVzZW50ZXJJbXBsKCkpOwogI2VuZGlmCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RP
Q09MX0hBTkRMRVIpCi0gICAgcHJvdmlkZVJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyVG8obV9wYWdl
LmdldCgpLCBtX3JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50LmdldCgpKTsKKyNpZiBFTkFC
TEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisgICAgcHJvdmlkZU5hdmlnYXRvckNvbnRlbnRV
dGlsc1RvKG1fcGFnZS5nZXQoKSwgbV9uYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuZ2V0KCkp
OwogI2VuZGlmCiAKICAgICBwcm92aWRlQ29udGV4dEZlYXR1cmVzVG8obV9wYWdlLmdldCgpLCBt
X2ZlYXR1cmVTd2l0Y2hDbGllbnQuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmgKaW5kZXggMjA2Y2Y0NS4uNTk4N2ViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC04NTQsOCArODU0LDggQEAgcHJpdmF0ZToKICNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQogICAgIFVzZXJNZWRpYUNsaWVudEltcGwgbV91c2VyTWVkaWFD
bGllbnRJbXBsOwogI2VuZGlmCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIp
Ci0gICAgT3duUHRyPFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50SW1wbD4gbV9yZWdpc3Rl
clByb3RvY29sSGFuZGxlckNsaWVudDsKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpCisgICAgT3duUHRyPE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGw+IG1fbmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50OwogI2VuZGlmCiAgICAgT3duUHRyPFdlYkNvcmU6OkFjdGl2
ZVBsYXRmb3JtR2VzdHVyZUFuaW1hdGlvbj4gbV9nZXN0dXJlQW5pbWF0aW9uOwogICAgIFdlYlBv
aW50IG1fbGFzdFdoZWVsUG9zaXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggYTIyZTQ5My4uZWI2
NWRjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA4LTI0ICBNaWto
YWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAg
IFJlbmFtZSBSZWdpc3RlclByb3RvY29sSGFuZGxlciBBUEkgdG8gTmF2aWdhdG9yQ29udGVudFV0
aWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDky
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFt
aW5nIHdoYXRldmVyIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLXByZWZpeGVkIHRvIE5hdmlnYXRv
ckNvbnRlbnRVdGlscy1wcmVmaXhlZC4KKyAgICAgICAgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJD
bGllbnRFZmwgaXMgcmVuYW1lZCB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwu
Y3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmwuY3BwLgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpjdXN0b21IYW5kbGVyRGF0YUNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpjdXN0b21IYW5kbGVyRGF0YURlbGV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JD
b250ZW50VXRpbHNDbGllbnRFZmw6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0
b3JDb250ZW50VXRpbHNDbGllbnRFZmw6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbCk6
CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmw6OnJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudEVmbDo6aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbDo6dW5yZWdpc3RlclByb3RvY29s
SGFuZGxlcik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTmF2aWdhdG9yQ29udGVudFV0aWxz
Q2xpZW50RWZsLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbC5oLgorICAgICAgICAoTmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50RWZsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudEVmbDo6fk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbCk6CisgICAg
ICAgICogZXdrL2V3a19jdXN0b21faGFuZGxlci5jcHA6CisgICAgICAgICogZXdrL2V3a19jdXN0
b21faGFuZGxlcl9wcml2YXRlLmg6CisgICAgICAgICogZXdrL2V3a192aWV3LmNwcDoKKyAgICAg
ICAgKF9Fd2tfVmlld19Qcml2YXRlX0RhdGEpOgorICAgICAgICAoX2V3a192aWV3X3ByaXZfbmV3
KToKKwogMjAxMi0wOC0yMSAgS2lob25nIEt3b24gIDxraWhvbmcua3dvbkBzYW1zdW5nLmNvbT4K
IAogICAgICAgICBbRUZMXVtHVEtdW0JsYWNrQmVycnldIEZpeCBidWlsZCBlcnJvciBpbiB0aGUg
RGV2aWNlT3JpZW50YXRpb25DbGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1YjYxMmYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250
ZW50VXRpbHNDbGllbnRFZmwuY3BwCkBAIC0wLDAgKzEsOTUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBV
VEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudEVmbC5oIgorCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQor
CisjaW5jbHVkZSAiZXdrX2N1c3RvbV9oYW5kbGVyX3ByaXZhdGUuaCIKKyNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIEV3a19DdXN0
b21fSGFuZGxlcl9EYXRhKiBjdXN0b21IYW5kbGVyRGF0YUNyZWF0ZShFdmFzX09iamVjdCogZXdr
VmlldywgY29uc3QgY2hhciogc2NoZW1lLCBjb25zdCBjaGFyKiBiYXNlVVJMLCBjb25zdCBjaGFy
KiB1cmwpCit7CisgICAgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEgPSBuZXcgRXdrX0N1
c3RvbV9IYW5kbGVyX0RhdGE7CisgICAgZGF0YS0+ZXdrVmlldyA9IGV3a1ZpZXc7CisgICAgZGF0
YS0+c2NoZW1lID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoc2NoZW1lKTsKKyAgICBkYXRhLT5iYXNl
X3VybCA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKGJhc2VVUkwpOworICAgIGRhdGEtPnVybCA9IGVp
bmFfc3RyaW5nc2hhcmVfYWRkKHVybCk7CisgICAgcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyB2
b2lkIGN1c3RvbUhhbmRsZXJEYXRhRGVsZXRlKEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRh
KQoreworICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPnNjaGVtZSk7CisgICAgZWluYV9z
dHJpbmdzaGFyZV9kZWwoZGF0YS0+YmFzZV91cmwpOworICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVs
KGRhdGEtPnVybCk7CisgICAgZGVsZXRlIGRhdGE7Cit9CisKK1Bhc3NPd25QdHI8TmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50RWZsPiBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmw6OmNy
ZWF0ZShFdmFzX09iamVjdCogdmlldykKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE5hdmln
YXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbCh2aWV3KSk7Cit9CisKK05hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudEVmbDo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsKEV2YXNfT2JqZWN0
KiB2aWV3KQorICAgIDogbV92aWV3KHZpZXcpCit7Cit9CisKK3ZvaWQgTmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50RWZsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNj
aGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3Ry
aW5nJiB0aXRsZSkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IGN1c3Rv
bUhhbmRsZXJEYXRhQ3JlYXRlKG1fdmlldywgc2NoZW1lLnV0ZjgoKS5kYXRhKCksIGJhc2VVUkwu
dXRmOCgpLmRhdGEoKSwgdXJsLnV0ZjgoKS5kYXRhKCkpOworICAgIGRhdGEtPnRpdGxlID0gZWlu
YV9zdHJpbmdzaGFyZV9hZGQodGl0bGUudXRmOCgpLmRhdGEoKSk7CisgICAgZXdrX2N1c3RvbV9o
YW5kbGVyX3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIoZGF0YSk7CisgICAgZWluYV9zdHJpbmdz
aGFyZV9kZWwoZGF0YS0+dGl0bGUpOworICAgIGN1c3RvbUhhbmRsZXJEYXRhRGVsZXRlKGRhdGEp
OworfQorCisjaWYgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKK05hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxlcnNTdGF0ZSBOYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnRFZmw6OmlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmIHNjaGVt
ZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCkKK3sKKyAgICBFd2tf
Q3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJEYXRhQ3JlYXRlKG1fdmll
dywgc2NoZW1lLnV0ZjgoKS5kYXRhKCksIGJhc2VVUkwudXRmOCgpLmRhdGEoKSwgdXJsLnV0Zjgo
KS5kYXRhKCkpOworICAgIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxl
cnNTdGF0ZSByZXN1bHQgPSBzdGF0aWNfY2FzdDxDdXN0b21IYW5kbGVyc1N0YXRlPihld2tfY3Vz
dG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihkYXRhKSk7CisgICAgY3VzdG9t
SGFuZGxlckRhdGFEZWxldGUoZGF0YSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lk
IE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbDo6dW5yZWdpc3RlclByb3RvY29sSGFuZGxl
cihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJp
bmcmIHVybCkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IGN1c3RvbUhh
bmRsZXJEYXRhQ3JlYXRlKG1fdmlldywgc2NoZW1lLnV0ZjgoKS5kYXRhKCksIGJhc2VVUkwudXRm
OCgpLmRhdGEoKSwgdXJsLnV0ZjgoKS5kYXRhKCkpOworICAgIGV3a19jdXN0b21faGFuZGxlcl9y
ZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKGRhdGEpOworICAgIGN1c3RvbUhhbmRsZXJEYXRhRGVs
ZXRlKGRhdGEpOworfQorI2VuZGlmCisKK30KKworI2VuZGlmIC8vIEVOQUJMRShOQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZlNDg4ZgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dEVmbC5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3Vu
ZyBFbGVjdHJvbmljcworICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmxfaAorI2RlZmluZSBOYXZpZ2F0b3JDb250
ZW50VXRpbHNDbGllbnRFZmxfaAorCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxT
KQorI2luY2x1ZGUgIk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oIgorCisjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgTmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50RWZsIDogcHVibGljIFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8TmF2aWdhdG9yQ29u
dGVudFV0aWxzQ2xpZW50RWZsPiBjcmVhdGUoRXZhc19PYmplY3QqIHZpZXcpOworCisgICAgfk5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZWdp
c3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBi
YXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CisKKyNpZiBF
TkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQorICAgIHZpcnR1YWwgQ3VzdG9tSGFuZGxlcnNT
dGF0ZSBpc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNv
bnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwpOworICAgIHZpcnR1YWwgdm9p
ZCB1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBT
dHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsKTsKKyNlbmRpZgorCitwcml2YXRlOgor
ICAgIEV2YXNfT2JqZWN0KiBtX3ZpZXc7CisKKyAgICBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnRFZmwoRXZhc19PYmplY3QqIHZpZXcpOworfTsKK30KKworI2VuZGlmCisjZW5kaWYgLy8gTmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
Q2xpZW50RWZsLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTYwMTI0MS4uMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3Rv
Y29sSGFuZGxlckNsaWVudEVmbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw5NSArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKLSAqCi0gKiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJS
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbC5oIgotCi0jaWYgRU5BQkxFKFJFR0lTVEVS
X1BST1RPQ09MX0hBTkRMRVIpCi0KLSNpbmNsdWRlICJld2tfY3VzdG9tX2hhbmRsZXJfcHJpdmF0
ZS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1zdGF0aWMgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGN1c3RvbUhhbmRsZXJEYXRhQ3Jl
YXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBjaGFyKiBzY2hlbWUsIGNvbnN0IGNoYXIq
IGJhc2VVUkwsIGNvbnN0IGNoYXIqIHVybCkKLXsKLSAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0
YSogZGF0YSA9IG5ldyBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YTsKLSAgICBkYXRhLT5ld2tWaWV3
ID0gZXdrVmlldzsKLSAgICBkYXRhLT5zY2hlbWUgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZChzY2hl
bWUpOwotICAgIGRhdGEtPmJhc2VfdXJsID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoYmFzZVVSTCk7
Ci0gICAgZGF0YS0+dXJsID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodXJsKTsKLSAgICByZXR1cm4g
ZGF0YTsKLX0KLQotc3RhdGljIHZvaWQgY3VzdG9tSGFuZGxlckRhdGFEZWxldGUoRXdrX0N1c3Rv
bV9IYW5kbGVyX0RhdGEqIGRhdGEpCi17Ci0gICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+
c2NoZW1lKTsKLSAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT5iYXNlX3VybCk7Ci0gICAg
ZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dXJsKTsKLSAgICBkZWxldGUgZGF0YTsKLX0KLQot
UGFzc093blB0cjxSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbD4gUmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXJDbGllbnRFZmw6OmNyZWF0ZShFdmFzX09iamVjdCogdmlldykKLXsKLSAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsKHZpZXcp
KTsKLX0KLQotUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmw6OlJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyQ2xpZW50RWZsKEV2YXNfT2JqZWN0KiB2aWV3KQotICAgIDogbV92aWV3KHZpZXcp
Ci17Ci19Ci0KLXZvaWQgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmw6OnJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VV
UkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKQotewotICAgIEV3a19D
dXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhID0gY3VzdG9tSGFuZGxlckRhdGFDcmVhdGUobV92aWV3
LCBzY2hlbWUudXRmOCgpLmRhdGEoKSwgYmFzZVVSTC51dGY4KCkuZGF0YSgpLCB1cmwudXRmOCgp
LmRhdGEoKSk7Ci0gICAgZGF0YS0+dGl0bGUgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZCh0aXRsZS51
dGY4KCkuZGF0YSgpKTsKLSAgICBld2tfY3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xf
aGFuZGxlcihkYXRhKTsKLSAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT50aXRsZSk7Ci0g
ICAgY3VzdG9tSGFuZGxlckRhdGFEZWxldGUoZGF0YSk7Ci19Ci0KLSNpZiBFTkFCTEUoQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKQotUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQ6OkN1c3RvbUhh
bmRsZXJzU3RhdGUgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmw6OmlzUHJvdG9jb2xI
YW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNl
VVJMLCBjb25zdCBTdHJpbmcmIHVybCkKLXsKLSAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSog
ZGF0YSA9IGN1c3RvbUhhbmRsZXJEYXRhQ3JlYXRlKG1fdmlldywgc2NoZW1lLnV0ZjgoKS5kYXRh
KCksIGJhc2VVUkwudXRmOCgpLmRhdGEoKSwgdXJsLnV0ZjgoKS5kYXRhKCkpOwotICAgIFJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50OjpDdXN0b21IYW5kbGVyc1N0YXRlIHJlc3VsdCA9IHN0
YXRpY19jYXN0PEN1c3RvbUhhbmRsZXJzU3RhdGU+KGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rl
cl9wcm90b2NvbF9oYW5kbGVyKGRhdGEpKTsKLSAgICBjdXN0b21IYW5kbGVyRGF0YURlbGV0ZShk
YXRhKTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXZvaWQgUmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXJDbGllbnRFZmw6OnVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBz
Y2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwpCi17Ci0gICAg
RXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEgPSBjdXN0b21IYW5kbGVyRGF0YUNyZWF0ZSht
X3ZpZXcsIHNjaGVtZS51dGY4KCkuZGF0YSgpLCBiYXNlVVJMLnV0ZjgoKS5kYXRhKCksIHVybC51
dGY4KCkuZGF0YSgpKTsKLSAgICBld2tfY3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xf
aGFuZGxlcihkYXRhKTsKLSAgICBjdXN0b21IYW5kbGVyRGF0YURlbGV0ZShkYXRhKTsKLX0KLSNl
bmRpZgotCi19Ci0KLSNlbmRpZiAvLyBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1JlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkY2EzYzZjLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw1NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxl
Y3Ryb25pY3MKLSAqCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgUmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmxfaAotI2RlZmluZSBSZWdpc3RlclByb3RvY29s
SGFuZGxlckNsaWVudEVmbF9oCi0KLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExF
UikKLSNpbmNsdWRlICJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudC5oIgotCi0jaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmwgOiBwdWJsaWMgV2ViQ29yZTo6UmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXJDbGllbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsPiBjcmVhdGUoRXZhc19PYmplY3QqIHZpZXcpOwot
Ci0gICAgflJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsKCkgeyB9Ci0gICAgdmlydHVh
bCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25z
dCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxl
KTsKLQotI2lmIEVOQUJMRShDVVNUT01fU0NIRU1FX0hBTkRMRVIpCi0gICAgdmlydHVhbCBDdXN0
b21IYW5kbGVyc1N0YXRlIGlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcm
IHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCk7Ci0gICAg
dmlydHVhbCB2b2lkIHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hl
bWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwpOwotI2VuZGlmCi0K
LXByaXZhdGU6Ci0gICAgRXZhc19PYmplY3QqIG1fdmlldzsKLQotICAgIFJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyQ2xpZW50RWZsKEV2YXNfT2JqZWN0KiB2aWV3KTsKLX07Ci19Ci0KLSNlbmRpZgot
I2VuZGlmIC8vIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXIuY3BwIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlci5jcHAKaW5kZXggMzU3NGExZC4uM2M0MDcx
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlci5jcHAKQEAg
LTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJld2tfY3VzdG9t
X2hhbmRsZXJfcHJpdmF0ZS5oIgogCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRM
RVIpCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQogLyoqCiAgKiBAaW50ZXJu
YWwKICAqIFJlZ2lzdGVyIGEgc2NoZW1lIGhhbmRsZXIuCkBAIC02OSw0ICs2OSw0IEBAIGJvb2wg
ZXdrX2N1c3RvbV9oYW5kbGVyX3VucmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihFd2tfQ3VzdG9t
X0hhbmRsZXJfRGF0YSogZGF0CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKQotI2VuZGlmIC8vIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQorI2Vu
ZGlmIC8vIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXJfcHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlcl9wcml2YXRlLmgKaW5kZXggYmMwZTIxZC4u
NzNmOTdlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFu
ZGxlcl9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFu
ZGxlcl9wcml2YXRlLmgKQEAgLTIyLDcgKzIyLDcgQEAKIAogI2luY2x1ZGUgImV3a192aWV3Lmgi
CiAKLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKKyNpZiBFTkFCTEUoTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpCiBib29sIGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rlcl9w
cm90b2NvbF9oYW5kbGVyKEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhKTsKIAogI2lmIEVO
QUJMRShDVVNUT01fU0NIRU1FX0hBTkRMRVIpCkBAIC0zMCw1ICszMCw1IEBAIEV3a19DdXN0b21f
SGFuZGxlcnNfU3RhdGUgZXdrX2N1c3RvbV9oYW5kbGVyX2lzX3Byb3RvY29sX2hhbmRsZXJfcmVn
aXN0ZXJlZChFd2tfCiBib29sIGV3a19jdXN0b21faGFuZGxlcl91bnJlZ2lzdGVyX3Byb3RvY29s
X2hhbmRsZXIoRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEpOwogCiAjZW5kaWYgLy8gRU5B
QkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKLSNlbmRpZiAvLyBFTkFCTEUoUkVHSVNURVJfUFJP
VE9DT0xfSEFORExFUikKKyNlbmRpZiAvLyBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
CiAjZW5kaWYgLy8gZXdrX2N1c3RvbV9oYW5kbGVyX3ByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5jcHAKaW5kZXggNDBmYmZhZC4uZmZmZWExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ZpZXcuY3BwCkBAIC0xMDMsOCArMTAzLDggQEAKICNpbmNsdWRlICJDb2xvckNob29zZXJDbGll
bnQuaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCi0j
aW5jbHVkZSAiUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmwuaCIKKyNpZiBFTkFCTEUo
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29udGVudFV0aWxz
Q2xpZW50RWZsLmgiCiAjZW5kaWYKIAogc3RhdGljIGNvbnN0IGZsb2F0IHpvb21NaW5pbXVtID0g
MC4wNTsKQEAgLTI1NCw4ICsyNTQsOCBAQCBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7
CiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAgV2ViQ29yZTo6Q29sb3JDaG9vc2Vy
Q2xpZW50KiBjb2xvckNob29zZXJDbGllbnQ7CiAjZW5kaWYKLSNpZiBFTkFCTEUoUkVHSVNURVJf
UFJPVE9DT0xfSEFORExFUikgfHwgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKLSAgICBP
d25QdHI8V2ViQ29yZTo6UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmw+IHJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyQ2xpZW50OworI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgfHwgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKKyAgICBPd25QdHI8V2ViQ29yZTo6
TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsPiBuYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnQ7CiAjZW5kaWYKICAgICBzdHJ1Y3QgewogICAgICAgICBFd2tfTWVudSBtZW51OwpAQCAtNzY0
LDkgKzc2NCw5IEBAIHN0YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19wcml2
X25ldyhFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAgICAgV2ViQ29yZTo6cHJvdmlk
ZUJhdHRlcnlUbyhwcml2LT5wYWdlLmdldCgpLCBuZXcgQmF0dGVyeUNsaWVudEVmbChzbWFydERh
dGEtPnNlbGYpKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRM
RVIpCi0gICAgcHJpdi0+cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQgPSBXZWJDb3JlOjpS
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbDo6Y3JlYXRlKHNtYXJ0RGF0YS0+c2VsZik7
Ci0gICAgV2ViQ29yZTo6cHJvdmlkZVJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyVG8ocHJpdi0+cGFn
ZS5nZXQoKSwgcHJpdi0+cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQuZ2V0KCkpOworI2lm
IEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKyAgICBwcml2LT5uYXZpZ2F0b3JDb250
ZW50VXRpbHNDbGllbnQgPSBXZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmw6
OmNyZWF0ZShzbWFydERhdGEtPnNlbGYpOworICAgIFdlYkNvcmU6OnByb3ZpZGVOYXZpZ2F0b3JD
b250ZW50VXRpbHNUbyhwcml2LT5wYWdlLmdldCgpLCBwcml2LT5uYXZpZ2F0b3JDb250ZW50VXRp
bHNDbGllbnQuZ2V0KCkpOwogI2VuZGlmCiAKICAgICBwcml2LT5wYWdlU2V0dGluZ3MgPSBwcml2
LT5wYWdlLT5zZXR0aW5ncygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDQwZDcxMjIuLjQzNjI0Y2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wOC0yNCAgTWlraGFpbCBQ
b3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KKworICAgICAgICBSZW5h
bWUgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgQVBJIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ5MjAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWluZyB3
aGF0ZXZlciBSZWdpc3RlclByb3RvY29sSGFuZGxlci1wcmVmaXhlZCB0byBOYXZpZ2F0b3JDb250
ZW50VXRpbHMtcHJlZml4ZWQuCisgICAgICAgIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50
R3RrIGlzIHJlbmFtZWQgdG8gTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50R3RrLgorCisgICAg
ICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50R3RrLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50R3RrLmNwcC4KKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xp
ZW50OjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpOYXZp
Z2F0b3JDb250ZW50VXRpbHNDbGllbnQ6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsuaDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1JlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyQ2xpZW50R3RrLmguCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoTmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50Ojp+TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KToKKyAgICAgICAgKiB3
ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfaW5pdCk6
CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXdwcml2YXRlLmg6CisKIDIwMTItMDgtMjMg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJF
R1JFU1NJT04ocjEyNjMwNik6IGl0IGJyb2tlIHRoZSBwbHVnaW4gcHJvY2VzcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViS2l0L2d0ay9H
TlVtYWtlZmlsZS5hbQppbmRleCAwMDQ3M2Y5Li5kYjZjOWIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9HTlVtYWtl
ZmlsZS5hbQpAQCAtMjExLDExICsyMTEsMTEgQEAgd2Via2l0Z3RrX3NvdXJjZXMgKz0gXAogCVNv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0d0a0FkanVzdG1lbnRXYXRjaGVyLmggXAog
CVNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5jcHAg
XAogCVNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5o
IFwKKwlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRp
bHNDbGllbnRHdGsuaCBcCisJU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvTmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50R3RrLmNwcCBcCiAJU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvUGFzdGVib2FyZEhlbHBlckd0ay5oIFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaCBcCiAJU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcCBcCi0JU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRHdGsuaCBc
Ci0JU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXJDbGllbnRHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9Vc2Vy
TWVkaWFDbGllbnRHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9V
c2VyTWVkaWFDbGllbnRHdGsuaCBcCiAJU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
V2ViVmlld0lucHV0TWV0aG9kRmlsdGVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsuY3BwIGIv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xp
ZW50R3RrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDU3NjljCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvTmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50R3RrLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdy
aXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xp
ZW50R3RrLmgiCisKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisKKyNpbmNs
dWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK1Bhc3NPd25QdHI8TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xp
ZW50PiBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQpOworfQorCitOYXZpZ2F0
b3JDb250ZW50VXRpbHNDbGllbnQ6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCgpCit7Cit9
CisKK3ZvaWQgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpyZWdpc3RlclByb3RvY29sSGFu
ZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBT
dHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKK3sgCisgICAgbm90SW1wbGVtZW50ZWQo
KTsgCit9IAorCit9CisjZW5kaWYgLy8gRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvTmF2aWdhdG9yQ29u
dGVudFV0aWxzQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9O
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5hNmYzZTIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50R3RrLmgKQEAgLTAsMCAr
MSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIx
MTAtMTMwMSAgVVNBCisgKi8KKworI2lmbmRlZiBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRH
dGtfaAorI2RlZmluZSBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGtfaAorCisjaWYgRU5B
QkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorI2luY2x1ZGUgIk5hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudC5oIgorCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCA6IHB1YmxpYyBX
ZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQgeworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzT3duUHRyPE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudD4gY3JlYXRlKCk7CisKKyAg
ICB+TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KCkgeyB9CisKKyAgICB2aXJ0dWFsIHZvaWQg
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmlu
ZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpOworCitw
cml2YXRlOgorICAgIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCgpOworfTsKKworfQorCisj
ZW5kaWYKKyNlbmRpZiAvLyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGtfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXJDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRHdGsuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5ZTM4ODUxLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50R3RrLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDQ0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVj
dHJvbmljcwotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAq
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rv
biwgTUEgIDAyMTEwLTEzMDEgIFVTQQotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0ay5oIgotCi0jaWYgRU5BQkxFKFJF
R0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCi0KLSNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgot
I2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBh
c3NPd25QdHI8UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQ+IFJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyQ2xpZW50OjpjcmVhdGUoKQotewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQpOwotfQotCi1SZWdpc3RlclByb3RvY29sSGFuZGxlckNs
aWVudDo6UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQoKQotewotfQotCi12b2lkIFJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50OjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBT
dHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwg
Y29uc3QgU3RyaW5nJiB0aXRsZSkgCi17IAotICAgIG5vdEltcGxlbWVudGVkKCk7IAotfSAKLQot
fQotI2VuZGlmIC8vIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXJDbGllbnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1JlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyQ2xpZW50R3RrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGY0ODg5ZjMuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRHdGsuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcwot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAy
MTEwLTEzMDEgIFVTQQotICovCi0KLSNpZm5kZWYgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGll
bnRHdGtfaAotI2RlZmluZSBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0a19oCi0KLSNp
ZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLSNpbmNsdWRlICJSZWdpc3RlclBy
b3RvY29sSGFuZGxlckNsaWVudC5oIgotCi0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KLQot
bmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50
IDogcHVibGljIFdlYkNvcmU6OlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50IHsKLXB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudD4g
Y3JlYXRlKCk7Ci0KLSAgICB+UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQoKSB7IH0KLQot
ICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNj
aGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3Ry
aW5nJiB0aXRsZSk7Ci0KLXByaXZhdGU6Ci0gICAgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGll
bnQoKTsKLX07Ci0KLX0KLQotI2VuZGlmCi0jZW5kaWYgLy8gUmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXJDbGllbnRHdGtfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3Bw
CmluZGV4IGE1MzY4OTQuLjRkZjIxMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2Vidmlldy5jcHAKQEAgLTM2MjksOSArMzYyOSw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93
ZWJfdmlld19pbml0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgV2ViQ29yZTo6cHJvdmlk
ZVVzZXJNZWRpYVRvKHByaXYtPmNvcmVQYWdlLCBwcml2LT51c2VyTWVkaWFDbGllbnQuZ2V0KCkp
OwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLSAgICBw
cml2LT5yZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCA9IFdlYktpdDo6UmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXJDbGllbnQ6OmNyZWF0ZSgpOwotICAgIFdlYkNvcmU6OnByb3ZpZGVSZWdpc3Rl
clByb3RvY29sSGFuZGxlclRvKHByaXYtPmNvcmVQYWdlLCBwcml2LT5yZWdpc3RlclByb3RvY29s
SGFuZGxlckNsaWVudC5nZXQoKSk7CisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxT
KQorICAgIHByaXYtPm5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCA9IFdlYktpdDo6TmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50OjpjcmVhdGUoKTsKKyAgICBXZWJDb3JlOjpwcm92aWRlTmF2
aWdhdG9yQ29udGVudFV0aWxzVG8ocHJpdi0+Y29yZVBhZ2UsIHByaXYtPm5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudC5nZXQoKSk7CiAjZW5kaWYKIAogICAgIGlmIChEdW1wUmVuZGVyVHJlZVN1
cHBvcnRHdGs6OmR1bXBSZW5kZXJUcmVlTW9kZUVuYWJsZWQoKSkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXdwcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlld3ByaXZhdGUuaAppbmRleCBjMzAyNjk2Li45Njk1
NGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlld3By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlld3ByaXZh
dGUuaApAQCAtMzksOCArMzksOCBAQAogI2luY2x1ZGUgIlVzZXJNZWRpYUNsaWVudEd0ay5oIgog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLSNpbmNsdWRl
ICJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0ay5oIgorI2lmIEVOQUJMRShOQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykKKyNpbmNsdWRlICJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRH
dGsuaCIKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTEyMiw4ICsxMjIsOCBAQCBz
dHJ1Y3QgX1dlYktpdFdlYlZpZXdQcml2YXRlIHsKICAgICBPd25QdHI8V2ViQ29yZTo6R2VvbG9j
YXRpb25DbGllbnRNb2NrPiBnZW9sb2NhdGlvbkNsaWVudE1vY2s7CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotICAgIE93blB0cjxXZWJLaXQ6OlJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50PiByZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudDsK
KyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisgICAgT3duUHRyPFdlYktpdDo6
TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50PiBuYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ7
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA1MzExMmU2Li5kMmFkYmNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDgtMjQgIE1pa2hhaWwgUG96ZG55
YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgUmVuYW1lIFJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyIEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRU5BQkxFX1JFR0lTVEVS
X1BST1RPQ09MX0hBTkRMRVIgaXMgcmVuYW1lZCB0byBFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxMi0wOC0yMiAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0NDAxCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IGNlZGQ5NWQuLmJkZGVmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xMTQs
NyArMTE0LDcgQEAgRU5BQkxFX05PVElGSUNBVElPTlNfbWFjb3N4XzEwOTAgPSBFTkFCTEVfTk9U
SUZJQ0FUSU9OUzsKIEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJID0gOwogRU5BQkxFX1BST0dS
RVNTX0VMRU1FTlQgPSBFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVDsKIEVOQUJMRV9RVU9UQSA9IDsK
LUVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSID0gOworRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTID0gOwogRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FID0gRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FOwogRU5BQkxFX1NDUklQVEVEX1NQRUVDSCA9IDsKIEVO
QUJMRV9TSEFET1dfRE9NID0gOwpAQCAtMTQxLDQgKzE0MSw0IEBAIEVOQUJMRV9XSURHRVRfUkVH
SU9OX21hY29zeCA9IEVOQUJMRV9XSURHRVRfUkVHSU9OOwogRU5BQkxFX1dPUktFUlMgPSBFTkFC
TEVfV09SS0VSUzsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAk
KEVOQUJMRV9DU1NfSElFUkFSQ0hJRVMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
U1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0ZM
RVhCT1gpICQoRU5BQkxFX0NTUzNfVEVYVF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VM
RU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAk
KEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFC
TEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hB
RE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkg
JChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JK
Q19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX1VORE9fTUFOQUdFUikgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0lER0VUX1JFR0lPTikg
JChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVf
Q1NTX0hJRVJBUkNISUVTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9Q
T1NJVElPTikgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19GTEVYQk9YKSAk
KEVOQUJMRV9DU1MzX1RFWFRfREVDT1JBVElPTikgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAk
KEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVf
RklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VM
RU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01VVEFU
SU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJ
QklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAk
KEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9T
VFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdT
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfVU5ET19NQU5BR0VSKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XSURHRVRfUkVHSU9OKSAkKEVOQUJMRV9X
T1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlNzBkZjQ0Li4xNGVkN2QzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDgtMjQgIE1pa2hhaWwgUG96ZG55YWtv
diAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgUmVuYW1lIFJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyIEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1pbmcgd2hhdGV2ZXIg
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXItcHJlZml4ZWQgdG8gTmF2aWdhdG9yQ29udGVudFV0aWxz
LXByZWZpeGVkLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWc6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JD
b250ZW50VXRpbHNDbGllbnQuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQuaC4KKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6On5XZWJO
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJOYXZpZ2F0
b3JDb250ZW50VXRpbHNDbGllbnQ6OmlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6dW5yZWdpc3RlclBy
b3RvY29sSGFuZGxlcik6CisKIDIwMTItMDgtMjIgIEplc3VzIFNhbmNoZXotUGFsZW5jaWEgIDxq
ZXN1cy5wYWxlbmNpYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFtFRkxdIFVzZSBXVEZfVVNF
X1NPVVAgaW5zdGVhZCBCVUlMRElOR19TT1VQX18KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggMTZjZTAwZS4uYTc0
YWJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKQEAgLTExMyw3ICsxMTMsNyBAQCBFTkFCTEVfTk9USUZJQ0FUSU9O
U19tYWNvc3hfMTA5MCA9IEVOQUJMRV9OT1RJRklDQVRJT05TOwogRU5BQkxFX1BBR0VfVklTSUJJ
TElUWV9BUEkgPSA7CiBFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCA9IEVOQUJMRV9QUk9HUkVTU19F
TEVNRU5UOwogRU5BQkxFX1FVT1RBID0gOwotRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRM
RVIgPSA7CitFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMgPSA7CiBFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUgPSBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUU7CiBFTkFC
TEVfU0NSSVBURURfU1BFRUNIID0gOwogRU5BQkxFX1NIQURPV19ET00gPSA7CkBAIC0xNDAsNCAr
MTQwLDQgQEAgRU5BQkxFX1dJREdFVF9SRUdJT05fbWFjb3N4ID0gRU5BQkxFX1dJREdFVF9SRUdJ
T047CiBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hTTFQgPSBFTkFC
TEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQoRU5B
QkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9O
UykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19ISUVSQVJDSElFUykgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1Nf
U1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0ZM
RVhCT1gpICQoRU5BQkxFX0NTUzNfVEVYVF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VM
RU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAk
KEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFC
TEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hB
RE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkg
JChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JK
Q19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX1VORE9fTUFOQUdFUikgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0lER0VUX1JFR0lPTikg
JChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVf
Q1NTX0hJRVJBUkNISUVTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NIQURFUlMpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19WQVJJ
QUJMRVMpICQoRU5BQkxFX0NTUzNfRkxFWEJPWCkgJChFTkFCTEVfQ1NTM19URVhUX0RFQ09SQVRJ
T04pICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkg
JChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9T
RUFNTEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTElOS19QUkVSRU5E
RVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dS
RVNTX0VMRU1FTlQpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NDUklQVEVE
X1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcp
ICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VORE9fTUFOQUdFUikgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0lER0VUX1JFR0lPTikgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODBiNTc4Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnQuaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEy
IFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50X2gKKyNkZWZpbmUgV2ViTmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50X2gKKworI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykKKworI2luY2x1ZGUgPFdlYkNvcmUvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Lmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitjbGFzcyBXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6
TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5XZWJO
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQoKSB7IH0KKworcHJpdmF0ZToKKyAgICB2aXJ0dWFs
IHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0
IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUp
IE9WRVJSSURFIHsgfQorCisjaWYgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKKyAgICB2
aXJ0dWFsIEN1c3RvbUhhbmRsZXJzU3RhdGUgaXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgcmV0dXJuIEN1c3Rv
bUhhbmRsZXJzRGVjbGluZWQ7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclByb3RvY29s
SGFuZGxlcihjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSB7IH0K
KyNlbmRpZgorfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VU
SUxTKQorI2VuZGlmIC8vIFdlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50LmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDYzZjE5OTAuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVu
dC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaWZuZGVmIFdlYlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50X2gKLSNkZWZpbmUgV2Vi
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRfaAotCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BS
T1RPQ09MX0hBTkRMRVIpCi0KLSNpbmNsdWRlIDxXZWJDb3JlL1JlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyQ2xpZW50Lmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJLaXQgewotCi1jbGFzcyBXZWJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCA6IHB1
YmxpYyBXZWJDb3JlOjpSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCB7Ci1wdWJsaWM6Ci0g
ICAgdmlydHVhbCB+V2ViUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQoKSB7IH0KLQotcHJp
dmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3Ry
aW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IFN0cmluZyYgdGl0bGUpIE9WRVJSSURFIHsgfQotCi0jaWYgRU5BQkxFKENVU1RPTV9TQ0hF
TUVfSEFORExFUikKLSAgICB2aXJ0dWFsIEN1c3RvbUhhbmRsZXJzU3RhdGUgaXNQcm90b2NvbEhh
bmRsZXJSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYpIHsgcmV0dXJuIEN1c3RvbUhhbmRsZXJzRGVjbGluZWQ7IH0KLSAgICB2aXJ0dWFsIHZvaWQg
dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmKSB7IH0KLSNlbmRpZgotfTsKLQotfQotCi0jZW5kaWYgLy8gRU5BQkxFKFJF
R0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCi0jZW5kaWYgLy8gV2ViUmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXJDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNCbGFja0JlcnJ5
LmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNCbGFja0JlcnJ5LmNtYWtlCmluZGV4IDE0YWNh
MDguLjg4ZDU2OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zQmxhY2tCZXJyeS5j
bWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0JsYWNrQmVycnkuY21ha2UKQEAgLTE1NSw3
ICsxNTUsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTk9USUZJ
Q0FUSU9OUyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9PUklF
TlRBVElPTl9FVkVOVFMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfUEFHRV9QT1BVUCBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9QQUdFX1ZJU0lCSUxJVFlfQVBJIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIgT04pCitXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMgT04pCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIE9O
KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1NI
QVJFRF9XT1JLRVJTIE9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21h
a2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCAyNWJmNTk3Li5lZDQ5ZDU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2Uv
Y21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtODIsNyArODIsNyBAQCBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUlDUk9EQVRBIE9OKQogV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgT0ZGKQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05FVFdPUktfSU5GTyBPTikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJIE9OKQot
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09M
X0hBTkRMRVIgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfU0hBRE9XX0RPTSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9TSEFSRURfV09SS0VSUyBPTikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZQppbmRleCA3ZWFiYTAxLi5mMjM3NzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNt
YWtlCkBAIC04OSw3ICs4OSw3IEBAIE1BQ1JPIChXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UICJUb2dnbGUgUHJvZ3Jl
c3MgVGFnIHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9QTFVH
SU5fUFJPWFlfRk9SX1ZJREVPICJUb2dnbGUgUGx1Z2luIFByb3h5IGZvciBWaWRlbyBzdXBwb3J0
IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1FVT1RBICJUb2dnbGUgUXVv
dGEgc3VwcG9ydCIgT0ZGKQotICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9SRUdJU1RF
Ul9QUk9UT0NPTF9IQU5ETEVSICJUb2dnbGUgUmVnaXN0ZXIgUHJvdG9jb2wgSGFuZGxlciBzdXBw
b3J0IiBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTICJUb2dnbGUgTmF2aWdhdG9yIENvbnRlbnQgVXRpbHMgc3VwcG9ydCIgT0ZGKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgIlRvZ2ds
ZSByZXBhaW50IHRocm90dGxpbmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSAiVG9nZ2xlIHJlcXVlc3RBbmltYXRp
b25GcmFtZSBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1ND
UklQVEVEX1NQRUVDSCAiVG9nZ2xlIFNjcmlwdGVkIFNwZWVjaCBBUEkgc3VwcG9ydCIgT0ZGKQpk
aWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25m
aWcuaC5jbWFrZQppbmRleCA1OTdlNGMzLi43ZjZmODQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtNzgs
NyArNzgsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1BBR0VfUE9QVVAKICNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUFJP
R1JFU1NfRUxFTUVOVAotI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hB
TkRMRVIKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUwogI2Nt
YWtlZGVmaW5lMDEgRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FCiAjY21ha2VkZWZpbmUw
MSBFTkFCTEVfU0hBRE9XX0RPTQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NIQVJFRF9XT1JLRVJT
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjgy
YmU3Ni4uOTQ4NWZhNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA4LTI0ICBNaWtoYWlsIFBvemRueWFrb3Yg
IDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFJlbmFtZSBSZWdpc3Rl
clByb3RvY29sSGFuZGxlciBBUEkgdG8gTmF2aWdhdG9yQ29udGVudFV0aWxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDkyMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZWQgJ3JlZ2lzdGVyLXBy
b3RvY29sLWhhbmRsZXInIGZlYXR1cmUgdG8gJ25hdmlnYXRvci1jb250ZW50LXV0aWxzJy4KKwor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKyAgICAgICAgKiBx
bWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaToKKwogMjAxMi0wOC0yMyAgV2VpIEpp
YSAgPHdqaWFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIGNyZWF0ZSBkaWZmZXJlbnQgV2ViS2l0
OjpXZWJNZWRpYVBsYXllciBiYXNlZCBvbiBVUkwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0
dXJlTGlzdC5wbQppbmRleCBhMTgxZDg1Li5iZmQ5ZjBhIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
ZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC0zMjEsNiArMzIxLDkgQEAgbXkgQGZlYXR1cmVzID0gKAog
ICAgIHsgb3B0aW9uID0+ICJtdXRhdGlvbi1vYnNlcnZlcnMiLCBkZXNjID0+ICJUb2dnbGUgTXV0
YXRpb24gT2JzZXJ2ZXJzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfTVVUQVRJ
T05fT0JTRVJWRVJTIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJG11dGF0aW9uT2JzZXJ2ZXJz
U3VwcG9ydCB9LAogCisgICAgeyBvcHRpb24gPT4gIm5hdmlnYXRvci1jb250ZW50LXV0aWxzIiwg
ZGVzYyA9PiAiVG9nZ2xlIE5hdmlnYXRvciBDb250ZW50IFV0aWxzIHN1cHBvcnQiLAorICAgICAg
ZGVmaW5lID0+ICJFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMiLCBkZWZhdWx0ID0+IChp
c0JsYWNrQmVycnkoKSB8fCBpc0VmbCgpKSwgdmFsdWUgPT4gXCRyZWdpc3RlclByb3RvY29sSGFu
ZGxlclN1cHBvcnQgfSwKKwogICAgIHsgb3B0aW9uID0+ICJuZXRzY2FwZS1wbHVnaW4tYXBpIiwg
ZGVzYyA9PiAiVG9nZ2xlIE5ldHNjYXBlIFBsdWdpbiBBUEkgc3VwcG9ydCIsCiAgICAgICBkZWZp
bmUgPT4gIkVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIiwgZGVmYXVsdCA9PiAhaXNFZmwoKSwg
dmFsdWUgPT4gXCRuZXRzY2FwZVBsdWdpbkFQSVN1cHBvcnQgfSwKIApAQCAtMzQyLDkgKzM0NSw2
IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAicXVvdGEiLCBkZXNjID0+ICJU
b2dnbGUgUXVvdGEgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9RVU9UQSIsIGRl
ZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRxdW90YVN1cHBvcnQgfSwKIAotICAgIHsgb3B0aW9uID0+
ICJyZWdpc3Rlci1wcm90b2NvbC1oYW5kbGVyIiwgZGVzYyA9PiAiVG9nZ2xlIFJlZ2lzdGVyIFBy
b3RvY29sIEhhbmRsZXIgc3VwcG9ydCIsCi0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9SRUdJU1RF
Ul9QUk9UT0NPTF9IQU5ETEVSIiwgZGVmYXVsdCA9PiAoaXNCbGFja0JlcnJ5KCkgfHwgaXNFZmwo
KSksIHZhbHVlID0+IFwkcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJTdXBwb3J0IH0sCi0KICAgICB7
IG9wdGlvbiA9PiAicmVxdWVzdC1hbmltYXRpb24tZnJhbWUiLCBkZXNjID0+ICJUb2dnbGUgUmVx
dWVzdCBBbmltYXRpb24gRnJhbWUgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9S
RVFVRVNUX0FOSU1BVElPTl9GUkFNRSIsIGRlZmF1bHQgPT4gKGlzQXBwbGVNYWNXZWJLaXQoKSB8
fCBpc0d0aygpIHx8IGlzRWZsKCkgfHwgaXNCbGFja0JlcnJ5KCkpLCB2YWx1ZSA9PiBcJHJlcXVl
c3RBbmltYXRpb25GcmFtZVN1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvVG9vbHMvcW1ha2UvbWtz
cGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVz
L2ZlYXR1cmVzLnByaQppbmRleCBmZWFjODVkLi4zM2IzNGFkIDEwMDY0NAotLS0gYS9Ub29scy9x
bWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQorKysgYi9Ub29scy9xbWFrZS9ta3Nw
ZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQpAQCAtNzYsNiArNzYsNyBAQCBGRUFUVVJFX0RFRkFV
TFRTID0gXAogICAgIEVOQUJMRV9NSFRNTD0wIFwKICAgICBFTkFCTEVfTUlDUk9EQVRBPTAgXAog
ICAgIEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlM9MCBcCisgICAgRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTPTAgXAogICAgIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJPTAgXAogICAg
IEVOQUJMRV9ORVRXT1JLX0lORk89MCBcCiAgICAgRU5BQkxFX05PVElGSUNBVElPTlM9MSBcCkBA
IC04Myw3ICs4NCw2IEBAIEZFQVRVUkVfREVGQVVMVFMgPSBcCiAgICAgRU5BQkxFX1BBR0VfVklT
SUJJTElUWV9BUEk9MSBcCiAgICAgRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQ9MSBcCiAgICAgRU5B
QkxFX1FVT1RBPTAgXAotICAgIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSPTAgXAog
ICAgIEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRT0xIFwKICAgICBFTkFCTEVfU0NSSVBU
RURfU1BFRUNIPTAgXAogICAgIEVOQUJMRV9TSEFET1dfRE9NPTAgXAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160426</attachid>
            <date>2012-08-24 08:45:11 -0700</date>
            <delta_ts>2012-08-27 00:49:12 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug94920</filename>
            <type>text/plain</type>
            <size>136836</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDJjMTU2ZTAwMmFiNjY1ZjY2NjBhODRlMjM4MzAwMTQ3NzMyZGE3OTQKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
RnJpIEF1ZyAyNCAxNToxMzoxMSAyMDEyICswMzAwCgogICAgYnVnOTQ5MjAKCmRpZmYgLS1naXQg
YS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggOTczZTYwOC4uMDUzNjE3MSAxMDA2NDQKLS0t
IGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTI0
ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisg
ICAgICAgIGJ1Zzk0OTIwCisKKyAgICAgICAgUmVuYW1lIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
IEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTW9kaWZpZWQgY29uZmlndXJhdGlvbiBmaWxlcyBzbyB0aGF0
IHRoZXkgY29udGFpbiByZW5hbWVkIE5hdmlnYXRvckNvbnRlbnRVdGlscy1wcmVmaXhlZCBmaWxl
cy4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zQmxhY2tCZXJyeS5jbWFrZToKKyAg
ICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBTb3VyY2Uv
Y21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6CisgICAgICAgICogU291cmNlL2NtYWtlY29uZmln
LmguY21ha2U6CisKIDIwMTItMDgtMjMgIEtldmluIE9sbGl2aWVyICA8a2V2aW5vQHRoZW9sbGl2
aWVycy5jb20+CiAKICAgICAgICAgW3d4XSBVbnJldmlld2VkIGJ1aWxkIGZpeC4gRGlzYWJsZSBj
b21waWxhdGlvbiBvZiBXZWJET00gZmlsZSBmb3Igbm93LApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
aW5kZXggNzRmMDU2Ny4uMWNjNzI2ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTItMDgtMjQgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55
YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgUmVuYW1lIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
IEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIgaXMg
cmVuYW1lZCB0byBFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMuCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxMi0wOC0yMyAgQ2hy
aXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFNl
cmlhbGl6YXRpb24gb2YgSmF2YVNjcmlwdCB2YWx1ZXMgZG9lcyBub3QgYXBwZWFyIHRvIHJlc3Bl
Y3QgbmV3IEhUTUw1IFN0cnVjdHVyZWQgQ2xvbmUgc2VtYW50aWNzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOWMxYjhmZi4uNTdkNGJmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtMTA1LDYgKzEwNSw3IEBAIEVOQUJMRV9NRVRFUl9FTEVNRU5UID0gRU5BQkxFX01FVEVSX0VM
RU1FTlQ7CiBFTkFCTEVfTUhUTUwgPSA7CiBFTkFCTEVfTUlDUk9EQVRBID0gOwogRU5BQkxFX01V
VEFUSU9OX09CU0VSVkVSUyA9IEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlM7CitFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMgPSA7CiBFTkFCTEVfTk9USUZJQ0FUSU9OUyA9ICQoRU5BQkxF
X05PVElGSUNBVElPTlNfJChSRUFMX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9OT1RJRklDQVRJ
T05TX21hY29zeCA9ICQoRU5BQkxFX05PVElGSUNBVElPTlNfbWFjb3N4XyQoVEFSR0VUX01BQ19P
U19YX1ZFUlNJT05fTUFKT1IpKTsKIEVOQUJMRV9OT1RJRklDQVRJT05TX21hY29zeF8xMDcwID0g
OwpAQCAtMTEzLDcgKzExNCw2IEBAIEVOQUJMRV9OT1RJRklDQVRJT05TX21hY29zeF8xMDkwID0g
RU5BQkxFX05PVElGSUNBVElPTlM7CiBFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSA9IDsKIEVO
QUJMRV9QUk9HUkVTU19FTEVNRU5UID0gRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQ7CiBFTkFCTEVf
UVVPVEEgPSA7Ci1FTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiA9IDsKIEVOQUJMRV9S
RVFVRVNUX0FOSU1BVElPTl9GUkFNRSA9IEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRTsK
IEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0ggPSA7CiBFTkFCTEVfU0hBRE9XX0RPTSA9IDsKQEAgLTE0
MCw0ICsxNDAsNCBAQCBFTkFCTEVfV0lER0VUX1JFR0lPTl9tYWNvc3ggPSBFTkFCTEVfV0lER0VU
X1JFR0lPTjsKIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWFNMVCA9
IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkg
JChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9O
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19FWENM
VVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0hJRVJBUkNISUVTKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVf
Q1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19GTEVYQk9YKSAkKEVOQUJMRV9DU1MzX1RFWFRf
REVDT1JBVElPTikgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllf
VVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBV
VF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9E
RUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5L
X1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFC
TEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BS
T1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9X
T1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChF
TkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElP
TlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VTkRPX01BTkFH
RVIpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dJREdFVF9SRUdJT04pICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxF
X0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykg
JChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19ISUVSQVJDSElFUykgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19WQVJJ
QUJMRVMpICQoRU5BQkxFX0NTUzNfRkxFWEJPWCkgJChFTkFCTEVfQ1NTM19URVhUX0RFQ09SQVRJ
T04pICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkg
JChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9T
RUFNTEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTElOS19QUkVSRU5E
RVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NDUklQVEVE
X1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcp
ICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VORE9fTUFOQUdFUikgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0lER0VUX1JFR0lPTikgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGExNGM1YmUuLjYwOWZmNTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CkBAIC04LDkgKzgsOSBAQCBTRVQoV2ViQ29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvaW50ZW50cyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9k
dWxlcy9tZWRpYXNvdXJjZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9tZWRpYXN0cmVh
bSIKKyAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMiCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbmV0d29ya2luZm8iCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvbm90aWZpY2F0aW9ucyIKLSAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9w
cm90b2NvbGhhbmRsZXIiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcHJveGltaXR5Igog
ICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3F1b3RhIgogICAgICIke1dFQkNPUkVfRElSfS9N
b2R1bGVzL3ZpYnJhdGlvbiIKQEAgLTIyNyw2ICsyMjcsOCBAQCBTRVQoV2ViQ29yZV9JRExfRklM
RVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwKIAorICAgIE1vZHVs
ZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5pZGwKKwogICAg
IE1vZHVsZXMvbmV0d29ya2luZm8vTmF2aWdhdG9yTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbAog
ICAgIE1vZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbAogCkBAIC0y
MzYsOCArMjM4LDYgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKICAgICBNb2R1bGVzL25v
dGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuaWRsCiAKLSAgICBNb2R1bGVz
L3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5pZGwKLQog
ICAgIE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmlkbAogCiAgICAgTW9k
dWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5pZGwKQEAgLTg1OSw2ICs4NTksOCBAQCBTRVQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFDb250cm9sbGVy
LmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKIAorICAg
IE1vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5jcHAK
KwogICAgIE1vZHVsZXMvbmV0d29ya2luZm8vTmF2aWdhdG9yTmV0d29ya0luZm9Db25uZWN0aW9u
LmNwcAogICAgIE1vZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm8uY3BwCiAgICAgTW9kdWxl
cy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0Nvbm5lY3Rpb24uY3BwCkBAIC04NzAsOCArODcyLDYg
QEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uY3BwCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmlj
YXRpb25zLmNwcAogCi0gICAgTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvTmF2aWdhdG9yUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXIuY3BwCi0KICAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94
aW1pdHlFdmVudC5jcHAKIAogICAgIE1vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggM2E5YWNiOC4uZmIzYjM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBA
CisyMDEyLTA4LTI0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50
ZWwuY29tPgorCisgICAgICAgIGJ1Zzk0OTIwCisKKyAgICAgICAgUmVuYW1lIFJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyIEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1pbmcgd2hhdGV2ZXIgUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXItcHJlZml4ZWQgdG8gTmF2aWdhdG9yQ29udGVudFV0aWxzLXByZWZp
eGVkLgorICAgICAgICBNb2R1bGUgJ3Byb3RvY29saGFuZGxlcicgaXMgcmVuYW1lZCB0byAnbmF2
aWdhdG9yY29udGVudHV0aWxzJy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXMgdGhlcmUgaXMg
bm8gbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5mZWF0dXJlcy5hbToKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVsZXMvbmF2aWdhdG9yY29u
dGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29s
SGFuZGxlci5jcHAuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmluaXRQ
cm90b2NvbEhhbmRsZXJXaGl0ZWxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6dmVyaWZ5Q3VzdG9t
SGFuZGxlclVSTCk6CisgICAgICAgIChXZWJDb3JlOjppc1Byb3RvY29sV2hpdGVsaXN0ZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6dmVyaWZ5UHJvdG9jb2xIYW5kbGVyU2NoZW1lKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsczo6ZnJvbSk6CisgICAgICAgIChXZWJDb3Jl
OjpOYXZpZ2F0b3JDb250ZW50VXRpbHM6On5OYXZpZ2F0b3JDb250ZW50VXRpbHMpOgorICAgICAg
ICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpjdXN0b21IYW5kbGVyc1N0YXRlU3RyaW5nKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsczo6aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVk
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsczo6dW5yZWdpc3RlclBy
b3RvY29sSGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHM6
OnN1cHBsZW1lbnROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OnByb3ZpZGVOYXZpZ2F0b3JDb250
ZW50VXRpbHNUbyk6CisgICAgICAgICogTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2
aWdhdG9yQ29udGVudFV0aWxzLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5oLgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChOYXZpZ2F0b3JDb250ZW50VXRpbHMpOgorICAgICAg
ICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzOjpOYXZpZ2F0b3JDb250ZW50VXRpbHMp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzOjpjbGllbnQpOgorICAg
ICAgICAqIE1vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGls
cy5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxl
ci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5pZGwuCisgICAgICAgICogTW9kdWxl
cy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Lmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxlci9SZWdpc3Rl
clByb3RvY29sSGFuZGxlckNsaWVudC5oLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChO
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50Ojp+TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBX
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovY29weUZvcndh
cmRpbmdIZWFkZXJzLmNtZDoKKwogMjAxMi0wOC0yMyAgU2hlemFuIEJhaWcgIDxzaGV6YmFpZy53
a0BnbWFpbC5jb20+CiAKICAgICAgICAgRmxleGJveCBkb2Vzbid0IG5lZWQgdG8gY29tcHV0ZSBs
b2dpY2FsIGhlaWdodCBmb3Igc3RyZXRjaGVkIGl0ZW1zIGluIHJvdyBmbG93CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IGNlZGQ5NWQuLjRhY2IyZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xMDUsNiArMTA1LDcgQEAgRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MgPSA7CiBFTkFCTEVfTUVURVJfRUxFTUVOVCA9IEVOQUJMRV9N
RVRFUl9FTEVNRU5UOwogRU5BQkxFX01IVE1MID0gOwogRU5BQkxFX01JQ1JPREFUQSA9IDsKK0VO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyA9IDsKIEVOQUJMRV9NVVRBVElPTl9PQlNFUlZF
UlMgPSBFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTOwogRU5BQkxFX05PVElGSUNBVElPTlMgPSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfTk9U
SUZJQ0FUSU9OU19tYWNvc3ggPSAkKEVOQUJMRV9OT1RJRklDQVRJT05TX21hY29zeF8kKFRBUkdF
VF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7CkBAIC0xMTQsNyArMTE1LDYgQEAgRU5BQkxFX05P
VElGSUNBVElPTlNfbWFjb3N4XzEwOTAgPSBFTkFCTEVfTk9USUZJQ0FUSU9OUzsKIEVOQUJMRV9Q
QUdFX1ZJU0lCSUxJVFlfQVBJID0gOwogRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQgPSBFTkFCTEVf
UFJPR1JFU1NfRUxFTUVOVDsKIEVOQUJMRV9RVU9UQSA9IDsKLUVOQUJMRV9SRUdJU1RFUl9QUk9U
T0NPTF9IQU5ETEVSID0gOwogRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FID0gRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FOwogRU5BQkxFX1NDUklQVEVEX1NQRUVDSCA9IDsKIEVO
QUJMRV9TSEFET1dfRE9NID0gOwpAQCAtMTQxLDQgKzE0MSw0IEBAIEVOQUJMRV9XSURHRVRfUkVH
SU9OX21hY29zeCA9IEVOQUJMRV9XSURHRVRfUkVHSU9OOwogRU5BQkxFX1dPUktFUlMgPSBFTkFC
TEVfV09SS0VSUzsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAk
KEVOQUJMRV9DU1NfSElFUkFSQ0hJRVMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
U1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0ZM
RVhCT1gpICQoRU5BQkxFX0NTUzNfVEVYVF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VM
RU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAk
KEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFC
TEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hB
RE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkg
JChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JK
Q19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX1VORE9fTUFOQUdFUikgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0lER0VUX1JFR0lPTikg
JChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVf
Q1NTX0hJRVJBUkNISUVTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9Q
T1NJVElPTikgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19GTEVYQk9YKSAk
KEVOQUJMRV9DU1MzX1RFWFRfREVDT1JBVElPTikgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAk
KEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVf
RklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VM
RU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01VVEFU
SU9OX09CU0VSVkVSUykgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BS
T0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAk
KEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9T
VFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdT
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfVU5ET19NQU5BR0VSKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XSURHRVRfUkVHSU9OKSAkKEVOQUJMRV9X
T1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMmYwNmFlMy4u
NjRjMmE1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE1LDggKzE1LDggQEAgd2ViY29yZV9j
cHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UgXAog
CS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0gXAorCS1JJChz
cmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIFwKIAkt
SSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAotCS1JJChz
cmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyIFwKIAktSSQoc3Jj
ZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlIFwKQEAgLTY4NSwxMyArNjg1LDEzIEBAIGZlYXR1cmVfZGVmaW5l
c19vdmVycmlkZXMgKz0gRU5BQkxFX01JQ1JPREFUQT0wCiBlbmRpZiAgIyBFTkQgRU5BQkxFX01J
Q1JPREFUQQogCiAjIC0tLQotIyBSZWdpc3RlciBQcm90b2NvbCBIYW5kbGVyIHN1cHBvcnQKKyMg
TmF2aWdhdG9yIENvbnRlbnQgVXRpbHMgc3VwcG9ydAogIyAtLS0KLWlmIEVOQUJMRV9SRUdJU1RF
Ul9QUk9UT0NPTF9IQU5ETEVSCi1mZWF0dXJlX2RlZmluZXNfb3ZlcnJpZGVzICs9IEVOQUJMRV9S
RUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSPTEKK2lmIEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUworZmVhdHVyZV9kZWZpbmVzX292ZXJyaWRlcyArPSBFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFM9MQogZWxzZQotZmVhdHVyZV9kZWZpbmVzX292ZXJyaWRlcyArPSBFTkFCTEVfUkVH
SVNURVJfUFJPVE9DT0xfSEFORExFUj0wCi1lbmRpZiAgIyBFTkQgRU5BQkxFX1JFR0lTVEVSX1BS
T1RPQ09MX0hBTkRMRVIKK2ZlYXR1cmVfZGVmaW5lc19vdmVycmlkZXMgKz0gRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTPTAKK2VuZGlmICAjIEVORCBFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMKIAogIyAtLS0KICMgRGV2aWNlT3JpZW50YXRpb24gc3VwcG9ydApAQCAtMTEyMCw4
ICsxMTIwLDggQEAgRVhUUkFfRElTVCArPSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvKi5pZGwpIFwKIAkkKHNoZWxsIGxzICQoc3JjZGly
KS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlLyouaWRsKSBcCiAJJChzaGVsbCBs
cyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS8qLmlkbCkgXAor
CSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29u
dGVudHV0aWxzLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zLyouaWRsKSBcCi0JJChzaGVsbCBscyAkKHNyY2RpcikvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvKi5pZGwpIFwKIAkkKHNoZWxsIGxz
ICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhLyouaWRsKSBcCiAJJChzaGVs
bCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby8qLmlkbCkgXAog
CSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
Ki5pZGwpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVz
LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuZmVhdHVyZXMuYW0KaW5kZXggMGE4YzNj
ZS4uNTNiZjU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuZmVhdHVy
ZXMuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuZmVhdHVyZXMuYW0KQEAgLTYw
LDYgKzYwLDcgQEAgZmVhdHVyZV9kZWZpbmVzX2RlZmF1bHRzICs9IFwKIAlFTkFCTEVfTUhUTUw9
MCBcCiAJRU5BQkxFX01JQ1JPREFUQT0wIFwKIAlFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTPTEg
XAorCUVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUz0wIFwKIAlFTkFCTEVfTkVUU0NBUEVf
UExVR0lOX0FQST0xIFwKIAlFTkFCTEVfTkVUV09SS19JTkZPPTAgXAogCUVOQUJMRV9OT1RJRklD
QVRJT05TPTAgXApAQCAtNjcsNyArNjgsNiBAQCBmZWF0dXJlX2RlZmluZXNfZGVmYXVsdHMgKz0g
XAogCUVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJPTAgXAogCUVOQUJMRV9QUk9HUkVTU19FTEVN
RU5UPTEgXAogCUVOQUJMRV9RVU9UQT0wIFwKLQlFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFO
RExFUj0wIFwKIAlFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUU9MSBcCiAJRU5BQkxFX1ND
UklQVEVEX1NQRUVDSD0wIFwKIAlFTkFCTEVfU0hBRE9XX0RPTT0xIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCmluZGV4IGNhMTEwYTUuLjVjYWE4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtMTIyNCwxMCArMTIyNCwxMCBAQCBkb21fYmluZGluZ19pZGxzICs9IFwK
IAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsIFwK
IAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlk
bCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbi5p
ZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9y
Q29udGVudFV0aWxzLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCBcCi0JJChXZWJDb3JlKS9Nb2R1bGVzL3By
b3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5pZGwgXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5pZGwgXAogCSQoV2ViQ29yZSkv
TW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9xdW90
YS9TdG9yYWdlSW5mb0Vycm9yQ2FsbGJhY2suaWRsIFwKQEAgLTE5MjQsNiArMTkyNCw5IEBAIHdl
YmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYUNvbnRyb2xsZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaCBcCisJU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmNwcCBcCisJ
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29u
dGVudFV0aWxzLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0
aWxzL05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmggXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIu
Y3BwIFwKQEAgLTE5MzYsOSArMTkzOSw2IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9X
b3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oIFwKLQlTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFu
ZGxlci5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmln
YXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmggXAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHJvdG9jb2xoYW5kbGVyL1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50LmggXAogCVNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmggXAogCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JD
b250ZW50VXRpbHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2ODc5
YmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNv
bnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuY3BwCkBAIC0wLDAgKzEsMjE4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEyLCBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisgKiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UgorICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0gKKyAqIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2
aWdhdG9yQ29udGVudFV0aWxzLmgiCisKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIK
KyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUgIlBh
Z2UuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3N0YXRpYyBIYXNoU2V0PFN0cmluZz4qIHByb3RvY29sV2hpdGVsaXN0OworCitzdGF0aWMgdm9p
ZCBpbml0UHJvdG9jb2xIYW5kbGVyV2hpdGVsaXN0KCkKK3sKKyAgICBwcm90b2NvbFdoaXRlbGlz
dCA9IG5ldyBIYXNoU2V0PFN0cmluZz47CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHByb3RvY29s
c1tdID0geworI2lmICFQTEFURk9STShCTEFDS0JFUlJZKQorICAgICAgICAiaXJjIiwKKyAgICAg
ICAgIm1haWx0byIsCisgICAgICAgICJtbXMiLAorICAgICAgICAibmV3cyIsCisgICAgICAgICJu
bnRwIiwKKyAgICAgICAgInNtcyIsCisgICAgICAgICJzbXN0byIsCisgICAgICAgICJ0ZWwiLAor
ICAgICAgICAidXJuIiwKKyAgICAgICAgIndlYmNhbCIsCisjZW5kaWYKKyAgICB9OworICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdUSChwcm90b2NvbHMpOyArK2kpCisg
ICAgICAgIHByb3RvY29sV2hpdGVsaXN0LT5hZGQocHJvdG9jb2xzW2ldKTsKK30KKworc3RhdGlj
IGJvb2wgdmVyaWZ5Q3VzdG9tSGFuZGxlclVSTChjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0
IFN0cmluZyYgdXJsLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICAvLyBUaGUgc3BlY2lmaWNh
dGlvbiByZXF1aXJlcyB0aGF0IGl0IGlzIGEgU1lOVEFYX0VSUiBpZiB0aGUgIiVzIiB0b2tlbiBp
cworICAgIC8vIG5vdCBwcmVzZW50LgorICAgIHN0YXRpYyBjb25zdCBjaGFyIHRva2VuW10gPSAi
JXMiOworICAgIGludCBpbmRleCA9IHVybC5maW5kKHRva2VuKTsKKyAgICBpZiAoLTEgPT0gaW5k
ZXgpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorCisgICAgLy8gSXQgaXMgYWxzbyBhIFNZTlRBWF9FUlIgaWYgdGhlIGN1c3RvbSBoYW5k
bGVyIFVSTCwgYXMgY3JlYXRlZCBieSByZW1vdmluZworICAgIC8vIHRoZSAiJXMiIHRva2VuIGFu
ZCBwcmVwZW5kaW5nIHRoZSBiYXNlIHVybCwgZG9lcyBub3QgcmVzb2x2ZS4KKyAgICBTdHJpbmcg
bmV3VVJMID0gdXJsOworICAgIG5ld1VSTC5yZW1vdmUoaW5kZXgsIFdURl9BUlJBWV9MRU5HVEgo
dG9rZW4pIC0gMSk7CisKKyAgICBLVVJMIGJhc2UoUGFyc2VkVVJMU3RyaW5nLCBiYXNlVVJMKTsK
KyAgICBLVVJMIGt1cmwoYmFzZSwgbmV3VVJMKTsKKworICAgIGlmIChrdXJsLmlzRW1wdHkoKSB8
fCAha3VybC5pc1ZhbGlkKCkpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29s
IGlzUHJvdG9jb2xXaGl0ZWxpc3RlZChjb25zdCBTdHJpbmcmIHNjaGVtZSkKK3sKKyAgICBpZiAo
IXByb3RvY29sV2hpdGVsaXN0KQorICAgICAgICBpbml0UHJvdG9jb2xIYW5kbGVyV2hpdGVsaXN0
KCk7CisgICAgcmV0dXJuIHByb3RvY29sV2hpdGVsaXN0LT5jb250YWlucyhzY2hlbWUpOworfQor
CitzdGF0aWMgYm9vbCB2ZXJpZnlQcm90b2NvbEhhbmRsZXJTY2hlbWUoY29uc3QgU3RyaW5nJiBz
Y2hlbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmIChzY2hlbWUuc3RhcnRzV2l0aCgi
d2ViKyIpKSB7CisgICAgICAgIGlmIChpc1ZhbGlkUHJvdG9jb2woc2NoZW1lKSkKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKworICAgIGlmIChpc1Byb3RvY29sV2hpdGVsaXN0ZWQoc2NoZW1l
KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgZWMgPSBTRUNVUklUWV9FUlI7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitOYXZpZ2F0b3JDb250ZW50VXRpbHMqIE5hdmlnYXRvckNvbnRlbnRV
dGlsczo6ZnJvbShQYWdlKiBwYWdlKQoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxOYXZpZ2F0
b3JDb250ZW50VXRpbHMqPihSZWZDb3VudGVkU3VwcGxlbWVudDxQYWdlLCBOYXZpZ2F0b3JDb250
ZW50VXRpbHM+Ojpmcm9tKHBhZ2UsIE5hdmlnYXRvckNvbnRlbnRVdGlsczo6c3VwcGxlbWVudE5h
bWUoKSkpOworfQorCitOYXZpZ2F0b3JDb250ZW50VXRpbHM6On5OYXZpZ2F0b3JDb250ZW50VXRp
bHMoKQoreworfQorCitQYXNzUmVmUHRyPE5hdmlnYXRvckNvbnRlbnRVdGlscz4gTmF2aWdhdG9y
Q29udGVudFV0aWxzOjpjcmVhdGUoTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KiBjbGllbnQp
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBOYXZpZ2F0b3JDb250ZW50VXRpbHMoY2xpZW50
KSk7Cit9CisKK3ZvaWQgTmF2aWdhdG9yQ29udGVudFV0aWxzOjpyZWdpc3RlclByb3RvY29sSGFu
ZGxlcihOYXZpZ2F0b3IqIG5hdmlnYXRvciwgY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0
cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAg
ICBpZiAoIW5hdmlnYXRvci0+ZnJhbWUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRG9jdW1l
bnQqIGRvY3VtZW50ID0gbmF2aWdhdG9yLT5mcmFtZSgpLT5kb2N1bWVudCgpOworICAgIGlmICgh
ZG9jdW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIFN0cmluZyBiYXNlVVJMID0gZG9jdW1l
bnQtPmJhc2VVUkwoKS5iYXNlQXNTdHJpbmcoKTsKKworICAgIGlmICghdmVyaWZ5Q3VzdG9tSGFu
ZGxlclVSTChiYXNlVVJMLCB1cmwsIGVjKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCF2
ZXJpZnlQcm90b2NvbEhhbmRsZXJTY2hlbWUoc2NoZW1lLCBlYykpCisgICAgICAgIHJldHVybjsK
KworICAgIE5hdmlnYXRvckNvbnRlbnRVdGlsczo6ZnJvbShuYXZpZ2F0b3ItPmZyYW1lKCktPnBh
Z2UoKSktPmNsaWVudCgpLT5yZWdpc3RlclByb3RvY29sSGFuZGxlcihzY2hlbWUsIGJhc2VVUkws
IHVybCwgbmF2aWdhdG9yLT5mcmFtZSgpLT5kaXNwbGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5n
KHRpdGxlKSk7Cit9CisKKyNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQorc3RhdGlj
IFN0cmluZyBjdXN0b21IYW5kbGVyc1N0YXRlU3RyaW5nKGNvbnN0IE5hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxlcnNTdGF0ZSBzdGF0ZSkKK3sKKyAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKGNvbnN0IFN0cmluZywgbmV3SGFuZGxlciwgKCJuZXciKSk7CisgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHJlZ2lzdGVyZWRIYW5kbGVyLCAoInJlZ2lzdGVy
ZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGRlY2xpbmVkSGFu
ZGxlciwgKCJkZWNsaW5lZCIpKTsKKworICAgIHN3aXRjaCAoc3RhdGUpIHsKKyAgICBjYXNlIE5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxlcnNOZXc6CisgICAgICAgIHJl
dHVybiBuZXdIYW5kbGVyOworICAgIGNhc2UgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpD
dXN0b21IYW5kbGVyc1JlZ2lzdGVyZWQ6CisgICAgICAgIHJldHVybiByZWdpc3RlcmVkSGFuZGxl
cjsKKyAgICBjYXNlIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxlcnNE
ZWNsaW5lZDoKKyAgICAgICAgcmV0dXJuIGRlY2xpbmVkSGFuZGxlcjsKKyAgICB9CisKKyAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK1N0cmluZyBO
YXZpZ2F0b3JDb250ZW50VXRpbHM6OmlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChOYXZpZ2F0
b3IqIG5hdmlnYXRvciwgY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmlu
ZywgZGVjbGluZWQsICgiZGVjbGluZWQiKSk7CisKKyAgICBpZiAoIW5hdmlnYXRvci0+ZnJhbWUo
KSkKKyAgICAgICAgcmV0dXJuIGRlY2xpbmVkOworCisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0g
bmF2aWdhdG9yLT5mcmFtZSgpLT5kb2N1bWVudCgpOworICAgIFN0cmluZyBiYXNlVVJMID0gZG9j
dW1lbnQtPmJhc2VVUkwoKS5iYXNlQXNTdHJpbmcoKTsKKworICAgIGlmICghdmVyaWZ5Q3VzdG9t
SGFuZGxlclVSTChiYXNlVVJMLCB1cmwsIGVjKSkKKyAgICAgICAgcmV0dXJuIGRlY2xpbmVkOwor
CisgICAgaWYgKCF2ZXJpZnlQcm90b2NvbEhhbmRsZXJTY2hlbWUoc2NoZW1lLCBlYykpCisgICAg
ICAgIHJldHVybiBkZWNsaW5lZDsKKworICAgIHJldHVybiBjdXN0b21IYW5kbGVyc1N0YXRlU3Ry
aW5nKE5hdmlnYXRvckNvbnRlbnRVdGlsczo6ZnJvbShuYXZpZ2F0b3ItPmZyYW1lKCktPnBhZ2Uo
KSktPmNsaWVudCgpLT5pc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoc2NoZW1lLCBiYXNlVVJM
LCB1cmwpKTsKK30KKwordm9pZCBOYXZpZ2F0b3JDb250ZW50VXRpbHM6OnVucmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIGNvbnN0IFN0cmluZyYgc2NoZW1lLCBj
b25zdCBTdHJpbmcmIHVybCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFuYXZpZ2F0
b3ItPmZyYW1lKCkpCisgICAgICAgIHJldHVybjsKKworICAgIERvY3VtZW50KiBkb2N1bWVudCA9
IG5hdmlnYXRvci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKTsKKyAgICBTdHJpbmcgYmFzZVVSTCA9IGRv
Y3VtZW50LT5iYXNlVVJMKCkuYmFzZUFzU3RyaW5nKCk7CisKKyAgICBpZiAoIXZlcmlmeUN1c3Rv
bUhhbmRsZXJVUkwoYmFzZVVSTCwgdXJsLCBlYykpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
ICghdmVyaWZ5UHJvdG9jb2xIYW5kbGVyU2NoZW1lKHNjaGVtZSwgZWMpKQorICAgICAgICByZXR1
cm47CisKKyAgICBOYXZpZ2F0b3JDb250ZW50VXRpbHM6OmZyb20obmF2aWdhdG9yLT5mcmFtZSgp
LT5wYWdlKCkpLT5jbGllbnQoKS0+dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihzY2hlbWUsIGJh
c2VVUkwsIHVybCk7Cit9CisjZW5kaWYKKworY29uc3QgQXRvbWljU3RyaW5nJiBOYXZpZ2F0b3JD
b250ZW50VXRpbHM6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KEF0b21pY1N0cmluZywgbmFtZSwgKCJOYXZpZ2F0b3JDb250ZW50VXRpbHMiKSk7CisgICAgcmV0
dXJuIG5hbWU7Cit9CisKK3ZvaWQgcHJvdmlkZU5hdmlnYXRvckNvbnRlbnRVdGlsc1RvKFBhZ2Uq
IHBhZ2UsIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCogY2xpZW50KQoreworICAgIFJlZkNv
dW50ZWRTdXBwbGVtZW50PFBhZ2UsIE5hdmlnYXRvckNvbnRlbnRVdGlscz46OnByb3ZpZGVUbyhw
YWdlLCBOYXZpZ2F0b3JDb250ZW50VXRpbHM6OnN1cHBsZW1lbnROYW1lKCksIE5hdmlnYXRvckNv
bnRlbnRVdGlsczo6Y3JlYXRlKGNsaWVudCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRv
ckNvbnRlbnRVdGlscy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50
dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZjRkNmVhMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5oCkBAIC0wLDAg
KzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIFNhbXN1bmcgRWxlY3Ryb25pY3Mu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
IG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQK
KyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyAqIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSCisgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF2aWdhdG9yQ29udGVu
dFV0aWxzX2gKKyNkZWZpbmUgTmF2aWdhdG9yQ29udGVudFV0aWxzX2gKKworI2lmIEVOQUJMRShO
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKworI2luY2x1ZGUgIk5hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudC5oIgorI2luY2x1ZGUgIlJlZkNvdW50ZWRTdXBwbGVtZW50LmgiCisjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQYWdlOworY2xhc3MgTmF2aWdhdG9yOworCit0eXBl
ZGVmIGludCBFeGNlcHRpb25Db2RlOworCitjbGFzcyBOYXZpZ2F0b3JDb250ZW50VXRpbHMgOiBw
dWJsaWMgUmVmQ291bnRlZFN1cHBsZW1lbnQ8UGFnZSwgTmF2aWdhdG9yQ29udGVudFV0aWxzPiB7
CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9yQ29udGVudFV0aWxzKCk7CisKKyAgICBz
dGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBzdXBwbGVtZW50TmFtZSgpOworICAgIHN0YXRpYyBO
YXZpZ2F0b3JDb250ZW50VXRpbHMqIGZyb20oUGFnZSopOworCisgICAgc3RhdGljIHZvaWQgcmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIoTmF2aWdhdG9yKiwgY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBFeGNlcHRpb25Db2RlJik7CisK
KyNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQorICAgIHN0YXRpYyBTdHJpbmcgaXNQ
cm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKE5hdmlnYXRvciosIGNvbnN0IFN0cmluZyYgc2NoZW1l
LCBjb25zdCBTdHJpbmcmIHVybCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHN0YXRpYyB2b2lkIHVu
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoTmF2aWdhdG9yKiwgY29uc3QgU3RyaW5nJiBzY2hlbWUs
IGNvbnN0IFN0cmluZyYgdXJsLCBFeGNlcHRpb25Db2RlJik7CisjZW5kaWYKKworICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE5hdmlnYXRvckNvbnRlbnRVdGlscz4gY3JlYXRlKE5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudCopOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvckNvbnRl
bnRVdGlscyhOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQqIGNsaWVudCkKKyAgICAgICAgOiBt
X2NsaWVudChjbGllbnQpCisgICAgeyB9CisKKyAgICBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnQqIGNsaWVudCgpIHsgcmV0dXJuIG1fY2xpZW50OyB9CisKKyAgICBOYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnQqIG1fY2xpZW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorCisjZW5kaWYgLy8gTmF2
aWdhdG9yQ29udGVudFV0aWxzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRp
bHMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5ZGUxNDAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGls
cy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgICAgQ29w
eXJpZ2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgt
aWVzKQorICAgIENvcHlyaWdodCAoQykgMjAxMiwgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisqLworCittb2R1bGUgd2luZG93IHsKKworICAgIGludGVyZmFjZSBbCisg
ICAgICAgIFN1cHBsZW1lbnRhbD1OYXZpZ2F0b3IKKyAgICBdIE5hdmlnYXRvckNvbnRlbnRVdGls
cyB7CisgICAgICAgIFtDb25kaXRpb25hbD1OQVZJR0FUT1JfQ09OVEVOVF9VVElMU10gdm9pZCBy
ZWdpc3RlclByb3RvY29sSGFuZGxlcihpbiBET01TdHJpbmcgc2NoZW1lLCBpbiBET01TdHJpbmcg
dXJsLCBpbiBET01TdHJpbmcgdGl0bGUpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKKyAgICAgICAgW0NvbmRpdGlvbmFsPU5BVklHQVRPUl9DT05URU5UX1VUSUxTJkNVU1RPTV9T
Q0hFTUVfSEFORExFUl0gRE9NU3RyaW5nIGlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChpbiBE
T01TdHJpbmcgc2NoZW1lLCBpbiBET01TdHJpbmcgdXJsKQorICAgICAgICAgICAgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CisgICAgICAgIFtDb25kaXRpb25hbD1OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UyZDVVNUT01fU0NIRU1FX0hBTkRMRVJdIHZvaWQgdW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihp
biBET01TdHJpbmcgc2NoZW1lLCBpbiBET01TdHJpbmcgdXJsKQorICAgICAgICAgICAgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0
b3JDb250ZW50VXRpbHNDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4yNWQ2N2NjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZp
Z2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmgKQEAgLTAsMCAr
MSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBB
bGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2lmbmRlZiBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRfaAorI2RlZmluZSBO
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRfaAorCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05U
RU5UX1VUSUxTKQorCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgUGFnZTsKKworY2xhc3MgTmF2aWdhdG9yQ29udGVudFV0aWxz
Q2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3Qg
U3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmws
IGNvbnN0IFN0cmluZyYgdGl0bGUpID0gMDsKKworI2lmIEVOQUJMRShDVVNUT01fU0NIRU1FX0hB
TkRMRVIpCisgICAgZW51bSBDdXN0b21IYW5kbGVyc1N0YXRlIHsKKyAgICAgICAgQ3VzdG9tSGFu
ZGxlcnNOZXcsCisgICAgICAgIEN1c3RvbUhhbmRsZXJzUmVnaXN0ZXJlZCwKKyAgICAgICAgQ3Vz
dG9tSGFuZGxlcnNEZWNsaW5lZAorICAgIH07CisKKyAgICB2aXJ0dWFsIEN1c3RvbUhhbmRsZXJz
U3RhdGUgaXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBj
b25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNv
bnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKKyNlbmRpZgorfTsK
Kwordm9pZCBwcm92aWRlTmF2aWdhdG9yQ29udGVudFV0aWxzVG8oUGFnZSosIE5hdmlnYXRvckNv
bnRlbnRVdGlsc0NsaWVudCopOworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpCisjZW5kaWYgLy8gTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50X2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRv
clJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJv
dG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmNwcApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzFkMDZhMC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFu
ZGxlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdo
dCAoQykgMjAxMiwgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
Ci0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICi0gKiBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIk5hdmlnYXRvclJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyLmgiCi0KLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExF
UikKLQotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgot
I2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiTmF2aWdhdG9yLmgiCi0jaW5jbHVkZSAiUGFn
ZS5oIgotI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
c3RhdGljIEhhc2hTZXQ8U3RyaW5nPiogcHJvdG9jb2xXaGl0ZWxpc3Q7Ci0KLXN0YXRpYyB2b2lk
IGluaXRQcm90b2NvbEhhbmRsZXJXaGl0ZWxpc3QoKQotewotICAgIHByb3RvY29sV2hpdGVsaXN0
ID0gbmV3IEhhc2hTZXQ8U3RyaW5nPjsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogcHJvdG9jb2xz
W10gPSB7Ci0jaWYgIVBMQVRGT1JNKEJMQUNLQkVSUlkpCi0gICAgICAgICJpcmMiLAotICAgICAg
ICAibWFpbHRvIiwKLSAgICAgICAgIm1tcyIsCi0gICAgICAgICJuZXdzIiwKLSAgICAgICAgIm5u
dHAiLAotICAgICAgICAic21zIiwKLSAgICAgICAgInNtc3RvIiwKLSAgICAgICAgInRlbCIsCi0g
ICAgICAgICJ1cm4iLAotICAgICAgICAid2ViY2FsIiwKLSNlbmRpZgotICAgIH07Ci0gICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKHByb3RvY29scyk7ICsraSkKLSAg
ICAgICAgcHJvdG9jb2xXaGl0ZWxpc3QtPmFkZChwcm90b2NvbHNbaV0pOwotfQotCi1zdGF0aWMg
Ym9vbCB2ZXJpZnlDdXN0b21IYW5kbGVyVVJMKGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3Qg
U3RyaW5nJiB1cmwsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIC8vIFRoZSBzcGVjaWZpY2F0
aW9uIHJlcXVpcmVzIHRoYXQgaXQgaXMgYSBTWU5UQVhfRVJSIGlmIHRoZSAiJXMiIHRva2VuIGlz
Ci0gICAgLy8gbm90IHByZXNlbnQuCi0gICAgc3RhdGljIGNvbnN0IGNoYXIgdG9rZW5bXSA9ICIl
cyI7Ci0gICAgaW50IGluZGV4ID0gdXJsLmZpbmQodG9rZW4pOwotICAgIGlmICgtMSA9PSBpbmRl
eCkgewotICAgICAgICBlYyA9IFNZTlRBWF9FUlI7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB9Ci0KLSAgICAvLyBJdCBpcyBhbHNvIGEgU1lOVEFYX0VSUiBpZiB0aGUgY3VzdG9tIGhhbmRs
ZXIgVVJMLCBhcyBjcmVhdGVkIGJ5IHJlbW92aW5nCi0gICAgLy8gdGhlICIlcyIgdG9rZW4gYW5k
IHByZXBlbmRpbmcgdGhlIGJhc2UgdXJsLCBkb2VzIG5vdCByZXNvbHZlLgotICAgIFN0cmluZyBu
ZXdVUkwgPSB1cmw7Ci0gICAgbmV3VVJMLnJlbW92ZShpbmRleCwgV1RGX0FSUkFZX0xFTkdUSCh0
b2tlbikgLSAxKTsKLQotICAgIEtVUkwgYmFzZShQYXJzZWRVUkxTdHJpbmcsIGJhc2VVUkwpOwot
ICAgIEtVUkwga3VybChiYXNlLCBuZXdVUkwpOwotCi0gICAgaWYgKGt1cmwuaXNFbXB0eSgpIHx8
ICFrdXJsLmlzVmFsaWQoKSkgewotICAgICAgICBlYyA9IFNZTlRBWF9FUlI7Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotc3RhdGljIGJvb2wg
aXNQcm90b2NvbFdoaXRlbGlzdGVkKGNvbnN0IFN0cmluZyYgc2NoZW1lKQotewotICAgIGlmICgh
cHJvdG9jb2xXaGl0ZWxpc3QpCi0gICAgICAgIGluaXRQcm90b2NvbEhhbmRsZXJXaGl0ZWxpc3Qo
KTsKLSAgICByZXR1cm4gcHJvdG9jb2xXaGl0ZWxpc3QtPmNvbnRhaW5zKHNjaGVtZSk7Ci19Ci0K
LXN0YXRpYyBib29sIHZlcmlmeVByb3RvY29sSGFuZGxlclNjaGVtZShjb25zdCBTdHJpbmcmIHNj
aGVtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKHNjaGVtZS5zdGFydHNXaXRoKCJ3
ZWIrIikpIHsKLSAgICAgICAgaWYgKGlzVmFsaWRQcm90b2NvbChzY2hlbWUpKQotICAgICAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgaWYgKGlzUHJvdG9jb2xXaGl0ZWxpc3RlZChzY2hlbWUp
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKLSAgICByZXR1
cm4gZmFsc2U7Ci19Ci0KLU5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKiBOYXZpZ2F0
b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6ZnJvbShQYWdlKiBwYWdlKQotewotICAgIHJldHVy
biBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcio+KFJlZkNvdW50
ZWRTdXBwbGVtZW50PFBhZ2UsIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyPjo6ZnJv
bShwYWdlLCBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6c3VwcGxlbWVudE5hbWUo
KSkpOwotfQotCi1OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6fk5hdmlnYXRvclJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkKLXsKLX0KLQotUGFzc1JlZlB0cjxOYXZpZ2F0b3JSZWdp
c3RlclByb3RvY29sSGFuZGxlcj4gTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI6OmNy
ZWF0ZShSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCogY2xpZW50KQotewotICAgIHJldHVy
biBhZG9wdFJlZihuZXcgTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY2xpZW50KSk7
Ci19Ci0KLXZvaWQgTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI6OnJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyKE5hdmlnYXRvciogbmF2aWdhdG9yLCBjb25zdCBTdHJpbmcmIHNjaGVtZSwg
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUsIEV4Y2VwdGlvbkNvZGUmIGVj
KQotewotICAgIGlmICghbmF2aWdhdG9yLT5mcmFtZSgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBEb2N1bWVudCogZG9jdW1lbnQgPSBuYXZpZ2F0b3ItPmZyYW1lKCktPmRvY3VtZW50KCk7Ci0g
ICAgaWYgKCFkb2N1bWVudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgU3RyaW5nIGJhc2VVUkwg
PSBkb2N1bWVudC0+YmFzZVVSTCgpLmJhc2VBc1N0cmluZygpOwotCi0gICAgaWYgKCF2ZXJpZnlD
dXN0b21IYW5kbGVyVVJMKGJhc2VVUkwsIHVybCwgZWMpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBpZiAoIXZlcmlmeVByb3RvY29sSGFuZGxlclNjaGVtZShzY2hlbWUsIGVjKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI6OmZyb20obmF2
aWdhdG9yLT5mcmFtZSgpLT5wYWdlKCkpLT5jbGllbnQoKS0+cmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXIoc2NoZW1lLCBiYXNlVVJMLCB1cmwsIG5hdmlnYXRvci0+ZnJhbWUoKS0+ZGlzcGxheVN0cmlu
Z01vZGlmaWVkQnlFbmNvZGluZyh0aXRsZSkpOwotfQotCi0jaWYgRU5BQkxFKENVU1RPTV9TQ0hF
TUVfSEFORExFUikKLXN0YXRpYyBTdHJpbmcgY3VzdG9tSGFuZGxlcnNTdGF0ZVN0cmluZyhjb25z
dCBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudDo6Q3VzdG9tSGFuZGxlcnNTdGF0ZSBzdGF0
ZSkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgbmV3SGFuZGxlciwg
KCJuZXciKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHJlZ2lzdGVy
ZWRIYW5kbGVyLCAoInJlZ2lzdGVyZWQiKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBTdHJpbmcsIGRlY2xpbmVkSGFuZGxlciwgKCJkZWNsaW5lZCIpKTsKLQotICAgIHN3aXRjaCAo
c3RhdGUpIHsKLSAgICBjYXNlIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50OjpDdXN0b21I
YW5kbGVyc05ldzoKLSAgICAgICAgcmV0dXJuIG5ld0hhbmRsZXI7Ci0gICAgY2FzZSBSZWdpc3Rl
clByb3RvY29sSGFuZGxlckNsaWVudDo6Q3VzdG9tSGFuZGxlcnNSZWdpc3RlcmVkOgotICAgICAg
ICByZXR1cm4gcmVnaXN0ZXJlZEhhbmRsZXI7Ci0gICAgY2FzZSBSZWdpc3RlclByb3RvY29sSGFu
ZGxlckNsaWVudDo6Q3VzdG9tSGFuZGxlcnNEZWNsaW5lZDoKLSAgICAgICAgcmV0dXJuIGRlY2xp
bmVkSGFuZGxlcjsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1
cm4gU3RyaW5nKCk7Ci19Ci0KLVN0cmluZyBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxl
cjo6aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKE5hdmlnYXRvciogbmF2aWdhdG9yLCBjb25z
dCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1cmwsIEV4Y2VwdGlvbkNvZGUmIGVjKQot
ewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBkZWNsaW5lZCwgKCJkZWNs
aW5lZCIpKTsKLQotICAgIGlmICghbmF2aWdhdG9yLT5mcmFtZSgpKQotICAgICAgICByZXR1cm4g
ZGVjbGluZWQ7Ci0KLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBuYXZpZ2F0b3ItPmZyYW1lKCkt
PmRvY3VtZW50KCk7Ci0gICAgU3RyaW5nIGJhc2VVUkwgPSBkb2N1bWVudC0+YmFzZVVSTCgpLmJh
c2VBc1N0cmluZygpOwotCi0gICAgaWYgKCF2ZXJpZnlDdXN0b21IYW5kbGVyVVJMKGJhc2VVUkws
IHVybCwgZWMpKQotICAgICAgICByZXR1cm4gZGVjbGluZWQ7Ci0KLSAgICBpZiAoIXZlcmlmeVBy
b3RvY29sSGFuZGxlclNjaGVtZShzY2hlbWUsIGVjKSkKLSAgICAgICAgcmV0dXJuIGRlY2xpbmVk
OwotCi0gICAgcmV0dXJuIGN1c3RvbUhhbmRsZXJzU3RhdGVTdHJpbmcoTmF2aWdhdG9yUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXI6OmZyb20obmF2aWdhdG9yLT5mcmFtZSgpLT5wYWdlKCkpLT5jbGll
bnQoKS0+aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKHNjaGVtZSwgYmFzZVVSTCwgdXJsKSk7
Ci19Ci0KLXZvaWQgTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI6OnVucmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXIoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIGNvbnN0IFN0cmluZyYgc2NoZW1l
LCBjb25zdCBTdHJpbmcmIHVybCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKCFuYXZp
Z2F0b3ItPmZyYW1lKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIERvY3VtZW50KiBkb2N1bWVu
dCA9IG5hdmlnYXRvci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKTsKLSAgICBTdHJpbmcgYmFzZVVSTCA9
IGRvY3VtZW50LT5iYXNlVVJMKCkuYmFzZUFzU3RyaW5nKCk7Ci0KLSAgICBpZiAoIXZlcmlmeUN1
c3RvbUhhbmRsZXJVUkwoYmFzZVVSTCwgdXJsLCBlYykpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmICghdmVyaWZ5UHJvdG9jb2xIYW5kbGVyU2NoZW1lKHNjaGVtZSwgZWMpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6ZnJvbShuYXZp
Z2F0b3ItPmZyYW1lKCktPnBhZ2UoKSktPmNsaWVudCgpLT51bnJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyKHNjaGVtZSwgYmFzZVVSTCwgdXJsKTsKLX0KLSNlbmRpZgotCi1jb25zdCBBdG9taWNTdHJp
bmcmIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyOjpzdXBwbGVtZW50TmFtZSgpCi17
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiTmF2aWdhdG9y
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIiKSk7Ci0gICAgcmV0dXJuIG5hbWU7Ci19Ci0KLXZvaWQg
cHJvdmlkZVJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyVG8oUGFnZSogcGFnZSwgUmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXJDbGllbnQqIGNsaWVudCkKLXsKLSAgICBSZWZDb3VudGVkU3VwcGxlbWVudDxQ
YWdlLCBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcj46OnByb3ZpZGVUbyhwYWdlLCBO
YXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6c3VwcGxlbWVudE5hbWUoKSwgTmF2aWdh
dG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI6OmNyZWF0ZShjbGllbnQpKTsKLX0KLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hB
TkRMRVIpCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5k
bGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTkwOWU1Li4wMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDExLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29w
eXJpZ2h0IChDKSAyMDEyLCBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKLSAqIERB
TUFHRS4KLSAqLwotCi0jaWZuZGVmIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyX2gK
LSNkZWZpbmUgTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJfaAotCi0jaWYgRU5BQkxF
KFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCi0KLSNpbmNsdWRlICJSZWZDb3VudGVkU3VwcGxl
bWVudC5oIgotI2luY2x1ZGUgIlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50LmgiCi0jaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBQYWdlOwotY2xhc3MgTmF2aWdhdG9yOwot
Ci10eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwotCi1jbGFzcyBOYXZpZ2F0b3JSZWdpc3RlclBy
b3RvY29sSGFuZGxlciA6IHB1YmxpYyBSZWZDb3VudGVkU3VwcGxlbWVudDxQYWdlLCBOYXZpZ2F0
b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcj4gewotcHVibGljOgotICAgIHZpcnR1YWwgfk5hdmln
YXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCk7Ci0KLSAgICBzdGF0aWMgY29uc3QgQXRvbWlj
U3RyaW5nJiBzdXBwbGVtZW50TmFtZSgpOwotICAgIHN0YXRpYyBOYXZpZ2F0b3JSZWdpc3RlclBy
b3RvY29sSGFuZGxlciogZnJvbShQYWdlKik7Ci0KLSAgICBzdGF0aWMgdm9pZCByZWdpc3RlclBy
b3RvY29sSGFuZGxlcihOYXZpZ2F0b3IqLCBjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3Ry
aW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUsIEV4Y2VwdGlvbkNvZGUmKTsKLQotI2lmIEVO
QUJMRShDVVNUT01fU0NIRU1FX0hBTkRMRVIpCi0gICAgc3RhdGljIFN0cmluZyBpc1Byb3RvY29s
SGFuZGxlclJlZ2lzdGVyZWQoTmF2aWdhdG9yKiwgY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0
IFN0cmluZyYgdXJsLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgc3RhdGljIHZvaWQgdW5yZWdpc3Rl
clByb3RvY29sSGFuZGxlcihOYXZpZ2F0b3IqLCBjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3Qg
U3RyaW5nJiB1cmwsIEV4Y2VwdGlvbkNvZGUmKTsKLSNlbmRpZgotCi0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8TmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI+IGNyZWF0ZShSZWdpc3RlclBy
b3RvY29sSGFuZGxlckNsaWVudCopOwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IE5hdmlnYXRv
clJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50KiBj
bGllbnQpCi0gICAgICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgIHsgfQotCi0gICAgUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQqIGNsaWVudCgpIHsgcmV0dXJuIG1fY2xpZW50OyB9Ci0K
LSAgICBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCogbV9jbGllbnQ7Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xf
SEFORExFUikKLQotI2VuZGlmIC8vIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmln
YXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmlkbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc0YmI1OS4uMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29s
SGFuZGxlci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKgotICAgIENvcHly
aWdodCAoQykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTIsIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0K
LSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
Ci0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotKi8KLQotbW9kdWxlIHdpbmRvdyB7Ci0KLSAgICBpbnRlcmZhY2UgWwotICAg
ICAgICBTdXBwbGVtZW50YWw9TmF2aWdhdG9yCi0gICAgXSBOYXZpZ2F0b3JSZWdpc3RlclByb3Rv
Y29sSGFuZGxlciB7Ci0gICAgICAgIFtDb25kaXRpb25hbD1SRUdJU1RFUl9QUk9UT0NPTF9IQU5E
TEVSXSB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGluIERPTVN0cmluZyBzY2hlbWUsIGlu
IERPTVN0cmluZyB1cmwsIGluIERPTVN0cmluZyB0aXRsZSkKLSAgICAgICAgICAgIHJhaXNlcyhE
T01FeGNlcHRpb24pOwotICAgICAgICBbQ29uZGl0aW9uYWw9UkVHSVNURVJfUFJPVE9DT0xfSEFO
RExFUiZDVVNUT01fU0NIRU1FX0hBTkRMRVJdIERPTVN0cmluZyBpc1Byb3RvY29sSGFuZGxlclJl
Z2lzdGVyZWQoaW4gRE9NU3RyaW5nIHNjaGVtZSwgaW4gRE9NU3RyaW5nIHVybCkKLSAgICAgICAg
ICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICBbQ29uZGl0aW9uYWw9UkVHSVNURVJf
UFJPVE9DT0xfSEFORExFUiZDVVNUT01fU0NIRU1FX0hBTkRMRVJdIHZvaWQgdW5yZWdpc3RlclBy
b3RvY29sSGFuZGxlcihpbiBET01TdHJpbmcgc2NoZW1lLCBpbiBET01TdHJpbmcgdXJsKQotICAg
ICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgfTsKLQotfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvUmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL1Jl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDFhODMyYWMuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2Nv
bGhhbmRsZXIvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQuaAorKysgL2Rldi9udWxsCkBA
IC0xLDU5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJv
bmljcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAotICovCi0KLSNpZm5kZWYgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRfaAot
I2RlZmluZSBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudF9oCi0KLSNpZiBFTkFCTEUoUkVH
SVNURVJfUFJPVE9DT0xfSEFORExFUikKLQotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFBhZ2U7Ci0KLWNsYXNzIFJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyQ2xpZW50IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5SZWdpc3RlclBy
b3RvY29sSGFuZGxlckNsaWVudCgpIHsgfQotICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3Rv
Y29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBj
b25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkgPSAwOwotCi0jaWYgRU5BQkxF
KENVU1RPTV9TQ0hFTUVfSEFORExFUikKLSAgICBlbnVtIEN1c3RvbUhhbmRsZXJzU3RhdGUgewot
ICAgICAgICBDdXN0b21IYW5kbGVyc05ldywKLSAgICAgICAgQ3VzdG9tSGFuZGxlcnNSZWdpc3Rl
cmVkLAotICAgICAgICBDdXN0b21IYW5kbGVyc0RlY2xpbmVkCi0gICAgfTsKLQotICAgIHZpcnR1
YWwgQ3VzdG9tSGFuZGxlcnNTdGF0ZSBpc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoY29uc3Qg
U3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwp
ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBT
dHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCkg
PSAwOwotI2VuZGlmCi19OwotCi12b2lkIHByb3ZpZGVSZWdpc3RlclByb3RvY29sSGFuZGxlclRv
KFBhZ2UqLCBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCopOwotCi19Ci0KLSNlbmRpZiAv
LyBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLSNlbmRpZiAvLyBSZWdpc3RlclBy
b3RvY29sSGFuZGxlckNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA4YjBkYjIxLi5mNzFhZTEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKQEAgLTI0OSwxMiArMjQ5LDEyIEBAIFNPVVJDRVMgKz0gXAogICAgIE1vZHVs
ZXMvZmlsZXN5c3RlbS9GaWxlV3JpdGVyU3luYy5jcHAgXAogICAgIE1vZHVsZXMvZmlsZXN5c3Rl
bS9Mb2NhbEZpbGVTeXN0ZW0uY3BwIFwKICAgICBNb2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29u
dGV4dEZpbGVTeXN0ZW0uY3BwIFwKKyAgICBNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9O
YXZpZ2F0b3JDb250ZW50VXRpbHMuY3BwIFwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9N
V2luZG93Tm90aWZpY2F0aW9ucy5jcHAgXAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwIFwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmNwcCBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xs
ZXIuY3BwIFwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNh
dGlvbnMuY3BwIFwKLSAgICBNb2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3Rl
clByb3RvY29sSGFuZGxlci5jcHAgXAogICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBc
CiAgICAgY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCb3Jk
ZXJJbWFnZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCBk
YjA0ZjQxLi42M2M3ZjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9X
ZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApA
QCAtNjYsOCArNjYsOCBAQAogICAgICAgJy4uL01vZHVsZXMvaW5kZXhlZGRiJywKICAgICAgICcu
Li9Nb2R1bGVzL21lZGlhc291cmNlJywKICAgICAgICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywK
KyAgICAgICcuLi9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscycsCiAgICAgICAnLi4vTW9k
dWxlcy9ub3RpZmljYXRpb25zJywKLSAgICAgICcuLi9Nb2R1bGVzL3Byb3RvY29saGFuZGxlcics
CiAgICAgICAnLi4vTW9kdWxlcy9xdW90YScsCiAgICAgICAnLi4vTW9kdWxlcy9zcGVlY2gnLAog
ICAgICAgJy4uL01vZHVsZXMvd2ViYXVkaW8nLApAQCAtMTEyMiw4ICsxMTIyLDggQEAKICAgICAg
ICAgICAgICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL2ludGVudHMnLAogICAgICAgICAgICAg
ICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvbWVkaWFzb3VyY2UnLAogICAgICAgICAgICAgICAn
LS1pbmNsdWRlJywgJy4uL01vZHVsZXMvbWVkaWFzdHJlYW0nLAorICAgICAgICAgICAgICAnLS1p
bmNsdWRlJywgJy4uL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzJywKICAgICAgICAgICAg
ICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL25vdGlmaWNhdGlvbnMnLAotICAgICAgICAgICAg
ICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyJywKICAgICAgICAgICAg
ICAgJy0taW5jbHVkZScsICcuLi9Nb2R1bGVzL3dlYmF1ZGlvJywKICAgICAgICAgICAgICAgJy0t
aW5jbHVkZScsICcuLi9Nb2R1bGVzL3dlYmRhdGFiYXNlJywKICAgICAgICAgICAgICAgJy0taW5j
bHVkZScsICcuLi9jc3MnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDBlOTU0ZDcuLjM4OWU1ZjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTg2NCwxMiArODY0LDEyIEBACiAgICAgICAgICAgICAnTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwnLAogICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAn
TW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaWRsJywKKyAgICAgICAgICAg
ICdNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuaWRs
JywKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0
aW9ucy5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5pZGwnLAotICAgICAgICAgICAgJ01v
ZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmlk
bCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5pZGwnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsJywKICAgICAgICAgICAgICdN
b2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvRXJyb3JDYWxsYmFjay5pZGwnLApAQCAtMTYxMSw2ICsx
NjExLDkgQEAKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYUNvbnRy
b2xsZXIuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1
ZXN0LmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1
ZXN0LmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmln
YXRvckNvbnRlbnRVdGlscy5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmF2aWdhdG9yY29u
dGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5oJywKKyAgICAgICAgICAgICdNb2R1bGVz
L25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMu
Y3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZp
Y2F0aW9ucy5oJywKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmNwcCcsCkBAIC0xNjIyLDkgKzE2MjUsNiBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmNwcCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmlj
YXRpb25zLmgnLAotICAgICAgICAgICAgJ01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRv
clJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmNwcCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9wcm90
b2NvbGhhbmRsZXIvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaCcsCi0gICAgICAg
ICAgICAnTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGll
bnQuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuaCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAxMDE4
MWY1Li4yODA0YjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtMTYsOCArMTYsOCBAQCBJTkNMVURFUEFU
SCArPSBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvZmlsZXN5c3RlbSBcCiAgICAgJCRTT1VS
Q0VfRElSL01vZHVsZXMvZ2VvbG9jYXRpb24gXAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL2lu
ZGV4ZWRkYiBcCisgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxz
IFwKICAgICAkJFNPVVJDRV9ESVIvTW9kdWxlcy9ub3RpZmljYXRpb25zIFwKLSAgICAkJFNPVVJD
RV9ESVIvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIgXAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVz
L3F1b3RhIFwKICAgICAkJFNPVVJDRV9ESVIvTW9kdWxlcy93ZWJhdWRpbyBcCiAgICAgJCRTT1VS
Q0VfRElSL01vZHVsZXMvd2ViZGF0YWJhc2UgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA4NzU4ZmNlLi5mMmY0MTQ2IDEwMDc1NQotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjUxNTEsMTQgKzI1MTUx
LDE0IEBACiAJCQkJPC9GaWxlPgogCQkJPC9GaWx0ZXI+CiAJCQk8RmlsdGVyCi0JCQkJTmFtZT0i
cHJvdG9jb2xoYW5kbGVyIgorCQkJCU5hbWU9Im5hdmlnYXRvcmNvbnRlbnR1dGlscyIKIAkJCQk+
CiAJCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXHByb3RvY29saGFuZGxl
clxOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5jcHAiCisJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cTW9kdWxlc1xuYXZpZ2F0b3Jjb250ZW50dXRpbHNcTmF2aWdhdG9yQ29udGVudFV0aWxz
LmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXE1vZHVsZXNccHJvdG9jb2xoYW5kbGVyXE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyLmgiCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xuYXZpZ2F0b3Jjb250ZW50dXRp
bHNcTmF2aWdhdG9yQ29udGVudFV0aWxzLmgiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQk8L0Zp
bHRlcj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVD
b21tb24udnNwcm9wcyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21t
b24udnNwcm9wcwppbmRleCAxNWFhOWJmLi5iZmVlNGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHMKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52c3Byb3BzCkBAIC03LDcgKzcsNyBA
QAogCT4KIAk8VG9vbAogCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQlBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpLi4mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXE1vZHVsZXNcZmlsZXN5c3RlbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
TW9kdWxlc1xnZW9sb2NhdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xp
bmRleGVkZGImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbWVkaWFzb3VyY2Um
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccHJvdG9jb2xoYW5kbGVyJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHF1b3RhJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxNb2R1bGVzXG5vdGlmaWNhdGlvbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XE1vZHVsZXNcd2ViZGF0YWJhc2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNc
d2Vic29ja2V0cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eVx3aW4mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXGJyaWRnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlXGMm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxqc2MmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGNzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZWRpdGluZyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cZmlsZWFwaSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
cmVuZGVyaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcbWF0aG1sJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3R5bGUmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJp
bmRpbmdzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xnZW5lcmljJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqcyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cYmluZGluZ3NcanNcc3BlY2lhbGl6YXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGRvbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tXGRlZmF1bHQmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGhpc3RvcnkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0
bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcY2FudmFzJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxodG1sXHBhcnNlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRt
bFxzaGFkb3cmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGluc3BlY3RvciZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cbG9hZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2Fk
ZXJcYXBwY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNoaXZlJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZVxjZiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cbG9hZGVyXGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxs
b2FkZXJcaWNvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbWF0aG1sJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXGFu
aW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVxzY3JvbGxpbmcmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwbGF0Zm9ybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cYW5pbWF0aW9u
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxtb2NrJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxwbGF0Zm9ybVxzcWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBs
YXRmb3JtXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29yayZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29ya1x3aW4mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwbGF0Zm9ybVxncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
Z3JhcGhpY3NcY2EmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNz
XGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZp
bHRlcnNcYXJtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xv
cGVudHlwZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdHJh
bnNmb3JtcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dCZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dFx0cmFuc2NvZGVyJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ceG1sXHBhcnNlciZxdW90
OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJj
ZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnMmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBsdWdpbnNcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcYW5p
bWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcZ3JhcGhpY3MmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xwcm9wZXJ0aWVzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxzdmdcZ3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3Zn
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx0ZXN0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlx3bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN0b3JhZ2UmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHdlYnNvY2tldHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHdvcmtlcnMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGUmcXVv
dDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90Ozsm
cXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90
OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3Jp
cHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxGb3J3YXJkaW5nSGVhZGVycyZxdW90
OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHRocmVhZHMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJy
YXJpZXNEaXIpXGluY2x1ZGVcc3FsaXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGly
KVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGly
KVxpbmNsdWRlXHpsaWImcXVvdDsiCisJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZx
dW90OyQoUHJvamVjdERpcikuLiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xm
aWxlc3lzdGVtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGdlb2xvY2F0aW9u
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGluZGV4ZWRkYiZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xtZWRpYXNvdXJjZSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cTW9kdWxlc1xuYXZpZ2F0b3Jjb250ZW50dXRpbHMmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXE1vZHVsZXNccXVvdGEmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVs
ZXNcbm90aWZpY2F0aW9ucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJk
YXRhYmFzZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJzb2NrZXRzJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5JnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxhY2Nlc3NpYmlsaXR5XHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
YnJpZGdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2VcYyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cYnJpZGdlXGpzYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cY3Nz
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxmaWxlYXBpJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmcmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xtYXRobWwmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdHlsZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
cmVuZGVyaW5nXHN2ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3MmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGdlbmVyaWMmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGJpbmRpbmdzXGpzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5n
c1xqc1xzcGVjaWFsaXphdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxkb21cZGVmYXVsdCZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5caGlzdG9yeSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbCZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5caHRtbFxjYW52YXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XGh0bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXHNoYWRvdyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5caW5zcGVjdG9yJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxsb2FkZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcHBjYWNoZSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hpdmUmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXGxvYWRlclxhcmNoaXZlXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
Llxsb2FkZXJcY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxpY29uJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxtYXRobWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2VcYW5pbWF0aW9uJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHNjcm9sbGluZyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5ccGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG1vY2smcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHBsYXRmb3JtXHNxbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cd2luJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccGxhdGZvcm1cY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdy
YXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xjYSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVycyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xhcm0mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1x0cmFuc2Zvcm1zJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx0ZXh0JnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwbGF0Zm9ybVx0ZXh0XHRyYW5zY29kZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsYXRmb3JtXGdyYXBoaWNzXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ceG1s
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx4bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcV2ViQ29yZVxEZXJpdmVkU291cmNlcyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccGx1Z2lucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGx1
Z2luc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xhbmltYXRpb24mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cc3ZnXHByb3BlcnRpZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFw
aGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmcmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHRlc3RpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdtbCZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3RvcmFnZSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cd2Vic29ja2V0cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cd29ya2VycyZxdW90
OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2Vi
S2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGly
KVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1
ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcaW5jbHVkZVxwdGhyZWFkcyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5j
bHVkZVxzcWxpdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcSmF2
YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcemxp
YiZxdW90OyIKIAkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9fV0lOMzJfXztESVNBQkxFXzNE
X1JFTkRFUklORztXRUJDT1JFX0NPTlRFWFRfTUVOVVMiCiAJCVVzZVByZWNvbXBpbGVkSGVhZGVy
PSIyIgogCQlQcmVjb21waWxlZEhlYWRlclRocm91Z2g9IldlYkNvcmVQcmVmaXguaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlGb3J3YXJkaW5nSGVhZGVy
cy5jbWQgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRl
cnMuY21kCmluZGV4IDc5YzM2MjAuLjc1NGE1N2YgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL2NvcHlGb3J3YXJkaW5nSGVhZGVycy5jbWQKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZApAQCAtMjIsOCAr
MjIsOCBAQCB4Y29weSAveSAvZCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcb2JqXFdlYkNvcmVc
RGVyaXZlZFNvdXJjZXNcKi5oIiAiJUNPTkZJR1VSQQogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGly
JS4uXE1vZHVsZXNcZmlsZXN5c3RlbVwqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNs
dWRlXFdlYkNvcmUiCiB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5cTW9kdWxlc1xnZW9sb2Nh
dGlvblwqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29w
eSAveSAvZCAiJVByb2plY3REaXIlLi5cTW9kdWxlc1xtZWRpYXNvdXJjZVwqLmgiICIlQ09ORklH
VVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCit4Y29weSAveSAvZCAiJVByb2plY3RE
aXIlLi5cTW9kdWxlc1xuYXZpZ2F0b3Jjb250ZW50dXRpbHNcKi5oIiAiJUNPTkZJR1VSQVRJT05C
VUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1v
ZHVsZXNcbm90aWZpY2F0aW9uc1wqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRl
XFdlYkNvcmUiCi14Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5cTW9kdWxlc1xwcm90b2NvbGhh
bmRsZXJcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNv
cHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNccXVvdGFcKi5oIiAiJUNPTkZJR1VSQVRJ
T05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4u
XE1vZHVsZXNcd2ViZGF0YWJhc2VcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVk
ZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNcd2Vic29ja2V0
c1wqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDRiZjk4ZGUuLjY0OTcyNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDgt
MjQgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisK
KyAgICAgICAgUmVuYW1lIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIEFQSSB0byBOYXZpZ2F0b3JD
b250ZW50VXRpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk0OTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTW9kaWZpZWQgUGxhdGZvcm1FZmwuY21ha2Ugc28gdGhhdCBpdCBpbmNsdWRlcyB0aGUgcmVu
YW1lZCBmaWxlcy4KKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorCiAyMDEyLTA4LTIw
ICBEb21pbmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CiAKICAg
ICAgICAgW0VGTF0gR2V0IHJpZCBvZiBwYW5nbyBiYWNrZW5kIHN1cHBvcnQgb25jZSBoYXJmYnV6
ei1uZyBpcyB3b3JraW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNt
YWtlIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBjZWEzZTVlLi43MDQ0
ZTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTc4LDkgKzc4LDkgQEAgSUYgKEVOQUJM
RV9CQVRURVJZX1NUQVRVUykKICAgKQogRU5ESUYgKCkKIAotSUYgKEVOQUJMRV9SRUdJU1RFUl9Q
Uk9UT0NPTF9IQU5ETEVSKQorSUYgKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKICAg
TElTVChBUFBFTkQgV2ViS2l0X0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAiJHtXRUJDT1JFX0RJ
Un0vTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
bmF2aWdhdG9yY29udGVudHV0aWxzIgogICApCiBFTkRJRiAoKQogCkBAIC05OCwxMSArOTgsMTEg
QEAgTElTVChBUFBFTkQgV2ViS2l0X1NPVVJDRVMKICAgICBlZmwvV2ViQ29yZVN1cHBvcnQvRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5jcHAKICAgICBlZmwvV2ViQ29yZVN1cHBvcnQvSWNv
bkRhdGFiYXNlQ2xpZW50RWZsLmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JD
bGllbnRFZmwuY3BwCisgICAgZWZsL1dlYkNvcmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudEVmbC5jcHAgCiAgICAgZWZsL1dlYkNvcmVTdXBwb3J0L05ldHdvcmtJbmZvQ2xpZW50
RWZsLmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGll
bnRFZmwuY3BwCiAgICAgZWZsL1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRFZmwuY3BwCiAgICAg
ZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5jcHAgCi0gICAgZWZsL1dl
YkNvcmVTdXBwb3J0L1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsLmNwcCAKICAgICBl
ZmwvV2ViQ29yZVN1cHBvcnQvU3RvcmFnZVRyYWNrZXJDbGllbnRFZmwuY3BwCiAgICAgZWZsL1dl
YkNvcmVTdXBwb3J0L1ZpYnJhdGlvbkNsaWVudEVmbC5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9D
aGFuZ2VMb2cKaW5kZXggMTA1OTE4MS4uYTdlZGZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDgtMjQgIE1pa2hhaWwgUG96ZG55YWtvdiAg
PG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgUmVuYW1lIFJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyIEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1pbmcgd2hhdGV2ZXIgUmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXItcHJlZml4ZWQgdG8gTmF2aWdhdG9yQ29udGVudFV0aWxzLXBy
ZWZpeGVkLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhRW5hYmxlRmVhdHVy
ZXMuaW46CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEJs
YWNrQmVycnk6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnRCbGFj
a0JlcnJ5KToKKwogMjAxMi0wOC0yMiAgQ3J5c3RhbCBaaGFuZyAgPGhhaXpoYW5nQHJpbS5jb20+
CiAKICAgICAgICAgW0JsYWNrQmVycnldIE1ha2UgYWxsIHBpY2tlcnMgbm9uLXpvb21hYmxlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXRE
YXRhRW5hYmxlRmVhdHVyZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1
cHBvcnQvQWJvdXREYXRhRW5hYmxlRmVhdHVyZXMuaW4KaW5kZXggMTVlNDBlNi4uNDJmYzM4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Fib3V0
RGF0YUVuYWJsZUZlYXR1cmVzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJD
b3JlU3VwcG9ydC9BYm91dERhdGFFbmFibGVGZWF0dXJlcy5pbgpAQCAtMTIyLDYgKzEyMiw3IEBA
IE1IVE1MCiBNSUNST0RBVEEKIE1VVEFUSU9OX09CU0VSVkVSUwogTVlTVEVSSU9VU19GRUFUVVJF
CitOQVZJR0FUT1JfQ09OVEVOVF9VVElMUwogTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hF
CiBORVRXT1JLX0lORk8KIE5FV19YTUwKQEAgLTE1MCw3ICsxNTEsNiBAQCBQUk9HUkVTU19UQUcK
IFBVUkdFQUJMRV9NRU1PUlkKIFFVT1RBCiBSRUdFWFBfVFJBQ0lORwotUkVHSVNURVJfUFJPVE9D
T0xfSEFORExFUgogUkVQQUlOVF9USFJPVFRMSU5HCiBSRVFVRVNUX0FOSU1BVElPTl9GUkFNRQog
UlVCQkVSX0JBTkRJTkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcAppbmRleCA5
YTYzMjVmLi41NDZkYjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwCkBA
IC04MjUsNiArODI1LDEyIEBAIFBhc3NPd25QdHI8Q29sb3JDaG9vc2VyPiBDaHJvbWVDbGllbnRC
bGFja0JlcnJ5OjpjcmVhdGVDb2xvckNob29zZXIoQ29sb3JDaG9vc2VyCiAgICAgcmV0dXJuIG51
bGxwdHI7CiB9CiAKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCit2b2lkIENo
cm9tZUNsaWVudEJsYWNrQmVycnk6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmlu
ZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBTdHJpbmcmIHRpdGxlKQoreworICAgIG1fd2ViUGFnZVByaXZhdGUtPm1fY2xpZW50LT5yZWdp
c3RlclByb3RvY29sSGFuZGxlcihzY2hlbWUsIGJhc2VVUkwsIHVybCwgdGl0bGUpOworfQorCiAj
aWYgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKIENocm9tZUNsaWVudDo6Q3VzdG9tSGFu
ZGxlcnNTdGF0ZSBDaHJvbWVDbGllbnRCbGFja0JlcnJ5Ojppc1Byb3RvY29sSGFuZGxlclJlZ2lz
dGVyZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3Qg
U3RyaW5nJiB1cmwpCiB7CkBAIC04MzYsMTIgKzg0Miw2IEBAIHZvaWQgQ2hyb21lQ2xpZW50Qmxh
Y2tCZXJyeTo6dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwg
Y29uCiAgICAgbV93ZWJQYWdlUHJpdmF0ZS0+bV9jbGllbnQtPnVucmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIoc2NoZW1lLCBiYXNlVVJMLCB1cmwpOwogfQogI2VuZGlmCi0KLSNpZiBFTkFCTEUoUkVH
SVNURVJfUFJPVE9DT0xfSEFORExFUikKLXZvaWQgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6cmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYg
YmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCi17Ci0gICAg
bV93ZWJQYWdlUHJpdmF0ZS0+bV9jbGllbnQtPnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKHNjaGVt
ZSwgYmFzZVVSTCwgdXJsLCB0aXRsZSk7Ci19CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmgKaW5kZXggZDRkMDJmOC4uNTYwMmZm
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEJsYWNrQmVycnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oCkBAIC0xNTQsMTQgKzE1NCwxNCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGFsbG93c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmco
KSBjb25zdDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIp
CisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQogICAgIHZpcnR1YWwgdm9pZCBy
ZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIC8qc2NoZW1lKi8sIGNvbnN0IFN0
cmluZyYgLypiYXNlVVJMKi8sIGNvbnN0IFN0cmluZyYgLyp1cmwqLywgY29uc3QgU3RyaW5nJiAv
KnRpdGxlKi8pOwotI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQog
ICAgIHZpcnR1YWwgQ3VzdG9tSGFuZGxlcnNTdGF0ZSBpc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVy
ZWQoY29uc3QgU3RyaW5nJiAvKnNjaGVtZSovLCBjb25zdCBTdHJpbmcmIC8qYmFzZVVSTCovLCBj
b25zdCBTdHJpbmcmIC8qdXJsKi8pOwogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgLypzY2hlbWUqLywgY29uc3QgU3RyaW5nJiAvKmJhc2VV
UkwqLywgY29uc3QgU3RyaW5nJiAvKnVybCovKTsKICNlbmRpZgorI2VuZGlmCiAKICAgICBCbGFj
a0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlKiB3ZWJQYWdlUHJpdmF0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fd2ViUGFnZVByaXZhdGU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCA0MzI4ZWQxLi43ZTRiYzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI2IEBACisyMDEyLTA4LTI0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFr
b3ZAaW50ZWwuY29tPgorCisgICAgICAgIFJlbmFtZSBSZWdpc3RlclByb3RvY29sSGFuZGxlciBB
UEkgdG8gTmF2aWdhdG9yQ29udGVudFV0aWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05NDkyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbmFtaW5nIHdoYXRldmVyIFJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyLXByZWZpeGVkIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscy1wcmVmaXhlZC4KKyAgICAgICAg
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsIGlzIHJlbmFtZWQgdG8gTmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50SW1wbC4KKworICAgICAgICAqIGZlYXR1cmVzLmd5cGk6CisgICAg
ICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYktpdDo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYktpdDo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbDo6TmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudEltcGw6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKToKKyAgICAgICAgKiBz
cmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAoTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xp
ZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudElt
cGw6On5OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMvV2Vi
Vmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwp
OgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDEyLTA4LTIzICBXZWkgSmlhICA8
d2ppYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgY3JlYXRlIGRpZmZlcmVudCBXZWJLaXQ6Oldl
Yk1lZGlhUGxheWVyIGJhc2VkIG9uIFVSTApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9mZWF0dXJlcy5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBp
CmluZGV4IDZiMTY1ZmQuLmJhODIyNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vZmVhdHVyZXMuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5
cGkKQEAgLTg3LDExICs4NywxMSBAQAogICAgICAgJ0VOQUJMRV9NSFRNTD0xJywKICAgICAgICdF
TkFCTEVfTUlDUk9EQVRBPTAnLAogICAgICAgJ0VOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlM9PChl
bmFibGVfbXV0YXRpb25fb2JzZXJ2ZXJzKScsCisgICAgICAnRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTPTEnLAogICAgICAgJ0VOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJPTEnLAogICAg
ICAgJ0VOQUJMRV9QT0lOVEVSX0xPQ0s9MScsCiAgICAgICAnRU5BQkxFX1BST0dSRVNTX0VMRU1F
TlQ9MScsCiAgICAgICAnRU5BQkxFX1FVT1RBPTEnLAotICAgICAgJ0VOQUJMRV9SRUdJU1RFUl9Q
Uk9UT0NPTF9IQU5ETEVSPTEnLAogICAgICAgJ0VOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RT0xJywKICAgICAgICdFTkFCTEVfUlVCWT0xJywKICAgICAgICdFTkFCTEVfU0FOREJPWD0xJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5k
ZXggMzI5YTk5Zi4uYjk3YWZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
Q2hyb21lQ2xpZW50SW1wbC5jcHAKQEAgLTExMjIsMTggKzExMjIsMTggQEAgdm9pZCBDaHJvbWVD
bGllbnRJbXBsOjpkYXNoYm9hcmRSZWdpb25zQ2hhbmdlZCgpCiB9CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotUGFzc093blB0cjxSZWdpc3RlclByb3Rv
Y29sSGFuZGxlckNsaWVudEltcGw+IFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50SW1wbDo6
Y3JlYXRlKFdlYlZpZXdJbXBsKiB3ZWJWaWV3KQorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykKK1Bhc3NPd25QdHI8TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbD4gTmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbDo6Y3JlYXRlKFdlYlZpZXdJbXBsKiB3ZWJWaWV3
KQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGll
bnRJbXBsKHdlYlZpZXcpKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudEltcGwod2ViVmlldykpOwogfQogCi1SZWdpc3RlclByb3RvY29sSGFuZGxl
ckNsaWVudEltcGw6OlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50SW1wbChXZWJWaWV3SW1w
bCogd2ViVmlldykKK05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGw6Ok5hdmlnYXRvckNv
bnRlbnRVdGlsc0NsaWVudEltcGwoV2ViVmlld0ltcGwqIHdlYlZpZXcpCiAgICAgOiBtX3dlYlZp
ZXcod2ViVmlldykKIHsKIH0KIAotdm9pZCBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudElt
cGw6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBT
dHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKSAK
K3ZvaWQgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbDo6cmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiB7IAogICAgIG1fd2ViVmlldy0+Y2xp
ZW50KCktPnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKHNjaGVtZSwgYmFzZVVSTCwgdXJsLCB0aXRs
ZSk7CiB9IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xp
ZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5o
CmluZGV4IGE3ODZkYzUuLjYyYjM5OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9DaHJvbWVDbGllbnRJbXBsLmgKQEAgLTMzLDggKzMzLDggQEAKICNkZWZpbmUgQ2hyb21lQ2xp
ZW50SW1wbF9oCiAKICNpbmNsdWRlICJDaHJvbWVDbGllbnRDaHJvbWl1bS5oIgorI2luY2x1ZGUg
Ik5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oIgogI2luY2x1ZGUgIlBvcHVwTWVudS5oIgot
I2luY2x1ZGUgIlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2Vh
cmNoUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAiV2ViTmF2aWdhdGlvblBvbGljeS5oIgogI2luY2x1
ZGUgPHB1YmxpYy9XZWJDb2xvci5oPgpAQCAtMjM3LDE1ICsyMzcsMTUgQEAgcHJpdmF0ZToKICNl
bmRpZgogfTsKIAotY2xhc3MgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsIDogcHVi
bGljIFdlYkNvcmU6OlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50IHsKK2NsYXNzIE5hdmln
YXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6TmF2aWdhdG9yQ29u
dGVudFV0aWxzQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxSZWdpc3Rl
clByb3RvY29sSGFuZGxlckNsaWVudEltcGw+IGNyZWF0ZShXZWJWaWV3SW1wbCopOwotICAgIH5S
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEltcGwoKSB7IH0KKyAgICBzdGF0aWMgUGFzc093
blB0cjxOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsPiBjcmVhdGUoV2ViVmlld0ltcGwq
KTsKKyAgICB+TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbCgpIHsgfQogCiAgICAgdmly
dHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBj
b25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRp
dGxlKSBPVkVSUklERTsKIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBSZWdpc3RlclByb3RvY29s
SGFuZGxlckNsaWVudEltcGwoV2ViVmlld0ltcGwqKTsKKyAgICBleHBsaWNpdCBOYXZpZ2F0b3JD
b250ZW50VXRpbHNDbGllbnRJbXBsKFdlYlZpZXdJbXBsKik7CiAKICAgICBXZWJWaWV3SW1wbCog
bV93ZWJWaWV3OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cAppbmRleCBjNmY5ZjdlLi5iNDhjYzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwCkBAIC00MzIsOCArNDMyLDggQEAgV2ViVmlld0ltcGw6OldlYlZpZXdJ
bXBsKFdlYlZpZXdDbGllbnQqIGNsaWVudCkKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAg
ICwgbV91c2VyTWVkaWFDbGllbnRJbXBsKHRoaXMpCiAjZW5kaWYKLSNpZiBFTkFCTEUoUkVHSVNU
RVJfUFJPVE9DT0xfSEFORExFUikKLSAgICAsIG1fcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGll
bnQoUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsOjpjcmVhdGUodGhpcykpCisjaWYg
RU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorICAgICwgbV9uYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnQoTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbDo6Y3JlYXRlKHRoaXMp
KQogI2VuZGlmCiAgICAgLCBtX2ZsaW5nTW9kaWZpZXIoMCkKIHsKQEAgLTQ2NCw4ICs0NjQsOCBA
QCBXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwoV2ViVmlld0NsaWVudCogY2xpZW50KQogI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAg
cHJvdmlkZU5vdGlmaWNhdGlvbihtX3BhZ2UuZ2V0KCksIG5vdGlmaWNhdGlvblByZXNlbnRlcklt
cGwoKSk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLSAg
ICBwcm92aWRlUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJUbyhtX3BhZ2UuZ2V0KCksIG1fcmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQuZ2V0KCkpOworI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykKKyAgICBwcm92aWRlTmF2aWdhdG9yQ29udGVudFV0aWxzVG8obV9wYWdlLmdl
dCgpLCBtX25hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5nZXQoKSk7CiAjZW5kaWYKIAogICAg
IHByb3ZpZGVDb250ZXh0RmVhdHVyZXNUbyhtX3BhZ2UuZ2V0KCksIG1fZmVhdHVyZVN3aXRjaENs
aWVudC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRl
eCAyMDZjZjQ1Li41OTg3ZWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmgKQEAgLTg1NCw4ICs4NTQsOCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAgICAgVXNlck1lZGlhQ2xpZW50SW1wbCBtX3VzZXJNZWRpYUNsaWVudEltcGw7CiAjZW5k
aWYKLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLSAgICBPd25QdHI8UmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsPiBtX3JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
Q2xpZW50OworI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKyAgICBPd25QdHI8
TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbD4gbV9uYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnQ7CiAjZW5kaWYKICAgICBPd25QdHI8V2ViQ29yZTo6QWN0aXZlUGxhdGZvcm1HZXN0dXJl
QW5pbWF0aW9uPiBtX2dlc3R1cmVBbmltYXRpb247CiAgICAgV2ViUG9pbnQgbV9sYXN0V2hlZWxQ
b3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBhMjJlNDkzLi5lYjY1ZGMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTItMDgtMjQgIE1pa2hhaWwgUG96ZG55YWtvdiAg
PG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgUmVuYW1lIFJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyIEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1pbmcgd2hhdGV2ZXIgUmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXItcHJlZml4ZWQgdG8gTmF2aWdhdG9yQ29udGVudFV0aWxzLXBy
ZWZpeGVkLgorICAgICAgICBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbCBpcyByZW5h
bWVkIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbC4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbC5jcHA6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxl
ckNsaWVudEVmbC5jcHAuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmN1
c3RvbUhhbmRsZXJEYXRhQ3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OmN1c3RvbUhhbmRsZXJE
YXRhRGVsZXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dEVmbDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudEVmbDo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsKToKKyAgICAgICAgKFdlYkNv
cmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsOjpp
c1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50RWZsOjp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwuaDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1JlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyQ2xpZW50RWZsLmguCisgICAgICAgIChOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnRFZmwpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZs
Ojp+TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsKToKKyAgICAgICAgKiBld2svZXdrX2N1
c3RvbV9oYW5kbGVyLmNwcDoKKyAgICAgICAgKiBld2svZXdrX2N1c3RvbV9oYW5kbGVyX3ByaXZh
dGUuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoX0V3a19WaWV3X1By
aXZhdGVfRGF0YSk6CisgICAgICAgIChfZXdrX3ZpZXdfcHJpdl9uZXcpOgorCiAyMDEyLTA4LTIx
ICBLaWhvbmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxd
W0dUS11bQmxhY2tCZXJyeV0gRml4IGJ1aWxkIGVycm9yIGluIHRoZSBEZXZpY2VPcmllbnRhdGlv
bkNsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvTmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbC5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTViNjEyZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVm
bC5jcHAKQEAgLTAsMCArMSw5NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5n
IEVsZWN0cm9uaWNzCisgKgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsLmgi
CisKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisKKyNpbmNsdWRlICJld2tf
Y3VzdG9tX2hhbmRsZXJfcHJpdmF0ZS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEq
IGN1c3RvbUhhbmRsZXJEYXRhQ3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBjaGFy
KiBzY2hlbWUsIGNvbnN0IGNoYXIqIGJhc2VVUkwsIGNvbnN0IGNoYXIqIHVybCkKK3sKKyAgICBF
d2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IG5ldyBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0
YTsKKyAgICBkYXRhLT5ld2tWaWV3ID0gZXdrVmlldzsKKyAgICBkYXRhLT5zY2hlbWUgPSBlaW5h
X3N0cmluZ3NoYXJlX2FkZChzY2hlbWUpOworICAgIGRhdGEtPmJhc2VfdXJsID0gZWluYV9zdHJp
bmdzaGFyZV9hZGQoYmFzZVVSTCk7CisgICAgZGF0YS0+dXJsID0gZWluYV9zdHJpbmdzaGFyZV9h
ZGQodXJsKTsKKyAgICByZXR1cm4gZGF0YTsKK30KKworc3RhdGljIHZvaWQgY3VzdG9tSGFuZGxl
ckRhdGFEZWxldGUoRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEpCit7CisgICAgZWluYV9z
dHJpbmdzaGFyZV9kZWwoZGF0YS0+c2NoZW1lKTsKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChk
YXRhLT5iYXNlX3VybCk7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dXJsKTsKKyAg
ICBkZWxldGUgZGF0YTsKK30KKworUGFzc093blB0cjxOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnRFZmw+IE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbDo6Y3JlYXRlKEV2YXNfT2JqZWN0
KiB2aWV3KQoreworICAgIHJldHVybiBhZG9wdFB0cihuZXcgTmF2aWdhdG9yQ29udGVudFV0aWxz
Q2xpZW50RWZsKHZpZXcpKTsKK30KKworTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsOjpO
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwoRXZhc19PYmplY3QqIHZpZXcpCisgICAgOiBt
X3ZpZXcodmlldykKK3sKK30KKwordm9pZCBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmw6
OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJp
bmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKQorewor
ICAgIEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhID0gY3VzdG9tSGFuZGxlckRhdGFDcmVh
dGUobV92aWV3LCBzY2hlbWUudXRmOCgpLmRhdGEoKSwgYmFzZVVSTC51dGY4KCkuZGF0YSgpLCB1
cmwudXRmOCgpLmRhdGEoKSk7CisgICAgZGF0YS0+dGl0bGUgPSBlaW5hX3N0cmluZ3NoYXJlX2Fk
ZCh0aXRsZS51dGY4KCkuZGF0YSgpKTsKKyAgICBld2tfY3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJf
cHJvdG9jb2xfaGFuZGxlcihkYXRhKTsKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT50
aXRsZSk7CisgICAgY3VzdG9tSGFuZGxlckRhdGFEZWxldGUoZGF0YSk7Cit9CisKKyNpZiBFTkFC
TEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQorTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpD
dXN0b21IYW5kbGVyc1N0YXRlIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbDo6aXNQcm90
b2NvbEhhbmRsZXJSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcm
IGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsKQoreworICAgIEV3a19DdXN0b21fSGFuZGxlcl9E
YXRhKiBkYXRhID0gY3VzdG9tSGFuZGxlckRhdGFDcmVhdGUobV92aWV3LCBzY2hlbWUudXRmOCgp
LmRhdGEoKSwgYmFzZVVSTC51dGY4KCkuZGF0YSgpLCB1cmwudXRmOCgpLmRhdGEoKSk7CisgICAg
TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpDdXN0b21IYW5kbGVyc1N0YXRlIHJlc3VsdCA9
IHN0YXRpY19jYXN0PEN1c3RvbUhhbmRsZXJzU3RhdGU+KGV3a19jdXN0b21faGFuZGxlcl9yZWdp
c3Rlcl9wcm90b2NvbF9oYW5kbGVyKGRhdGEpKTsKKyAgICBjdXN0b21IYW5kbGVyRGF0YURlbGV0
ZShkYXRhKTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgTmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50RWZsOjp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYg
c2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsKQoreworICAg
IEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhID0gY3VzdG9tSGFuZGxlckRhdGFDcmVhdGUo
bV92aWV3LCBzY2hlbWUudXRmOCgpLmRhdGEoKSwgYmFzZVVSTC51dGY4KCkuZGF0YSgpLCB1cmwu
dXRmOCgpLmRhdGEoKSk7CisgICAgZXdrX2N1c3RvbV9oYW5kbGVyX3JlZ2lzdGVyX3Byb3RvY29s
X2hhbmRsZXIoZGF0YSk7CisgICAgY3VzdG9tSGFuZGxlckRhdGFEZWxldGUoZGF0YSk7Cit9Cisj
ZW5kaWYKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvTmF2aWdhdG9yQ29u
dGVudFV0aWxzQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9O
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4yZmU0ODhmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsLmgKQEAgLTAsMCAr
MSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisg
KgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudEVmbF9oCisjZGVmaW5lIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVm
bF9oCisKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisjaW5jbHVkZSAiTmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmgiCisKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnRFZmwgOiBwdWJsaWMgV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRF
Zmw+IGNyZWF0ZShFdmFzX09iamVjdCogdmlldyk7CisKKyAgICB+TmF2aWdhdG9yQ29udGVudFV0
aWxzQ2xpZW50RWZsKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0
cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKKworI2lmIEVOQUJMRShDVVNUT01fU0NI
RU1FX0hBTkRMRVIpCisgICAgdmlydHVhbCBDdXN0b21IYW5kbGVyc1N0YXRlIGlzUHJvdG9jb2xI
YW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNl
VVJMLCBjb25zdCBTdHJpbmcmIHVybCk7CisgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwg
Y29uc3QgU3RyaW5nJiB1cmwpOworI2VuZGlmCisKK3ByaXZhdGU6CisgICAgRXZhc19PYmplY3Qq
IG1fdmlldzsKKworICAgIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbChFdmFzX09iamVj
dCogdmlldyk7Cit9OworfQorCisjZW5kaWYKKyNlbmRpZiAvLyBOYXZpZ2F0b3JDb250ZW50VXRp
bHNDbGllbnRFZmxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmwuY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjAxMjQxLi4wMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50
RWZsLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDk1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcwotICoKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBV
VEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyQ2xpZW50RWZsLmgiCi0KLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExF
UikKLQotI2luY2x1ZGUgImV3a19jdXN0b21faGFuZGxlcl9wcml2YXRlLmgiCi0jaW5jbHVkZSA8
d3RmL3RleHQvQ1N0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0YXRpYyBFd2tf
Q3VzdG9tX0hhbmRsZXJfRGF0YSogY3VzdG9tSGFuZGxlckRhdGFDcmVhdGUoRXZhc19PYmplY3Qq
IGV3a1ZpZXcsIGNvbnN0IGNoYXIqIHNjaGVtZSwgY29uc3QgY2hhciogYmFzZVVSTCwgY29uc3Qg
Y2hhciogdXJsKQotewotICAgIEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhID0gbmV3IEV3
a19DdXN0b21fSGFuZGxlcl9EYXRhOwotICAgIGRhdGEtPmV3a1ZpZXcgPSBld2tWaWV3OwotICAg
IGRhdGEtPnNjaGVtZSA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHNjaGVtZSk7Ci0gICAgZGF0YS0+
YmFzZV91cmwgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZChiYXNlVVJMKTsKLSAgICBkYXRhLT51cmwg
PSBlaW5hX3N0cmluZ3NoYXJlX2FkZCh1cmwpOwotICAgIHJldHVybiBkYXRhOwotfQotCi1zdGF0
aWMgdm9pZCBjdXN0b21IYW5kbGVyRGF0YURlbGV0ZShFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSog
ZGF0YSkKLXsKLSAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT5zY2hlbWUpOwotICAgIGVp
bmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPmJhc2VfdXJsKTsKLSAgICBlaW5hX3N0cmluZ3NoYXJl
X2RlbChkYXRhLT51cmwpOwotICAgIGRlbGV0ZSBkYXRhOwotfQotCi1QYXNzT3duUHRyPFJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsPiBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVu
dEVmbDo6Y3JlYXRlKEV2YXNfT2JqZWN0KiB2aWV3KQotewotICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmwodmlldykpOwotfQotCi1SZWdpc3Rl
clByb3RvY29sSGFuZGxlckNsaWVudEVmbDo6UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRF
ZmwoRXZhc19PYmplY3QqIHZpZXcpCi0gICAgOiBtX3ZpZXcodmlldykKLXsKLX0KLQotdm9pZCBS
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIo
Y29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCi17Ci0gICAgRXdrX0N1c3RvbV9IYW5kbGVyX0Rh
dGEqIGRhdGEgPSBjdXN0b21IYW5kbGVyRGF0YUNyZWF0ZShtX3ZpZXcsIHNjaGVtZS51dGY4KCku
ZGF0YSgpLCBiYXNlVVJMLnV0ZjgoKS5kYXRhKCksIHVybC51dGY4KCkuZGF0YSgpKTsKLSAgICBk
YXRhLT50aXRsZSA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHRpdGxlLnV0ZjgoKS5kYXRhKCkpOwot
ICAgIGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKGRhdGEpOwot
ICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPnRpdGxlKTsKLSAgICBjdXN0b21IYW5kbGVy
RGF0YURlbGV0ZShkYXRhKTsKLX0KLQotI2lmIEVOQUJMRShDVVNUT01fU0NIRU1FX0hBTkRMRVIp
Ci1SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudDo6Q3VzdG9tSGFuZGxlcnNTdGF0ZSBSZWdp
c3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbDo6aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVk
KGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmlu
ZyYgdXJsKQotewotICAgIEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhID0gY3VzdG9tSGFu
ZGxlckRhdGFDcmVhdGUobV92aWV3LCBzY2hlbWUudXRmOCgpLmRhdGEoKSwgYmFzZVVSTC51dGY4
KCkuZGF0YSgpLCB1cmwudXRmOCgpLmRhdGEoKSk7Ci0gICAgUmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXJDbGllbnQ6OkN1c3RvbUhhbmRsZXJzU3RhdGUgcmVzdWx0ID0gc3RhdGljX2Nhc3Q8Q3VzdG9t
SGFuZGxlcnNTdGF0ZT4oZXdrX2N1c3RvbV9oYW5kbGVyX3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRs
ZXIoZGF0YSkpOwotICAgIGN1c3RvbUhhbmRsZXJEYXRhRGVsZXRlKGRhdGEpOwotCi0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotdm9pZCBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbDo6
dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3Ry
aW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCkKLXsKLSAgICBFd2tfQ3VzdG9tX0hhbmRs
ZXJfRGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJEYXRhQ3JlYXRlKG1fdmlldywgc2NoZW1lLnV0
ZjgoKS5kYXRhKCksIGJhc2VVUkwudXRmOCgpLmRhdGEoKSwgdXJsLnV0ZjgoKS5kYXRhKCkpOwot
ICAgIGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKGRhdGEpOwot
ICAgIGN1c3RvbUhhbmRsZXJEYXRhRGVsZXRlKGRhdGEpOwotfQotI2VuZGlmCi0KLX0KLQotI2Vu
ZGlmIC8vIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGll
bnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1JlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyQ2xpZW50RWZsLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjYTNj
NmMuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmwuaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcwotICoKLSAq
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBSZWdpc3RlclByb3RvY29sSGFu
ZGxlckNsaWVudEVmbF9oCi0jZGVmaW5lIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZs
X2gKLQotI2lmIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotI2luY2x1ZGUgIlJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50LmgiCi0KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBSZWdpc3RlclByb3RvY29sSGFuZGxl
ckNsaWVudEVmbCA6IHB1YmxpYyBXZWJDb3JlOjpSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVu
dCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8UmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXJDbGllbnRFZmw+IGNyZWF0ZShFdmFzX09iamVjdCogdmlldyk7Ci0KLSAgICB+UmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXJDbGllbnRFZmwoKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVS
TCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwotCi0jaWYgRU5BQkxF
KENVU1RPTV9TQ0hFTUVfSEFORExFUikKLSAgICB2aXJ0dWFsIEN1c3RvbUhhbmRsZXJzU3RhdGUg
aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBT
dHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsKTsKLSAgICB2aXJ0dWFsIHZvaWQgdW5y
ZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5n
JiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCk7Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAgICBF
dmFzX09iamVjdCogbV92aWV3OwotCi0gICAgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRF
ZmwoRXZhc19PYmplY3QqIHZpZXcpOwotfTsKLX0KLQotI2VuZGlmCi0jZW5kaWYgLy8gUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19jdXN0b21faGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2N1c3RvbV9oYW5kbGVyLmNwcAppbmRleCAzNTc0YTFkLi4zYzQwNzE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVyLmNwcApAQCAtMjAsNyArMjAsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImV3a19jdXN0b21faGFuZGxlcl9wcml2YXRl
LmgiCiAKLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKKyNpZiBFTkFCTEUo
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCiAvKioKICAqIEBpbnRlcm5hbAogICogUmVnaXN0ZXIg
YSBzY2hlbWUgaGFuZGxlci4KQEAgLTY5LDQgKzY5LDQgQEAgYm9vbCBld2tfY3VzdG9tX2hhbmRs
ZXJfdW5yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBk
YXQKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShDVVNUT01fU0NIRU1FX0hBTkRMRVIpCi0jZW5kaWYg
Ly8gRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCisjZW5kaWYgLy8gRU5BQkxFKE5B
VklHQVRPUl9DT05URU5UX1VUSUxTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a19jdXN0b21faGFuZGxlcl9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2N1c3RvbV9oYW5kbGVyX3ByaXZhdGUuaAppbmRleCBiYzBlMjFkLi43M2Y5N2UwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVyX3ByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVyX3ByaXZhdGUuaApA
QCAtMjIsNyArMjIsNyBAQAogCiAjaW5jbHVkZSAiZXdrX3ZpZXcuaCIKIAotI2lmIEVOQUJMRShS
RUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykKIGJvb2wgZXdrX2N1c3RvbV9oYW5kbGVyX3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIo
RXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEpOwogCiAjaWYgRU5BQkxFKENVU1RPTV9TQ0hF
TUVfSEFORExFUikKQEAgLTMwLDUgKzMwLDUgQEAgRXdrX0N1c3RvbV9IYW5kbGVyc19TdGF0ZSBl
d2tfY3VzdG9tX2hhbmRsZXJfaXNfcHJvdG9jb2xfaGFuZGxlcl9yZWdpc3RlcmVkKEV3a18KIGJv
b2wgZXdrX2N1c3RvbV9oYW5kbGVyX3VucmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihFd2tfQ3Vz
dG9tX0hhbmRsZXJfRGF0YSogZGF0YSk7CiAKICNlbmRpZiAvLyBFTkFCTEUoQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKQotI2VuZGlmIC8vIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQor
I2VuZGlmIC8vIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKICNlbmRpZiAvLyBld2tf
Y3VzdG9tX2hhbmRsZXJfcHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAppbmRl
eCA0MGZiZmFkLi5mZmZlYTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKQEAgLTEw
Myw4ICsxMDMsOCBAQAogI2luY2x1ZGUgIkNvbG9yQ2hvb3NlckNsaWVudC5oIgogI2VuZGlmCiAK
LSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLSNpbmNsdWRlICJSZWdpc3Rl
clByb3RvY29sSGFuZGxlckNsaWVudEVmbC5oIgorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykKKyNpbmNsdWRlICJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwuaCIKICNl
bmRpZgogCiBzdGF0aWMgY29uc3QgZmxvYXQgem9vbU1pbmltdW0gPSAwLjA1OwpAQCAtMjU0LDgg
KzI1NCw4IEBAIHN0cnVjdCBfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhIHsKICNpZiBFTkFCTEUoSU5Q
VVRfVFlQRV9DT0xPUikKICAgICBXZWJDb3JlOjpDb2xvckNob29zZXJDbGllbnQqIGNvbG9yQ2hv
b3NlckNsaWVudDsKICNlbmRpZgotI2lmIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVS
KSB8fCBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQotICAgIE93blB0cjxXZWJDb3JlOjpS
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbD4gcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJD
bGllbnQ7CisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKSB8fCBFTkFCTEUoQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKQorICAgIE93blB0cjxXZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnRFZmw+IG5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDsKICNlbmRpZgogICAg
IHN0cnVjdCB7CiAgICAgICAgIEV3a19NZW51IG1lbnU7CkBAIC03NjQsOSArNzY0LDkgQEAgc3Rh
dGljIEV3a19WaWV3X1ByaXZhdGVfRGF0YSogX2V3a192aWV3X3ByaXZfbmV3KEV3a19WaWV3X1Nt
YXJ0X0RhdGEqIHNtYXJ0RGF0YSkKICAgICBXZWJDb3JlOjpwcm92aWRlQmF0dGVyeVRvKHByaXYt
PnBhZ2UuZ2V0KCksIG5ldyBCYXR0ZXJ5Q2xpZW50RWZsKHNtYXJ0RGF0YS0+c2VsZikpOwogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLSAgICBwcml2LT5y
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCA9IFdlYkNvcmU6OlJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyQ2xpZW50RWZsOjpjcmVhdGUoc21hcnREYXRhLT5zZWxmKTsKLSAgICBXZWJDb3JlOjpw
cm92aWRlUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJUbyhwcml2LT5wYWdlLmdldCgpLCBwcml2LT5y
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudC5nZXQoKSk7CisjaWYgRU5BQkxFKE5BVklHQVRP
Ul9DT05URU5UX1VUSUxTKQorICAgIHByaXYtPm5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCA9
IFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbDo6Y3JlYXRlKHNtYXJ0RGF0
YS0+c2VsZik7CisgICAgV2ViQ29yZTo6cHJvdmlkZU5hdmlnYXRvckNvbnRlbnRVdGlsc1RvKHBy
aXYtPnBhZ2UuZ2V0KCksIHByaXYtPm5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5nZXQoKSk7
CiAjZW5kaWYKIAogICAgIHByaXYtPnBhZ2VTZXR0aW5ncyA9IHByaXYtPnBhZ2UtPnNldHRpbmdz
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNDBkNzEyMi4uNDM2MjRjZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA4LTI0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWto
YWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFJlbmFtZSBSZWdpc3RlclByb3Rv
Y29sSGFuZGxlciBBUEkgdG8gTmF2aWdhdG9yQ29udGVudFV0aWxzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDkyMAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtaW5nIHdoYXRldmVyIFJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyLXByZWZpeGVkIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscy1wcmVmaXhl
ZC4KKyAgICAgICAgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRHdGsgaXMgcmVuYW1lZCB0
byBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsuCisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5hbToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnRHdGsuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRHdGsuY3BwLgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKFdlYktpdDo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpjcmVhdGUpOgor
ICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6Ok5hdmlnYXRvckNv
bnRlbnRVdGlsc0NsaWVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIpOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0ay5oOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRH
dGsuaC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChOYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnQpOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6On5O
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2
aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19pbml0KToKKyAgICAgICAgKiB3ZWJr
aXQvd2Via2l0d2Vidmlld3ByaXZhdGUuaDoKKwogMjAxMi0wOC0yMyAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTI2MzA2
KTogaXQgYnJva2UgdGhlIHBsdWdpbiBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQvZ3RrL0dOVW1ha2VmaWxlLmFtCmlu
ZGV4IDAwNDczZjkuLmRiNmM5YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0dOVW1ha2VmaWxlLmFtCkBAIC0yMTEs
MTEgKzIxMSwxMSBAQCB3ZWJraXRndGtfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvR3RrQWRqdXN0bWVudFdhdGNoZXIuaCBcCiAJU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmNwcCBcCiAJU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmggXAorCVNvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0ay5oIFwK
KwlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnRHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QYXN0ZWJv
YXJkSGVscGVyR3RrLmggXAogCVNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRm
b3JtU3RyYXRlZ2llc0d0ay5oIFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9Q
bGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwIFwKLQlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0ay5oIFwKLQlTb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0ay5jcHAg
XAogCVNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1VzZXJNZWRpYUNsaWVudEd0ay5j
cHAgXAogCVNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1VzZXJNZWRpYUNsaWVudEd0
ay5oIFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9XZWJWaWV3SW5wdXRNZXRo
b2RGaWx0ZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNTc2OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnRHdGsuY3BwCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
U2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExp
Y2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg
U29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsuaCIKKworI2lm
IEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKworI2luY2x1ZGUgIk5vdEltcGxlbWVu
dGVkLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKKworUGFzc093blB0cjxOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ+IE5hdmlnYXRvckNv
bnRlbnRVdGlsc0NsaWVudDo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCk7Cit9CisKK05hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudDo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KCkKK3sKK30KKwordm9pZCBOYXZpZ2F0
b3JDb250ZW50VXRpbHNDbGllbnQ6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmlu
ZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBTdHJpbmcmIHRpdGxlKQoreyAKKyAgICBub3RJbXBsZW1lbnRlZCgpOyAKK30gCisKK30KKyNl
bmRpZiAvLyBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRH
dGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudEd0ay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2ZjNl
MjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9O
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAq
LworCisjaWZuZGVmIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0a19oCisjZGVmaW5lIE5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0a19oCisKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmgiCisK
KyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xh
c3MgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Ok5hdmlnYXRv
ckNvbnRlbnRVdGlsc0NsaWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8TmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50PiBjcmVhdGUoKTsKKworICAgIH5OYXZpZ2F0b3JDb250
ZW50VXRpbHNDbGllbnQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29s
SGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CisKK3ByaXZhdGU6CisgICAgTmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KCk7Cit9OworCit9CisKKyNlbmRpZgorI2VuZGlmIC8v
IE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0a19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0ay5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFu
ZGxlckNsaWVudEd0ay5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllMzg4NTEu
LjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXJDbGllbnRHdGsuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCi0gKgotICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKLSAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMw
MSAgVVNBCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyQ2xpZW50R3RrLmgiCi0KLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xf
SEFORExFUikKLQotI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotUGFzc093blB0cjxSZWdpc3Rl
clByb3RvY29sSGFuZGxlckNsaWVudD4gUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQ6OmNy
ZWF0ZSgpCi17Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBSZWdpc3RlclByb3RvY29sSGFuZGxl
ckNsaWVudCk7Ci19Ci0KLVJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50OjpSZWdpc3RlclBy
b3RvY29sSGFuZGxlckNsaWVudCgpCi17Ci19Ci0KLXZvaWQgUmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXJDbGllbnQ6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBj
b25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRp
dGxlKSAKLXsgCi0gICAgbm90SW1wbGVtZW50ZWQoKTsgCi19IAotCi19Ci0jZW5kaWYgLy8gRU5B
QkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0ay5oIGIv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJD
bGllbnRHdGsuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQ4ODlmMy4uMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29s
SGFuZGxlckNsaWVudEd0ay5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCi0gKgotICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp
YwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKLSAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0g
KgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBH
ZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90
LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCi0g
Ki8KLQotI2lmbmRlZiBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0a19oCi0jZGVmaW5l
IFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50R3RrX2gKLQotI2lmIEVOQUJMRShSRUdJU1RF
Ul9QUk9UT0NPTF9IQU5ETEVSKQotI2luY2x1ZGUgIlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xp
ZW50LmgiCi0KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotCi1uYW1lc3BhY2UgV2ViS2l0
IHsKLQotY2xhc3MgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQgOiBwdWJsaWMgV2ViQ29y
ZTo6UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzT3duUHRyPFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50PiBjcmVhdGUoKTsKLQotICAg
IH5SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCgpIHsgfQotCi0gICAgdmlydHVhbCB2b2lk
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJp
bmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLQot
cHJpdmF0ZToKLSAgICBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCgpOwotfTsKLQotfQot
Ci0jZW5kaWYKLSNlbmRpZiAvLyBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0a19oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9T
b3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKaW5kZXggYTUzNjg5NC4u
NGRmMjExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApA
QCAtMzYyOSw5ICszNjI5LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2luaXQoV2Vi
S2l0V2ViVmlldyogd2ViVmlldykKICAgICBXZWJDb3JlOjpwcm92aWRlVXNlck1lZGlhVG8ocHJp
di0+Y29yZVBhZ2UsIHByaXYtPnVzZXJNZWRpYUNsaWVudC5nZXQoKSk7CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotICAgIHByaXYtPnJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyQ2xpZW50ID0gV2ViS2l0OjpSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVu
dDo6Y3JlYXRlKCk7Ci0gICAgV2ViQ29yZTo6cHJvdmlkZVJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
VG8ocHJpdi0+Y29yZVBhZ2UsIHByaXYtPnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50Lmdl
dCgpKTsKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisgICAgcHJpdi0+bmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50ID0gV2ViS2l0OjpOYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnQ6OmNyZWF0ZSgpOworICAgIFdlYkNvcmU6OnByb3ZpZGVOYXZpZ2F0b3JDb250ZW50VXRp
bHNUbyhwcml2LT5jb3JlUGFnZSwgcHJpdi0+bmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Lmdl
dCgpKTsKICNlbmRpZgogCiAgICAgaWYgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVtcFJl
bmRlclRyZWVNb2RlRW5hYmxlZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0d2Vidmlld3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJ2aWV3cHJpdmF0ZS5oCmluZGV4IGMzMDI2OTYuLjk2OTU0YzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3cHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3cHJpdmF0ZS5oCkBAIC0zOSw4ICsz
OSw4IEBACiAjaW5jbHVkZSAiVXNlck1lZGlhQ2xpZW50R3RrLmgiCiAjZW5kaWYKIAotI2lmIEVO
QUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotI2luY2x1ZGUgIlJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyQ2xpZW50R3RrLmgiCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxT
KQorI2luY2x1ZGUgIk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0ay5oIgogI2VuZGlmCiAK
IG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtMTIyLDggKzEyMiw4IEBAIHN0cnVjdCBfV2ViS2l0V2Vi
Vmlld1ByaXZhdGUgewogICAgIE93blB0cjxXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s+
IGdlb2xvY2F0aW9uQ2xpZW50TW9jazsKICNlbmRpZgogCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BS
T1RPQ09MX0hBTkRMRVIpCi0gICAgT3duUHRyPFdlYktpdDo6UmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXJDbGllbnQ+IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50OworI2lmIEVOQUJMRShOQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykKKyAgICBPd25QdHI8V2ViS2l0OjpOYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnQ+IG5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDsKICNlbmRpZgogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IDUzMTEyZTYuLmQyYWRiY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAxMi0wOC0yNCAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5w
b3pkbnlha292QGludGVsLmNvbT4KKworICAgICAgICBSZW5hbWUgUmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIgQVBJIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExF
UiBpcyByZW5hbWVkIHRvIEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUy4KKworICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEyLTA4LTIy
ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ0MDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dl
YktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggY2Vk
ZDk1ZC4uOGY0YzIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTEwNiw2ICsxMDYsNyBAQCBFTkFC
TEVfTUVURVJfRUxFTUVOVCA9IEVOQUJMRV9NRVRFUl9FTEVNRU5UOwogRU5BQkxFX01IVE1MID0g
OwogRU5BQkxFX01JQ1JPREFUQSA9IDsKIEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMgPSBFTkFC
TEVfTVVUQVRJT05fT0JTRVJWRVJTOworRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTID0g
OwogRU5BQkxFX05PVElGSUNBVElPTlMgPSAkKEVOQUJMRV9OT1RJRklDQVRJT05TXyQoUkVBTF9Q
TEFURk9STV9OQU1FKSk7CiBFTkFCTEVfTk9USUZJQ0FUSU9OU19tYWNvc3ggPSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TX21hY29zeF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7CiBF
TkFCTEVfTk9USUZJQ0FUSU9OU19tYWNvc3hfMTA3MCA9IDsKQEAgLTExNCw3ICsxMTUsNiBAQCBF
TkFCTEVfTk9USUZJQ0FUSU9OU19tYWNvc3hfMTA5MCA9IEVOQUJMRV9OT1RJRklDQVRJT05TOwog
RU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkgPSA7CiBFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCA9
IEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UOwogRU5BQkxFX1FVT1RBID0gOwotRU5BQkxFX1JFR0lT
VEVSX1BST1RPQ09MX0hBTkRMRVIgPSA7CiBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUg
PSBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUU7CiBFTkFCTEVfU0NSSVBURURfU1BFRUNI
ID0gOwogRU5BQkxFX1NIQURPV19ET00gPSA7CkBAIC0xNDEsNCArMTQxLDQgQEAgRU5BQkxFX1dJ
REdFVF9SRUdJT05fbWFjb3N4ID0gRU5BQkxFX1dJREdFVF9SRUdJT047CiBFTkFCTEVfV09SS0VS
UyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJ
TFRFUlMpICQoRU5BQkxFX0NTU19ISUVSQVJDSElFUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQoRU5BQkxF
X0NTUzNfRkxFWEJPWCkgJChFTkFCTEVfQ1NTM19URVhUX0RFQ09SQVRJT04pICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
SUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9T
WVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFT
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVTUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRB
KSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVO
QUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RB
VEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZH
X0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfVU5ET19NQU5BR0VSKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XSURHRVRf
UkVHSU9OKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAk
KEVOQUJMRV9DU1NfSElFUkFSQ0hJRVMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
U1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0ZM
RVhCT1gpICQoRU5BQkxFX0NTUzNfVEVYVF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VM
RU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAk
KEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFC
TEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChF
TkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURP
V19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQo
RU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNf
QklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9VTkRPX01BTkFHRVIpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dJREdFVF9SRUdJT04pICQo
RU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGU3MGRmNDQuLjE0
ZWQ3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wOC0yNCAgTWlraGFpbCBQ
b3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KKworICAgICAgICBSZW5h
bWUgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgQVBJIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ5MjAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWluZyB3
aGF0ZXZlciBSZWdpc3RlclByb3RvY29sSGFuZGxlci1wcmVmaXhlZCB0byBOYXZpZ2F0b3JDb250
ZW50VXRpbHMtcHJlZml4ZWQuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVu
dC5oLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYk5hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dDo6fldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCk6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVk
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Ojp1bnJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyKToKKwogMjAxMi0wOC0yMiAgSmVzdXMgU2FuY2hlei1QYWxl
bmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW0VGTF0gVXNl
IFdURl9VU0VfU09VUCBpbnN0ZWFkIEJVSUxESU5HX1NPVVBfXwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAxNmNl
MDBlLi5jOGE5OTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTA1LDYgKzEwNSw3IEBAIEVOQUJMRV9NRVRF
Ul9FTEVNRU5UID0gRU5BQkxFX01FVEVSX0VMRU1FTlQ7CiBFTkFCTEVfTUhUTUwgPSA7CiBFTkFC
TEVfTUlDUk9EQVRBID0gOwogRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUyA9IEVOQUJMRV9NVVRB
VElPTl9PQlNFUlZFUlM7CitFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMgPSA7CiBFTkFC
TEVfTk9USUZJQ0FUSU9OUyA9ICQoRU5BQkxFX05PVElGSUNBVElPTlNfJChSRUFMX1BMQVRGT1JN
X05BTUUpKTsKIEVOQUJMRV9OT1RJRklDQVRJT05TX21hY29zeCA9ICQoRU5BQkxFX05PVElGSUNB
VElPTlNfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKIEVOQUJMRV9O
T1RJRklDQVRJT05TX21hY29zeF8xMDcwID0gOwpAQCAtMTEzLDcgKzExNCw2IEBAIEVOQUJMRV9O
T1RJRklDQVRJT05TX21hY29zeF8xMDkwID0gRU5BQkxFX05PVElGSUNBVElPTlM7CiBFTkFCTEVf
UEFHRV9WSVNJQklMSVRZX0FQSSA9IDsKIEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UID0gRU5BQkxF
X1BST0dSRVNTX0VMRU1FTlQ7CiBFTkFCTEVfUVVPVEEgPSA7Ci1FTkFCTEVfUkVHSVNURVJfUFJP
VE9DT0xfSEFORExFUiA9IDsKIEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSA9IEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRTsKIEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0ggPSA7CiBF
TkFCTEVfU0hBRE9XX0RPTSA9IDsKQEAgLTE0MCw0ICsxNDAsNCBAQCBFTkFCTEVfV0lER0VUX1JF
R0lPTl9tYWNvc3ggPSBFTkFCTEVfV0lER0VUX1JFR0lPTjsKIEVOQUJMRV9XT1JLRVJTID0gRU5B
QkxFX1dPUktFUlM7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykg
JChFTkFCTEVfQ1NTX0hJRVJBUkNISUVTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxF
X0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfRkxFWEJPWCkgJChFTkFCTEVfQ1NTM19URVhU
X0RFQ09SQVRJT04pICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZ
X1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxF
X0lGUkFNRV9TRUFNTEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5Q
VVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRf
REVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTElO
S19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5B
QkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9Q
Uk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURf
V09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQo
RU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJ
T05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVU5ET19NQU5B
R0VSKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XSURHRVRfUkVHSU9OKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJM
RV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJM
RV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMp
ICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSElFUkFSQ0hJRVMpICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX1NU
SUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19GTEVY
Qk9YKSAkKEVOQUJMRV9DU1MzX1RFWFRfREVDT1JBVElPTikgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVN
RU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChF
TkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxF
X01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5B
QkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1df
RE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVO
QUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJ
TkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfVU5ET19NQU5BR0VSKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XSURHRVRfUkVHSU9OKSAkKEVO
QUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5hdmlnYXRv
ckNvbnRlbnRVdGlsc0NsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmM4MGI1NzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oCkBAIC0wLDAgKzEs
NTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJOYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnRfaAorI2RlZmluZSBXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRfaAor
CisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorCisjaW5jbHVkZSA8V2ViQ29y
ZS9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYk5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnQgeworcHVibGljOgorICAgIHZpcnR1YWwgfldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dCgpIHsgfQorCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFu
ZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBT
dHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkgT1ZFUlJJREUgeyB9CisKKyNpZiBFTkFC
TEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQorICAgIHZpcnR1YWwgQ3VzdG9tSGFuZGxlcnNTdGF0
ZSBpc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5n
JiwgY29uc3QgU3RyaW5nJikgeyByZXR1cm4gQ3VzdG9tSGFuZGxlcnNEZWNsaW5lZDsgfQorICAg
IHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgfQorI2VuZGlmCit9OworCit9CisKKyNlbmRp
ZiAvLyBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisjZW5kaWYgLy8gV2ViTmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXJDbGllbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjNmMTk5
MC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1
MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3Mu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgV2ViUmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXJDbGllbnRfaAotI2RlZmluZSBXZWJSZWdpc3RlclByb3RvY29sSGFuZGxlckNs
aWVudF9oCi0KLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLQotI2luY2x1
ZGUgPFdlYkNvcmUvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQuaD4KLSNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYlJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50IDogcHVibGljIFdlYkNvcmU6OlJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyQ2xpZW50IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5XZWJSZWdpc3RlclBy
b3RvY29sSGFuZGxlckNsaWVudCgpIHsgfQotCi1wcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCBy
ZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5n
JiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkgT1ZFUlJJ
REUgeyB9Ci0KLSNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQotICAgIHZpcnR1YWwg
Q3VzdG9tSGFuZGxlcnNTdGF0ZSBpc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgeyByZXR1cm4gQ3VzdG9tSGFuZGxl
cnNEZWNsaW5lZDsgfQotICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgfQotI2VuZGlm
Ci19OwotCi19Ci0KLSNlbmRpZiAvLyBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikK
LSNlbmRpZiAvLyBXZWJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudF9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvY21ha2UvT3B0aW9uc0JsYWNrQmVycnkuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0
aW9uc0JsYWNrQmVycnkuY21ha2UKaW5kZXggMTRhY2EwOC4uNzJjYzdmYSAxMDA2NDQKLS0tIGEv
U291cmNlL2NtYWtlL09wdGlvbnNCbGFja0JlcnJ5LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9P
cHRpb25zQmxhY2tCZXJyeS5jbWFrZQpAQCAtMTUxLDExICsxNTEsMTEgQEAgV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TIE9OKQogV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFR0FDWV9XRUJLSVRfQkxPQl9C
VUlMREVSIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01FRElB
X1NUUkVBTSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NSUNS
T0RBVEEgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfTk9USUZJQ0FUSU9OUyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfUEFHRV9QT1BVUCBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJIE9OKQotV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIgT04pCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIE9O
KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1NI
QVJFRF9XT1JLRVJTIE9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21h
a2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCAyNWJmNTk3Li41NzlkNTk5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2Uv
Y21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtNzksMTAgKzc5LDEwIEBAIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfV0VCS0lUX0JMT0JfQlVJTERFUiBPTikK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MSU5LX1BSRUZFVENIIE9O
KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01FRElBX0NBUFRVUkUg
T04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUlDUk9EQVRBIE9O
KQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05F
VFNDQVBFX1BMVUdJTl9BUEkgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX05FVFdPUktfSU5GTyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgT04p
CiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU0hBRE9XX0RPTSBPTikK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9TSEFSRURfV09SS0VSUyBP
TikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCA3ZWFiYTAxLi40Mzk2ZGEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2Nt
YWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC04MSw2ICs4MSw3IEBAIE1BQ1JPIChXRUJLSVRf
T1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9NSFRNTCAiVG9n
Z2xlIE1IVE1MIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
TUlDUk9EQVRBICJUb2dnbGUgTWljcm9kYXRhIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTICJUb2dnbGUgRE9NIG11dGF0aW9u
IG9ic2VydmVyIHN1cHBvcnQiIE9OKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUyAiVG9nZ2xlIE5hdmlnYXRvciBDb250ZW50IFV0aWxzIHN1
cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfTkVUU0NBUEVfUExV
R0lOX0FQSSAiVG9nZ2xlIE5ldHNjYXBlIFBsdWdpbiBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfTkVUV09SS19JTkZPICJUb2dnbGUgTmV0d29yayBJbmZvcm1h
dGlvbiBBUEkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9O
T1RJRklDQVRJT05TICJUb2dnbGUgRGVza3RvcCBOb3RpZmljYXRpb25zIFN1cHBvcnQiIE9GRikK
QEAgLTg5LDcgKzkwLDYgQEAgTUFDUk8gKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQgIlRvZ2dsZSBQcm9ncmVzcyBU
YWcgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1BMVUdJTl9Q
Uk9YWV9GT1JfVklERU8gIlRvZ2dsZSBQbHVnaW4gUHJveHkgZm9yIFZpZGVvIHN1cHBvcnQiIE9G
RikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUVVPVEEgIlRvZ2dsZSBRdW90YSBz
dXBwb3J0IiBPRkYpCi0gICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1JFR0lTVEVSX1BS
T1RPQ09MX0hBTkRMRVIgIlRvZ2dsZSBSZWdpc3RlciBQcm90b2NvbCBIYW5kbGVyIHN1cHBvcnQi
IE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5H
ICJUb2dnbGUgcmVwYWludCB0aHJvdHRsaW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgIlRvZ2dsZSByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9TQ1JJUFRFRF9TUEVFQ0ggIlRvZ2dsZSBTY3JpcHRlZCBTcGVlY2ggQVBJIHN1cHBvcnQi
IE9GRikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlIGIvU291cmNlL2Nt
YWtlY29uZmlnLmguY21ha2UKaW5kZXggNTk3ZTRjMy4uODg1NTVmYiAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UK
QEAgLTcwLDYgKzcwLDcgQEAKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9NRVRFUl9FTEVNRU5UCiAj
Y21ha2VkZWZpbmUwMSBFTkFCTEVfTUlDUk9EQVRBCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfTVVU
QVRJT05fT0JTRVJWRVJTCisjY21ha2VkZWZpbmUwMSBFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJCiAjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfTkVUV09SS19JTkZPCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfTk9USUZJ
Q0FUSU9OUwpAQCAtNzgsNyArNzksNiBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1BBR0VfUE9Q
VVAKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJCiAjY21ha2VkZWZp
bmUwMSBFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVAotI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1JFR0lT
VEVSX1BST1RPQ09MX0hBTkRMRVIKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9SRVFVRVNUX0FOSU1B
VElPTl9GUkFNRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NIQURPV19ET00KICNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9TSEFSRURfV09SS0VSUwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGI4MmJlNzYuLjk0ODVmYTUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0w
OC0yNCAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4K
KworICAgICAgICBSZW5hbWUgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgQVBJIHRvIE5hdmlnYXRv
ckNvbnRlbnRVdGlscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTQ5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW5hbWVkICdyZWdpc3Rlci1wcm90b2NvbC1oYW5kbGVyJyBmZWF0dXJlIHRvICduYXZp
Z2F0b3ItY29udGVudC11dGlscycuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvRmVh
dHVyZUxpc3QucG06CisgICAgICAgICogcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5w
cmk6CisKIDIwMTItMDgtMjMgIFdlaSBKaWEgIDx3amlhQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBjcmVhdGUgZGlmZmVyZW50IFdlYktpdDo6V2ViTWVkaWFQbGF5ZXIgYmFzZWQgb24gVVJMCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggYTE4MWQ4NS4uYmZkOWYw
YSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtMzIxLDYgKzMy
MSw5IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAibXV0YXRpb24tb2JzZXJ2
ZXJzIiwgZGVzYyA9PiAiVG9nZ2xlIE11dGF0aW9uIE9ic2VydmVycyBzdXBwb3J0IiwKICAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUyIsIGRlZmF1bHQgPT4gMSwgdmFs
dWUgPT4gXCRtdXRhdGlvbk9ic2VydmVyc1N1cHBvcnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJu
YXZpZ2F0b3ItY29udGVudC11dGlscyIsIGRlc2MgPT4gIlRvZ2dsZSBOYXZpZ2F0b3IgQ29udGVu
dCBVdGlscyBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTIiwgZGVmYXVsdCA9PiAoaXNCbGFja0JlcnJ5KCkgfHwgaXNFZmwoKSksIHZhbHVl
ID0+IFwkcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJTdXBwb3J0IH0sCisKICAgICB7IG9wdGlvbiA9
PiAibmV0c2NhcGUtcGx1Z2luLWFwaSIsIGRlc2MgPT4gIlRvZ2dsZSBOZXRzY2FwZSBQbHVnaW4g
QVBJIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQ
SSIsIGRlZmF1bHQgPT4gIWlzRWZsKCksIHZhbHVlID0+IFwkbmV0c2NhcGVQbHVnaW5BUElTdXBw
b3J0IH0sCiAKQEAgLTM0Miw5ICszNDUsNiBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRp
b24gPT4gInF1b3RhIiwgZGVzYyA9PiAiVG9nZ2xlIFF1b3RhIHN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfUVVPVEEiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkcXVvdGFTdXBw
b3J0IH0sCiAKLSAgICB7IG9wdGlvbiA9PiAicmVnaXN0ZXItcHJvdG9jb2wtaGFuZGxlciIsIGRl
c2MgPT4gIlRvZ2dsZSBSZWdpc3RlciBQcm90b2NvbCBIYW5kbGVyIHN1cHBvcnQiLAotICAgICAg
ZGVmaW5lID0+ICJFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiIsIGRlZmF1bHQgPT4g
KGlzQmxhY2tCZXJyeSgpIHx8IGlzRWZsKCkpLCB2YWx1ZSA9PiBcJHJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyU3VwcG9ydCB9LAotCiAgICAgeyBvcHRpb24gPT4gInJlcXVlc3QtYW5pbWF0aW9uLWZy
YW1lIiwgZGVzYyA9PiAiVG9nZ2xlIFJlcXVlc3QgQW5pbWF0aW9uIEZyYW1lIHN1cHBvcnQiLAog
ICAgICAgZGVmaW5lID0+ICJFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUiLCBkZWZhdWx0
ID0+IChpc0FwcGxlTWFjV2ViS2l0KCkgfHwgaXNHdGsoKSB8fCBpc0VmbCgpIHx8IGlzQmxhY2tC
ZXJyeSgpKSwgdmFsdWUgPT4gXCRyZXF1ZXN0QW5pbWF0aW9uRnJhbWVTdXBwb3J0IH0sCiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJpIGIvVG9v
bHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkKaW5kZXggZmVhYzg1ZC4uMzNi
MzRhZCAxMDA2NDQKLS0tIGEvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5w
cmkKKysrIGIvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkKQEAgLTc2
LDYgKzc2LDcgQEAgRkVBVFVSRV9ERUZBVUxUUyA9IFwKICAgICBFTkFCTEVfTUhUTUw9MCBcCiAg
ICAgRU5BQkxFX01JQ1JPREFUQT0wIFwKICAgICBFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTPTAg
XAorICAgIEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUz0wIFwKICAgICBFTkFCTEVfTkVU
U0NBUEVfUExVR0lOX0FQST0wIFwKICAgICBFTkFCTEVfTkVUV09SS19JTkZPPTAgXAogICAgIEVO
QUJMRV9OT1RJRklDQVRJT05TPTEgXApAQCAtODMsNyArODQsNiBAQCBGRUFUVVJFX0RFRkFVTFRT
ID0gXAogICAgIEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJPTEgXAogICAgIEVOQUJMRV9QUk9H
UkVTU19FTEVNRU5UPTEgXAogICAgIEVOQUJMRV9RVU9UQT0wIFwKLSAgICBFTkFCTEVfUkVHSVNU
RVJfUFJPVE9DT0xfSEFORExFUj0wIFwKICAgICBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUU9MSBcCiAgICAgRU5BQkxFX1NDUklQVEVEX1NQRUVDSD0wIFwKICAgICBFTkFCTEVfU0hBRE9X
X0RPTT0wIFwKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCAy
MDZmMThjLi4xMjFkY2NhIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJl
LmFjCkBAIC0xNDk0LDcgKzE0OTQsNyBAQCBBTV9DT05ESVRJT05BTChbRU5BQkxFX0xJTktfUFJF
RkVUQ0hdLFt0ZXN0ICIkZW5hYmxlX2xpbmtfcHJlZmV0Y2giID0gInllcyJdKQogQU1fQ09ORElU
SU9OQUwoW0VOQUJMRV9BTklNQVRJT05fQVBJXSxbdGVzdCAiJGVuYWJsZV9hbmltYXRpb25fYXBp
IiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUVdLFt0ZXN0ICIkZW5hYmxlX3JlcXVlc3RfYW5pbWF0aW9uX2ZyYW1lIiA9ICJ5ZXMiXSkKIEFN
X0NPTkRJVElPTkFMKFtFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HXSxbdGVzdCAiJGVuYWJsZV90
b3VjaF9pY29uX2xvYWRpbmciID0gInllcyJdKQotQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9SRUdJ
U1RFUl9QUk9UT0NPTF9IQU5ETEVSXSxbdGVzdCAiJGVuYWJsZV9yZWdpc3Rlcl9wcm90b2NvbF9o
YW5kbGVyIiA9ICJ5ZXMiXSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFNdLFt0ZXN0ICIkZW5hYmxlX25hdmlnYXRvcl9jb250ZW50X3V0aWxzIiA9ICJ5ZXMi
XSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OXSxbdGVzdCAiJGVu
YWJsZV9kZXZpY2Vfb3JpZW50YXRpb24iID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJM
RV9NVVRBVElPTl9PQlNFUlZFUlNdLFt0ZXN0ICIkZW5hYmxlX211dGF0aW9uX29ic2VydmVycyIg
PSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0lGUkFNRV9TRUFNTEVTU10sW3Rlc3Qg
IiRlbmFibGVfaWZyYW1lX3NlYW1sZXNzIiA9ICJ5ZXMiXSkK
</data>
<flag name="review"
          id="170992"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="170993"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160654</attachid>
            <date>2012-08-27 00:49:12 -0700</date>
            <delta_ts>2012-08-27 02:19:05 -0700</delta_ts>
            <desc>to be landed</desc>
            <filename>bug94920_v2</filename>
            <type>text/plain</type>
            <size>136862</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDU0YzUwZDRiOTJkODA4OTYxYjk0ZTEyMjVlMzA1N2QwOWE3MWRkMWUKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
TW9uIEF1ZyAyNyAxMDo0MjozMCAyMDEyICswMzAwCgogICAgYnVnOTQ5MjAKCmRpZmYgLS1naXQg
YS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggOTczZTYwOC4uMTNjMDJiYiAxMDA2NDQKLS0t
IGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA4LTI3
ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisg
ICAgICAgIFJlbmFtZSBSZWdpc3RlclByb3RvY29sSGFuZGxlciBBUEkgdG8gTmF2aWdhdG9yQ29u
dGVudFV0aWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NDkyMAorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgTW9k
aWZpZWQgY29uZmlndXJhdGlvbiBmaWxlcyBzbyB0aGF0IHRoZXkgY29udGFpbiByZW5hbWVkIE5h
dmlnYXRvckNvbnRlbnRVdGlscy1wcmVmaXhlZCBmaWxlcy4KKworICAgICAgICAqIFNvdXJjZS9j
bWFrZS9PcHRpb25zQmxhY2tCZXJyeS5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0
aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21h
a2U6CisgICAgICAgICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIwMTItMDgtMjMg
IEtldmluIE9sbGl2aWVyICA8a2V2aW5vQHRoZW9sbGl2aWVycy5jb20+CiAKICAgICAgICAgW3d4
XSBVbnJldmlld2VkIGJ1aWxkIGZpeC4gRGlzYWJsZSBjb21waWxhdGlvbiBvZiBXZWJET00gZmls
ZSBmb3Igbm93LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggMTg3MzY4NC4uYjQ2MDdlMSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDgtMjcgIE1p
a2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAg
ICAgUmVuYW1lIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIEFQSSB0byBOYXZpZ2F0b3JDb250ZW50
VXRpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0
OTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBFTkFCTEVf
UkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiBpcyByZW5hbWVkIHRvIEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorCiAyMDEyLTA4LTI2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4IGZvciBidWlsZHMgd2l0aG91dCBWQUxVRV9QUk9G
SUxJTkcuIEkgaGFkIGZvcmdvdHRlbiB0aGF0IHNob3VsZEVtaXRQcm9maWxpbmcoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCmluZGV4IDljMWI4ZmYuLjU3ZDRiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKQEAgLTEwNSw2ICsxMDUsNyBAQCBFTkFCTEVfTUVURVJfRUxFTUVOVCA9IEVOQUJM
RV9NRVRFUl9FTEVNRU5UOwogRU5BQkxFX01IVE1MID0gOwogRU5BQkxFX01JQ1JPREFUQSA9IDsK
IEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMgPSBFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTOwor
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTID0gOwogRU5BQkxFX05PVElGSUNBVElPTlMg
PSAkKEVOQUJMRV9OT1RJRklDQVRJT05TXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
Tk9USUZJQ0FUSU9OU19tYWNvc3ggPSAkKEVOQUJMRV9OT1RJRklDQVRJT05TX21hY29zeF8kKFRB
UkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7CiBFTkFCTEVfTk9USUZJQ0FUSU9OU19tYWNv
c3hfMTA3MCA9IDsKQEAgLTExMyw3ICsxMTQsNiBAQCBFTkFCTEVfTk9USUZJQ0FUSU9OU19tYWNv
c3hfMTA5MCA9IEVOQUJMRV9OT1RJRklDQVRJT05TOwogRU5BQkxFX1BBR0VfVklTSUJJTElUWV9B
UEkgPSA7CiBFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCA9IEVOQUJMRV9QUk9HUkVTU19FTEVNRU5U
OwogRU5BQkxFX1FVT1RBID0gOwotRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIgPSA7
CiBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgPSBFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUU7CiBFTkFCTEVfU0NSSVBURURfU1BFRUNIID0gOwogRU5BQkxFX1NIQURPV19ET00g
PSA7CkBAIC0xNDAsNCArMTQwLDQgQEAgRU5BQkxFX1dJREdFVF9SRUdJT05fbWFjb3N4ID0gRU5B
QkxFX1dJREdFVF9SRUdJT047CiBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
UkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1B
VElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJM
RV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19ISUVS
QVJDSElFUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJT
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04p
ICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfRkxFWEJPWCkgJChFTkFCTEVf
Q1NTM19URVhUX0RFQ09SQVRJT04pICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVf
RElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pB
VkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNF
UlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9B
UEkpICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJM
RV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9T
Q09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9O
T1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
VU5ET19NQU5BR0VSKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XSURHRVRfUkVHSU9OKSAkKEVOQUJMRV9XT1JLRVJT
KSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklO
RykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklNQVRJT05fQVBJ
KSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0VY
Q0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSElFUkFSQ0hJRVMp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJM
RV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0ZMRVhCT1gpICQoRU5BQkxFX0NTUzNfVEVY
VF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9S
WV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
UFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBU
X0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJ
TktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9X
T1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChF
TkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElP
TlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VTkRPX01BTkFH
RVIpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dJREdFVF9SRUdJT04pICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxF
X1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyYWUzNmRiLi5hYzhlMTNhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtOCw5ICs4LDkgQEAgU0VUKFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RP
UklFUwogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ludGVudHMiCiAgICAgIiR7V0VCQ09S
RV9ESVJ9L01vZHVsZXMvbWVkaWFzb3VyY2UiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
bWVkaWFzdHJlYW0iCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbmF2aWdhdG9yY29udGVu
dHV0aWxzIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL25ldHdvcmtpbmZvIgogICAgICIk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMiCi0gICAgIiR7V0VCQ09SRV9ESVJ9
L01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3By
b3hpbWl0eSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9xdW90YSIKICAgICAiJHtXRUJD
T1JFX0RJUn0vTW9kdWxlcy92aWJyYXRpb24iCkBAIC0yMjcsNiArMjI3LDggQEAgU0VUKFdlYkNv
cmVfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRp
b24uaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaWRsCiAK
KyAgICBNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMu
aWRsCisKICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05hdmlnYXRvck5ldHdvcmtJbmZvQ29ubmVj
dGlvbi5pZGwKICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5p
ZGwKIApAQCAtMjM2LDggKzIzOCw2IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIE1vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCiAgICAg
TW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmlkbAogCi0g
ICAgTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXIuaWRsCi0KICAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5pZGwK
IAogICAgIE1vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuaWRsCkBAIC04NjAsNiArODYwLDgg
QEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
Q29udHJvbGxlci5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3Qu
Y3BwCiAKKyAgICBNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50
VXRpbHMuY3BwCisKICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05hdmlnYXRvck5ldHdvcmtJbmZv
Q29ubmVjdGlvbi5jcHAKICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvLmNwcAog
ICAgIE1vZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmNwcApAQCAtODcx
LDggKzg3Myw2IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBNb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmNwcAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250
ZXh0Tm90aWZpY2F0aW9ucy5jcHAKIAotICAgIE1vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmln
YXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmNwcAotCiAgICAgTW9kdWxlcy9wcm94aW1pdHkv
RGV2aWNlUHJveGltaXR5RXZlbnQuY3BwCiAKICAgICBNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1
b3RhLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhlNmRhOWEuLmViMmE5MjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MyBAQAorMjAxMi0wOC0yNyAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pk
bnlha292QGludGVsLmNvbT4KKworICAgICAgICBSZW5hbWUgUmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXIgQVBJIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFt
IEJhcnRoLgorCisgICAgICAgIFJlbmFtaW5nIHdoYXRldmVyIFJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyLXByZWZpeGVkIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscy1wcmVmaXhlZC4KKyAgICAgICAg
TW9kdWxlICdwcm90b2NvbGhhbmRsZXInIGlzIHJlbmFtZWQgdG8gJ25hdmlnYXRvcmNvbnRlbnR1
dGlscycuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGFzIHRoZXJlIGlzIG5vIG5ldyBmdW5jdGlv
bmFsaXR5LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06
CisgICAgICAgICogR05VbWFrZWZpbGUuZmVhdHVyZXMuYW06CisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbToKKyAgICAgICAgKiBNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZp
Z2F0b3JDb250ZW50VXRpbHMuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wcm90b2NvbGhhbmRsZXIvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuY3BwLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjppbml0UHJvdG9jb2xIYW5kbGVy
V2hpdGVsaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OnZlcmlmeUN1c3RvbUhhbmRsZXJVUkwpOgor
ICAgICAgICAoV2ViQ29yZTo6aXNQcm90b2NvbFdoaXRlbGlzdGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OnZlcmlmeVByb3RvY29sSGFuZGxlclNjaGVtZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZp
Z2F0b3JDb250ZW50VXRpbHM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29u
dGVudFV0aWxzOjp+TmF2aWdhdG9yQ29udGVudFV0aWxzKToKKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvckNvbnRlbnRVdGlsczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRv
ckNvbnRlbnRVdGlsczo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Y3VzdG9tSGFuZGxlcnNTdGF0ZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0
b3JDb250ZW50VXRpbHM6OmlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHM6OnVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIp
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzOjpzdXBwbGVtZW50TmFt
ZSk6CisgICAgICAgIChXZWJDb3JlOjpwcm92aWRlTmF2aWdhdG9yQ29udGVudFV0aWxzVG8pOgor
ICAgICAgICAqIE1vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRV
dGlscy5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRs
ZXIvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaC4KKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoTmF2aWdhdG9yQ29udGVudFV0aWxzKToKKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvckNvbnRlbnRVdGlsczo6TmF2aWdhdG9yQ29udGVudFV0aWxzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsczo6Y2xpZW50KToKKyAgICAgICAgKiBNb2R1bGVz
L25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuaWRsOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvTmF2aWdhdG9yUmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIuaWRsLgorICAgICAgICAqIE1vZHVsZXMvbmF2aWdhdG9yY29u
dGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvUmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXJDbGllbnQuaC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudDo6fk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCk6CisgICAgICAgICogVGFyZ2V0LnBy
aToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52
c3Byb3BzOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL2NvcHlGb3J3YXJkaW5nSGVhZGVycy5j
bWQ6CisKIDIwMTItMDgtMjcgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEu
Y29tPgogCiAgICAgICAgIFtRdF0gUkVHUkVTU0lPTihyMTI2Njk0KTogSXQgYnJva2UgdGhlIGRl
YnVnIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGNlZGQ5NWQuLjRhY2IyZDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBA
IC0xMDUsNiArMTA1LDcgQEAgRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MgPSA7CiBFTkFCTEVfTUVU
RVJfRUxFTUVOVCA9IEVOQUJMRV9NRVRFUl9FTEVNRU5UOwogRU5BQkxFX01IVE1MID0gOwogRU5B
QkxFX01JQ1JPREFUQSA9IDsKK0VOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyA9IDsKIEVO
QUJMRV9NVVRBVElPTl9PQlNFUlZFUlMgPSBFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTOwogRU5B
QkxFX05PVElGSUNBVElPTlMgPSAkKEVOQUJMRV9OT1RJRklDQVRJT05TXyQoUkVBTF9QTEFURk9S
TV9OQU1FKSk7CiBFTkFCTEVfTk9USUZJQ0FUSU9OU19tYWNvc3ggPSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TX21hY29zeF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7CkBAIC0xMTQs
NyArMTE1LDYgQEAgRU5BQkxFX05PVElGSUNBVElPTlNfbWFjb3N4XzEwOTAgPSBFTkFCTEVfTk9U
SUZJQ0FUSU9OUzsKIEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJID0gOwogRU5BQkxFX1BST0dS
RVNTX0VMRU1FTlQgPSBFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVDsKIEVOQUJMRV9RVU9UQSA9IDsK
LUVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSID0gOwogRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FID0gRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FOwogRU5BQkxFX1ND
UklQVEVEX1NQRUVDSCA9IDsKIEVOQUJMRV9TSEFET1dfRE9NID0gOwpAQCAtMTQxLDQgKzE0MSw0
IEBAIEVOQUJMRV9XSURHRVRfUkVHSU9OX21hY29zeCA9IEVOQUJMRV9XSURHRVRfUkVHSU9OOwog
RU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hT
TFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9C
TE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQo
RU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSElFUkFSQ0hJRVMpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVkFSSUFC
TEVTKSAkKEVOQUJMRV9DU1MzX0ZMRVhCT1gpICQoRU5BQkxFX0NTUzNfVEVYVF9ERUNPUkFUSU9O
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQo
RU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJ
R0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VB
TUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVS
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVT
U19FTEVNRU5UKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFO
RExFUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NDUklQVEVE
X1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcp
ICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VORE9fTUFOQUdFUikgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0lER0VUX1JFR0lPTikgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9D
U1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0hJRVJBUkNISUVTKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChF
TkFCTEVfQ1NTM19GTEVYQk9YKSAkKEVOQUJMRV9DU1MzX1RFWFRfREVDT1JBVElPTikgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9G
SUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISUdIX0RQSV9D
QU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNS
T0RBVEEpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJ
TElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAk
KEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FM
X0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVf
U1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVU5ET19NQU5BR0VSKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XSURH
RVRfUkVHSU9OKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KaW5kZXggZGYzYzBhZi4uYmM1ZmEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE1
LDggKzE1LDggQEAgd2ViY29yZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0gXAorCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdh
dG9yY29udGVudHV0aWxzIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMgXAotCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9j
b2xoYW5kbGVyIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhIFwK
IAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvIFwKIAktSSQoc3Jj
ZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlIFwKQEAgLTY4NSwxMyArNjg1
LDEzIEBAIGZlYXR1cmVfZGVmaW5lc19vdmVycmlkZXMgKz0gRU5BQkxFX01JQ1JPREFUQT0wCiBl
bmRpZiAgIyBFTkQgRU5BQkxFX01JQ1JPREFUQQogCiAjIC0tLQotIyBSZWdpc3RlciBQcm90b2Nv
bCBIYW5kbGVyIHN1cHBvcnQKKyMgTmF2aWdhdG9yIENvbnRlbnQgVXRpbHMgc3VwcG9ydAogIyAt
LS0KLWlmIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSCi1mZWF0dXJlX2RlZmluZXNf
b3ZlcnJpZGVzICs9IEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSPTEKK2lmIEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUworZmVhdHVyZV9kZWZpbmVzX292ZXJyaWRlcyArPSBF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFM9MQogZWxzZQotZmVhdHVyZV9kZWZpbmVzX292
ZXJyaWRlcyArPSBFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUj0wCi1lbmRpZiAgIyBF
TkQgRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIKK2ZlYXR1cmVfZGVmaW5lc19vdmVy
cmlkZXMgKz0gRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTPTAKK2VuZGlmICAjIEVORCBF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMKIAogIyAtLS0KICMgRGV2aWNlT3JpZW50YXRp
b24gc3VwcG9ydApAQCAtMTEyMCw4ICsxMTIwLDggQEAgRVhUUkFfRElTVCArPSBcCiAJJChzaGVs
bCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvKi5pZGwpIFwK
IAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
LyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS8qLmlkbCkgXAorCSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNy
Y2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zLyouaWRsKSBcCi0JJChz
aGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIv
Ki5pZGwpIFwKIAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1
b3RhLyouaWRsKSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby8qLmlkbCkgXAogCSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvKi5pZGwpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuZmVh
dHVyZXMuYW0KaW5kZXggMGE4YzNjZS4uNTNiZjU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuZmVhdHVyZXMuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUuZmVhdHVyZXMuYW0KQEAgLTYwLDYgKzYwLDcgQEAgZmVhdHVyZV9kZWZpbmVzX2RlZmF1bHRz
ICs9IFwKIAlFTkFCTEVfTUhUTUw9MCBcCiAJRU5BQkxFX01JQ1JPREFUQT0wIFwKIAlFTkFCTEVf
TVVUQVRJT05fT0JTRVJWRVJTPTEgXAorCUVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUz0w
IFwKIAlFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQST0xIFwKIAlFTkFCTEVfTkVUV09SS19JTkZP
PTAgXAogCUVOQUJMRV9OT1RJRklDQVRJT05TPTAgXApAQCAtNjcsNyArNjgsNiBAQCBmZWF0dXJl
X2RlZmluZXNfZGVmYXVsdHMgKz0gXAogCUVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJPTAgXAog
CUVOQUJMRV9QUk9HUkVTU19FTEVNRU5UPTEgXAogCUVOQUJMRV9RVU9UQT0wIFwKLQlFTkFCTEVf
UkVHSVNURVJfUFJPVE9DT0xfSEFORExFUj0wIFwKIAlFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUU9MSBcCiAJRU5BQkxFX1NDUklQVEVEX1NQRUVDSD0wIFwKIAlFTkFCTEVfU0hBRE9XX0RP
TT0xIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDA2MGEyNDcuLjFhMzlkMWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTIyNiwxMCArMTIyNiwxMCBAQCBk
b21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24uaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9uYXZpZ2F0b3Jj
b250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCBcCi0J
JChXZWJDb3JlKS9Nb2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3Rv
Y29sSGFuZGxlci5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90
YS5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwgXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mb0Vycm9yQ2FsbGJhY2suaWRsIFwKQEAg
LTE5MjcsNiArMTkyNyw5IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYUNvbnRyb2xsZXIuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaCBc
CisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9y
Q29udGVudFV0aWxzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jjb250
ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0
aW9ucy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5k
b3dOb3RpZmljYXRpb25zLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIFwKQEAgLTE5MzksOSArMTk0Miw2IEBAIHdlYmNvcmVf
bW9kdWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0
aW9ucy5oIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxlci9OYXZpZ2F0
b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmggXAotCVNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL1JlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVv
dGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmgg
XAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uY3BwIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmln
YXRvckNvbnRlbnRVdGlscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNv
bnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmI2ODc5YmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuY3Bw
CkBAIC0wLDAgKzEsMjE4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExLCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLCBTYW1zdW5nIEVs
ZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
CisgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUgorICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
CisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKyAqIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29udGVudFV0aWxzLmgiCisKKyNpZiBFTkFCTEUo
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIk5hdmln
YXRvci5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBIYXNoU2V0PFN0cmluZz4qIHByb3RvY29sV2hp
dGVsaXN0OworCitzdGF0aWMgdm9pZCBpbml0UHJvdG9jb2xIYW5kbGVyV2hpdGVsaXN0KCkKK3sK
KyAgICBwcm90b2NvbFdoaXRlbGlzdCA9IG5ldyBIYXNoU2V0PFN0cmluZz47CisgICAgc3RhdGlj
IGNvbnN0IGNoYXIqIHByb3RvY29sc1tdID0geworI2lmICFQTEFURk9STShCTEFDS0JFUlJZKQor
ICAgICAgICAiaXJjIiwKKyAgICAgICAgIm1haWx0byIsCisgICAgICAgICJtbXMiLAorICAgICAg
ICAibmV3cyIsCisgICAgICAgICJubnRwIiwKKyAgICAgICAgInNtcyIsCisgICAgICAgICJzbXN0
byIsCisgICAgICAgICJ0ZWwiLAorICAgICAgICAidXJuIiwKKyAgICAgICAgIndlYmNhbCIsCisj
ZW5kaWYKKyAgICB9OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdU
SChwcm90b2NvbHMpOyArK2kpCisgICAgICAgIHByb3RvY29sV2hpdGVsaXN0LT5hZGQocHJvdG9j
b2xzW2ldKTsKK30KKworc3RhdGljIGJvb2wgdmVyaWZ5Q3VzdG9tSGFuZGxlclVSTChjb25zdCBT
dHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBFeGNlcHRpb25Db2RlJiBlYykKK3sK
KyAgICAvLyBUaGUgc3BlY2lmaWNhdGlvbiByZXF1aXJlcyB0aGF0IGl0IGlzIGEgU1lOVEFYX0VS
UiBpZiB0aGUgIiVzIiB0b2tlbiBpcworICAgIC8vIG5vdCBwcmVzZW50LgorICAgIHN0YXRpYyBj
b25zdCBjaGFyIHRva2VuW10gPSAiJXMiOworICAgIGludCBpbmRleCA9IHVybC5maW5kKHRva2Vu
KTsKKyAgICBpZiAoLTEgPT0gaW5kZXgpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gSXQgaXMgYWxzbyBhIFNZTlRBWF9F
UlIgaWYgdGhlIGN1c3RvbSBoYW5kbGVyIFVSTCwgYXMgY3JlYXRlZCBieSByZW1vdmluZworICAg
IC8vIHRoZSAiJXMiIHRva2VuIGFuZCBwcmVwZW5kaW5nIHRoZSBiYXNlIHVybCwgZG9lcyBub3Qg
cmVzb2x2ZS4KKyAgICBTdHJpbmcgbmV3VVJMID0gdXJsOworICAgIG5ld1VSTC5yZW1vdmUoaW5k
ZXgsIFdURl9BUlJBWV9MRU5HVEgodG9rZW4pIC0gMSk7CisKKyAgICBLVVJMIGJhc2UoUGFyc2Vk
VVJMU3RyaW5nLCBiYXNlVVJMKTsKKyAgICBLVVJMIGt1cmwoYmFzZSwgbmV3VVJMKTsKKworICAg
IGlmIChrdXJsLmlzRW1wdHkoKSB8fCAha3VybC5pc1ZhbGlkKCkpIHsKKyAgICAgICAgZWMgPSBT
WU5UQVhfRVJSOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKK3N0YXRpYyBib29sIGlzUHJvdG9jb2xXaGl0ZWxpc3RlZChjb25zdCBTdHJpbmcm
IHNjaGVtZSkKK3sKKyAgICBpZiAoIXByb3RvY29sV2hpdGVsaXN0KQorICAgICAgICBpbml0UHJv
dG9jb2xIYW5kbGVyV2hpdGVsaXN0KCk7CisgICAgcmV0dXJuIHByb3RvY29sV2hpdGVsaXN0LT5j
b250YWlucyhzY2hlbWUpOworfQorCitzdGF0aWMgYm9vbCB2ZXJpZnlQcm90b2NvbEhhbmRsZXJT
Y2hlbWUoY29uc3QgU3RyaW5nJiBzY2hlbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlm
IChzY2hlbWUuc3RhcnRzV2l0aCgid2ViKyIpKSB7CisgICAgICAgIGlmIChpc1ZhbGlkUHJvdG9j
b2woc2NoZW1lKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBlYyA9IFNFQ1VS
SVRZX0VSUjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGlmIChpc1Byb3Rv
Y29sV2hpdGVsaXN0ZWQoc2NoZW1lKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgZWMgPSBT
RUNVUklUWV9FUlI7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitOYXZpZ2F0b3JDb250ZW50VXRp
bHMqIE5hdmlnYXRvckNvbnRlbnRVdGlsczo6ZnJvbShQYWdlKiBwYWdlKQoreworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxOYXZpZ2F0b3JDb250ZW50VXRpbHMqPihSZWZDb3VudGVkU3VwcGxlbWVu
dDxQYWdlLCBOYXZpZ2F0b3JDb250ZW50VXRpbHM+Ojpmcm9tKHBhZ2UsIE5hdmlnYXRvckNvbnRl
bnRVdGlsczo6c3VwcGxlbWVudE5hbWUoKSkpOworfQorCitOYXZpZ2F0b3JDb250ZW50VXRpbHM6
On5OYXZpZ2F0b3JDb250ZW50VXRpbHMoKQoreworfQorCitQYXNzUmVmUHRyPE5hdmlnYXRvckNv
bnRlbnRVdGlscz4gTmF2aWdhdG9yQ29udGVudFV0aWxzOjpjcmVhdGUoTmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50KiBjbGllbnQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBOYXZpZ2F0
b3JDb250ZW50VXRpbHMoY2xpZW50KSk7Cit9CisKK3ZvaWQgTmF2aWdhdG9yQ29udGVudFV0aWxz
OjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihOYXZpZ2F0b3IqIG5hdmlnYXRvciwgY29uc3QgU3Ry
aW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIW5hdmlnYXRvci0+ZnJhbWUoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbmF2aWdhdG9yLT5mcmFtZSgpLT5k
b2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIFN0
cmluZyBiYXNlVVJMID0gZG9jdW1lbnQtPmJhc2VVUkwoKS5iYXNlQXNTdHJpbmcoKTsKKworICAg
IGlmICghdmVyaWZ5Q3VzdG9tSGFuZGxlclVSTChiYXNlVVJMLCB1cmwsIGVjKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgaWYgKCF2ZXJpZnlQcm90b2NvbEhhbmRsZXJTY2hlbWUoc2NoZW1lLCBl
YykpCisgICAgICAgIHJldHVybjsKKworICAgIE5hdmlnYXRvckNvbnRlbnRVdGlsczo6ZnJvbShu
YXZpZ2F0b3ItPmZyYW1lKCktPnBhZ2UoKSktPmNsaWVudCgpLT5yZWdpc3RlclByb3RvY29sSGFu
ZGxlcihzY2hlbWUsIGJhc2VVUkwsIHVybCwgbmF2aWdhdG9yLT5mcmFtZSgpLT5kaXNwbGF5U3Ry
aW5nTW9kaWZpZWRCeUVuY29kaW5nKHRpdGxlKSk7Cit9CisKKyNpZiBFTkFCTEUoQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKQorc3RhdGljIFN0cmluZyBjdXN0b21IYW5kbGVyc1N0YXRlU3RyaW5nKGNv
bnN0IE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxlcnNTdGF0ZSBzdGF0
ZSkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgbmV3SGFuZGxlciwg
KCJuZXciKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHJlZ2lzdGVy
ZWRIYW5kbGVyLCAoInJlZ2lzdGVyZWQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBTdHJpbmcsIGRlY2xpbmVkSGFuZGxlciwgKCJkZWNsaW5lZCIpKTsKKworICAgIHN3aXRjaCAo
c3RhdGUpIHsKKyAgICBjYXNlIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFu
ZGxlcnNOZXc6CisgICAgICAgIHJldHVybiBuZXdIYW5kbGVyOworICAgIGNhc2UgTmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50OjpDdXN0b21IYW5kbGVyc1JlZ2lzdGVyZWQ6CisgICAgICAgIHJl
dHVybiByZWdpc3RlcmVkSGFuZGxlcjsKKyAgICBjYXNlIE5hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudDo6Q3VzdG9tSGFuZGxlcnNEZWNsaW5lZDoKKyAgICAgICAgcmV0dXJuIGRlY2xpbmVkSGFu
ZGxlcjsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gU3Ry
aW5nKCk7Cit9CisKK1N0cmluZyBOYXZpZ2F0b3JDb250ZW50VXRpbHM6OmlzUHJvdG9jb2xIYW5k
bGVyUmVnaXN0ZXJlZChOYXZpZ2F0b3IqIG5hdmlnYXRvciwgY29uc3QgU3RyaW5nJiBzY2hlbWUs
IGNvbnN0IFN0cmluZyYgdXJsLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKGNvbnN0IFN0cmluZywgZGVjbGluZWQsICgiZGVjbGluZWQiKSk7CisKKyAgICBp
ZiAoIW5hdmlnYXRvci0+ZnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIGRlY2xpbmVkOworCisgICAg
RG9jdW1lbnQqIGRvY3VtZW50ID0gbmF2aWdhdG9yLT5mcmFtZSgpLT5kb2N1bWVudCgpOworICAg
IFN0cmluZyBiYXNlVVJMID0gZG9jdW1lbnQtPmJhc2VVUkwoKS5iYXNlQXNTdHJpbmcoKTsKKwor
ICAgIGlmICghdmVyaWZ5Q3VzdG9tSGFuZGxlclVSTChiYXNlVVJMLCB1cmwsIGVjKSkKKyAgICAg
ICAgcmV0dXJuIGRlY2xpbmVkOworCisgICAgaWYgKCF2ZXJpZnlQcm90b2NvbEhhbmRsZXJTY2hl
bWUoc2NoZW1lLCBlYykpCisgICAgICAgIHJldHVybiBkZWNsaW5lZDsKKworICAgIHJldHVybiBj
dXN0b21IYW5kbGVyc1N0YXRlU3RyaW5nKE5hdmlnYXRvckNvbnRlbnRVdGlsczo6ZnJvbShuYXZp
Z2F0b3ItPmZyYW1lKCktPnBhZ2UoKSktPmNsaWVudCgpLT5pc1Byb3RvY29sSGFuZGxlclJlZ2lz
dGVyZWQoc2NoZW1lLCBiYXNlVVJMLCB1cmwpKTsKK30KKwordm9pZCBOYXZpZ2F0b3JDb250ZW50
VXRpbHM6OnVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIGNv
bnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIHVybCwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit7CisgICAgaWYgKCFuYXZpZ2F0b3ItPmZyYW1lKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IERvY3VtZW50KiBkb2N1bWVudCA9IG5hdmlnYXRvci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKTsKKyAg
ICBTdHJpbmcgYmFzZVVSTCA9IGRvY3VtZW50LT5iYXNlVVJMKCkuYmFzZUFzU3RyaW5nKCk7CisK
KyAgICBpZiAoIXZlcmlmeUN1c3RvbUhhbmRsZXJVUkwoYmFzZVVSTCwgdXJsLCBlYykpCisgICAg
ICAgIHJldHVybjsKKworICAgIGlmICghdmVyaWZ5UHJvdG9jb2xIYW5kbGVyU2NoZW1lKHNjaGVt
ZSwgZWMpKQorICAgICAgICByZXR1cm47CisKKyAgICBOYXZpZ2F0b3JDb250ZW50VXRpbHM6OmZy
b20obmF2aWdhdG9yLT5mcmFtZSgpLT5wYWdlKCkpLT5jbGllbnQoKS0+dW5yZWdpc3RlclByb3Rv
Y29sSGFuZGxlcihzY2hlbWUsIGJhc2VVUkwsIHVybCk7Cit9CisjZW5kaWYKKworY29uc3QgQXRv
bWljU3RyaW5nJiBOYXZpZ2F0b3JDb250ZW50VXRpbHM6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJOYXZpZ2F0b3JDb250
ZW50VXRpbHMiKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKK3ZvaWQgcHJvdmlkZU5hdmlnYXRv
ckNvbnRlbnRVdGlsc1RvKFBhZ2UqIHBhZ2UsIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCog
Y2xpZW50KQoreworICAgIFJlZkNvdW50ZWRTdXBwbGVtZW50PFBhZ2UsIE5hdmlnYXRvckNvbnRl
bnRVdGlscz46OnByb3ZpZGVUbyhwYWdlLCBOYXZpZ2F0b3JDb250ZW50VXRpbHM6OnN1cHBsZW1l
bnROYW1lKCksIE5hdmlnYXRvckNvbnRlbnRVdGlsczo6Y3JlYXRlKGNsaWVudCkpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9y
Y29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRkNmVhMgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNv
bnRlbnRVdGlscy5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEs
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIs
IFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IKKyAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisgKiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICovCisKKyNp
Zm5kZWYgTmF2aWdhdG9yQ29udGVudFV0aWxzX2gKKyNkZWZpbmUgTmF2aWdhdG9yQ29udGVudFV0
aWxzX2gKKworI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKworI2luY2x1ZGUg
Ik5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oIgorI2luY2x1ZGUgIlJlZkNvdW50ZWRTdXBw
bGVtZW50LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQYWdlOworY2xh
c3MgTmF2aWdhdG9yOworCit0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOworCitjbGFzcyBOYXZp
Z2F0b3JDb250ZW50VXRpbHMgOiBwdWJsaWMgUmVmQ291bnRlZFN1cHBsZW1lbnQ8UGFnZSwgTmF2
aWdhdG9yQ29udGVudFV0aWxzPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9yQ29u
dGVudFV0aWxzKCk7CisKKyAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBzdXBwbGVtZW50
TmFtZSgpOworICAgIHN0YXRpYyBOYXZpZ2F0b3JDb250ZW50VXRpbHMqIGZyb20oUGFnZSopOwor
CisgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoTmF2aWdhdG9yKiwgY29u
c3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxl
LCBFeGNlcHRpb25Db2RlJik7CisKKyNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQor
ICAgIHN0YXRpYyBTdHJpbmcgaXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKE5hdmlnYXRvcios
IGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIHVybCwgRXhjZXB0aW9uQ29kZSYp
OworICAgIHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoTmF2aWdhdG9yKiwg
Y29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBFeGNlcHRpb25Db2RlJik7
CisjZW5kaWYKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRvckNvbnRlbnRVdGlscz4g
Y3JlYXRlKE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCopOworCitwcml2YXRlOgorICAgIGV4
cGxpY2l0IE5hdmlnYXRvckNvbnRlbnRVdGlscyhOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQq
IGNsaWVudCkKKyAgICAgICAgOiBtX2NsaWVudChjbGllbnQpCisgICAgeyB9CisKKyAgICBOYXZp
Z2F0b3JDb250ZW50VXRpbHNDbGllbnQqIGNsaWVudCgpIHsgcmV0dXJuIG1fY2xpZW50OyB9CisK
KyAgICBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQqIG1fY2xpZW50OworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VU
SUxTKQorCisjZW5kaWYgLy8gTmF2aWdhdG9yQ29udGVudFV0aWxzX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRl
bnRVdGlscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGls
cy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmIzMzQ0ODEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuaWRsCkBAIC0wLDAg
KzEsMzUgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICAgIENvcHlyaWdodCAoQykgMjAxMiwgU2Ftc3Vu
ZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworICAgIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCittb2R1bGUgd2luZG93IHsK
KworICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw1L3N5c3RlbS1zdGF0ZS1hbmQtY2Fw
YWJpbGl0aWVzLmh0bWwjY3VzdG9tLWhhbmRsZXJzCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAg
U3VwcGxlbWVudGFsPU5hdmlnYXRvcgorICAgIF0gTmF2aWdhdG9yQ29udGVudFV0aWxzIHsKKyAg
ICAgICAgW0NvbmRpdGlvbmFsPU5BVklHQVRPUl9DT05URU5UX1VUSUxTXSB2b2lkIHJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyKGluIERPTVN0cmluZyBzY2hlbWUsIGluIERPTVN0cmluZyB1cmwsIGlu
IERPTVN0cmluZyB0aXRsZSkKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworICAg
ICAgICBbQ29uZGl0aW9uYWw9TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMmQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSXSBET01TdHJpbmcgaXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKGluIERPTVN0cmlu
ZyBzY2hlbWUsIGluIERPTVN0cmluZyB1cmwpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKKyAgICAgICAgW0NvbmRpdGlvbmFsPU5BVklHQVRPUl9DT05URU5UX1VUSUxTJkNVU1RP
TV9TQ0hFTUVfSEFORExFUl0gdm9pZCB1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGluIERPTVN0
cmluZyBzY2hlbWUsIGluIERPTVN0cmluZyB1cmwpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1ZDY3
Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNv
bnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaApAQCAtMCwwICsxLDU5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCBSaWdo
dHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaWZuZGVmIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudF9oCisjZGVmaW5lIE5hdmlnYXRv
ckNvbnRlbnRVdGlsc0NsaWVudF9oCisKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBQYWdlOworCitjbGFzcyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQg
eworcHVibGljOgorICAgIHZpcnR1YWwgfk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCgpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcm
IHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3Qg
U3RyaW5nJiB0aXRsZSkgPSAwOworCisjaWYgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikK
KyAgICBlbnVtIEN1c3RvbUhhbmRsZXJzU3RhdGUgeworICAgICAgICBDdXN0b21IYW5kbGVyc05l
dywKKyAgICAgICAgQ3VzdG9tSGFuZGxlcnNSZWdpc3RlcmVkLAorICAgICAgICBDdXN0b21IYW5k
bGVyc0RlY2xpbmVkCisgICAgfTsKKworICAgIHZpcnR1YWwgQ3VzdG9tSGFuZGxlcnNTdGF0ZSBp
c1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0
cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3Ry
aW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCkgPSAwOworI2VuZGlmCit9OworCit2b2lk
IHByb3ZpZGVOYXZpZ2F0b3JDb250ZW50VXRpbHNUbyhQYWdlKiwgTmF2aWdhdG9yQ29udGVudFV0
aWxzQ2xpZW50Kik7CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykKKyNlbmRpZiAvLyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvTmF2aWdhdG9yUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhh
bmRsZXIvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA3MWQwNmEwLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmNw
cAorKysgL2Rldi9udWxsCkBAIC0xLDIxOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDExLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAy
MDEyLCBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKLSAqIERBTUFHRS4KLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXIuaCIKLQotI2lmIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotCi0j
aW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVk
ZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0j
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMg
SGFzaFNldDxTdHJpbmc+KiBwcm90b2NvbFdoaXRlbGlzdDsKLQotc3RhdGljIHZvaWQgaW5pdFBy
b3RvY29sSGFuZGxlcldoaXRlbGlzdCgpCi17Ci0gICAgcHJvdG9jb2xXaGl0ZWxpc3QgPSBuZXcg
SGFzaFNldDxTdHJpbmc+OwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBwcm90b2NvbHNbXSA9IHsK
LSNpZiAhUExBVEZPUk0oQkxBQ0tCRVJSWSkKLSAgICAgICAgImlyYyIsCi0gICAgICAgICJtYWls
dG8iLAotICAgICAgICAibW1zIiwKLSAgICAgICAgIm5ld3MiLAotICAgICAgICAibm50cCIsCi0g
ICAgICAgICJzbXMiLAotICAgICAgICAic21zdG8iLAotICAgICAgICAidGVsIiwKLSAgICAgICAg
InVybiIsCi0gICAgICAgICJ3ZWJjYWwiLAotI2VuZGlmCi0gICAgfTsKLSAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgocHJvdG9jb2xzKTsgKytpKQotICAgICAgICBw
cm90b2NvbFdoaXRlbGlzdC0+YWRkKHByb3RvY29sc1tpXSk7Ci19Ci0KLXN0YXRpYyBib29sIHZl
cmlmeUN1c3RvbUhhbmRsZXJVUkwoY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcm
IHVybCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgLy8gVGhlIHNwZWNpZmljYXRpb24gcmVx
dWlyZXMgdGhhdCBpdCBpcyBhIFNZTlRBWF9FUlIgaWYgdGhlICIlcyIgdG9rZW4gaXMKLSAgICAv
LyBub3QgcHJlc2VudC4KLSAgICBzdGF0aWMgY29uc3QgY2hhciB0b2tlbltdID0gIiVzIjsKLSAg
ICBpbnQgaW5kZXggPSB1cmwuZmluZCh0b2tlbik7Ci0gICAgaWYgKC0xID09IGluZGV4KSB7Ci0g
ICAgICAgIGVjID0gU1lOVEFYX0VSUjsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQot
ICAgIC8vIEl0IGlzIGFsc28gYSBTWU5UQVhfRVJSIGlmIHRoZSBjdXN0b20gaGFuZGxlciBVUkws
IGFzIGNyZWF0ZWQgYnkgcmVtb3ZpbmcKLSAgICAvLyB0aGUgIiVzIiB0b2tlbiBhbmQgcHJlcGVu
ZGluZyB0aGUgYmFzZSB1cmwsIGRvZXMgbm90IHJlc29sdmUuCi0gICAgU3RyaW5nIG5ld1VSTCA9
IHVybDsKLSAgICBuZXdVUkwucmVtb3ZlKGluZGV4LCBXVEZfQVJSQVlfTEVOR1RIKHRva2VuKSAt
IDEpOwotCi0gICAgS1VSTCBiYXNlKFBhcnNlZFVSTFN0cmluZywgYmFzZVVSTCk7Ci0gICAgS1VS
TCBrdXJsKGJhc2UsIG5ld1VSTCk7Ci0KLSAgICBpZiAoa3VybC5pc0VtcHR5KCkgfHwgIWt1cmwu
aXNWYWxpZCgpKSB7Ci0gICAgICAgIGVjID0gU1lOVEFYX0VSUjsKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH0KLQotICAgIHJldHVybiB0cnVlOwotfQotCi1zdGF0aWMgYm9vbCBpc1Byb3Rv
Y29sV2hpdGVsaXN0ZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUpCi17Ci0gICAgaWYgKCFwcm90b2Nv
bFdoaXRlbGlzdCkKLSAgICAgICAgaW5pdFByb3RvY29sSGFuZGxlcldoaXRlbGlzdCgpOwotICAg
IHJldHVybiBwcm90b2NvbFdoaXRlbGlzdC0+Y29udGFpbnMoc2NoZW1lKTsKLX0KLQotc3RhdGlj
IGJvb2wgdmVyaWZ5UHJvdG9jb2xIYW5kbGVyU2NoZW1lKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBF
eGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAoc2NoZW1lLnN0YXJ0c1dpdGgoIndlYisiKSkg
ewotICAgICAgICBpZiAoaXNWYWxpZFByb3RvY29sKHNjaGVtZSkpCi0gICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0KLSAgICBpZiAoaXNQcm90b2NvbFdoaXRlbGlzdGVkKHNjaGVtZSkpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotICAgIGVjID0gU0VDVVJJVFlfRVJSOwotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQotTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIqIE5hdmlnYXRvclJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyOjpmcm9tKFBhZ2UqIHBhZ2UpCi17Ci0gICAgcmV0dXJuIHN0YXRp
Y19jYXN0PE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKj4oUmVmQ291bnRlZFN1cHBs
ZW1lbnQ8UGFnZSwgTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI+Ojpmcm9tKHBhZ2Us
IE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyOjpzdXBwbGVtZW50TmFtZSgpKSk7Ci19
Ci0KLU5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyOjp+TmF2aWdhdG9yUmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXIoKQotewotfQotCi1QYXNzUmVmUHRyPE5hdmlnYXRvclJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyPiBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6Y3JlYXRlKFJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50KiBjbGllbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcihjbGllbnQpKTsKLX0KLQot
dm9pZCBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6cmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBT
dHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0g
ICAgaWYgKCFuYXZpZ2F0b3ItPmZyYW1lKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIERvY3Vt
ZW50KiBkb2N1bWVudCA9IG5hdmlnYXRvci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKTsKLSAgICBpZiAo
IWRvY3VtZW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICBTdHJpbmcgYmFzZVVSTCA9IGRvY3Vt
ZW50LT5iYXNlVVJMKCkuYmFzZUFzU3RyaW5nKCk7Ci0KLSAgICBpZiAoIXZlcmlmeUN1c3RvbUhh
bmRsZXJVUkwoYmFzZVVSTCwgdXJsLCBlYykpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICgh
dmVyaWZ5UHJvdG9jb2xIYW5kbGVyU2NoZW1lKHNjaGVtZSwgZWMpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6ZnJvbShuYXZpZ2F0b3It
PmZyYW1lKCktPnBhZ2UoKSktPmNsaWVudCgpLT5yZWdpc3RlclByb3RvY29sSGFuZGxlcihzY2hl
bWUsIGJhc2VVUkwsIHVybCwgbmF2aWdhdG9yLT5mcmFtZSgpLT5kaXNwbGF5U3RyaW5nTW9kaWZp
ZWRCeUVuY29kaW5nKHRpdGxlKSk7Ci19Ci0KLSNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKQotc3RhdGljIFN0cmluZyBjdXN0b21IYW5kbGVyc1N0YXRlU3RyaW5nKGNvbnN0IFJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50OjpDdXN0b21IYW5kbGVyc1N0YXRlIHN0YXRlKQotewot
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBuZXdIYW5kbGVyLCAoIm5ldyIp
KTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgcmVnaXN0ZXJlZEhhbmRs
ZXIsICgicmVnaXN0ZXJlZCIpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmlu
ZywgZGVjbGluZWRIYW5kbGVyLCAoImRlY2xpbmVkIikpOwotCi0gICAgc3dpdGNoIChzdGF0ZSkg
ewotICAgIGNhc2UgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQ6OkN1c3RvbUhhbmRsZXJz
TmV3OgotICAgICAgICByZXR1cm4gbmV3SGFuZGxlcjsKLSAgICBjYXNlIFJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyQ2xpZW50OjpDdXN0b21IYW5kbGVyc1JlZ2lzdGVyZWQ6Ci0gICAgICAgIHJldHVy
biByZWdpc3RlcmVkSGFuZGxlcjsKLSAgICBjYXNlIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xp
ZW50OjpDdXN0b21IYW5kbGVyc0RlY2xpbmVkOgotICAgICAgICByZXR1cm4gZGVjbGluZWRIYW5k
bGVyOwotICAgIH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBTdHJp
bmcoKTsKLX0KLQotU3RyaW5nIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyOjppc1By
b3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIGNvbnN0IFN0cmlu
ZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIHVybCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGRlY2xpbmVkLCAoImRlY2xpbmVkIikp
OwotCi0gICAgaWYgKCFuYXZpZ2F0b3ItPmZyYW1lKCkpCi0gICAgICAgIHJldHVybiBkZWNsaW5l
ZDsKLQotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG5hdmlnYXRvci0+ZnJhbWUoKS0+ZG9jdW1l
bnQoKTsKLSAgICBTdHJpbmcgYmFzZVVSTCA9IGRvY3VtZW50LT5iYXNlVVJMKCkuYmFzZUFzU3Ry
aW5nKCk7Ci0KLSAgICBpZiAoIXZlcmlmeUN1c3RvbUhhbmRsZXJVUkwoYmFzZVVSTCwgdXJsLCBl
YykpCi0gICAgICAgIHJldHVybiBkZWNsaW5lZDsKLQotICAgIGlmICghdmVyaWZ5UHJvdG9jb2xI
YW5kbGVyU2NoZW1lKHNjaGVtZSwgZWMpKQotICAgICAgICByZXR1cm4gZGVjbGluZWQ7Ci0KLSAg
ICByZXR1cm4gY3VzdG9tSGFuZGxlcnNTdGF0ZVN0cmluZyhOYXZpZ2F0b3JSZWdpc3RlclByb3Rv
Y29sSGFuZGxlcjo6ZnJvbShuYXZpZ2F0b3ItPmZyYW1lKCktPnBhZ2UoKSktPmNsaWVudCgpLT5p
c1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoc2NoZW1lLCBiYXNlVVJMLCB1cmwpKTsKLX0KLQot
dm9pZCBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcjo6dW5yZWdpc3RlclByb3RvY29s
SGFuZGxlcihOYXZpZ2F0b3IqIG5hdmlnYXRvciwgY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0
IFN0cmluZyYgdXJsLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAoIW5hdmlnYXRvci0+
ZnJhbWUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbmF2
aWdhdG9yLT5mcmFtZSgpLT5kb2N1bWVudCgpOwotICAgIFN0cmluZyBiYXNlVVJMID0gZG9jdW1l
bnQtPmJhc2VVUkwoKS5iYXNlQXNTdHJpbmcoKTsKLQotICAgIGlmICghdmVyaWZ5Q3VzdG9tSGFu
ZGxlclVSTChiYXNlVVJMLCB1cmwsIGVjKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCF2
ZXJpZnlQcm90b2NvbEhhbmRsZXJTY2hlbWUoc2NoZW1lLCBlYykpCi0gICAgICAgIHJldHVybjsK
LQotICAgIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyOjpmcm9tKG5hdmlnYXRvci0+
ZnJhbWUoKS0+cGFnZSgpKS0+Y2xpZW50KCktPnVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoc2No
ZW1lLCBiYXNlVVJMLCB1cmwpOwotfQotI2VuZGlmCi0KLWNvbnN0IEF0b21pY1N0cmluZyYgTmF2
aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI6OnN1cHBsZW1lbnROYW1lKCkKLXsKLSAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJOYXZpZ2F0b3JSZWdpc3Rl
clByb3RvY29sSGFuZGxlciIpKTsKLSAgICByZXR1cm4gbmFtZTsKLX0KLQotdm9pZCBwcm92aWRl
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJUbyhQYWdlKiBwYWdlLCBSZWdpc3RlclByb3RvY29sSGFu
ZGxlckNsaWVudCogY2xpZW50KQotewotICAgIFJlZkNvdW50ZWRTdXBwbGVtZW50PFBhZ2UsIE5h
dmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyPjo6cHJvdmlkZVRvKHBhZ2UsIE5hdmlnYXRv
clJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyOjpzdXBwbGVtZW50TmFtZSgpLCBOYXZpZ2F0b3JSZWdp
c3RlclByb3RvY29sSGFuZGxlcjo6Y3JlYXRlKGNsaWVudCkpOwotfQotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikK
LQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvTmF2
aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlOTA5ZTUuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTEsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTIsIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLSAqCi0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAot
ICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QK
LSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAotICogREFNQUdFLgot
ICovCi0KLSNpZm5kZWYgTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJfaAotI2RlZmlu
ZSBOYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcl9oCi0KLSNpZiBFTkFCTEUoUkVHSVNU
RVJfUFJPVE9DT0xfSEFORExFUikKLQotI2luY2x1ZGUgIlJlZkNvdW50ZWRTdXBwbGVtZW50Lmgi
Ci0jaW5jbHVkZSAiUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQuaCIKLSNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFBhZ2U7Ci1jbGFzcyBOYXZpZ2F0b3I7Ci0KLXR5cGVk
ZWYgaW50IEV4Y2VwdGlvbkNvZGU7Ci0KLWNsYXNzIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyIDogcHVibGljIFJlZkNvdW50ZWRTdXBwbGVtZW50PFBhZ2UsIE5hdmlnYXRvclJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyPiB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+TmF2aWdhdG9yUmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIoKTsKLQotICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcm
IHN1cHBsZW1lbnROYW1lKCk7Ci0gICAgc3RhdGljIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyKiBmcm9tKFBhZ2UqKTsKLQotICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyKE5hdmlnYXRvciosIGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgU3RyaW5nJiB0aXRsZSwgRXhjZXB0aW9uQ29kZSYpOwotCi0jaWYgRU5BQkxFKENV
U1RPTV9TQ0hFTUVfSEFORExFUikKLSAgICBzdGF0aWMgU3RyaW5nIGlzUHJvdG9jb2xIYW5kbGVy
UmVnaXN0ZXJlZChOYXZpZ2F0b3IqLCBjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5n
JiB1cmwsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBzdGF0aWMgdm9pZCB1bnJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyKE5hdmlnYXRvciosIGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcm
IHVybCwgRXhjZXB0aW9uQ29kZSYpOwotI2VuZGlmCi0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxO
YXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlcj4gY3JlYXRlKFJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyQ2xpZW50Kik7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgTmF2aWdhdG9yUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXIoUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQqIGNsaWVudCkK
LSAgICAgICAgOiBtX2NsaWVudChjbGllbnQpCi0gICAgeyB9Ci0KLSAgICBSZWdpc3RlclByb3Rv
Y29sSGFuZGxlckNsaWVudCogY2xpZW50KCkgeyByZXR1cm4gbV9jbGllbnQ7IH0KLQotICAgIFJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50KiBtX2NsaWVudDsKLX07Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVS
KQotCi0jZW5kaWYgLy8gTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvTmF2aWdhdG9yUmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2Nv
bGhhbmRsZXIvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyNzRiYjU5Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
LmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChD
KSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotICAg
IENvcHlyaWdodCAoQykgMjAxMiwgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCi0qLwotCi1tb2R1bGUgd2luZG93IHsKLQotICAgIGludGVyZmFjZSBbCi0gICAgICAgIFN1
cHBsZW1lbnRhbD1OYXZpZ2F0b3IKLSAgICBdIE5hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyIHsKLSAgICAgICAgW0NvbmRpdGlvbmFsPVJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVJdIHZv
aWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoaW4gRE9NU3RyaW5nIHNjaGVtZSwgaW4gRE9NU3Ry
aW5nIHVybCwgaW4gRE9NU3RyaW5nIHRpdGxlKQotICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7Ci0gICAgICAgIFtDb25kaXRpb25hbD1SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSJkNV
U1RPTV9TQ0hFTUVfSEFORExFUl0gRE9NU3RyaW5nIGlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJl
ZChpbiBET01TdHJpbmcgc2NoZW1lLCBpbiBET01TdHJpbmcgdXJsKQotICAgICAgICAgICAgcmFp
c2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIFtDb25kaXRpb25hbD1SRUdJU1RFUl9QUk9UT0NP
TF9IQU5ETEVSJkNVU1RPTV9TQ0hFTUVfSEFORExFUl0gdm9pZCB1bnJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyKGluIERPTVN0cmluZyBzY2hlbWUsIGluIERPTVN0cmluZyB1cmwpCi0gICAgICAgICAg
ICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICB9OwotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxlci9SZWdpc3RlclByb3RvY29sSGFuZGxlckNs
aWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvUmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXJDbGllbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWE4
MzJhYy4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3RvY29saGFuZGxl
ci9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTkg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBB
bGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
Ci0gKi8KLQotI2lmbmRlZiBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudF9oCi0jZGVmaW5l
IFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50X2gKLQotI2lmIEVOQUJMRShSRUdJU1RFUl9Q
Uk9UT0NPTF9IQU5ETEVSKQotCi0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgUGFnZTsKLQotY2xhc3MgUmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXJDbGllbnQgewotcHVibGljOgotICAgIHZpcnR1YWwgflJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyQ2xpZW50KCkgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0
cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7Ci0KLSNpZiBFTkFCTEUoQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKQotICAgIGVudW0gQ3VzdG9tSGFuZGxlcnNTdGF0ZSB7Ci0gICAgICAg
IEN1c3RvbUhhbmRsZXJzTmV3LAotICAgICAgICBDdXN0b21IYW5kbGVyc1JlZ2lzdGVyZWQsCi0g
ICAgICAgIEN1c3RvbUhhbmRsZXJzRGVjbGluZWQKLSAgICB9OwotCi0gICAgdmlydHVhbCBDdXN0
b21IYW5kbGVyc1N0YXRlIGlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcm
IHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCkgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYg
c2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsKSA9IDA7Ci0j
ZW5kaWYKLX07Ci0KLXZvaWQgcHJvdmlkZVJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyVG8oUGFnZSos
IFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50Kik7Ci0KLX0KLQotI2VuZGlmIC8vIEVOQUJM
RShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotI2VuZGlmIC8vIFJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDdiZjMyMWQuLjY4YzM2YTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQpAQCAtMjQ5LDEyICsyNDksMTIgQEAgU09VUkNFUyArPSBcCiAgICAgTW9kdWxlcy9maWxl
c3lzdGVtL0ZpbGVXcml0ZXJTeW5jLmNwcCBcCiAgICAgTW9kdWxlcy9maWxlc3lzdGVtL0xvY2Fs
RmlsZVN5c3RlbS5jcHAgXAogICAgIE1vZHVsZXMvZmlsZXN5c3RlbS9Xb3JrZXJDb250ZXh0Rmls
ZVN5c3RlbS5jcHAgXAorICAgIE1vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRv
ckNvbnRlbnRVdGlscy5jcHAgXAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dO
b3RpZmljYXRpb25zLmNwcCBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5jcHAgXAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3Bw
IFwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAg
XAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5j
cHAgXAotICAgIE1vZHVsZXMvcHJvdG9jb2xoYW5kbGVyL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyLmNwcCBcCiAgICAgY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwIFwKICAgICBj
c3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdl
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IGRiMDRmNDEu
LjYzYzdmNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC02Niw4
ICs2Niw4IEBACiAgICAgICAnLi4vTW9kdWxlcy9pbmRleGVkZGInLAogICAgICAgJy4uL01vZHVs
ZXMvbWVkaWFzb3VyY2UnLAogICAgICAgJy4uL01vZHVsZXMvbWVkaWFzdHJlYW0nLAorICAgICAg
Jy4uL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzJywKICAgICAgICcuLi9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMnLAotICAgICAgJy4uL01vZHVsZXMvcHJvdG9jb2xoYW5kbGVyJywKICAgICAg
ICcuLi9Nb2R1bGVzL3F1b3RhJywKICAgICAgICcuLi9Nb2R1bGVzL3NwZWVjaCcsCiAgICAgICAn
Li4vTW9kdWxlcy93ZWJhdWRpbycsCkBAIC0xMTIyLDggKzExMjIsOCBAQAogICAgICAgICAgICAg
ICAnLS1pbmNsdWRlJywgJy4uL01vZHVsZXMvaW50ZW50cycsCiAgICAgICAgICAgICAgICctLWlu
Y2x1ZGUnLCAnLi4vTW9kdWxlcy9tZWRpYXNvdXJjZScsCiAgICAgICAgICAgICAgICctLWluY2x1
ZGUnLCAnLi4vTW9kdWxlcy9tZWRpYXN0cmVhbScsCisgICAgICAgICAgICAgICctLWluY2x1ZGUn
LCAnLi4vTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMnLAogICAgICAgICAgICAgICAnLS1p
bmNsdWRlJywgJy4uL01vZHVsZXMvbm90aWZpY2F0aW9ucycsCi0gICAgICAgICAgICAgICctLWlu
Y2x1ZGUnLCAnLi4vTW9kdWxlcy9wcm90b2NvbGhhbmRsZXInLAogICAgICAgICAgICAgICAnLS1p
bmNsdWRlJywgJy4uL01vZHVsZXMvd2ViYXVkaW8nLAogICAgICAgICAgICAgICAnLS1pbmNsdWRl
JywgJy4uL01vZHVsZXMvd2ViZGF0YWJhc2UnLAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywg
Jy4uL2NzcycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZDgzMGM1Mi4uOTUzOGNiYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQpAQCAtODY1LDEyICs4NjUsMTIgQEAKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsJywKICAgICAgICAgICAgICdNb2R1bGVz
L21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5pZGwnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmlk
bCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwn
LAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIu
aWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25z
L1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmlkbCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9w
cm90b2NvbGhhbmRsZXIvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaWRsJywKICAg
ICAgICAgICAgICdNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMv
cXVvdGEvU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmlkbCcsCkBAIC0xNjEzLDYgKzE2MTMsOSBA
QAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhQ29udHJvbGxlci5o
JywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3Bw
JywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaCcs
CisgICAgICAgICAgICAnTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29u
dGVudFV0aWxzLmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRp
bHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmF2aWdh
dG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oJywKICAgICAgICAg
ICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25z
LmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3Bw
JywKQEAgLTE2MjQsOSArMTYyNyw2IEBACiAgICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oJywKICAgICAgICAgICAgICdNb2R1
bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3BwJywKICAgICAg
ICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMu
aCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9wcm90b2NvbGhhbmRsZXIvTmF2aWdhdG9yUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXIuY3BwJywKLSAgICAgICAgICAgICdNb2R1bGVzL3Byb3RvY29saGFu
ZGxlci9OYXZpZ2F0b3JSZWdpc3RlclByb3RvY29sSGFuZGxlci5oJywKLSAgICAgICAgICAgICdN
b2R1bGVzL3Byb3RvY29saGFuZGxlci9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudC5oJywK
ICAgICAgICAgICAgICdNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcCcsCiAgICAgICAg
ICAgICAnTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5oJywKICAgICAgICAgICAgICdNb2R1
bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnByaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IDEwMTgxZjUuLjI4
MDRiODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0xNiw4ICsxNiw4IEBAIElOQ0xVREVQQVRIICs9IFwK
ICAgICAkJFNPVVJDRV9ESVIvTW9kdWxlcy9maWxlc3lzdGVtIFwKICAgICAkJFNPVVJDRV9ESVIv
TW9kdWxlcy9nZW9sb2NhdGlvbiBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvaW5kZXhlZGRi
IFwKKyAgICAkJFNPVVJDRV9ESVIvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMgXAogICAg
ICQkU09VUkNFX0RJUi9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAotICAgICQkU09VUkNFX0RJUi9N
b2R1bGVzL3Byb3RvY29saGFuZGxlciBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvcXVvdGEg
XAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL3dlYmF1ZGlvIFwKICAgICAkJFNPVVJDRV9ESVIv
TW9kdWxlcy93ZWJkYXRhYmFzZSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCmluZGV4IGE5OGU1ODAuLjI2YmNiMWUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNTIwNywxNCArMjUyMDcsMTQgQEAK
IAkJCQk8L0ZpbGU+CiAJCQk8L0ZpbHRlcj4KIAkJCTxGaWx0ZXIKLQkJCQlOYW1lPSJwcm90b2Nv
bGhhbmRsZXIiCisJCQkJTmFtZT0ibmF2aWdhdG9yY29udGVudHV0aWxzIgogCQkJCT4KIAkJCQk8
RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNccHJvdG9jb2xoYW5kbGVyXE5hdmln
YXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmNwcCIKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxN
b2R1bGVzXG5hdmlnYXRvcmNvbnRlbnR1dGlsc1xOYXZpZ2F0b3JDb250ZW50VXRpbHMuY3BwIgog
CQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9k
dWxlc1xwcm90b2NvbGhhbmRsZXJcTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaCIK
KwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXG5hdmlnYXRvcmNvbnRlbnR1dGlsc1xOYXZp
Z2F0b3JDb250ZW50VXRpbHMuaCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCTwvRmlsdGVyPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52
c3Byb3BzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52c3By
b3BzCmluZGV4IDE1YWE5YmYuLmJmZWU0YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNwcm9wcworKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHMKQEAgLTcsNyArNyw3IEBACiAJPgog
CTxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCUFkZGl0aW9uYWxJbmNsdWRlRGly
ZWN0b3JpZXM9IiZxdW90OyQoUHJvamVjdERpcikuLiZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cTW9kdWxlc1xmaWxlc3lzdGVtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVz
XGdlb2xvY2F0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGluZGV4ZWRk
YiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xtZWRpYXNvdXJjZSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xwcm90b2NvbGhhbmRsZXImcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccXVvdGEmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XE1vZHVsZXNcbm90aWZpY2F0aW9ucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxl
c1x3ZWJkYXRhYmFzZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJzb2Nr
ZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5JnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5XHdpbiZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cYnJpZGdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2VcYyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlXGpzYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cY3NzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxlZGl0aW5nJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxmaWxlYXBpJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJp
bmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xtYXRobWwmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdHlsZSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccmVuZGVyaW5nXHN2ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3Mm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGdlbmVyaWMmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxi
aW5kaW5nc1xqc1xzcGVjaWFsaXphdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9t
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb21cZGVmYXVsdCZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5caGlzdG9yeSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbCZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxjYW52YXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXGh0bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXHNoYWRv
dyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caW5zcGVjdG9yJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxsb2FkZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcHBj
YWNoZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hpdmUmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNoaXZlXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxsb2FkZXJcY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxp
Y29uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxtYXRobWwmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2VcYW5pbWF0aW9u
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHNjcm9sbGluZyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxhbmltYXRpb24mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG1vY2smcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXHNxbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
d2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrXHdpbiZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccGxhdGZvcm1cY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGlj
c1xjYSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVy
cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xh
cm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBl
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1x0cmFuc2Zvcm1z
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx0ZXh0JnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxwbGF0Zm9ybVx0ZXh0XHRyYW5zY29kZXImcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5ceG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx4bWxccGFyc2VyJnF1b3Q7OyZxdW90
OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcV2ViQ29yZVxEZXJpdmVkU291cmNlcyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGx1Z2lucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5ccGx1Z2luc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xhbmltYXRpb24m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljcyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cc3ZnXHByb3BlcnRpZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2
Z1xncmFwaGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmcmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHRlc3RpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHdtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3RvcmFnZSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cd2Vic29ja2V0cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cd29ya2Vy
cyZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZSZxdW90OzsmcXVv
dDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90
OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIp
XGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcaW5jbHVkZVxwdGhyZWFkcyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcaW5jbHVkZVxzcWxpdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1
ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1
ZGVcemxpYiZxdW90OyIKKwkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQ
cm9qZWN0RGlyKS4uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGZpbGVzeXN0
ZW0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcZ2VvbG9jYXRpb24mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcaW5kZXhlZGRiJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxNb2R1bGVzXG1lZGlhc291cmNlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxNb2R1bGVzXG5hdmlnYXRvcmNvbnRlbnR1dGlscyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cTW9kdWxlc1xxdW90YSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xub3Rp
ZmljYXRpb25zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdlYmRhdGFiYXNl
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdlYnNvY2tldHMmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGFjY2Vzc2liaWxpdHlcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2Um
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxjJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxicmlkZ2VcanNjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxjc3MmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XGZpbGVhcGkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccmVuZGVyaW5nXHN0eWxlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJp
bmdcc3ZnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5ncyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cYmluZGluZ3NcZ2VuZXJpYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cYmluZGluZ3NcanMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzXHNw
ZWNpYWxpemF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb20mcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXGRvbVxkZWZhdWx0JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxo
aXN0b3J5JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxodG1sXGNhbnZhcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxw
YXJzZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcc2hhZG93JnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxpbnNwZWN0b3ImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxv
YWRlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cbG9hZGVyXGFyY2hpdmVcY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRl
clxjYWNoZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGljb24mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFn
ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBhZ2Vcc2Nyb2xsaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwYWdlXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm0mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5ccGxhdGZvcm1cbW9jayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZv
cm1cc3FsJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG5ldHdvcmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXG5ldHdvcmtcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxw
bGF0Zm9ybVxjZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Mm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGNhJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzXGFybSZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncb3BlbnR5cGUmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXHRyYW5zZm9ybXMmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHBsYXRmb3JtXHRleHRcdHJhbnNjb2RlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cZ3JhcGhpY3Ncd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx4bWwmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbFxwYXJzZXImcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0
aW9uQnVpbGREaXIpXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwbHVnaW5zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zXHdp
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGFuaW1hdGlvbiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxz
dmdccHJvcGVydGllcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzXGZp
bHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2ZyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cdGVzdGluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cd21sJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxzdG9yYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3
ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3b3JrZXJzJnF1b3Q7OyZxdW90
OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9u
QnVpbGREaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0
aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJy
YXJpZXNEaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1
ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwcml2
YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNs
dWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHNx
bGl0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxKYXZhU2NyaXB0
Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVx6bGliJnF1b3Q7
IgogCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX19XSU4zMl9fO0RJU0FCTEVfM0RfUkVOREVS
SU5HO1dFQkNPUkVfQ09OVEVYVF9NRU5VUyIKIAkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiCiAJ
CVByZWNvbXBpbGVkSGVhZGVyVGhyb3VnaD0iV2ViQ29yZVByZWZpeC5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZCBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlGb3J3YXJkaW5nSGVhZGVycy5jbWQK
aW5kZXggNzljMzYyMC4uNzU0YTU3ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZAorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRlcnMuY21kCkBAIC0yMiw4ICsyMiw4IEBA
IHhjb3B5IC95IC9kICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxvYmpcV2ViQ29yZVxEZXJpdmVk
U291cmNlc1wqLmgiICIlQ09ORklHVVJBCiB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5cTW9k
dWxlc1xmaWxlc3lzdGVtXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2Vi
Q29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxNb2R1bGVzXGdlb2xvY2F0aW9uXCou
aCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9k
ICIlUHJvamVjdERpciUuLlxNb2R1bGVzXG1lZGlhc291cmNlXCouaCIgIiVDT05GSUdVUkFUSU9O
QlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKK3hjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxN
b2R1bGVzXG5hdmlnYXRvcmNvbnRlbnR1dGlsc1wqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElS
JVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5cTW9kdWxlc1xu
b3RpZmljYXRpb25zXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29y
ZSIKLXhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxNb2R1bGVzXHByb3RvY29saGFuZGxlclwq
LmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29weSAveSAv
ZCAiJVByb2plY3REaXIlLi5cTW9kdWxlc1xxdW90YVwqLmgiICIlQ09ORklHVVJBVElPTkJVSUxE
RElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5cTW9kdWxl
c1x3ZWJkYXRhYmFzZVwqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNv
cmUiCiB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5cTW9kdWxlc1x3ZWJzb2NrZXRzXCouaCIg
IiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNGJm
OThkZS4uZTgwOGNmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wOC0yNyAgTWlr
aGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KKworICAgICAg
ICBSZW5hbWUgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgQVBJIHRvIE5hdmlnYXRvckNvbnRlbnRV
dGlscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ5
MjAKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIE1vZGlmaWVk
IFBsYXRmb3JtRWZsLmNtYWtlIHNvIHRoYXQgaXQgaW5jbHVkZXMgdGhlIHJlbmFtZWQgZmlsZXMu
CisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKwogMjAxMi0wOC0yMCAgRG9taW5payBS
w7Z0dHNjaGVzICA8ZG9taW5pay5yb3R0c2NoZXNAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxd
IEdldCByaWQgb2YgcGFuZ28gYmFja2VuZCBzdXBwb3J0IG9uY2UgaGFyZmJ1enotbmcgaXMgd29y
a2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggY2VhM2U1ZS4uNzA0NGU0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtRWZsLmNtYWtlCkBAIC03OCw5ICs3OCw5IEBAIElGIChFTkFCTEVfQkFUVEVSWV9T
VEFUVVMpCiAgICkKIEVORElGICgpCiAKLUlGIChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFO
RExFUikKK0lGIChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCiAgIExJU1QoQVBQRU5E
IFdlYktpdF9JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
cHJvdG9jb2xoYW5kbGVyIgorICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL25hdmlnYXRvcmNv
bnRlbnR1dGlscyIKICAgKQogRU5ESUYgKCkKIApAQCAtOTgsMTEgKzk4LDExIEBAIExJU1QoQVBQ
RU5EIFdlYktpdF9TT1VSQ0VTCiAgICAgZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXJFZmwuY3BwCiAgICAgZWZsL1dlYkNvcmVTdXBwb3J0L0ljb25EYXRhYmFzZUNs
aWVudEVmbC5jcHAKICAgICBlZmwvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50RWZsLmNw
cAorICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwu
Y3BwIAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9OZXR3b3JrSW5mb0NsaWVudEVmbC5jcHAKICAg
ICBlZmwvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50RWZsLmNwcAog
ICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50RWZsLmNwcAogICAgIGVmbC9XZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwIAotICAgIGVmbC9XZWJDb3JlU3VwcG9y
dC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbC5jcHAgCiAgICAgZWZsL1dlYkNvcmVT
dXBwb3J0L1N0b3JhZ2VUcmFja2VyQ2xpZW50RWZsLmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9y
dC9WaWJyYXRpb25DbGllbnRFZmwuY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmlu
ZGV4IGFhMjJjOGYuLmY2NGNhMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDEyLTA4LTI3ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBv
emRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFJlbmFtZSBSZWdpc3RlclByb3RvY29sSGFu
ZGxlciBBUEkgdG8gTmF2aWdhdG9yQ29udGVudFV0aWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDkyMAorCisgICAgICAgIFJldmlld2VkIGJ5IEFk
YW0gQmFydGguCisKKyAgICAgICAgUmVuYW1pbmcgd2hhdGV2ZXIgUmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXItcHJlZml4ZWQgdG8gTmF2aWdhdG9yQ29udGVudFV0aWxzLXByZWZpeGVkLgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhRW5hYmxlRmVhdHVyZXMuaW46CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEJsYWNrQmVycnk6OnJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRCbGFja0JlcnJ5Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnRCbGFja0JlcnJ5KToKKwogMjAx
Mi0wOC0yNiAgQXJ2aWQgTmlsc3NvbiAgPGFuaWxzc29uQHJpbS5jb20+CiAKICAgICAgICAgW0Js
YWNrQmVycnldIEFTU0VSVCBmYWlsZWQgaW4gV2ViUGFnZVByaXZhdGU6OmNvbW1pdFJvb3RMYXll
cklmTmVlZGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9BYm91dERhdGFFbmFibGVGZWF0dXJlcy5pbiBiL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9BYm91dERhdGFFbmFibGVGZWF0dXJlcy5pbgppbmRleCAxNWU0
MGU2Li40MmZjMzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvQWJvdXREYXRhRW5hYmxlRmVhdHVyZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Fib3V0RGF0YUVuYWJsZUZlYXR1cmVzLmluCkBAIC0x
MjIsNiArMTIyLDcgQEAgTUhUTUwKIE1JQ1JPREFUQQogTVVUQVRJT05fT0JTRVJWRVJTCiBNWVNU
RVJJT1VTX0ZFQVRVUkUKK05BVklHQVRPUl9DT05URU5UX1VUSUxTCiBORVRTQ0FQRV9QTFVHSU5f
TUVUQURBVEFfQ0FDSEUKIE5FVFdPUktfSU5GTwogTkVXX1hNTApAQCAtMTUwLDcgKzE1MSw2IEBA
IFBST0dSRVNTX1RBRwogUFVSR0VBQkxFX01FTU9SWQogUVVPVEEKIFJFR0VYUF9UUkFDSU5HCi1S
RUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSCiBSRVBBSU5UX1RIUk9UVExJTkcKIFJFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FCiBSVUJCRVJfQkFORElORwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVy
cnkuY3BwCmluZGV4IDlhNjMyNWYuLjU0NmRiODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50Qmxh
Y2tCZXJyeS5jcHAKQEAgLTgyNSw2ICs4MjUsMTIgQEAgUGFzc093blB0cjxDb2xvckNob29zZXI+
IENocm9tZUNsaWVudEJsYWNrQmVycnk6OmNyZWF0ZUNvbG9yQ2hvb3NlcihDb2xvckNob29zZXIK
ICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykKK3ZvaWQgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6cmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3Ry
aW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCit7CisgICAgbV93ZWJQYWdlUHJpdmF0ZS0+
bV9jbGllbnQtPnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKHNjaGVtZSwgYmFzZVVSTCwgdXJsLCB0
aXRsZSk7Cit9CisKICNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQogQ2hyb21lQ2xp
ZW50OjpDdXN0b21IYW5kbGVyc1N0YXRlIENocm9tZUNsaWVudEJsYWNrQmVycnk6OmlzUHJvdG9j
b2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBi
YXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCkKIHsKQEAgLTgzNiwxMiArODQyLDYgQEAgdm9pZCBD
aHJvbWVDbGllbnRCbGFja0JlcnJ5Ojp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0
cmluZyYgc2NoZW1lLCBjb24KICAgICBtX3dlYlBhZ2VQcml2YXRlLT5tX2NsaWVudC0+dW5yZWdp
c3RlclByb3RvY29sSGFuZGxlcihzY2hlbWUsIGJhc2VVUkwsIHVybCk7CiB9CiAjZW5kaWYKLQot
I2lmIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotdm9pZCBDaHJvbWVDbGllbnRC
bGFja0JlcnJ5OjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwg
Y29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0
aXRsZSkKLXsKLSAgICBtX3dlYlBhZ2VQcml2YXRlLT5tX2NsaWVudC0+cmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXIoc2NoZW1lLCBiYXNlVVJMLCB1cmwsIHRpdGxlKTsKLX0KICNlbmRpZgogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaAppbmRleCBk
NGQwMmY4Li41NjAyZmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmgKQEAgLTE1
NCwxNCArMTU0LDE0IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dzQWNjZWxlcmF0
ZWRDb21wb3NpdGluZygpIGNvbnN0OwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJP
VE9DT0xfSEFORExFUikKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCiAgICAg
dmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgLypzY2hl
bWUqLywgY29uc3QgU3RyaW5nJiAvKmJhc2VVUkwqLywgY29uc3QgU3RyaW5nJiAvKnVybCovLCBj
b25zdCBTdHJpbmcmIC8qdGl0bGUqLyk7Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShDVVNUT01fU0NI
RU1FX0hBTkRMRVIpCiAgICAgdmlydHVhbCBDdXN0b21IYW5kbGVyc1N0YXRlIGlzUHJvdG9jb2xI
YW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmIC8qc2NoZW1lKi8sIGNvbnN0IFN0cmluZyYg
LypiYXNlVVJMKi8sIGNvbnN0IFN0cmluZyYgLyp1cmwqLyk7CiAgICAgdmlydHVhbCB2b2lkIHVu
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiAvKnNjaGVtZSovLCBjb25zdCBT
dHJpbmcmIC8qYmFzZVVSTCovLCBjb25zdCBTdHJpbmcmIC8qdXJsKi8pOwogI2VuZGlmCisjZW5k
aWYKIAogICAgIEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGUqIHdlYlBhZ2VQcml2
YXRlKCkgY29uc3QgeyByZXR1cm4gbV93ZWJQYWdlUHJpdmF0ZTsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDQ3MmRjNTkuLjBjMDY3ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDgtMjcgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1p
a2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgUmVuYW1lIFJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyIEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBSZW5hbWluZyB3aGF0ZXZlciBSZWdpc3RlclBy
b3RvY29sSGFuZGxlci1wcmVmaXhlZCB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMtcHJlZml4ZWQu
CisgICAgICAgIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50SW1wbCBpcyByZW5hbWVkIHRv
IE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGwuCisKKyAgICAgICAgKiBmZWF0dXJlcy5n
eXBpOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGw6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGw6
Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGwpOgorICAgICAgICAoV2ViS2l0OjpOYXZp
Z2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcik6Cisg
ICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAgKE5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudEltcGwpOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0b3JDb250ZW50VXRp
bHNDbGllbnRJbXBsOjp+TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbCk6CisgICAgICAg
ICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6Oldl
YlZpZXdJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKwogMjAxMi0wOC0yNyAg
Sm9obm55IERpbmcgIDxqbmRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bS1BbmRy
b2lkXU1vdmUgd2Via2l0X3VuaXRfdGVzdHNfYXBrIGFuZCBUZXN0V2ViS2l0QVBJX2FwayBpbnRv
IGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCA2YjE2NWZkLi5iYTgyMjUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC04NywxMSArODcsMTEgQEAK
ICAgICAgICdFTkFCTEVfTUhUTUw9MScsCiAgICAgICAnRU5BQkxFX01JQ1JPREFUQT0wJywKICAg
ICAgICdFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTPTwoZW5hYmxlX211dGF0aW9uX29ic2VydmVy
cyknLAorICAgICAgJ0VOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUz0xJywKICAgICAgICdF
TkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQST0xJywKICAgICAgICdFTkFCTEVfUE9JTlRFUl9MT0NL
PTEnLAogICAgICAgJ0VOQUJMRV9QUk9HUkVTU19FTEVNRU5UPTEnLAogICAgICAgJ0VOQUJMRV9R
VU9UQT0xJywKLSAgICAgICdFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUj0xJywKICAg
ICAgICdFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUU9MScsCiAgICAgICAnRU5BQkxFX1JV
Qlk9MScsCiAgICAgICAnRU5BQkxFX1NBTkRCT1g9MScsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCmluZGV4IGQ3MzY1NDUuLmRjNWFmYzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBA
IC0xMTE5LDE4ICsxMTE5LDE4IEBAIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6ZGFzaGJvYXJkUmVn
aW9uc0NoYW5nZWQoKQogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xf
SEFORExFUikKLVBhc3NPd25QdHI8UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsPiBS
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEltcGw6OmNyZWF0ZShXZWJWaWV3SW1wbCogd2Vi
VmlldykKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCitQYXNzT3duUHRyPE5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGw+IE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dEltcGw6OmNyZWF0ZShXZWJWaWV3SW1wbCogd2ViVmlldykKIHsKLSAgICByZXR1cm4gYWRvcHRQ
dHIobmV3IFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50SW1wbCh3ZWJWaWV3KSk7CisgICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsKHdlYlZp
ZXcpKTsKIH0KIAotUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsOjpSZWdpc3RlclBy
b3RvY29sSGFuZGxlckNsaWVudEltcGwoV2ViVmlld0ltcGwqIHdlYlZpZXcpCitOYXZpZ2F0b3JD
b250ZW50VXRpbHNDbGllbnRJbXBsOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsKFdl
YlZpZXdJbXBsKiB3ZWJWaWV3KQogICAgIDogbV93ZWJWaWV3KHdlYlZpZXcpCiB7CiB9CiAKLXZv
aWQgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsOjpyZWdpc3RlclByb3RvY29sSGFu
ZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBT
dHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkgCit2b2lkIE5hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudEltcGw6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2No
ZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJp
bmcmIHRpdGxlKQogeyAKICAgICBtX3dlYlZpZXctPmNsaWVudCgpLT5yZWdpc3RlclByb3RvY29s
SGFuZGxlcihzY2hlbWUsIGJhc2VVUkwsIHVybCwgdGl0bGUpOwogfSAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRleCBhNzg2ZGM1Li42MmIzOTk4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCkBA
IC0zMyw4ICszMyw4IEBACiAjZGVmaW5lIENocm9tZUNsaWVudEltcGxfaAogCiAjaW5jbHVkZSAi
Q2hyb21lQ2xpZW50Q2hyb21pdW0uaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnQuaCIKICNpbmNsdWRlICJQb3B1cE1lbnUuaCIKLSNpbmNsdWRlICJSZWdpc3RlclByb3Rv
Y29sSGFuZGxlckNsaWVudC5oIgogI2luY2x1ZGUgIlNlYXJjaFBvcHVwTWVudS5oIgogI2luY2x1
ZGUgIldlYk5hdmlnYXRpb25Qb2xpY3kuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2ViQ29sb3IuaD4K
QEAgLTIzNywxNSArMjM3LDE1IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIFJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpSZWdpc3RlclBy
b3RvY29sSGFuZGxlckNsaWVudCB7CitjbGFzcyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJ
bXBsIDogcHVibGljIFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJ
bXBsPiBjcmVhdGUoV2ViVmlld0ltcGwqKTsKLSAgICB+UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJD
bGllbnRJbXBsKCkgeyB9CisgICAgc3RhdGljIFBhc3NPd25QdHI8TmF2aWdhdG9yQ29udGVudFV0
aWxzQ2xpZW50SW1wbD4gY3JlYXRlKFdlYlZpZXdJbXBsKik7CisgICAgfk5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudEltcGwoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3Rv
Y29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBj
b25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkgT1ZFUlJJREU7CiAKIHByaXZh
dGU6Ci0gICAgZXhwbGljaXQgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRJbXBsKFdlYlZp
ZXdJbXBsKik7CisgICAgZXhwbGljaXQgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50SW1wbChX
ZWJWaWV3SW1wbCopOwogCiAgICAgV2ViVmlld0ltcGwqIG1fd2ViVmlldzsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggZDhhYWYxMy4uYzNhOGZh
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtNDMy
LDggKzQzMiw4IEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KiBjbGll
bnQpCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNlck1lZGlhQ2xpZW50SW1w
bCh0aGlzKQogI2VuZGlmCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCi0g
ICAgLCBtX3JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50KFJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyQ2xpZW50SW1wbDo6Y3JlYXRlKHRoaXMpKQorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykKKyAgICAsIG1fbmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KE5hdmlnYXRvckNv
bnRlbnRVdGlsc0NsaWVudEltcGw6OmNyZWF0ZSh0aGlzKSkKICNlbmRpZgogICAgICwgbV9mbGlu
Z01vZGlmaWVyKDApCiB7CkBAIC00NjQsOCArNDY0LDggQEAgV2ViVmlld0ltcGw6OldlYlZpZXdJ
bXBsKFdlYlZpZXdDbGllbnQqIGNsaWVudCkKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHByb3ZpZGVOb3RpZmljYXRpb24obV9w
YWdlLmdldCgpLCBub3RpZmljYXRpb25QcmVzZW50ZXJJbXBsKCkpOwogI2VuZGlmCi0jaWYgRU5B
QkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCi0gICAgcHJvdmlkZVJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyVG8obV9wYWdlLmdldCgpLCBtX3JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50
LmdldCgpKTsKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisgICAgcHJvdmlk
ZU5hdmlnYXRvckNvbnRlbnRVdGlsc1RvKG1fcGFnZS5nZXQoKSwgbV9uYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnQuZ2V0KCkpOwogI2VuZGlmCiAKICAgICBwcm92aWRlQ29udGV4dEZlYXR1cmVz
VG8obV9wYWdlLmdldCgpLCBtX2ZlYXR1cmVTd2l0Y2hDbGllbnQuZ2V0KCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggMmY2OTAzMzMuLjQwYmJiOTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtODU0LDggKzg1NCw4
IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBVc2VyTWVkaWFDbGll
bnRJbXBsIG1fdXNlck1lZGlhQ2xpZW50SW1wbDsKICNlbmRpZgotI2lmIEVOQUJMRShSRUdJU1RF
Ul9QUk9UT0NPTF9IQU5ETEVSKQotICAgIE93blB0cjxSZWdpc3RlclByb3RvY29sSGFuZGxlckNs
aWVudEltcGw+IG1fcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQ7CisjaWYgRU5BQkxFKE5B
VklHQVRPUl9DT05URU5UX1VUSUxTKQorICAgIE93blB0cjxOYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnRJbXBsPiBtX25hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDsKICNlbmRpZgogICAgIE93
blB0cjxXZWJDb3JlOjpBY3RpdmVQbGF0Zm9ybUdlc3R1cmVBbmltYXRpb24+IG1fZ2VzdHVyZUFu
aW1hdGlvbjsKICAgICBXZWJQb2ludCBtX2xhc3RXaGVlbFBvc2l0aW9uOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CmluZGV4IGNjNjU1NzMuLjRhOGJiYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBA
QAorMjAxMi0wOC0yNyAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGlu
dGVsLmNvbT4KKworICAgICAgICBSZW5hbWUgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgQVBJIHRv
IE5hdmlnYXRvckNvbnRlbnRVdGlscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTQ5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgor
CisgICAgICAgIFJlbmFtaW5nIHdoYXRldmVyIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLXByZWZp
eGVkIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscy1wcmVmaXhlZC4KKyAgICAgICAgUmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXJDbGllbnRFZmwgaXMgcmVuYW1lZCB0byBOYXZpZ2F0b3JDb250ZW50VXRp
bHNDbGllbnRFZmwuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnRFZmwuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmwuY3BwLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjdXN0b21IYW5kbGVyRGF0YUNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpjdXN0b21IYW5kbGVyRGF0YURlbGV0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmw6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmw6Ok5hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudEVmbCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnRFZmw6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbDo6aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVk
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbDo6dW5y
ZWdpc3RlclByb3RvY29sSGFuZGxlcik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50RWZsLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbC5oLgorICAg
ICAgICAoTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbDo6fk5hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudEVmbCk6CisgICAgICAgICogZXdrL2V3a19jdXN0b21faGFuZGxlci5jcHA6CisgICAgICAg
ICogZXdrL2V3a19jdXN0b21faGFuZGxlcl9wcml2YXRlLmg6CisgICAgICAgICogZXdrL2V3a192
aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tfVmlld19Qcml2YXRlX0RhdGEpOgorICAgICAgICAoX2V3
a192aWV3X3ByaXZfbmV3KToKKwogMjAxMi0wOC0yMyAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lA
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gUmVtb3ZlIGV3a190aWxlX21hdHJpeF90aWxl
X3VwZGF0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1YjYxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRF
ZmwuY3BwCkBAIC0wLDAgKzEsOTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3Vu
ZyBFbGVjdHJvbmljcworICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbC5o
IgorCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorCisjaW5jbHVkZSAiZXdr
X2N1c3RvbV9oYW5kbGVyX3ByaXZhdGUuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIEV3a19DdXN0b21fSGFuZGxlcl9EYXRh
KiBjdXN0b21IYW5kbGVyRGF0YUNyZWF0ZShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgY2hh
ciogc2NoZW1lLCBjb25zdCBjaGFyKiBiYXNlVVJMLCBjb25zdCBjaGFyKiB1cmwpCit7CisgICAg
RXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEgPSBuZXcgRXdrX0N1c3RvbV9IYW5kbGVyX0Rh
dGE7CisgICAgZGF0YS0+ZXdrVmlldyA9IGV3a1ZpZXc7CisgICAgZGF0YS0+c2NoZW1lID0gZWlu
YV9zdHJpbmdzaGFyZV9hZGQoc2NoZW1lKTsKKyAgICBkYXRhLT5iYXNlX3VybCA9IGVpbmFfc3Ry
aW5nc2hhcmVfYWRkKGJhc2VVUkwpOworICAgIGRhdGEtPnVybCA9IGVpbmFfc3RyaW5nc2hhcmVf
YWRkKHVybCk7CisgICAgcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyB2b2lkIGN1c3RvbUhhbmRs
ZXJEYXRhRGVsZXRlKEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhKQoreworICAgIGVpbmFf
c3RyaW5nc2hhcmVfZGVsKGRhdGEtPnNjaGVtZSk7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwo
ZGF0YS0+YmFzZV91cmwpOworICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPnVybCk7Cisg
ICAgZGVsZXRlIGRhdGE7Cit9CisKK1Bhc3NPd25QdHI8TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xp
ZW50RWZsPiBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmw6OmNyZWF0ZShFdmFzX09iamVj
dCogdmlldykKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE5hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudEVmbCh2aWV3KSk7Cit9CisKK05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbDo6
TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsKEV2YXNfT2JqZWN0KiB2aWV3KQorICAgIDog
bV92aWV3KHZpZXcpCit7Cit9CisKK3ZvaWQgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZs
OjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3Ry
aW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKK3sK
KyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJEYXRhQ3Jl
YXRlKG1fdmlldywgc2NoZW1lLnV0ZjgoKS5kYXRhKCksIGJhc2VVUkwudXRmOCgpLmRhdGEoKSwg
dXJsLnV0ZjgoKS5kYXRhKCkpOworICAgIGRhdGEtPnRpdGxlID0gZWluYV9zdHJpbmdzaGFyZV9h
ZGQodGl0bGUudXRmOCgpLmRhdGEoKSk7CisgICAgZXdrX2N1c3RvbV9oYW5kbGVyX3JlZ2lzdGVy
X3Byb3RvY29sX2hhbmRsZXIoZGF0YSk7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+
dGl0bGUpOworICAgIGN1c3RvbUhhbmRsZXJEYXRhRGVsZXRlKGRhdGEpOworfQorCisjaWYgRU5B
QkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKK05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6
Q3VzdG9tSGFuZGxlcnNTdGF0ZSBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmw6OmlzUHJv
dG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5n
JiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJf
RGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJEYXRhQ3JlYXRlKG1fdmlldywgc2NoZW1lLnV0Zjgo
KS5kYXRhKCksIGJhc2VVUkwudXRmOCgpLmRhdGEoKSwgdXJsLnV0ZjgoKS5kYXRhKCkpOworICAg
IE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxlcnNTdGF0ZSByZXN1bHQg
PSBzdGF0aWNfY2FzdDxDdXN0b21IYW5kbGVyc1N0YXRlPihld2tfY3VzdG9tX2hhbmRsZXJfcmVn
aXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihkYXRhKSk7CisgICAgY3VzdG9tSGFuZGxlckRhdGFEZWxl
dGUoZGF0YSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIE5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudEVmbDo6dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcm
IHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCkKK3sKKyAg
ICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJEYXRhQ3JlYXRl
KG1fdmlldywgc2NoZW1lLnV0ZjgoKS5kYXRhKCksIGJhc2VVUkwudXRmOCgpLmRhdGEoKSwgdXJs
LnV0ZjgoKS5kYXRhKCkpOworICAgIGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2Nv
bF9oYW5kbGVyKGRhdGEpOworICAgIGN1c3RvbUhhbmRsZXJEYXRhRGVsZXRlKGRhdGEpOworfQor
I2VuZGlmCisKK30KKworI2VuZGlmIC8vIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05hdmlnYXRvckNv
bnRlbnRVdGlsc0NsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMmZlNDg4ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbC5oCkBAIC0wLDAg
KzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcwor
ICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOYXZpZ2F0b3JDb250
ZW50VXRpbHNDbGllbnRFZmxfaAorI2RlZmluZSBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRF
ZmxfaAorCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorI2luY2x1ZGUgIk5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oIgorCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xp
ZW50RWZsIDogcHVibGljIFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50
RWZsPiBjcmVhdGUoRXZhc19PYmplY3QqIHZpZXcpOworCisgICAgfk5hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudEVmbCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFu
ZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBT
dHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CisKKyNpZiBFTkFCTEUoQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKQorICAgIHZpcnR1YWwgQ3VzdG9tSGFuZGxlcnNTdGF0ZSBpc1Byb3RvY29s
SGFuZGxlclJlZ2lzdGVyZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFz
ZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwpOworICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkws
IGNvbnN0IFN0cmluZyYgdXJsKTsKKyNlbmRpZgorCitwcml2YXRlOgorICAgIEV2YXNfT2JqZWN0
KiBtX3ZpZXc7CisKKyAgICBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwoRXZhc19PYmpl
Y3QqIHZpZXcpOworfTsKK30KKworI2VuZGlmCisjZW5kaWYgLy8gTmF2aWdhdG9yQ29udGVudFV0
aWxzQ2xpZW50RWZsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsLmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTYwMTI0MS4uMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVu
dEVmbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw5NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKLSAqCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09N
UFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJSZWdpc3RlclByb3RvY29s
SGFuZGxlckNsaWVudEVmbC5oIgotCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRM
RVIpCi0KLSNpbmNsdWRlICJld2tfY3VzdG9tX2hhbmRsZXJfcHJpdmF0ZS5oIgotI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMgRXdr
X0N1c3RvbV9IYW5kbGVyX0RhdGEqIGN1c3RvbUhhbmRsZXJEYXRhQ3JlYXRlKEV2YXNfT2JqZWN0
KiBld2tWaWV3LCBjb25zdCBjaGFyKiBzY2hlbWUsIGNvbnN0IGNoYXIqIGJhc2VVUkwsIGNvbnN0
IGNoYXIqIHVybCkKLXsKLSAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IG5ldyBF
d2tfQ3VzdG9tX0hhbmRsZXJfRGF0YTsKLSAgICBkYXRhLT5ld2tWaWV3ID0gZXdrVmlldzsKLSAg
ICBkYXRhLT5zY2hlbWUgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZChzY2hlbWUpOwotICAgIGRhdGEt
PmJhc2VfdXJsID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoYmFzZVVSTCk7Ci0gICAgZGF0YS0+dXJs
ID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodXJsKTsKLSAgICByZXR1cm4gZGF0YTsKLX0KLQotc3Rh
dGljIHZvaWQgY3VzdG9tSGFuZGxlckRhdGFEZWxldGUoRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEq
IGRhdGEpCi17Ci0gICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+c2NoZW1lKTsKLSAgICBl
aW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT5iYXNlX3VybCk7Ci0gICAgZWluYV9zdHJpbmdzaGFy
ZV9kZWwoZGF0YS0+dXJsKTsKLSAgICBkZWxldGUgZGF0YTsKLX0KLQotUGFzc093blB0cjxSZWdp
c3RlclByb3RvY29sSGFuZGxlckNsaWVudEVmbD4gUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGll
bnRFZmw6OmNyZWF0ZShFdmFzX09iamVjdCogdmlldykKLXsKLSAgICByZXR1cm4gYWRvcHRQdHIo
bmV3IFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsKHZpZXcpKTsKLX0KLQotUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmw6OlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50
RWZsKEV2YXNfT2JqZWN0KiB2aWV3KQotICAgIDogbV92aWV3KHZpZXcpCi17Ci19Ci0KLXZvaWQg
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmw6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
KGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKQotewotICAgIEV3a19DdXN0b21fSGFuZGxlcl9E
YXRhKiBkYXRhID0gY3VzdG9tSGFuZGxlckRhdGFDcmVhdGUobV92aWV3LCBzY2hlbWUudXRmOCgp
LmRhdGEoKSwgYmFzZVVSTC51dGY4KCkuZGF0YSgpLCB1cmwudXRmOCgpLmRhdGEoKSk7Ci0gICAg
ZGF0YS0+dGl0bGUgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZCh0aXRsZS51dGY4KCkuZGF0YSgpKTsK
LSAgICBld2tfY3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihkYXRhKTsK
LSAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT50aXRsZSk7Ci0gICAgY3VzdG9tSGFuZGxl
ckRhdGFEZWxldGUoZGF0YSk7Ci19Ci0KLSNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KQotUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQ6OkN1c3RvbUhhbmRsZXJzU3RhdGUgUmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmw6OmlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJl
ZChjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJp
bmcmIHVybCkKLXsKLSAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IGN1c3RvbUhh
bmRsZXJEYXRhQ3JlYXRlKG1fdmlldywgc2NoZW1lLnV0ZjgoKS5kYXRhKCksIGJhc2VVUkwudXRm
OCgpLmRhdGEoKSwgdXJsLnV0ZjgoKS5kYXRhKCkpOwotICAgIFJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyQ2xpZW50OjpDdXN0b21IYW5kbGVyc1N0YXRlIHJlc3VsdCA9IHN0YXRpY19jYXN0PEN1c3Rv
bUhhbmRsZXJzU3RhdGU+KGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5k
bGVyKGRhdGEpKTsKLSAgICBjdXN0b21IYW5kbGVyRGF0YURlbGV0ZShkYXRhKTsKLQotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLXZvaWQgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmw6
OnVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0
cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwpCi17Ci0gICAgRXdrX0N1c3RvbV9IYW5k
bGVyX0RhdGEqIGRhdGEgPSBjdXN0b21IYW5kbGVyRGF0YUNyZWF0ZShtX3ZpZXcsIHNjaGVtZS51
dGY4KCkuZGF0YSgpLCBiYXNlVVJMLnV0ZjgoKS5kYXRhKCksIHVybC51dGY4KCkuZGF0YSgpKTsK
LSAgICBld2tfY3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihkYXRhKTsK
LSAgICBjdXN0b21IYW5kbGVyRGF0YURlbGV0ZShkYXRhKTsKLX0KLSNlbmRpZgotCi19Ci0KLSNl
bmRpZiAvLyBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1JlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xp
ZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3Rv
Y29sSGFuZGxlckNsaWVudEVmbC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkY2Ez
YzZjLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1JlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKLSAqCi0g
KiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgUmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXJDbGllbnRFZmxfaAotI2RlZmluZSBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEVm
bF9oCi0KLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKLSNpbmNsdWRlICJS
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudC5oIgotCi0jaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgUmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXJDbGllbnRFZmwgOiBwdWJsaWMgV2ViQ29yZTo6UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGll
bnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyQ2xpZW50RWZsPiBjcmVhdGUoRXZhc19PYmplY3QqIHZpZXcpOwotCi0gICAgflJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsKCkgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VV
UkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLQotI2lmIEVOQUJM
RShDVVNUT01fU0NIRU1FX0hBTkRMRVIpCi0gICAgdmlydHVhbCBDdXN0b21IYW5kbGVyc1N0YXRl
IGlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3Qg
U3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCk7Ci0gICAgdmlydHVhbCB2b2lkIHVu
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmlu
ZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwpOwotI2VuZGlmCi0KLXByaXZhdGU6Ci0gICAg
RXZhc19PYmplY3QqIG1fdmlldzsKLQotICAgIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50
RWZsKEV2YXNfT2JqZWN0KiB2aWV3KTsKLX07Ci19Ci0KLSNlbmRpZgotI2VuZGlmIC8vIFJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50RWZsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXIuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19jdXN0b21faGFuZGxlci5jcHAKaW5kZXggMzU3NGExZC4uM2M0MDcxNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlci5jcHAKQEAgLTIwLDcgKzIwLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJld2tfY3VzdG9tX2hhbmRsZXJfcHJpdmF0
ZS5oIgogCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCisjaWYgRU5BQkxF
KE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQogLyoqCiAgKiBAaW50ZXJuYWwKICAqIFJlZ2lzdGVy
IGEgc2NoZW1lIGhhbmRsZXIuCkBAIC02OSw0ICs2OSw0IEBAIGJvb2wgZXdrX2N1c3RvbV9oYW5k
bGVyX3VucmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSog
ZGF0CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQotI2VuZGlm
IC8vIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQorI2VuZGlmIC8vIEVOQUJMRShO
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfY3VzdG9tX2hhbmRsZXJfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19jdXN0b21faGFuZGxlcl9wcml2YXRlLmgKaW5kZXggYmMwZTIxZC4uNzNmOTdlMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlcl9wcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlcl9wcml2YXRlLmgK
QEAgLTIyLDcgKzIyLDcgQEAKIAogI2luY2x1ZGUgImV3a192aWV3LmgiCiAKLSNpZiBFTkFCTEUo
UkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpCiBib29sIGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVy
KEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhKTsKIAogI2lmIEVOQUJMRShDVVNUT01fU0NI
RU1FX0hBTkRMRVIpCkBAIC0zMCw1ICszMCw1IEBAIEV3a19DdXN0b21fSGFuZGxlcnNfU3RhdGUg
ZXdrX2N1c3RvbV9oYW5kbGVyX2lzX3Byb3RvY29sX2hhbmRsZXJfcmVnaXN0ZXJlZChFd2tfCiBi
b29sIGV3a19jdXN0b21faGFuZGxlcl91bnJlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIoRXdrX0N1
c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEpOwogCiAjZW5kaWYgLy8gRU5BQkxFKENVU1RPTV9TQ0hF
TUVfSEFORExFUikKLSNlbmRpZiAvLyBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikK
KyNlbmRpZiAvLyBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCiAjZW5kaWYgLy8gZXdr
X2N1c3RvbV9oYW5kbGVyX3ByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5k
ZXggNDBmYmZhZC4uZmZmZWExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC0x
MDMsOCArMTAzLDggQEAKICNpbmNsdWRlICJDb2xvckNob29zZXJDbGllbnQuaCIKICNlbmRpZgog
Ci0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCi0jaW5jbHVkZSAiUmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmwuaCIKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsLmgiCiAj
ZW5kaWYKIAogc3RhdGljIGNvbnN0IGZsb2F0IHpvb21NaW5pbXVtID0gMC4wNTsKQEAgLTI1NCw4
ICsyNTQsOCBAQCBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7CiAjaWYgRU5BQkxFKElO
UFVUX1RZUEVfQ09MT1IpCiAgICAgV2ViQ29yZTo6Q29sb3JDaG9vc2VyQ2xpZW50KiBjb2xvckNo
b29zZXJDbGllbnQ7CiAjZW5kaWYKLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExF
UikgfHwgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKLSAgICBPd25QdHI8V2ViQ29yZTo6
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRFZmw+IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
Q2xpZW50OworI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgfHwgRU5BQkxFKENV
U1RPTV9TQ0hFTUVfSEFORExFUikKKyAgICBPd25QdHI8V2ViQ29yZTo6TmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50RWZsPiBuYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ7CiAjZW5kaWYKICAg
ICBzdHJ1Y3QgewogICAgICAgICBFd2tfTWVudSBtZW51OwpAQCAtNzY0LDkgKzc2NCw5IEBAIHN0
YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19wcml2X25ldyhFd2tfVmlld19T
bWFydF9EYXRhKiBzbWFydERhdGEpCiAgICAgV2ViQ29yZTo6cHJvdmlkZUJhdHRlcnlUbyhwcml2
LT5wYWdlLmdldCgpLCBuZXcgQmF0dGVyeUNsaWVudEVmbChzbWFydERhdGEtPnNlbGYpKTsKICNl
bmRpZgogCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCi0gICAgcHJpdi0+
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQgPSBXZWJDb3JlOjpSZWdpc3RlclByb3RvY29s
SGFuZGxlckNsaWVudEVmbDo6Y3JlYXRlKHNtYXJ0RGF0YS0+c2VsZik7Ci0gICAgV2ViQ29yZTo6
cHJvdmlkZVJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyVG8ocHJpdi0+cGFnZS5nZXQoKSwgcHJpdi0+
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQuZ2V0KCkpOworI2lmIEVOQUJMRShOQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykKKyAgICBwcml2LT5uYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQg
PSBXZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmw6OmNyZWF0ZShzbWFydERh
dGEtPnNlbGYpOworICAgIFdlYkNvcmU6OnByb3ZpZGVOYXZpZ2F0b3JDb250ZW50VXRpbHNUbyhw
cml2LT5wYWdlLmdldCgpLCBwcml2LT5uYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuZ2V0KCkp
OwogI2VuZGlmCiAKICAgICBwcml2LT5wYWdlU2V0dGluZ3MgPSBwcml2LT5wYWdlLT5zZXR0aW5n
cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDQwZDcxMjIuLjA4MTMwYmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wOC0yNyAgTWlraGFpbCBQb3pkbnlha292ICA8bWlr
aGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KKworICAgICAgICBSZW5hbWUgUmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIgQVBJIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ5MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFJlbmFtaW5nIHdoYXRldmVyIFJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyLXByZWZpeGVkIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscy1wcmVmaXhlZC4K
KyAgICAgICAgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRHdGsgaXMgcmVuYW1lZCB0byBO
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRH
dGsuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRHdGsuY3BwLgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKFdlYktpdDo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6Ok5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0ay5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnRHdGsu
aC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnQpOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6On5OYXZp
Z2F0b3JDb250ZW50VXRpbHNDbGllbnQpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3
LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19pbml0KToKKyAgICAgICAgKiB3ZWJraXQv
d2Via2l0d2Vidmlld3ByaXZhdGUuaDoKKwogMjAxMi0wOC0yMyAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTI2MzA2KTog
aXQgYnJva2UgdGhlIHBsdWdpbiBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQvZ3RrL0dOVW1ha2VmaWxlLmFtCmluZGV4
IDAwNDczZjkuLmRiNmM5YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0dOVW1ha2VmaWxlLmFtCkBAIC0yMTEsMTEg
KzIxMSwxMSBAQCB3ZWJraXRndGtfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvR3RrQWRqdXN0bWVudFdhdGNoZXIuaCBcCiAJU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmNwcCBcCiAJU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmggXAorCVNvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0ay5oIFwKKwlT
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnRHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QYXN0ZWJvYXJk
SGVscGVyR3RrLmggXAogCVNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5oIFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0
Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwIFwKLQlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0ay5oIFwKLQlTb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0ay5jcHAgXAog
CVNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1VzZXJNZWRpYUNsaWVudEd0ay5jcHAg
XAogCVNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1VzZXJNZWRpYUNsaWVudEd0ay5o
IFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9XZWJWaWV3SW5wdXRNZXRob2RG
aWx0ZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNTc2OWMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnRHdGsuY3BwCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ft
c3VuZyBFbGVjdHJvbmljcworICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m
dHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsuaCIKKworI2lmIEVO
QUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVk
LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworUGFzc093blB0cjxOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ+IE5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudDo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE5hdmln
YXRvckNvbnRlbnRVdGlsc0NsaWVudCk7Cit9CisKK05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dDo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KCkKK3sKK30KKwordm9pZCBOYXZpZ2F0b3JD
b250ZW50VXRpbHNDbGllbnQ6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYg
c2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBT
dHJpbmcmIHRpdGxlKQoreyAKKyAgICBub3RJbXBsZW1lbnRlZCgpOyAKK30gCisKK30KKyNlbmRp
ZiAvLyBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsu
aCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L05hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudEd0ay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2ZjNlMjMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9OYXZp
Z2F0b3JDb250ZW50VXRpbHNDbGllbnRHdGsuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdy
aXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLwor
CisjaWZuZGVmIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0a19oCisjZGVmaW5lIE5hdmln
YXRvckNvbnRlbnRVdGlsc0NsaWVudEd0a19oCisKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmgiCisKKyNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3Mg
TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Ok5hdmlnYXRvckNv
bnRlbnRVdGlsc0NsaWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8TmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50PiBjcmVhdGUoKTsKKworICAgIH5OYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFu
ZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBT
dHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CisKK3ByaXZhdGU6CisgICAgTmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50KCk7Cit9OworCit9CisKKyNlbmRpZgorI2VuZGlmIC8vIE5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0a19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0ay5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxl
ckNsaWVudEd0ay5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllMzg4NTEuLjAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXJDbGllbnRHdGsuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCi0gKgotICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
aWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAg
VVNBCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyQ2xpZW50R3RrLmgiCi0KLSNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFO
RExFUikKLQotI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotUGFzc093blB0cjxSZWdpc3RlclBy
b3RvY29sSGFuZGxlckNsaWVudD4gUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQ6OmNyZWF0
ZSgpCi17Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBSZWdpc3RlclByb3RvY29sSGFuZGxlckNs
aWVudCk7Ci19Ci0KLVJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50OjpSZWdpc3RlclByb3Rv
Y29sSGFuZGxlckNsaWVudCgpCi17Ci19Ci0KLXZvaWQgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJD
bGllbnQ6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25z
dCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxl
KSAKLXsgCi0gICAgbm90SW1wbGVtZW50ZWQoKTsgCi19IAotCi19Ci0jZW5kaWYgLy8gRU5BQkxF
KFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0ay5oIGIvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGll
bnRHdGsuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQ4ODlmMy4uMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9SZWdpc3RlclByb3RvY29sSGFu
ZGxlckNsaWVudEd0ay5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwot
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
LSAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgot
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3
cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCi0gKi8K
LQotI2lmbmRlZiBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0a19oCi0jZGVmaW5lIFJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50R3RrX2gKLQotI2lmIEVOQUJMRShSRUdJU1RFUl9Q
Uk9UT0NPTF9IQU5ETEVSKQotI2luY2x1ZGUgIlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50
LmgiCi0KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsK
LQotY2xhc3MgUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6
UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNz
T3duUHRyPFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50PiBjcmVhdGUoKTsKLQotICAgIH5S
ZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCgpIHsgfQotCi0gICAgdmlydHVhbCB2b2lkIHJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcm
IGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLQotcHJp
dmF0ZToKLSAgICBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCgpOwotfTsKLQotfQotCi0j
ZW5kaWYKLSNlbmRpZiAvLyBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudEd0a19oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKaW5kZXggYTUzNjg5NC4uNGRm
MjExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAt
MzYyOSw5ICszNjI5LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2luaXQoV2ViS2l0
V2ViVmlldyogd2ViVmlldykKICAgICBXZWJDb3JlOjpwcm92aWRlVXNlck1lZGlhVG8ocHJpdi0+
Y29yZVBhZ2UsIHByaXYtPnVzZXJNZWRpYUNsaWVudC5nZXQoKSk7CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotICAgIHByaXYtPnJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyQ2xpZW50ID0gV2ViS2l0OjpSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudDo6
Y3JlYXRlKCk7Ci0gICAgV2ViQ29yZTo6cHJvdmlkZVJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyVG8o
cHJpdi0+Y29yZVBhZ2UsIHByaXYtPnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50LmdldCgp
KTsKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisgICAgcHJpdi0+bmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50ID0gV2ViS2l0OjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnQ6OmNyZWF0ZSgpOworICAgIFdlYkNvcmU6OnByb3ZpZGVOYXZpZ2F0b3JDb250ZW50VXRpbHNU
byhwcml2LT5jb3JlUGFnZSwgcHJpdi0+bmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmdldCgp
KTsKICNlbmRpZgogCiAgICAgaWYgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVtcFJlbmRl
clRyZWVNb2RlRW5hYmxlZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vidmlld3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJ2aWV3cHJpdmF0ZS5oCmluZGV4IGMzMDI2OTYuLjk2OTU0YzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3cHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3cHJpdmF0ZS5oCkBAIC0zOSw4ICszOSw4
IEBACiAjaW5jbHVkZSAiVXNlck1lZGlhQ2xpZW50R3RrLmgiCiAjZW5kaWYKIAotI2lmIEVOQUJM
RShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotI2luY2x1ZGUgIlJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyQ2xpZW50R3RrLmgiCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQor
I2luY2x1ZGUgIk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEd0ay5oIgogI2VuZGlmCiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpAQCAtMTIyLDggKzEyMiw4IEBAIHN0cnVjdCBfV2ViS2l0V2ViVmll
d1ByaXZhdGUgewogICAgIE93blB0cjxXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s+IGdl
b2xvY2F0aW9uQ2xpZW50TW9jazsKICNlbmRpZgogCi0jaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RP
Q09MX0hBTkRMRVIpCi0gICAgT3duUHRyPFdlYktpdDo6UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJD
bGllbnQ+IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50OworI2lmIEVOQUJMRShOQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykKKyAgICBPd25QdHI8V2ViS2l0OjpOYXZpZ2F0b3JDb250ZW50VXRp
bHNDbGllbnQ+IG5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDsKICNlbmRpZgogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IGMxMDgwMmYuLmI0NjAxZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wOC0yNyAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pk
bnlha292QGludGVsLmNvbT4KKworICAgICAgICBSZW5hbWUgUmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXIgQVBJIHRvIE5hdmlnYXRvckNvbnRlbnRVdGlscworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFt
IEJhcnRoLgorCisgICAgICAgIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSIGlzIHJl
bmFtZWQgdG8gRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTLgorCisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTItMDgtMjQgIFByYXRp
ayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IGNyZWF0ZSBh
IG5ldyBSZXNvdXJjZVJlcXVlc3QgaWYgZGVsZWdhdGUgcmV0dXJucyB0aGUgc2FtZSBOU1VSTFJl
cXVlc3Qgd2UgcGFzc2VkIGl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGNlZGQ5NWQuLjhmNGMyM2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xMDYsNiArMTA2LDcgQEAgRU5BQkxFX01FVEVSX0VMRU1F
TlQgPSBFTkFCTEVfTUVURVJfRUxFTUVOVDsKIEVOQUJMRV9NSFRNTCA9IDsKIEVOQUJMRV9NSUNS
T0RBVEEgPSA7CiBFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTID0gRU5BQkxFX01VVEFUSU9OX09C
U0VSVkVSUzsKK0VOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyA9IDsKIEVOQUJMRV9OT1RJ
RklDQVRJT05TID0gJChFTkFCTEVfTk9USUZJQ0FUSU9OU18kKFJFQUxfUExBVEZPUk1fTkFNRSkp
OwogRU5BQkxFX05PVElGSUNBVElPTlNfbWFjb3N4ID0gJChFTkFCTEVfTk9USUZJQ0FUSU9OU19t
YWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwogRU5BQkxFX05PVElGSUNB
VElPTlNfbWFjb3N4XzEwNzAgPSA7CkBAIC0xMTQsNyArMTE1LDYgQEAgRU5BQkxFX05PVElGSUNB
VElPTlNfbWFjb3N4XzEwOTAgPSBFTkFCTEVfTk9USUZJQ0FUSU9OUzsKIEVOQUJMRV9QQUdFX1ZJ
U0lCSUxJVFlfQVBJID0gOwogRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQgPSBFTkFCTEVfUFJPR1JF
U1NfRUxFTUVOVDsKIEVOQUJMRV9RVU9UQSA9IDsKLUVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9I
QU5ETEVSID0gOwogRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FID0gRU5BQkxFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FOwogRU5BQkxFX1NDUklQVEVEX1NQRUVDSCA9IDsKIEVOQUJMRV9T
SEFET1dfRE9NID0gOwpAQCAtMTQxLDQgKzE0MSw0IEBAIEVOQUJMRV9XSURHRVRfUkVHSU9OX21h
Y29zeCA9IEVOQUJMRV9XSURHRVRfUkVHSU9OOwogRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09S
S0VSUzsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJM
RV9DU1NfSElFUkFSQ0hJRVMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZ
X1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0ZMRVhCT1gp
ICQoRU5BQkxFX0NTUzNfVEVYVF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQp
ICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJM
RV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTVVU
QVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJ
U0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RP
TSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFC
TEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5E
SU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX1VORE9fTUFOQUdFUikgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0lER0VUX1JFR0lPTikgJChFTkFC
TEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5J
TUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0hJ
RVJBUkNISUVTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURF
UlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElP
TikgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19GTEVYQk9YKSAkKEVOQUJM
RV9DU1MzX1RFWFRfREVDT1JBVElPTikgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJM
RV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVS
UykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01VVEFUSU9OX09C
U0VSVkVSUykgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNT
X0VMRU1FTlQpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJM
RV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9T
Q09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9O
T1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
VU5ET19NQU5BR0VSKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XSURHRVRfUkVHSU9OKSAkKEVOQUJMRV9XT1JLRVJT
KSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBmNjNkMjg3Li44ZGQ2MDFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDgtMjcgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1p
a2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgUmVuYW1lIFJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyIEFQSSB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0OTIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBSZW5hbWluZyB3aGF0ZXZlciBSZWdpc3RlclBy
b3RvY29sSGFuZGxlci1wcmVmaXhlZCB0byBOYXZpZ2F0b3JDb250ZW50VXRpbHMtcHJlZml4ZWQu
CisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudC5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudC5oLgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKFdlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCk6CisgICAgICAg
IChXZWJLaXQ6OldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6fldlYk5hdmlnYXRvckNv
bnRlbnRVdGlsc0NsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYk5hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudDo6aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Ojp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyKToKKwogMjAxMi0wOC0yNSAgVml2ZWsgR2FsYXRhZ2UgIDx2aXZla2dhbGF0YWdlQGdtYWls
LmNvbT4KIAogICAgICAgICBXaW5DYWlybyBCdWlsZCBCcm9rZW4gZHVlIHRvIG1pc3NpbmcgZXhw
b3J0IGRlZmluaXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDE2Y2UwMGUuLmM4YTk5MDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCkBAIC0xMDUsNiArMTA1LDcgQEAgRU5BQkxFX01FVEVSX0VMRU1FTlQgPSBFTkFCTEVfTUVU
RVJfRUxFTUVOVDsKIEVOQUJMRV9NSFRNTCA9IDsKIEVOQUJMRV9NSUNST0RBVEEgPSA7CiBFTkFC
TEVfTVVUQVRJT05fT0JTRVJWRVJTID0gRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUzsKK0VOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyA9IDsKIEVOQUJMRV9OT1RJRklDQVRJT05TID0gJChF
TkFCTEVfTk9USUZJQ0FUSU9OU18kKFJFQUxfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX05PVElG
SUNBVElPTlNfbWFjb3N4ID0gJChFTkFCTEVfTk9USUZJQ0FUSU9OU19tYWNvc3hfJChUQVJHRVRf
TUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwogRU5BQkxFX05PVElGSUNBVElPTlNfbWFjb3N4XzEw
NzAgPSA7CkBAIC0xMTMsNyArMTE0LDYgQEAgRU5BQkxFX05PVElGSUNBVElPTlNfbWFjb3N4XzEw
OTAgPSBFTkFCTEVfTk9USUZJQ0FUSU9OUzsKIEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJID0g
OwogRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQgPSBFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVDsKIEVO
QUJMRV9RVU9UQSA9IDsKLUVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSID0gOwogRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FID0gRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FOwogRU5BQkxFX1NDUklQVEVEX1NQRUVDSCA9IDsKIEVOQUJMRV9TSEFET1dfRE9NID0gOwpA
QCAtMTQwLDQgKzE0MCw0IEBAIEVOQUJMRV9XSURHRVRfUkVHSU9OX21hY29zeCA9IEVOQUJMRV9X
SURHRVRfUkVHSU9OOwogRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRF
UklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklNQVRJT05f
QVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSElFUkFSQ0hJ
RVMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChF
TkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFC
TEVfQ1NTM19GTEVYQk9YKSAkKEVOQUJMRV9DU1MzX1RFWFRfREVDT1JBVElPTikgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxF
X1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5W
QVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RB
VEEpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQo
RU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxf
REFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9T
VkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VTkRPX01BTkFHRVIpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dJREdF
VF9SRUdJT04pICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMp
ICQoRU5BQkxFX0NTU19ISUVSQVJDSElFUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQo
RU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJM
RV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0ZMRVhCT1gpICQoRU5BQkxFX0NTUzNfVEVY
VF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9S
WV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
UFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBU
X0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJ
TktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9X
T1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChF
TkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElP
TlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VTkRPX01BTkFH
RVIpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dJREdFVF9SRUdJT04pICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxF
X1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgwYjU3OAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50LmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFdlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudF9oCisjZGVmaW5l
IFdlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudF9oCisKKyNpZiBFTkFCTEUoTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpCisKKyNpbmNsdWRlIDxXZWJDb3JlL05hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworY2xhc3MgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50IDogcHVibGlj
IFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCB7CitwdWJsaWM6CisgICAgdmly
dHVhbCB+V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KCkgeyB9CisKK3ByaXZhdGU6Cisg
ICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2No
ZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJp
bmcmIHRpdGxlKSBPVkVSUklERSB7IH0KKworI2lmIEVOQUJMRShDVVNUT01fU0NIRU1FX0hBTkRM
RVIpCisgICAgdmlydHVhbCBDdXN0b21IYW5kbGVyc1N0YXRlIGlzUHJvdG9jb2xIYW5kbGVyUmVn
aXN0ZXJlZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSB7IHJl
dHVybiBDdXN0b21IYW5kbGVyc0RlY2xpbmVkOyB9CisgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJikgeyB9CisjZW5kaWYKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShOQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykKKyNlbmRpZiAvLyBXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudC5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2M2YxOTkwLi4wMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXJDbGllbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2lmbmRlZiBXZWJSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudF9oCi0j
ZGVmaW5lIFdlYlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50X2gKLQotI2lmIEVOQUJMRShS
RUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotCi0jaW5jbHVkZSA8V2ViQ29yZS9SZWdpc3RlclBy
b3RvY29sSGFuZGxlckNsaWVudC5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgot
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgV2ViUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJD
bGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6UmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJDbGllbnQgewot
cHVibGljOgotICAgIHZpcnR1YWwgfldlYlJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50KCkg
eyB9Ci0KLXByaXZhdGU6Ci0gICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
KGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKSBPVkVSUklERSB7IH0KLQotI2lmIEVOQUJMRShD
VVNUT01fU0NIRU1FX0hBTkRMRVIpCi0gICAgdmlydHVhbCBDdXN0b21IYW5kbGVyc1N0YXRlIGlz
UHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmKSB7IHJldHVybiBDdXN0b21IYW5kbGVyc0RlY2xpbmVkOyB9Ci0gICAgdmly
dHVhbCB2b2lkIHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiwgY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3RyaW5nJikgeyB9Ci0jZW5kaWYKLX07Ci0KLX0KLQotI2VuZGlmIC8v
IEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQotI2VuZGlmIC8vIFdlYlJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25z
QmxhY2tCZXJyeS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQmxhY2tCZXJyeS5jbWFrZQpp
bmRleCAxNGFjYTA4Li43MmNjN2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0Js
YWNrQmVycnkuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNCbGFja0JlcnJ5LmNtYWtl
CkBAIC0xNTEsMTEgKzE1MSwxMSBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfTEVHQUNZX1dFQktJVF9CTE9CX0JVSUxERVIgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUVESUFfU1RSRUFNIE9OKQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01JQ1JPREFUQSBPTikKK1dFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyBPTikK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9OT1RJRklDQVRJT05TIE9O
KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX09SSUVOVEFUSU9OX0VW
RU5UUyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9QQUdFX1BP
UFVQIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1BBR0VfVklT
SUJJTElUWV9BUEkgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
UkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgT04pCiBXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU0hBUkVEX1dPUktFUlMgT04pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRp
b25zRWZsLmNtYWtlCmluZGV4IDI1YmY1OTcuLjU3OWQ1OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9j
bWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtl
CkBAIC03OSwxMCArNzksMTAgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX0xFR0FDWV9XRUJLSVRfQkxPQl9CVUlMREVSIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0xJTktfUFJFRkVUQ0ggT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfTUVESUFfQ0FQVFVSRSBPTikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NSUNST0RBVEEgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMgT04pCiBXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSBPRkYp
CiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkVUV09SS19JTkZPIE9O
KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1BBR0VfVklTSUJJTElU
WV9BUEkgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVHSVNU
RVJfUFJPVE9DT0xfSEFORExFUiBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9TSEFET1dfRE9NIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX1NIQVJFRF9XT1JLRVJTIE9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlCmluZGV4IDdlYWJhMDEuLjQzOTZkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21h
a2UKQEAgLTgxLDYgKzgxLDcgQEAgTUFDUk8gKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX01IVE1MICJUb2dnbGUgTUhUTUwgc3VwcG9ydCIgT0ZG
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9NSUNST0RBVEEgIlRvZ2dsZSBNaWNy
b2RhdGEgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9NVVRB
VElPTl9PQlNFUlZFUlMgIlRvZ2dsZSBET00gbXV0YXRpb24gb2JzZXJ2ZXIgc3VwcG9ydCIgT04p
CisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
ICJUb2dnbGUgTmF2aWdhdG9yIENvbnRlbnQgVXRpbHMgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJICJUb2dnbGUgTmV0c2Nh
cGUgUGx1Z2luIHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9O
RVRXT1JLX0lORk8gIlRvZ2dsZSBOZXR3b3JrIEluZm9ybWF0aW9uIEFQSSBzdXBwb3J0IiBPRkYp
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX05PVElGSUNBVElPTlMgIlRvZ2dsZSBE
ZXNrdG9wIE5vdGlmaWNhdGlvbnMgU3VwcG9ydCIgT0ZGKQpAQCAtODksNyArOTAsNiBAQCBNQUNS
TyAoV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
UFJPR1JFU1NfRUxFTUVOVCAiVG9nZ2xlIFByb2dyZXNzIFRhZyBzdXBwb3J0IiBPTikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTyAiVG9nZ2xl
IFBsdWdpbiBQcm94eSBmb3IgVmlkZW8gc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9RVU9UQSAiVG9nZ2xlIFF1b3RhIHN1cHBvcnQiIE9GRikKLSAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiAiVG9nZ2xl
IFJlZ2lzdGVyIFByb3RvY29sIEhhbmRsZXIgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgIlRvZ2dsZSByZXBhaW50IHRocm90
dGxpbmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSAiVG9nZ2xlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBzdXBwb3J0
IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCAi
VG9nZ2xlIFNjcmlwdGVkIFNwZWVjaCBBUEkgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291
cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRl
eCA1OTdlNGMzLi44ODU1NWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtNzAsNiArNzAsNyBAQAogI2Nt
YWtlZGVmaW5lMDEgRU5BQkxFX01FVEVSX0VMRU1FTlQKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9N
SUNST0RBVEEKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMKKyNjbWFr
ZWRlZmluZTAxIEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUwogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9ORVRXT1JL
X0lORk8KICNjbWFrZWRlZmluZTAxIEVOQUJMRV9OT1RJRklDQVRJT05TCkBAIC03OCw3ICs3OSw2
IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUEFHRV9QT1BVUAogI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX1BBR0VfVklTSUJJTElUWV9BUEkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9QUk9HUkVTU19F
TEVNRU5UCi0jY21ha2VkZWZpbmUwMSBFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUgog
I2NtYWtlZGVmaW5lMDEgRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FCiAjY21ha2VkZWZp
bmUwMSBFTkFCTEVfU0hBRE9XX0RPTQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NIQVJFRF9XT1JL
RVJTCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
NTFhNzk5MS4uMDk3NzliNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA4LTI3ICBNaWtoYWlsIFBvemRueWFr
b3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFJlbmFtZSBSZWdp
c3RlclByb3RvY29sSGFuZGxlciBBUEkgdG8gTmF2aWdhdG9yQ29udGVudFV0aWxzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDkyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgUmVuYW1lZCAncmVnaXN0ZXItcHJv
dG9jb2wtaGFuZGxlcicgZmVhdHVyZSB0byAnbmF2aWdhdG9yLWNvbnRlbnQtdXRpbHMnLgorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtOgorICAgICAgICAqIHFt
YWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJpOgorCiAyMDEyLTA4LTI0ICBCZW5qYW1p
biBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVuaWZ5IE51bWJlciB0
byBTdHJpbmdJbXBsIGNvbnZlcnNpb24KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlz
dC5wbQppbmRleCBhMTgxZDg1Li5iZmQ5ZjBhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0Zl
YXR1cmVMaXN0LnBtCkBAIC0zMjEsNiArMzIxLDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsg
b3B0aW9uID0+ICJtdXRhdGlvbi1vYnNlcnZlcnMiLCBkZXNjID0+ICJUb2dnbGUgTXV0YXRpb24g
T2JzZXJ2ZXJzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfTVVUQVRJT05fT0JT
RVJWRVJTIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJG11dGF0aW9uT2JzZXJ2ZXJzU3VwcG9y
dCB9LAogCisgICAgeyBvcHRpb24gPT4gIm5hdmlnYXRvci1jb250ZW50LXV0aWxzIiwgZGVzYyA9
PiAiVG9nZ2xlIE5hdmlnYXRvciBDb250ZW50IFV0aWxzIHN1cHBvcnQiLAorICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMiLCBkZWZhdWx0ID0+IChpc0JsYWNr
QmVycnkoKSB8fCBpc0VmbCgpKSwgdmFsdWUgPT4gXCRyZWdpc3RlclByb3RvY29sSGFuZGxlclN1
cHBvcnQgfSwKKwogICAgIHsgb3B0aW9uID0+ICJuZXRzY2FwZS1wbHVnaW4tYXBpIiwgZGVzYyA9
PiAiVG9nZ2xlIE5ldHNjYXBlIFBsdWdpbiBBUEkgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIiwgZGVmYXVsdCA9PiAhaXNFZmwoKSwgdmFsdWUg
PT4gXCRuZXRzY2FwZVBsdWdpbkFQSVN1cHBvcnQgfSwKIApAQCAtMzQyLDkgKzM0NSw2IEBAIG15
IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAicXVvdGEiLCBkZXNjID0+ICJUb2dnbGUg
UXVvdGEgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9RVU9UQSIsIGRlZmF1bHQg
PT4gMCwgdmFsdWUgPT4gXCRxdW90YVN1cHBvcnQgfSwKIAotICAgIHsgb3B0aW9uID0+ICJyZWdp
c3Rlci1wcm90b2NvbC1oYW5kbGVyIiwgZGVzYyA9PiAiVG9nZ2xlIFJlZ2lzdGVyIFByb3RvY29s
IEhhbmRsZXIgc3VwcG9ydCIsCi0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9SRUdJU1RFUl9QUk9U
T0NPTF9IQU5ETEVSIiwgZGVmYXVsdCA9PiAoaXNCbGFja0JlcnJ5KCkgfHwgaXNFZmwoKSksIHZh
bHVlID0+IFwkcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJTdXBwb3J0IH0sCi0KICAgICB7IG9wdGlv
biA9PiAicmVxdWVzdC1hbmltYXRpb24tZnJhbWUiLCBkZXNjID0+ICJUb2dnbGUgUmVxdWVzdCBB
bmltYXRpb24gRnJhbWUgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSIsIGRlZmF1bHQgPT4gKGlzQXBwbGVNYWNXZWJLaXQoKSB8fCBpc0d0
aygpIHx8IGlzRWZsKCkgfHwgaXNCbGFja0JlcnJ5KCkpLCB2YWx1ZSA9PiBcJHJlcXVlc3RBbmlt
YXRpb25GcmFtZVN1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvVG9vbHMvcW1ha2UvbWtzcGVjcy9m
ZWF0dXJlcy9mZWF0dXJlcy5wcmkgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1
cmVzLnByaQppbmRleCBmZWFjODVkLi4zM2IzNGFkIDEwMDY0NAotLS0gYS9Ub29scy9xbWFrZS9t
a3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQorKysgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2Zl
YXR1cmVzL2ZlYXR1cmVzLnByaQpAQCAtNzYsNiArNzYsNyBAQCBGRUFUVVJFX0RFRkFVTFRTID0g
XAogICAgIEVOQUJMRV9NSFRNTD0wIFwKICAgICBFTkFCTEVfTUlDUk9EQVRBPTAgXAogICAgIEVO
QUJMRV9NVVRBVElPTl9PQlNFUlZFUlM9MCBcCisgICAgRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTPTAgXAogICAgIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJPTAgXAogICAgIEVOQUJM
RV9ORVRXT1JLX0lORk89MCBcCiAgICAgRU5BQkxFX05PVElGSUNBVElPTlM9MSBcCkBAIC04Myw3
ICs4NCw2IEBAIEZFQVRVUkVfREVGQVVMVFMgPSBcCiAgICAgRU5BQkxFX1BBR0VfVklTSUJJTElU
WV9BUEk9MSBcCiAgICAgRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQ9MSBcCiAgICAgRU5BQkxFX1FV
T1RBPTAgXAotICAgIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSPTAgXAogICAgIEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRT0xIFwKICAgICBFTkFCTEVfU0NSSVBURURfU1BF
RUNIPTAgXAogICAgIEVOQUJMRV9TSEFET1dfRE9NPTAgXApkaWZmIC0tZ2l0IGEvY29uZmlndXJl
LmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDIwNmYxOGMuLjEyMWRjY2EgMTAwNjQ0Ci0tLSBhL2Nv
bmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTE0OTQsNyArMTQ5NCw3IEBAIEFNX0NP
TkRJVElPTkFMKFtFTkFCTEVfTElOS19QUkVGRVRDSF0sW3Rlc3QgIiRlbmFibGVfbGlua19wcmVm
ZXRjaCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0FOSU1BVElPTl9BUEldLFt0
ZXN0ICIkZW5hYmxlX2FuaW1hdGlvbl9hcGkiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV0sW3Rlc3QgIiRlbmFibGVfcmVxdWVzdF9hbmlt
YXRpb25fZnJhbWUiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9UT1VDSF9JQ09O
X0xPQURJTkddLFt0ZXN0ICIkZW5hYmxlX3RvdWNoX2ljb25fbG9hZGluZyIgPSAieWVzIl0pCi1B
TV9DT05ESVRJT05BTChbRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVJdLFt0ZXN0ICIk
ZW5hYmxlX3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIiID0gInllcyJdKQorQU1fQ09ORElUSU9O
QUwoW0VOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMU10sW3Rlc3QgIiRlbmFibGVfbmF2aWdh
dG9yX2NvbnRlbnRfdXRpbHMiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT05dLFt0ZXN0ICIkZW5hYmxlX2RldmljZV9vcmllbnRhdGlvbiIgPSAieWVz
Il0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSU10sW3Rlc3QgIiRl
bmFibGVfbXV0YXRpb25fb2JzZXJ2ZXJzIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFC
TEVfSUZSQU1FX1NFQU1MRVNTXSxbdGVzdCAiJGVuYWJsZV9pZnJhbWVfc2VhbWxlc3MiID0gInll
cyJdKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>