<?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>67420</bug_id>
          
          <creation_ts>2011-09-01 10:58:33 -0700</creation_ts>
          <short_desc>Unzip initialization lists and constructors in JSCell hierarchy (5/7)</short_desc>
          <delta_ts>2011-09-09 14:42:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>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>67174</dependson>
    
    <dependson>67693</dependson>
    
    <dependson>67698</dependson>
          <blocked>66567</blocked>
    
    <blocked>67692</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>460612</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-09-01 10:58:33 -0700</bug_when>
    <thetext>This is the fifth level of the unzipping process described in https://bugs.webkit.org/show_bug.cgi?id=66567.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461008</commentid>
    <comment_count>1</comment_count>
      <attachid>106083</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-09-01 19:09:52 -0700</bug_when>
    <thetext>Created attachment 106083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461013</commentid>
    <comment_count>2</comment_count>
      <attachid>106084</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-09-01 19:15:11 -0700</bug_when>
    <thetext>Created attachment 106084
Reset test bindings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461016</commentid>
    <comment_count>3</comment_count>
      <attachid>106084</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-09-01 19:32:11 -0700</bug_when>
    <thetext>Comment on attachment 106084
Reset test bindings

Attachment 106084 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9582484</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461889</commentid>
    <comment_count>4</comment_count>
      <attachid>106274</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-09-03 19:55:49 -0700</bug_when>
    <thetext>Created attachment 106274
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461897</commentid>
    <comment_count>5</comment_count>
      <attachid>106274</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-03 21:04:06 -0700</bug_when>
    <thetext>Comment on attachment 106274
Patch

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

&gt; Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:10
&gt; -    ??0DateInstance@JSC@@IAE@PAVExecState@1@PAVStructure@1@N@Z
&gt; +   ??0DateInstance@JSC@@IAE@PAVExecState@1@PAVStructure@1@@Z
&gt;      ??0DefaultGCActivityCallback@JSC@@QAE@PAVHeap@1@@Z
&gt;      ??0DropAllLocks@JSLock@JSC@@QAE@W4JSLockBehavior@2@@Z
&gt; -    ??0DynamicGlobalObjectScope@JSC@@QAE@AAVJSGlobalData@1@PAVJSGlobalObject@1@@Z  
&gt; -    ??0InternalFunction@JSC@@IAE@PAVJSGlobalData@1@PAVJSGlobalObject@1@PAVStructure@1@ABVIdentifier@1@@Z
&gt; +    ??0DynamicGlobalObjectScope@JSC@@QAE@AAVJSGlobalData@1@PAVJSGlobalObject@1@@Z 
&gt; +   ??0InternalFunction@JSC@@IAE@PAVJSGlobalObject@1@PAVStructure@1@@Z

Indentation level seems inconsistent here.

&gt; Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:22
&gt; -    ??0StringObject@JSC@@IAE@AAVJSGlobalData@1@PAVStructure@1@PAVJSString@1@@Z
&gt; +   ??0StringObject@JSC@@IAE@AAVJSGlobalData@1@PAVStructure@1@@Z

Indentation level seems inconsistent here.

&gt; Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:186
&gt;      ?finalize@WeakHandleOwner@JSC@@UAEXV?$Handle@W4Unknown@JSC@@@2@PAX@Z
&gt; +   ?finishCreation@DateInstance@JSC@@IAEXAAVJSGlobalData@2@N@Z
&gt; +   ?finishCreation@InternalFunction@JSC@@IAEXAAVJSGlobalData@2@PAVJSGlobalObject@2@ABVIdentifier@2@@Z
&gt;      ?finishCreation@JSArray@JSC@@IAEXAAVJSGlobalData@2@@Z
&gt;      ?finishCreation@JSArray@JSC@@IAEXAAVJSGlobalData@2@ABVArgList@2@@Z
&gt;      ?finishCreation@JSFunction@JSC@@IAEXPAVExecState@2@PAVJSGlobalObject@2@HABVIdentifier@2@PAVExecutableBase@2@@Z
&gt;      ?finishCreation@JSObjectWithGlobalObject@JSC@@IAEXAAVJSGlobalData@2@PAVJSGlobalObject@2@@Z
&gt; +   ?finishCreation@RegExpObject@JSC@@IAEXPAVJSGlobalObject@2@@Z
&gt; +   ?finishCreation@StringObject@JSC@@IAEXAAVJSGlobalData@2@PAVJSString@2@@Z
&gt;      ?focus@Profile@JSC@@QAEXPBVProfileNode@2@@Z

Indentation level seems inconsistent here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461905</commentid>
    <comment_count>6</comment_count>
      <attachid>106277</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-09-03 21:59:23 -0700</bug_when>
    <thetext>Created attachment 106277
Fixing spacing issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462869</commentid>
    <comment_count>7</comment_count>
      <attachid>106277</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-06 14:46:06 -0700</bug_when>
    <thetext>Comment on attachment 106277
Fixing spacing issue

Marking cq+ since Mark is not a committer yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462888</commentid>
    <comment_count>8</comment_count>
      <attachid>106277</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 15:05:14 -0700</bug_when>
    <thetext>Comment on attachment 106277
Fixing spacing issue

Rejecting attachment 106277 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:
Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h
Hunk #2 succeeded at 38 with fuzz 2.
patching file Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp
Hunk #2 FAILED at 68.
1 out of 2 hunks FAILED -- saving rejects to file Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp.rej
patching file Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Darin Adler&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/9601140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462991</commentid>
    <comment_count>9</comment_count>
      <attachid>106517</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-09-06 16:41:19 -0700</bug_when>
    <thetext>Created attachment 106517
Rebasing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462998</commentid>
    <comment_count>10</comment_count>
      <attachid>106517</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-06 16:55:47 -0700</bug_when>
    <thetext>Comment on attachment 106517
Rebasing

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463076</commentid>
    <comment_count>11</comment_count>
      <attachid>106517</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 19:12:45 -0700</bug_when>
    <thetext>Comment on attachment 106517
Rebasing

Clearing flags on attachment: 106517

Committed r94627: &lt;http://trac.webkit.org/changeset/94627&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463077</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 19:12:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463123</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-06 21:20:05 -0700</bug_when>
    <thetext>It appears that this patch broke Snow Leopard build:
http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20%28Build%29/builds/33559/steps/compile-webkit/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463179</commentid>
    <comment_count>14</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-06 23:37:50 -0700</bug_when>
    <thetext>And it broke ecma/Date/15.9.5.js JSC test and fast/js/exception-properties.html layout test on GTK and Qt bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463197</commentid>
    <comment_count>15</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-07 00:02:26 -0700</bug_when>
    <thetext>SL build was fixed by http://trac.webkit.org/changeset/94632, but tests were still broken, so I had to rollout the original patch with SL buildfix:

http://trac.webkit.org/changeset/94644</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463206</commentid>
    <comment_count>16</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-07 00:30:46 -0700</bug_when>
    <thetext>And it broke SL-WK2 and Qt-WK2 too:
http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20%28WebKit2%20Tests%29/builds/14713
http://build.webkit.sed.hu/builders/x86-32%20Linux%20Qt%20Release%20WebKit2/builds/11401</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463816</commentid>
    <comment_count>17</comment_count>
      <attachid>106681</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-09-07 18:57:01 -0700</bug_when>
    <thetext>Created attachment 106681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463832</commentid>
    <comment_count>18</comment_count>
      <attachid>106681</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-09-07 19:12:10 -0700</bug_when>
    <thetext>Comment on attachment 106681
Patch

Attachment 106681 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9603986</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464135</commentid>
    <comment_count>19</comment_count>
      <attachid>106757</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-09-08 10:26:13 -0700</bug_when>
    <thetext>Created attachment 106757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464918</commentid>
    <comment_count>20</comment_count>
      <attachid>106888</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-09-09 11:10:47 -0700</bug_when>
    <thetext>Created attachment 106888
Resetting bindings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464998</commentid>
    <comment_count>21</comment_count>
      <attachid>106888</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-09 13:18:56 -0700</bug_when>
    <thetext>Comment on attachment 106888
Resetting bindings

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465031</commentid>
    <comment_count>22</comment_count>
      <attachid>106888</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-09 14:42:25 -0700</bug_when>
    <thetext>Comment on attachment 106888
Resetting bindings

Clearing flags on attachment: 106888

Committed r94875: &lt;http://trac.webkit.org/changeset/94875&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465032</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-09 14:42:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106083</attachid>
            <date>2011-09-01 19:09:52 -0700</date>
            <delta_ts>2011-09-01 19:15:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67420-20110901190951.patch</filename>
            <type>text/plain</type>
            <size>115114</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQzNzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRleCA5NTA0YWQ4MGQ4NTNmM2M2NTVm
ODQyOGQ3ZDE2YTY1ZmVjYjgzMDc3Li42YTA5OTM0ZmNjYjYwYTM4ZmNmYmQ0MmU5MzU2ZTkxZGI3
OWY5YjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwCkBAIC00Myw3ICs0Myw2IEBAIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6
SlNDYWxsYmFja0NvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
CiAgICAgLCBtX2NsYXNzKGpzQ2xhc3MpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCwganNDbGFzcyk7CiB9CiAKIHZvaWQgSlND
YWxsYmFja0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NsYXNzUmVmIGpzQ2xhc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAppbmRleCA5MTE5MWRiNWY5Njc5OWUyMGNhNDZl
OTEwMTRlNWVhNGFjNjY4Y2Q3Li44YWNkNjA1YjBhYTQ1ZTlmNzA3NDk3NTJkNzI3ODRkN2I0NDg2
ZWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmgKQEAgLTM3LDcgKzM3LDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIEpTQ2FsbGJh
Y2tDb25zdHJ1Y3RvciogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQ2xhc3NSZWYgY2xhc3NSZWYsIEpT
T2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayBjYWxsYmFjaykgCiAgICAgewotICAgICAg
ICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBKU0NhbGxiYWNrQ29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0LCBjbGFzc1JlZik7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAg
ICB9CiAgICAgCiAgICAgdmlydHVhbCB+SlNDYWxsYmFja0NvbnN0cnVjdG9yKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKaW5kZXggMjhi
MzQxOTIzZGMzNTBlNDNmODhlYzk3MjBkY2U1YjM0M2RiYzRhNy4uY2M1NTYxZmFmZDRiYTQzZWQy
MTk5NTAxY2NkMWE1YWRiNDg4MjNiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcApAQCAtNDMsOSArNDMsMTUgQEAgQVNTRVJUX0NMQVNT
X0ZJVFNfSU5fQ0VMTChKU0NhbGxiYWNrRnVuY3Rpb24pOwogY29uc3QgQ2xhc3NJbmZvIEpTQ2Fs
bGJhY2tGdW5jdGlvbjo6c19pbmZvID0geyAiQ2FsbGJhY2tGdW5jdGlvbiIsICZJbnRlcm5hbEZ1
bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAogSlNDYWxsYmFja0Z1bmN0aW9uOjpKU0NhbGxiYWNr
RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2Jh
bE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCksIG5hbWUp
CisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxs
YmFja0Z1bmN0aW9uU3RydWN0dXJlKCkpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewor
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBuYW1l
KTsKK30KKwordm9pZCBKU0NhbGxiYWNrRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRl
bnRpZmllciYgbmFtZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBn
bG9iYWxPYmplY3QsIG5hbWUpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9u
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5oCmluZGV4
IDFkN2EwYTk4YWUwNDQzOTUwN2Q3N2NkMWU4YjM2MGRhNDM1NWFhZWMuLmFjNTViMmI1ZTE5MTFh
NDliNGJmZmUyZTMxMzI5YzIwZTg4MTI1ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uaApAQCAtMzQsNiArMzQsNyBAQCBuYW1lc3BhY2UgSlND
IHsKIGNsYXNzIEpTQ2FsbGJhY2tGdW5jdGlvbiA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsK
IHByb3RlY3RlZDoKICAgICBKU0NhbGxiYWNrRnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgSlNHbG9iYWxP
YmplY3QqLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKIAogcHVibGljOgogICAgIHR5cGVkZWYg
SW50ZXJuYWxGdW5jdGlvbiBCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggZWNkM2Fi
ZTIwYzNiYzZhOTM4MzJiY2JmMjViN2JmMDc4ZDQwNzZjZi4uNGNhNDQwN2JjZDhhOWQzOGFkZTJl
ZTNlYjU3MDY0MmFlNGQzOTZiYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYyIEBACisyMDExLTA5LTAxICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9y
cyBpbiBKU0NlbGwgaGllcmFyY2h5ICg1LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENvbXBsZXRlZCB0aGUgZm91cnRoIGxldmVsIG9mIHRoZSByZWZh
Y3RvcmluZyB0byBhZGQgZmluaXNoQ3JlYXRpb24oKSAKKyAgICAgICAgbWV0aG9kcyB0byBhbGwg
Y2xhc3NlcyB3aXRoaW4gdGhlIEpTQ2VsbCBoaWVyYXJjaHkgd2l0aCBub24tdHJpdmlhbCAKKyAg
ICAgICAgY29uc3RydWN0b3IgYm9kaWVzLgorCisgICAgICAgIFRoaXMgcHJpbWFyaWx5IGNvbnNp
c3RzIG9mIHB1c2hpbmcgdGhlIGNhbGxzIHRvIGZpbmlzaENyZWF0aW9uKCkgZG93biAKKyAgICAg
ICAgaW50byB0aGUgY29uc3RydWN0b3JzIG9mIHRoZSBzdWJjbGFzc2VzIG9mIHRoZSBzZWNvbmQg
bGV2ZWwgb2YgdGhlIGhpZXJhcmNoeSAKKyAgICAgICAgYXMgd2VsbCBhcyBwdWxsaW5nIHRoZSBm
aW5pc2hDcmVhdGlvbigpIGNhbGxzIG91dCBpbnRvIHRoZSBjbGFzcydzIGNvcnJlc3BvbmRpbmcK
KyAgICAgICAgY3JlYXRlKCkgbWV0aG9kIGlmIGl0IGhhcyBvbmUuICBEb2luZyBib3RoIHNpbXVs
dGFuZW91c2x5IGFsbG93cyB1cyB0byAKKyAgICAgICAgbWFpbnRhaW4gdGhlIGludmFyaWFudCB0
aGF0IHRoZSBmaW5pc2hDcmVhdGlvbigpIG1ldGhvZCBjaGFpbiBpcyBjYWxsZWQgZXhhY3RseSAK
KyAgICAgICAgb25jZSBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIGFuIG9iamVjdCwgc2luY2UgY2Fs
bGluZyBpdCBhbnkgb3RoZXIgbnVtYmVyIG9mIAorICAgICAgICB0aW1lcyAoMCwgMiwgb3IgbW9y
ZSkgd2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKworICAgICAgICAqIEFQSS9KU0Nh
bGxiYWNrQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29uc3RydWN0
b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29uc3RydWN0b3I6OmNyZWF0ZSk6
CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpT
Q2FsbGJhY2tGdW5jdGlvbjo6SlNDYWxsYmFja0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6SlND
YWxsYmFja0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogQVBJL0pTQ2FsbGJh
Y2tGdW5jdGlvbi5oOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmV4cDoKKyAgICAgICAgKiBk
ZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uY3BwOgorICAgICAgICAqIGRlYnVnZ2VyL0RlYnVn
Z2VyQWN0aXZhdGlvbi5oOgorICAgICAgICAoSlNDOjpEZWJ1Z2dlckFjdGl2YXRpb246OmNyZWF0
ZSk6CisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKEdsb2JhbE9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAoR2xvYmFsT2JqZWN0OjpHbG9iYWxPYmplY3QpOgorICAgICAgICAq
IHJ1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkFycmF5Q29uc3Ry
dWN0b3I6OkFycmF5Q29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmg6
CisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OkFy
cmF5UHJvdG90eXBlOjpBcnJheVByb3RvdHlwZSk6CisgICAgICAgICogcnVudGltZS9BcnJheVBy
b3RvdHlwZS5oOgorICAgICAgICAoSlNDOjpBcnJheVByb3RvdHlwZTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkJvb2xl
YW5Db25zdHJ1Y3Rvcjo6Qm9vbGVhbkNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6Qm9vbGVh
bkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9Cb29sZWFu
Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5PYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpCb29sZWFuT2JqZWN0OjpCb29sZWFuT2JqZWN0KToKKyAgICAgICAgKiBydW50
aW1lL0Jvb2xlYW5PYmplY3QuaDoKKyAgICAgICAgKEpTQzo6Qm9vbGVhbk9iamVjdDo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwOgorICAgICAgICAoSlND
OjpCb29sZWFuUHJvdG90eXBlOjpCb29sZWFuUHJvdG90eXBlKToKKyAgICAgICAgKEpTQzo6Qm9v
bGVhblByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQm9vbGVh
blByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6RGF0ZUNvbnN0cnVjdG9yOjpEYXRlQ29uc3RydWN0b3IpOgorICAgICAgICAo
SlNDOjpEYXRlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L0RhdGVDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcDoK
KyAgICAgICAgKEpTQzo6RGF0ZUluc3RhbmNlOjpEYXRlSW5zdGFuY2UpOgorICAgICAgICAqIHJ1
bnRpbWUvRGF0ZUluc3RhbmNlLmg6CisgICAgICAgIChKU0M6OkRhdGVJbnN0YW5jZTo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpE
YXRlUHJvdG90eXBlOjpEYXRlUHJvdG90eXBlKToKKyAgICAgICAgKEpTQzo6RGF0ZVByb3RvdHlw
ZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZVByb3RvdHlwZS5oOgor
ICAgICAgICAqIHJ1bnRpbWUvRXJyb3IuY3BwOgorICAgICAgICAoSlNDOjpTdHJpY3RNb2RlVHlw
ZUVycm9yRnVuY3Rpb246OlN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbik6CisgICAgICAgICog
cnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6RXJyb3JDb25zdHJ1
Y3Rvcjo6RXJyb3JDb25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6OkVycm9yQ29uc3RydWN0b3I6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaDoK
KyAgICAgICAgKiBydW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6RXJy
b3JQcm90b3R5cGU6OkVycm9yUHJvdG90eXBlKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yUHJv
dG90eXBlLmg6CisgICAgICAgIChKU0M6OkVycm9yUHJvdG90eXBlOjpjcmVhdGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkZ1bmN0
aW9uQ29uc3RydWN0b3I6OkZ1bmN0aW9uQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpGdW5j
dGlvbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9GdW5j
dGlvbkNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5j
cHA6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uUHJvdG90eXBlOjpGdW5jdGlvblByb3RvdHlwZSk6
CisgICAgICAgIChKU0M6OkZ1bmN0aW9uUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAg
ICAgICogcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50
ZXJuYWxGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkludGVybmFsRnVuY3Rpb246OkludGVy
bmFsRnVuY3Rpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNBY3RpdmF0
aW9uOjpKU0FjdGl2YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNBY3RpdmF0aW9uLmg6Cisg
ICAgICAgIChKU0M6OkpTQWN0aXZhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pT
R2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjpjcmVhdGUpOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6SlNHbG9iYWxPYmplY3QpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNPTk9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT05PYmplY3Q6OkpTT05P
YmplY3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVjdC5oOgorICAgICAgICAoSlNDOjpK
U09OT2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVj
dC5oOgorICAgICAgICAoSlNDOjpKU1N0YXRpY1Njb3BlT2JqZWN0OjpjcmVhdGUpOgorICAgICAg
ICAoSlNDOjpKU1N0YXRpY1Njb3BlT2JqZWN0OjpKU1N0YXRpY1Njb3BlT2JqZWN0KToKKyAgICAg
ICAgKiBydW50aW1lL0pTU3RyaW5nLmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaW5nT2JqZWN0Ojpj
cmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvTWF0aE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6
Ok1hdGhPYmplY3Q6Ok1hdGhPYmplY3QpOgorICAgICAgICAqIHJ1bnRpbWUvTWF0aE9iamVjdC5o
OgorICAgICAgICAoSlNDOjpNYXRoT2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUv
TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29u
c3RydWN0b3I6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvTmF0
aXZlRXJyb3JDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvckNvbnN0cnVj
dG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9OYXRpdmVFcnJvclByb3Rv
dHlwZS5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yUHJvdG90eXBlOjpOYXRpdmVFcnJv
clByb3RvdHlwZSk6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yUHJvdG90eXBlOjpmaW5pc2hD
cmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpOdW1i
ZXJDb25zdHJ1Y3Rvcjo6TnVtYmVyQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpOdW1iZXJD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29u
c3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL051bWJlck9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6Ok51bWJlck9iamVjdDo6TnVtYmVyT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL051
bWJlck9iamVjdC5oOgorICAgICAgICAoSlNDOjpOdW1iZXJPYmplY3Q6OmNyZWF0ZSk6CisgICAg
ICAgICogcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpOdW1iZXJQ
cm90b3R5cGU6Ok51bWJlclByb3RvdHlwZSk6CisgICAgICAgIChKU0M6Ok51bWJlclByb3RvdHlw
ZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmg6
CisgICAgICAgICogcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6
Ok9iamVjdENvbnN0cnVjdG9yOjpPYmplY3RDb25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6Ok9i
amVjdENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9PYmpl
Y3RDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpSZWdFeHBDb25zdHJ1Y3Rvcjo6UmVnRXhwQ29uc3RydWN0b3IpOgor
ICAgICAgICAoSlNDOjpSZWdFeHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6OlJlZ0V4cE1hdGNoZXNBcnJheSk6CisgICAgICAg
ICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhw
TWF0Y2hlc0FycmF5Lmg6CisgICAgICAgIChKU0M6OlJlZ0V4cE1hdGNoZXNBcnJheTo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OlJl
Z0V4cE9iamVjdDo6UmVnRXhwT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cE9iamVj
dC5oOgorICAgICAgICAoSlNDOjpSZWdFeHBPYmplY3Q6OmNyZWF0ZSk6CisgICAgICAgICogcnVu
dGltZS9SZWdFeHBQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpSZWdFeHBQcm90b3R5cGU6
OlJlZ0V4cFByb3RvdHlwZSk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OlN0cmluZ0NvbnN0cnVjdG9yOjpTdHJpbmdDb25zdHJ1Y3Rvcik6
CisgICAgICAgIChKU0M6OlN0cmluZ0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAg
ICAgICogcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvU3Ry
aW5nT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaW5nT2JqZWN0OjpTdHJpbmdPYmplY3Qp
OgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OlN0cmlu
Z09iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNx
dWVyYWRlc0FzVW5kZWZpbmVkLmg6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdFRoYXRNYXNx
dWVyYWRlc0FzVW5kZWZpbmVkOjpTdHJpbmdPYmplY3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5l
ZCk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlND
OjpTdHJpbmdQcm90b3R5cGU6OlN0cmluZ1Byb3RvdHlwZSk6CisgICAgICAgIChKU0M6OlN0cmlu
Z1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJv
dG90eXBlLmg6CisKIDIwMTEtMDktMDEgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBGaXggdGhlIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5leHAKaW5kZXggNjE0NTI1ZWU5NDRlMzhkYzBjZjlhMjZkYzA1ZGU0ZmY4OTFjYjQzNy4uNjk4
M2FkNDE0ZTk3YTBmZGI2ZDJmNzMwMjQ3NzYyMTliNTBhMjUyMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0xMjQsOCArMTI0LDEwIEBAIF9fWk4zSlNDMTFQ
YXJzZXJBcmVuYTVyZXNldEV2CiBfX1pOM0pTQzExY2hlY2tTeW50YXhFUE5TXzlFeGVjU3RhdGVF
UktOU18xMFNvdXJjZUNvZGVFCiBfX1pOM0pTQzExY3JlYXRlRXJyb3JFUE5TXzlFeGVjU3RhdGVF
UktOU183VVN0cmluZ0UKIF9fWk4zSlNDMTFyZWdFeHBGbGFnc0VSS05TXzdVU3RyaW5nRQorX19a
TjNKU0MxMkRhdGVJbnN0YW5jZTE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRWQK
K19fWk4zSlNDMTJEYXRlSW5zdGFuY2U2Y3JlYXRlRVBOU185RXhlY1N0YXRlRVBOU185U3RydWN0
dXJlRWQKIF9fWk4zSlNDMTJEYXRlSW5zdGFuY2U2c19pbmZvRQotX19aTjNKU0MxMkRhdGVJbnN0
YW5jZUMxRVBOU185RXhlY1N0YXRlRVBOU185U3RydWN0dXJlRWQKK19fWk4zSlNDMTJEYXRlSW5z
dGFuY2VDMUVQTlNfOUV4ZWNTdGF0ZUVQTlNfOVN0cnVjdHVyZUUKIF9fWk4zSlNDMTJKU0dsb2Jh
bERhdGExMENsaWVudERhdGFEMkV2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhMTFqc0FycmF5VlB0
ckUKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGExMmNyZWF0ZUxlYWtlZEVOU18xNVRocmVhZFN0YWNr
VHlwZUVOU184SGVhcFNpemVFCkBAIC0xMzksMTkgKzE0MSwyMSBAQCBfX1pOM0pTQzEySlNHbG9i
YWxEYXRhMTVkdW1wUmVnRXhwVHJhY2VFdgogX19aTjNKU0MxMkpTR2xvYmFsRGF0YTIyY2xlYXJC
dWlsdGluU3RydWN0dXJlc0V2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhNmNyZWF0ZUVOU18xNVRo
cmVhZFN0YWNrVHlwZUVOU184SGVhcFNpemVFCiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhRDFFdgor
X19aTjNKU0MxMlJlZ0V4cE9iamVjdDE0ZmluaXNoQ3JlYXRpb25FUE5TXzE0SlNHbG9iYWxPYmpl
Y3RFCiBfX1pOM0pTQzEyUmVnRXhwT2JqZWN0NnNfaW5mb0UKIF9fWk4zSlNDMTJSZWdFeHBPYmpl
Y3RDMUVQTlNfMTRKU0dsb2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUVQTlNfNlJlZ0V4cEUKIF9f
Wk4zSlNDMTJTYW1wbGluZ1Rvb2w1c2V0dXBFdgogX19aTjNKU0MxMlNtYWxsU3RyaW5nczE3Y3Jl
YXRlRW1wdHlTdHJpbmdFUE5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MxMlNtYWxsU3RyaW5n
czI3Y3JlYXRlU2luZ2xlQ2hhcmFjdGVyU3RyaW5nRVBOU18xMkpTR2xvYmFsRGF0YUVoCiBfX1pO
M0pTQzEyU3RyaW5nT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEw
SWRlbnRpZmllckUKK19fWk4zSlNDMTJTdHJpbmdPYmplY3QxNGZpbmlzaENyZWF0aW9uRVJOU18x
MkpTR2xvYmFsRGF0YUVQTlNfOEpTU3RyaW5nRQogX19aTjNKU0MxMlN0cmluZ09iamVjdDE4Z2V0
T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xMlBy
b3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxOGdldE93blByb3BlcnR5U2xvdEVQ
TlNfOUV4ZWNTdGF0ZUVqUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0MxMlN0cmluZ09iamVj
dDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9wZXJ0eU5hbWVB
cnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QyNGdldE93
blByb3BlcnR5RGVzY3JpcHRvckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVSTlNf
MThQcm9wZXJ0eURlc2NyaXB0b3JFCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0M3B1dEVQTlNfOUV4
ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQdXRQcm9wZXJ0eVNs
b3RFCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0NnNfaW5mb0UKLV9fWk4zSlNDMTJTdHJpbmdPYmpl
Y3RDMkVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzlTdHJ1Y3R1cmVFUE5TXzhKU1N0cmluZ0UKK19f
Wk4zSlNDMTJTdHJpbmdPYmplY3RDMkVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzlTdHJ1Y3R1cmVF
CiBfX1pOM0pTQzEzU2FtcGxpbmdGbGFnczRzdG9wRXYKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdz
NXN0YXJ0RXYKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdzN3NfZmxhZ3NFCkBAIC0xODIsOSArMTg2
LDEwIEBAIF9fWk4zSlNDMTVXZWFrSGFuZGxlT3duZXI4ZmluYWxpemVFTlNfNkhhbmRsZUlOU183
VW5rbm93bkVFRVB2CiBfX1pOM0pTQzE1V2Vha0hhbmRsZU93bmVyRDJFdgogX19aTjNKU0MxNWNy
ZWF0ZVR5cGVFcnJvckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzdVU3RyaW5nRQogX19aTjNKU0MxNklu
dGVybmFsRnVuY3Rpb24xMnZ0YWJsZUFuY2hvckV2CitfX1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlv
bjE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRVBOU18xNEpTR2xvYmFsT2JqZWN0
RVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb240bmFtZUVQTlNf
OUV4ZWNTdGF0ZUUKIF9fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0aW9uNnNfaW5mb0UKLV9fWk4zSlND
MTZJbnRlcm5hbEZ1bmN0aW9uQzJFUE5TXzEySlNHbG9iYWxEYXRhRVBOU18xNEpTR2xvYmFsT2Jq
ZWN0RVBOU185U3RydWN0dXJlRVJLTlNfMTBJZGVudGlmaWVyRQorX19aTjNKU0MxNkludGVybmFs
RnVuY3Rpb25DMkVQTlNfMTRKU0dsb2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUUKIF9fWk4zSlND
MTZKU1ZhcmlhYmxlT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEw
SWRlbnRpZmllckUKIF9fWk4zSlNDMTZKU1ZhcmlhYmxlT2JqZWN0MTRzeW1ib2xUYWJsZUdldEVS
S05TXzEwSWRlbnRpZmllckVSTlNfMThQcm9wZXJ0eURlc2NyaXB0b3JFCiBfX1pOM0pTQzE2SlNW
YXJpYWJsZU9iamVjdDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQ
cm9wZXJ0eU5hbWVBcnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKQEAgLTE5Niw3ICsyMDEsOCBA
QCBfX1pOM0pTQzE3Qnl0ZWNvZGVHZW5lcmF0b3IyMXNldER1bXBzR2VuZXJhdGVkQ29kZUViCiBf
X1pOM0pTQzE3UHJvcGVydHlOYW1lQXJyYXkzYWRkRVBOM1dURjEwU3RyaW5nSW1wbEUKIF9fWk4z
SlNDMTdjb25zdHJ1Y3RGdW5jdGlvbkVQTlNfOUV4ZWNTdGF0ZUVQTlNfMTRKU0dsb2JhbE9iamVj
dEVSS05TXzdBcmdMaXN0RVJLTlNfMTBJZGVudGlmaWVyRVJLTlNfN1VTdHJpbmdFaQogX19aTjNK
U0MxN2NyZWF0ZVN5bnRheEVycm9yRVBOU185RXhlY1N0YXRlRVJLTlNfN1VTdHJpbmdFCi1fX1pO
M0pTQzE4RGVidWdnZXJBY3RpdmF0aW9uNmNyZWF0ZUVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzhK
U09iamVjdEUKK19fWk4zSlNDMThEZWJ1Z2dlckFjdGl2YXRpb24xNGZpbmlzaENyZWF0aW9uRVJO
U18xMkpTR2xvYmFsRGF0YUVQTlNfOEpTT2JqZWN0RQorX19aTjNKU0MxOERlYnVnZ2VyQWN0aXZh
dGlvbkMxRVJOU18xMkpTR2xvYmFsRGF0YUUKIF9fWk4zSlNDMThQcm9wZXJ0eURlc2NyaXB0b3Ix
MXNldFdyaXRhYmxlRWIKIF9fWk4zSlNDMThQcm9wZXJ0eURlc2NyaXB0b3IxMnNldFVuZGVmaW5l
ZEV2CiBfX1pOM0pTQzE4UHJvcGVydHlEZXNjcmlwdG9yMTNzZXREZXNjcmlwdG9yRU5TXzdKU1Zh
bHVlRWoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dl
ckFjdGl2YXRpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2Vy
QWN0aXZhdGlvbi5jcHAKaW5kZXggYTcxMDFkY2I2YmFhNDBmZjRmZTBlZmEzMmQxZDU1YjY4YTk0
MTRlNS4uYWY2YTU2ZjliZTJhNjA0NzgyYzg1MGMzMWVmNTlkMmY0MGNkZjUwYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5j
cHAKQEAgLTM1LDEzICszNSw2IEBAIERlYnVnZ2VyQWN0aXZhdGlvbjo6RGVidWdnZXJBY3RpdmF0
aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKIHsKIH0KIAotRGVidWdnZXJBY3RpdmF0aW9u
KiBEZWJ1Z2dlckFjdGl2YXRpb246OmNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpT
T2JqZWN0KiBvYmplY3QpCi17Ci0gICAgRGVidWdnZXJBY3RpdmF0aW9uKiBhY3RpdmF0aW9uID0g
bmV3IChhbGxvY2F0ZUNlbGw8RGVidWdnZXJBY3RpdmF0aW9uPihnbG9iYWxEYXRhLmhlYXApKSBE
ZWJ1Z2dlckFjdGl2YXRpb24oZ2xvYmFsRGF0YSk7Ci0gICAgYWN0aXZhdGlvbi0+ZmluaXNoQ3Jl
YXRpb24oZ2xvYmFsRGF0YSwgb2JqZWN0KTsKLSAgICByZXR1cm4gYWN0aXZhdGlvbjsKLX0KLQog
dm9pZCBEZWJ1Z2dlckFjdGl2YXRpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgSlNPYmplY3QqIGFjdGl2YXRpb24pCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24oZ2xvYmFsRGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdn
ZXIvRGVidWdnZXJBY3RpdmF0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIv
RGVidWdnZXJBY3RpdmF0aW9uLmgKaW5kZXggZDgzYjJmNzBmYzRiMGI4YWE1OTlkZjQxNGM1ZjA3
MmFjZDk4NGQ2ZC4uMjY5ZWE5YzZiMjNjYzc1NjM0NTBlZmNlNDk5MjgxYjhkNjYwZTlmZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlv
bi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRp
b24uaApAQCAtMzQsNyArMzQsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgcHVibGljOgogICAg
ICAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKIAotICAgICAgICBzdGF0aWMgRGVi
dWdnZXJBY3RpdmF0aW9uKiBjcmVhdGUoSlNHbG9iYWxEYXRhJiwgSlNPYmplY3QqKTsKKyAgICAg
ICAgc3RhdGljIERlYnVnZ2VyQWN0aXZhdGlvbiogY3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgSlNPYmplY3QqIG9iamVjdCkKKyAgICAgICAgeworICAgICAgICAgICAgRGVidWdnZXJB
Y3RpdmF0aW9uKiBhY3RpdmF0aW9uID0gbmV3IChhbGxvY2F0ZUNlbGw8RGVidWdnZXJBY3RpdmF0
aW9uPihnbG9iYWxEYXRhLmhlYXApKSBEZWJ1Z2dlckFjdGl2YXRpb24oZ2xvYmFsRGF0YSk7Cisg
ICAgICAgICAgICBhY3RpdmF0aW9uLT5maW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBvYmplY3Qp
OworICAgICAgICAgICAgcmV0dXJuIGFjdGl2YXRpb247CisgICAgICAgIH0KKwogICAgICAgICB2
aXJ0dWFsIHZvaWQgdmlzaXRDaGlsZHJlbihTbG90VmlzaXRvciYpOwogICAgICAgICB2aXJ0dWFs
IFVTdHJpbmcgY2xhc3NOYW1lKCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Q
cm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggZTEwMzcwOTBiZDhjYTEyNzI0
YTVhNmYxMDdkYjMxYjk1YjEzMzZlNC4uZTE0ZjgwODcyMzNkMjBhYzhhOWY5MzUyMDY4MTg3ZjMx
ZTBkOTUwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTE1Nyw4ICsxNTcsOSBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBVU3RyaW5nIGNsYXNzTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJnbG9iYWwi
OyB9CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGNvbnN0cnVjdG9yQm9keShjb25zdCBWZWN0b3I8
VVN0cmluZz4mIGFyZ3VtZW50cykKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSwgY29uc3QgVmVjdG9yPFVTdHJpbmc+JiBhcmd1bWVudHMpCiAgICAgewor
ICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzKTsKICAgICAgICAg
cHV0RGlyZWN0RnVuY3Rpb24oZ2xvYmFsRXhlYygpLCBKU0Z1bmN0aW9uOjpjcmVhdGUoZ2xvYmFs
RXhlYygpLCB0aGlzLCBmdW5jdGlvblN0cnVjdHVyZSgpLCAxLCBJZGVudGlmaWVyKGdsb2JhbEV4
ZWMoKSwgImRlYnVnIiksIGZ1bmN0aW9uRGVidWcpKTsKICAgICAgICAgcHV0RGlyZWN0RnVuY3Rp
b24oZ2xvYmFsRXhlYygpLCBKU0Z1bmN0aW9uOjpjcmVhdGUoZ2xvYmFsRXhlYygpLCB0aGlzLCBm
dW5jdGlvblN0cnVjdHVyZSgpLCAxLCBJZGVudGlmaWVyKGdsb2JhbEV4ZWMoKSwgInByaW50Iiks
IGZ1bmN0aW9uUHJpbnQpKTsKICAgICAgICAgcHV0RGlyZWN0RnVuY3Rpb24oZ2xvYmFsRXhlYygp
LCBKU0Z1bmN0aW9uOjpjcmVhdGUoZ2xvYmFsRXhlYygpLCB0aGlzLCBmdW5jdGlvblN0cnVjdHVy
ZSgpLCAwLCBJZGVudGlmaWVyKGdsb2JhbEV4ZWMoKSwgInF1aXQiKSwgZnVuY3Rpb25RdWl0KSk7
CkBAIC0xOTAsNyArMTkxLDcgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChHbG9iYWxPYmpl
Y3QpOwogR2xvYmFsT2JqZWN0OjpHbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgVmVjdG9yPFVTdHJpbmc+JiBhcmd1bWVudHMp
CiAgICAgOiBKU0dsb2JhbE9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgY29u
c3RydWN0b3JCb2R5KGFyZ3VtZW50cyk7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwg
YXJndW1lbnRzKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblBy
aW50KEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZmQ5ZTcxZDdkMmMyYWMzODk1YTI2ZTQyYjli
YjAyZjI0MzcyMmJlYi4uNTIxZmNiYjg4NjI4MDQwMGFjYTQ0NWI4MTdiNzAwMzZiNTlmNDE1NyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5jcHAKQEAgLTUyLDggKzUyLDE0IEBAIGNvbnN0IENsYXNzSW5mbyBBcnJheUNvbnN0cnVjdG9y
OjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2luCiBBU1NFUlRf
Q0xBU1NfRklUU19JTl9DRUxMKEFycmF5Q29uc3RydWN0b3IpOwogCiBBcnJheUNvbnN0cnVjdG9y
OjpBcnJheUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3Rv
dHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgYXJyYXlQcm90b3R5cGUtPmNsYXNz
SW5mbygpLT5jbGFzc05hbWUpKQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIGFy
cmF5UHJvdG90eXBlKTsKK30KKwordm9pZCBBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEFycmF5UHJv
dG90eXBlKiBhcnJheVByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVj
LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBhcnJheVByb3Rv
dHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlw
ZSwgYXJyYXlQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKDEpLCBSZWFkT25seSB8IERvbnRFbnVtIHwg
RG9udERlbGV0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eUNvbnN0cnVjdG9yLmgKaW5kZXggNmM5ODEzMDdlZGRiOWE0NWExMWU3YzU0NzM0NzUxNDRiODYy
OTg2MS4uMmY4MTdmY2Q1YWI0YTBhYzViZjViOGQzMzk1MWI0OGYwNDZjY2EyOCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaApAQCAtNDQs
NiArNDQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgor
ICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0Kiwg
QXJyYXlQcm90b3R5cGUqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6
U3RydWN0dXJlRmxhZ3M7CiAKICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCmluZGV4IDk5Njc0YmIyM2I0OTgxOGIyZjNh
MzQ4NGMyNjZlMDEzOWQ4NmVmNDYuLjQyZjQxYTYzMWQ0OWNmM2RjZTljYThmZDdlNmI2ZGE4ZDU2
NDM2MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJv
dG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHAKQEAgLTExNyw3ICsxMTcsNiBAQCBjb25zdCBDbGFzc0luZm8gQXJyYXlQcm90b3R5
cGU6OnNfaW5mbyA9IHsiQXJyYXkiLCAmSlNBcnJheTo6c19pbmZvLCAwLCBFeGVjU3RhdAogQXJy
YXlQcm90b3R5cGU6OkFycmF5UHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNBcnJheShnbG9iYWxPYmplY3QtPmdsb2Jh
bERhdGEoKSwgc3RydWN0dXJlKQogewotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7
CiB9CiAKIHZvaWQgQXJyYXlQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQ
cm90b3R5cGUuaAppbmRleCA5YTYyOGUwYzY5M2NhOWQ3N2U3NzZhODZhOTlkODJhMzA1YjdjN2I4
Li40ZGQ2NjlhOGE1M2M1ZmM0ZDZjNTFmMjcyZTgyNDEwMDBhYjc2NTA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmgKQEAgLTM1LDcgKzM1LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIEFycmF5UHJvdG90eXBlKiBjcmVh
dGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2Nh
dGVDZWxsPEFycmF5UHJvdG90eXBlPigqZXhlYy0+aGVhcCgpKSkgQXJyYXlQcm90b3R5cGUoZ2xv
YmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgQXJyYXlQcm90b3R5cGUqIHByb3Rv
dHlwZSA9IG5ldyAoYWxsb2NhdGVDZWxsPEFycmF5UHJvdG90eXBlPigqZXhlYy0+aGVhcCgpKSkg
QXJyYXlQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgcHJv
dG90eXBlLT5maW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgcmV0dXJu
IHByb3RvdHlwZTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgYm9vbCBnZXRPd25Qcm9w
ZXJ0eVNsb3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5U2xvdCYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rv
ci5jcHAKaW5kZXggZWY2MjQwZTc5MjVhMTU3NGY5NGNlOThmOWUxOTU2ZTdjZGY0NzgwZi4uMmRi
NDI4NjU3MTg2M2Y5ZmFmNmQ4NWUwNGFhNjgwN2M4MWE5ZTYzZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwCkBAIC0yOSw4
ICsyOSwxNCBAQCBuYW1lc3BhY2UgSlNDIHsKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQm9v
bGVhbkNvbnN0cnVjdG9yKTsKIAogQm9vbGVhbkNvbnN0cnVjdG9yOjpCb29sZWFuQ29uc3RydWN0
b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgQm9vbGVhblByb3RvdHlwZSogYm9vbGVhblByb3RvdHlwZSkKLSAgICA6
IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1
Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgYm9vbGVhblByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNs
YXNzTmFtZSkpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJl
KQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgYm9vbGVhblByb3Rv
dHlwZSk7Cit9CisKK3ZvaWQgQm9vbGVhbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEJvb2xlYW5Qcm90b3R5
cGUqIGJvb2xlYW5Qcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+
Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIoZXhlYywgYm9vbGVhblByb3Rv
dHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlw
ZSwgYm9vbGVhblByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwog
CiAgICAgLy8gbm8uIG9mIGFyZ3VtZW50cyBmb3IgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKaW5kZXggZTdlYTU4
M2Q4YzdhNWY0MmNkZWJhOGVlM2JlYjY4YWE3ZWQ3YWI1Zi4uZTk3MzEwOWE1ZmMxNzEzYjZmM2Zh
OWUxNThiNTIzMWIzNTQyZGNiOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKQEAgLTM2LDYgKzM2LDkgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8Qm9vbGVhbkNvbnN0cnVj
dG9yPigqZXhlYy0+aGVhcCgpKSkgQm9vbGVhbkNvbnN0cnVjdG9yKGV4ZWMsIGdsb2JhbE9iamVj
dCwgc3RydWN0dXJlLCBib29sUHJvdG90eXBlKTsKICAgICAgICAgfQogCisgICAgcHJvdGVjdGVk
OgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0
KiwgQm9vbGVhblByb3RvdHlwZSopOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgQm9vbGVhbkNv
bnN0cnVjdG9yKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgQm9vbGVh
blByb3RvdHlwZSopOwogICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0
RGF0YShDb25zdHJ1Y3REYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5PYmplY3QuY3BwCmluZGV4IGI5ZTMzZGM0ODQyOThiNmNlZTY3NGUxOGQ1NGE4N2Y2
MmRhZGZkNTcuLmNiZGRkMGU5MjQzMzAwMmI4YTVjZjlmMzVmZmEyMTNmMGQ5NTE5YzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuY3BwCkBAIC0z
MCw3ICszMCw2IEBAIGNvbnN0IENsYXNzSW5mbyBCb29sZWFuT2JqZWN0OjpzX2luZm8gPSB7ICJC
b29sZWFuIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwCiBCb29sZWFuT2JqZWN0OjpCb29s
ZWFuT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CiAgICAgOiBKU1dyYXBwZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQogewotICAgIGZp
bmlzaENyZWF0aW9uKGdsb2JhbERhdGEpOwogfQogCiB2b2lkIEJvb2xlYW5PYmplY3Q6OmZpbmlz
aENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuaAppbmRleCA4NDYxMGQ5YjgxZjUwZTFkYWI4ZDgz
NDE1ZGQ0NzUyODU0ODk3ZTVlLi4yOTY0YzliNDEwZjkzM2YxNTcwNzUzZWNlMmQ5NGQwOWNkYjQ0
ZTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5o
CkBAIC0zNSw3ICszNSw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBCb29s
ZWFuT2JqZWN0KiBjcmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxs
PEJvb2xlYW5PYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIEJvb2xlYW5PYmplY3QoZ2xvYmFsRGF0
YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIEJvb2xlYW5PYmplY3QqIGJvb2xlYW4gPSBuZXcg
KGFsbG9jYXRlQ2VsbDxCb29sZWFuT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBCb29sZWFuT2Jq
ZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBib29sZWFuLT5maW5pc2hD
cmVhdGlvbihnbG9iYWxEYXRhKTsKKyAgICAgICAgICAgIHJldHVybiBib29sZWFuOwogICAgICAg
ICB9CiAgICAgICAgIAogICAgICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5jcHAK
aW5kZXggZGQwMTk0ZjNmNWQwOTJiMDhlYWMyNjZlYTk2OTk1ZDViNjMxMGYxYi4uNzFkYjljNDQx
ZWU1ZTI5YjlhOGYxY2U0OTg1N2NmNmFiOWE0ZWVhNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5jcHAKQEAgLTUyLDYgKzUyLDEyIEBA
IEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQm9vbGVhblByb3RvdHlwZSk7CiBCb29sZWFuUHJv
dG90eXBlOjpCb29sZWFuUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBCb29sZWFuT2JqZWN0
KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4
ZWMsIGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgQm9vbGVhblByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorewor
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSk7CiAgICAgc2V0SW50
ZXJuYWxWYWx1ZShleGVjLT5nbG9iYWxEYXRhKCksIGpzQm9vbGVhbihmYWxzZSkpOwogCiAgICAg
QVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaAppbmRleCA0NTlmZTU2MjI5YWRiNTlkMzIwMTE4ODdh
NjhjMDExZjNjZmZiNmZlLi5hODNmZjgxOWMwMTA4MzBkMTYzODZiY2I4NDQ3NjhkNTY5YzkzMTBl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90
eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlw
ZS5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAKICAgICBw
cm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9i
YWxPYmplY3QqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgQm9vbGVhbk9iamVjdDo6U3RydWN0dXJl
RmxhZ3M7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBbm9ueW1vdXNTbG90Q291bnQg
PSBCb29sZWFuT2JqZWN0OjpBbm9ueW1vdXNTbG90Q291bnQgKyAxOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAppbmRleCA5OTQ2ZmQz
N2RhZjQzMTZiMDgwMDkzYTE1MmJkYjcxNzU4MmY1NWVmLi4yN2QwYTllNDliYmU5YjRjNTkwNGYx
NTBlNjJlYzJjZjg5NDQyZTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTc0LDggKzc0LDE0IEBAIGNvbnN0IENsYXNzSW5m
byBEYXRlQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rp
b246OnNfaW5mCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKERhdGVDb25zdHJ1Y3Rvcik7CiAK
IERhdGVDb25zdHJ1Y3Rvcjo6RGF0ZUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERhdGVQcm90b3R5
cGUqIGRhdGVQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxE
YXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIGRhdGVQcm90
b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihn
bG9iYWxPYmplY3QsIHN0cnVjdHVyZSkgCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xv
YmFsT2JqZWN0LCBkYXRlUHJvdG90eXBlKTsKK30KKwordm9pZCBEYXRlQ29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgRGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBk
YXRlUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSk7CiAgICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCku
cHJvdG90eXBlLCBkYXRlUHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25s
eSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcig3KSwgUmVhZE9ubHkgfCBEb250
RW51bSB8IERvbnREZWxldGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9EYXRlQ29uc3RydWN0b3IuaAppbmRleCBkMzNkYTQ3NWZjMmViZWQ3YmJjYzlhYzgzYTNiZmVk
NzYwZTlhYWU4Li44NDY5ZDA4N2Q1OGMyZTRlOGQxODNmNDlmNTBkMTZiZjU4OTVlMmJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaApAQCAt
NDQsNiArNDQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVk
OgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0
KiwgRGF0ZVByb3RvdHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9u
OjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcAppbmRleCA2ZGYzMGQ3MjAxODgxODZkZTEyMjEw
M2UwZDg4MGU3ZjgyZmZmMzRlLi4xYjRhZGQ4OGRmMTAxNWIyMzBhNTgzOWIxMTU2MjcyNWFmNDQx
MWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFu
Y2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5j
cHAKQEAgLTM3LDEzICszNyw2IEBAIGNvbnN0IENsYXNzSW5mbyBEYXRlSW5zdGFuY2U6OnNfaW5m
byA9IHsiRGF0ZSIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMH07CiBEYXRlSW5zdGFu
Y2U6OkRhdGVJbnN0YW5jZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQog
ICAgIDogSlNXcmFwcGVyT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSk7Ci19Ci0KLURhdGVJbnN0YW5j
ZTo6RGF0ZUluc3RhbmNlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGRv
dWJsZSB0aW1lKQotICAgIDogSlNXcmFwcGVyT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3Ry
dWN0dXJlKQotewotICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGltZSk7
CiB9CiAKIHZvaWQgRGF0ZUluc3RhbmNlOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRl
SW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5o
CmluZGV4IGQ1MjAxZWUxOTI4ODY5ODc4MTE3YTA2YWNmZmNhYjVmOWIwOGY5M2QuLmJiOTQyOTcw
YjcxZTBkOWQ5M2QxMzUzOWRhZDgyZjgxNzQ5ZTlmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5oCkBAIC0zMSw3ICszMSw2IEBAIG5hbWVzcGFjZSBK
U0MgewogCiAgICAgY2xhc3MgRGF0ZUluc3RhbmNlIDogcHVibGljIEpTV3JhcHBlck9iamVjdCB7
CiAgICAgcHJvdGVjdGVkOgotICAgICAgICBEYXRlSW5zdGFuY2UoRXhlY1N0YXRlKiwgU3RydWN0
dXJlKiwgZG91YmxlKTsKICAgICAgICAgRGF0ZUluc3RhbmNlKEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZSopOwogICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYpOwogICAgICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYsIGRvdWJsZSk7CkBAIC00MSwxMyAr
NDAsMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIERhdGVJbnN0YW5jZSog
Y3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGRvdWJsZSBkYXRl
KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8RGF0ZUlu
c3RhbmNlPigqZXhlYy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNlKGV4ZWMsIHN0cnVjdHVyZSwgZGF0
ZSk7CisgICAgICAgICAgICBEYXRlSW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChhbGxvY2F0ZUNl
bGw8RGF0ZUluc3RhbmNlPigqZXhlYy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNlKGV4ZWMsIHN0cnVj
dHVyZSk7CisgICAgICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFs
RGF0YSgpLCBkYXRlKTsKKyAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICAgICAgfQor
CiAgICAgICAgIHN0YXRpYyBEYXRlSW5zdGFuY2UqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChh
bGxvY2F0ZUNlbGw8RGF0ZUluc3RhbmNlPigqZXhlYy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNlKGV4
ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBEYXRlSW5zdGFuY2UqIGluc3RhbmNlID0gbmV3
IChhbGxvY2F0ZUNlbGw8RGF0ZUluc3RhbmNlPigqZXhlYy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNl
KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3JlYXRpb24o
ZXhlYy0+Z2xvYmFsRGF0YSgpKTsKKyAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICAg
ICAgfQotICAgICAgICAKKwogICAgICAgICBkb3VibGUgaW50ZXJuYWxOdW1iZXIoKSBjb25zdCB7
IHJldHVybiBpbnRlcm5hbFZhbHVlKCkudW5jaGVja2VkR2V0TnVtYmVyKCk7IH0KIAogICAgICAg
ICBzdGF0aWMgSlNfRVhQT1JUREFUQSBjb25zdCBDbGFzc0luZm8gc19pbmZvOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcAppbmRleCBkZGEyOTQx
NjM4NDFjZGVkYzU0Zjc2OTU3ZDRhYzg0ZTMwZmE3ZTIxLi4xNzZkYzdlZTk1M2JmZjdlZWJlNDY4
MjM0ODY5NWRiN2EzNDQ2ODFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EYXRlUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9EYXRlUHJvdG90eXBlLmNwcApAQCAtNDMyLDYgKzQzMiwxMiBAQCBjb25zdCBDbGFzc0luZm8g
RGF0ZVByb3RvdHlwZTo6c19pbmZvID0geyJEYXRlIiwgJkRhdGVJbnN0YW5jZTo6c19pbmZvLCAw
LCBFeGVjUwogRGF0ZVByb3RvdHlwZTo6RGF0ZVByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDog
RGF0ZUluc3RhbmNlKGV4ZWMsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVj
LCBnbG9iYWxPYmplY3QpOworfQorCit2b2lkIERhdGVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGpzTmFOKCkpOwogICAgIEFT
U0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAKICAgICAvLyBUaGUgY29uc3RydWN0b3Igd2lsbCBi
ZSBhZGRlZCBsYXRlciwgYWZ0ZXIgRGF0ZUNvbnN0cnVjdG9yIGhhcyBiZWVuIGJ1aWx0LgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5oCmluZGV4IDdkZWUz
MzA3NGYxMzFkZTlmNTkyMzM1YzYzN2FkOWQ0ZGIxMjI3MmEuLjEyNWY5ODQ2MzRlODFkN2Q5ZjVl
MDIyMTMyMDdkOTU2ZjE1N2VlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9EYXRlUHJvdG90eXBlLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVj
U3RhdGUqLCBKU0dsb2JhbE9iamVjdCopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBEYXRlSW5zdGFu
Y2U6OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgICAgIENPTVBJTEVfQVNTRVJUKCFEYXRlSW5zdGFu
Y2U6OkFub255bW91c1Nsb3RDb3VudCwgRGF0ZVByb3RvdHlwZV9zdG9tcHNfb25feW91cl9hbm9u
eW1vdXNfc2xvdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKaW5kZXgg
Nzg2NzUwYmYyZmUwY2IxMTM0YjFhMmFmNjcxMjI1MTBkZTYzNDU3ZC4uNTBkNDQ4MzY1YmRhYjM3
MmNmNDVmOTJiZWQ3ODk3ZGJhZDhhMmRkZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yLmNwcApAQCAtMTY4LDkgKzE2OCwxMCBAQCBKU09iamVjdCogdGhyb3dTeW50YXhFcnJv
cihFeGVjU3RhdGUqIGV4ZWMpCiBjbGFzcyBTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24gOiBw
dWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwcml2YXRlOgogICAgIFN0cmljdE1vZGVUeXBlRXJy
b3JGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBtZXNzYWdlKQotICAgICAgICA6
IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1
Y3R1cmUsIGV4ZWMtPmdsb2JhbERhdGEoKS5wcm9wZXJ0eU5hbWVzLT5lbXB0eUlkZW50aWZpZXIp
CisgICAgICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAg
ICAgICAgLCBtX21lc3NhZ2UobWVzc2FnZSkKICAgICB7CisgICAgICAgIGZpbmlzaENyZWF0aW9u
KGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBleGVjLT5nbG9iYWxEYXRhKCkucHJv
cGVydHlOYW1lcy0+ZW1wdHlJZGVudGlmaWVyKTsKICAgICB9CiAKIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXgg
ZGYxMTJkZDIyMjFmOWM5OGY3YmRlOTBiYzBiYzhlOTEzMDI0YmUxMS4uOTM4ZjQwYWMzNjIzMzcy
YjAwNTIzM2IzNzZkZDVjYzRhMmVhZmFjYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTMwLDggKzMwLDE0IEBAIG5hbWVz
cGFjZSBKU0MgewogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChFcnJvckNvbnN0cnVjdG9yKTsK
IAogRXJyb3JDb25zdHJ1Y3Rvcjo6RXJyb3JDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBFcnJvclBy
b3RvdHlwZSogZXJyb3JQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5n
bG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIGVy
cm9yUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVu
Y3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhl
YywgZ2xvYmFsT2JqZWN0LCBlcnJvclByb3RvdHlwZSk7Cit9CisKK3ZvaWQgRXJyb3JDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBFcnJvclByb3RvdHlwZSogZXJyb3JQcm90b3R5cGUpCit7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZp
ZXIoZXhlYywgZXJyb3JQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKTsKICAgICAv
LyBFQ01BIDE1LjExLjMuMSBFcnJvci5wcm90b3R5cGUKICAgICBwdXREaXJlY3RXaXRob3V0VHJh
bnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5
cGUsIGVycm9yUHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAg
ICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigxKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
IHwgRG9udEVudW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JD
b25zdHJ1Y3Rvci5oCmluZGV4IDM4NzdhNmQxMTA3ODg5OTM0YTFjNDE4ODYwM2Y4NjA1MWEwMDli
MjEuLjk0NDIxM2Y5MjU0MjViMDYxNDc1MzFlZmIyMzg1MDc1MjgyM2Q5MDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKQEAgLTM2LDYg
KzM2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBu
ZXcgKGFsbG9jYXRlQ2VsbDxFcnJvckNvbnN0cnVjdG9yPigqZXhlYy0+aGVhcCgpKSkgRXJyb3JD
b25zdHJ1Y3RvcihleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgZXJyUHJvdG90eXBlKTsK
ICAgICAgICAgfQorCisgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgRXJyb3JQcm90b3R5cGUqKTsKICAgICAgICAg
CiAgICAgcHJpdmF0ZToKICAgICAgICAgRXJyb3JDb25zdHJ1Y3RvcihFeGVjU3RhdGUqLCBKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEVycm9yUHJvdG90eXBlKik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAKaW5kZXggNjk4Njc1MjRj
NGNlN2VmNWM3NjNiNmE1MjcyZTcxNmNlODQ5NTc5Yy4uMmE5YjlhOWIwNDBhNTQ1Mjg4NWQ4NDE1
ZWQwMWEyZWMxYWRjNjMwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3JQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yUHJvdG90eXBlLmNwcApAQCAtNTAsMTAgKzUwLDkgQEAgY29uc3QgQ2xhc3NJbmZvIEVy
cm9yUHJvdG90eXBlOjpzX2luZm8gPSB7ICJFcnJvciIsICZFcnJvckluc3RhbmNlOjpzX2luZm8s
IDAsIEUKIAogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChFcnJvclByb3RvdHlwZSk7CiAKLUVy
cm9yUHJvdG90eXBlOjpFcnJvclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorRXJyb3JQcm90b3R5cGU6
OkVycm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAg
ICAgOiBFcnJvckluc3RhbmNlKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogewotICAg
IGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgRXJyb3JQcm90
b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3Rv
dHlwZS5oCmluZGV4IGQ3YjE1MjI1YzgxOGYxMmRkMWI0NjNmZTFmNTQ3MDhjZGZjZjQ5YTkuLmQ0
OTFiZjk2MzhjZmYyZTkxMjExZTAwZTMxMzFmZTA0MDZhNTA3ODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaApAQCAtMzMsNyArMzMsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgRXJyb3JQcm90b3R5cGUqIGNyZWF0ZShF
eGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSog
c3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNl
bGw8RXJyb3JQcm90b3R5cGU+KCpleGVjLT5oZWFwKCkpKSBFcnJvclByb3RvdHlwZShleGVjLCBn
bG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBFcnJvclByb3RvdHlwZSogcHJv
dG90eXBlID0gbmV3IChhbGxvY2F0ZUNlbGw8RXJyb3JQcm90b3R5cGU+KCpleGVjLT5oZWFwKCkp
KSBFcnJvclByb3RvdHlwZShleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgcHJvdG90eXBl
LT5maW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgcmV0dXJu
IHByb3RvdHlwZTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3RhdGljIGNvbnN0IENs
YXNzSW5mbyBzX2luZm87CkBAIC00NCw3ICs0Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIEVycm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSos
IEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CisgICAgICAgIEVycm9yUHJvdG90eXBlKEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZSopOwogICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNT
dGF0ZSosIEpTR2xvYmFsT2JqZWN0Kik7CiAKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgRXJyb3JJbnN0
YW5jZTo6U3RydWN0dXJlRmxhZ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCmluZGV4IDUwZDliNWY3ZGE2ZWVjMjMzYTI5
YWVjYWMwZjhiYjM2ZjM0MDBjOTQuLjhjZjBkMmE2OWI5MDc5OWQ4NzMyNGQ5OGFkYTc5NTg1MjE5
MzEyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uQ29uc3RydWN0b3IuY3BwCkBAIC0zOCw4ICszOCwxNCBAQCBuYW1lc3BhY2UgSlNDIHsKIEFT
U0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRnVuY3Rpb25Db25zdHJ1Y3Rvcik7CiAKIEZ1bmN0aW9u
Q29uc3RydWN0b3I6OkZ1bmN0aW9uQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRnVuY3Rpb25Qcm90
b3R5cGUqIGZ1bmN0aW9uUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+
Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBm
dW5jdGlvblByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJbnRlcm5h
bEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9u
KGV4ZWMsIGdsb2JhbE9iamVjdCwgZnVuY3Rpb25Qcm90b3R5cGUpOworfQorCit2b2lkIEZ1bmN0
aW9uQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgRnVuY3Rpb25Qcm90b3R5cGUqIGZ1bmN0aW9uUHJvdG90eXBl
KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFs
T2JqZWN0LCBJZGVudGlmaWVyKGV4ZWMsIGZ1bmN0aW9uUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+
Y2xhc3NOYW1lKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFs
RGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBmdW5jdGlvblByb3RvdHlw
ZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogCiAgICAgLy8gTnVtYmVyIG9m
IGFyZ3VtZW50cyBmb3IgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaAppbmRleCA5YzU1ZDg4ODlkMGQ5YWE0MDY5
ZDgxZThmYzdkOTA2YTUxODFiMzVhLi5lOTdjNTNmZmU3N2QxMTEyYmY0YjA3NjUyYzUyODZiNGQw
NjE1MzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
bkNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25Db25zdHJ1Y3Rvci5oCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgRnVuY3Rpb25Db25zdHJ1Y3RvcihFeGVjU3RhdGUqLCBKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSosIEZ1bmN0aW9uUHJvdG90eXBlKik7CisgICAgICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBGdW5jdGlvblByb3Rv
dHlwZSopOwogICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShD
b25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25Qcm90b3R5cGUuY3BwCmluZGV4IDk2Y2Q2NzczYmNlYzVhODExZGNiNDE3Nzc1NTM0
MTAyZTI1MWJkZTIuLjAwZjhiMjVlZGUzY2NjOTEyOTNkYzczMzU5ZTExYmNjZmVmYzE4NjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBl
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlw
ZS5jcHAKQEAgLTM4LDggKzM4LDE0IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGZ1bmN0aW9uUHJvdG9GdW5jQXBwbHkoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY0NhbGwoRXhlY1N0YXRlKik7CiAK
IEZ1bmN0aW9uUHJvdG90eXBlOjpGdW5jdGlvblByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDog
SW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVj
dHVyZSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm51bGxJZGVudGlmaWVyKQorICAgIDogSW50ZXJu
YWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlv
bihleGVjLCBnbG9iYWxPYmplY3QsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5udWxsSWRlbnRpZmll
cik7Cit9CisKK3ZvaWQgRnVuY3Rpb25Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYg
bmFtZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGds
b2JhbE9iamVjdCwgbmFtZSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+
Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigwKSwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaAppbmRleCBlNTdjYTlkODg5
NTM1MGUzZDJjYTVhM2E3YzYzNTg2ZjY5NTY5ZDI2Li5iZDkwZGM4NzgxZjQwMTkzM2MxOTBkM2U3
ZDQxMTdmOTY4MjQ1MTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvblByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUHJvdG90eXBlLmgKQEAgLTQxLDYgKzQxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgcHJvdG8sIFR5
cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgQW5vbnltb3VzU2xvdENvdW50LCAm
c19pbmZvKTsKICAgICAgICAgfQogCisgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgSWRlbnRpZmllciYg
bmFtZSk7CisKICAgICBwcml2YXRlOgogICAgICAgICBGdW5jdGlvblByb3RvdHlwZShFeGVjU3Rh
dGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgICAgICB2aXJ0dWFsIENhbGxU
eXBlIGdldENhbGxEYXRhKENhbGxEYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCmluZGV4IDA3YzBmN2Y1YmY2NWEzZTc1NmI1
MWMyNDAzN2NhY2MzM2M0MmU2MjIuLjVlNzY0NjExNjhmYmIwYTExYjM5NmMzMTM2ZTI2YzhiNTAx
MTRjZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uY3BwCkBAIC00MSwxMCArNDEsOSBAQCBJbnRlcm5hbEZ1bmN0aW9uOjpJbnRlcm5h
bEZ1bmN0aW9uKFZQdHJTdGVhbGluZ0hhY2tUeXBlKQogewogfQogCi1JbnRlcm5hbEZ1bmN0aW9u
OjpJbnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpCitJbnRlcm5hbEZ1bmN0aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNPYmplY3RXaXRo
R2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewotICAgIGZpbmlzaENyZWF0
aW9uKCpnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIG5hbWUpOwogfQogCiB2b2lkIEludGVybmFs
RnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaAppbmRleCA2MDY3
YmU4ZGJmZGRiMzdjYTQ2MDc5ODFhNzMwOGE1ODM4MDY4NWNhLi5kY2RmZTc1NjQ5MzgyOWZhYzUw
N2EzNDRiYmExYmM1OWZlMGI1NjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oCkBAIC01Miw3ICs1Miw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICAvLyBPbmx5IHVzZWQgdG8gYWxsb3cgdXMgdG8gZGV0ZXJtaW5lIHRoZSBKU0Z1
bmN0aW9uIHZwdHIKICAgICAgICAgSW50ZXJuYWxGdW5jdGlvbihWUHRyU3RlYWxpbmdIYWNrVHlw
ZSk7CiAKLSAgICAgICAgSW50ZXJuYWxGdW5jdGlvbihKU0dsb2JhbERhdGEqLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSosIGNvbnN0IElkZW50aWZpZXImKTsKKyAgICAgICAgSW50ZXJuYWxG
dW5jdGlvbihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogCiAgICAgICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgSlNHbG9iYWxPYmplY3QqLCBjb25zdCBJZGVudGlm
aWVyJiBuYW1lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBY3RpdmF0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZh
dGlvbi5jcHAKaW5kZXggNWM5OWQ3YTY1NDM4ZDFjZTc5ZGM3Y2I1MDVhODU3N2EzZjY5N2JlYi4u
ZGJjOTY3ZTAzNjc2ZmE3MjQwM2VlZjY5NWQ1NDk3MWM4ZmJkODg1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwCkBAIC00Niw3ICs0Niw2IEBA
IEpTQWN0aXZhdGlvbjo6SlNBY3RpdmF0aW9uKENhbGxGcmFtZSogY2FsbEZyYW1lLCBGdW5jdGlv
bkV4ZWN1dGFibGUqIGZ1bmN0aW9uRXhlCiAgICAgLCBtX3JlcXVpcmVzRHluYW1pY0NoZWNrcyhm
dW5jdGlvbkV4ZWN1dGFibGUtPnVzZXNFdmFsKCkpCiAgICAgLCBtX2FyZ3VtZW50c1JlZ2lzdGVy
KGZ1bmN0aW9uRXhlY3V0YWJsZS0+Z2VuZXJhdGVkQnl0ZWNvZGUoKS5hcmd1bWVudHNSZWdpc3Rl
cigpKQogewotICAgIGZpbmlzaENyZWF0aW9uKGNhbGxGcmFtZSk7CiB9CiAKIHZvaWQgSlNBY3Rp
dmF0aW9uOjpmaW5pc2hDcmVhdGlvbihDYWxsRnJhbWUqIGNhbGxGcmFtZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgKaW5kZXggZGEyZTQ2NTVlMDY5NGY3
YzU5M2QzYWYxNzFkNjAwZmQwNzA2NjI1ZC4uYWYxYjliYmMxNDhlYmQwMWVjYzc0MGM1NzJhNDg5
MzllMjAxNGMyNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
Y3RpdmF0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0
aW9uLmgKQEAgLTQ4LDcgKzQ4LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGlj
IEpTQWN0aXZhdGlvbiogY3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY0V4ZWMpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxKU0FjdGl2YXRpb24+KGdsb2JhbERh
dGEuaGVhcCkpIEpTQWN0aXZhdGlvbihjYWxsRnJhbWUsIGZ1bmNFeGVjKTsKKyAgICAgICAgICAg
IEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbiA9IG5ldyAoYWxsb2NhdGVDZWxsPEpTQWN0aXZhdGlv
bj4oZ2xvYmFsRGF0YS5oZWFwKSkgSlNBY3RpdmF0aW9uKGNhbGxGcmFtZSwgZnVuY0V4ZWMpOwor
ICAgICAgICAgICAgYWN0aXZhdGlvbi0+ZmluaXNoQ3JlYXRpb24oY2FsbEZyYW1lKTsKKyAgICAg
ICAgICAgIHJldHVybiBhY3RpdmF0aW9uOwogICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB+
SlNBY3RpdmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaAppbmRleCA4NWM0Mjk2NjMxYWUzZTYzZDkzODAzNWVhNzA4MDA0YmZjZWUwNzMy
Li43YWVmNzY5ZWZjNDI5MjdkY2U1MDAwYjYyM2I5MThjYWQxZWM3ZDUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTE0Niw3ICsxNDYs
OSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgSlNHbG9iYWxPYmplY3QqIGNy
ZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAg
ICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNHbG9iYWxPYmpl
Y3Q+KGdsb2JhbERhdGEuaGVhcCkpIEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVy
ZSk7CisgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbmV3IChhbGxv
Y2F0ZUNlbGw8SlNHbG9iYWxPYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIEpTR2xvYmFsT2JqZWN0
KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmZpbmlz
aENyZWF0aW9uKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4g
Z2xvYmFsT2JqZWN0OwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIEpTX0VYUE9SVERBVEEg
Y29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKQEAgLTE1OSwxNyArMTYxLDYgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgICAgICAsIG1fd2Vha1JhbmRvbShzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmFu
ZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpICsgMS4w
KSkpCiAgICAgICAgICAgICAsIG1fZXZhbEVuYWJsZWQodHJ1ZSkKICAgICAgICAgewotICAgICAg
ICAgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhpcyk7Ci0gICAgICAgIH0KLQotICAg
ICAgICBKU0dsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU09iamVjdCogdGhpc1ZhbHVlKQotICAgICAgICAgICAgOiBKU1ZhcmlhYmxl
T2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSwgJm1fc3ltYm9sVGFibGUsIDApCi0gICAgICAg
ICAgICAsIG1fcmVnaXN0ZXJBcnJheVNpemUoMCkKLSAgICAgICAgICAgICwgbV9nbG9iYWxTY29w
ZUNoYWluKCkKLSAgICAgICAgICAgICwgbV93ZWFrUmFuZG9tKHN0YXRpY19jYXN0PHVuc2lnbmVk
PihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkg
KyAxLjApKSkKLSAgICAgICAgICAgICwgbV9ldmFsRW5hYmxlZCh0cnVlKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzVmFsdWUpOwogICAgICAg
ICB9CiAKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEsIEpTT2JqZWN0KiB0aGlzVmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT05PYmplY3QuY3BwCmluZGV4IDE3MzE1MmIyOTE5M2RmMjAyNDU4MTIzNzY3NjhmYmQ4OWRl
NzM2MGMuLjExMjE0NjgzN2FlMmZkMGJjYTlhNjM3ZTVmMTc4NTY0M2MwYzY0YzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC01Niw3ICs1Niw2
IEBAIG5hbWVzcGFjZSBKU0MgewogSlNPTk9iamVjdDo6SlNPTk9iamVjdChKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTT2JqZWN0V2l0
aEdsb2JhbE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVh
dGlvbihnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIEpTT05PYmplY3Q6OmZpbmlzaENyZWF0aW9u
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09OT2JqZWN0LmgKaW5kZXggNDgwZTc0YmRiODM0OTM2YmQyOWY3MmU2YWNkZTI0NjE3
ZGU2YTVmMi4uZjkyZjQ2MDZkMDA5NGM4MTVlOTQxMzI0MzJiODZjNjUyODRiNjI2NyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaApAQCAtMzgsNyArMzgsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgSlNPTk9iamVjdCogY3JlYXRlKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2Vs
bDxKU09OT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNPTk9iamVjdChnbG9iYWxPYmplY3QsIHN0
cnVjdHVyZSk7CisgICAgICAgICAgICBKU09OT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRl
Q2VsbDxKU09OT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNPTk9iamVjdChnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSk7CisgICAgICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9i
amVjdCk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAgICAgICAgIAog
ICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhLCBKU1ZhbHVlIHByb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuaAppbmRleCAyOWE0Y2FlOTE0N2E1Nzcz
MmI4YmZhODExODI3ODQ5MTM5M2JlMWM1Li45YzE4YzYyZjRlNGJmMjNmYWRiNDRkN2NjOTBkMGU1
MWYxZjc5NDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0
YXRpY1Njb3BlT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
dGF0aWNTY29wZU9iamVjdC5oCkBAIC0zNiw3ICszNiw5IEBAIG5hbWVzcGFjZSBKU0N7CiAKICAg
ICAgICAgc3RhdGljIEpTU3RhdGljU2NvcGVPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVkIGF0
dHJpYnV0ZXMpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2Vs
bDxKU1N0YXRpY1Njb3BlT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNTdGF0aWNTY29wZU9iamVj
dChleGVjLCBpZGVudGlmaWVyLCB2YWx1ZSwgYXR0cmlidXRlcyk7CisgICAgICAgICAgICBKU1N0
YXRpY1Njb3BlT2JqZWN0KiBzY29wZU9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPEpTU3RhdGlj
U2NvcGVPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBKU1N0YXRpY1Njb3BlT2JqZWN0KGV4ZWMpOwor
ICAgICAgICAgICAgc2NvcGVPYmplY3QtPmZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50aWZpZXIs
IHZhbHVlLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgICAgIHJldHVybiBzY29wZU9iamVjdDsKICAg
ICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCB2aXNpdENoaWxkcmVuKFNsb3RWaXNpdG9y
Jik7CkBAIC01OSwxMCArNjEsOSBAQCBuYW1lc3BhY2UgSlNDewogICAgICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBJc0Vudmlyb25tZW50UmVjb3JkIHwgT3ZlcnJp
ZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbiB8IE92ZXJyaWRl
c0dldFByb3BlcnR5TmFtZXMgfCBKU1ZhcmlhYmxlT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKIAog
ICAgIHByaXZhdGU6Ci0gICAgICAgIEpTU3RhdGljU2NvcGVPYmplY3QoRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBh
dHRyaWJ1dGVzKQorICAgICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykK
ICAgICAgICAgICAgIDogSlNWYXJpYWJsZU9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMt
Pmdsb2JhbERhdGEoKS5zdGF0aWNTY29wZVN0cnVjdHVyZS5nZXQoKSwgJm1fc3ltYm9sVGFibGUs
IHJlaW50ZXJwcmV0X2Nhc3Q8UmVnaXN0ZXIqPigmbV9yZWdpc3RlclN0b3JlICsgMSkpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50aWZpZXIsIHZhbHVl
LCBhdHRyaWJ1dGVzKTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgU3ltYm9sVGFibGUg
bV9zeW1ib2xUYWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU3RyaW5nLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNw
cAppbmRleCBiZDM1NWY3NjZhYjRlM2I2OWYzMmM5ZWQyODNkZmMwOWQ5M2JjMTQ5Li40N2RiMWZm
ODAzMzBmOWJmMmVlNTNmNDFhYTI3NGU3YmQzZjRmMTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCkBAIC0yOTgsNyArMjk4LDkgQEAgVVN0cmluZyBKU1N0
cmluZzo6dG9TdHJpbmcoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogCiBpbmxpbmUgU3RyaW5nT2Jq
ZWN0KiBTdHJpbmdPYmplY3Q6OmNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTU3RyaW5nKiBzdHJpbmcpCiB7Ci0gICAgcmV0dXJuIG5ldyAoYWxs
b2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmluZ09iamVjdChleGVj
LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdC0+c3RyaW5nT2JqZWN0U3RydWN0dXJlKCksIHN0
cmluZyk7CisgICAgU3RyaW5nT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxTdHJp
bmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgp
LCBnbG9iYWxPYmplY3QtPnN0cmluZ09iamVjdFN0cnVjdHVyZSgpKTsKKyAgICBvYmplY3QtPmZp
bmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RyaW5nKTsKKyAgICByZXR1cm4gb2Jq
ZWN0OwogfQogCiBKU09iamVjdCogSlNTdHJpbmc6OnRvT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKaW5kZXggNWVjNTZhMzZlNzM3NTU5YTMwZGZiMTIw
OGEwYzEzY2ViYTk4N2I2ZC4uYTRlNzU5NmY3NDNlNzM2OTg2ODc2ZGVjMDlkMDU3MGEwYzQzYWVl
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKQEAg
LTg0LDEwICs4NCw5IEBAIGNvbnN0IENsYXNzSW5mbyBNYXRoT2JqZWN0OjpzX2luZm8gPSB7ICJN
YXRoIiwgJkpTT2JqZWN0V2l0aEdsb2JhbE9iamVjdDo6c19pbmZvCiBAZW5kCiAqLwogCi1NYXRo
T2JqZWN0OjpNYXRoT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitNYXRoT2JqZWN0OjpNYXRoT2JqZWN0KEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDog
SlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewotICAg
IGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgTWF0aE9iamVj
dDo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9i
amVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oCmluZGV4
IDdmYmVkOTBiZmJkMmNiMTE1YWQ4NTI0ZmU0M2VkN2E0ZjYwYWUyOGEuLmFlZjdlMTI4MTkwMThj
NDc4MTU5OTJiYWE0YWE0OTVkNWIwMTlhNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXRoT2JqZWN0LmgKQEAgLTI3LDE0ICsyNywxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgIGNsYXNzIE1hdGhPYmplY3QgOiBwdWJsaWMgSlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0IHsK
ICAgICBwcml2YXRlOgotICAgICAgICBNYXRoT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKik7CisgICAgICAgIE1hdGhPYmplY3QoSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqKTsKIAogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBKU09iamVjdFdpdGhH
bG9iYWxPYmplY3QgQmFzZTsKIAogICAgICAgICBzdGF0aWMgTWF0aE9iamVjdCogY3JlYXRlKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2Vs
bDxNYXRoT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgTWF0aE9iamVjdChleGVjLCBnbG9iYWxPYmpl
Y3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBNYXRoT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFs
bG9jYXRlQ2VsbDxNYXRoT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgTWF0aE9iamVjdChnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGV4
ZWMsIGdsb2JhbE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiwgY29u
c3QgSWRlbnRpZmllciYsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9w
ZXJ0eURlc2NyaXB0b3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOGM2NmY3ZWFmNTUyYjJjNTY5
YTZlYmZkNjNhMDI0MTk1NDBhMmM3ZC4uNTM3YTQ1NzZjNzAyM2MwOTcwMjVhMmJjMDhlNmZiNGEz
ZDlmNjA2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZl
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTMzLDkgKzMzLDkgQEAgQVNTRVJUX0NMQVNT
X0ZJVFNfSU5fQ0VMTChOYXRpdmVFcnJvckNvbnN0cnVjdG9yKTsKIGNvbnN0IENsYXNzSW5mbyBO
YXRpdmVFcnJvckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1
bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAogTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6TmF0aXZl
RXJyb3JDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVy
ZSwgY29uc3QgVVN0cmluZyYgbmFtZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmds
b2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgbmFt
ZSkpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewot
ICAgIGNvbnN0cnVjdG9yQm9keShleGVjLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZVN0cnVjdHVy
ZSwgbmFtZSk7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGVTdHJ1Y3R1cmUsIG5hbWUpOwogfQogCiB2b2lkIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6OnZp
c2l0Q2hpbGRyZW4oU2xvdFZpc2l0b3ImIHZpc2l0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggZjQ2Mjg2
YTdiYjRkYjc3YjZlZjRjOTllMjRiYWU0MGQzM2MyYTdiOS4uYjBmMGVkYzkxOTEwN2MxMjU0Zjhh
NDE2MWQ5NWE0NjkxNGIyOWJkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaApAQCAtNDksOCArNDksOSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSgpIHsgcmV0dXJu
IG1fZXJyb3JTdHJ1Y3R1cmUuZ2V0KCk7IH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdm9p
ZCBjb25zdHJ1Y3RvckJvZHkoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgbmFt
ZSkKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25z
dCBVU3RyaW5nJiBuYW1lKQogICAgICAgICB7CisgICAgICAgICAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBu
YW1lKSk7CiAgICAgICAgICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogCiAgICAgICAg
ICAgICBOYXRpdmVFcnJvclByb3RvdHlwZSogcHJvdG90eXBlID0gTmF0aXZlRXJyb3JQcm90b3R5
cGU6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZVN0cnVjdHVyZSwgbmFtZSwg
dGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVF
cnJvclByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVF
cnJvclByb3RvdHlwZS5jcHAKaW5kZXggZTVmZTdjYzA1MmYwODZhNmNhNTVlNWVlYTU5YWQ5NDk4
OTVjYjc5Zi4uOGExNTMwYjdkNTcxZmM2MmU5ZTc0YmZlN2MwOGU0M2I0NTM2OGFmYiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90
eXBlLmNwcApAQCAtMzAsMTYgKzMwLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogCiBBU1NFUlRfQ0xB
U1NfRklUU19JTl9DRUxMKE5hdGl2ZUVycm9yUHJvdG90eXBlKTsKIAotTmF0aXZlRXJyb3JQcm90
b3R5cGU6Ok5hdGl2ZUVycm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG5h
bWUsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yKQotICAgIDogRXJyb3JQcm90
b3R5cGUoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCitOYXRpdmVFcnJvclByb3RvdHlw
ZTo6TmF0aXZlRXJyb3JQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgbmFtZUFu
ZE1lc3NhZ2UsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yKQorICAgIDogRXJy
b3JQcm90b3R5cGUoZXhlYywgc3RydWN0dXJlKQogewotICAgIGNvbnN0cnVjdG9yQm9keShleGVj
LCBuYW1lLCBjb25zdHJ1Y3Rvcik7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2Jq
ZWN0LCBuYW1lQW5kTWVzc2FnZSwgY29uc3RydWN0b3IpOwogfQogCi1pbmxpbmUgdm9pZCBOYXRp
dmVFcnJvclByb3RvdHlwZTo6Y29uc3RydWN0b3JCb2R5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
VVN0cmluZyYgbmFtZSwgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IpCitpbmxp
bmUgdm9pZCBOYXRpdmVFcnJvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBVU3RyaW5nJiBuYW1lQW5k
TWVzc2FnZSwgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IpCiB7Ci0gICAgcHV0
RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm5hbWUsIGpz
U3RyaW5nKGV4ZWMsIG5hbWUpLCBEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm1lc3NhZ2UsIGpzRW1wdHlTdHJpbmcoZXhl
YyksIERvbnRFbnVtKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmpl
Y3QpOworICAgIHB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFt
ZXMoKS5uYW1lLCBqc1N0cmluZyhleGVjLCBuYW1lQW5kTWVzc2FnZSksIERvbnRFbnVtKTsKKyAg
ICBwdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubWVz
c2FnZSwganNTdHJpbmcoZXhlYywgbmFtZUFuZE1lc3NhZ2UpLCBEb250RW51bSk7CiAgICAgcHV0
RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVj
dG9yLCBjb25zdHJ1Y3RvciwgRG9udEVudW0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuaAppbmRleCAzMzQ5MmJkOGRm
MzI5NzVlMWE4ZjQ3ZmQxY2EzYjBiYTA3YTI0OWEyLi5kODk0YWI0ZjM1MzA2YThmYTc5YmVhOWFj
NGU5NzE3OGZmNzVkMDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdm9pZCBjb25zdHJ1Y3Rv
ckJvZHkoRXhlY1N0YXRlKiwgY29uc3QgVVN0cmluZyYgbmFtZSwgTmF0aXZlRXJyb3JDb25zdHJ1
Y3RvciopOworICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFs
T2JqZWN0KiwgY29uc3QgVVN0cmluZyYgbmFtZUFuZE1lc3NhZ2UsIE5hdGl2ZUVycm9yQ29uc3Ry
dWN0b3IqKTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAppbmRleCA0YjdmNjgz
NmYxYWYzOGUzOTQ4MTU2YmQzYjEwYWE1NGI0N2I2NjkxLi5kZGU2NDI0MDZiMjFlN2ViZGYyM2Vh
OWUwMjRhNTQ0M2M3NTAzZTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCkBAIC01NSw4ICs1NSwxNCBAQCBjb25zdCBDbGFz
c0luZm8gTnVtYmVyQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFs
RnVuY3Rpb246OnNfaQogKi8KIAogTnVtYmVyQ29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9y
KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIE51bWJlclByb3RvdHlwZSogbnVtYmVyUHJvdG90eXBlKQotICAgIDogSW50
ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgSWRlbnRpZmllcihleGVjLCBudW1iZXJQcm90b3R5cGUtPnNfaW5mby5jbGFzc05hbWUpKQor
ICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkgCiB7CisgICAg
ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBudW1iZXJQcm90b3R5cGUpOworfQor
Cit2b2lkIE51bWJlckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMs
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE51bWJlclByb3RvdHlwZSogbnVtYmVyUHJv
dG90eXBlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwg
Z2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyKGV4ZWMsIG51bWJlclByb3RvdHlwZS0+c19pbmZvLmNs
YXNzTmFtZSkpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAKICAgICAvLyBOdW1i
ZXIuUHJvdG90eXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dW1iZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVy
Q29uc3RydWN0b3IuaAppbmRleCA3NTVkMGI0NWZhZjYwODJhNjg5Njc1NzFiZWI3N2NjN2U3MzQw
MzZhLi5hZjgyMWQ5OGFiMDkzNzJlNzRkNmZkNDJiMTMyZWFkYjk0N2E4NDYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKQEAgLTUw
LDYgKzUwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGVudW0geyBOYU5WYWx1ZSwgTmVn
SW5maW5pdHksIFBvc0luZmluaXR5LCBNYXhWYWx1ZSwgTWluVmFsdWUgfTsKIAogICAgIHByb3Rl
Y3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9i
amVjdCosIE51bWJlclByb3RvdHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBsZW1lbnRz
SGFzSW5zdGFuY2UgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHBy
aXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJP
YmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNw
cAppbmRleCAyMjY3NmQwZmZhOGNjNzQ2YWQxNmQ2ZTQyOGYzYmM4Y2Q3MGQ3NjJkLi5jZmJjMjNj
NjI5OWUzOWM2ZDk5ZDM3ZTQwZjZhMjM3NzFiYjRiNmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAgY29uc3Qg
Q2xhc3NJbmZvIE51bWJlck9iamVjdDo6c19pbmZvID0geyAiTnVtYmVyIiwgJkpTV3JhcHBlck9i
amVjdDo6c19pbmZvLCAwLAogTnVtYmVyT2JqZWN0OjpOdW1iZXJPYmplY3QoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTV3JhcHBlck9iamVj
dChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0
YSk7CiB9CiAKIHZvaWQgTnVtYmVyT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dW1iZXJPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVj
dC5oCmluZGV4IDkwMWY1ZWI0YjBmM2I1NDE3ZmRjOTlkMjI1ZWVhMmY3MTM0NTIxZmIuLjk2OWUx
ZWY2YTBmYjgzNDg0NDBmMjU0YTNmMGVhNGEyZDI5ZmZkOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5oCkBAIC0zNSw3ICszNSw5IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBOdW1iZXJPYmplY3QqIGNyZWF0ZShKU0dsb2JhbERh
dGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAg
ICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8TnVtYmVyT2JqZWN0PihnbG9iYWxEYXRhLmhl
YXApKSBOdW1iZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIE51
bWJlck9iamVjdCogbnVtYmVyID0gbmV3IChhbGxvY2F0ZUNlbGw8TnVtYmVyT2JqZWN0PihnbG9i
YWxEYXRhLmhlYXApKSBOdW1iZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKKyAgICAg
ICAgICAgIG51bWJlci0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CisgICAgICAgICAgICBy
ZXR1cm4gbnVtYmVyOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5m
byBzX2luZm87CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1i
ZXJQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJv
dG90eXBlLmNwcAppbmRleCA2NzlmNzQ3OWRlYzdlZWI1NDNlZTllNjIzMzNmMDZmODNkNDllZjRk
Li4xMGE3ZTRlNDM0MjViYjRmZjQ5NWJiNmMyNDkzNzU5ZjhlNWQ0OTE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAKQEAgLTY3LDYg
KzY3LDEyIEBAIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTnVtYmVyUHJvdG90eXBlKTsKIE51
bWJlclByb3RvdHlwZTo6TnVtYmVyUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBOdW1iZXJP
YmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRp
b24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBOdW1iZXJQcm90b3R5cGU6OmZpbmlz
aENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
K3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCkpOwogICAgIHNl
dEludGVybmFsVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBqc051bWJlcigwKSk7CiAKICAgICBB
U1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OdW1iZXJQcm90b3R5cGUuaAppbmRleCBkYjZmZWNlZjM3YzcyMjU4OTllMzBmMDQ4MTY4
MjE5MDdmMTEwODllLi40ODNkNzI0OWRjODcwMjk4NjE0ODk4MmZmMWE5MzYxNDEzNjI5MTRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuaApA
QCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVj
dGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2Jq
ZWN0Kik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92
ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE51bWJlck9iamVjdDo6U3RydWN0dXJlRmxhZ3M7
CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBbm9ueW1vdXNTbG90Q291bnQgPSBOdW1i
ZXJPYmplY3Q6OkFub255bW91c1Nsb3RDb3VudCArIDE7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAppbmRleCBjMzI1ZmEwNzBi
MWY3YmI5NDYwYzIxOGIyMGI2MmU3OGJiZDRiOGE1Li5kNDc0MzBlZjI5MzdjMmQ0YTc0MDBlN2I1
N2JhYTIxOGFmMDMyNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCkBAIC03Niw4ICs3NiwxNCBAQCBjb25zdCBDbGFzc0lu
Zm8gT2JqZWN0Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVu
Y3Rpb246OnNfaQogKi8KIAogT2JqZWN0Q29uc3RydWN0b3I6Ok9iamVjdENvbnN0cnVjdG9yKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIE9iamVjdFByb3RvdHlwZSogb2JqZWN0UHJvdG90eXBlKQotICAgIDogSW50ZXJu
YWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwg
SWRlbnRpZmllcihleGVjLCAiT2JqZWN0IikpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2Jh
bE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9i
amVjdCwgb2JqZWN0UHJvdG90eXBlKTsKK30KKwordm9pZCBPYmplY3RDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBPYmplY3RQcm90b3R5cGUqIG9iamVjdFByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVj
LCAiT2JqZWN0IikpOwogICAgIC8vIEVDTUEgMTUuMi4zLjEKICAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90
b3R5cGUsIG9iamVjdFByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
OwogICAgIC8vIG5vLiBvZiBhcmd1bWVudHMgZm9yIGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaAppbmRleCA4ZjE0MzYx
NDRlNDZjNDk2YjgwZGMwMGEwMmI3NDJhM2MyMWZiZTNhLi5hMDEwZjdjNDU5ZDc3ODU0YjE0MzNl
YzhlNzg2ODIwYTAxY2EzMjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09iamVjdENvbnN0cnVjdG9yLmgKQEAgLTQ3LDYgKzQ3LDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIE9iamVjdFByb3RvdHlwZSopOwogICAgICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Q
cm9wZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHBy
aXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBD
b25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggYzhhMTMzYjQyNTY4NzMxNWZmNmU4MjFjMGJhMjdhNTdhMTVhMzNl
YS4uODI1OWI2ZTUwOGUzNjQ1NDBhMGIxNDhhYTRmZjRjZTRjM2RhZDdkZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcApAQCAt
OTYsOSArOTYsMTUgQEAgY29uc3QgQ2xhc3NJbmZvIFJlZ0V4cENvbnN0cnVjdG9yOjpzX2luZm8g
PSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2kKICovCiAKIFJlZ0V4cENvbnN0
cnVjdG9yOjpSZWdFeHBDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUqIHJl
Z0V4cFByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEo
KSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgIlJlZ0V4cCIpKQor
ICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAsIGQo
YWRvcHRQdHIobmV3IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSkpCiB7CisgICAgZmluaXNoQ3Jl
YXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCByZWdFeHBQcm90b3R5cGUpOworfQorCit2b2lkIFJl
Z0V4cENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZ0V4cFByb3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQor
eworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2Jq
ZWN0LCBJZGVudGlmaWVyKGV4ZWMsICJSZWdFeHAiKSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZz
X2luZm8pKTsKIAogICAgIC8vIEVDTUEgMTUuMTAuNS4xIFJlZ0V4cC5wcm90b3R5cGUKQEAgLTEw
OCwxMCArMTE0LDkgQEAgUmVnRXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0cnVjdG9yKEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamUKICAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5s
ZW5ndGgsIGpzTnVtYmVyKDIpLCBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250RW51bSk7CiB9
CiAKLVJlZ0V4cE1hdGNoZXNBcnJheTo6UmVnRXhwTWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSogZXhl
YywgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKiBkYXRhKQorUmVnRXhwTWF0Y2hlc0FycmF5OjpS
ZWdFeHBNYXRjaGVzQXJyYXkoRXhlY1N0YXRlKiBleGVjKQogICAgIDogSlNBcnJheShleGVjLT5n
bG9iYWxEYXRhKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+cmVnRXhwTWF0Y2hlc0Fy
cmF5U3RydWN0dXJlKCkpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgp
LCBkYXRhKTsKIH0KIAogdm9pZCBSZWdFeHBNYXRjaGVzQXJyYXk6OmZpbmlzaENyZWF0aW9uKEpT
R2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKiBkYXRhKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0
b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgK
aW5kZXggMGE3Y2I2ZWFmYWVjZDQ4MDdmZWNlYTdjNWM0MWNlZTUyMDBjZWQ0Yy4uMDU2NzVhOTZh
ZmUzZTRlNzQ1OWU5ZTAzZjBiMTc5YzdjNGU0ZTY0YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC05MCw2ICs5MCw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICBKU1ZhbHVlIGdldFJpZ2h0Q29udGV4dChFeGVjU3RhdGUq
KSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihF
eGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIFJlZ0V4cFByb3RvdHlwZSopOwogICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9w
ZXJ0eVNsb3QgfCBJbXBsZW1lbnRzSGFzSW5zdGFuY2UgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1
Y3R1cmVGbGFnczsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCmluZGV4IDg3ZDU5YzcxNGViNTRkZjI4MTcz
ZGZlZGViZGVkNTQ2ZjY1MWMzYWIuLmFkOTRlMDdkYTdjMTNmOWIxYjNjNGU3MGI2NmU1NjZhZmE3
YTlmOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1h
dGNoZXNBcnJheS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1h
dGNoZXNBcnJheS5oCkBAIC0yNiwxNCArMjYsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBj
bGFzcyBSZWdFeHBNYXRjaGVzQXJyYXkgOiBwdWJsaWMgSlNBcnJheSB7CiAgICAgcHJpdmF0ZToK
LSAgICAgICAgUmVnRXhwTWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSosIFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSopOworICAgICAgICBSZWdFeHBNYXRjaGVzQXJyYXkoRXhlY1N0YXRlKik7CiAKICAg
ICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgSlNBcnJheSBCYXNlOwogCiAgICAgICAgIHN0YXRp
YyBSZWdFeHBNYXRjaGVzQXJyYXkqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFJlZ0V4cENvbnN0
cnVjdG9yUHJpdmF0ZSogY3RvclByaXZhdGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVy
biBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBNYXRjaGVzQXJyYXk+KCpleGVjLT5oZWFwKCkpKSBS
ZWdFeHBNYXRjaGVzQXJyYXkoZXhlYywgY3RvclByaXZhdGUpOworICAgICAgICAgICAgUmVnRXhw
TWF0Y2hlc0FycmF5KiByZWdFeHAgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBNYXRjaGVzQXJy
YXk+KCpleGVjLT5oZWFwKCkpKSBSZWdFeHBNYXRjaGVzQXJyYXkoZXhlYyk7CisgICAgICAgICAg
ICByZWdFeHAtPmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgY3RvclByaXZhdGUp
OworICAgICAgICAgICAgcmV0dXJuIHJlZ0V4cDsKICAgICAgICAgfQogICAgICAgICB2aXJ0dWFs
IH5SZWdFeHBNYXRjaGVzQXJyYXkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cE9iamVjdC5jcHAKaW5kZXggODQxZDkzOTQxMTdhYjA5MTE3MzhkMGM0ODVlM2Zl
NTBiNWExZGQxNi4uYWFhM2VlMDdjMWI2ZWNhNjdkY2E4ODQ4NzhhNGM1NjJhYzJkMzYzZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCkBAIC02
Niw3ICs2Niw2IEBAIFJlZ0V4cE9iamVjdDo6UmVnRXhwT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSCiAgICAgOiBKU09iamVjdFdpdGhH
bG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBkKGFkb3B0UHRyKG5l
dyBSZWdFeHBPYmplY3REYXRhKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCB0aGlzLCByZWdF
eHApKSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIFJl
Z0V4cE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggYmNl
NDU1YWY4MTJmOTFiYWJiMjI2MDcwYWQyMGU5ZTA0NmYyNDExMy4uNGFiZGE0YjlhNmQxYTA3YWI3
MDM1ZTE2YmE0MmNlYTNmMjkwZGNlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwT2JqZWN0LmgKQEAgLTMyLDEyICszMiwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgICAgICBzdGF0aWMgUmVnRXhwT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwKiBy
ZWdFeHApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxS
ZWdFeHBPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBz
dHJ1Y3R1cmUsIHJlZ0V4cCk7CisgICAgICAgICAgICBSZWdFeHBPYmplY3QqIG9iamVjdCA9IG5l
dyAoYWxsb2NhdGVDZWxsPFJlZ0V4cE9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFJlZ0V4cE9iamVj
dChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgcmVnRXhwKTsKKyAgICAgICAgICAgIG9iamVjdC0+
ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7
CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBSZWdFeHBPYmplY3QqIGNyZWF0
ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHAqIHJlZ0V4cCkKICAgICAgICAgewotICAgICAg
ICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFJlZ0V4cE9iamVjdD4oZ2xvYmFsRGF0YS5o
ZWFwKSkgUmVnRXhwT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCByZWdFeHApOworICAg
ICAgICAgICAgUmVnRXhwT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBP
YmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIFJlZ0V4cE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVj
dHVyZSwgcmVnRXhwKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFs
T2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgIH0KIAogICAgICAg
ICB2aXJ0dWFsIH5SZWdFeHBPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwCmluZGV4IDhiZmM5OWY1NDUwNWFlYzRmMmUyY2Q5
NjI0NzZlNzg4MmM5Mzg2NWYuLjkxYjg4Njk3ZjNkYjhiNzgwNGFmZjJiMDhlYWQ4ZDgyNzg0OTNm
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3Rv
dHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90
eXBlLmNwcApAQCAtNjUsNiArNjUsNyBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFJlZ0V4
cFByb3RvdHlwZSk7CiBSZWdFeHBQcm90b3R5cGU6OlJlZ0V4cFByb3RvdHlwZShFeGVjU3RhdGUq
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVn
RXhwKiByZWdFeHApCiAgICAgOiBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUs
IHJlZ0V4cCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiBib29s
IFJlZ0V4cFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggMWQzYjFjN2ExYjI5NTc5NWI2ZDE2YTU5YmQwMmVkYTIyNjJkZWM3ZS4uYWY5YWJmNWE3MGMx
OTc0ODI5ZTA3MGMzM2ZiNWI4OGNmMmY3MTY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcApAQCAtNDgsOCArNDgsMTQgQEAg
Y29uc3QgQ2xhc3NJbmZvIFN0cmluZ0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIs
ICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2kKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoU3RyaW5n
Q29uc3RydWN0b3IpOwogCiBTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29uc3RydWN0b3IoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgU3RyaW5nUHJvdG90eXBlKiBzdHJpbmdQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5h
bEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJ
ZGVudGlmaWVyKGV4ZWMsIHN0cmluZ1Byb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkp
CisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAg
IGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RyaW5nUHJvdG90eXBlKTsKK30K
Kwordm9pZCBTdHJpbmdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVj
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJpbmdQcm90b3R5cGUqIHN0cmluZ1By
b3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCks
IGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBzdHJpbmdQcm90b3R5cGUtPmNsYXNzSW5m
bygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIHN0cmluZ1Byb3Rv
dHlwZSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUpOwogICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygp
Lmxlbmd0aCwganNOdW1iZXIoMSksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0
cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rv
ci5oCmluZGV4IGZhYTc5YzM4NTk5YmIwMjZlOTRhNjA4ZmY0NDM1MGNhNDZlNWMzMmEuLjQ1MzQ2
NzI1ODEyYWFlNGI5NWNiOGM3YzcyNGJiOWFjMDNkY2Y3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaApAQCAtNDQsNiArNDQsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RyaW5nUHJv
dG90eXBlKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9
IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVy
ZUZsYWdzOwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJpbmdPYmplY3QuY3BwCmluZGV4IGI4ZmFkOWU0OTczNzdhY2E3NDU3MDEzY2RhMzcwM2I4
ZjI3MDU5MzMuLmY2ZDY5ZDEwOTUyNjRlNjE5MWU1N2Y1YzQyYzgwNzQ0NGY2MDA3N2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcApAQCAtMjks
MTAgKzI5LDkgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChTdHJpbmdPYmplY3QpOwogCiBj
b25zdCBDbGFzc0luZm8gU3RyaW5nT2JqZWN0OjpzX2luZm8gPSB7ICJTdHJpbmciLCAmSlNXcmFw
cGVyT2JqZWN0OjpzX2luZm8sIDAsIDAgfTsKIAotU3RyaW5nT2JqZWN0OjpTdHJpbmdPYmplY3Qo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNTdHJpbmcq
IHN0cmluZykKK1N0cmluZ09iamVjdDo6U3RyaW5nT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBKU1dyYXBwZXJPYmplY3QoZ2xvYmFs
RGF0YSwgc3RydWN0dXJlKQogewotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHN0cmlu
Zyk7CiB9CiAKIHZvaWQgU3RyaW5nT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTU3RyaW5nKiBzdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cmluZ09iamVjdC5oCmluZGV4IDBiMGMyMDA2NDhiZWJmOGFlNjRiNWM3NzlkMWE3
NTYzYzE5NjViZWMuLmJlYzc2ZDRmNDA2ZGE3Mzk5YTBmYzc3NDhmYWE3NmEwMWNmY2I4MDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCkBAIC0zMywx
MiArMzMsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0YXRpYyBTdHJpbmdPYmplY3Qq
IGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7
CiAgICAgICAgICAgICBKU1N0cmluZyogc3RyaW5nID0ganNFbXB0eVN0cmluZyhleGVjKTsKLSAg
ICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxTdHJpbmdPYmplY3Q+KCpleGVjLT5o
ZWFwKCkpKSBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUsIHN0cmlu
Zyk7ICAKKyAgICAgICAgICAgIFN0cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNl
bGw8U3RyaW5nT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgc3RydWN0dXJlKTsgIAorICAgICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlv
bihleGVjLT5nbG9iYWxEYXRhKCksIHN0cmluZyk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0
OwogICAgICAgICB9CiAgICAgICAgIHN0YXRpYyBTdHJpbmdPYmplY3QqIGNyZWF0ZShFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBzdHIpCiAgICAg
ICAgIHsKICAgICAgICAgICAgIEpTU3RyaW5nKiBzdHJpbmcgPSBqc1N0cmluZyhleGVjLCBzdHIp
OwotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4
ZWMtPmhlYXAoKSkpIFN0cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSwg
c3RyaW5nKTsKKyAgICAgICAgICAgIFN0cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0
ZUNlbGw8U3RyaW5nT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmds
b2JhbERhdGEoKSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRp
b24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJpbmcpOworICAgICAgICAgICAgcmV0dXJuIG9iamVj
dDsKICAgICAgICAgfQogICAgICAgICBzdGF0aWMgU3RyaW5nT2JqZWN0KiBjcmVhdGUoRXhlY1N0
YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBKU1N0cmluZyopOwogCkBAIC02Miw3ICs2Niw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIHByb3RlY3RlZDoKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihKU0dsb2JhbERhdGEmLCBKU1N0cmluZyopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlk
ZXNHZXRQcm9wZXJ0eU5hbWVzIHwgSlNXcmFwcGVyT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKLSAg
ICAgICAgU3RyaW5nT2JqZWN0KEpTR2xvYmFsRGF0YSYsIFN0cnVjdHVyZSosIEpTU3RyaW5nKik7
CisgICAgICAgIFN0cmluZ09iamVjdChKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUqKTsKICAgICB9
OwogCiAgICAgU3RyaW5nT2JqZWN0KiBhc1N0cmluZ09iamVjdChKU1ZhbHVlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVy
YWRlc0FzVW5kZWZpbmVkLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdP
YmplY3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZC5oCmluZGV4IDJmZTBiOWY2ODlmMjM1ZmRi
MjUyYjI2MDdlNzk2YmUyZmJiODQ4ODEuLmY2MTYzNDYzMjRiMzA2YjZhZmFjNmY0YWU1YjhiOWUw
YWNkZjUzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmlu
Z09iamVjdFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQuaApA
QCAtNDEsOCArNDEsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHByaXZhdGU6CiAgICAgICAg
IFN0cmluZ09iamVjdFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTU3RyaW5nKiBzdHJpbmcpCi0gICAgICAgICAgICA6IFN0
cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSwgc3RyaW5nKQorICAgICAg
ICAgICAgOiBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiAgICAg
ICAgIHsKKyAgICAgICAgICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3Ry
aW5nKTsKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVj
dHVyZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTVmFsdWUgcHJvdG8pIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKaW5kZXggZTE0
ZDk3NzI2Njk1NTY4ODlhODM3NjNkMmFiZjI4OTA0MjQwMzhjNC4uNTkwMzkwOWI5NGQyZGU0NTgx
YzQ3MzQwYjQwMDJkZjY4ODBhYjNhNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCkBAIC0xMzEsOSArMTMxLDE1IEBAIGNvbnN0IENs
YXNzSW5mbyBTdHJpbmdQcm90b3R5cGU6OnNfaW5mbyA9IHsgIlN0cmluZyIsICZTdHJpbmdPYmpl
Y3Q6OnNfaW5mbywgMCwKICovCiAKIC8vIEVDTUEgMTUuNS40Ci1TdHJpbmdQcm90b3R5cGU6OlN0
cmluZ1Byb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0cmluZyogc3RyaW5nKQotICAgIDogU3RyaW5n
T2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlLCBzdHJpbmcpCitTdHJpbmdQcm90
b3R5cGU6OlN0cmluZ1Byb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0cmluZyogbmFtZUFuZE1lc3Nh
Z2UpCisgICAgOiBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7
CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBuYW1lQW5kTWVzc2FnZSk7
Cit9CisKK3ZvaWQgU3RyaW5nUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4
ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTU3RyaW5nKiBuYW1lQW5kTWVzc2Fn
ZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIG5hbWVB
bmRNZXNzYWdlKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogCiAgICAgcHV0QW5v
bnltb3VzVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCAwLCBnbG9iYWxPYmplY3QpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuaAppbmRleCBjZTEz
YWI1MTQ1MmUzNmM5YmY3OWE2NGE1ZDYyMzNhYTg1Y2FiYTRjLi44NjM5ZDlhNGE2ZmE4ZDY1NmRj
ZDVlMmQ3N2ZmZmJmNTc0MWNmMmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJpbmdQcm90b3R5cGUuaApAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CiAgICAgICAgIAogICAgIHBy
b3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2Jh
bE9iamVjdCosIEpTU3RyaW5nKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IFN0cmluZ09iamVjdDo6
U3RydWN0dXJlRmxhZ3M7CiAKICAgICAgICAgQ09NUElMRV9BU1NFUlQoIVN0cmluZ09iamVjdDo6
QW5vbnltb3VzU2xvdENvdW50LCBTdHJpbmdQcm90b3R5cGVfc3RvbXBzX29uX3lvdXJfYW5vbnlt
b3VzX3Nsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZyBi
L1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKaW5kZXggNzM4MjRlOTNjNDU3ZjM3NTdm
MzUxMDljZjBiNDAwNDliYWU4YTE3ZS4uNWYwYzA0Y2Y3MWRjY2Q3ODA1NzcwMWE3ZTJiMTI1YTE3
NjIzNWRjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjcgQEAKIDIwMTEt
MDktMDEgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAorICAgICAg
ICBVbnppcCBpbml0aWFsaXphdGlvbiBsaXN0cyBhbmQgY29uc3RydWN0b3JzIGluIEpTQ2VsbCBo
aWVyYXJjaHkgKDUvNykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY3NDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29tcGxldGVkIHRoZSBmb3VydGggbGV2ZWwgb2YgdGhlIHJlZmFjdG9yaW5nIHRvIGFk
ZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBjbGFzc2VzIHdpdGhp
biB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAgICAgICBjb25zdHJ1
Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lzdHMgb2YgcHVzaGlu
ZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAgICBpbnRvIHRoZSBj
b25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBsZXZlbCBvZiB0aGUg
aGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZpbmlzaENyZWF0aW9u
KCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZworICAgICAgICBjcmVh
dGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0YW5lb3VzbHkgYWxs
b3dzIHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRoYXQgdGhlIGZpbmlz
aENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAorICAgICAgICBvbmNl
IGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxsaW5nIGl0IGFueSBv
dGhlciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3JlKSB3aWxsIGNhdXNl
IGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogSlNSdW4uY3BwOgorICAgICAgICAo
SlNHbHVlR2xvYmFsT2JqZWN0OjpKU0dsdWVHbG9iYWxPYmplY3QpOgorCisyMDExLTA5LTAxICBN
YXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKICAgICAgICAgVW56aXAg
aW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBKU0NlbGwgaGllcmFyY2h5
ICg0LzcpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NzE3NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvSlNSdW4uY3BwIGIvU291
cmNlL0phdmFTY3JpcHRHbHVlL0pTUnVuLmNwcAppbmRleCA4Yzg4Zjg1ZjMyMGUzZWUwYzI5YzFk
OWUyNDYxMGIxNDI2MmQzODJjLi5iZjIyY2JkMTY0MTFjNDYyYmJkM2EzN2ZkOTA5NmFlZWNhMjlh
NzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvSlNSdW4uY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5jcHAKQEAgLTM4LDYgKzM4LDcgQEAgSlNHbHVlR2xv
YmFsT2JqZWN0OjpKU0dsdWVHbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBT
dHJ1Y3R1cmUqIHN0cnUKICAgICAsIG1fZmxhZ3MoZmxhZ3MpCiAgICAgLCBtX3VzZXJPYmplY3RT
dHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgdXNlck9iamVjdFN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hD
cmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzKTsKIH0KIAogSlNSdW46OkpTUnVuKENGU3RyaW5nUmVm
IHNvdXJjZSwgSlNGbGFncyBpbkZsYWdzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBhZmFjNTFmMzFlMWM0OWNj
ZWM1ZjAzMmJkOGUzMWI5MjQ1NjA2MDcuLmRmYTg0MDk4OGQyZGQ0NzA1MjAxZTAzN2QwZGI5YjA0
MzdjMzlkMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NSBAQAorMjAxMS0wOS0wMSAgTWFyayBI
YWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGluaXRp
YWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcg
dGVzdHMuCisKKyAgICAgICAgQ29tcGxldGVkIHRoZSBmb3VydGggbGV2ZWwgb2YgdGhlIHJlZmFj
dG9yaW5nIHRvIGFkZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBj
bGFzc2VzIHdpdGhpbiB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAg
ICAgICBjb25zdHJ1Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lz
dHMgb2YgcHVzaGluZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAg
ICBpbnRvIHRoZSBjb25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBs
ZXZlbCBvZiB0aGUgaGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZp
bmlzaENyZWF0aW9uKCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZwor
ICAgICAgICBjcmVhdGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0
YW5lb3VzbHkgYWxsb3dzIHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRo
YXQgdGhlIGZpbmlzaENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAor
ICAgICAgICBvbmNlIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxs
aW5nIGl0IGFueSBvdGhlciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3Jl
KSB3aWxsIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogV2ViQ29yZS5l
eHAuaW46CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6CisgICAgICAgIChX
ZWJDb3JlOjpET01Db25zdHJ1Y3Rvck9iamVjdDo6RE9NQ29uc3RydWN0b3JPYmplY3QpOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NR2xvYmFsT2JqZWN0OjpKU0RPTUdsb2JhbE9iamVjdCk6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01X
aW5kb3dTaGVsbC5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5o
OgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6Y3JlYXRlKToKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV3Jh
cHBlcjo6SlNET01XcmFwcGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAq
IGJyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkNS
dW50aW1lT2JqZWN0OjpDUnVudGltZU9iamVjdCk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpD
UnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJyaWRnZS9jL0NSdW50
aW1lT2JqZWN0Lmg6CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3Qu
Y3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6SmF2YVJ1bnRpbWVPYmplY3Q6OkphdmFSdW50
aW1lT2JqZWN0KToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkphdmFSdW50aW1lT2JqZWN0Ojpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmpl
Y3QuaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oOgorICAgICAg
ICAqIGJyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tOgorICAgICAgICAoSlNDOjpCaW5k
aW5nczo6T2JqQ1J1bnRpbWVPYmplY3Q6Ok9iakNSdW50aW1lT2JqZWN0KToKKyAgICAgICAgKEpT
Qzo6QmluZGluZ3M6Ok9iakNSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmg6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpP
YmpjRmFsbGJhY2tPYmplY3RJbXA6OmNyZWF0ZSk6CisgICAgICAgICogYnJpZGdlL29iamMvb2Jq
Y19ydW50aW1lLm1tOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqY0ZhbGxiYWNrT2JqZWN0
SW1wOjpPYmpjRmFsbGJhY2tPYmplY3RJbXApOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9pbnN0
YW5jZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpRdFJ1bnRpbWVPYmplY3Q6OlF0UnVu
dGltZU9iamVjdCk6CisgICAgICAgICogYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwOgor
ICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRQaXhtYXBSdW50aW1lT2JqZWN0OjpRdFBpeG1hcFJ1
bnRpbWVPYmplY3QpOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoKKyAgICAg
ICAgKEpTQzo6QmluZGluZ3M6OlF0UnVudGltZU1ldGhvZDo6UXRSdW50aW1lTWV0aG9kKToKKyAg
ICAgICAgKEpTQzo6QmluZGluZ3M6OlF0UnVudGltZU1ldGhvZDo6ZmluaXNoQ3JlYXRpb24pOgor
ICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmg6CisgICAgICAgICogYnJpZGdlL3J1bnRp
bWVfYXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OlJ1bnRpbWVBcnJheSk6
CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuaDoKKyAgICAgICAgKEpTQzo6UnVudGlt
ZUFycmF5OjpjcmVhdGUpOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX21ldGhvZC5jcHA6Cisg
ICAgICAgIChKU0M6OlJ1bnRpbWVNZXRob2Q6OlJ1bnRpbWVNZXRob2QpOgorICAgICAgICAoSlND
OjpSdW50aW1lTWV0aG9kOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnJpZGdlL3J1bnRp
bWVfbWV0aG9kLmg6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcDoKKyAgICAg
ICAgKEpTQzo6QmluZGluZ3M6OlJ1bnRpbWVPYmplY3Q6OlJ1bnRpbWVPYmplY3QpOgorICAgICAg
ICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UnVu
dGltZU9iamVjdDo6Y3JlYXRlKToKKwogMjAxMS0wOS0wMSAgS2VudGFybyBIYXJhICA8aGFyYWtl
bkBnb29nbGUuY29tPgogCiAgICAgICAgIEdlbmVyYXRlIGEgRmlsZVJlYWRlciBjb25zdHJ1Y3Rv
ciBvZiBWOCB1c2luZyB0aGUgSURMICdDb25zdHJ1Y3RvcicgZXh0ZW5kZWQgYXR0cmlidXRlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCmluZGV4IDgyZjg1Y2Q0NmNlZDQyZGQ4MzkxMTQzNmIxNTE1ZWJiOGY4
NTFmZTQuLjNmNGZjZWVlZTgzMzA4NTI0ZDk2NGFhODhkM2Q2NDg0ODUyZjQ0ZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCkBAIC0xNjQ0LDYgKzE2NDQsNyBAQCBfX1pOM0pTQzEzUnVudGltZU1ldGhv
ZEMyRVBOU185RXhlY1N0YXRlRVBOU18xNEpTR2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJlRVJL
TgogX19aTjNKU0M4QmluZGluZ3MxMFJvb3RPYmplY3REMUV2CiBfX1pOM0pTQzhCaW5kaW5nczEz
UnVudGltZU9iamVjdDExZ2V0Q2FsbERhdGFFUk5TXzhDYWxsRGF0YUUKIF9fWk4zSlNDOEJpbmRp
bmdzMTNSdW50aW1lT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEw
SWRlbnRpZmllckUKK19fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTRmaW5pc2hDcmVh
dGlvbkVQTlNfMTRKU0dsb2JhbE9iamVjdEUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2Jq
ZWN0MTZnZXRDb25zdHJ1Y3REYXRhRVJOU18xM0NvbnN0cnVjdERhdGFFCiBfX1pOM0pTQzhCaW5k
aW5nczEzUnVudGltZU9iamVjdDE4Z2V0T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0YXRlRVJL
TlNfMTBJZGVudGlmaWVyRVJOU18xMlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDOEJpbmRpbmdzMTNS
dW50aW1lT2JqZWN0MTlnZXRPd25Qcm9wZXJ0eU5hbWVzRVBOU185RXhlY1N0YXRlRVJOU18xN1By
b3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25Nb2RlRQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUJpbmRpbmcuaAppbmRleCBkYjUyZDk2ZjRlMzIzMjNiNjc1ZDEzZGFmNjQw
MjM3YjNiMGU3MDhjLi45ODU2NDYwNzAwNmY2MjE3NzFhNTMzNTBiZDhiOTQ5ZTQ1ZWIxNzVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtNTUsNiArNTUs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERPTUNvbnN0cnVjdG9yT2JqZWN0KEpT
Qzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiAgICAgICAgICAgICA6IEpTRE9NV3JhcHBlcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKICAg
ICAgICAgeworICAgICAgICAgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0LT5nbG9iYWxE
YXRhKCksIGdsb2JhbE9iamVjdCk7CiAgICAgICAgIH0KICAgICB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNGRhZmE2OGUw
NDU2YWVhNjdmZTI2ZWQxZmJjMTBmMWJiZjQ2Y2M0OC4uZjllYWY2YTQ5YjFlOWY0YmM4NTk3ZTBj
OTIxNTY5ZjMxNDg2NmMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtNDMsMTAgKzQzLDE2IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNvbnN0IENsYXNzSW5mbyBKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZvID0geyAiRE9NR2xv
YmFsT2JqZWN0IiwgJkpTR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIDAgfTsKIAogSlNET01HbG9i
YWxPYmplY3Q6OkpTRE9NR2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiB3b3JsZCwgSlNP
YmplY3QqIHRoaXNWYWx1ZSkKLSAgICA6IEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVj
dHVyZSwgdGhpc1ZhbHVlKQorICAgIDogSlNHbG9iYWxPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0
dXJlKQogICAgICwgbV9jdXJyZW50RXZlbnQoMCkKICAgICAsIG1fd29ybGQod29ybGQpCiB7Cisg
ICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhpc1ZhbHVlKTsKK30KKwordm9pZCBKU0RP
TUdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBK
U09iamVjdCogdGhpc1ZhbHVlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbERh
dGEsIHRoaXNWYWx1ZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKaW5kZXggODYx
ZGYxZjE2ZDcwN2Q3ZjkwOTQ5ZmY3MzZlYjA5NTlhMzgwYmE4NC4uMTAwNzE3MDVkZjFiNWIxZjg5
ODA4N2E5MWY0MjYyOTljYWI0NWUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01HbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUdsb2JhbE9iamVjdC5oCkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgc3RydWN0IEpTRE9NR2xvYmFsT2JqZWN0RGF0YTsKIAogICAgICAgICBKU0RP
TUdsb2JhbE9iamVjdChKU0M6OkpTR2xvYmFsRGF0YSYsIEpTQzo6U3RydWN0dXJlKiwgUGFzc1Jl
ZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OkpTT2JqZWN0KiB0aGlzVmFsdWUpOworICAgICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6SlNHbG9iYWxEYXRhJiwgSlNDOjpKU09iamVjdCog
dGhpc1ZhbHVlKTsKIAogICAgIHB1YmxpYzoKICAgICAgICAgSlNET01TdHJ1Y3R1cmVNYXAmIHN0
cnVjdHVyZXMoKSB7IHJldHVybiBtX3N0cnVjdHVyZXM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKaW5kZXggNWQwZDQzNmNjOTY4NzNhZDlm
YTAzOTVmMzU1Y2VhZWUzMjE1Mzg0Yi4uYzc2NWZmMTgwZWE5MThlNWRiMmU3YzE0YzQxNDhkODky
ZmYzMWYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dTaGVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dT
aGVsbC5jcHAKQEAgLTE4MCwxMyArMTgwLDYgQEAgdm9pZCogSlNET01XaW5kb3dTaGVsbDo6b3Bl
cmF0b3IgbmV3KHNpemVfdCBzaXplKQogICAgIHJldHVybiBoZWFwLmFsbG9jYXRlKHNpemUpOwog
fQogCi1KU0RPTVdpbmRvd1NoZWxsKiBKU0RPTVdpbmRvd1NoZWxsOjpjcmVhdGUoUGFzc1JlZlB0
cjxET01XaW5kb3c+IHdpbmRvdywgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRE9NV3JhcHBl
cldvcmxkKiB3b3JsZCkKLXsKLSAgICBKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCA9IG5ldyBKU0RP
TVdpbmRvd1NoZWxsKHN0cnVjdHVyZSwgd29ybGQpOwotICAgIHNoZWxsLT5maW5pc2hDcmVhdGlv
bigqd29ybGQtPmdsb2JhbERhdGEoKSwgd2luZG93KTsKLSAgICByZXR1cm4gc2hlbGw7IAotfQot
CiAvLyAtLS0tCiAvLyBDb252ZXJzaW9uIG1ldGhvZHMKIC8vIC0tLS0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAppbmRleCAzMDI4MzRmZmM2Nzk1NDM0
ZGJlNDdmNDNlZTkyZTY2YTY2N2I0Y2MyLi5lNzQxZDJmYjA3ZDc3YTE3ZmU3ZTAyNTNhNGQzNDc1
M2EyNWU2NjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dT
aGVsbC5oCkBAIC01NSw3ICs1NSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
RE9NV2luZG93KiBpbXBsKCkgY29uc3Q7CiAKLSAgICAgICAgc3RhdGljIEpTRE9NV2luZG93U2hl
bGwqIGNyZWF0ZShQYXNzUmVmUHRyPERPTVdpbmRvdz4sIEpTQzo6U3RydWN0dXJlKiwgRE9NV3Jh
cHBlcldvcmxkKik7CisgICAgICAgIHN0YXRpYyBKU0RPTVdpbmRvd1NoZWxsKiBjcmVhdGUoUGFz
c1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRE9N
V3JhcHBlcldvcmxkKiB3b3JsZCkgCisgICAgICAgIHsKKyAgICAgICAgICAgIEpTRE9NV2luZG93
U2hlbGwqIHNoZWxsID0gbmV3IEpTRE9NV2luZG93U2hlbGwoc3RydWN0dXJlLCB3b3JsZCk7Cisg
ICAgICAgICAgICBzaGVsbC0+ZmluaXNoQ3JlYXRpb24oKndvcmxkLT5nbG9iYWxEYXRhKCksIHdp
bmRvdyk7CisgICAgICAgICAgICByZXR1cm4gc2hlbGw7IAorICAgICAgICB9CiAKICAgICAgICAg
c3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpIAogICAgICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCmluZGV4IDFiODIxOTcwM2NmOTM5MjBk
MGI4NzdjNzZkNzc2NWU3YWJmMTBiNmYuLjlhNGFjYTVjNTFiOGNmZWI3NTMwYjJhNmUwZTc5ODQ1
MWZkODU4ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3Jh
cHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCkBA
IC01OSw3ICs1OSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgLy8gbmV3IEphdmFTY3JpcHQgb2Jq
ZWN0cyBvbiBkZXRhY2hlZCB3aW5kb3dzIGR1ZSB0byBET01XaW5kb3c6OmRvY3VtZW50KCkKICAg
ICAgICAgLy8gbmVlZGluZyB0byByZWFjaCB0aHJvdWdoIHRoZSBmcmFtZSB0byBnZXQgdG8gdGhl
IERvY3VtZW50Ki4gIFNlZSBidWcgMjc2NDAuCiAgICAgICAgIC8vIEFTU0VSVChnbG9iYWxPYmpl
Y3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0gICAgICAgIGZpbmlzaENyZWF0aW9uKGds
b2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QpOwogICAgIH0KIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
aW5kZXggOWE5MjhhYzY5YWExYjljZTVlN2I5NDYxMDg4NmMwNWJkNmIyNGI4OC4uOTlhOGZkMTBm
ZDQ3NjBmMGQ3NzY1NzVmYTE5MWZhMWE0YmI3YTcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTE1MTQsMjAgKzE1MTQs
MjQgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgQWRkSW5jbHVkZXNGb3JU
eXBlSW5JbXBsKCJKU0RPTVdpbmRvd1NoZWxsIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiJHtjbGFzc05hbWV9OjokY2xhc3NOYW1lKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8JGltcGxUeXBlPiBpbXBsLCBKU0RPTVdpbmRv
d1NoZWxsKiBzaGVsbClcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICA6ICRw
YXJlbnRDbGFzc05hbWUoZ2xvYmFsRGF0YSwgc3RydWN0dXJlLCBpbXBsLCBzaGVsbClcbiIpOwor
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgIH0gZWxzaWYgKCRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IklzV29ya2VyQ29udGV4dCJ9KSB7CiAgICAgICAgIEFk
ZEluY2x1ZGVzRm9yVHlwZUluSW1wbCgkaW50ZXJmYWNlTmFtZSk7CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiJHtjbGFzc05hbWV9OjokY2xhc3NOYW1lKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8JGltcGxUeXBlPiBpbXBsKVxu
Iik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIDogJHBhcmVudENsYXNzTmFtZShn
bG9iYWxEYXRhLCBzdHJ1Y3R1cmUsIGltcGwpXG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICJ7XG4iKTsKICAgICB9IGVsc2UgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiR7
Y2xhc3NOYW1lfTo6JGNsYXNzTmFtZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgUGFzc1JlZlB0cjwkaW1wbFR5cGU+IGltcGwpXG4iKTsKICAg
ICAgICAgaWYgKCRoYXNQYXJlbnQpIHsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIDogJHBhcmVudENsYXNzTmFtZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgaW1wbClcbiIp
OworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIDogJHBhcmVudENsYXNzTmFt
ZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdClcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgLCBtX2ltcGwoaW1wbClcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJ7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGZpbmlz
aENyZWF0aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QpO1xuIik7
CiAgICAgICAgIH0KICAgICB9Ci0gICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpO1xuIik7CiAg
ICAgaWYgKCRudW1DYWNoZWRBdHRyaWJ1dGVzID4gMCkgewogICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICBmb3IgKHVuc2lnbmVkIGkgPSBCYXNlOjpBbm9ueW1vdXNTbG90Q291bnQ7IGkg
PCBBbm9ueW1vdXNTbG90Q291bnQ7IGkrKylcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2Mv
Q1J1bnRpbWVPYmplY3QuY3BwCmluZGV4IGM2M2U1ODZkMjFjMWUyYWM2Njc5MjYzMTg2MzMyYjBj
NTAxMTU4YzYuLmI0NjBhOTE0NTJmNjU2YjAzMzk3ODM1NzQ2ODVhY2YwZGUyMWQxNDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHAKQEAgLTQwLDYgKzQwLDEy
IEBAIGNvbnN0IENsYXNzSW5mbyBDUnVudGltZU9iamVjdDo6c19pbmZvID0geyAiQ1J1bnRpbWVP
YmplY3QiLCAmUnVudGltZU9iamVjdDo6c19pCiBDUnVudGltZU9iamVjdDo6Q1J1bnRpbWVPYmpl
Y3QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxDSW5zdGFuY2U+IGluc3RhbmNlKQogICAgIDogUnVu
dGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpCiB7Cisg
ICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBDUnVudGltZU9iamVj
dDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygm
c19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50
aW1lT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5oCmlu
ZGV4IDc5YzMyOGY2OGRiYzA2OTEyOTM0ODY4MTBkZWQ3YjFhNjgxZTI2OWMuLmZkYzE3YjliMzVh
MmFmZWYwNGJjODBiNDI0YjFiNmZmMGM2NjY2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2Mv
Q1J1bnRpbWVPYmplY3QuaApAQCAtNjEsNiArNjEsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAg
ICAgQ1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUq
LCBQYXNzUmVmUHRyPENJbnN0YW5jZT4pOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9i
YWxPYmplY3QqKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9q
bmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
anNjL0phdmFSdW50aW1lT2JqZWN0LmNwcAppbmRleCBmZmZlODU2ZGEwZDVlNTFiNjgyOGYyNmY1
ZGExMWUxNmE3MTU4ZmQ0Li5kNjg0YWIwMmUzOTcwMjlmMTFmNWEyNTE0YWNiMGFkMzEzZGIwZWVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVP
YmplY3QuY3BwCkBAIC0zOCw2ICszOCwxMiBAQCBjb25zdCBDbGFzc0luZm8gSmF2YVJ1bnRpbWVP
YmplY3Q6OnNfaW5mbyA9IHsgIkphdmFSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplYwogSmF2
YVJ1bnRpbWVPYmplY3Q6OkphdmFSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8
SmF2YUluc3RhbmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2Jh
bE9iamVjdCk7Cit9CisKK3ZvaWQgSmF2YVJ1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5o
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuaAppbmRl
eCA4OGUxZTNiODJhMjU4YTA1OTBhZmE3ZjNlNDFiYmM5ZDBiMTQ4ZWMzLi5mMzY4OGM5NGEyM2I3
MWJhYzEwNWIzNmNkNWQyNDMxYmQ1N2Q5NTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmgKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGlj
OgogCiBwcml2YXRlOgogICAgIEphdmFSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKiwgUGFzc1JlZlB0cjxKYXZhSW5zdGFuY2U+KTsKKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oIGIvU291cmNlL1dl
YkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaAppbmRleCBhODgxM2ZlM2Y3OGU4
ZmE1M2UyM2MzYmFhYjk3MGM0MzJkZTBmZmQyLi45MzNhNGQxOGEzOWI1NDlmMDcxZDQ2ZjBmNzA5
YmQ2NTMxOGZkNGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpD
UnVudGltZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50
aW1lT2JqZWN0LmgKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIE9i
akNSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgUGFzc1JlZlB0cjxP
YmpjSW5zdGFuY2U+LCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xv
YmFsT2JqZWN0Kik7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
b2JqYy9PYmpDUnVudGltZU9iamVjdC5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09i
akNSdW50aW1lT2JqZWN0Lm1tCmluZGV4IGVhODYyNjMyZGVjNGNmZTdhZWRkNjFkZTU4NGJiMmQ1
YzBlYjhmYTkuLmM1MWJkNGQyMGM5M2I2YWM4MDg4ZGRjZGRiYTI4Y2YyMGQ4Nzg5NmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tCkBAIC0z
OCw2ICszOCwxMiBAQCBjb25zdCBDbGFzc0luZm8gT2JqQ1J1bnRpbWVPYmplY3Q6OnNfaW5mbyA9
IHsgIk9iakNSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplYwogT2JqQ1J1bnRpbWVPYmplY3Q6
Ok9iakNSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgUGFzc1JlZlB0cjxPYmpjSW5zdGFuY2U+IGluc3RhbmNlLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1
cmUsIGluc3RhbmNlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7Cit9CisK
K3ZvaWQgT2JqQ1J1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsK
ICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9vYmpjL29iamNfcnVudGltZS5oCmluZGV4IDE3NTNjMGJjN2VlMDk2MTI4M2FjY2RiNmY5YzVk
N2VhMmZmYzU0MjIuLmJiN2Q3NzU5YWQ0MzcyNWNjZTEwMTJkYzMwZGFjZjNlZTg1NDMwZWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCkBAIC05OSw3ICs5OSw5
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBkZXByZWNhdGVkR2V0RE9NU3Ry
dWN0dXJlIHVzZXMgdGhlIHByb3RvdHlwZSBvZmYgb2YgdGhlIHdyb25nIGdsb2JhbCBvYmplY3QK
ICAgICAgICAgU3RydWN0dXJlKiBkb21TdHJ1Y3R1cmUgPSBXZWJDb3JlOjpkZXByZWNhdGVkR2V0
RE9NU3RydWN0dXJlPE9iamNGYWxsYmFja09iamVjdEltcD4oZXhlYyk7Ci0gICAgICAgIHJldHVy
biBuZXcgKGFsbG9jYXRlQ2VsbDxPYmpjRmFsbGJhY2tPYmplY3RJbXA+KCpleGVjLT5oZWFwKCkp
KSBPYmpjRmFsbGJhY2tPYmplY3RJbXAoZ2xvYmFsT2JqZWN0LCBkb21TdHJ1Y3R1cmUsIGluc3Rh
bmNlLCBwcm9wZXJ0eU5hbWUpOworICAgICAgICBPYmpjRmFsbGJhY2tPYmplY3RJbXAqIGZhbGxi
YWNrT2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8T2JqY0ZhbGxiYWNrT2JqZWN0SW1wPigqZXhl
Yy0+aGVhcCgpKSkgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wKGdsb2JhbE9iamVjdCwgZG9tU3RydWN0
dXJlLCBpbnN0YW5jZSwgcHJvcGVydHlOYW1lKTsKKyAgICAgICAgZmFsbGJhY2tPYmplY3QtPmZp
bmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBmYWxsYmFja09iamVj
dDsKICAgICB9CiAKICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbQppbmRleCBkZjBlNzFjN2ZlY2I2MmUx
NmY3NWRhOTEyMDMxZmE5NmIxYTJhN2M2Li5hY2UyYmE3NTljNDY4ZjdiNzA3MjllZTkzMWQ2Mjdm
NGY2MTUzZTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1
bnRpbWUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1t
CkBAIC0yMDEsNyArMjAxLDYgQEAgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpPYmpjRmFsbGJhY2tP
YmplY3RJbXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWMKICAgICAsIF9pbnN0
YW5jZShpKQogICAgICwgX2l0ZW0ocHJvcGVydHlOYW1lKQogewotICAgIGZpbmlzaENyZWF0aW9u
KGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpmaW5pc2hD
cmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9xdC9xdF9pbnN0YW5jZS5jcHAKaW5kZXggMjA5ZDVlY2E5YmUzNWMwOTNhOGFmMTUzN2M5ODZi
NWE0NWMzZDhmNy4uNmIwOWQ4NTA1ZTBkOTM2ODg1M2RhYWYyYWExNzlmNTQyYzc1M2JhNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwCkBAIC04NSw2ICs4NSw3IEBA
IGNvbnN0IENsYXNzSW5mbyBRdFJ1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsgIlF0UnVudGltZU9i
amVjdCIsICZSdW50aW1lT2JqZWN0OjpzCiBRdFJ1bnRpbWVPYmplY3Q6OlF0UnVudGltZU9iamVj
dChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPEluc3RhbmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRp
bWVPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAg
IGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAKIC8vIFF0SW5zdGFuY2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9waXhtYXBydW50aW1lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9waXhtYXBydW50aW1lLmNwcAppbmRleCA0ZmFjNTIw
MWQ2ZGQzMTVkMzBlOWZmOTMyODgzMDNhZTcyMjA3YzFjLi43M2M4NGNlOWQwYTkxYTJlODA4YTZi
MmZiNDk4NzIwM2NkMTQ2M2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQv
cXRfcGl4bWFwcnVudGltZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3Bp
eG1hcHJ1bnRpbWUuY3BwCkBAIC0yMjQsNiArMjI0LDcgQEAgcHJpdmF0ZToKIFF0UGl4bWFwUnVu
dGltZU9iamVjdDo6UXRQaXhtYXBSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8
SW5zdGFuY2U+IGluc3RhbmNlKQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmpl
Y3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2Jq
ZWN0KTsKIH0KIAogY29uc3QgQ2xhc3NJbmZvIFF0UGl4bWFwUnVudGltZU9iamVjdDo6c19pbmZv
ID0geyAiUXRQaXhtYXBSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplY3Q6OnNfaW5mbywgMCwg
MCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCmluZGV4IDgyZWJkOTgz
YzlhNjliOGJlMWRlZDA5NGFjZTg2OGEyNzAzN2ZjZGUuLjgwOTJkY2VjMDE0ZWYwMzQzZTUwZGQ0
NDZkYzJjZjYwNTg4MzcyOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9x
dF9ydW50aW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5j
cHAKQEAgLTEwMDcsOSArMTAwNywxNSBAQCBKU1ZhbHVlIGNvbnZlcnRRVmFyaWFudFRvVmFsdWUo
RXhlY1N0YXRlKiBleGVjLCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+IHJvb3QsIGNvbgogY29uc3Qg
Q2xhc3NJbmZvIFF0UnVudGltZU1ldGhvZDo6c19pbmZvID0geyAiUXRSdW50aW1lTWV0aG9kIiwg
JkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCB9OwogCiBRdFJ1bnRpbWVNZXRob2Q6OlF0
UnVudGltZU1ldGhvZChRdFJ1bnRpbWVNZXRob2REYXRhKiBkZCwgRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIFBhc3NSZWZQdHI8
UXRJbnN0YW5jZT4gaW5zdCkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERh
dGEoKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBzdHJ1Y3R1cmUsIGlkZW50KQorICAg
IDogSW50ZXJuYWxGdW5jdGlvbihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIHN0cnVjdHVy
ZSkKICAgICAsIGRfcHRyKGRkKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50KTsK
K30KKwordm9pZCBRdFJ1bnRpbWVNZXRob2Q6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGlkZW50KTsK
ICAgICBRV19EKFF0UnVudGltZU1ldGhvZCk7CiAgICAgZC0+bV9pbnN0YW5jZSA9IGluc3Q7CiAg
ICAgZC0+bV9maW5hbGl6ZXIuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgZCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oIGIvU291cmNlL1dl
YkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuaAppbmRleCBkNDk3ZWNhOTU1MjUyZmJhNWI5NmRl
ZDg5MDgyODBkNWVmY2M1NGI2Li4wYWYxY2ViZmI4ZDEyNjdhYmE2OTdlYmRlOTYxYjNlZGFjNmFj
ZDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgKQEAgLTE0Myw2ICsxNDMs
NyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6CisgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJik7CiAgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJp
ZGVzR2V0UHJvcGVydHlOYW1lcyB8IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdzIHwg
T3ZlcnJpZGVzVmlzaXRDaGlsZHJlbjsKIAogICAgIFF0UnVudGltZU1ldGhvZERhdGEgKmRfZnVu
YygpIGNvbnN0IHtyZXR1cm4gZF9wdHI7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfYXJyYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJy
YXkuY3BwCmluZGV4IGUwMWExNWYzN2NjOTFjNDU4ZWRhMTQxYzc0ODZkOGMyNjljNmRjYjAuLjhh
MDM3ZjkyNGRjYWE4MjA5YzcxODE3MmUxYThjOGRjNzQ1M2MzM2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9hcnJheS5jcHAKQEAgLTM3LDEwICszNyw5IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiBjb25zdCBDbGFzc0luZm8gUnVudGltZUFycmF5OjpzX2luZm8gPSB7ICJSdW50aW1lQXJy
YXkiLCAmSlNBcnJheTo6c19pbmZvLCAwLCAwIH07CiAKLVJ1bnRpbWVBcnJheTo6UnVudGltZUFy
cmF5KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEJpbmRpbmdzOjpBcnJh
eSogYXJyYXkpCitSdW50aW1lQXJyYXk6OlJ1bnRpbWVBcnJheShFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNBcnJheShleGVjLT5nbG9iYWxEYXRhKCksIHN0
cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGFycmF5
KTsKIH0KIAogdm9pZCBSdW50aW1lQXJyYXk6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYg
Z2xvYmFsRGF0YSwgQmluZGluZ3M6OkFycmF5KiBhcnJheSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVu
dGltZV9hcnJheS5oCmluZGV4IDhkOGY1YWU2YmY2OGE2MzM4NjVkMGQwMmJmNjQzZjk1ZTQ0YTg5
NTcuLmNhYTNhZjIyZWQ0ODdiMTg0Y2E2OTllMzkwY2U1NmNlMjE1NDQ2NGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaApAQCAtNDEsNyArNDEsOSBAQCBwdWJsaWM6CiAgICAg
ICAgIC8vIEZJWE1FOiBkZXByZWNhdGVkR2V0RE9NU3RydWN0dXJlIHVzZXMgdGhlIHByb3RvdHlw
ZSBvZmYgb2YgdGhlIHdyb25nIGdsb2JhbCBvYmplY3QKICAgICAgICAgLy8gV2UgbmVlZCB0byBw
YXNzIGluIHRoZSByaWdodCBnbG9iYWwgb2JqZWN0IGZvciAiYXJyYXkiLgogICAgICAgICBTdHJ1
Y3R1cmUqIGRvbVN0cnVjdHVyZSA9IFdlYkNvcmU6OmRlcHJlY2F0ZWRHZXRET01TdHJ1Y3R1cmU8
UnVudGltZUFycmF5PihleGVjKTsKLSAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFJ1
bnRpbWVBcnJheT4oKmV4ZWMtPmhlYXAoKSkpIFJ1bnRpbWVBcnJheShleGVjLCBkb21TdHJ1Y3R1
cmUsIGFycmF5KTsKKyAgICAgICAgUnVudGltZUFycmF5KiBydW50aW1lQXJyYXkgPSBuZXcgKGFs
bG9jYXRlQ2VsbDxSdW50aW1lQXJyYXk+KCpleGVjLT5oZWFwKCkpKSBSdW50aW1lQXJyYXkoZXhl
YywgZG9tU3RydWN0dXJlKTsKKyAgICAgICAgcnVudGltZUFycmF5LT5maW5pc2hDcmVhdGlvbihl
eGVjLT5nbG9iYWxEYXRhKCksIGFycmF5KTsKKyAgICAgICAgcmV0dXJuIHJ1bnRpbWVBcnJheTsK
ICAgICB9CiAKICAgICB0eXBlZGVmIEJpbmRpbmdzOjpBcnJheSBCaW5kaW5nc0FycmF5OwpAQCAt
NzksNyArODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0UHJv
cGVydHlOYW1lcyB8IEpTQXJyYXk6OlN0cnVjdHVyZUZsYWdzOwogCiBwcml2YXRlOgotICAgIFJ1
bnRpbWVBcnJheShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBCaW5kaW5nczo6QXJyYXkqKTsKKyAg
ICBSdW50aW1lQXJyYXkoRXhlY1N0YXRlKiwgU3RydWN0dXJlKik7CiAgICAgc3RhdGljIEpTVmFs
dWUgbGVuZ3RoR2V0dGVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUsIGNvbnN0IElkZW50aWZpZXImKTsK
ICAgICBzdGF0aWMgSlNWYWx1ZSBpbmRleEdldHRlcihFeGVjU3RhdGUqLCBKU1ZhbHVlLCB1bnNp
Z25lZCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0
aG9kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAKaW5kZXgg
MjhmYmQzZjljMGQ5MTgwNjFlNjlmYjE0NGFkYmU5YmI1ODRmMTM5Yy4uZDE0ZjU0ZjE4ZjFjZTI1
NTRhY2U1YjQ2ZTcyZGZjNjhiODIxYzk0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfbWV0aG9kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGlt
ZV9tZXRob2QuY3BwCkBAIC00NSw5ICs0NSwxNSBAQCBjb25zdCBDbGFzc0luZm8gUnVudGltZU1l
dGhvZDo6c19pbmZvID0geyAiUnVudGltZU1ldGhvZCIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzXwog
CiBSdW50aW1lTWV0aG9kOjpSdW50aW1lTWV0aG9kKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZp
ZXImIGlkZW50LCBCaW5kaW5nczo6TWV0aG9kTGlzdCYgbSkKICAgICAvLyBDYWxsZXJzIHdpbGwg
bmVlZCB0byBwYXNzIGluIHRoZSByaWdodCBnbG9iYWwgb2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8g
dGhpcyBuYXRpdmUgb2JqZWN0ICJtIi4KLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmds
b2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50KQorICAgIDogSW50ZXJu
YWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAsIF9tZXRob2RMaXN0KGFk
b3B0UHRyKG5ldyBNZXRob2RMaXN0KG0pKSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgaWRlbnQpOworfQorCit2b2lkIFJ1bnRpbWVNZXRo
b2Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCit7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBpZGVudCk7CiAgICAgQVNT
RVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfbWV0aG9kLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9t
ZXRob2QuaAppbmRleCBjNmMzZTRlZTA5MjA3YjNlM2MxNjE3MWNjYjY0ZTcyZmViZWNiMDU0Li5k
NWU0YTJiOWRmN2M1M2FiNmQ4OTQzY2UxZTVjYmQyOGU1ZGY0YmE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9tZXRob2QuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAKIHByb3Rl
Y3RlZDoKICAgICBSdW50aW1lTWV0aG9kKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKiwgY29uc3QgSWRlbnRpZmllciYgbmFtZSwgQmluZGluZ3M6Ok1ldGhvZExpc3QmKTsK
KyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYsIEpTR2xvYmFsT2JqZWN0Kiwg
Y29uc3QgSWRlbnRpZmllciYpOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0
cnVjdHVyZUZsYWdzOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfb2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29i
amVjdC5jcHAKaW5kZXggOTY2NDBmMDA4ZmFjMWFjNDcxNzY0ZmY4NWUzYjhmNjQ1YjkyYmYyYy4u
OWJmZTQ2NzliYzBiZWNmNzA5NmRlYjU2NDA0MGYyMzk3Mjc0OTQ2OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCkBAIC00MSw3ICs0MSw2IEBAIFJ1bnRpbWVPYmpl
Y3Q6OlJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgU3RydWN0dXJlCiAgICAgOiBKU09iamVjdFdpdGhHbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0
LCBzdHJ1Y3R1cmUpCiAgICAgLCBtX2luc3RhbmNlKGluc3RhbmNlKQogewotICAgIGZpbmlzaENy
ZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgUnVudGltZU9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfb2JqZWN0LmgKaW5kZXggOTllMDZlMDFjNWJhZjc4MDc3ZmI5YTRiZGRmOTNhNWE0NGQ4
YzNiYy4uN2ZiYjI4NDgxMTExNmU5MzFiYWYyN2VjNDI2ZGY1NDYxYWM1MWQ3MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKQEAgLTM5LDcgKzM5LDkgQEAgcHVibGljOgog
CiAgICAgc3RhdGljIFJ1bnRpbWVPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRy
PEluc3RhbmNlPiBpbnN0YW5jZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRl
Q2VsbDxSdW50aW1lT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgUnVudGltZU9iamVjdChleGVjLCBn
bG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpOworICAgICAgICBSdW50aW1lT2JqZWN0
KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSdW50aW1lT2JqZWN0PigqZXhlYy0+aGVhcCgp
KSkgUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2Up
OworICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAg
IHJldHVybiBvYmplY3Q7CiAgICAgfQogCiAgICAgdmlydHVhbCB+UnVudGltZU9iamVjdCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IDhkNDk3YWU1NTQzYjc2YzM1Nzk2OGUxMDA4ZDMxZTgzMDcxNTQz
YmMuLjZjMGZmMDBjMzNlM2ZmYzEyNDc1NmVlYmNhMzNkNTA2N2Y5MzI0NmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMS0wOS0wMSAgTWFyayBIYWhuZW5iZXJnICA8bWhh
aG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3Rz
IGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV0ZWQgdGhlIGZvdXJ0aCBs
ZXZlbCBvZiB0aGUgcmVmYWN0b3JpbmcgdG8gYWRkIGZpbmlzaENyZWF0aW9uKCkgCisgICAgICAg
IG1ldGhvZHMgdG8gYWxsIGNsYXNzZXMgd2l0aGluIHRoZSBKU0NlbGwgaGllcmFyY2h5IHdpdGgg
bm9uLXRyaXZpYWwgCisgICAgICAgIGNvbnN0cnVjdG9yIGJvZGllcy4KKworICAgICAgICBUaGlz
IHByaW1hcmlseSBjb25zaXN0cyBvZiBwdXNoaW5nIHRoZSBjYWxscyB0byBmaW5pc2hDcmVhdGlv
bigpIGRvd24gCisgICAgICAgIGludG8gdGhlIGNvbnN0cnVjdG9ycyBvZiB0aGUgc3ViY2xhc3Nl
cyBvZiB0aGUgc2Vjb25kIGxldmVsIG9mIHRoZSBoaWVyYXJjaHkgCisgICAgICAgIGFzIHdlbGwg
YXMgcHVsbGluZyB0aGUgZmluaXNoQ3JlYXRpb24oKSBjYWxscyBvdXQgaW50byB0aGUgY2xhc3Mn
cyBjb3JyZXNwb25kaW5nCisgICAgICAgIGNyZWF0ZSgpIG1ldGhvZCBpZiBpdCBoYXMgb25lLiAg
RG9pbmcgYm90aCBzaW11bHRhbmVvdXNseSBhbGxvd3MgdXMgdG8gCisgICAgICAgIG1haW50YWlu
IHRoZSBpbnZhcmlhbnQgdGhhdCB0aGUgZmluaXNoQ3JlYXRpb24oKSBtZXRob2QgY2hhaW4gaXMg
Y2FsbGVkIGV4YWN0bHkgCisgICAgICAgIG9uY2UgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBhbiBv
YmplY3QsIHNpbmNlIGNhbGxpbmcgaXQgYW55IG90aGVyIG51bWJlciBvZiAKKyAgICAgICAgdGlt
ZXMgKDAsIDIsIG9yIG1vcmUpIHdpbGwgY2F1c2UgYW4gYXNzZXJ0aW9uIGZhaWx1cmUuCisKKyAg
ICAgICAgKiBQbHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QuaDoKKyAgICAgICAgKiBQ
bHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QubW06CisgICAgICAgIChXZWJLaXQ6OlBy
b3h5UnVudGltZU9iamVjdDo6UHJveHlSdW50aW1lT2JqZWN0KToKKyAgICAgICAgKFdlYktpdDo6
UHJveHlSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisKIDIwMTEtMDktMDEgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjog
UmVuZGVyaW5nIGFydGlmYWN0cyBvbiBhIHJvdGF0ZWQsIHBhdHRlcm4gZmlsbGVkIHNoYXBlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVP
YmplY3QuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9i
amVjdC5oCmluZGV4IGQ4YWU4MTEwYTU1YmM5MjBiMzRiOGVkYzA0YTdhN2E1ODkwMzk2MDEuLjYy
Mjk0MzM0NzA0OGY2ODMwMDg4MWI4YzJkYjQ4MjgwYjU0MzM4ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5oCkBAIC01
OSw2ICs1OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgSlNDOjpDbGFzc0luZm8gc19p
bmZvOwogcHJpdmF0ZToKICAgICBQcm94eVJ1bnRpbWVPYmplY3QoSlNDOjpFeGVjU3RhdGUqLCBK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPFByb3h5SW5z
dGFuY2U+KTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6SlNHbG9iYWxPYmplY3QqKTsK
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1By
b3h5UnVudGltZU9iamVjdC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1By
b3h5UnVudGltZU9iamVjdC5tbQppbmRleCA4YTY0ODFlM2Q0NTJjYjNmYjZmODFiMWVmMDM1Njkz
MDFiYjMwYzRjLi41Y2IyNzQ5YzkyODgzOWE4NTNhNDFiZDk1NDA1Mzg1NDVmYWU1ODFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmpl
Y3QubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1l
T2JqZWN0Lm1tCkBAIC0zOSw2ICszOSwxMiBAQCBjb25zdCBDbGFzc0luZm8gUHJveHlSdW50aW1l
T2JqZWN0OjpzX2luZm8gPSB7ICJQcm94eVJ1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iagogUHJv
eHlSdW50aW1lT2JqZWN0OjpQcm94eVJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0
cjxQcm94eUluc3RhbmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xv
YmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGds
b2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgUHJveHlSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlv
bihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKGdsb2JhbE9iamVjdCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDk4Y2RmOGViODhhZjNlMDQyZGQzZGJhYjIwNzk3NGJjNGU5ZWUyZWUuLjVk
ZWI3YjRjOTJmMDVjMDg2YzhlZmFiYTJhYjEzOThhNjgwMjgxN2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxMS0wOS0wMSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBw
bGUuY29tPgorCisgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1
Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV0ZWQgdGhlIGZvdXJ0aCBsZXZlbCBvZiB0aGUg
cmVmYWN0b3JpbmcgdG8gYWRkIGZpbmlzaENyZWF0aW9uKCkgCisgICAgICAgIG1ldGhvZHMgdG8g
YWxsIGNsYXNzZXMgd2l0aGluIHRoZSBKU0NlbGwgaGllcmFyY2h5IHdpdGggbm9uLXRyaXZpYWwg
CisgICAgICAgIGNvbnN0cnVjdG9yIGJvZGllcy4KKworICAgICAgICBUaGlzIHByaW1hcmlseSBj
b25zaXN0cyBvZiBwdXNoaW5nIHRoZSBjYWxscyB0byBmaW5pc2hDcmVhdGlvbigpIGRvd24gCisg
ICAgICAgIGludG8gdGhlIGNvbnN0cnVjdG9ycyBvZiB0aGUgc3ViY2xhc3NlcyBvZiB0aGUgc2Vj
b25kIGxldmVsIG9mIHRoZSBoaWVyYXJjaHkgCisgICAgICAgIGFzIHdlbGwgYXMgcHVsbGluZyB0
aGUgZmluaXNoQ3JlYXRpb24oKSBjYWxscyBvdXQgaW50byB0aGUgY2xhc3MncyBjb3JyZXNwb25k
aW5nCisgICAgICAgIGNyZWF0ZSgpIG1ldGhvZCBpZiBpdCBoYXMgb25lLiAgRG9pbmcgYm90aCBz
aW11bHRhbmVvdXNseSBhbGxvd3MgdXMgdG8gCisgICAgICAgIG1haW50YWluIHRoZSBpbnZhcmlh
bnQgdGhhdCB0aGUgZmluaXNoQ3JlYXRpb24oKSBtZXRob2QgY2hhaW4gaXMgY2FsbGVkIGV4YWN0
bHkgCisgICAgICAgIG9uY2UgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBhbiBvYmplY3QsIHNpbmNl
IGNhbGxpbmcgaXQgYW55IG90aGVyIG51bWJlciBvZiAKKyAgICAgICAgdGltZXMgKDAsIDIsIG9y
IG1vcmUpIHdpbGwgY2F1c2UgYW4gYXNzZXJ0aW9uIGZhaWx1cmUuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkpTTlBNZXRob2Q6OkpTTlBNZXRob2QpOgorICAgICAgICAoV2ViS2l0OjpKU05QTWV0aG9kOjpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pT
TlBNZXRob2QuaDoKKyAgICAgICAgKFdlYktpdDo6SlNOUE1ldGhvZDo6Y3JlYXRlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkpTTlBPYmplY3Q6OkpTTlBPYmplY3QpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0Lmg6CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmpl
Y3Q6OmNyZWF0ZSk6CisKIDIwMTEtMDktMDEgIEFkYSBDaGFuICA8YWRhY2hhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgQ3V0IGRvd24gdGhlIGlmZGVmcyBpbiBXZWJLaXQ6OmdldFdlYkNvcmVNZW1v
cnlDYWNoZVN0YXRpc3RpY3MoKSBub3cgdGhhdCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcAppbmRleCA4Nzll
NmI4YjI2YWFiYTc4M2Y0NGYzYTg3YmE1YjA2ZGIxM2Q0YzE5Li41MDJiZjI3NmRhYTVjMGRhODAz
NThiYTYyOTBjZDMxNDlkYjlhMWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuY3BwCkBAIC0zMCw2ICszMCw3
IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRXJyb3IuaD4KICNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
R2xvYmFsT2JqZWN0Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0pTSFRNTEVsZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0pTUGx1
Z2luRWxlbWVudEZ1bmN0aW9ucy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQu
aD4KQEAgLTQxLDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY29uc3QgQ2xhc3NJ
bmZvIEpTTlBNZXRob2Q6OnNfaW5mbyA9IHsgIk5QTWV0aG9kIiwgJkludGVybmFsRnVuY3Rpb246
OnNfaW5mbywgMCwgMCB9OwogCi1KU05QTWV0aG9kOjpKU05QTWV0aG9kKEV4ZWNTdGF0ZSogZXhl
YywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSwg
TlBJZGVudGlmaWVyIG5wSWRlbnRpZmllciwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBJ
bnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0
dXJlLCBuYW1lKQorSlNOUE1ldGhvZDo6SlNOUE1ldGhvZChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVu
dGlmaWVyJiBuYW1lLCBOUElkZW50aWZpZXIgbnBJZGVudGlmaWVyKQorICAgIDogSW50ZXJuYWxG
dW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAsIG1fbnBJZGVudGlmaWVyKG5w
SWRlbnRpZmllcikKIHsKLSAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOworICAgIGZpbmlz
aENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBuYW1lKTsKIH0KIAot
SlNOUE1ldGhvZCogSlNOUE1ldGhvZDo6Y3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIE5QSWRlbnRpZmll
ciBucElkZW50KQordm9pZCBKU05QTWV0aG9kOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUpCiB7Ci0gICAgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNyZWF0ZVN0cnVj
dHVyZShleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdC0+ZnVuY3Rpb25Qcm90b3R5cGUo
KSk7Ci0gICAgcmV0dXJuIG5ldyAoSlNDOjphbGxvY2F0ZUNlbGw8SlNOUE1ldGhvZD4oKmV4ZWMt
PmhlYXAoKSkpIEpTTlBNZXRob2QoZXhlYywgZ2xvYmFsT2JqZWN0LCBpZGVudCwgbnBJZGVudCwg
c3RydWN0dXJlKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxP
YmplY3QsIG5hbWUpOworICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKIHN0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxNZXRob2QoRXhlY1N0YXRlKiBleGVj
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L0pTTlBNZXRob2QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9KU05QTWV0aG9kLmgKaW5kZXggYmIzNzI5ZDgxMGU3ZjgzNDZiYjI1NDg3YWE0OTU5ZDNhMGVh
NjNlOS4uNGJkYTkwOGEzYzMyN2NmYzhkN2JlMmRlMjgwMGNkZGExNmI5ZjliOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2Qu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1l
dGhvZC5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIEpTTlBNZXRob2RfaAogI2RlZmluZSBK
U05QTWV0aG9kX2gKIAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Z1bmN0aW9uUHJvdG90eXBl
Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW50ZXJuYWxGdW5jdGlvbi5oPgogCiB0eXBl
ZGVmIHZvaWQqIE5QSWRlbnRpZmllcjsKQEAgLTM3LDE0ICszOCwyMSBAQCBjbGFzcyBKU05QTWV0
aG9kIDogcHVibGljIEpTQzo6SW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRl
ZiBKU0M6OkludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBKU05QTWV0aG9kKiBj
cmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyJiwgTlBJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgSlNOUE1ldGhvZCogY3JlYXRl
KEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IGNvbnN0IEpTQzo6SWRlbnRpZmllciYgaWRlbnQsIE5QSWRlbnRpZmllciBucElkZW50KQorICAg
IHsKKyAgICAgICAgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNyZWF0ZVN0cnVjdHVyZShl
eGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdC0+ZnVuY3Rpb25Qcm90b3R5cGUoKSk7Cisg
ICAgICAgIHJldHVybiBuZXcgKEpTQzo6YWxsb2NhdGVDZWxsPEpTTlBNZXRob2Q+KCpleGVjLT5o
ZWFwKCkpKSBKU05QTWV0aG9kKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwg
bnBJZGVudCk7CisgICAgfQogCiAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJbmZvIHNfaW5m
bzsKIAogICAgIE5QSWRlbnRpZmllciBucElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX25w
SWRlbnRpZmllcjsgfQogCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6
OkpTR2xvYmFsRGF0YSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBKU0M6OklkZW50aWZp
ZXImIG5hbWUpOworCiBwcml2YXRlOiAgICAKLSAgICBKU05QTWV0aG9kKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIE5QSWRlbnRp
ZmllciwgSlNDOjpTdHJ1Y3R1cmUqKTsKKyAgICBKU05QTWV0aG9kKEpTQzo6RXhlY1N0YXRlKiwg
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6U3RydWN0dXJlKiwgY29uc3QgSlNDOjpJZGVudGlm
aWVyJiwgTlBJZGVudGlmaWVyKTsKIAogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRl
U3RydWN0dXJlKEpTQzo6SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0M6OkpTVmFsdWUgcHJv
dG90eXBlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcAppbmRleCAyMjkxMGY1Y2E0NzY3NjY1YWEz
OGZjOGVjNGRjZGNlOTVmYWZkYWYzLi45OWEzYjg4N2VhYmZhNWYxZjVkMjE0ZDU5NGYzMzQzZjE2
OGU5MDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvSlNOUE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL0pTTlBPYmplY3QuY3BwCkBAIC01MCwxMiArNTAsMTEgQEAgc3RhdGljIE5Q
SWRlbnRpZmllciBucElkZW50aWZpZXJGcm9tSWRlbnRpZmllcihjb25zdCBJZGVudGlmaWVyJiBp
ZGVudGlmaWVyKQogCiBjb25zdCBDbGFzc0luZm8gSlNOUE9iamVjdDo6c19pbmZvID0geyAiTlBP
YmplY3QiLCAmSlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIDAgfTsKIAotSlNO
UE9iamVjdDo6SlNOUE9iamVjdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBOUFJ1bnRp
bWVPYmplY3RNYXAqIG9iamVjdE1hcCwgTlBPYmplY3QqIG5wT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKK0pTTlBPYmplY3Q6OkpTTlBPYmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFw
LCBOUE9iamVjdCogbnBPYmplY3QpCiAgICAgOiBKU09iamVjdFdpdGhHbG9iYWxPYmplY3QoZ2xv
YmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBtX29iamVjdE1hcChvYmplY3RNYXApCiAgICAg
LCBtX25wT2JqZWN0KG5wT2JqZWN0KQogewotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVj
dCk7CiB9CiAKIHZvaWQgSlNOUE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKQEAgLTY5LDEyICs2OCw2IEBAIHZvaWQgSlNOUE9iamVjdDo6ZmluaXNo
Q3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICByZXRhaW5OUE9iamVj
dChtX25wT2JqZWN0KTsKIH0KIAotSlNOUE9iamVjdCogSlNOUE9iamVjdDo6Y3JlYXRlKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTlBSdW50aW1lT2JqZWN0TWFwKiBvYmplY3RN
YXAsIE5QT2JqZWN0KiBucE9iamVjdCkKLXsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNy
ZWF0ZVN0cnVjdHVyZShnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LT5v
YmplY3RQcm90b3R5cGUoKSk7Ci0gICAgcmV0dXJuIG5ldyAoSlNDOjphbGxvY2F0ZUNlbGw8SlNO
UE9iamVjdD4oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCkuaGVhcCkpIEpTTlBPYmplY3QoZ2xv
YmFsT2JqZWN0LCBvYmplY3RNYXAsIG5wT2JqZWN0LCBzdHJ1Y3R1cmUpOwotfQotCiBKU05QT2Jq
ZWN0Ojp+SlNOUE9iamVjdCgpCiB7CiAgICAgQVNTRVJUKCFtX25wT2JqZWN0KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVj
dC5oCmluZGV4IDc1ODIyYzNjNTk2NzNkOGNkYjdhNDdiZWJjODYxZDNiZDhiNjliZGIuLmRkNDEx
M2M5NzAxYjRmOWNjZTE5ZDlmOGNlZmQ2ODY4OTZlMTlmZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaApAQCAt
MjcsNiArMjcsNyBAQAogI2RlZmluZSBKU05QT2JqZWN0X2gKIAogI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTT2JqZWN0V2l0aEdsb2JhbE9iamVjdC5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL09iamVjdFByb3RvdHlwZS5oPgogCiB0eXBlZGVmIHZvaWQqIE5QSWRlbnRpZmllcjsKIHN0
cnVjdCBOUE9iamVjdDsKQEAgLTQxLDcgKzQyLDE0IEBAIGNsYXNzIEpTTlBPYmplY3QgOiBwdWJs
aWMgSlNDOjpKU09iamVjdFdpdGhHbG9iYWxPYmplY3QgewogcHVibGljOgogICAgIHR5cGVkZWYg
SlNDOjpKU09iamVjdFdpdGhHbG9iYWxPYmplY3QgQmFzZTsKIAotICAgIHN0YXRpYyBKU05QT2Jq
ZWN0KiBjcmVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIE5QUnVudGltZU9iamVjdE1hcCosIE5Q
T2JqZWN0Kik7CisgICAgc3RhdGljIEpTTlBPYmplY3QqIGNyZWF0ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFwLCBOUE9iamVj
dCogbnBPYmplY3QpCisgICAgeworICAgICAgICBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlID0g
Y3JlYXRlU3RydWN0dXJlKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3Qt
Pm9iamVjdFByb3RvdHlwZSgpKTsKKyAgICAgICAgSlNOUE9iamVjdCogb2JqZWN0ID0gbmV3IChK
U0M6OmFsbG9jYXRlQ2VsbDxKU05QT2JqZWN0PihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKS5o
ZWFwKSkgSlNOUE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgb2JqZWN0TWFwLCBucE9i
amVjdCk7CisgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAg
ICAgICAgcmV0dXJuIG9iamVjdDsKKyAgICB9CisKICAgICB+SlNOUE9iamVjdCgpOwogCiAgICAg
dm9pZCBpbnZhbGlkYXRlKCk7CkBAIC02MSw3ICs2OSw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKIAogcHJpdmF0ZToKLSAgICBK
U05QT2JqZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBOUFJ1bnRpbWVPYmplY3RNYXAqLCBOUE9i
amVjdCosIEpTQzo6U3RydWN0dXJlKik7CisgICAgSlNOUE9iamVjdChKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBOUFJ1bnRpbWVPYmplY3RNYXAqLCBOUE9iamVjdCopOwog
CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gSlNDOjpPdmVycmlk
ZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBKU0M6Ok92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMgfCBK
U09iamVjdDo6U3RydWN0dXJlRmxhZ3M7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106084</attachid>
            <date>2011-09-01 19:15:11 -0700</date>
            <delta_ts>2011-09-03 19:55:45 -0700</delta_ts>
            <desc>Reset test bindings</desc>
            <filename>bug-67420-20110901191510.patch</filename>
            <type>text/plain</type>
            <size>117754</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQzNzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRleCA5NTA0YWQ4MGQ4NTNmM2M2NTVm
ODQyOGQ3ZDE2YTY1ZmVjYjgzMDc3Li42YTA5OTM0ZmNjYjYwYTM4ZmNmYmQ0MmU5MzU2ZTkxZGI3
OWY5YjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwCkBAIC00Myw3ICs0Myw2IEBAIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6
SlNDYWxsYmFja0NvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
CiAgICAgLCBtX2NsYXNzKGpzQ2xhc3MpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCwganNDbGFzcyk7CiB9CiAKIHZvaWQgSlND
YWxsYmFja0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NsYXNzUmVmIGpzQ2xhc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAppbmRleCA5MTE5MWRiNWY5Njc5OWUyMGNhNDZl
OTEwMTRlNWVhNGFjNjY4Y2Q3Li44YWNkNjA1YjBhYTQ1ZTlmNzA3NDk3NTJkNzI3ODRkN2I0NDg2
ZWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmgKQEAgLTM3LDcgKzM3LDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIEpTQ2FsbGJh
Y2tDb25zdHJ1Y3RvciogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQ2xhc3NSZWYgY2xhc3NSZWYsIEpT
T2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayBjYWxsYmFjaykgCiAgICAgewotICAgICAg
ICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBKU0NhbGxiYWNrQ29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0LCBjbGFzc1JlZik7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAg
ICB9CiAgICAgCiAgICAgdmlydHVhbCB+SlNDYWxsYmFja0NvbnN0cnVjdG9yKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKaW5kZXggMjhi
MzQxOTIzZGMzNTBlNDNmODhlYzk3MjBkY2U1YjM0M2RiYzRhNy4uY2M1NTYxZmFmZDRiYTQzZWQy
MTk5NTAxY2NkMWE1YWRiNDg4MjNiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcApAQCAtNDMsOSArNDMsMTUgQEAgQVNTRVJUX0NMQVNT
X0ZJVFNfSU5fQ0VMTChKU0NhbGxiYWNrRnVuY3Rpb24pOwogY29uc3QgQ2xhc3NJbmZvIEpTQ2Fs
bGJhY2tGdW5jdGlvbjo6c19pbmZvID0geyAiQ2FsbGJhY2tGdW5jdGlvbiIsICZJbnRlcm5hbEZ1
bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAogSlNDYWxsYmFja0Z1bmN0aW9uOjpKU0NhbGxiYWNr
RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2Jh
bE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCksIG5hbWUp
CisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxs
YmFja0Z1bmN0aW9uU3RydWN0dXJlKCkpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewor
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBuYW1l
KTsKK30KKwordm9pZCBKU0NhbGxiYWNrRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRl
bnRpZmllciYgbmFtZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBn
bG9iYWxPYmplY3QsIG5hbWUpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9u
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5oCmluZGV4
IDFkN2EwYTk4YWUwNDQzOTUwN2Q3N2NkMWU4YjM2MGRhNDM1NWFhZWMuLmFjNTViMmI1ZTE5MTFh
NDliNGJmZmUyZTMxMzI5YzIwZTg4MTI1ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uaApAQCAtMzQsNiArMzQsNyBAQCBuYW1lc3BhY2UgSlND
IHsKIGNsYXNzIEpTQ2FsbGJhY2tGdW5jdGlvbiA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsK
IHByb3RlY3RlZDoKICAgICBKU0NhbGxiYWNrRnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgSlNHbG9iYWxP
YmplY3QqLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKIAogcHVibGljOgogICAgIHR5cGVkZWYg
SW50ZXJuYWxGdW5jdGlvbiBCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggZWNkM2Fi
ZTIwYzNiYzZhOTM4MzJiY2JmMjViN2JmMDc4ZDQwNzZjZi4uNGNhNDQwN2JjZDhhOWQzOGFkZTJl
ZTNlYjU3MDY0MmFlNGQzOTZiYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYyIEBACisyMDExLTA5LTAxICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9y
cyBpbiBKU0NlbGwgaGllcmFyY2h5ICg1LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENvbXBsZXRlZCB0aGUgZm91cnRoIGxldmVsIG9mIHRoZSByZWZh
Y3RvcmluZyB0byBhZGQgZmluaXNoQ3JlYXRpb24oKSAKKyAgICAgICAgbWV0aG9kcyB0byBhbGwg
Y2xhc3NlcyB3aXRoaW4gdGhlIEpTQ2VsbCBoaWVyYXJjaHkgd2l0aCBub24tdHJpdmlhbCAKKyAg
ICAgICAgY29uc3RydWN0b3IgYm9kaWVzLgorCisgICAgICAgIFRoaXMgcHJpbWFyaWx5IGNvbnNp
c3RzIG9mIHB1c2hpbmcgdGhlIGNhbGxzIHRvIGZpbmlzaENyZWF0aW9uKCkgZG93biAKKyAgICAg
ICAgaW50byB0aGUgY29uc3RydWN0b3JzIG9mIHRoZSBzdWJjbGFzc2VzIG9mIHRoZSBzZWNvbmQg
bGV2ZWwgb2YgdGhlIGhpZXJhcmNoeSAKKyAgICAgICAgYXMgd2VsbCBhcyBwdWxsaW5nIHRoZSBm
aW5pc2hDcmVhdGlvbigpIGNhbGxzIG91dCBpbnRvIHRoZSBjbGFzcydzIGNvcnJlc3BvbmRpbmcK
KyAgICAgICAgY3JlYXRlKCkgbWV0aG9kIGlmIGl0IGhhcyBvbmUuICBEb2luZyBib3RoIHNpbXVs
dGFuZW91c2x5IGFsbG93cyB1cyB0byAKKyAgICAgICAgbWFpbnRhaW4gdGhlIGludmFyaWFudCB0
aGF0IHRoZSBmaW5pc2hDcmVhdGlvbigpIG1ldGhvZCBjaGFpbiBpcyBjYWxsZWQgZXhhY3RseSAK
KyAgICAgICAgb25jZSBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIGFuIG9iamVjdCwgc2luY2UgY2Fs
bGluZyBpdCBhbnkgb3RoZXIgbnVtYmVyIG9mIAorICAgICAgICB0aW1lcyAoMCwgMiwgb3IgbW9y
ZSkgd2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKworICAgICAgICAqIEFQSS9KU0Nh
bGxiYWNrQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29uc3RydWN0
b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29uc3RydWN0b3I6OmNyZWF0ZSk6
CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpT
Q2FsbGJhY2tGdW5jdGlvbjo6SlNDYWxsYmFja0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6SlND
YWxsYmFja0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogQVBJL0pTQ2FsbGJh
Y2tGdW5jdGlvbi5oOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmV4cDoKKyAgICAgICAgKiBk
ZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uY3BwOgorICAgICAgICAqIGRlYnVnZ2VyL0RlYnVn
Z2VyQWN0aXZhdGlvbi5oOgorICAgICAgICAoSlNDOjpEZWJ1Z2dlckFjdGl2YXRpb246OmNyZWF0
ZSk6CisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKEdsb2JhbE9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAoR2xvYmFsT2JqZWN0OjpHbG9iYWxPYmplY3QpOgorICAgICAgICAq
IHJ1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkFycmF5Q29uc3Ry
dWN0b3I6OkFycmF5Q29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmg6
CisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OkFy
cmF5UHJvdG90eXBlOjpBcnJheVByb3RvdHlwZSk6CisgICAgICAgICogcnVudGltZS9BcnJheVBy
b3RvdHlwZS5oOgorICAgICAgICAoSlNDOjpBcnJheVByb3RvdHlwZTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkJvb2xl
YW5Db25zdHJ1Y3Rvcjo6Qm9vbGVhbkNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6Qm9vbGVh
bkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9Cb29sZWFu
Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5PYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpCb29sZWFuT2JqZWN0OjpCb29sZWFuT2JqZWN0KToKKyAgICAgICAgKiBydW50
aW1lL0Jvb2xlYW5PYmplY3QuaDoKKyAgICAgICAgKEpTQzo6Qm9vbGVhbk9iamVjdDo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwOgorICAgICAgICAoSlND
OjpCb29sZWFuUHJvdG90eXBlOjpCb29sZWFuUHJvdG90eXBlKToKKyAgICAgICAgKEpTQzo6Qm9v
bGVhblByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQm9vbGVh
blByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6RGF0ZUNvbnN0cnVjdG9yOjpEYXRlQ29uc3RydWN0b3IpOgorICAgICAgICAo
SlNDOjpEYXRlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L0RhdGVDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcDoK
KyAgICAgICAgKEpTQzo6RGF0ZUluc3RhbmNlOjpEYXRlSW5zdGFuY2UpOgorICAgICAgICAqIHJ1
bnRpbWUvRGF0ZUluc3RhbmNlLmg6CisgICAgICAgIChKU0M6OkRhdGVJbnN0YW5jZTo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpE
YXRlUHJvdG90eXBlOjpEYXRlUHJvdG90eXBlKToKKyAgICAgICAgKEpTQzo6RGF0ZVByb3RvdHlw
ZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZVByb3RvdHlwZS5oOgor
ICAgICAgICAqIHJ1bnRpbWUvRXJyb3IuY3BwOgorICAgICAgICAoSlNDOjpTdHJpY3RNb2RlVHlw
ZUVycm9yRnVuY3Rpb246OlN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbik6CisgICAgICAgICog
cnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6RXJyb3JDb25zdHJ1
Y3Rvcjo6RXJyb3JDb25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6OkVycm9yQ29uc3RydWN0b3I6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaDoK
KyAgICAgICAgKiBydW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6RXJy
b3JQcm90b3R5cGU6OkVycm9yUHJvdG90eXBlKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yUHJv
dG90eXBlLmg6CisgICAgICAgIChKU0M6OkVycm9yUHJvdG90eXBlOjpjcmVhdGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkZ1bmN0
aW9uQ29uc3RydWN0b3I6OkZ1bmN0aW9uQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpGdW5j
dGlvbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9GdW5j
dGlvbkNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5j
cHA6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uUHJvdG90eXBlOjpGdW5jdGlvblByb3RvdHlwZSk6
CisgICAgICAgIChKU0M6OkZ1bmN0aW9uUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAg
ICAgICogcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50
ZXJuYWxGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkludGVybmFsRnVuY3Rpb246OkludGVy
bmFsRnVuY3Rpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNBY3RpdmF0
aW9uOjpKU0FjdGl2YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNBY3RpdmF0aW9uLmg6Cisg
ICAgICAgIChKU0M6OkpTQWN0aXZhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pT
R2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjpjcmVhdGUpOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6SlNHbG9iYWxPYmplY3QpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNPTk9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT05PYmplY3Q6OkpTT05P
YmplY3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVjdC5oOgorICAgICAgICAoSlNDOjpK
U09OT2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVj
dC5oOgorICAgICAgICAoSlNDOjpKU1N0YXRpY1Njb3BlT2JqZWN0OjpjcmVhdGUpOgorICAgICAg
ICAoSlNDOjpKU1N0YXRpY1Njb3BlT2JqZWN0OjpKU1N0YXRpY1Njb3BlT2JqZWN0KToKKyAgICAg
ICAgKiBydW50aW1lL0pTU3RyaW5nLmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaW5nT2JqZWN0Ojpj
cmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvTWF0aE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6
Ok1hdGhPYmplY3Q6Ok1hdGhPYmplY3QpOgorICAgICAgICAqIHJ1bnRpbWUvTWF0aE9iamVjdC5o
OgorICAgICAgICAoSlNDOjpNYXRoT2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUv
TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29u
c3RydWN0b3I6Ok5hdGl2ZUVycm9yQ29uc3RydWN0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvTmF0
aXZlRXJyb3JDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvckNvbnN0cnVj
dG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9OYXRpdmVFcnJvclByb3Rv
dHlwZS5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yUHJvdG90eXBlOjpOYXRpdmVFcnJv
clByb3RvdHlwZSk6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yUHJvdG90eXBlOjpmaW5pc2hD
cmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpOdW1i
ZXJDb25zdHJ1Y3Rvcjo6TnVtYmVyQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpOdW1iZXJD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29u
c3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL051bWJlck9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6Ok51bWJlck9iamVjdDo6TnVtYmVyT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL051
bWJlck9iamVjdC5oOgorICAgICAgICAoSlNDOjpOdW1iZXJPYmplY3Q6OmNyZWF0ZSk6CisgICAg
ICAgICogcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpOdW1iZXJQ
cm90b3R5cGU6Ok51bWJlclByb3RvdHlwZSk6CisgICAgICAgIChKU0M6Ok51bWJlclByb3RvdHlw
ZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmg6
CisgICAgICAgICogcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6
Ok9iamVjdENvbnN0cnVjdG9yOjpPYmplY3RDb25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6Ok9i
amVjdENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9PYmpl
Y3RDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpSZWdFeHBDb25zdHJ1Y3Rvcjo6UmVnRXhwQ29uc3RydWN0b3IpOgor
ICAgICAgICAoSlNDOjpSZWdFeHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6OlJlZ0V4cE1hdGNoZXNBcnJheSk6CisgICAgICAg
ICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhw
TWF0Y2hlc0FycmF5Lmg6CisgICAgICAgIChKU0M6OlJlZ0V4cE1hdGNoZXNBcnJheTo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OlJl
Z0V4cE9iamVjdDo6UmVnRXhwT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cE9iamVj
dC5oOgorICAgICAgICAoSlNDOjpSZWdFeHBPYmplY3Q6OmNyZWF0ZSk6CisgICAgICAgICogcnVu
dGltZS9SZWdFeHBQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpSZWdFeHBQcm90b3R5cGU6
OlJlZ0V4cFByb3RvdHlwZSk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OlN0cmluZ0NvbnN0cnVjdG9yOjpTdHJpbmdDb25zdHJ1Y3Rvcik6
CisgICAgICAgIChKU0M6OlN0cmluZ0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAg
ICAgICogcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvU3Ry
aW5nT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaW5nT2JqZWN0OjpTdHJpbmdPYmplY3Qp
OgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OlN0cmlu
Z09iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNx
dWVyYWRlc0FzVW5kZWZpbmVkLmg6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdFRoYXRNYXNx
dWVyYWRlc0FzVW5kZWZpbmVkOjpTdHJpbmdPYmplY3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5l
ZCk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlND
OjpTdHJpbmdQcm90b3R5cGU6OlN0cmluZ1Byb3RvdHlwZSk6CisgICAgICAgIChKU0M6OlN0cmlu
Z1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJv
dG90eXBlLmg6CisKIDIwMTEtMDktMDEgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBGaXggdGhlIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5leHAKaW5kZXggNjE0NTI1ZWU5NDRlMzhkYzBjZjlhMjZkYzA1ZGU0ZmY4OTFjYjQzNy4uNjk4
M2FkNDE0ZTk3YTBmZGI2ZDJmNzMwMjQ3NzYyMTliNTBhMjUyMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0xMjQsOCArMTI0LDEwIEBAIF9fWk4zSlNDMTFQ
YXJzZXJBcmVuYTVyZXNldEV2CiBfX1pOM0pTQzExY2hlY2tTeW50YXhFUE5TXzlFeGVjU3RhdGVF
UktOU18xMFNvdXJjZUNvZGVFCiBfX1pOM0pTQzExY3JlYXRlRXJyb3JFUE5TXzlFeGVjU3RhdGVF
UktOU183VVN0cmluZ0UKIF9fWk4zSlNDMTFyZWdFeHBGbGFnc0VSS05TXzdVU3RyaW5nRQorX19a
TjNKU0MxMkRhdGVJbnN0YW5jZTE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRWQK
K19fWk4zSlNDMTJEYXRlSW5zdGFuY2U2Y3JlYXRlRVBOU185RXhlY1N0YXRlRVBOU185U3RydWN0
dXJlRWQKIF9fWk4zSlNDMTJEYXRlSW5zdGFuY2U2c19pbmZvRQotX19aTjNKU0MxMkRhdGVJbnN0
YW5jZUMxRVBOU185RXhlY1N0YXRlRVBOU185U3RydWN0dXJlRWQKK19fWk4zSlNDMTJEYXRlSW5z
dGFuY2VDMUVQTlNfOUV4ZWNTdGF0ZUVQTlNfOVN0cnVjdHVyZUUKIF9fWk4zSlNDMTJKU0dsb2Jh
bERhdGExMENsaWVudERhdGFEMkV2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhMTFqc0FycmF5VlB0
ckUKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGExMmNyZWF0ZUxlYWtlZEVOU18xNVRocmVhZFN0YWNr
VHlwZUVOU184SGVhcFNpemVFCkBAIC0xMzksMTkgKzE0MSwyMSBAQCBfX1pOM0pTQzEySlNHbG9i
YWxEYXRhMTVkdW1wUmVnRXhwVHJhY2VFdgogX19aTjNKU0MxMkpTR2xvYmFsRGF0YTIyY2xlYXJC
dWlsdGluU3RydWN0dXJlc0V2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhNmNyZWF0ZUVOU18xNVRo
cmVhZFN0YWNrVHlwZUVOU184SGVhcFNpemVFCiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhRDFFdgor
X19aTjNKU0MxMlJlZ0V4cE9iamVjdDE0ZmluaXNoQ3JlYXRpb25FUE5TXzE0SlNHbG9iYWxPYmpl
Y3RFCiBfX1pOM0pTQzEyUmVnRXhwT2JqZWN0NnNfaW5mb0UKIF9fWk4zSlNDMTJSZWdFeHBPYmpl
Y3RDMUVQTlNfMTRKU0dsb2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUVQTlNfNlJlZ0V4cEUKIF9f
Wk4zSlNDMTJTYW1wbGluZ1Rvb2w1c2V0dXBFdgogX19aTjNKU0MxMlNtYWxsU3RyaW5nczE3Y3Jl
YXRlRW1wdHlTdHJpbmdFUE5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MxMlNtYWxsU3RyaW5n
czI3Y3JlYXRlU2luZ2xlQ2hhcmFjdGVyU3RyaW5nRVBOU18xMkpTR2xvYmFsRGF0YUVoCiBfX1pO
M0pTQzEyU3RyaW5nT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEw
SWRlbnRpZmllckUKK19fWk4zSlNDMTJTdHJpbmdPYmplY3QxNGZpbmlzaENyZWF0aW9uRVJOU18x
MkpTR2xvYmFsRGF0YUVQTlNfOEpTU3RyaW5nRQogX19aTjNKU0MxMlN0cmluZ09iamVjdDE4Z2V0
T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xMlBy
b3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxOGdldE93blByb3BlcnR5U2xvdEVQ
TlNfOUV4ZWNTdGF0ZUVqUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0MxMlN0cmluZ09iamVj
dDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9wZXJ0eU5hbWVB
cnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QyNGdldE93
blByb3BlcnR5RGVzY3JpcHRvckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVSTlNf
MThQcm9wZXJ0eURlc2NyaXB0b3JFCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0M3B1dEVQTlNfOUV4
ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQdXRQcm9wZXJ0eVNs
b3RFCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0NnNfaW5mb0UKLV9fWk4zSlNDMTJTdHJpbmdPYmpl
Y3RDMkVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzlTdHJ1Y3R1cmVFUE5TXzhKU1N0cmluZ0UKK19f
Wk4zSlNDMTJTdHJpbmdPYmplY3RDMkVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzlTdHJ1Y3R1cmVF
CiBfX1pOM0pTQzEzU2FtcGxpbmdGbGFnczRzdG9wRXYKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdz
NXN0YXJ0RXYKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdzN3NfZmxhZ3NFCkBAIC0xODIsOSArMTg2
LDEwIEBAIF9fWk4zSlNDMTVXZWFrSGFuZGxlT3duZXI4ZmluYWxpemVFTlNfNkhhbmRsZUlOU183
VW5rbm93bkVFRVB2CiBfX1pOM0pTQzE1V2Vha0hhbmRsZU93bmVyRDJFdgogX19aTjNKU0MxNWNy
ZWF0ZVR5cGVFcnJvckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzdVU3RyaW5nRQogX19aTjNKU0MxNklu
dGVybmFsRnVuY3Rpb24xMnZ0YWJsZUFuY2hvckV2CitfX1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlv
bjE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRVBOU18xNEpTR2xvYmFsT2JqZWN0
RVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb240bmFtZUVQTlNf
OUV4ZWNTdGF0ZUUKIF9fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0aW9uNnNfaW5mb0UKLV9fWk4zSlND
MTZJbnRlcm5hbEZ1bmN0aW9uQzJFUE5TXzEySlNHbG9iYWxEYXRhRVBOU18xNEpTR2xvYmFsT2Jq
ZWN0RVBOU185U3RydWN0dXJlRVJLTlNfMTBJZGVudGlmaWVyRQorX19aTjNKU0MxNkludGVybmFs
RnVuY3Rpb25DMkVQTlNfMTRKU0dsb2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUUKIF9fWk4zSlND
MTZKU1ZhcmlhYmxlT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEw
SWRlbnRpZmllckUKIF9fWk4zSlNDMTZKU1ZhcmlhYmxlT2JqZWN0MTRzeW1ib2xUYWJsZUdldEVS
S05TXzEwSWRlbnRpZmllckVSTlNfMThQcm9wZXJ0eURlc2NyaXB0b3JFCiBfX1pOM0pTQzE2SlNW
YXJpYWJsZU9iamVjdDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQ
cm9wZXJ0eU5hbWVBcnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKQEAgLTE5Niw3ICsyMDEsOCBA
QCBfX1pOM0pTQzE3Qnl0ZWNvZGVHZW5lcmF0b3IyMXNldER1bXBzR2VuZXJhdGVkQ29kZUViCiBf
X1pOM0pTQzE3UHJvcGVydHlOYW1lQXJyYXkzYWRkRVBOM1dURjEwU3RyaW5nSW1wbEUKIF9fWk4z
SlNDMTdjb25zdHJ1Y3RGdW5jdGlvbkVQTlNfOUV4ZWNTdGF0ZUVQTlNfMTRKU0dsb2JhbE9iamVj
dEVSS05TXzdBcmdMaXN0RVJLTlNfMTBJZGVudGlmaWVyRVJLTlNfN1VTdHJpbmdFaQogX19aTjNK
U0MxN2NyZWF0ZVN5bnRheEVycm9yRVBOU185RXhlY1N0YXRlRVJLTlNfN1VTdHJpbmdFCi1fX1pO
M0pTQzE4RGVidWdnZXJBY3RpdmF0aW9uNmNyZWF0ZUVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzhK
U09iamVjdEUKK19fWk4zSlNDMThEZWJ1Z2dlckFjdGl2YXRpb24xNGZpbmlzaENyZWF0aW9uRVJO
U18xMkpTR2xvYmFsRGF0YUVQTlNfOEpTT2JqZWN0RQorX19aTjNKU0MxOERlYnVnZ2VyQWN0aXZh
dGlvbkMxRVJOU18xMkpTR2xvYmFsRGF0YUUKIF9fWk4zSlNDMThQcm9wZXJ0eURlc2NyaXB0b3Ix
MXNldFdyaXRhYmxlRWIKIF9fWk4zSlNDMThQcm9wZXJ0eURlc2NyaXB0b3IxMnNldFVuZGVmaW5l
ZEV2CiBfX1pOM0pTQzE4UHJvcGVydHlEZXNjcmlwdG9yMTNzZXREZXNjcmlwdG9yRU5TXzdKU1Zh
bHVlRWoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dl
ckFjdGl2YXRpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2Vy
QWN0aXZhdGlvbi5jcHAKaW5kZXggYTcxMDFkY2I2YmFhNDBmZjRmZTBlZmEzMmQxZDU1YjY4YTk0
MTRlNS4uYWY2YTU2ZjliZTJhNjA0NzgyYzg1MGMzMWVmNTlkMmY0MGNkZjUwYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5j
cHAKQEAgLTM1LDEzICszNSw2IEBAIERlYnVnZ2VyQWN0aXZhdGlvbjo6RGVidWdnZXJBY3RpdmF0
aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKIHsKIH0KIAotRGVidWdnZXJBY3RpdmF0aW9u
KiBEZWJ1Z2dlckFjdGl2YXRpb246OmNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpT
T2JqZWN0KiBvYmplY3QpCi17Ci0gICAgRGVidWdnZXJBY3RpdmF0aW9uKiBhY3RpdmF0aW9uID0g
bmV3IChhbGxvY2F0ZUNlbGw8RGVidWdnZXJBY3RpdmF0aW9uPihnbG9iYWxEYXRhLmhlYXApKSBE
ZWJ1Z2dlckFjdGl2YXRpb24oZ2xvYmFsRGF0YSk7Ci0gICAgYWN0aXZhdGlvbi0+ZmluaXNoQ3Jl
YXRpb24oZ2xvYmFsRGF0YSwgb2JqZWN0KTsKLSAgICByZXR1cm4gYWN0aXZhdGlvbjsKLX0KLQog
dm9pZCBEZWJ1Z2dlckFjdGl2YXRpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgSlNPYmplY3QqIGFjdGl2YXRpb24pCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24oZ2xvYmFsRGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdn
ZXIvRGVidWdnZXJBY3RpdmF0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIv
RGVidWdnZXJBY3RpdmF0aW9uLmgKaW5kZXggZDgzYjJmNzBmYzRiMGI4YWE1OTlkZjQxNGM1ZjA3
MmFjZDk4NGQ2ZC4uMjY5ZWE5YzZiMjNjYzc1NjM0NTBlZmNlNDk5MjgxYjhkNjYwZTlmZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlv
bi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRp
b24uaApAQCAtMzQsNyArMzQsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgcHVibGljOgogICAg
ICAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKIAotICAgICAgICBzdGF0aWMgRGVi
dWdnZXJBY3RpdmF0aW9uKiBjcmVhdGUoSlNHbG9iYWxEYXRhJiwgSlNPYmplY3QqKTsKKyAgICAg
ICAgc3RhdGljIERlYnVnZ2VyQWN0aXZhdGlvbiogY3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgSlNPYmplY3QqIG9iamVjdCkKKyAgICAgICAgeworICAgICAgICAgICAgRGVidWdnZXJB
Y3RpdmF0aW9uKiBhY3RpdmF0aW9uID0gbmV3IChhbGxvY2F0ZUNlbGw8RGVidWdnZXJBY3RpdmF0
aW9uPihnbG9iYWxEYXRhLmhlYXApKSBEZWJ1Z2dlckFjdGl2YXRpb24oZ2xvYmFsRGF0YSk7Cisg
ICAgICAgICAgICBhY3RpdmF0aW9uLT5maW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBvYmplY3Qp
OworICAgICAgICAgICAgcmV0dXJuIGFjdGl2YXRpb247CisgICAgICAgIH0KKwogICAgICAgICB2
aXJ0dWFsIHZvaWQgdmlzaXRDaGlsZHJlbihTbG90VmlzaXRvciYpOwogICAgICAgICB2aXJ0dWFs
IFVTdHJpbmcgY2xhc3NOYW1lKCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Q
cm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggZTEwMzcwOTBiZDhjYTEyNzI0
YTVhNmYxMDdkYjMxYjk1YjEzMzZlNC4uZTE0ZjgwODcyMzNkMjBhYzhhOWY5MzUyMDY4MTg3ZjMx
ZTBkOTUwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTE1Nyw4ICsxNTcsOSBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBVU3RyaW5nIGNsYXNzTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJnbG9iYWwi
OyB9CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGNvbnN0cnVjdG9yQm9keShjb25zdCBWZWN0b3I8
VVN0cmluZz4mIGFyZ3VtZW50cykKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSwgY29uc3QgVmVjdG9yPFVTdHJpbmc+JiBhcmd1bWVudHMpCiAgICAgewor
ICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzKTsKICAgICAgICAg
cHV0RGlyZWN0RnVuY3Rpb24oZ2xvYmFsRXhlYygpLCBKU0Z1bmN0aW9uOjpjcmVhdGUoZ2xvYmFs
RXhlYygpLCB0aGlzLCBmdW5jdGlvblN0cnVjdHVyZSgpLCAxLCBJZGVudGlmaWVyKGdsb2JhbEV4
ZWMoKSwgImRlYnVnIiksIGZ1bmN0aW9uRGVidWcpKTsKICAgICAgICAgcHV0RGlyZWN0RnVuY3Rp
b24oZ2xvYmFsRXhlYygpLCBKU0Z1bmN0aW9uOjpjcmVhdGUoZ2xvYmFsRXhlYygpLCB0aGlzLCBm
dW5jdGlvblN0cnVjdHVyZSgpLCAxLCBJZGVudGlmaWVyKGdsb2JhbEV4ZWMoKSwgInByaW50Iiks
IGZ1bmN0aW9uUHJpbnQpKTsKICAgICAgICAgcHV0RGlyZWN0RnVuY3Rpb24oZ2xvYmFsRXhlYygp
LCBKU0Z1bmN0aW9uOjpjcmVhdGUoZ2xvYmFsRXhlYygpLCB0aGlzLCBmdW5jdGlvblN0cnVjdHVy
ZSgpLCAwLCBJZGVudGlmaWVyKGdsb2JhbEV4ZWMoKSwgInF1aXQiKSwgZnVuY3Rpb25RdWl0KSk7
CkBAIC0xOTAsNyArMTkxLDcgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChHbG9iYWxPYmpl
Y3QpOwogR2xvYmFsT2JqZWN0OjpHbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgVmVjdG9yPFVTdHJpbmc+JiBhcmd1bWVudHMp
CiAgICAgOiBKU0dsb2JhbE9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgY29u
c3RydWN0b3JCb2R5KGFyZ3VtZW50cyk7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwg
YXJndW1lbnRzKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblBy
aW50KEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZmQ5ZTcxZDdkMmMyYWMzODk1YTI2ZTQyYjli
YjAyZjI0MzcyMmJlYi4uNTIxZmNiYjg4NjI4MDQwMGFjYTQ0NWI4MTdiNzAwMzZiNTlmNDE1NyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5jcHAKQEAgLTUyLDggKzUyLDE0IEBAIGNvbnN0IENsYXNzSW5mbyBBcnJheUNvbnN0cnVjdG9y
OjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2luCiBBU1NFUlRf
Q0xBU1NfRklUU19JTl9DRUxMKEFycmF5Q29uc3RydWN0b3IpOwogCiBBcnJheUNvbnN0cnVjdG9y
OjpBcnJheUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3Rv
dHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgYXJyYXlQcm90b3R5cGUtPmNsYXNz
SW5mbygpLT5jbGFzc05hbWUpKQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIGFy
cmF5UHJvdG90eXBlKTsKK30KKwordm9pZCBBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEFycmF5UHJv
dG90eXBlKiBhcnJheVByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVj
LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBhcnJheVByb3Rv
dHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlw
ZSwgYXJyYXlQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKDEpLCBSZWFkT25seSB8IERvbnRFbnVtIHwg
RG9udERlbGV0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eUNvbnN0cnVjdG9yLmgKaW5kZXggNmM5ODEzMDdlZGRiOWE0NWExMWU3YzU0NzM0NzUxNDRiODYy
OTg2MS4uMmY4MTdmY2Q1YWI0YTBhYzViZjViOGQzMzk1MWI0OGYwNDZjY2EyOCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaApAQCAtNDQs
NiArNDQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgor
ICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0Kiwg
QXJyYXlQcm90b3R5cGUqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6
U3RydWN0dXJlRmxhZ3M7CiAKICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCmluZGV4IDk5Njc0YmIyM2I0OTgxOGIyZjNh
MzQ4NGMyNjZlMDEzOWQ4NmVmNDYuLjQyZjQxYTYzMWQ0OWNmM2RjZTljYThmZDdlNmI2ZGE4ZDU2
NDM2MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJv
dG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHAKQEAgLTExNyw3ICsxMTcsNiBAQCBjb25zdCBDbGFzc0luZm8gQXJyYXlQcm90b3R5
cGU6OnNfaW5mbyA9IHsiQXJyYXkiLCAmSlNBcnJheTo6c19pbmZvLCAwLCBFeGVjU3RhdAogQXJy
YXlQcm90b3R5cGU6OkFycmF5UHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNBcnJheShnbG9iYWxPYmplY3QtPmdsb2Jh
bERhdGEoKSwgc3RydWN0dXJlKQogewotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7
CiB9CiAKIHZvaWQgQXJyYXlQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQ
cm90b3R5cGUuaAppbmRleCA5YTYyOGUwYzY5M2NhOWQ3N2U3NzZhODZhOTlkODJhMzA1YjdjN2I4
Li40ZGQ2NjlhOGE1M2M1ZmM0ZDZjNTFmMjcyZTgyNDEwMDBhYjc2NTA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmgKQEAgLTM1LDcgKzM1LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIEFycmF5UHJvdG90eXBlKiBjcmVh
dGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2Nh
dGVDZWxsPEFycmF5UHJvdG90eXBlPigqZXhlYy0+aGVhcCgpKSkgQXJyYXlQcm90b3R5cGUoZ2xv
YmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgQXJyYXlQcm90b3R5cGUqIHByb3Rv
dHlwZSA9IG5ldyAoYWxsb2NhdGVDZWxsPEFycmF5UHJvdG90eXBlPigqZXhlYy0+aGVhcCgpKSkg
QXJyYXlQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgcHJv
dG90eXBlLT5maW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgcmV0dXJu
IHByb3RvdHlwZTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgYm9vbCBnZXRPd25Qcm9w
ZXJ0eVNsb3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5U2xvdCYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rv
ci5jcHAKaW5kZXggZWY2MjQwZTc5MjVhMTU3NGY5NGNlOThmOWUxOTU2ZTdjZGY0NzgwZi4uMmRi
NDI4NjU3MTg2M2Y5ZmFmNmQ4NWUwNGFhNjgwN2M4MWE5ZTYzZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwCkBAIC0yOSw4
ICsyOSwxNCBAQCBuYW1lc3BhY2UgSlNDIHsKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQm9v
bGVhbkNvbnN0cnVjdG9yKTsKIAogQm9vbGVhbkNvbnN0cnVjdG9yOjpCb29sZWFuQ29uc3RydWN0
b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgQm9vbGVhblByb3RvdHlwZSogYm9vbGVhblByb3RvdHlwZSkKLSAgICA6
IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1
Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgYm9vbGVhblByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNs
YXNzTmFtZSkpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJl
KQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgYm9vbGVhblByb3Rv
dHlwZSk7Cit9CisKK3ZvaWQgQm9vbGVhbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEJvb2xlYW5Qcm90b3R5
cGUqIGJvb2xlYW5Qcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+
Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIoZXhlYywgYm9vbGVhblByb3Rv
dHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlw
ZSwgYm9vbGVhblByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwog
CiAgICAgLy8gbm8uIG9mIGFyZ3VtZW50cyBmb3IgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKaW5kZXggZTdlYTU4
M2Q4YzdhNWY0MmNkZWJhOGVlM2JlYjY4YWE3ZWQ3YWI1Zi4uZTk3MzEwOWE1ZmMxNzEzYjZmM2Zh
OWUxNThiNTIzMWIzNTQyZGNiOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKQEAgLTM2LDYgKzM2LDkgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8Qm9vbGVhbkNvbnN0cnVj
dG9yPigqZXhlYy0+aGVhcCgpKSkgQm9vbGVhbkNvbnN0cnVjdG9yKGV4ZWMsIGdsb2JhbE9iamVj
dCwgc3RydWN0dXJlLCBib29sUHJvdG90eXBlKTsKICAgICAgICAgfQogCisgICAgcHJvdGVjdGVk
OgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0
KiwgQm9vbGVhblByb3RvdHlwZSopOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgQm9vbGVhbkNv
bnN0cnVjdG9yKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgQm9vbGVh
blByb3RvdHlwZSopOwogICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0
RGF0YShDb25zdHJ1Y3REYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5PYmplY3QuY3BwCmluZGV4IGI5ZTMzZGM0ODQyOThiNmNlZTY3NGUxOGQ1NGE4N2Y2
MmRhZGZkNTcuLmNiZGRkMGU5MjQzMzAwMmI4YTVjZjlmMzVmZmEyMTNmMGQ5NTE5YzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuY3BwCkBAIC0z
MCw3ICszMCw2IEBAIGNvbnN0IENsYXNzSW5mbyBCb29sZWFuT2JqZWN0OjpzX2luZm8gPSB7ICJC
b29sZWFuIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwCiBCb29sZWFuT2JqZWN0OjpCb29s
ZWFuT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CiAgICAgOiBKU1dyYXBwZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQogewotICAgIGZp
bmlzaENyZWF0aW9uKGdsb2JhbERhdGEpOwogfQogCiB2b2lkIEJvb2xlYW5PYmplY3Q6OmZpbmlz
aENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuaAppbmRleCA4NDYxMGQ5YjgxZjUwZTFkYWI4ZDgz
NDE1ZGQ0NzUyODU0ODk3ZTVlLi4yOTY0YzliNDEwZjkzM2YxNTcwNzUzZWNlMmQ5NGQwOWNkYjQ0
ZTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5o
CkBAIC0zNSw3ICszNSw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBCb29s
ZWFuT2JqZWN0KiBjcmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxs
PEJvb2xlYW5PYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIEJvb2xlYW5PYmplY3QoZ2xvYmFsRGF0
YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIEJvb2xlYW5PYmplY3QqIGJvb2xlYW4gPSBuZXcg
KGFsbG9jYXRlQ2VsbDxCb29sZWFuT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBCb29sZWFuT2Jq
ZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBib29sZWFuLT5maW5pc2hD
cmVhdGlvbihnbG9iYWxEYXRhKTsKKyAgICAgICAgICAgIHJldHVybiBib29sZWFuOwogICAgICAg
ICB9CiAgICAgICAgIAogICAgICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5jcHAK
aW5kZXggZGQwMTk0ZjNmNWQwOTJiMDhlYWMyNjZlYTk2OTk1ZDViNjMxMGYxYi4uNzFkYjljNDQx
ZWU1ZTI5YjlhOGYxY2U0OTg1N2NmNmFiOWE0ZWVhNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5jcHAKQEAgLTUyLDYgKzUyLDEyIEBA
IEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQm9vbGVhblByb3RvdHlwZSk7CiBCb29sZWFuUHJv
dG90eXBlOjpCb29sZWFuUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBCb29sZWFuT2JqZWN0
KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4
ZWMsIGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgQm9vbGVhblByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorewor
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSk7CiAgICAgc2V0SW50
ZXJuYWxWYWx1ZShleGVjLT5nbG9iYWxEYXRhKCksIGpzQm9vbGVhbihmYWxzZSkpOwogCiAgICAg
QVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaAppbmRleCA0NTlmZTU2MjI5YWRiNTlkMzIwMTE4ODdh
NjhjMDExZjNjZmZiNmZlLi5hODNmZjgxOWMwMTA4MzBkMTYzODZiY2I4NDQ3NjhkNTY5YzkzMTBl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90
eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlw
ZS5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAKICAgICBw
cm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9i
YWxPYmplY3QqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgQm9vbGVhbk9iamVjdDo6U3RydWN0dXJl
RmxhZ3M7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBbm9ueW1vdXNTbG90Q291bnQg
PSBCb29sZWFuT2JqZWN0OjpBbm9ueW1vdXNTbG90Q291bnQgKyAxOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAppbmRleCA5OTQ2ZmQz
N2RhZjQzMTZiMDgwMDkzYTE1MmJkYjcxNzU4MmY1NWVmLi4yN2QwYTllNDliYmU5YjRjNTkwNGYx
NTBlNjJlYzJjZjg5NDQyZTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTc0LDggKzc0LDE0IEBAIGNvbnN0IENsYXNzSW5m
byBEYXRlQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rp
b246OnNfaW5mCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKERhdGVDb25zdHJ1Y3Rvcik7CiAK
IERhdGVDb25zdHJ1Y3Rvcjo6RGF0ZUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERhdGVQcm90b3R5
cGUqIGRhdGVQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxE
YXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIGRhdGVQcm90
b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihn
bG9iYWxPYmplY3QsIHN0cnVjdHVyZSkgCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xv
YmFsT2JqZWN0LCBkYXRlUHJvdG90eXBlKTsKK30KKwordm9pZCBEYXRlQ29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgRGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBk
YXRlUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSk7CiAgICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCku
cHJvdG90eXBlLCBkYXRlUHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25s
eSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcig3KSwgUmVhZE9ubHkgfCBEb250
RW51bSB8IERvbnREZWxldGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9EYXRlQ29uc3RydWN0b3IuaAppbmRleCBkMzNkYTQ3NWZjMmViZWQ3YmJjYzlhYzgzYTNiZmVk
NzYwZTlhYWU4Li44NDY5ZDA4N2Q1OGMyZTRlOGQxODNmNDlmNTBkMTZiZjU4OTVlMmJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaApAQCAt
NDQsNiArNDQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVk
OgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0
KiwgRGF0ZVByb3RvdHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9u
OjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcAppbmRleCA2ZGYzMGQ3MjAxODgxODZkZTEyMjEw
M2UwZDg4MGU3ZjgyZmZmMzRlLi4xYjRhZGQ4OGRmMTAxNWIyMzBhNTgzOWIxMTU2MjcyNWFmNDQx
MWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFu
Y2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5j
cHAKQEAgLTM3LDEzICszNyw2IEBAIGNvbnN0IENsYXNzSW5mbyBEYXRlSW5zdGFuY2U6OnNfaW5m
byA9IHsiRGF0ZSIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMH07CiBEYXRlSW5zdGFu
Y2U6OkRhdGVJbnN0YW5jZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQog
ICAgIDogSlNXcmFwcGVyT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSk7Ci19Ci0KLURhdGVJbnN0YW5j
ZTo6RGF0ZUluc3RhbmNlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGRv
dWJsZSB0aW1lKQotICAgIDogSlNXcmFwcGVyT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3Ry
dWN0dXJlKQotewotICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGltZSk7
CiB9CiAKIHZvaWQgRGF0ZUluc3RhbmNlOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRl
SW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5o
CmluZGV4IGQ1MjAxZWUxOTI4ODY5ODc4MTE3YTA2YWNmZmNhYjVmOWIwOGY5M2QuLmJiOTQyOTcw
YjcxZTBkOWQ5M2QxMzUzOWRhZDgyZjgxNzQ5ZTlmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5oCkBAIC0zMSw3ICszMSw2IEBAIG5hbWVzcGFjZSBK
U0MgewogCiAgICAgY2xhc3MgRGF0ZUluc3RhbmNlIDogcHVibGljIEpTV3JhcHBlck9iamVjdCB7
CiAgICAgcHJvdGVjdGVkOgotICAgICAgICBEYXRlSW5zdGFuY2UoRXhlY1N0YXRlKiwgU3RydWN0
dXJlKiwgZG91YmxlKTsKICAgICAgICAgRGF0ZUluc3RhbmNlKEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZSopOwogICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYpOwogICAgICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYsIGRvdWJsZSk7CkBAIC00MSwxMyAr
NDAsMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIERhdGVJbnN0YW5jZSog
Y3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGRvdWJsZSBkYXRl
KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8RGF0ZUlu
c3RhbmNlPigqZXhlYy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNlKGV4ZWMsIHN0cnVjdHVyZSwgZGF0
ZSk7CisgICAgICAgICAgICBEYXRlSW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChhbGxvY2F0ZUNl
bGw8RGF0ZUluc3RhbmNlPigqZXhlYy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNlKGV4ZWMsIHN0cnVj
dHVyZSk7CisgICAgICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFs
RGF0YSgpLCBkYXRlKTsKKyAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICAgICAgfQor
CiAgICAgICAgIHN0YXRpYyBEYXRlSW5zdGFuY2UqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChh
bGxvY2F0ZUNlbGw8RGF0ZUluc3RhbmNlPigqZXhlYy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNlKGV4
ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBEYXRlSW5zdGFuY2UqIGluc3RhbmNlID0gbmV3
IChhbGxvY2F0ZUNlbGw8RGF0ZUluc3RhbmNlPigqZXhlYy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNl
KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3JlYXRpb24o
ZXhlYy0+Z2xvYmFsRGF0YSgpKTsKKyAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICAg
ICAgfQotICAgICAgICAKKwogICAgICAgICBkb3VibGUgaW50ZXJuYWxOdW1iZXIoKSBjb25zdCB7
IHJldHVybiBpbnRlcm5hbFZhbHVlKCkudW5jaGVja2VkR2V0TnVtYmVyKCk7IH0KIAogICAgICAg
ICBzdGF0aWMgSlNfRVhQT1JUREFUQSBjb25zdCBDbGFzc0luZm8gc19pbmZvOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcAppbmRleCBkZGEyOTQx
NjM4NDFjZGVkYzU0Zjc2OTU3ZDRhYzg0ZTMwZmE3ZTIxLi4xNzZkYzdlZTk1M2JmZjdlZWJlNDY4
MjM0ODY5NWRiN2EzNDQ2ODFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EYXRlUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9EYXRlUHJvdG90eXBlLmNwcApAQCAtNDMyLDYgKzQzMiwxMiBAQCBjb25zdCBDbGFzc0luZm8g
RGF0ZVByb3RvdHlwZTo6c19pbmZvID0geyJEYXRlIiwgJkRhdGVJbnN0YW5jZTo6c19pbmZvLCAw
LCBFeGVjUwogRGF0ZVByb3RvdHlwZTo6RGF0ZVByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDog
RGF0ZUluc3RhbmNlKGV4ZWMsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVj
LCBnbG9iYWxPYmplY3QpOworfQorCit2b2lkIERhdGVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGpzTmFOKCkpOwogICAgIEFT
U0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAKICAgICAvLyBUaGUgY29uc3RydWN0b3Igd2lsbCBi
ZSBhZGRlZCBsYXRlciwgYWZ0ZXIgRGF0ZUNvbnN0cnVjdG9yIGhhcyBiZWVuIGJ1aWx0LgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5oCmluZGV4IDdkZWUz
MzA3NGYxMzFkZTlmNTkyMzM1YzYzN2FkOWQ0ZGIxMjI3MmEuLjEyNWY5ODQ2MzRlODFkN2Q5ZjVl
MDIyMTMyMDdkOTU2ZjE1N2VlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9EYXRlUHJvdG90eXBlLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVj
U3RhdGUqLCBKU0dsb2JhbE9iamVjdCopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBEYXRlSW5zdGFu
Y2U6OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgICAgIENPTVBJTEVfQVNTRVJUKCFEYXRlSW5zdGFu
Y2U6OkFub255bW91c1Nsb3RDb3VudCwgRGF0ZVByb3RvdHlwZV9zdG9tcHNfb25feW91cl9hbm9u
eW1vdXNfc2xvdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKaW5kZXgg
Nzg2NzUwYmYyZmUwY2IxMTM0YjFhMmFmNjcxMjI1MTBkZTYzNDU3ZC4uNTBkNDQ4MzY1YmRhYjM3
MmNmNDVmOTJiZWQ3ODk3ZGJhZDhhMmRkZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yLmNwcApAQCAtMTY4LDkgKzE2OCwxMCBAQCBKU09iamVjdCogdGhyb3dTeW50YXhFcnJv
cihFeGVjU3RhdGUqIGV4ZWMpCiBjbGFzcyBTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24gOiBw
dWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwcml2YXRlOgogICAgIFN0cmljdE1vZGVUeXBlRXJy
b3JGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBtZXNzYWdlKQotICAgICAgICA6
IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1
Y3R1cmUsIGV4ZWMtPmdsb2JhbERhdGEoKS5wcm9wZXJ0eU5hbWVzLT5lbXB0eUlkZW50aWZpZXIp
CisgICAgICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAg
ICAgICAgLCBtX21lc3NhZ2UobWVzc2FnZSkKICAgICB7CisgICAgICAgIGZpbmlzaENyZWF0aW9u
KGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBleGVjLT5nbG9iYWxEYXRhKCkucHJv
cGVydHlOYW1lcy0+ZW1wdHlJZGVudGlmaWVyKTsKICAgICB9CiAKIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXgg
ZGYxMTJkZDIyMjFmOWM5OGY3YmRlOTBiYzBiYzhlOTEzMDI0YmUxMS4uOTM4ZjQwYWMzNjIzMzcy
YjAwNTIzM2IzNzZkZDVjYzRhMmVhZmFjYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTMwLDggKzMwLDE0IEBAIG5hbWVz
cGFjZSBKU0MgewogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChFcnJvckNvbnN0cnVjdG9yKTsK
IAogRXJyb3JDb25zdHJ1Y3Rvcjo6RXJyb3JDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBFcnJvclBy
b3RvdHlwZSogZXJyb3JQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5n
bG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIGVy
cm9yUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVu
Y3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhl
YywgZ2xvYmFsT2JqZWN0LCBlcnJvclByb3RvdHlwZSk7Cit9CisKK3ZvaWQgRXJyb3JDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBFcnJvclByb3RvdHlwZSogZXJyb3JQcm90b3R5cGUpCit7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZp
ZXIoZXhlYywgZXJyb3JQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKTsKICAgICAv
LyBFQ01BIDE1LjExLjMuMSBFcnJvci5wcm90b3R5cGUKICAgICBwdXREaXJlY3RXaXRob3V0VHJh
bnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5
cGUsIGVycm9yUHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAg
ICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigxKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
IHwgRG9udEVudW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JD
b25zdHJ1Y3Rvci5oCmluZGV4IDM4NzdhNmQxMTA3ODg5OTM0YTFjNDE4ODYwM2Y4NjA1MWEwMDli
MjEuLjk0NDIxM2Y5MjU0MjViMDYxNDc1MzFlZmIyMzg1MDc1MjgyM2Q5MDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKQEAgLTM2LDYg
KzM2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBu
ZXcgKGFsbG9jYXRlQ2VsbDxFcnJvckNvbnN0cnVjdG9yPigqZXhlYy0+aGVhcCgpKSkgRXJyb3JD
b25zdHJ1Y3RvcihleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgZXJyUHJvdG90eXBlKTsK
ICAgICAgICAgfQorCisgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgRXJyb3JQcm90b3R5cGUqKTsKICAgICAgICAg
CiAgICAgcHJpdmF0ZToKICAgICAgICAgRXJyb3JDb25zdHJ1Y3RvcihFeGVjU3RhdGUqLCBKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEVycm9yUHJvdG90eXBlKik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAKaW5kZXggNjk4Njc1MjRj
NGNlN2VmNWM3NjNiNmE1MjcyZTcxNmNlODQ5NTc5Yy4uMmE5YjlhOWIwNDBhNTQ1Mjg4NWQ4NDE1
ZWQwMWEyZWMxYWRjNjMwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3JQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yUHJvdG90eXBlLmNwcApAQCAtNTAsMTAgKzUwLDkgQEAgY29uc3QgQ2xhc3NJbmZvIEVy
cm9yUHJvdG90eXBlOjpzX2luZm8gPSB7ICJFcnJvciIsICZFcnJvckluc3RhbmNlOjpzX2luZm8s
IDAsIEUKIAogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChFcnJvclByb3RvdHlwZSk7CiAKLUVy
cm9yUHJvdG90eXBlOjpFcnJvclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorRXJyb3JQcm90b3R5cGU6
OkVycm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAg
ICAgOiBFcnJvckluc3RhbmNlKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogewotICAg
IGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgRXJyb3JQcm90
b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3Rv
dHlwZS5oCmluZGV4IGQ3YjE1MjI1YzgxOGYxMmRkMWI0NjNmZTFmNTQ3MDhjZGZjZjQ5YTkuLmQ0
OTFiZjk2MzhjZmYyZTkxMjExZTAwZTMxMzFmZTA0MDZhNTA3ODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaApAQCAtMzMsNyArMzMsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgRXJyb3JQcm90b3R5cGUqIGNyZWF0ZShF
eGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSog
c3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNl
bGw8RXJyb3JQcm90b3R5cGU+KCpleGVjLT5oZWFwKCkpKSBFcnJvclByb3RvdHlwZShleGVjLCBn
bG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBFcnJvclByb3RvdHlwZSogcHJv
dG90eXBlID0gbmV3IChhbGxvY2F0ZUNlbGw8RXJyb3JQcm90b3R5cGU+KCpleGVjLT5oZWFwKCkp
KSBFcnJvclByb3RvdHlwZShleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgcHJvdG90eXBl
LT5maW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgcmV0dXJu
IHByb3RvdHlwZTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3RhdGljIGNvbnN0IENs
YXNzSW5mbyBzX2luZm87CkBAIC00NCw3ICs0Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIEVycm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSos
IEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CisgICAgICAgIEVycm9yUHJvdG90eXBlKEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZSopOwogICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNT
dGF0ZSosIEpTR2xvYmFsT2JqZWN0Kik7CiAKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgRXJyb3JJbnN0
YW5jZTo6U3RydWN0dXJlRmxhZ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCmluZGV4IDUwZDliNWY3ZGE2ZWVjMjMzYTI5
YWVjYWMwZjhiYjM2ZjM0MDBjOTQuLjhjZjBkMmE2OWI5MDc5OWQ4NzMyNGQ5OGFkYTc5NTg1MjE5
MzEyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uQ29uc3RydWN0b3IuY3BwCkBAIC0zOCw4ICszOCwxNCBAQCBuYW1lc3BhY2UgSlNDIHsKIEFT
U0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRnVuY3Rpb25Db25zdHJ1Y3Rvcik7CiAKIEZ1bmN0aW9u
Q29uc3RydWN0b3I6OkZ1bmN0aW9uQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRnVuY3Rpb25Qcm90
b3R5cGUqIGZ1bmN0aW9uUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+
Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBm
dW5jdGlvblByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJbnRlcm5h
bEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9u
KGV4ZWMsIGdsb2JhbE9iamVjdCwgZnVuY3Rpb25Qcm90b3R5cGUpOworfQorCit2b2lkIEZ1bmN0
aW9uQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgRnVuY3Rpb25Qcm90b3R5cGUqIGZ1bmN0aW9uUHJvdG90eXBl
KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFs
T2JqZWN0LCBJZGVudGlmaWVyKGV4ZWMsIGZ1bmN0aW9uUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+
Y2xhc3NOYW1lKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFs
RGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBmdW5jdGlvblByb3RvdHlw
ZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogCiAgICAgLy8gTnVtYmVyIG9m
IGFyZ3VtZW50cyBmb3IgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaAppbmRleCA5YzU1ZDg4ODlkMGQ5YWE0MDY5
ZDgxZThmYzdkOTA2YTUxODFiMzVhLi5lOTdjNTNmZmU3N2QxMTEyYmY0YjA3NjUyYzUyODZiNGQw
NjE1MzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
bkNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25Db25zdHJ1Y3Rvci5oCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgRnVuY3Rpb25Db25zdHJ1Y3RvcihFeGVjU3RhdGUqLCBKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSosIEZ1bmN0aW9uUHJvdG90eXBlKik7CisgICAgICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBGdW5jdGlvblByb3Rv
dHlwZSopOwogICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShD
b25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25Qcm90b3R5cGUuY3BwCmluZGV4IDk2Y2Q2NzczYmNlYzVhODExZGNiNDE3Nzc1NTM0
MTAyZTI1MWJkZTIuLjAwZjhiMjVlZGUzY2NjOTEyOTNkYzczMzU5ZTExYmNjZmVmYzE4NjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBl
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlw
ZS5jcHAKQEAgLTM4LDggKzM4LDE0IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGZ1bmN0aW9uUHJvdG9GdW5jQXBwbHkoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY0NhbGwoRXhlY1N0YXRlKik7CiAK
IEZ1bmN0aW9uUHJvdG90eXBlOjpGdW5jdGlvblByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDog
SW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVj
dHVyZSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm51bGxJZGVudGlmaWVyKQorICAgIDogSW50ZXJu
YWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlv
bihleGVjLCBnbG9iYWxPYmplY3QsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5udWxsSWRlbnRpZmll
cik7Cit9CisKK3ZvaWQgRnVuY3Rpb25Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYg
bmFtZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGds
b2JhbE9iamVjdCwgbmFtZSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+
Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigwKSwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaAppbmRleCBlNTdjYTlkODg5
NTM1MGUzZDJjYTVhM2E3YzYzNTg2ZjY5NTY5ZDI2Li5iZDkwZGM4NzgxZjQwMTkzM2MxOTBkM2U3
ZDQxMTdmOTY4MjQ1MTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvblByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUHJvdG90eXBlLmgKQEAgLTQxLDYgKzQxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgcHJvdG8sIFR5
cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgQW5vbnltb3VzU2xvdENvdW50LCAm
c19pbmZvKTsKICAgICAgICAgfQogCisgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgSWRlbnRpZmllciYg
bmFtZSk7CisKICAgICBwcml2YXRlOgogICAgICAgICBGdW5jdGlvblByb3RvdHlwZShFeGVjU3Rh
dGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgICAgICB2aXJ0dWFsIENhbGxU
eXBlIGdldENhbGxEYXRhKENhbGxEYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCmluZGV4IDA3YzBmN2Y1YmY2NWEzZTc1NmI1
MWMyNDAzN2NhY2MzM2M0MmU2MjIuLjVlNzY0NjExNjhmYmIwYTExYjM5NmMzMTM2ZTI2YzhiNTAx
MTRjZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uY3BwCkBAIC00MSwxMCArNDEsOSBAQCBJbnRlcm5hbEZ1bmN0aW9uOjpJbnRlcm5h
bEZ1bmN0aW9uKFZQdHJTdGVhbGluZ0hhY2tUeXBlKQogewogfQogCi1JbnRlcm5hbEZ1bmN0aW9u
OjpJbnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpCitJbnRlcm5hbEZ1bmN0aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNPYmplY3RXaXRo
R2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewotICAgIGZpbmlzaENyZWF0
aW9uKCpnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIG5hbWUpOwogfQogCiB2b2lkIEludGVybmFs
RnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaAppbmRleCA2MDY3
YmU4ZGJmZGRiMzdjYTQ2MDc5ODFhNzMwOGE1ODM4MDY4NWNhLi5kY2RmZTc1NjQ5MzgyOWZhYzUw
N2EzNDRiYmExYmM1OWZlMGI1NjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oCkBAIC01Miw3ICs1Miw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICAvLyBPbmx5IHVzZWQgdG8gYWxsb3cgdXMgdG8gZGV0ZXJtaW5lIHRoZSBKU0Z1
bmN0aW9uIHZwdHIKICAgICAgICAgSW50ZXJuYWxGdW5jdGlvbihWUHRyU3RlYWxpbmdIYWNrVHlw
ZSk7CiAKLSAgICAgICAgSW50ZXJuYWxGdW5jdGlvbihKU0dsb2JhbERhdGEqLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSosIGNvbnN0IElkZW50aWZpZXImKTsKKyAgICAgICAgSW50ZXJuYWxG
dW5jdGlvbihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogCiAgICAgICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgSlNHbG9iYWxPYmplY3QqLCBjb25zdCBJZGVudGlm
aWVyJiBuYW1lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBY3RpdmF0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZh
dGlvbi5jcHAKaW5kZXggNWM5OWQ3YTY1NDM4ZDFjZTc5ZGM3Y2I1MDVhODU3N2EzZjY5N2JlYi4u
ZGJjOTY3ZTAzNjc2ZmE3MjQwM2VlZjY5NWQ1NDk3MWM4ZmJkODg1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwCkBAIC00Niw3ICs0Niw2IEBA
IEpTQWN0aXZhdGlvbjo6SlNBY3RpdmF0aW9uKENhbGxGcmFtZSogY2FsbEZyYW1lLCBGdW5jdGlv
bkV4ZWN1dGFibGUqIGZ1bmN0aW9uRXhlCiAgICAgLCBtX3JlcXVpcmVzRHluYW1pY0NoZWNrcyhm
dW5jdGlvbkV4ZWN1dGFibGUtPnVzZXNFdmFsKCkpCiAgICAgLCBtX2FyZ3VtZW50c1JlZ2lzdGVy
KGZ1bmN0aW9uRXhlY3V0YWJsZS0+Z2VuZXJhdGVkQnl0ZWNvZGUoKS5hcmd1bWVudHNSZWdpc3Rl
cigpKQogewotICAgIGZpbmlzaENyZWF0aW9uKGNhbGxGcmFtZSk7CiB9CiAKIHZvaWQgSlNBY3Rp
dmF0aW9uOjpmaW5pc2hDcmVhdGlvbihDYWxsRnJhbWUqIGNhbGxGcmFtZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgKaW5kZXggZGEyZTQ2NTVlMDY5NGY3
YzU5M2QzYWYxNzFkNjAwZmQwNzA2NjI1ZC4uYWYxYjliYmMxNDhlYmQwMWVjYzc0MGM1NzJhNDg5
MzllMjAxNGMyNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
Y3RpdmF0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0
aW9uLmgKQEAgLTQ4LDcgKzQ4LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGlj
IEpTQWN0aXZhdGlvbiogY3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY0V4ZWMpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxKU0FjdGl2YXRpb24+KGdsb2JhbERh
dGEuaGVhcCkpIEpTQWN0aXZhdGlvbihjYWxsRnJhbWUsIGZ1bmNFeGVjKTsKKyAgICAgICAgICAg
IEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbiA9IG5ldyAoYWxsb2NhdGVDZWxsPEpTQWN0aXZhdGlv
bj4oZ2xvYmFsRGF0YS5oZWFwKSkgSlNBY3RpdmF0aW9uKGNhbGxGcmFtZSwgZnVuY0V4ZWMpOwor
ICAgICAgICAgICAgYWN0aXZhdGlvbi0+ZmluaXNoQ3JlYXRpb24oY2FsbEZyYW1lKTsKKyAgICAg
ICAgICAgIHJldHVybiBhY3RpdmF0aW9uOwogICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB+
SlNBY3RpdmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaAppbmRleCA4NWM0Mjk2NjMxYWUzZTYzZDkzODAzNWVhNzA4MDA0YmZjZWUwNzMy
Li43YWVmNzY5ZWZjNDI5MjdkY2U1MDAwYjYyM2I5MThjYWQxZWM3ZDUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTE0Niw3ICsxNDYs
OSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgSlNHbG9iYWxPYmplY3QqIGNy
ZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAg
ICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNHbG9iYWxPYmpl
Y3Q+KGdsb2JhbERhdGEuaGVhcCkpIEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVy
ZSk7CisgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbmV3IChhbGxv
Y2F0ZUNlbGw8SlNHbG9iYWxPYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIEpTR2xvYmFsT2JqZWN0
KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmZpbmlz
aENyZWF0aW9uKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4g
Z2xvYmFsT2JqZWN0OwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIEpTX0VYUE9SVERBVEEg
Y29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKQEAgLTE1OSwxNyArMTYxLDYgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgICAgICAsIG1fd2Vha1JhbmRvbShzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmFu
ZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpICsgMS4w
KSkpCiAgICAgICAgICAgICAsIG1fZXZhbEVuYWJsZWQodHJ1ZSkKICAgICAgICAgewotICAgICAg
ICAgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhpcyk7Ci0gICAgICAgIH0KLQotICAg
ICAgICBKU0dsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU09iamVjdCogdGhpc1ZhbHVlKQotICAgICAgICAgICAgOiBKU1ZhcmlhYmxl
T2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSwgJm1fc3ltYm9sVGFibGUsIDApCi0gICAgICAg
ICAgICAsIG1fcmVnaXN0ZXJBcnJheVNpemUoMCkKLSAgICAgICAgICAgICwgbV9nbG9iYWxTY29w
ZUNoYWluKCkKLSAgICAgICAgICAgICwgbV93ZWFrUmFuZG9tKHN0YXRpY19jYXN0PHVuc2lnbmVk
PihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkg
KyAxLjApKSkKLSAgICAgICAgICAgICwgbV9ldmFsRW5hYmxlZCh0cnVlKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzVmFsdWUpOwogICAgICAg
ICB9CiAKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEsIEpTT2JqZWN0KiB0aGlzVmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT05PYmplY3QuY3BwCmluZGV4IDE3MzE1MmIyOTE5M2RmMjAyNDU4MTIzNzY3NjhmYmQ4OWRl
NzM2MGMuLjExMjE0NjgzN2FlMmZkMGJjYTlhNjM3ZTVmMTc4NTY0M2MwYzY0YzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC01Niw3ICs1Niw2
IEBAIG5hbWVzcGFjZSBKU0MgewogSlNPTk9iamVjdDo6SlNPTk9iamVjdChKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTT2JqZWN0V2l0
aEdsb2JhbE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVh
dGlvbihnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIEpTT05PYmplY3Q6OmZpbmlzaENyZWF0aW9u
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09OT2JqZWN0LmgKaW5kZXggNDgwZTc0YmRiODM0OTM2YmQyOWY3MmU2YWNkZTI0NjE3
ZGU2YTVmMi4uZjkyZjQ2MDZkMDA5NGM4MTVlOTQxMzI0MzJiODZjNjUyODRiNjI2NyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaApAQCAtMzgsNyArMzgsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgSlNPTk9iamVjdCogY3JlYXRlKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2Vs
bDxKU09OT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNPTk9iamVjdChnbG9iYWxPYmplY3QsIHN0
cnVjdHVyZSk7CisgICAgICAgICAgICBKU09OT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRl
Q2VsbDxKU09OT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNPTk9iamVjdChnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSk7CisgICAgICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9i
amVjdCk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAgICAgICAgIAog
ICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhLCBKU1ZhbHVlIHByb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuaAppbmRleCAyOWE0Y2FlOTE0N2E1Nzcz
MmI4YmZhODExODI3ODQ5MTM5M2JlMWM1Li45YzE4YzYyZjRlNGJmMjNmYWRiNDRkN2NjOTBkMGU1
MWYxZjc5NDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0
YXRpY1Njb3BlT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
dGF0aWNTY29wZU9iamVjdC5oCkBAIC0zNiw3ICszNiw5IEBAIG5hbWVzcGFjZSBKU0N7CiAKICAg
ICAgICAgc3RhdGljIEpTU3RhdGljU2NvcGVPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVkIGF0
dHJpYnV0ZXMpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2Vs
bDxKU1N0YXRpY1Njb3BlT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNTdGF0aWNTY29wZU9iamVj
dChleGVjLCBpZGVudGlmaWVyLCB2YWx1ZSwgYXR0cmlidXRlcyk7CisgICAgICAgICAgICBKU1N0
YXRpY1Njb3BlT2JqZWN0KiBzY29wZU9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPEpTU3RhdGlj
U2NvcGVPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBKU1N0YXRpY1Njb3BlT2JqZWN0KGV4ZWMpOwor
ICAgICAgICAgICAgc2NvcGVPYmplY3QtPmZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50aWZpZXIs
IHZhbHVlLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgICAgIHJldHVybiBzY29wZU9iamVjdDsKICAg
ICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCB2aXNpdENoaWxkcmVuKFNsb3RWaXNpdG9y
Jik7CkBAIC01OSwxMCArNjEsOSBAQCBuYW1lc3BhY2UgSlNDewogICAgICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBJc0Vudmlyb25tZW50UmVjb3JkIHwgT3ZlcnJp
ZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbiB8IE92ZXJyaWRl
c0dldFByb3BlcnR5TmFtZXMgfCBKU1ZhcmlhYmxlT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKIAog
ICAgIHByaXZhdGU6Ci0gICAgICAgIEpTU3RhdGljU2NvcGVPYmplY3QoRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBh
dHRyaWJ1dGVzKQorICAgICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykK
ICAgICAgICAgICAgIDogSlNWYXJpYWJsZU9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMt
Pmdsb2JhbERhdGEoKS5zdGF0aWNTY29wZVN0cnVjdHVyZS5nZXQoKSwgJm1fc3ltYm9sVGFibGUs
IHJlaW50ZXJwcmV0X2Nhc3Q8UmVnaXN0ZXIqPigmbV9yZWdpc3RlclN0b3JlICsgMSkpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50aWZpZXIsIHZhbHVl
LCBhdHRyaWJ1dGVzKTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgU3ltYm9sVGFibGUg
bV9zeW1ib2xUYWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU3RyaW5nLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNw
cAppbmRleCBiZDM1NWY3NjZhYjRlM2I2OWYzMmM5ZWQyODNkZmMwOWQ5M2JjMTQ5Li40N2RiMWZm
ODAzMzBmOWJmMmVlNTNmNDFhYTI3NGU3YmQzZjRmMTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCkBAIC0yOTgsNyArMjk4LDkgQEAgVVN0cmluZyBKU1N0
cmluZzo6dG9TdHJpbmcoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogCiBpbmxpbmUgU3RyaW5nT2Jq
ZWN0KiBTdHJpbmdPYmplY3Q6OmNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTU3RyaW5nKiBzdHJpbmcpCiB7Ci0gICAgcmV0dXJuIG5ldyAoYWxs
b2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmluZ09iamVjdChleGVj
LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdC0+c3RyaW5nT2JqZWN0U3RydWN0dXJlKCksIHN0
cmluZyk7CisgICAgU3RyaW5nT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxTdHJp
bmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgp
LCBnbG9iYWxPYmplY3QtPnN0cmluZ09iamVjdFN0cnVjdHVyZSgpKTsKKyAgICBvYmplY3QtPmZp
bmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RyaW5nKTsKKyAgICByZXR1cm4gb2Jq
ZWN0OwogfQogCiBKU09iamVjdCogSlNTdHJpbmc6OnRvT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKaW5kZXggNWVjNTZhMzZlNzM3NTU5YTMwZGZiMTIw
OGEwYzEzY2ViYTk4N2I2ZC4uYTRlNzU5NmY3NDNlNzM2OTg2ODc2ZGVjMDlkMDU3MGEwYzQzYWVl
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKQEAg
LTg0LDEwICs4NCw5IEBAIGNvbnN0IENsYXNzSW5mbyBNYXRoT2JqZWN0OjpzX2luZm8gPSB7ICJN
YXRoIiwgJkpTT2JqZWN0V2l0aEdsb2JhbE9iamVjdDo6c19pbmZvCiBAZW5kCiAqLwogCi1NYXRo
T2JqZWN0OjpNYXRoT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitNYXRoT2JqZWN0OjpNYXRoT2JqZWN0KEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDog
SlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewotICAg
IGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgTWF0aE9iamVj
dDo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9i
amVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oCmluZGV4
IDdmYmVkOTBiZmJkMmNiMTE1YWQ4NTI0ZmU0M2VkN2E0ZjYwYWUyOGEuLmFlZjdlMTI4MTkwMThj
NDc4MTU5OTJiYWE0YWE0OTVkNWIwMTlhNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXRoT2JqZWN0LmgKQEAgLTI3LDE0ICsyNywxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgIGNsYXNzIE1hdGhPYmplY3QgOiBwdWJsaWMgSlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0IHsK
ICAgICBwcml2YXRlOgotICAgICAgICBNYXRoT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKik7CisgICAgICAgIE1hdGhPYmplY3QoSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqKTsKIAogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBKU09iamVjdFdpdGhH
bG9iYWxPYmplY3QgQmFzZTsKIAogICAgICAgICBzdGF0aWMgTWF0aE9iamVjdCogY3JlYXRlKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2Vs
bDxNYXRoT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgTWF0aE9iamVjdChleGVjLCBnbG9iYWxPYmpl
Y3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBNYXRoT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFs
bG9jYXRlQ2VsbDxNYXRoT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgTWF0aE9iamVjdChnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGV4
ZWMsIGdsb2JhbE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiwgY29u
c3QgSWRlbnRpZmllciYsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9w
ZXJ0eURlc2NyaXB0b3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOGM2NmY3ZWFmNTUyYjJjNTY5
YTZlYmZkNjNhMDI0MTk1NDBhMmM3ZC4uNTM3YTQ1NzZjNzAyM2MwOTcwMjVhMmJjMDhlNmZiNGEz
ZDlmNjA2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZl
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTMzLDkgKzMzLDkgQEAgQVNTRVJUX0NMQVNT
X0ZJVFNfSU5fQ0VMTChOYXRpdmVFcnJvckNvbnN0cnVjdG9yKTsKIGNvbnN0IENsYXNzSW5mbyBO
YXRpdmVFcnJvckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1
bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAogTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6TmF0aXZl
RXJyb3JDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVy
ZSwgY29uc3QgVVN0cmluZyYgbmFtZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmds
b2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgbmFt
ZSkpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewot
ICAgIGNvbnN0cnVjdG9yQm9keShleGVjLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZVN0cnVjdHVy
ZSwgbmFtZSk7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGVTdHJ1Y3R1cmUsIG5hbWUpOwogfQogCiB2b2lkIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6OnZp
c2l0Q2hpbGRyZW4oU2xvdFZpc2l0b3ImIHZpc2l0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggZjQ2Mjg2
YTdiYjRkYjc3YjZlZjRjOTllMjRiYWU0MGQzM2MyYTdiOS4uYjBmMGVkYzkxOTEwN2MxMjU0Zjhh
NDE2MWQ5NWE0NjkxNGIyOWJkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaApAQCAtNDksOCArNDksOSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSgpIHsgcmV0dXJu
IG1fZXJyb3JTdHJ1Y3R1cmUuZ2V0KCk7IH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdm9p
ZCBjb25zdHJ1Y3RvckJvZHkoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgbmFt
ZSkKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25z
dCBVU3RyaW5nJiBuYW1lKQogICAgICAgICB7CisgICAgICAgICAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBu
YW1lKSk7CiAgICAgICAgICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogCiAgICAgICAg
ICAgICBOYXRpdmVFcnJvclByb3RvdHlwZSogcHJvdG90eXBlID0gTmF0aXZlRXJyb3JQcm90b3R5
cGU6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZVN0cnVjdHVyZSwgbmFtZSwg
dGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVF
cnJvclByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVF
cnJvclByb3RvdHlwZS5jcHAKaW5kZXggZTVmZTdjYzA1MmYwODZhNmNhNTVlNWVlYTU5YWQ5NDk4
OTVjYjc5Zi4uOGExNTMwYjdkNTcxZmM2MmU5ZTc0YmZlN2MwOGU0M2I0NTM2OGFmYiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90
eXBlLmNwcApAQCAtMzAsMTYgKzMwLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogCiBBU1NFUlRfQ0xB
U1NfRklUU19JTl9DRUxMKE5hdGl2ZUVycm9yUHJvdG90eXBlKTsKIAotTmF0aXZlRXJyb3JQcm90
b3R5cGU6Ok5hdGl2ZUVycm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG5h
bWUsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yKQotICAgIDogRXJyb3JQcm90
b3R5cGUoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCitOYXRpdmVFcnJvclByb3RvdHlw
ZTo6TmF0aXZlRXJyb3JQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgbmFtZUFu
ZE1lc3NhZ2UsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yKQorICAgIDogRXJy
b3JQcm90b3R5cGUoZXhlYywgc3RydWN0dXJlKQogewotICAgIGNvbnN0cnVjdG9yQm9keShleGVj
LCBuYW1lLCBjb25zdHJ1Y3Rvcik7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2Jq
ZWN0LCBuYW1lQW5kTWVzc2FnZSwgY29uc3RydWN0b3IpOwogfQogCi1pbmxpbmUgdm9pZCBOYXRp
dmVFcnJvclByb3RvdHlwZTo6Y29uc3RydWN0b3JCb2R5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
VVN0cmluZyYgbmFtZSwgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IpCitpbmxp
bmUgdm9pZCBOYXRpdmVFcnJvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBVU3RyaW5nJiBuYW1lQW5k
TWVzc2FnZSwgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IpCiB7Ci0gICAgcHV0
RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm5hbWUsIGpz
U3RyaW5nKGV4ZWMsIG5hbWUpLCBEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm1lc3NhZ2UsIGpzRW1wdHlTdHJpbmcoZXhl
YyksIERvbnRFbnVtKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmpl
Y3QpOworICAgIHB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFt
ZXMoKS5uYW1lLCBqc1N0cmluZyhleGVjLCBuYW1lQW5kTWVzc2FnZSksIERvbnRFbnVtKTsKKyAg
ICBwdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubWVz
c2FnZSwganNTdHJpbmcoZXhlYywgbmFtZUFuZE1lc3NhZ2UpLCBEb250RW51bSk7CiAgICAgcHV0
RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVj
dG9yLCBjb25zdHJ1Y3RvciwgRG9udEVudW0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuaAppbmRleCAzMzQ5MmJkOGRm
MzI5NzVlMWE4ZjQ3ZmQxY2EzYjBiYTA3YTI0OWEyLi5kODk0YWI0ZjM1MzA2YThmYTc5YmVhOWFj
NGU5NzE3OGZmNzVkMDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdm9pZCBjb25zdHJ1Y3Rv
ckJvZHkoRXhlY1N0YXRlKiwgY29uc3QgVVN0cmluZyYgbmFtZSwgTmF0aXZlRXJyb3JDb25zdHJ1
Y3RvciopOworICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFs
T2JqZWN0KiwgY29uc3QgVVN0cmluZyYgbmFtZUFuZE1lc3NhZ2UsIE5hdGl2ZUVycm9yQ29uc3Ry
dWN0b3IqKTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAppbmRleCA0YjdmNjgz
NmYxYWYzOGUzOTQ4MTU2YmQzYjEwYWE1NGI0N2I2NjkxLi5kZGU2NDI0MDZiMjFlN2ViZGYyM2Vh
OWUwMjRhNTQ0M2M3NTAzZTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCkBAIC01NSw4ICs1NSwxNCBAQCBjb25zdCBDbGFz
c0luZm8gTnVtYmVyQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFs
RnVuY3Rpb246OnNfaQogKi8KIAogTnVtYmVyQ29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9y
KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIE51bWJlclByb3RvdHlwZSogbnVtYmVyUHJvdG90eXBlKQotICAgIDogSW50
ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgSWRlbnRpZmllcihleGVjLCBudW1iZXJQcm90b3R5cGUtPnNfaW5mby5jbGFzc05hbWUpKQor
ICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkgCiB7CisgICAg
ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBudW1iZXJQcm90b3R5cGUpOworfQor
Cit2b2lkIE51bWJlckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMs
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE51bWJlclByb3RvdHlwZSogbnVtYmVyUHJv
dG90eXBlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwg
Z2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyKGV4ZWMsIG51bWJlclByb3RvdHlwZS0+c19pbmZvLmNs
YXNzTmFtZSkpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAKICAgICAvLyBOdW1i
ZXIuUHJvdG90eXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dW1iZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVy
Q29uc3RydWN0b3IuaAppbmRleCA3NTVkMGI0NWZhZjYwODJhNjg5Njc1NzFiZWI3N2NjN2U3MzQw
MzZhLi5hZjgyMWQ5OGFiMDkzNzJlNzRkNmZkNDJiMTMyZWFkYjk0N2E4NDYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKQEAgLTUw
LDYgKzUwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGVudW0geyBOYU5WYWx1ZSwgTmVn
SW5maW5pdHksIFBvc0luZmluaXR5LCBNYXhWYWx1ZSwgTWluVmFsdWUgfTsKIAogICAgIHByb3Rl
Y3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9i
amVjdCosIE51bWJlclByb3RvdHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBsZW1lbnRz
SGFzSW5zdGFuY2UgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHBy
aXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJP
YmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNw
cAppbmRleCAyMjY3NmQwZmZhOGNjNzQ2YWQxNmQ2ZTQyOGYzYmM4Y2Q3MGQ3NjJkLi5jZmJjMjNj
NjI5OWUzOWM2ZDk5ZDM3ZTQwZjZhMjM3NzFiYjRiNmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAgY29uc3Qg
Q2xhc3NJbmZvIE51bWJlck9iamVjdDo6c19pbmZvID0geyAiTnVtYmVyIiwgJkpTV3JhcHBlck9i
amVjdDo6c19pbmZvLCAwLAogTnVtYmVyT2JqZWN0OjpOdW1iZXJPYmplY3QoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTV3JhcHBlck9iamVj
dChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0
YSk7CiB9CiAKIHZvaWQgTnVtYmVyT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dW1iZXJPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVj
dC5oCmluZGV4IDkwMWY1ZWI0YjBmM2I1NDE3ZmRjOTlkMjI1ZWVhMmY3MTM0NTIxZmIuLjk2OWUx
ZWY2YTBmYjgzNDg0NDBmMjU0YTNmMGVhNGEyZDI5ZmZkOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5oCkBAIC0zNSw3ICszNSw5IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBOdW1iZXJPYmplY3QqIGNyZWF0ZShKU0dsb2JhbERh
dGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAg
ICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8TnVtYmVyT2JqZWN0PihnbG9iYWxEYXRhLmhl
YXApKSBOdW1iZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIE51
bWJlck9iamVjdCogbnVtYmVyID0gbmV3IChhbGxvY2F0ZUNlbGw8TnVtYmVyT2JqZWN0PihnbG9i
YWxEYXRhLmhlYXApKSBOdW1iZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKKyAgICAg
ICAgICAgIG51bWJlci0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CisgICAgICAgICAgICBy
ZXR1cm4gbnVtYmVyOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5m
byBzX2luZm87CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1i
ZXJQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJv
dG90eXBlLmNwcAppbmRleCA2NzlmNzQ3OWRlYzdlZWI1NDNlZTllNjIzMzNmMDZmODNkNDllZjRk
Li4xMGE3ZTRlNDM0MjViYjRmZjQ5NWJiNmMyNDkzNzU5ZjhlNWQ0OTE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAKQEAgLTY3LDYg
KzY3LDEyIEBAIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTnVtYmVyUHJvdG90eXBlKTsKIE51
bWJlclByb3RvdHlwZTo6TnVtYmVyUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBOdW1iZXJP
YmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRp
b24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBOdW1iZXJQcm90b3R5cGU6OmZpbmlz
aENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
K3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCkpOwogICAgIHNl
dEludGVybmFsVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBqc051bWJlcigwKSk7CiAKICAgICBB
U1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OdW1iZXJQcm90b3R5cGUuaAppbmRleCBkYjZmZWNlZjM3YzcyMjU4OTllMzBmMDQ4MTY4
MjE5MDdmMTEwODllLi40ODNkNzI0OWRjODcwMjk4NjE0ODk4MmZmMWE5MzYxNDEzNjI5MTRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuaApA
QCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVj
dGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2Jq
ZWN0Kik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92
ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE51bWJlck9iamVjdDo6U3RydWN0dXJlRmxhZ3M7
CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBbm9ueW1vdXNTbG90Q291bnQgPSBOdW1i
ZXJPYmplY3Q6OkFub255bW91c1Nsb3RDb3VudCArIDE7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAppbmRleCBjMzI1ZmEwNzBi
MWY3YmI5NDYwYzIxOGIyMGI2MmU3OGJiZDRiOGE1Li5kNDc0MzBlZjI5MzdjMmQ0YTc0MDBlN2I1
N2JhYTIxOGFmMDMyNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCkBAIC03Niw4ICs3NiwxNCBAQCBjb25zdCBDbGFzc0lu
Zm8gT2JqZWN0Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVu
Y3Rpb246OnNfaQogKi8KIAogT2JqZWN0Q29uc3RydWN0b3I6Ok9iamVjdENvbnN0cnVjdG9yKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIE9iamVjdFByb3RvdHlwZSogb2JqZWN0UHJvdG90eXBlKQotICAgIDogSW50ZXJu
YWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwg
SWRlbnRpZmllcihleGVjLCAiT2JqZWN0IikpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2Jh
bE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9i
amVjdCwgb2JqZWN0UHJvdG90eXBlKTsKK30KKwordm9pZCBPYmplY3RDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBPYmplY3RQcm90b3R5cGUqIG9iamVjdFByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVj
LCAiT2JqZWN0IikpOwogICAgIC8vIEVDTUEgMTUuMi4zLjEKICAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90
b3R5cGUsIG9iamVjdFByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
OwogICAgIC8vIG5vLiBvZiBhcmd1bWVudHMgZm9yIGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaAppbmRleCA4ZjE0MzYx
NDRlNDZjNDk2YjgwZGMwMGEwMmI3NDJhM2MyMWZiZTNhLi5hMDEwZjdjNDU5ZDc3ODU0YjE0MzNl
YzhlNzg2ODIwYTAxY2EzMjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09iamVjdENvbnN0cnVjdG9yLmgKQEAgLTQ3LDYgKzQ3LDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIE9iamVjdFByb3RvdHlwZSopOwogICAgICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Q
cm9wZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHBy
aXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBD
b25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggYzhhMTMzYjQyNTY4NzMxNWZmNmU4MjFjMGJhMjdhNTdhMTVhMzNl
YS4uODI1OWI2ZTUwOGUzNjQ1NDBhMGIxNDhhYTRmZjRjZTRjM2RhZDdkZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcApAQCAt
OTYsOSArOTYsMTUgQEAgY29uc3QgQ2xhc3NJbmZvIFJlZ0V4cENvbnN0cnVjdG9yOjpzX2luZm8g
PSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2kKICovCiAKIFJlZ0V4cENvbnN0
cnVjdG9yOjpSZWdFeHBDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUqIHJl
Z0V4cFByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEo
KSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgIlJlZ0V4cCIpKQor
ICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAsIGQo
YWRvcHRQdHIobmV3IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSkpCiB7CisgICAgZmluaXNoQ3Jl
YXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCByZWdFeHBQcm90b3R5cGUpOworfQorCit2b2lkIFJl
Z0V4cENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZ0V4cFByb3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQor
eworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2Jq
ZWN0LCBJZGVudGlmaWVyKGV4ZWMsICJSZWdFeHAiKSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZz
X2luZm8pKTsKIAogICAgIC8vIEVDTUEgMTUuMTAuNS4xIFJlZ0V4cC5wcm90b3R5cGUKQEAgLTEw
OCwxMCArMTE0LDkgQEAgUmVnRXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0cnVjdG9yKEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamUKICAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5s
ZW5ndGgsIGpzTnVtYmVyKDIpLCBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250RW51bSk7CiB9
CiAKLVJlZ0V4cE1hdGNoZXNBcnJheTo6UmVnRXhwTWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSogZXhl
YywgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKiBkYXRhKQorUmVnRXhwTWF0Y2hlc0FycmF5OjpS
ZWdFeHBNYXRjaGVzQXJyYXkoRXhlY1N0YXRlKiBleGVjKQogICAgIDogSlNBcnJheShleGVjLT5n
bG9iYWxEYXRhKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+cmVnRXhwTWF0Y2hlc0Fy
cmF5U3RydWN0dXJlKCkpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgp
LCBkYXRhKTsKIH0KIAogdm9pZCBSZWdFeHBNYXRjaGVzQXJyYXk6OmZpbmlzaENyZWF0aW9uKEpT
R2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKiBkYXRhKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0
b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgK
aW5kZXggMGE3Y2I2ZWFmYWVjZDQ4MDdmZWNlYTdjNWM0MWNlZTUyMDBjZWQ0Yy4uMDU2NzVhOTZh
ZmUzZTRlNzQ1OWU5ZTAzZjBiMTc5YzdjNGU0ZTY0YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC05MCw2ICs5MCw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICBKU1ZhbHVlIGdldFJpZ2h0Q29udGV4dChFeGVjU3RhdGUq
KSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihF
eGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIFJlZ0V4cFByb3RvdHlwZSopOwogICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9w
ZXJ0eVNsb3QgfCBJbXBsZW1lbnRzSGFzSW5zdGFuY2UgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1
Y3R1cmVGbGFnczsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCmluZGV4IDg3ZDU5YzcxNGViNTRkZjI4MTcz
ZGZlZGViZGVkNTQ2ZjY1MWMzYWIuLmFkOTRlMDdkYTdjMTNmOWIxYjNjNGU3MGI2NmU1NjZhZmE3
YTlmOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1h
dGNoZXNBcnJheS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1h
dGNoZXNBcnJheS5oCkBAIC0yNiwxNCArMjYsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBj
bGFzcyBSZWdFeHBNYXRjaGVzQXJyYXkgOiBwdWJsaWMgSlNBcnJheSB7CiAgICAgcHJpdmF0ZToK
LSAgICAgICAgUmVnRXhwTWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSosIFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSopOworICAgICAgICBSZWdFeHBNYXRjaGVzQXJyYXkoRXhlY1N0YXRlKik7CiAKICAg
ICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgSlNBcnJheSBCYXNlOwogCiAgICAgICAgIHN0YXRp
YyBSZWdFeHBNYXRjaGVzQXJyYXkqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFJlZ0V4cENvbnN0
cnVjdG9yUHJpdmF0ZSogY3RvclByaXZhdGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVy
biBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBNYXRjaGVzQXJyYXk+KCpleGVjLT5oZWFwKCkpKSBS
ZWdFeHBNYXRjaGVzQXJyYXkoZXhlYywgY3RvclByaXZhdGUpOworICAgICAgICAgICAgUmVnRXhw
TWF0Y2hlc0FycmF5KiByZWdFeHAgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBNYXRjaGVzQXJy
YXk+KCpleGVjLT5oZWFwKCkpKSBSZWdFeHBNYXRjaGVzQXJyYXkoZXhlYyk7CisgICAgICAgICAg
ICByZWdFeHAtPmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgY3RvclByaXZhdGUp
OworICAgICAgICAgICAgcmV0dXJuIHJlZ0V4cDsKICAgICAgICAgfQogICAgICAgICB2aXJ0dWFs
IH5SZWdFeHBNYXRjaGVzQXJyYXkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cE9iamVjdC5jcHAKaW5kZXggODQxZDkzOTQxMTdhYjA5MTE3MzhkMGM0ODVlM2Zl
NTBiNWExZGQxNi4uYWFhM2VlMDdjMWI2ZWNhNjdkY2E4ODQ4NzhhNGM1NjJhYzJkMzYzZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCkBAIC02
Niw3ICs2Niw2IEBAIFJlZ0V4cE9iamVjdDo6UmVnRXhwT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSCiAgICAgOiBKU09iamVjdFdpdGhH
bG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBkKGFkb3B0UHRyKG5l
dyBSZWdFeHBPYmplY3REYXRhKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCB0aGlzLCByZWdF
eHApKSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIFJl
Z0V4cE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggYmNl
NDU1YWY4MTJmOTFiYWJiMjI2MDcwYWQyMGU5ZTA0NmYyNDExMy4uNGFiZGE0YjlhNmQxYTA3YWI3
MDM1ZTE2YmE0MmNlYTNmMjkwZGNlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwT2JqZWN0LmgKQEAgLTMyLDEyICszMiwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgICAgICBzdGF0aWMgUmVnRXhwT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwKiBy
ZWdFeHApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxS
ZWdFeHBPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBz
dHJ1Y3R1cmUsIHJlZ0V4cCk7CisgICAgICAgICAgICBSZWdFeHBPYmplY3QqIG9iamVjdCA9IG5l
dyAoYWxsb2NhdGVDZWxsPFJlZ0V4cE9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFJlZ0V4cE9iamVj
dChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgcmVnRXhwKTsKKyAgICAgICAgICAgIG9iamVjdC0+
ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7
CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBSZWdFeHBPYmplY3QqIGNyZWF0
ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHAqIHJlZ0V4cCkKICAgICAgICAgewotICAgICAg
ICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFJlZ0V4cE9iamVjdD4oZ2xvYmFsRGF0YS5o
ZWFwKSkgUmVnRXhwT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCByZWdFeHApOworICAg
ICAgICAgICAgUmVnRXhwT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBP
YmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIFJlZ0V4cE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVj
dHVyZSwgcmVnRXhwKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFs
T2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgIH0KIAogICAgICAg
ICB2aXJ0dWFsIH5SZWdFeHBPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwCmluZGV4IDhiZmM5OWY1NDUwNWFlYzRmMmUyY2Q5
NjI0NzZlNzg4MmM5Mzg2NWYuLjkxYjg4Njk3ZjNkYjhiNzgwNGFmZjJiMDhlYWQ4ZDgyNzg0OTNm
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3Rv
dHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90
eXBlLmNwcApAQCAtNjUsNiArNjUsNyBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFJlZ0V4
cFByb3RvdHlwZSk7CiBSZWdFeHBQcm90b3R5cGU6OlJlZ0V4cFByb3RvdHlwZShFeGVjU3RhdGUq
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVn
RXhwKiByZWdFeHApCiAgICAgOiBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUs
IHJlZ0V4cCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiBib29s
IFJlZ0V4cFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggMWQzYjFjN2ExYjI5NTc5NWI2ZDE2YTU5YmQwMmVkYTIyNjJkZWM3ZS4uYWY5YWJmNWE3MGMx
OTc0ODI5ZTA3MGMzM2ZiNWI4OGNmMmY3MTY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcApAQCAtNDgsOCArNDgsMTQgQEAg
Y29uc3QgQ2xhc3NJbmZvIFN0cmluZ0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIs
ICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2kKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoU3RyaW5n
Q29uc3RydWN0b3IpOwogCiBTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29uc3RydWN0b3IoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgU3RyaW5nUHJvdG90eXBlKiBzdHJpbmdQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5h
bEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJ
ZGVudGlmaWVyKGV4ZWMsIHN0cmluZ1Byb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkp
CisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAg
IGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RyaW5nUHJvdG90eXBlKTsKK30K
Kwordm9pZCBTdHJpbmdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVj
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJpbmdQcm90b3R5cGUqIHN0cmluZ1By
b3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCks
IGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBzdHJpbmdQcm90b3R5cGUtPmNsYXNzSW5m
bygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIHN0cmluZ1Byb3Rv
dHlwZSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUpOwogICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygp
Lmxlbmd0aCwganNOdW1iZXIoMSksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0
cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rv
ci5oCmluZGV4IGZhYTc5YzM4NTk5YmIwMjZlOTRhNjA4ZmY0NDM1MGNhNDZlNWMzMmEuLjQ1MzQ2
NzI1ODEyYWFlNGI5NWNiOGM3YzcyNGJiOWFjMDNkY2Y3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaApAQCAtNDQsNiArNDQsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RyaW5nUHJv
dG90eXBlKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9
IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVy
ZUZsYWdzOwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJpbmdPYmplY3QuY3BwCmluZGV4IGI4ZmFkOWU0OTczNzdhY2E3NDU3MDEzY2RhMzcwM2I4
ZjI3MDU5MzMuLmY2ZDY5ZDEwOTUyNjRlNjE5MWU1N2Y1YzQyYzgwNzQ0NGY2MDA3N2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcApAQCAtMjks
MTAgKzI5LDkgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChTdHJpbmdPYmplY3QpOwogCiBj
b25zdCBDbGFzc0luZm8gU3RyaW5nT2JqZWN0OjpzX2luZm8gPSB7ICJTdHJpbmciLCAmSlNXcmFw
cGVyT2JqZWN0OjpzX2luZm8sIDAsIDAgfTsKIAotU3RyaW5nT2JqZWN0OjpTdHJpbmdPYmplY3Qo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNTdHJpbmcq
IHN0cmluZykKK1N0cmluZ09iamVjdDo6U3RyaW5nT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBKU1dyYXBwZXJPYmplY3QoZ2xvYmFs
RGF0YSwgc3RydWN0dXJlKQogewotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHN0cmlu
Zyk7CiB9CiAKIHZvaWQgU3RyaW5nT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTU3RyaW5nKiBzdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cmluZ09iamVjdC5oCmluZGV4IDBiMGMyMDA2NDhiZWJmOGFlNjRiNWM3NzlkMWE3
NTYzYzE5NjViZWMuLmJlYzc2ZDRmNDA2ZGE3Mzk5YTBmYzc3NDhmYWE3NmEwMWNmY2I4MDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCkBAIC0zMywx
MiArMzMsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0YXRpYyBTdHJpbmdPYmplY3Qq
IGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7
CiAgICAgICAgICAgICBKU1N0cmluZyogc3RyaW5nID0ganNFbXB0eVN0cmluZyhleGVjKTsKLSAg
ICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxTdHJpbmdPYmplY3Q+KCpleGVjLT5o
ZWFwKCkpKSBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUsIHN0cmlu
Zyk7ICAKKyAgICAgICAgICAgIFN0cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNl
bGw8U3RyaW5nT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgc3RydWN0dXJlKTsgIAorICAgICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlv
bihleGVjLT5nbG9iYWxEYXRhKCksIHN0cmluZyk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0
OwogICAgICAgICB9CiAgICAgICAgIHN0YXRpYyBTdHJpbmdPYmplY3QqIGNyZWF0ZShFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBzdHIpCiAgICAg
ICAgIHsKICAgICAgICAgICAgIEpTU3RyaW5nKiBzdHJpbmcgPSBqc1N0cmluZyhleGVjLCBzdHIp
OwotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4
ZWMtPmhlYXAoKSkpIFN0cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSwg
c3RyaW5nKTsKKyAgICAgICAgICAgIFN0cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0
ZUNlbGw8U3RyaW5nT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmds
b2JhbERhdGEoKSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRp
b24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJpbmcpOworICAgICAgICAgICAgcmV0dXJuIG9iamVj
dDsKICAgICAgICAgfQogICAgICAgICBzdGF0aWMgU3RyaW5nT2JqZWN0KiBjcmVhdGUoRXhlY1N0
YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBKU1N0cmluZyopOwogCkBAIC02Miw3ICs2Niw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIHByb3RlY3RlZDoKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihKU0dsb2JhbERhdGEmLCBKU1N0cmluZyopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlk
ZXNHZXRQcm9wZXJ0eU5hbWVzIHwgSlNXcmFwcGVyT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKLSAg
ICAgICAgU3RyaW5nT2JqZWN0KEpTR2xvYmFsRGF0YSYsIFN0cnVjdHVyZSosIEpTU3RyaW5nKik7
CisgICAgICAgIFN0cmluZ09iamVjdChKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUqKTsKICAgICB9
OwogCiAgICAgU3RyaW5nT2JqZWN0KiBhc1N0cmluZ09iamVjdChKU1ZhbHVlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVy
YWRlc0FzVW5kZWZpbmVkLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdP
YmplY3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZC5oCmluZGV4IDJmZTBiOWY2ODlmMjM1ZmRi
MjUyYjI2MDdlNzk2YmUyZmJiODQ4ODEuLmY2MTYzNDYzMjRiMzA2YjZhZmFjNmY0YWU1YjhiOWUw
YWNkZjUzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmlu
Z09iamVjdFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQuaApA
QCAtNDEsOCArNDEsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHByaXZhdGU6CiAgICAgICAg
IFN0cmluZ09iamVjdFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTU3RyaW5nKiBzdHJpbmcpCi0gICAgICAgICAgICA6IFN0
cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSwgc3RyaW5nKQorICAgICAg
ICAgICAgOiBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiAgICAg
ICAgIHsKKyAgICAgICAgICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3Ry
aW5nKTsKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVj
dHVyZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTVmFsdWUgcHJvdG8pIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKaW5kZXggZTE0
ZDk3NzI2Njk1NTY4ODlhODM3NjNkMmFiZjI4OTA0MjQwMzhjNC4uNTkwMzkwOWI5NGQyZGU0NTgx
YzQ3MzQwYjQwMDJkZjY4ODBhYjNhNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCkBAIC0xMzEsOSArMTMxLDE1IEBAIGNvbnN0IENs
YXNzSW5mbyBTdHJpbmdQcm90b3R5cGU6OnNfaW5mbyA9IHsgIlN0cmluZyIsICZTdHJpbmdPYmpl
Y3Q6OnNfaW5mbywgMCwKICovCiAKIC8vIEVDTUEgMTUuNS40Ci1TdHJpbmdQcm90b3R5cGU6OlN0
cmluZ1Byb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0cmluZyogc3RyaW5nKQotICAgIDogU3RyaW5n
T2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlLCBzdHJpbmcpCitTdHJpbmdQcm90
b3R5cGU6OlN0cmluZ1Byb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0cmluZyogbmFtZUFuZE1lc3Nh
Z2UpCisgICAgOiBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7
CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBuYW1lQW5kTWVzc2FnZSk7
Cit9CisKK3ZvaWQgU3RyaW5nUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4
ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTU3RyaW5nKiBuYW1lQW5kTWVzc2Fn
ZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIG5hbWVB
bmRNZXNzYWdlKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogCiAgICAgcHV0QW5v
bnltb3VzVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCAwLCBnbG9iYWxPYmplY3QpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuaAppbmRleCBjZTEz
YWI1MTQ1MmUzNmM5YmY3OWE2NGE1ZDYyMzNhYTg1Y2FiYTRjLi44NjM5ZDlhNGE2ZmE4ZDY1NmRj
ZDVlMmQ3N2ZmZmJmNTc0MWNmMmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJpbmdQcm90b3R5cGUuaApAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CiAgICAgICAgIAogICAgIHBy
b3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2Jh
bE9iamVjdCosIEpTU3RyaW5nKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IFN0cmluZ09iamVjdDo6
U3RydWN0dXJlRmxhZ3M7CiAKICAgICAgICAgQ09NUElMRV9BU1NFUlQoIVN0cmluZ09iamVjdDo6
QW5vbnltb3VzU2xvdENvdW50LCBTdHJpbmdQcm90b3R5cGVfc3RvbXBzX29uX3lvdXJfYW5vbnlt
b3VzX3Nsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZyBi
L1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKaW5kZXggNzM4MjRlOTNjNDU3ZjM3NTdm
MzUxMDljZjBiNDAwNDliYWU4YTE3ZS4uNWYwYzA0Y2Y3MWRjY2Q3ODA1NzcwMWE3ZTJiMTI1YTE3
NjIzNWRjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjcgQEAKIDIwMTEt
MDktMDEgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAorICAgICAg
ICBVbnppcCBpbml0aWFsaXphdGlvbiBsaXN0cyBhbmQgY29uc3RydWN0b3JzIGluIEpTQ2VsbCBo
aWVyYXJjaHkgKDUvNykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY3NDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29tcGxldGVkIHRoZSBmb3VydGggbGV2ZWwgb2YgdGhlIHJlZmFjdG9yaW5nIHRvIGFk
ZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBjbGFzc2VzIHdpdGhp
biB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAgICAgICBjb25zdHJ1
Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lzdHMgb2YgcHVzaGlu
ZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAgICBpbnRvIHRoZSBj
b25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBsZXZlbCBvZiB0aGUg
aGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZpbmlzaENyZWF0aW9u
KCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZworICAgICAgICBjcmVh
dGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0YW5lb3VzbHkgYWxs
b3dzIHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRoYXQgdGhlIGZpbmlz
aENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAorICAgICAgICBvbmNl
IGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxsaW5nIGl0IGFueSBv
dGhlciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3JlKSB3aWxsIGNhdXNl
IGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogSlNSdW4uY3BwOgorICAgICAgICAo
SlNHbHVlR2xvYmFsT2JqZWN0OjpKU0dsdWVHbG9iYWxPYmplY3QpOgorCisyMDExLTA5LTAxICBN
YXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKICAgICAgICAgVW56aXAg
aW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBKU0NlbGwgaGllcmFyY2h5
ICg0LzcpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NzE3NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvSlNSdW4uY3BwIGIvU291
cmNlL0phdmFTY3JpcHRHbHVlL0pTUnVuLmNwcAppbmRleCA4Yzg4Zjg1ZjMyMGUzZWUwYzI5YzFk
OWUyNDYxMGIxNDI2MmQzODJjLi5iZjIyY2JkMTY0MTFjNDYyYmJkM2EzN2ZkOTA5NmFlZWNhMjlh
NzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvSlNSdW4uY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5jcHAKQEAgLTM4LDYgKzM4LDcgQEAgSlNHbHVlR2xv
YmFsT2JqZWN0OjpKU0dsdWVHbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBT
dHJ1Y3R1cmUqIHN0cnUKICAgICAsIG1fZmxhZ3MoZmxhZ3MpCiAgICAgLCBtX3VzZXJPYmplY3RT
dHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgdXNlck9iamVjdFN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hD
cmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzKTsKIH0KIAogSlNSdW46OkpTUnVuKENGU3RyaW5nUmVm
IHNvdXJjZSwgSlNGbGFncyBpbkZsYWdzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBhZmFjNTFmMzFlMWM0OWNj
ZWM1ZjAzMmJkOGUzMWI5MjQ1NjA2MDcuLmRmYTg0MDk4OGQyZGQ0NzA1MjAxZTAzN2QwZGI5YjA0
MzdjMzlkMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NSBAQAorMjAxMS0wOS0wMSAgTWFyayBI
YWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGluaXRp
YWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcg
dGVzdHMuCisKKyAgICAgICAgQ29tcGxldGVkIHRoZSBmb3VydGggbGV2ZWwgb2YgdGhlIHJlZmFj
dG9yaW5nIHRvIGFkZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBj
bGFzc2VzIHdpdGhpbiB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAg
ICAgICBjb25zdHJ1Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lz
dHMgb2YgcHVzaGluZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAg
ICBpbnRvIHRoZSBjb25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBs
ZXZlbCBvZiB0aGUgaGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZp
bmlzaENyZWF0aW9uKCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZwor
ICAgICAgICBjcmVhdGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0
YW5lb3VzbHkgYWxsb3dzIHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRo
YXQgdGhlIGZpbmlzaENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAor
ICAgICAgICBvbmNlIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxs
aW5nIGl0IGFueSBvdGhlciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3Jl
KSB3aWxsIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogV2ViQ29yZS5l
eHAuaW46CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6CisgICAgICAgIChX
ZWJDb3JlOjpET01Db25zdHJ1Y3Rvck9iamVjdDo6RE9NQ29uc3RydWN0b3JPYmplY3QpOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NR2xvYmFsT2JqZWN0OjpKU0RPTUdsb2JhbE9iamVjdCk6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01X
aW5kb3dTaGVsbC5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5o
OgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6Y3JlYXRlKToKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV3Jh
cHBlcjo6SlNET01XcmFwcGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAq
IGJyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkNS
dW50aW1lT2JqZWN0OjpDUnVudGltZU9iamVjdCk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpD
UnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJyaWRnZS9jL0NSdW50
aW1lT2JqZWN0Lmg6CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3Qu
Y3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6SmF2YVJ1bnRpbWVPYmplY3Q6OkphdmFSdW50
aW1lT2JqZWN0KToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkphdmFSdW50aW1lT2JqZWN0Ojpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmpl
Y3QuaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oOgorICAgICAg
ICAqIGJyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tOgorICAgICAgICAoSlNDOjpCaW5k
aW5nczo6T2JqQ1J1bnRpbWVPYmplY3Q6Ok9iakNSdW50aW1lT2JqZWN0KToKKyAgICAgICAgKEpT
Qzo6QmluZGluZ3M6Ok9iakNSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmg6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpP
YmpjRmFsbGJhY2tPYmplY3RJbXA6OmNyZWF0ZSk6CisgICAgICAgICogYnJpZGdlL29iamMvb2Jq
Y19ydW50aW1lLm1tOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqY0ZhbGxiYWNrT2JqZWN0
SW1wOjpPYmpjRmFsbGJhY2tPYmplY3RJbXApOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9pbnN0
YW5jZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpRdFJ1bnRpbWVPYmplY3Q6OlF0UnVu
dGltZU9iamVjdCk6CisgICAgICAgICogYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwOgor
ICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRQaXhtYXBSdW50aW1lT2JqZWN0OjpRdFBpeG1hcFJ1
bnRpbWVPYmplY3QpOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoKKyAgICAg
ICAgKEpTQzo6QmluZGluZ3M6OlF0UnVudGltZU1ldGhvZDo6UXRSdW50aW1lTWV0aG9kKToKKyAg
ICAgICAgKEpTQzo6QmluZGluZ3M6OlF0UnVudGltZU1ldGhvZDo6ZmluaXNoQ3JlYXRpb24pOgor
ICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmg6CisgICAgICAgICogYnJpZGdlL3J1bnRp
bWVfYXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OlJ1bnRpbWVBcnJheSk6
CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuaDoKKyAgICAgICAgKEpTQzo6UnVudGlt
ZUFycmF5OjpjcmVhdGUpOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX21ldGhvZC5jcHA6Cisg
ICAgICAgIChKU0M6OlJ1bnRpbWVNZXRob2Q6OlJ1bnRpbWVNZXRob2QpOgorICAgICAgICAoSlND
OjpSdW50aW1lTWV0aG9kOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnJpZGdlL3J1bnRp
bWVfbWV0aG9kLmg6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcDoKKyAgICAg
ICAgKEpTQzo6QmluZGluZ3M6OlJ1bnRpbWVPYmplY3Q6OlJ1bnRpbWVPYmplY3QpOgorICAgICAg
ICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UnVu
dGltZU9iamVjdDo6Y3JlYXRlKToKKwogMjAxMS0wOS0wMSAgS2VudGFybyBIYXJhICA8aGFyYWtl
bkBnb29nbGUuY29tPgogCiAgICAgICAgIEdlbmVyYXRlIGEgRmlsZVJlYWRlciBjb25zdHJ1Y3Rv
ciBvZiBWOCB1c2luZyB0aGUgSURMICdDb25zdHJ1Y3RvcicgZXh0ZW5kZWQgYXR0cmlidXRlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCmluZGV4IDgyZjg1Y2Q0NmNlZDQyZGQ4MzkxMTQzNmIxNTE1ZWJiOGY4
NTFmZTQuLjNmNGZjZWVlZTgzMzA4NTI0ZDk2NGFhODhkM2Q2NDg0ODUyZjQ0ZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCkBAIC0xNjQ0LDYgKzE2NDQsNyBAQCBfX1pOM0pTQzEzUnVudGltZU1ldGhv
ZEMyRVBOU185RXhlY1N0YXRlRVBOU18xNEpTR2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJlRVJL
TgogX19aTjNKU0M4QmluZGluZ3MxMFJvb3RPYmplY3REMUV2CiBfX1pOM0pTQzhCaW5kaW5nczEz
UnVudGltZU9iamVjdDExZ2V0Q2FsbERhdGFFUk5TXzhDYWxsRGF0YUUKIF9fWk4zSlNDOEJpbmRp
bmdzMTNSdW50aW1lT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEw
SWRlbnRpZmllckUKK19fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTRmaW5pc2hDcmVh
dGlvbkVQTlNfMTRKU0dsb2JhbE9iamVjdEUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2Jq
ZWN0MTZnZXRDb25zdHJ1Y3REYXRhRVJOU18xM0NvbnN0cnVjdERhdGFFCiBfX1pOM0pTQzhCaW5k
aW5nczEzUnVudGltZU9iamVjdDE4Z2V0T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0YXRlRVJL
TlNfMTBJZGVudGlmaWVyRVJOU18xMlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDOEJpbmRpbmdzMTNS
dW50aW1lT2JqZWN0MTlnZXRPd25Qcm9wZXJ0eU5hbWVzRVBOU185RXhlY1N0YXRlRVJOU18xN1By
b3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25Nb2RlRQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUJpbmRpbmcuaAppbmRleCBkYjUyZDk2ZjRlMzIzMjNiNjc1ZDEzZGFmNjQw
MjM3YjNiMGU3MDhjLi45ODU2NDYwNzAwNmY2MjE3NzFhNTMzNTBiZDhiOTQ5ZTQ1ZWIxNzVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtNTUsNiArNTUs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERPTUNvbnN0cnVjdG9yT2JqZWN0KEpT
Qzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiAgICAgICAgICAgICA6IEpTRE9NV3JhcHBlcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKICAg
ICAgICAgeworICAgICAgICAgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0LT5nbG9iYWxE
YXRhKCksIGdsb2JhbE9iamVjdCk7CiAgICAgICAgIH0KICAgICB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNGRhZmE2OGUw
NDU2YWVhNjdmZTI2ZWQxZmJjMTBmMWJiZjQ2Y2M0OC4uZjllYWY2YTQ5YjFlOWY0YmM4NTk3ZTBj
OTIxNTY5ZjMxNDg2NmMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtNDMsMTAgKzQzLDE2IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNvbnN0IENsYXNzSW5mbyBKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZvID0geyAiRE9NR2xv
YmFsT2JqZWN0IiwgJkpTR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIDAgfTsKIAogSlNET01HbG9i
YWxPYmplY3Q6OkpTRE9NR2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiB3b3JsZCwgSlNP
YmplY3QqIHRoaXNWYWx1ZSkKLSAgICA6IEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVj
dHVyZSwgdGhpc1ZhbHVlKQorICAgIDogSlNHbG9iYWxPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0
dXJlKQogICAgICwgbV9jdXJyZW50RXZlbnQoMCkKICAgICAsIG1fd29ybGQod29ybGQpCiB7Cisg
ICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhpc1ZhbHVlKTsKK30KKwordm9pZCBKU0RP
TUdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBK
U09iamVjdCogdGhpc1ZhbHVlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbERh
dGEsIHRoaXNWYWx1ZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKaW5kZXggODYx
ZGYxZjE2ZDcwN2Q3ZjkwOTQ5ZmY3MzZlYjA5NTlhMzgwYmE4NC4uMTAwNzE3MDVkZjFiNWIxZjg5
ODA4N2E5MWY0MjYyOTljYWI0NWUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01HbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUdsb2JhbE9iamVjdC5oCkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgc3RydWN0IEpTRE9NR2xvYmFsT2JqZWN0RGF0YTsKIAogICAgICAgICBKU0RP
TUdsb2JhbE9iamVjdChKU0M6OkpTR2xvYmFsRGF0YSYsIEpTQzo6U3RydWN0dXJlKiwgUGFzc1Jl
ZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OkpTT2JqZWN0KiB0aGlzVmFsdWUpOworICAgICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6SlNHbG9iYWxEYXRhJiwgSlNDOjpKU09iamVjdCog
dGhpc1ZhbHVlKTsKIAogICAgIHB1YmxpYzoKICAgICAgICAgSlNET01TdHJ1Y3R1cmVNYXAmIHN0
cnVjdHVyZXMoKSB7IHJldHVybiBtX3N0cnVjdHVyZXM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKaW5kZXggNWQwZDQzNmNjOTY4NzNhZDlm
YTAzOTVmMzU1Y2VhZWUzMjE1Mzg0Yi4uYzc2NWZmMTgwZWE5MThlNWRiMmU3YzE0YzQxNDhkODky
ZmYzMWYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dTaGVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dT
aGVsbC5jcHAKQEAgLTE4MCwxMyArMTgwLDYgQEAgdm9pZCogSlNET01XaW5kb3dTaGVsbDo6b3Bl
cmF0b3IgbmV3KHNpemVfdCBzaXplKQogICAgIHJldHVybiBoZWFwLmFsbG9jYXRlKHNpemUpOwog
fQogCi1KU0RPTVdpbmRvd1NoZWxsKiBKU0RPTVdpbmRvd1NoZWxsOjpjcmVhdGUoUGFzc1JlZlB0
cjxET01XaW5kb3c+IHdpbmRvdywgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRE9NV3JhcHBl
cldvcmxkKiB3b3JsZCkKLXsKLSAgICBKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCA9IG5ldyBKU0RP
TVdpbmRvd1NoZWxsKHN0cnVjdHVyZSwgd29ybGQpOwotICAgIHNoZWxsLT5maW5pc2hDcmVhdGlv
bigqd29ybGQtPmdsb2JhbERhdGEoKSwgd2luZG93KTsKLSAgICByZXR1cm4gc2hlbGw7IAotfQot
CiAvLyAtLS0tCiAvLyBDb252ZXJzaW9uIG1ldGhvZHMKIC8vIC0tLS0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAppbmRleCAzMDI4MzRmZmM2Nzk1NDM0
ZGJlNDdmNDNlZTkyZTY2YTY2N2I0Y2MyLi5lNzQxZDJmYjA3ZDc3YTE3ZmU3ZTAyNTNhNGQzNDc1
M2EyNWU2NjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dT
aGVsbC5oCkBAIC01NSw3ICs1NSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
RE9NV2luZG93KiBpbXBsKCkgY29uc3Q7CiAKLSAgICAgICAgc3RhdGljIEpTRE9NV2luZG93U2hl
bGwqIGNyZWF0ZShQYXNzUmVmUHRyPERPTVdpbmRvdz4sIEpTQzo6U3RydWN0dXJlKiwgRE9NV3Jh
cHBlcldvcmxkKik7CisgICAgICAgIHN0YXRpYyBKU0RPTVdpbmRvd1NoZWxsKiBjcmVhdGUoUGFz
c1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRE9N
V3JhcHBlcldvcmxkKiB3b3JsZCkgCisgICAgICAgIHsKKyAgICAgICAgICAgIEpTRE9NV2luZG93
U2hlbGwqIHNoZWxsID0gbmV3IEpTRE9NV2luZG93U2hlbGwoc3RydWN0dXJlLCB3b3JsZCk7Cisg
ICAgICAgICAgICBzaGVsbC0+ZmluaXNoQ3JlYXRpb24oKndvcmxkLT5nbG9iYWxEYXRhKCksIHdp
bmRvdyk7CisgICAgICAgICAgICByZXR1cm4gc2hlbGw7IAorICAgICAgICB9CiAKICAgICAgICAg
c3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpIAogICAgICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCmluZGV4IDFiODIxOTcwM2NmOTM5MjBk
MGI4NzdjNzZkNzc2NWU3YWJmMTBiNmYuLjlhNGFjYTVjNTFiOGNmZWI3NTMwYjJhNmUwZTc5ODQ1
MWZkODU4ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3Jh
cHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCkBA
IC01OSw3ICs1OSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgLy8gbmV3IEphdmFTY3JpcHQgb2Jq
ZWN0cyBvbiBkZXRhY2hlZCB3aW5kb3dzIGR1ZSB0byBET01XaW5kb3c6OmRvY3VtZW50KCkKICAg
ICAgICAgLy8gbmVlZGluZyB0byByZWFjaCB0aHJvdWdoIHRoZSBmcmFtZSB0byBnZXQgdG8gdGhl
IERvY3VtZW50Ki4gIFNlZSBidWcgMjc2NDAuCiAgICAgICAgIC8vIEFTU0VSVChnbG9iYWxPYmpl
Y3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0gICAgICAgIGZpbmlzaENyZWF0aW9uKGds
b2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QpOwogICAgIH0KIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
aW5kZXggOWE5MjhhYzY5YWExYjljZTVlN2I5NDYxMDg4NmMwNWJkNmIyNGI4OC4uOTlhOGZkMTBm
ZDQ3NjBmMGQ3NzY1NzVmYTE5MWZhMWE0YmI3YTcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTE1MTQsMjAgKzE1MTQs
MjQgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgQWRkSW5jbHVkZXNGb3JU
eXBlSW5JbXBsKCJKU0RPTVdpbmRvd1NoZWxsIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiJHtjbGFzc05hbWV9OjokY2xhc3NOYW1lKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8JGltcGxUeXBlPiBpbXBsLCBKU0RPTVdpbmRv
d1NoZWxsKiBzaGVsbClcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICA6ICRw
YXJlbnRDbGFzc05hbWUoZ2xvYmFsRGF0YSwgc3RydWN0dXJlLCBpbXBsLCBzaGVsbClcbiIpOwor
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgIH0gZWxzaWYgKCRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IklzV29ya2VyQ29udGV4dCJ9KSB7CiAgICAgICAgIEFk
ZEluY2x1ZGVzRm9yVHlwZUluSW1wbCgkaW50ZXJmYWNlTmFtZSk7CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiJHtjbGFzc05hbWV9OjokY2xhc3NOYW1lKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8JGltcGxUeXBlPiBpbXBsKVxu
Iik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIDogJHBhcmVudENsYXNzTmFtZShn
bG9iYWxEYXRhLCBzdHJ1Y3R1cmUsIGltcGwpXG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICJ7XG4iKTsKICAgICB9IGVsc2UgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiR7
Y2xhc3NOYW1lfTo6JGNsYXNzTmFtZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgUGFzc1JlZlB0cjwkaW1wbFR5cGU+IGltcGwpXG4iKTsKICAg
ICAgICAgaWYgKCRoYXNQYXJlbnQpIHsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIDogJHBhcmVudENsYXNzTmFtZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgaW1wbClcbiIp
OworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIDogJHBhcmVudENsYXNzTmFt
ZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdClcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgLCBtX2ltcGwoaW1wbClcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJ7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGZpbmlz
aENyZWF0aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QpO1xuIik7
CiAgICAgICAgIH0KICAgICB9Ci0gICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpO1xuIik7CiAg
ICAgaWYgKCRudW1DYWNoZWRBdHRyaWJ1dGVzID4gMCkgewogICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICBmb3IgKHVuc2lnbmVkIGkgPSBCYXNlOjpBbm9ueW1vdXNTbG90Q291bnQ7IGkg
PCBBbm9ueW1vdXNTbG90Q291bnQ7IGkrKylcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAppbmRl
eCA2YWRjY2FlNTA1MjI5ZmUwNjNkYWNjNTcyMGRhMTdjYWJlNTNlNDM0Li5kOWQ1ZDBjZDRhZGNi
YTgxMGUwMzAzOWMyNWQwYmVkNDNhNzVjOWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcApAQCAt
MTQ2LDYgKzE0Niw3IEBAIEpTVGVzdEludGVyZmFjZTo6SlNUZXN0SW50ZXJmYWNlKFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsCiAgICAgOiBKU0RPTVdyYXBw
ZXIoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiAgICAgLCBtX2ltcGwoaW1wbCkKIHsKKyAgICBm
aW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0KTsK
ICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKaW5kZXggZGIyNzhjMWQyOGYyOTQ3NzhiZGY5NDk5
MmIxZTMwOGIyZjQ0YjYwMi4uZjA0ZGRmNGNkYTRiNTk4N2QzMmY5OTY3NmYxYjcwYzAwZWYxY2Y0
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAt
MTQyLDYgKzE0Miw3IEBAIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OkpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsCiAgICAgOiBKU0RPTVdyYXBw
ZXIoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiAgICAgLCBtX2ltcGwoaW1wbCkKIHsKKyAgICBm
aW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0KTsK
ICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDRkY2Vl
ZWY1YzU5NzMwNGQzYWMwNTNkNDE5M2NhMDgwMGUwYmNhMmIuLjlhOGNmZTIyNDQ4NTdmNjViZWIw
MTVmNGQ1NWZhNWE5MDIwNWYzMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0yOTcsNiArMjk3LDcgQEAgSlNU
ZXN0T2JqOjpKU1Rlc3RPYmooU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFBhc3MKICAgICA6IEpTRE9NV3JhcHBlcihzdHJ1Y3R1cmUsIGdsb2Jh
bE9iamVjdCkKICAgICAsIG1faW1wbChpbXBsKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2Jh
bE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0
cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggZGQyZTI0MzQwODExYjc5ZmJhOWNmODE5NGI3
YjI0MTIwMjdhOTcwYi4uNDdjYTViMDU2OTI4NzVmYTc3MjVhMWZmYjBjMDc5MjNkOGM3MTE4MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5jcHAKQEAgLTEzMiw2ICsxMzIsNyBAQCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2U6OkpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZShTdHJ1YwogICAg
IDogSlNET01XcmFwcGVyKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogICAgICwgbV9pbXBsKGlt
cGwpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIGds
b2JhbE9iamVjdCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwCmluZGV4IGM2M2U1ODZkMjFjMWUy
YWM2Njc5MjYzMTg2MzMyYjBjNTAxMTU4YzYuLmI0NjBhOTE0NTJmNjU2YjAzMzk3ODM1NzQ2ODVh
Y2YwZGUyMWQxNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1l
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5j
cHAKQEAgLTQwLDYgKzQwLDEyIEBAIGNvbnN0IENsYXNzSW5mbyBDUnVudGltZU9iamVjdDo6c19p
bmZvID0geyAiQ1J1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVjdDo6c19pCiBDUnVudGltZU9i
amVjdDo6Q1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxDSW5zdGFuY2U+IGlu
c3RhbmNlKQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKK30KKwor
dm9pZCBDUnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogICAg
IEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9D
UnVudGltZU9iamVjdC5oCmluZGV4IDc5YzMyOGY2OGRiYzA2OTEyOTM0ODY4MTBkZWQ3YjFhNjgx
ZTI2OWMuLmZkYzE3YjliMzVhMmFmZWYwNGJjODBiNDI0YjFiNmZmMGM2NjY2NjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuaApAQCAtNjEsNiArNjEsNyBAQCBwdWJs
aWM6CiAKIHByaXZhdGU6CiAgICAgQ1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxP
YmplY3QqLCBTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPENJbnN0YW5jZT4pOworICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmNwcAppbmRleCBmZmZlODU2
ZGEwZDVlNTFiNjgyOGYyNmY1ZGExMWUxNmE3MTU4ZmQ0Li5kNjg0YWIwMmUzOTcwMjlmMTFmNWEy
NTE0YWNiMGFkMzEzZGIwZWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5p
L2pzYy9KYXZhUnVudGltZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pu
aS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuY3BwCkBAIC0zOCw2ICszOCwxMiBAQCBjb25zdCBDbGFz
c0luZm8gSmF2YVJ1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsgIkphdmFSdW50aW1lT2JqZWN0Iiwg
JlJ1bnRpbWVPYmplYwogSmF2YVJ1bnRpbWVPYmplY3Q6OkphdmFSdW50aW1lT2JqZWN0KEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIFBhc3NSZWZQdHI8SmF2YUluc3RhbmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRpbWVP
YmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZp
bmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgSmF2YVJ1bnRpbWVPYmplY3Q6
OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNf
aW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9K
YXZhUnVudGltZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1
bnRpbWVPYmplY3QuaAppbmRleCA4OGUxZTNiODJhMjU4YTA1OTBhZmE3ZjNlNDFiYmM5ZDBiMTQ4
ZWMzLi5mMzY4OGM5NGEyM2I3MWJhYzEwNWIzNmNkNWQyNDMxYmQ1N2Q5NTA1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmgKQEAgLTU5
LDYgKzU5LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIEphdmFSdW50aW1lT2JqZWN0KEV4
ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgUGFzc1JlZlB0cjxKYXZhSW5z
dGFuY2U+KTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7CiB9Owog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaApp
bmRleCBhODgxM2ZlM2Y3OGU4ZmE1M2UyM2MzYmFhYjk3MGM0MzJkZTBmZmQyLi45MzNhNGQxOGEz
OWI1NDlmMDcxZDQ2ZjBmNzA5YmQ2NTMxOGZkNGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0LmgKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIE9iakNSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2Jq
ZWN0KiwgUGFzc1JlZlB0cjxPYmpjSW5zdGFuY2U+LCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5tbSBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tCmluZGV4IGVhODYyNjMyZGVjNGNm
ZTdhZWRkNjFkZTU4NGJiMmQ1YzBlYjhmYTkuLmM1MWJkNGQyMGM5M2I2YWM4MDg4ZGRjZGRiYTI4
Y2YyMGQ4Nzg5NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNS
dW50aW1lT2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50
aW1lT2JqZWN0Lm1tCkBAIC0zOCw2ICszOCwxMiBAQCBjb25zdCBDbGFzc0luZm8gT2JqQ1J1bnRp
bWVPYmplY3Q6OnNfaW5mbyA9IHsgIk9iakNSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplYwog
T2JqQ1J1bnRpbWVPYmplY3Q6Ok9iakNSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUGFzc1JlZlB0cjxPYmpjSW5zdGFuY2U+IGluc3Rh
bmNlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xv
YmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGds
b2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgT2JqQ1J1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9u
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24oZ2xvYmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCmluZGV4IDE3NTNjMGJjN2Vl
MDk2MTI4M2FjY2RiNmY5YzVkN2VhMmZmYzU0MjIuLmJiN2Q3NzU5YWQ0MzcyNWNjZTEwMTJkYzMw
ZGFjZjNlZTg1NDMwZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29i
amNfcnVudGltZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGlt
ZS5oCkBAIC05OSw3ICs5OSw5IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBk
ZXByZWNhdGVkR2V0RE9NU3RydWN0dXJlIHVzZXMgdGhlIHByb3RvdHlwZSBvZmYgb2YgdGhlIHdy
b25nIGdsb2JhbCBvYmplY3QKICAgICAgICAgU3RydWN0dXJlKiBkb21TdHJ1Y3R1cmUgPSBXZWJD
b3JlOjpkZXByZWNhdGVkR2V0RE9NU3RydWN0dXJlPE9iamNGYWxsYmFja09iamVjdEltcD4oZXhl
Yyk7Ci0gICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxPYmpjRmFsbGJhY2tPYmplY3RJ
bXA+KCpleGVjLT5oZWFwKCkpKSBPYmpjRmFsbGJhY2tPYmplY3RJbXAoZ2xvYmFsT2JqZWN0LCBk
b21TdHJ1Y3R1cmUsIGluc3RhbmNlLCBwcm9wZXJ0eU5hbWUpOworICAgICAgICBPYmpjRmFsbGJh
Y2tPYmplY3RJbXAqIGZhbGxiYWNrT2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8T2JqY0ZhbGxi
YWNrT2JqZWN0SW1wPigqZXhlYy0+aGVhcCgpKSkgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wKGdsb2Jh
bE9iamVjdCwgZG9tU3RydWN0dXJlLCBpbnN0YW5jZSwgcHJvcGVydHlOYW1lKTsKKyAgICAgICAg
ZmFsbGJhY2tPYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJl
dHVybiBmYWxsYmFja09iamVjdDsKICAgICB9CiAKICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZv
IHNfaW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVu
dGltZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbQppbmRl
eCBkZjBlNzFjN2ZlY2I2MmUxNmY3NWRhOTEyMDMxZmE5NmIxYTJhN2M2Li5hY2UyYmE3NTljNDY4
ZjdiNzA3MjllZTkzMWQ2MjdmNGY2MTUzZTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29i
amMvb2JqY19ydW50aW1lLm1tCkBAIC0yMDEsNyArMjAxLDYgQEAgT2JqY0ZhbGxiYWNrT2JqZWN0
SW1wOjpPYmpjRmFsbGJhY2tPYmplY3RJbXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWMKICAgICAsIF9pbnN0YW5jZShpKQogICAgICwgX2l0ZW0ocHJvcGVydHlOYW1lKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgT2JqY0ZhbGxiYWNr
T2JqZWN0SW1wOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAKaW5kZXggMjA5ZDVlY2E5YmUz
NWMwOTNhOGFmMTUzN2M5ODZiNWE0NWMzZDhmNy4uNmIwOWQ4NTA1ZTBkOTM2ODg1M2RhYWYyYWEx
NzlmNTQyYzc1M2JhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2lu
c3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3Bw
CkBAIC04NSw2ICs4NSw3IEBAIGNvbnN0IENsYXNzSW5mbyBRdFJ1bnRpbWVPYmplY3Q6OnNfaW5m
byA9IHsgIlF0UnVudGltZU9iamVjdCIsICZSdW50aW1lT2JqZWN0OjpzCiBRdFJ1bnRpbWVPYmpl
Y3Q6OlF0UnVudGltZU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPEluc3RhbmNlPiBpbnN0
YW5jZSkKICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUs
IGluc3RhbmNlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAKIC8v
IFF0SW5zdGFuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9waXht
YXBydW50aW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9waXhtYXBydW50aW1l
LmNwcAppbmRleCA0ZmFjNTIwMWQ2ZGQzMTVkMzBlOWZmOTMyODgzMDNhZTcyMjA3YzFjLi43M2M4
NGNlOWQwYTkxYTJlODA4YTZiMmZiNDk4NzIwM2NkMTQ2M2VlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVudGltZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwCkBAIC0yMjQsNiArMjI0LDcgQEAgcHJp
dmF0ZToKIFF0UGl4bWFwUnVudGltZU9iamVjdDo6UXRQaXhtYXBSdW50aW1lT2JqZWN0KEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIFBhc3NSZWZQdHI8SW5zdGFuY2U+IGluc3RhbmNlKQogICAgIDogUnVudGltZU9iamVj
dChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNo
Q3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogY29uc3QgQ2xhc3NJbmZvIFF0UGl4bWFwUnVu
dGltZU9iamVjdDo6c19pbmZvID0geyAiUXRQaXhtYXBSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVP
YmplY3Q6OnNfaW5mbywgMCwgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3F0L3F0X3J1bnRpbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUu
Y3BwCmluZGV4IDgyZWJkOTgzYzlhNjliOGJlMWRlZDA5NGFjZTg2OGEyNzAzN2ZjZGUuLjgwOTJk
Y2VjMDE0ZWYwMzQzZTUwZGQ0NDZkYzJjZjYwNTg4MzcyOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvcXQvcXRfcnVudGltZS5jcHAKQEAgLTEwMDcsOSArMTAwNywxNSBAQCBKU1ZhbHVlIGNvbnZl
cnRRVmFyaWFudFRvVmFsdWUoRXhlY1N0YXRlKiBleGVjLCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+
IHJvb3QsIGNvbgogY29uc3QgQ2xhc3NJbmZvIFF0UnVudGltZU1ldGhvZDo6c19pbmZvID0geyAi
UXRSdW50aW1lTWV0aG9kIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCB9OwogCiBR
dFJ1bnRpbWVNZXRob2Q6OlF0UnVudGltZU1ldGhvZChRdFJ1bnRpbWVNZXRob2REYXRhKiBkZCwg
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYg
aWRlbnQsIFBhc3NSZWZQdHI8UXRJbnN0YW5jZT4gaW5zdCkKLSAgICA6IEludGVybmFsRnVuY3Rp
b24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBzdHJ1
Y3R1cmUsIGlkZW50KQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCksIHN0cnVjdHVyZSkKICAgICAsIGRfcHRyKGRkKQogeworICAgIGZpbmlzaENyZWF0
aW9uKGV4ZWMsIGlkZW50KTsKK30KKwordm9pZCBRdFJ1bnRpbWVNZXRob2Q6OmZpbmlzaENyZWF0
aW9uKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCit7CisgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCksIGlkZW50KTsKICAgICBRV19EKFF0UnVudGltZU1ldGhvZCk7CiAgICAgZC0+bV9p
bnN0YW5jZSA9IGluc3Q7CiAgICAgZC0+bV9maW5hbGl6ZXIuc2V0KGV4ZWMtPmdsb2JhbERhdGEo
KSwgdGhpcywgZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVu
dGltZS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuaAppbmRleCBkNDk3
ZWNhOTU1MjUyZmJhNWI5NmRlZDg5MDgyODBkNWVmY2M1NGI2Li4wYWYxY2ViZmI4ZDEyNjdhYmE2
OTdlYmRlOTYxYjNlZGFjNmFjZDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cXQvcXRfcnVudGltZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1l
LmgKQEAgLTE0Myw2ICsxNDMsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6CisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJik7CiAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJv
cGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEludGVybmFsRnVuY3Rpb246
OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbjsKIAogICAgIFF0UnVudGlt
ZU1ldGhvZERhdGEgKmRfZnVuYygpIGNvbnN0IHtyZXR1cm4gZF9wdHI7fQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwCmluZGV4IGUwMWExNWYzN2NjOTFjNDU4ZWRhMTQxYzc0
ODZkOGMyNjljNmRjYjAuLjhhMDM3ZjkyNGRjYWE4MjA5YzcxODE3MmUxYThjOGRjNzQ1M2MzM2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAKQEAgLTM3LDEwICszNyw5
IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjb25zdCBDbGFzc0luZm8gUnVudGltZUFycmF5OjpzX2lu
Zm8gPSB7ICJSdW50aW1lQXJyYXkiLCAmSlNBcnJheTo6c19pbmZvLCAwLCAwIH07CiAKLVJ1bnRp
bWVBcnJheTo6UnVudGltZUFycmF5KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEJpbmRpbmdzOjpBcnJheSogYXJyYXkpCitSdW50aW1lQXJyYXk6OlJ1bnRpbWVBcnJheShF
eGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNBcnJheShleGVj
LT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIGFycmF5KTsKIH0KIAogdm9pZCBSdW50aW1lQXJyYXk6OmZpbmlzaENyZWF0
aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgQmluZGluZ3M6OkFycmF5KiBhcnJheSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCmluZGV4IDhkOGY1YWU2YmY2OGE2MzM4NjVk
MGQwMmJmNjQzZjk1ZTQ0YTg5NTcuLmNhYTNhZjIyZWQ0ODdiMTg0Y2E2OTllMzkwY2U1NmNlMjE1
NDQ2NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaApAQCAtNDEsNyArNDEs
OSBAQCBwdWJsaWM6CiAgICAgICAgIC8vIEZJWE1FOiBkZXByZWNhdGVkR2V0RE9NU3RydWN0dXJl
IHVzZXMgdGhlIHByb3RvdHlwZSBvZmYgb2YgdGhlIHdyb25nIGdsb2JhbCBvYmplY3QKICAgICAg
ICAgLy8gV2UgbmVlZCB0byBwYXNzIGluIHRoZSByaWdodCBnbG9iYWwgb2JqZWN0IGZvciAiYXJy
YXkiLgogICAgICAgICBTdHJ1Y3R1cmUqIGRvbVN0cnVjdHVyZSA9IFdlYkNvcmU6OmRlcHJlY2F0
ZWRHZXRET01TdHJ1Y3R1cmU8UnVudGltZUFycmF5PihleGVjKTsKLSAgICAgICAgcmV0dXJuIG5l
dyAoYWxsb2NhdGVDZWxsPFJ1bnRpbWVBcnJheT4oKmV4ZWMtPmhlYXAoKSkpIFJ1bnRpbWVBcnJh
eShleGVjLCBkb21TdHJ1Y3R1cmUsIGFycmF5KTsKKyAgICAgICAgUnVudGltZUFycmF5KiBydW50
aW1lQXJyYXkgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSdW50aW1lQXJyYXk+KCpleGVjLT5oZWFwKCkp
KSBSdW50aW1lQXJyYXkoZXhlYywgZG9tU3RydWN0dXJlKTsKKyAgICAgICAgcnVudGltZUFycmF5
LT5maW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGFycmF5KTsKKyAgICAgICAgcmV0
dXJuIHJ1bnRpbWVBcnJheTsKICAgICB9CiAKICAgICB0eXBlZGVmIEJpbmRpbmdzOjpBcnJheSBC
aW5kaW5nc0FycmF5OwpAQCAtNzksNyArODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90
IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTQXJyYXk6OlN0cnVjdHVyZUZsYWdzOwog
CiBwcml2YXRlOgotICAgIFJ1bnRpbWVBcnJheShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBCaW5k
aW5nczo6QXJyYXkqKTsKKyAgICBSdW50aW1lQXJyYXkoRXhlY1N0YXRlKiwgU3RydWN0dXJlKik7
CiAgICAgc3RhdGljIEpTVmFsdWUgbGVuZ3RoR2V0dGVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUsIGNv
bnN0IElkZW50aWZpZXImKTsKICAgICBzdGF0aWMgSlNWYWx1ZSBpbmRleEdldHRlcihFeGVjU3Rh
dGUqLCBKU1ZhbHVlLCB1bnNpZ25lZCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X21ldGhvZC5jcHAKaW5kZXggMjhmYmQzZjljMGQ5MTgwNjFlNjlmYjE0NGFkYmU5YmI1ODRmMTM5
Yy4uZDE0ZjU0ZjE4ZjFjZTI1NTRhY2U1YjQ2ZTcyZGZjNjhiODIxYzk0YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwCkBAIC00NSw5ICs0NSwxNSBAQCBjb25zdCBD
bGFzc0luZm8gUnVudGltZU1ldGhvZDo6c19pbmZvID0geyAiUnVudGltZU1ldGhvZCIsICZJbnRl
cm5hbEZ1bmN0aW9uOjpzXwogCiBSdW50aW1lTWV0aG9kOjpSdW50aW1lTWV0aG9kKEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBCaW5kaW5nczo6TWV0aG9kTGlzdCYgbSkKICAg
ICAvLyBDYWxsZXJzIHdpbGwgbmVlZCB0byBwYXNzIGluIHRoZSByaWdodCBnbG9iYWwgb2JqZWN0
IGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBuYXRpdmUgb2JqZWN0ICJtIi4KLSAgICA6IEludGVybmFs
RnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGlk
ZW50KQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAg
ICAsIF9tZXRob2RMaXN0KGFkb3B0UHRyKG5ldyBNZXRob2RMaXN0KG0pKSkKIHsKKyAgICBmaW5p
c2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgaWRlbnQpOworfQor
Cit2b2lkIFJ1bnRpbWVNZXRob2Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgaWRl
bnQpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0
LCBpZGVudCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmggYi9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaAppbmRleCBjNmMzZTRlZTA5MjA3YjNlM2MxNjE3MWNj
YjY0ZTcyZmViZWNiMDU0Li5kNWU0YTJiOWRmN2M1M2FiNmQ4OTQzY2UxZTVjYmQyOGU1ZGY0YmE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaApAQCAtNTgsNiArNTgsNyBA
QCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICBSdW50aW1lTWV0aG9kKEV4ZWNTdGF0ZSosIEpT
R2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgY29uc3QgSWRlbnRpZmllciYgbmFtZSwgQmluZGlu
Z3M6Ok1ldGhvZExpc3QmKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYs
IEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgSWRlbnRpZmllciYpOwogICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IElu
dGVybmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdzOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX29iamVjdC5jcHAKaW5kZXggOTY2NDBmMDA4ZmFjMWFjNDcxNzY0ZmY4
NWUzYjhmNjQ1YjkyYmYyYy4uOWJmZTQ2NzliYzBiZWNmNzA5NmRlYjU2NDA0MGYyMzk3Mjc0OTQ2
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCkBAIC00MSw3ICs0
MSw2IEBAIFJ1bnRpbWVPYmplY3Q6OlJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlCiAgICAgOiBKU09iamVjdFdpdGhHbG9iYWxP
YmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBtX2luc3RhbmNlKGluc3RhbmNl
KQogewotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgUnVudGlt
ZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5oIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKaW5kZXggOTllMDZlMDFjNWJhZjc4MDc3
ZmI5YTRiZGRmOTNhNWE0NGQ4YzNiYy4uN2ZiYjI4NDgxMTExNmU5MzFiYWYyN2VjNDI2ZGY1NDYx
YWM1MWQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKQEAgLTM5LDcg
KzM5LDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFJ1bnRpbWVPYmplY3QqIGNyZWF0ZShFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBQYXNzUmVmUHRyPEluc3RhbmNlPiBpbnN0YW5jZSkKICAgICB7Ci0gICAgICAgIHJl
dHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxSdW50aW1lT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgUnVu
dGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpOworICAg
ICAgICBSdW50aW1lT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSdW50aW1lT2Jq
ZWN0PigqZXhlYy0+aGVhcCgpKSkgUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0
cnVjdHVyZSwgaW5zdGFuY2UpOworICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2Jh
bE9iamVjdCk7CisgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgfQogCiAgICAgdmlydHVhbCB+
UnVudGltZU9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDhkNDk3YWU1NTQzYjc2YzM1Nzk2
OGUxMDA4ZDMxZTgzMDcxNTQzYmMuLjZjMGZmMDBjMzNlM2ZmYzEyNDc1NmVlYmNhMzNkNTA2N2Y5
MzI0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMS0wOS0wMSAgTWFy
ayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGlu
aXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAo
NS83KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0
MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21w
bGV0ZWQgdGhlIGZvdXJ0aCBsZXZlbCBvZiB0aGUgcmVmYWN0b3JpbmcgdG8gYWRkIGZpbmlzaENy
ZWF0aW9uKCkgCisgICAgICAgIG1ldGhvZHMgdG8gYWxsIGNsYXNzZXMgd2l0aGluIHRoZSBKU0Nl
bGwgaGllcmFyY2h5IHdpdGggbm9uLXRyaXZpYWwgCisgICAgICAgIGNvbnN0cnVjdG9yIGJvZGll
cy4KKworICAgICAgICBUaGlzIHByaW1hcmlseSBjb25zaXN0cyBvZiBwdXNoaW5nIHRoZSBjYWxs
cyB0byBmaW5pc2hDcmVhdGlvbigpIGRvd24gCisgICAgICAgIGludG8gdGhlIGNvbnN0cnVjdG9y
cyBvZiB0aGUgc3ViY2xhc3NlcyBvZiB0aGUgc2Vjb25kIGxldmVsIG9mIHRoZSBoaWVyYXJjaHkg
CisgICAgICAgIGFzIHdlbGwgYXMgcHVsbGluZyB0aGUgZmluaXNoQ3JlYXRpb24oKSBjYWxscyBv
dXQgaW50byB0aGUgY2xhc3MncyBjb3JyZXNwb25kaW5nCisgICAgICAgIGNyZWF0ZSgpIG1ldGhv
ZCBpZiBpdCBoYXMgb25lLiAgRG9pbmcgYm90aCBzaW11bHRhbmVvdXNseSBhbGxvd3MgdXMgdG8g
CisgICAgICAgIG1haW50YWluIHRoZSBpbnZhcmlhbnQgdGhhdCB0aGUgZmluaXNoQ3JlYXRpb24o
KSBtZXRob2QgY2hhaW4gaXMgY2FsbGVkIGV4YWN0bHkgCisgICAgICAgIG9uY2UgZHVyaW5nIHRo
ZSBjcmVhdGlvbiBvZiBhbiBvYmplY3QsIHNpbmNlIGNhbGxpbmcgaXQgYW55IG90aGVyIG51bWJl
ciBvZiAKKyAgICAgICAgdGltZXMgKDAsIDIsIG9yIG1vcmUpIHdpbGwgY2F1c2UgYW4gYXNzZXJ0
aW9uIGZhaWx1cmUuCisKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmpl
Y3QuaDoKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QubW06Cisg
ICAgICAgIChXZWJLaXQ6OlByb3h5UnVudGltZU9iamVjdDo6UHJveHlSdW50aW1lT2JqZWN0KToK
KyAgICAgICAgKFdlYktpdDo6UHJveHlSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisK
IDIwMTEtMDktMDEgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgUkVHUkVTU0lPTjogUmVuZGVyaW5nIGFydGlmYWN0cyBvbiBhIHJvdGF0ZWQsIHBhdHRl
cm4gZmlsbGVkIHNoYXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hv
c3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9z
dGVkL1Byb3h5UnVudGltZU9iamVjdC5oCmluZGV4IGQ4YWU4MTEwYTU1YmM5MjBiMzRiOGVkYzA0
YTdhN2E1ODkwMzk2MDEuLjYyMjk0MzM0NzA0OGY2ODMwMDg4MWI4YzJkYjQ4MjgwYjU0MzM4ZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGlt
ZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVu
dGltZU9iamVjdC5oCkBAIC01OSw2ICs1OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3Qg
SlNDOjpDbGFzc0luZm8gc19pbmZvOwogcHJpdmF0ZToKICAgICBQcm94eVJ1bnRpbWVPYmplY3Qo
SlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBQ
YXNzUmVmUHRyPFByb3h5SW5zdGFuY2U+KTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6
SlNHbG9iYWxPYmplY3QqKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbQppbmRleCA4YTY0ODFlM2Q0NTJj
YjNmYjZmODFiMWVmMDM1NjkzMDFiYjMwYzRjLi41Y2IyNzQ5YzkyODgzOWE4NTNhNDFiZDk1NDA1
Mzg1NDVmYWU1ODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9Qcm94eVJ1bnRpbWVPYmplY3QubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9I
b3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lm1tCkBAIC0zOSw2ICszOSwxMiBAQCBjb25zdCBDbGFz
c0luZm8gUHJveHlSdW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJQcm94eVJ1bnRpbWVPYmplY3Qi
LCAmUnVudGltZU9iagogUHJveHlSdW50aW1lT2JqZWN0OjpQcm94eVJ1bnRpbWVPYmplY3QoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgUGFzc1JlZlB0cjxQcm94eUluc3RhbmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRp
bWVPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAg
IGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgUHJveHlSdW50aW1lT2Jq
ZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiAgICAgQVNTRVJUKGluaGVyaXRz
KCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDk4Y2RmOGViODhhZjNlMDQyZGQzZGJhYjIw
Nzk3NGJjNGU5ZWUyZWUuLjVkZWI3YjRjOTJmMDVjMDg2YzhlZmFiYTJhYjEzOThhNjgwMjgxN2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMS0wOS0wMSAgTWFyayBIYWhuZW5iZXJn
ICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9u
IGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV0ZWQgdGhlIGZv
dXJ0aCBsZXZlbCBvZiB0aGUgcmVmYWN0b3JpbmcgdG8gYWRkIGZpbmlzaENyZWF0aW9uKCkgCisg
ICAgICAgIG1ldGhvZHMgdG8gYWxsIGNsYXNzZXMgd2l0aGluIHRoZSBKU0NlbGwgaGllcmFyY2h5
IHdpdGggbm9uLXRyaXZpYWwgCisgICAgICAgIGNvbnN0cnVjdG9yIGJvZGllcy4KKworICAgICAg
ICBUaGlzIHByaW1hcmlseSBjb25zaXN0cyBvZiBwdXNoaW5nIHRoZSBjYWxscyB0byBmaW5pc2hD
cmVhdGlvbigpIGRvd24gCisgICAgICAgIGludG8gdGhlIGNvbnN0cnVjdG9ycyBvZiB0aGUgc3Vi
Y2xhc3NlcyBvZiB0aGUgc2Vjb25kIGxldmVsIG9mIHRoZSBoaWVyYXJjaHkgCisgICAgICAgIGFz
IHdlbGwgYXMgcHVsbGluZyB0aGUgZmluaXNoQ3JlYXRpb24oKSBjYWxscyBvdXQgaW50byB0aGUg
Y2xhc3MncyBjb3JyZXNwb25kaW5nCisgICAgICAgIGNyZWF0ZSgpIG1ldGhvZCBpZiBpdCBoYXMg
b25lLiAgRG9pbmcgYm90aCBzaW11bHRhbmVvdXNseSBhbGxvd3MgdXMgdG8gCisgICAgICAgIG1h
aW50YWluIHRoZSBpbnZhcmlhbnQgdGhhdCB0aGUgZmluaXNoQ3JlYXRpb24oKSBtZXRob2QgY2hh
aW4gaXMgY2FsbGVkIGV4YWN0bHkgCisgICAgICAgIG9uY2UgZHVyaW5nIHRoZSBjcmVhdGlvbiBv
ZiBhbiBvYmplY3QsIHNpbmNlIGNhbGxpbmcgaXQgYW55IG90aGVyIG51bWJlciBvZiAKKyAgICAg
ICAgdGltZXMgKDAsIDIsIG9yIG1vcmUpIHdpbGwgY2F1c2UgYW4gYXNzZXJ0aW9uIGZhaWx1cmUu
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkpTTlBNZXRob2Q6OkpTTlBNZXRob2QpOgorICAgICAgICAoV2Vi
S2l0OjpKU05QTWV0aG9kOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuaDoKKyAgICAgICAgKFdlYktpdDo6SlNOUE1ldGhv
ZDo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9i
amVjdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6OkpTTlBPYmplY3QpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0Lmg6CisgICAgICAg
IChXZWJLaXQ6OkpTTlBPYmplY3Q6OmNyZWF0ZSk6CisKIDIwMTEtMDktMDEgIEFkYSBDaGFuICA8
YWRhY2hhbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ3V0IGRvd24gdGhlIGlmZGVmcyBpbiBXZWJL
aXQ6OmdldFdlYkNvcmVNZW1vcnlDYWNoZVN0YXRpc3RpY3MoKSBub3cgdGhhdCAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9k
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0
aG9kLmNwcAppbmRleCA4NzllNmI4YjI2YWFiYTc4M2Y0NGYzYTg3YmE1YjA2ZGIxM2Q0YzE5Li41
MDJiZjI3NmRhYTVjMGRhODAzNThiYTYyOTBjZDMxNDlkYjlhMWVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2Qu
Y3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRXJyb3IuaD4K
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0pTR2xvYmFsT2JqZWN0Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNPYmplY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0pTSFRNTEVsZW1lbnQuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvTm90SW1wbGVtZW50ZWQuaD4KQEAgLTQxLDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogY29uc3QgQ2xhc3NJbmZvIEpTTlBNZXRob2Q6OnNfaW5mbyA9IHsgIk5QTWV0aG9kIiwg
JkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCB9OwogCi1KU05QTWV0aG9kOjpKU05QTWV0
aG9kKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3Qg
SWRlbnRpZmllciYgbmFtZSwgTlBJZGVudGlmaWVyIG5wSWRlbnRpZmllciwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGds
b2JhbE9iamVjdCwgc3RydWN0dXJlLCBuYW1lKQorSlNOUE1ldGhvZDo6SlNOUE1ldGhvZChFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lLCBOUElkZW50aWZpZXIgbnBJZGVudGlmaWVy
KQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAs
IG1fbnBJZGVudGlmaWVyKG5wSWRlbnRpZmllcikKIHsKLSAgICBBU1NFUlQoaW5oZXJpdHMoJnNf
aW5mbykpOworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2Jq
ZWN0LCBuYW1lKTsKIH0KIAotSlNOUE1ldGhvZCogSlNOUE1ldGhvZDo6Y3JlYXRlKEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYg
aWRlbnQsIE5QSWRlbnRpZmllciBucElkZW50KQordm9pZCBKU05QTWV0aG9kOjpmaW5pc2hDcmVh
dGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7Ci0gICAgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdC0+
ZnVuY3Rpb25Qcm90b3R5cGUoKSk7Ci0gICAgcmV0dXJuIG5ldyAoSlNDOjphbGxvY2F0ZUNlbGw8
SlNOUE1ldGhvZD4oKmV4ZWMtPmhlYXAoKSkpIEpTTlBNZXRob2QoZXhlYywgZ2xvYmFsT2JqZWN0
LCBpZGVudCwgbnBJZGVudCwgc3RydWN0dXJlKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihn
bG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIG5hbWUpOworICAgIEFTU0VSVChpbmhlcml0cygmc19p
bmZvKSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxNZXRo
b2QoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmgKaW5kZXggYmIzNzI5ZDgxMGU3ZjgzNDZi
YjI1NDg3YWE0OTU5ZDNhMGVhNjNlOS4uNGJkYTkwOGEzYzMyN2NmYzhkN2JlMmRlMjgwMGNkZGEx
NmI5ZjliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL0pTTlBNZXRob2QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIEpTTlBN
ZXRob2RfaAogI2RlZmluZSBKU05QTWV0aG9kX2gKIAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0Z1bmN0aW9uUHJvdG90eXBlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW50ZXJuYWxG
dW5jdGlvbi5oPgogCiB0eXBlZGVmIHZvaWQqIE5QSWRlbnRpZmllcjsKQEAgLTM3LDE0ICszOCwy
MSBAQCBjbGFzcyBKU05QTWV0aG9kIDogcHVibGljIEpTQzo6SW50ZXJuYWxGdW5jdGlvbiB7CiBw
dWJsaWM6CiAgICAgdHlwZWRlZiBKU0M6OkludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0
YXRpYyBKU05QTWV0aG9kKiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiwgTlBJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMg
SlNOUE1ldGhvZCogY3JlYXRlKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgaWRlbnQsIE5QSWRlbnRp
ZmllciBucElkZW50KQorICAgIHsKKyAgICAgICAgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IGNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdC0+ZnVuY3Rp
b25Qcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBuZXcgKEpTQzo6YWxsb2NhdGVDZWxsPEpT
TlBNZXRob2Q+KCpleGVjLT5oZWFwKCkpKSBKU05QTWV0aG9kKGV4ZWMsIGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlLCBpZGVudCwgbnBJZGVudCk7CisgICAgfQogCiAgICAgc3RhdGljIGNvbnN0IEpT
Qzo6Q2xhc3NJbmZvIHNfaW5mbzsKIAogICAgIE5QSWRlbnRpZmllciBucElkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX25wSWRlbnRpZmllcjsgfQogCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihKU0M6OkpTR2xvYmFsRGF0YSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBj
b25zdCBKU0M6OklkZW50aWZpZXImIG5hbWUpOworCiBwcml2YXRlOiAgICAKLSAgICBKU05QTWV0
aG9kKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IEpTQzo6SWRl
bnRpZmllciYsIE5QSWRlbnRpZmllciwgSlNDOjpTdHJ1Y3R1cmUqKTsKKyAgICBKU05QTWV0aG9k
KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6U3RydWN0dXJlKiwg
Y29uc3QgSlNDOjpJZGVudGlmaWVyJiwgTlBJZGVudGlmaWVyKTsKIAogICAgIHN0YXRpYyBKU0M6
OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcAppbmRleCAy
MjkxMGY1Y2E0NzY3NjY1YWEzOGZjOGVjNGRjZGNlOTVmYWZkYWYzLi45OWEzYjg4N2VhYmZhNWYx
ZjVkMjE0ZDU5NGYzMzQzZjE2OGU5MDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuY3BwCkBAIC01MCwxMiAr
NTAsMTEgQEAgc3RhdGljIE5QSWRlbnRpZmllciBucElkZW50aWZpZXJGcm9tSWRlbnRpZmllcihj
b25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyKQogCiBjb25zdCBDbGFzc0luZm8gSlNOUE9iamVj
dDo6c19pbmZvID0geyAiTlBPYmplY3QiLCAmSlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0OjpzX2lu
Zm8sIDAsIDAgfTsKIAotSlNOUE9iamVjdDo6SlNOUE9iamVjdChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwgTlBPYmplY3QqIG5wT2Jq
ZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK0pTTlBPYmplY3Q6OkpTTlBPYmplY3QoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE5QUnVudGltZU9i
amVjdE1hcCogb2JqZWN0TWFwLCBOUE9iamVjdCogbnBPYmplY3QpCiAgICAgOiBKU09iamVjdFdp
dGhHbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBtX29iamVjdE1h
cChvYmplY3RNYXApCiAgICAgLCBtX25wT2JqZWN0KG5wT2JqZWN0KQogewotICAgIGZpbmlzaENy
ZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgSlNOUE9iamVjdDo6ZmluaXNoQ3JlYXRp
b24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKQEAgLTY5LDEyICs2OCw2IEBAIHZvaWQg
SlNOUE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
ICAgICByZXRhaW5OUE9iamVjdChtX25wT2JqZWN0KTsKIH0KIAotSlNOUE9iamVjdCogSlNOUE9i
amVjdDo6Y3JlYXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTlBSdW50aW1l
T2JqZWN0TWFwKiBvYmplY3RNYXAsIE5QT2JqZWN0KiBucE9iamVjdCkKLXsKLSAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGNyZWF0ZVN0cnVjdHVyZShnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEo
KSwgZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKSk7Ci0gICAgcmV0dXJuIG5ldyAoSlND
OjphbGxvY2F0ZUNlbGw8SlNOUE9iamVjdD4oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCkuaGVh
cCkpIEpTTlBPYmplY3QoZ2xvYmFsT2JqZWN0LCBvYmplY3RNYXAsIG5wT2JqZWN0LCBzdHJ1Y3R1
cmUpOwotfQotCiBKU05QT2JqZWN0Ojp+SlNOUE9iamVjdCgpCiB7CiAgICAgQVNTRVJUKCFtX25w
T2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9KU05QT2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvSlNOUE9iamVjdC5oCmluZGV4IDc1ODIyYzNjNTk2NzNkOGNkYjdhNDdiZWJjODYx
ZDNiZDhiNjliZGIuLmRkNDExM2M5NzAxYjRmOWNjZTE5ZDlmOGNlZmQ2ODY4OTZlMTlmZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05Q
T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L0pTTlBPYmplY3QuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBKU05QT2JqZWN0X2gKIAog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0V2l0aEdsb2JhbE9iamVjdC5oPgorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL09iamVjdFByb3RvdHlwZS5oPgogCiB0eXBlZGVmIHZvaWQq
IE5QSWRlbnRpZmllcjsKIHN0cnVjdCBOUE9iamVjdDsKQEAgLTQxLDcgKzQyLDE0IEBAIGNsYXNz
IEpTTlBPYmplY3QgOiBwdWJsaWMgSlNDOjpKU09iamVjdFdpdGhHbG9iYWxPYmplY3QgewogcHVi
bGljOgogICAgIHR5cGVkZWYgSlNDOjpKU09iamVjdFdpdGhHbG9iYWxPYmplY3QgQmFzZTsKIAot
ICAgIHN0YXRpYyBKU05QT2JqZWN0KiBjcmVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIE5QUnVu
dGltZU9iamVjdE1hcCosIE5QT2JqZWN0Kik7CisgICAgc3RhdGljIEpTTlBPYmplY3QqIGNyZWF0
ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE5QUnVudGltZU9iamVjdE1hcCog
b2JqZWN0TWFwLCBOUE9iamVjdCogbnBPYmplY3QpCisgICAgeworICAgICAgICBKU0M6OlN0cnVj
dHVyZSogc3RydWN0dXJlID0gY3JlYXRlU3RydWN0dXJlKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0
YSgpLCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKTsKKyAgICAgICAgSlNOUE9iamVj
dCogb2JqZWN0ID0gbmV3IChKU0M6OmFsbG9jYXRlQ2VsbDxKU05QT2JqZWN0PihnbG9iYWxPYmpl
Y3QtPmdsb2JhbERhdGEoKS5oZWFwKSkgSlNOUE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgb2JqZWN0TWFwLCBucE9iamVjdCk7CisgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIG9iamVjdDsKKyAgICB9CisKICAgICB+SlNO
UE9iamVjdCgpOwogCiAgICAgdm9pZCBpbnZhbGlkYXRlKCk7CkBAIC02MSw3ICs2OSw3IEBAIHBy
b3RlY3RlZDoKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6SlNHbG9iYWxPYmplY3QqKTsK
IAogcHJpdmF0ZToKLSAgICBKU05QT2JqZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBOUFJ1bnRp
bWVPYmplY3RNYXAqLCBOUE9iamVjdCosIEpTQzo6U3RydWN0dXJlKik7CisgICAgSlNOUE9iamVj
dChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBOUFJ1bnRpbWVPYmplY3RN
YXAqLCBOUE9iamVjdCopOwogCiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZs
YWdzID0gSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBKU0M6Ok92ZXJyaWRlc0dl
dFByb3BlcnR5TmFtZXMgfCBKU09iamVjdDo6U3RydWN0dXJlRmxhZ3M7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106274</attachid>
            <date>2011-09-03 19:55:49 -0700</date>
            <delta_ts>2011-09-03 21:59:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67420-20110903195539.patch</filename>
            <type>text/plain</type>
            <size>121432</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ0OTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRleCA5NTA0YWQ4MGQ4NTNmM2M2NTVm
ODQyOGQ3ZDE2YTY1ZmVjYjgzMDc3Li42YTA5OTM0ZmNjYjYwYTM4ZmNmYmQ0MmU5MzU2ZTkxZGI3
OWY5YjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwCkBAIC00Myw3ICs0Myw2IEBAIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6
SlNDYWxsYmFja0NvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
CiAgICAgLCBtX2NsYXNzKGpzQ2xhc3MpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCwganNDbGFzcyk7CiB9CiAKIHZvaWQgSlND
YWxsYmFja0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NsYXNzUmVmIGpzQ2xhc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAppbmRleCA5MTE5MWRiNWY5Njc5OWUyMGNhNDZl
OTEwMTRlNWVhNGFjNjY4Y2Q3Li44YWNkNjA1YjBhYTQ1ZTlmNzA3NDk3NTJkNzI3ODRkN2I0NDg2
ZWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmgKQEAgLTM3LDcgKzM3LDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIEpTQ2FsbGJh
Y2tDb25zdHJ1Y3RvciogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQ2xhc3NSZWYgY2xhc3NSZWYsIEpT
T2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayBjYWxsYmFjaykgCiAgICAgewotICAgICAg
ICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBKU0NhbGxiYWNrQ29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0LCBjbGFzc1JlZik7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAg
ICB9CiAgICAgCiAgICAgdmlydHVhbCB+SlNDYWxsYmFja0NvbnN0cnVjdG9yKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKaW5kZXggMjhi
MzQxOTIzZGMzNTBlNDNmODhlYzk3MjBkY2U1YjM0M2RiYzRhNy4uY2M1NTYxZmFmZDRiYTQzZWQy
MTk5NTAxY2NkMWE1YWRiNDg4MjNiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcApAQCAtNDMsOSArNDMsMTUgQEAgQVNTRVJUX0NMQVNT
X0ZJVFNfSU5fQ0VMTChKU0NhbGxiYWNrRnVuY3Rpb24pOwogY29uc3QgQ2xhc3NJbmZvIEpTQ2Fs
bGJhY2tGdW5jdGlvbjo6c19pbmZvID0geyAiQ2FsbGJhY2tGdW5jdGlvbiIsICZJbnRlcm5hbEZ1
bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAogSlNDYWxsYmFja0Z1bmN0aW9uOjpKU0NhbGxiYWNr
RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2Jh
bE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCksIG5hbWUp
CisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxs
YmFja0Z1bmN0aW9uU3RydWN0dXJlKCkpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewor
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBuYW1l
KTsKK30KKwordm9pZCBKU0NhbGxiYWNrRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRl
bnRpZmllciYgbmFtZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBn
bG9iYWxPYmplY3QsIG5hbWUpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9u
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5oCmluZGV4
IDFkN2EwYTk4YWUwNDQzOTUwN2Q3N2NkMWU4YjM2MGRhNDM1NWFhZWMuLmFjNTViMmI1ZTE5MTFh
NDliNGJmZmUyZTMxMzI5YzIwZTg4MTI1ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uaApAQCAtMzQsNiArMzQsNyBAQCBuYW1lc3BhY2UgSlND
IHsKIGNsYXNzIEpTQ2FsbGJhY2tGdW5jdGlvbiA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsK
IHByb3RlY3RlZDoKICAgICBKU0NhbGxiYWNrRnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgSlNHbG9iYWxP
YmplY3QqLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKIAogcHVibGljOgogICAgIHR5cGVkZWYg
SW50ZXJuYWxGdW5jdGlvbiBCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggZWIwOWQy
ODJlMDkyM2IzNjMxODA2YmYxNmQ5YTc0YzE2NjFkZjlmMC4uM2ZlMDQzODg0YTZjYTMwMTZmNzI3
NjAwNmQyZTRjYzM0MDUyMzJhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYzIEBACisyMDExLTA5LTAzICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9y
cyBpbiBKU0NlbGwgaGllcmFyY2h5ICg1LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENvbXBsZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2YgdGhlIHJlZmFj
dG9yaW5nIHRvIGFkZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBj
bGFzc2VzIHdpdGhpbiB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAg
ICAgICBjb25zdHJ1Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lz
dHMgb2YgcHVzaGluZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAg
ICBpbnRvIHRoZSBjb25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBs
ZXZlbCBvZiB0aGUgaGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZp
bmlzaENyZWF0aW9uKCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZwor
ICAgICAgICBjcmVhdGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0
YW5lb3VzbHkgYWxsb3dzIHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRo
YXQgdGhlIGZpbmlzaENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAor
ICAgICAgICBvbmNlIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxs
aW5nIGl0IGFueSBvdGhlciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3Jl
KSB3aWxsIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogQVBJL0pTQ2Fs
bGJhY2tDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rv
cjo6SlNDYWxsYmFja0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToK
KyAgICAgICAgKiBBUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlND
YWxsYmFja0Z1bmN0aW9uOjpKU0NhbGxiYWNrRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpKU0Nh
bGxiYWNrRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFj
a0Z1bmN0aW9uLmg6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIEph
dmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6Cisg
ICAgICAgICogZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKiBkZWJ1
Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaDoKKyAgICAgICAgKEpTQzo6RGVidWdnZXJBY3RpdmF0
aW9uOjpjcmVhdGUpOgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChHbG9iYWxPYmplY3Q6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEdsb2JhbE9iamVjdDo6R2xvYmFsT2JqZWN0KToK
KyAgICAgICAgKiBydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpB
cnJheUNvbnN0cnVjdG9yOjpBcnJheUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6QXJyYXlD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAg
ICAoSlNDOjpBcnJheVByb3RvdHlwZTo6QXJyYXlQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRp
bWUvQXJyYXlQcm90b3R5cGUuaDoKKyAgICAgICAgKEpTQzo6QXJyYXlQcm90b3R5cGU6OmNyZWF0
ZSk6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAo
SlNDOjpCb29sZWFuQ29uc3RydWN0b3I6OkJvb2xlYW5Db25zdHJ1Y3Rvcik6CisgICAgICAgIChK
U0M6OkJvb2xlYW5Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRp
bWUvQm9vbGVhbkNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0
LmNwcDoKKyAgICAgICAgKEpTQzo6Qm9vbGVhbk9iamVjdDo6Qm9vbGVhbk9iamVjdCk6CisgICAg
ICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkJvb2xlYW5PYmpl
Y3Q6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcDoKKyAg
ICAgICAgKEpTQzo6Qm9vbGVhblByb3RvdHlwZTo6Qm9vbGVhblByb3RvdHlwZSk6CisgICAgICAg
IChKU0M6OkJvb2xlYW5Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50
aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rv
ci5jcHA6CisgICAgICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6RGF0ZUNvbnN0cnVjdG9yKToK
KyAgICAgICAgKEpTQzo6RGF0ZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVJbnN0
YW5jZS5jcHA6CisgICAgICAgIChKU0M6OkRhdGVJbnN0YW5jZTo6RGF0ZUluc3RhbmNlKToKKyAg
ICAgICAgKiBydW50aW1lL0RhdGVJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpEYXRlSW5zdGFu
Y2U6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcDoKKyAgICAg
ICAgKEpTQzo6RGF0ZVByb3RvdHlwZTo6RGF0ZVByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkRh
dGVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0RhdGVQcm90
b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3Ry
aWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uOjpTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pOgor
ICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkVy
cm9yQ29uc3RydWN0b3I6OkVycm9yQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpFcnJvckNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9FcnJvckNvbnN0
cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAg
IChKU0M6OkVycm9yUHJvdG90eXBlOjpFcnJvclByb3RvdHlwZSk6CisgICAgICAgICogcnVudGlt
ZS9FcnJvclByb3RvdHlwZS5oOgorICAgICAgICAoSlNDOjpFcnJvclByb3RvdHlwZTo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAo
SlNDOjpGdW5jdGlvbkNvbnN0cnVjdG9yOjpGdW5jdGlvbkNvbnN0cnVjdG9yKToKKyAgICAgICAg
KEpTQzo6RnVuY3Rpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6RnVuY3Rpb25Q
cm90b3R5cGUpOgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaDoKKyAgICAgICAgKiBy
dW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpJbnRlcm5hbEZ1bmN0
aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rp
b24uaDoKKyAgICAgICAgKiBydW50aW1lL0pTQWN0aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0M6
OkpTQWN0aXZhdGlvbjo6SlNBY3RpdmF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTQWN0aXZh
dGlvbi5oOgorICAgICAgICAoSlNDOjpKU0FjdGl2YXRpb246OmNyZWF0ZSk6CisgICAgICAgICog
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6
Y3JlYXRlKToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OkpTR2xvYmFsT2JqZWN0KToK
KyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09OT2Jq
ZWN0OjpKU09OT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuaDoKKyAgICAg
ICAgKEpTQzo6SlNPTk9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTU3RhdGlj
U2NvcGVPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6Y3JlYXRl
KToKKyAgICAgICAgKEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6SlNTdGF0aWNTY29wZU9iamVj
dCk6CisgICAgICAgICogcnVudGltZS9KU1N0cmluZy5jcHA6CisgICAgICAgIChKU0M6OlN0cmlu
Z09iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpNYXRoT2JqZWN0OjpNYXRoT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL01h
dGhPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6TWF0aE9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAg
KiBydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpOYXRp
dmVFcnJvckNvbnN0cnVjdG9yOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBy
dW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TmF0aXZlRXJy
b3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZl
RXJyb3JQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlwZTo6
TmF0aXZlRXJyb3JQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlw
ZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5
cGUuaDoKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAg
KEpTQzo6TnVtYmVyQ29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpT
Qzo6TnVtYmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L051bWJlckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJPYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpOdW1iZXJPYmplY3Q6Ok51bWJlck9iamVjdCk6CisgICAgICAgICog
cnVudGltZS9OdW1iZXJPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6TnVtYmVyT2JqZWN0OjpjcmVh
dGUpOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpT
Qzo6TnVtYmVyUHJvdG90eXBlOjpOdW1iZXJQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOdW1i
ZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL051bWJlclBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpPYmplY3RDb25zdHJ1Y3Rvcjo6T2JqZWN0Q29uc3RydWN0b3IpOgorICAgICAg
ICAoSlNDOjpPYmplY3RDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0
cnVjdG9yKToKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKEpTQzo6UmVnRXhwTWF0Y2hlc0FycmF5OjpSZWdFeHBNYXRjaGVzQXJyYXkp
OgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50
aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJy
YXk6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpSZWdFeHBPYmplY3Q6OlJlZ0V4cE9iamVjdCk6CisgICAgICAgICogcnVudGltZS9S
ZWdFeHBPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6UmVnRXhwT2JqZWN0OjpjcmVhdGUpOgorICAg
ICAgICAqIHJ1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhw
UHJvdG90eXBlOjpSZWdFeHBQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29u
c3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29u
c3RydWN0b3IpOgorICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBy
dW50aW1lL1N0cmluZ09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6U3Ry
aW5nT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdC5oOgorICAgICAgICAo
SlNDOjpTdHJpbmdPYmplY3Q6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdPYmpl
Y3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZC5oOgorICAgICAgICAoSlNDOjpTdHJpbmdPYmpl
Y3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZDo6U3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVz
QXNVbmRlZmluZWQpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcDoKKyAg
ICAgICAgKEpTQzo6U3RyaW5nUHJvdG90eXBlOjpTdHJpbmdQcm90b3R5cGUpOgorICAgICAgICAo
SlNDOjpTdHJpbmdQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L1N0cmluZ1Byb3RvdHlwZS5oOgorCiAyMDExLTA5LTAzICBLZXZpbiBPbGxpdmllciAgPGtldmlu
b0B0aGVvbGxpdmllcnMuY29tPgogCiAgICAgICAgIFt3eF0gVW5yZXZpZXdlZCBidWlsZCBmaXgu
IEFkZCB3dGYvZHRvYSBkaXJlY3RvcnkgdG8gYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLmV4cAppbmRleCA2ZTQ4OWJiODBmZDMwN2VkMDM3NDA5NjNiNzNjYjY2MTIx
N2NlMjFiLi5kNDM2NjVmNjJhNDEyNjhlOTRlMWVlMDVhN2QzMjIxMmYzMWRhMmNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTEyMyw4ICsxMjMsMTAgQEAg
X19aTjNKU0MxMVBhcnNlckFyZW5hNXJlc2V0RXYKIF9fWk4zSlNDMTFjaGVja1N5bnRheEVQTlNf
OUV4ZWNTdGF0ZUVSS05TXzEwU291cmNlQ29kZUUKIF9fWk4zSlNDMTFjcmVhdGVFcnJvckVQTlNf
OUV4ZWNTdGF0ZUVSS05TXzdVU3RyaW5nRQogX19aTjNKU0MxMXJlZ0V4cEZsYWdzRVJLTlNfN1VT
dHJpbmdFCitfX1pOM0pTQzEyRGF0ZUluc3RhbmNlMTRmaW5pc2hDcmVhdGlvbkVSTlNfMTJKU0ds
b2JhbERhdGFFZAorX19aTjNKU0MxMkRhdGVJbnN0YW5jZTZjcmVhdGVFUE5TXzlFeGVjU3RhdGVF
UE5TXzlTdHJ1Y3R1cmVFZAogX19aTjNKU0MxMkRhdGVJbnN0YW5jZTZzX2luZm9FCi1fX1pOM0pT
QzEyRGF0ZUluc3RhbmNlQzFFUE5TXzlFeGVjU3RhdGVFUE5TXzlTdHJ1Y3R1cmVFZAorX19aTjNK
U0MxMkRhdGVJbnN0YW5jZUMxRVBOU185RXhlY1N0YXRlRVBOU185U3RydWN0dXJlRQogX19aTjNK
U0MxMkpTR2xvYmFsRGF0YTEwQ2xpZW50RGF0YUQyRXYKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGEx
MWpzQXJyYXlWUHRyRQogX19aTjNKU0MxMkpTR2xvYmFsRGF0YTEyY3JlYXRlTGVha2VkRU5TXzE1
VGhyZWFkU3RhY2tUeXBlRU5TXzhIZWFwU2l6ZUUKQEAgLTEzOCwxOSArMTQwLDIxIEBAIF9fWk4z
SlNDMTJKU0dsb2JhbERhdGExNWR1bXBSZWdFeHBUcmFjZUV2CiBfX1pOM0pTQzEySlNHbG9iYWxE
YXRhMjJjbGVhckJ1aWx0aW5TdHJ1Y3R1cmVzRXYKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGE2Y3Jl
YXRlRU5TXzE1VGhyZWFkU3RhY2tUeXBlRU5TXzhIZWFwU2l6ZUUKIF9fWk4zSlNDMTJKU0dsb2Jh
bERhdGFEMUV2CitfX1pOM0pTQzEyUmVnRXhwT2JqZWN0MTRmaW5pc2hDcmVhdGlvbkVQTlNfMTRK
U0dsb2JhbE9iamVjdEUKIF9fWk4zSlNDMTJSZWdFeHBPYmplY3Q2c19pbmZvRQogX19aTjNKU0Mx
MlJlZ0V4cE9iamVjdEMxRVBOU18xNEpTR2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJlRVBOU182
UmVnRXhwRQogX19aTjNKU0MxMlNhbXBsaW5nVG9vbDVzZXR1cEV2CiBfX1pOM0pTQzEyU21hbGxT
dHJpbmdzMTdjcmVhdGVFbXB0eVN0cmluZ0VQTlNfMTJKU0dsb2JhbERhdGFFCiBfX1pOM0pTQzEy
U21hbGxTdHJpbmdzMjdjcmVhdGVTaW5nbGVDaGFyYWN0ZXJTdHJpbmdFUE5TXzEySlNHbG9iYWxE
YXRhRWgKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxNGRlbGV0ZVByb3BlcnR5RVBOU185RXhlY1N0
YXRlRVJLTlNfMTBJZGVudGlmaWVyRQorX19aTjNKU0MxMlN0cmluZ09iamVjdDE0ZmluaXNoQ3Jl
YXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRVBOU184SlNTdHJpbmdFCiBfX1pOM0pTQzEyU3RyaW5n
T2JqZWN0MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZp
ZXJFUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0MxMlN0cmluZ09iamVjdDE4Z2V0T3duUHJv
cGVydHlTbG90RVBOU185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzEy
U3RyaW5nT2JqZWN0MTlnZXRPd25Qcm9wZXJ0eU5hbWVzRVBOU185RXhlY1N0YXRlRVJOU18xN1By
b3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25Nb2RlRQogX19aTjNKU0MxMlN0cmluZ09i
amVjdDI0Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVu
dGlmaWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3Qz
cHV0RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVlRVJOU18xNVB1
dFByb3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3Q2c19pbmZvRQotX19aTjNKU0Mx
MlN0cmluZ09iamVjdEMyRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfOVN0cnVjdHVyZUVQTlNfOEpT
U3RyaW5nRQorX19aTjNKU0MxMlN0cmluZ09iamVjdEMyRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNf
OVN0cnVjdHVyZUUKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdzNHN0b3BFdgogX19aTjNKU0MxM1Nh
bXBsaW5nRmxhZ3M1c3RhcnRFdgogX19aTjNKU0MxM1NhbXBsaW5nRmxhZ3M3c19mbGFnc0UKQEAg
LTE4MSw5ICsxODUsMTAgQEAgX19aTjNKU0MxNVdlYWtIYW5kbGVPd25lcjhmaW5hbGl6ZUVOU182
SGFuZGxlSU5TXzdVbmtub3duRUVFUHYKIF9fWk4zSlNDMTVXZWFrSGFuZGxlT3duZXJEMkV2CiBf
X1pOM0pTQzE1Y3JlYXRlVHlwZUVycm9yRVBOU185RXhlY1N0YXRlRVJLTlNfN1VTdHJpbmdFCiBf
X1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlvbjEydnRhYmxlQW5jaG9yRXYKK19fWk4zSlNDMTZJbnRl
cm5hbEZ1bmN0aW9uMTRmaW5pc2hDcmVhdGlvbkVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzE0SlNH
bG9iYWxPYmplY3RFUktOU18xMElkZW50aWZpZXJFCiBfX1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlv
bjRuYW1lRVBOU185RXhlY1N0YXRlRQogX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb242c19pbmZv
RQotX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb25DMkVQTlNfMTJKU0dsb2JhbERhdGFFUE5TXzE0
SlNHbG9iYWxPYmplY3RFUE5TXzlTdHJ1Y3R1cmVFUktOU18xMElkZW50aWZpZXJFCitfX1pOM0pT
QzE2SW50ZXJuYWxGdW5jdGlvbkMyRVBOU18xNEpTR2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJl
RQogX19aTjNKU0MxNkpTVmFyaWFibGVPYmplY3QxNGRlbGV0ZVByb3BlcnR5RVBOU185RXhlY1N0
YXRlRVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0MxNkpTVmFyaWFibGVPYmplY3QxNHN5bWJv
bFRhYmxlR2V0RVJLTlNfMTBJZGVudGlmaWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckUKIF9f
Wk4zSlNDMTZKU1ZhcmlhYmxlT2JqZWN0MTlnZXRPd25Qcm9wZXJ0eU5hbWVzRVBOU185RXhlY1N0
YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25Nb2RlRQpAQCAtMTk1
LDcgKzIwMCw4IEBAIF9fWk4zSlNDMTdCeXRlY29kZUdlbmVyYXRvcjIxc2V0RHVtcHNHZW5lcmF0
ZWRDb2RlRWIKIF9fWk4zSlNDMTdQcm9wZXJ0eU5hbWVBcnJheTNhZGRFUE4zV1RGMTBTdHJpbmdJ
bXBsRQogX19aTjNKU0MxN2NvbnN0cnVjdEZ1bmN0aW9uRVBOU185RXhlY1N0YXRlRVBOU18xNEpT
R2xvYmFsT2JqZWN0RVJLTlNfN0FyZ0xpc3RFUktOU18xMElkZW50aWZpZXJFUktOU183VVN0cmlu
Z0VpCiBfX1pOM0pTQzE3Y3JlYXRlU3ludGF4RXJyb3JFUE5TXzlFeGVjU3RhdGVFUktOU183VVN0
cmluZ0UKLV9fWk4zSlNDMThEZWJ1Z2dlckFjdGl2YXRpb242Y3JlYXRlRVJOU18xMkpTR2xvYmFs
RGF0YUVQTlNfOEpTT2JqZWN0RQorX19aTjNKU0MxOERlYnVnZ2VyQWN0aXZhdGlvbjE0ZmluaXNo
Q3JlYXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRVBOU184SlNPYmplY3RFCitfX1pOM0pTQzE4RGVi
dWdnZXJBY3RpdmF0aW9uQzFFUk5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MxOFByb3BlcnR5
RGVzY3JpcHRvcjExc2V0V3JpdGFibGVFYgogX19aTjNKU0MxOFByb3BlcnR5RGVzY3JpcHRvcjEy
c2V0VW5kZWZpbmVkRXYKIF9fWk4zSlNDMThQcm9wZXJ0eURlc2NyaXB0b3IxM3NldERlc2NyaXB0
b3JFTlNfN0pTVmFsdWVFagpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLmRlZgppbmRleCAwODBhZjk5YzhkYzgyNDViOTdhYjE0MjM0OTM0N2YxZjlk
ZWQ4YmY2Li4yZDFhMjhmMjEzMDc5MjUwZTEyMzBjY2NmNjNlZmE5Y2M5YWUxYTdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAt
MywxMSArMywxMSBAQCBFWFBPUlRTCiAgICAgPz8wQ1N0cmluZ0BXVEZAQFFBRUBQQkRAWgogICAg
ID8/MENTdHJpbmdAV1RGQEBRQUVAUEJESUBaCiAgICAgPz8wQ29sbGF0b3JAV1RGQEBRQUVAUEJE
QFoKLSAgICA/PzBEYXRlSW5zdGFuY2VASlNDQEBJQUVAUEFWRXhlY1N0YXRlQDFAUEFWU3RydWN0
dXJlQDFATkBaCisgICA/PzBEYXRlSW5zdGFuY2VASlNDQEBJQUVAUEFWRXhlY1N0YXRlQDFAUEFW
U3RydWN0dXJlQDFAQFoKICAgICA/PzBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrQEpTQ0BAUUFF
QFBBVkhlYXBAMUBAWgogICAgID8/MERyb3BBbGxMb2Nrc0BKU0xvY2tASlNDQEBRQUVAVzRKU0xv
Y2tCZWhhdmlvckAyQEBaCi0gICAgPz8wRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlQEpTQ0BAUUFF
QEFBVkpTR2xvYmFsRGF0YUAxQFBBVkpTR2xvYmFsT2JqZWN0QDFAQFogIAotICAgID8/MEludGVy
bmFsRnVuY3Rpb25ASlNDQEBJQUVAUEFWSlNHbG9iYWxEYXRhQDFAUEFWSlNHbG9iYWxPYmplY3RA
MUBQQVZTdHJ1Y3R1cmVAMUBBQlZJZGVudGlmaWVyQDFAQFoKKyAgICA/PzBEeW5hbWljR2xvYmFs
T2JqZWN0U2NvcGVASlNDQEBRQUVAQUFWSlNHbG9iYWxEYXRhQDFAUEFWSlNHbG9iYWxPYmplY3RA
MUBAWiAKKyAgID8/MEludGVybmFsRnVuY3Rpb25ASlNDQEBJQUVAUEFWSlNHbG9iYWxPYmplY3RA
MUBQQVZTdHJ1Y3R1cmVAMUBAWgogICAgID8/MEpTQXJyYXlASlNDQEBJQUVAQUFWSlNHbG9iYWxE
YXRhQDFAUEFWU3RydWN0dXJlQDFAQFoKICAgICA/PzBKU0J5dGVBcnJheUBKU0NAQEFBRUBQQVZF
eGVjU3RhdGVAMUBQQVZTdHJ1Y3R1cmVAMUBQQVZCeXRlQXJyYXlAV1RGQEBAWgogICAgID8/MEpT
RnVuY3Rpb25ASlNDQEBBQUVAUEFWRXhlY1N0YXRlQDFAUEFWSlNHbG9iYWxPYmplY3RAMUBQQVZT
dHJ1Y3R1cmVAMUBAWgpAQCAtMTksNyArMTksNyBAQCBFWFBPUlRTCiAgICAgPz8wUmVmQ291bnRl
ZExlYWtDb3VudGVyQFdURkBAUUFFQFBCREBaCiAgICAgPz8wUmVnRXhwT2JqZWN0QEpTQ0BASUFF
QFBBVkpTR2xvYmFsT2JqZWN0QDFAUEFWU3RydWN0dXJlQDFAUEFWUmVnRXhwQDFAQFoKICAgICA/
PzBTSEExQFdURkBAUUFFQFhaCi0gICAgPz8wU3RyaW5nT2JqZWN0QEpTQ0BASUFFQEFBVkpTR2xv
YmFsRGF0YUAxQFBBVlN0cnVjdHVyZUAxQFBBVkpTU3RyaW5nQDFAQFoKKyAgID8/MFN0cmluZ09i
amVjdEBKU0NAQElBRUBBQVZKU0dsb2JhbERhdGFAMUBQQVZTdHJ1Y3R1cmVAMUBAWgogICAgID8/
MFN0cnVjdHVyZUBKU0NAQEFBRUBBQVZKU0dsb2JhbERhdGFAMUBWSlNWYWx1ZUAxQEFCVlR5cGVJ
bmZvQDFASVBCVUNsYXNzSW5mb0AxQEBaCiAgICAgPz8wVGhyZWFkQ29uZGl0aW9uQFdURkBAUUFF
QFhaCiAgICAgPz8wVVN0cmluZ0BKU0NAQFFBRUBQQkRAWgpAQCAtMTc1LDEwICsxNzUsMTQgQEAg
RVhQT1JUUwogICAgID9mYXN0WmVyb2VkTWFsbG9jQFdURkBAWUFQQVhJQFoKICAgICA/ZmlsbEdl
dHRlclByb3BlcnR5U2xvdEBKU09iamVjdEBKU0NAQFFBRVhBQVZQcm9wZXJ0eVNsb3RAMkBQQVY/
JFdyaXRlQmFycmllckJhc2VAVzRVbmtub3duQEpTQ0BAQDJAQFoKICAgICA/ZmluYWxpemVAV2Vh
a0hhbmRsZU93bmVyQEpTQ0BAVUFFWFY/JEhhbmRsZUBXNFVua25vd25ASlNDQEBAMkBQQVhAWgor
ICAgP2ZpbmlzaENyZWF0aW9uQERhdGVJbnN0YW5jZUBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFA
MkBOQFoKKyAgID9maW5pc2hDcmVhdGlvbkBJbnRlcm5hbEZ1bmN0aW9uQEpTQ0BASUFFWEFBVkpT
R2xvYmFsRGF0YUAyQFBBVkpTR2xvYmFsT2JqZWN0QDJAQUJWSWRlbnRpZmllckAyQEBaCiAgICAg
P2ZpbmlzaENyZWF0aW9uQEpTQXJyYXlASlNDQEBJQUVYQUFWSlNHbG9iYWxEYXRhQDJAQFoKICAg
ICA/ZmluaXNoQ3JlYXRpb25ASlNBcnJheUBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFAMkBBQlZB
cmdMaXN0QDJAQFoKICAgICA/ZmluaXNoQ3JlYXRpb25ASlNGdW5jdGlvbkBKU0NAQElBRVhQQVZF
eGVjU3RhdGVAMkBQQVZKU0dsb2JhbE9iamVjdEAyQEhBQlZJZGVudGlmaWVyQDJAUEFWRXhlY3V0
YWJsZUJhc2VAMkBAWgogICAgID9maW5pc2hDcmVhdGlvbkBKU09iamVjdFdpdGhHbG9iYWxPYmpl
Y3RASlNDQEBJQUVYQUFWSlNHbG9iYWxEYXRhQDJAUEFWSlNHbG9iYWxPYmplY3RAMkBAWgorICAg
P2ZpbmlzaENyZWF0aW9uQFJlZ0V4cE9iamVjdEBKU0NAQElBRVhQQVZKU0dsb2JhbE9iamVjdEAy
QEBaCisgICA/ZmluaXNoQ3JlYXRpb25AU3RyaW5nT2JqZWN0QEpTQ0BASUFFWEFBVkpTR2xvYmFs
RGF0YUAyQFBBVkpTU3RyaW5nQDJAQFoKICAgICA/Zm9jdXNAUHJvZmlsZUBKU0NAQFFBRVhQQlZQ
cm9maWxlTm9kZUAyQEBaCiAgICAgP2Zyb21ASWRlbnRpZmllckBKU0NAQFNBP0FWMTJAUEFWRXhl
Y1N0YXRlQDJASEBaCiAgICAgP2Zyb21ASWRlbnRpZmllckBKU0NAQFNBP0FWMTJAUEFWRXhlY1N0
YXRlQDJASUBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVi
dWdnZXJBY3RpdmF0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1
Z2dlckFjdGl2YXRpb24uY3BwCmluZGV4IGE3MTAxZGNiNmJhYTQwZmY0ZmUwZWZhMzJkMWQ1NWI2
OGE5NDE0ZTUuLmFmNmE1NmY5YmUyYTYwNDc4MmM4NTBjMzFlZjU5ZDJmNDBjZGY1MGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRp
b24uY3BwCkBAIC0zNSwxMyArMzUsNiBAQCBEZWJ1Z2dlckFjdGl2YXRpb246OkRlYnVnZ2VyQWN0
aXZhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCiB7CiB9CiAKLURlYnVnZ2VyQWN0aXZh
dGlvbiogRGVidWdnZXJBY3RpdmF0aW9uOjpjcmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
LCBKU09iamVjdCogb2JqZWN0KQotewotICAgIERlYnVnZ2VyQWN0aXZhdGlvbiogYWN0aXZhdGlv
biA9IG5ldyAoYWxsb2NhdGVDZWxsPERlYnVnZ2VyQWN0aXZhdGlvbj4oZ2xvYmFsRGF0YS5oZWFw
KSkgRGVidWdnZXJBY3RpdmF0aW9uKGdsb2JhbERhdGEpOwotICAgIGFjdGl2YXRpb24tPmZpbmlz
aENyZWF0aW9uKGdsb2JhbERhdGEsIG9iamVjdCk7Ci0gICAgcmV0dXJuIGFjdGl2YXRpb247Ci19
Ci0KIHZvaWQgRGVidWdnZXJBY3RpdmF0aW9uOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTT2JqZWN0KiBhY3RpdmF0aW9uKQogewogICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKGdsb2JhbERhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rl
YnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVn
Z2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oCmluZGV4IGQ4M2IyZjcwZmM0YjBiOGFhNTk5ZGY0MTRj
NWYwNzJhY2Q5ODRkNmQuLjI2OWVhOWM2YjIzY2M3NTYzNDUwZWZjZTQ5OTI4MWI4ZDY2MGU5ZmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2
YXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3Rp
dmF0aW9uLmgKQEAgLTM0LDcgKzM0LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHB1YmxpYzoK
ICAgICAgICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CiAKLSAgICAgICAgc3RhdGlj
IERlYnVnZ2VyQWN0aXZhdGlvbiogY3JlYXRlKEpTR2xvYmFsRGF0YSYsIEpTT2JqZWN0Kik7Cisg
ICAgICAgIHN0YXRpYyBEZWJ1Z2dlckFjdGl2YXRpb24qIGNyZWF0ZShKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIEpTT2JqZWN0KiBvYmplY3QpCisgICAgICAgIHsKKyAgICAgICAgICAgIERlYnVn
Z2VyQWN0aXZhdGlvbiogYWN0aXZhdGlvbiA9IG5ldyAoYWxsb2NhdGVDZWxsPERlYnVnZ2VyQWN0
aXZhdGlvbj4oZ2xvYmFsRGF0YS5oZWFwKSkgRGVidWdnZXJBY3RpdmF0aW9uKGdsb2JhbERhdGEp
OworICAgICAgICAgICAgYWN0aXZhdGlvbi0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgb2Jq
ZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBhY3RpdmF0aW9uOworICAgICAgICB9CisKICAgICAg
ICAgdmlydHVhbCB2b2lkIHZpc2l0Q2hpbGRyZW4oU2xvdFZpc2l0b3ImKTsKICAgICAgICAgdmly
dHVhbCBVU3RyaW5nIGNsYXNzTmFtZSgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0
T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSwgUHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNj
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IGUxMDM3MDkwYmQ4Y2Ex
MjcyNGE1YTZmMTA3ZGIzMWI5NWIxMzM2ZTQuLmUxNGY4MDg3MjMzZDIwYWM4YTlmOTM1MjA2ODE4
N2YzMWUwZDk1MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC0xNTcsOCArMTU3LDkgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgVVN0cmluZyBjbGFzc05hbWUoKSBjb25zdCB7IHJldHVybiAiZ2xv
YmFsIjsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBjb25zdHJ1Y3RvckJvZHkoY29uc3QgVmVj
dG9yPFVTdHJpbmc+JiBhcmd1bWVudHMpCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2Jh
bERhdGEmIGdsb2JhbERhdGEsIGNvbnN0IFZlY3RvcjxVU3RyaW5nPiYgYXJndW1lbnRzKQogICAg
IHsKKyAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhpcyk7CiAgICAg
ICAgIHB1dERpcmVjdEZ1bmN0aW9uKGdsb2JhbEV4ZWMoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKGds
b2JhbEV4ZWMoKSwgdGhpcywgZnVuY3Rpb25TdHJ1Y3R1cmUoKSwgMSwgSWRlbnRpZmllcihnbG9i
YWxFeGVjKCksICJkZWJ1ZyIpLCBmdW5jdGlvbkRlYnVnKSk7CiAgICAgICAgIHB1dERpcmVjdEZ1
bmN0aW9uKGdsb2JhbEV4ZWMoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKGdsb2JhbEV4ZWMoKSwgdGhp
cywgZnVuY3Rpb25TdHJ1Y3R1cmUoKSwgMSwgSWRlbnRpZmllcihnbG9iYWxFeGVjKCksICJwcmlu
dCIpLCBmdW5jdGlvblByaW50KSk7CiAgICAgICAgIHB1dERpcmVjdEZ1bmN0aW9uKGdsb2JhbEV4
ZWMoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKGdsb2JhbEV4ZWMoKSwgdGhpcywgZnVuY3Rpb25TdHJ1
Y3R1cmUoKSwgMCwgSWRlbnRpZmllcihnbG9iYWxFeGVjKCksICJxdWl0IiksIGZ1bmN0aW9uUXVp
dCkpOwpAQCAtMTkwLDcgKzE5MSw3IEBAIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoR2xvYmFs
T2JqZWN0KTsKIEdsb2JhbE9iamVjdDo6R2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFZlY3RvcjxVU3RyaW5nPiYgYXJndW1l
bnRzKQogICAgIDogSlNHbG9iYWxPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQogewotICAg
IGNvbnN0cnVjdG9yQm9keShhcmd1bWVudHMpOworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERh
dGEsIGFyZ3VtZW50cyk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rp
b25QcmludChFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCmluZGV4IGZkOWU3MWQ3ZDJjMmFjMzg5NWEyNmU0
MmI5YmIwMmYyNDM3MjJiZWIuLjUyMWZjYmI4ODYyODA0MDBhY2E0NDViODE3YjcwMDM2YjU5ZjQx
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3Ry
dWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3Ry
dWN0b3IuY3BwCkBAIC01Miw4ICs1MiwxNCBAQCBjb25zdCBDbGFzc0luZm8gQXJyYXlDb25zdHJ1
Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pbgogQVNT
RVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChBcnJheUNvbnN0cnVjdG9yKTsKIAogQXJyYXlDb25zdHJ1
Y3Rvcjo6QXJyYXlDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBBcnJheVByb3RvdHlwZSogYXJyYXlQ
cm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGds
b2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIGFycmF5UHJvdG90eXBlLT5j
bGFzc0luZm8oKS0+Y2xhc3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2Jq
ZWN0LCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0
LCBhcnJheVByb3RvdHlwZSk7Cit9CisKK3ZvaWQgQXJyYXlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBBcnJh
eVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIoZXhlYywgYXJyYXlQ
cm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90
b3R5cGUsIGFycmF5UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7
CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVj
LT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RW51
bSB8IERvbnREZWxldGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlDb25zdHJ1Y3Rvci5oCmluZGV4IDZjOTgxMzA3ZWRkYjlhNDVhMTFlN2M1NDczNDc1MTQ0
Yjg2Mjk4NjEuLjJmODE3ZmNkNWFiNGEwYWM1YmY1YjhkMzM5NTFiNDhmMDQ2Y2NhMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKQEAg
LTQ0LDYgKzQ0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3Rl
ZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVj
dCosIEFycmF5UHJvdG90eXBlKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rp
b246OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCA5OTY3NGJiMjNiNDk4MThi
MmYzYTM0ODRjMjY2ZTAxMzlkODZlZjQ2Li40MmY0MWE2MzFkNDljZjNkY2U5Y2E4ZmQ3ZTZiNmRh
OGQ1NjQzNjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQ
cm90b3R5cGUuY3BwCkBAIC0xMTcsNyArMTE3LDYgQEAgY29uc3QgQ2xhc3NJbmZvIEFycmF5UHJv
dG90eXBlOjpzX2luZm8gPSB7IkFycmF5IiwgJkpTQXJyYXk6OnNfaW5mbywgMCwgRXhlY1N0YXQK
IEFycmF5UHJvdG90eXBlOjpBcnJheVByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTQXJyYXkoZ2xvYmFsT2JqZWN0LT5n
bG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmpl
Y3QpOwogfQogCiB2b2lkIEFycmF5UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmgKaW5kZXggOWE2MjhlMGM2OTNjYTlkNzdlNzc2YTg2YTk5ZDgyYTMwNWI3
YzdiOC4uNGRkNjY5YThhNTNjNWZjNGQ2YzUxZjI3MmU4MjQxMDAwYWI3NjUwNyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCkBAIC0zNSw3ICsz
NSw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBBcnJheVByb3RvdHlwZSog
Y3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFs
bG9jYXRlQ2VsbDxBcnJheVByb3RvdHlwZT4oKmV4ZWMtPmhlYXAoKSkpIEFycmF5UHJvdG90eXBl
KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIEFycmF5UHJvdG90eXBlKiBw
cm90b3R5cGUgPSBuZXcgKGFsbG9jYXRlQ2VsbDxBcnJheVByb3RvdHlwZT4oKmV4ZWMtPmhlYXAo
KSkpIEFycmF5UHJvdG90eXBlKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKTsKKyAgICAgICAgICAg
IHByb3RvdHlwZS0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJl
dHVybiBwcm90b3R5cGU7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGJvb2wgZ2V0T3du
UHJvcGVydHlTbG90KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eVNsb3Qm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25z
dHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3Ry
dWN0b3IuY3BwCmluZGV4IGVmNjI0MGU3OTI1YTE1NzRmOTRjZTk4ZjllMTk1NmU3Y2RmNDc4MGYu
LjJkYjQyODY1NzE4NjNmOWZhZjZkODVlMDRhYTY4MDdjODFhOWU2M2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcApAQCAt
MjksOCArMjksMTQgQEAgbmFtZXNwYWNlIEpTQyB7CiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxM
KEJvb2xlYW5Db25zdHJ1Y3Rvcik7CiAKIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6Qm9vbGVhbkNvbnN0
cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEJvb2xlYW5Qcm90b3R5cGUqIGJvb2xlYW5Qcm90b3R5cGUpCi0g
ICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIGJvb2xlYW5Qcm90b3R5cGUtPmNsYXNzSW5mbygp
LT5jbGFzc05hbWUpKQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVj
dHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIGJvb2xlYW5Q
cm90b3R5cGUpOworfQorCit2b2lkIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24o
RXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBCb29sZWFuUHJv
dG90eXBlKiBib29sZWFuUHJvdG90eXBlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4
ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyKGV4ZWMsIGJvb2xlYW5Q
cm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90
b3R5cGUsIGJvb2xlYW5Qcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KTsKIAogICAgIC8vIG5vLiBvZiBhcmd1bWVudHMgZm9yIGNvbnN0cnVjdG9yCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCmluZGV4IGU3
ZWE1ODNkOGM3YTVmNDJjZGViYThlZTNiZWI2OGFhN2VkN2FiNWYuLmU5NzMxMDlhNWZjMTcxM2I2
ZjNmYTllMTU4YjUyMzFiMzU0MmRjYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCkBAIC0zNiw2ICszNiw5IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPEJvb2xlYW5Db25z
dHJ1Y3Rvcj4oKmV4ZWMtPmhlYXAoKSkpIEJvb2xlYW5Db25zdHJ1Y3RvcihleGVjLCBnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSwgYm9vbFByb3RvdHlwZSk7CiAgICAgICAgIH0KIAorICAgIHByb3Rl
Y3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9i
amVjdCosIEJvb2xlYW5Qcm90b3R5cGUqKTsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIEJvb2xl
YW5Db25zdHJ1Y3RvcihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEJv
b2xlYW5Qcm90b3R5cGUqKTsKICAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0
cnVjdERhdGEoQ29uc3RydWN0RGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Cb29sZWFuT2JqZWN0LmNwcAppbmRleCBiOWUzM2RjNDg0Mjk4YjZjZWU2NzRlMThkNTRh
ODdmNjJkYWRmZDU3Li5jYmRkZDBlOTI0MzMwMDJiOGE1Y2Y5ZjM1ZmZhMjEzZjBkOTUxOWMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcApA
QCAtMzAsNyArMzAsNiBAQCBjb25zdCBDbGFzc0luZm8gQm9vbGVhbk9iamVjdDo6c19pbmZvID0g
eyAiQm9vbGVhbiIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMAogQm9vbGVhbk9iamVjdDo6
Qm9vbGVhbk9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0
dXJlKQogICAgIDogSlNXcmFwcGVyT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSkKIHsKLSAg
ICBmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhKTsKIH0KIAogdm9pZCBCb29sZWFuT2JqZWN0Ojpm
aW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmgKaW5kZXggODQ2MTBkOWI4MWY1MGUxZGFi
OGQ4MzQxNWRkNDc1Mjg1NDg5N2U1ZS4uMjk2NGM5YjQxMGY5MzNmMTU3MDc1M2VjZTJkOTRkMDlj
ZGI0NGU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
bk9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmpl
Y3QuaApAQCAtMzUsNyArMzUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMg
Qm9vbGVhbk9iamVjdCogY3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRl
Q2VsbDxCb29sZWFuT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBCb29sZWFuT2JqZWN0KGdsb2Jh
bERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBCb29sZWFuT2JqZWN0KiBib29sZWFuID0g
bmV3IChhbGxvY2F0ZUNlbGw8Qm9vbGVhbk9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgQm9vbGVh
bk9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgYm9vbGVhbi0+Zmlu
aXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CisgICAgICAgICAgICByZXR1cm4gYm9vbGVhbjsKICAg
ICAgICAgfQogICAgICAgICAKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90
eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUu
Y3BwCmluZGV4IGRkMDE5NGYzZjVkMDkyYjA4ZWFjMjY2ZWE5Njk5NWQ1YjYzMTBmMWIuLjcxZGI5
YzQ0MWVlNWUyOWI5YThmMWNlNDk4NTdjZjZhYjlhNGVlYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwCkBAIC01Miw2ICs1Miwx
MiBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEJvb2xlYW5Qcm90b3R5cGUpOwogQm9vbGVh
blByb3RvdHlwZTo6Qm9vbGVhblByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogQm9vbGVhbk9i
amVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlv
bihleGVjLCBnbG9iYWxPYmplY3QpOworfQorCit2b2lkIEJvb2xlYW5Qcm90b3R5cGU6OmZpbmlz
aENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
K3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCkpOwogICAgIHNl
dEludGVybmFsVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBqc0Jvb2xlYW4oZmFsc2UpKTsKIAog
ICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmgKaW5kZXggNDU5ZmU1NjIyOWFkYjU5ZDMyMDEx
ODg3YTY4YzAxMWYzY2ZmYjZmZS4uYTgzZmY4MTljMDEwODMwZDE2Mzg2YmNiODQ0NzY4ZDU2OWM5
MzEwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblBy
b3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90
b3R5cGUuaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAg
ICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpT
R2xvYmFsT2JqZWN0Kik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEJvb2xlYW5PYmplY3Q6OlN0cnVj
dHVyZUZsYWdzOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgQW5vbnltb3VzU2xvdENv
dW50ID0gQm9vbGVhbk9iamVjdDo6QW5vbnltb3VzU2xvdENvdW50ICsgMTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOTk0
NmZkMzdkYWY0MzE2YjA4MDA5M2ExNTJiZGI3MTc1ODJmNTVlZi4uMjdkMGE5ZTQ5YmJlOWI0YzU5
MDRmMTUwZTYyZWMyY2Y4OTQ0MmUwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCkBAIC03NCw4ICs3NCwxNCBAQCBjb25zdCBDbGFz
c0luZm8gRGF0ZUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1
bmN0aW9uOjpzX2luZgogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChEYXRlQ29uc3RydWN0b3Ip
OwogCiBEYXRlQ29uc3RydWN0b3I6OkRhdGVDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBEYXRlUHJv
dG90eXBlKiBkYXRlUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xv
YmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBkYXRl
UHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVuY3Rp
b24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpIAogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMs
IGdsb2JhbE9iamVjdCwgZGF0ZVByb3RvdHlwZSk7Cit9CisKK3ZvaWQgRGF0ZUNvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIERhdGVQcm90b3R5cGUqIGRhdGVQcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIoZXhl
YywgZGF0ZVByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1l
cygpLnByb3RvdHlwZSwgZGF0ZVByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEo
KSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoNyksIFJlYWRPbmx5IHwg
RG9udEVudW0gfCBEb250RGVsZXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKaW5kZXggZDMzZGE0NzVmYzJlYmVkN2JiY2M5YWM4M2Ez
YmZlZDc2MGU5YWFlOC4uODQ2OWQwODdkNThjMmU0ZThkMTgzZjQ5ZjUwZDE2YmY1ODk1ZTJiZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9y
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgK
QEAgLTQ0LDYgKzQ0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAgIHByb3Rl
Y3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9i
amVjdCosIERhdGVQcm90b3R5cGUqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50ZXJuYWxGdW5j
dGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5jcHAKaW5kZXggNmRmMzBkNzIwMTg4MTg2ZGUx
MjIxMDNlMGQ4ODBlN2Y4MmZmZjM0ZS4uMWI0YWRkODhkZjEwMTViMjMwYTU4MzliMTE1NjI3MjVh
ZjQ0MTFlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUlu
c3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFu
Y2UuY3BwCkBAIC0zNywxMyArMzcsNiBAQCBjb25zdCBDbGFzc0luZm8gRGF0ZUluc3RhbmNlOjpz
X2luZm8gPSB7IkRhdGUiLCAmSlNXcmFwcGVyT2JqZWN0OjpzX2luZm8sIDAsIDB9OwogRGF0ZUlu
c3RhbmNlOjpEYXRlSW5zdGFuY2UoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKICAgICA6IEpTV3JhcHBlck9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkK
IHsKLSAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCkpOwotfQotCi1EYXRlSW5z
dGFuY2U6OkRhdGVJbnN0YW5jZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBkb3VibGUgdGltZSkKLSAgICA6IEpTV3JhcHBlck9iamVjdChleGVjLT5nbG9iYWxEYXRhKCks
IHN0cnVjdHVyZSkKLXsKLSAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIHRp
bWUpOwogfQogCiB2b2lkIERhdGVJbnN0YW5jZTo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGF0ZUluc3RhbmNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFu
Y2UuaAppbmRleCBkNTIwMWVlMTkyODg2OTg3ODExN2EwNmFjZmZjYWI1ZjliMDhmOTNkLi5iYjk0
Mjk3MGI3MWUwZDlkOTNkMTM1MzlkYWQ4MmY4MTc0OWU5ZmYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuaApAQCAtMzEsNyArMzEsNiBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogICAgIGNsYXNzIERhdGVJbnN0YW5jZSA6IHB1YmxpYyBKU1dyYXBwZXJPYmpl
Y3QgewogICAgIHByb3RlY3RlZDoKLSAgICAgICAgRGF0ZUluc3RhbmNlKEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZSosIGRvdWJsZSk7CiAgICAgICAgIERhdGVJbnN0YW5jZShFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmUqKTsKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmKTsKICAg
ICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmLCBkb3VibGUpOwpAQCAtNDEs
MTMgKzQwLDE4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBEYXRlSW5zdGFu
Y2UqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBkb3VibGUg
ZGF0ZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPERh
dGVJbnN0YW5jZT4oKmV4ZWMtPmhlYXAoKSkpIERhdGVJbnN0YW5jZShleGVjLCBzdHJ1Y3R1cmUs
IGRhdGUpOworICAgICAgICAgICAgRGF0ZUluc3RhbmNlKiBpbnN0YW5jZSA9IG5ldyAoYWxsb2Nh
dGVDZWxsPERhdGVJbnN0YW5jZT4oKmV4ZWMtPmhlYXAoKSkpIERhdGVJbnN0YW5jZShleGVjLCBz
dHJ1Y3R1cmUpOworICAgICAgICAgICAgaW5zdGFuY2UtPmZpbmlzaENyZWF0aW9uKGV4ZWMtPmds
b2JhbERhdGEoKSwgZGF0ZSk7CisgICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7CiAgICAgICAg
IH0KKwogICAgICAgICBzdGF0aWMgRGF0ZUluc3RhbmNlKiBjcmVhdGUoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5l
dyAoYWxsb2NhdGVDZWxsPERhdGVJbnN0YW5jZT4oKmV4ZWMtPmhlYXAoKSkpIERhdGVJbnN0YW5j
ZShleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgRGF0ZUluc3RhbmNlKiBpbnN0YW5jZSA9
IG5ldyAoYWxsb2NhdGVDZWxsPERhdGVJbnN0YW5jZT4oKmV4ZWMtPmhlYXAoKSkpIERhdGVJbnN0
YW5jZShleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgaW5zdGFuY2UtPmZpbmlzaENyZWF0
aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSk7CisgICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7CiAg
ICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgZG91YmxlIGludGVybmFsTnVtYmVyKCkgY29u
c3QgeyByZXR1cm4gaW50ZXJuYWxWYWx1ZSgpLnVuY2hlY2tlZEdldE51bWJlcigpOyB9CiAKICAg
ICAgICAgc3RhdGljIEpTX0VYUE9SVERBVEEgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAKaW5kZXggZGRh
Mjk0MTYzODQxY2RlZGM1NGY3Njk1N2Q0YWM4NGUzMGZhN2UyMS4uMTc2ZGM3ZWU5NTNiZmY3ZWVi
ZTQ2ODIzNDg2OTVkYjdhMzQ0NjgxZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAKQEAgLTQzMiw2ICs0MzIsMTIgQEAgY29uc3QgQ2xhc3NJ
bmZvIERhdGVQcm90b3R5cGU6OnNfaW5mbyA9IHsiRGF0ZSIsICZEYXRlSW5zdGFuY2U6OnNfaW5m
bywgMCwgRXhlY1MKIERhdGVQcm90b3R5cGU6OkRhdGVQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVj
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAg
ICA6IERhdGVJbnN0YW5jZShleGVjLCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24o
ZXhlYywgZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBEYXRlUHJvdG90eXBlOjpmaW5pc2hDcmVh
dGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBqc05hTigpKTsKICAg
ICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogCiAgICAgLy8gVGhlIGNvbnN0cnVjdG9yIHdp
bGwgYmUgYWRkZWQgbGF0ZXIsIGFmdGVyIERhdGVDb25zdHJ1Y3RvciBoYXMgYmVlbiBidWlsdC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuaAppbmRleCA3
ZGVlMzMwNzRmMTMxZGU5ZjU5MjMzNWM2MzdhZDlkNGRiMTIyNzJhLi4xMjVmOTg0NjM0ZTgxZDdk
OWY1ZTAyMjEzMjA3ZDk1NmYxNTdlZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZVByb3RvdHlwZS5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICB9CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
RXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgRGF0ZUlu
c3RhbmNlOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgICAgICBDT01QSUxFX0FTU0VSVCghRGF0ZUlu
c3RhbmNlOjpBbm9ueW1vdXNTbG90Q291bnQsIERhdGVQcm90b3R5cGVfc3RvbXBzX29uX3lvdXJf
YW5vbnltb3VzX3Nsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwCmlu
ZGV4IDc4Njc1MGJmMmZlMGNiMTEzNGIxYTJhZjY3MTIyNTEwZGU2MzQ1N2QuLjUwZDQ0ODM2NWJk
YWIzNzJjZjQ1ZjkyYmVkNzg5N2RiYWQ4YTJkZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvci5jcHAKQEAgLTE2OCw5ICsxNjgsMTAgQEAgSlNPYmplY3QqIHRocm93U3ludGF4
RXJyb3IoRXhlY1N0YXRlKiBleGVjKQogY2xhc3MgU3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9u
IDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHJpdmF0ZToKICAgICBTdHJpY3RNb2RlVHlw
ZUVycm9yRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgbWVzc2FnZSkKLSAgICAg
ICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlLCBleGVjLT5nbG9iYWxEYXRhKCkucHJvcGVydHlOYW1lcy0+ZW1wdHlJZGVudGlm
aWVyKQorICAgICAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUp
CiAgICAgICAgICwgbV9tZXNzYWdlKG1lc3NhZ2UpCiAgICAgeworICAgICAgICBmaW5pc2hDcmVh
dGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgZXhlYy0+Z2xvYmFsRGF0YSgp
LnByb3BlcnR5TmFtZXMtPmVtcHR5SWRlbnRpZmllcik7CiAgICAgfQogCiBwdWJsaWM6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IGRmMTEyZGQyMjIxZjljOThmN2JkZTkwYmMwYmM4ZTkxMzAyNGJlMTEuLjkzOGY0MGFjMzYy
MzM3MmIwMDUyMzNiMzc2ZGQ1Y2M0YTJlYWZhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCkBAIC0zMCw4ICszMCwxNCBAQCBu
YW1lc3BhY2UgSlNDIHsKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRXJyb3JDb25zdHJ1Y3Rv
cik7CiAKIEVycm9yQ29uc3RydWN0b3I6OkVycm9yQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVj
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRXJy
b3JQcm90b3R5cGUqIGVycm9yUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhl
Yy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVj
LCBlcnJvclByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJbnRlcm5h
bEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9u
KGV4ZWMsIGdsb2JhbE9iamVjdCwgZXJyb3JQcm90b3R5cGUpOworfQorCit2b2lkIEVycm9yQ29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgRXJyb3JQcm90b3R5cGUqIGVycm9yUHJvdG90eXBlKQoreworICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBJZGVu
dGlmaWVyKGV4ZWMsIGVycm9yUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSk7CiAg
ICAgLy8gRUNNQSAxNS4xMS4zLjEgRXJyb3IucHJvdG90eXBlCiAgICAgcHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJv
dG90eXBlLCBlcnJvclByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
OwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhl
Yy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoMSksIERvbnREZWxldGUgfCBSZWFk
T25seSB8IERvbnRFbnVtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Vycm9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9yQ29uc3RydWN0b3IuaAppbmRleCAzODc3YTZkMTEwNzg4OTkzNGExYzQxODg2MDNmODYwNTFh
MDA5YjIxLi45NDQyMTNmOTI1NDI1YjA2MTQ3NTMxZWZiMjM4NTA3NTI4MjNkOTAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCkBAIC0z
Niw2ICszNiw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB7CiAgICAgICAgICAgICByZXR1
cm4gbmV3IChhbGxvY2F0ZUNlbGw8RXJyb3JDb25zdHJ1Y3Rvcj4oKmV4ZWMtPmhlYXAoKSkpIEVy
cm9yQ29uc3RydWN0b3IoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGVyclByb3RvdHlw
ZSk7CiAgICAgICAgIH0KKworICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIEVycm9yUHJvdG90eXBlKik7CiAgICAg
ICAgIAogICAgIHByaXZhdGU6CiAgICAgICAgIEVycm9yQ29uc3RydWN0b3IoRXhlY1N0YXRlKiwg
SlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBFcnJvclByb3RvdHlwZSopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwCmluZGV4IDY5ODY3
NTI0YzRjZTdlZjVjNzYzYjZhNTI3MmU3MTZjZTg0OTU3OWMuLjJhOWI5YTliMDQwYTU0NTI4ODVk
ODQxNWVkMDFhMmVjMWFkYzYzMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvclByb3RvdHlwZS5jcHAKQEAgLTUwLDEwICs1MCw5IEBAIGNvbnN0IENsYXNzSW5m
byBFcnJvclByb3RvdHlwZTo6c19pbmZvID0geyAiRXJyb3IiLCAmRXJyb3JJbnN0YW5jZTo6c19p
bmZvLCAwLCBFCiAKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRXJyb3JQcm90b3R5cGUpOwog
Ci1FcnJvclByb3RvdHlwZTo6RXJyb3JQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK0Vycm9yUHJvdG90
eXBlOjpFcnJvclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogICAgIDogRXJyb3JJbnN0YW5jZShleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsK
LSAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIEVycm9y
UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQ
cm90b3R5cGUuaAppbmRleCBkN2IxNTIyNWM4MThmMTJkZDFiNDYzZmUxZjU0NzA4Y2RmY2Y0OWE5
Li5kNDkxYmY5NjM4Y2ZmMmU5MTIxMWUwMGUzMTMxZmUwNDA2YTUwNzg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKQEAgLTMzLDcgKzMzLDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIEVycm9yUHJvdG90eXBlKiBjcmVh
dGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2Nh
dGVDZWxsPEVycm9yUHJvdG90eXBlPigqZXhlYy0+aGVhcCgpKSkgRXJyb3JQcm90b3R5cGUoZXhl
YywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgRXJyb3JQcm90b3R5cGUq
IHByb3RvdHlwZSA9IG5ldyAoYWxsb2NhdGVDZWxsPEVycm9yUHJvdG90eXBlPigqZXhlYy0+aGVh
cCgpKSkgRXJyb3JQcm90b3R5cGUoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIHByb3Rv
dHlwZS0+ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJl
dHVybiBwcm90b3R5cGU7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBjb25z
dCBDbGFzc0luZm8gc19pbmZvOwpAQCAtNDQsNyArNDYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICBFcnJvclByb3RvdHlwZShFeGVjU3Rh
dGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOworICAgICAgICBFcnJvclByb3RvdHlw
ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKTsKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihF
eGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCopOwogCiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEVycm9y
SW5zdGFuY2U6OlN0cnVjdHVyZUZsYWdzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcAppbmRleCA1MGQ5YjVmN2RhNmVlYzIz
M2EyOWFlY2FjMGY4YmIzNmYzNDAwYzk0Li44Y2YwZDJhNjliOTA3OTlkODczMjRkOThhZGE3OTU4
NTIxOTMxMjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9G
dW5jdGlvbkNvbnN0cnVjdG9yLmNwcApAQCAtMzgsOCArMzgsMTQgQEAgbmFtZXNwYWNlIEpTQyB7
CiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEZ1bmN0aW9uQ29uc3RydWN0b3IpOwogCiBGdW5j
dGlvbkNvbnN0cnVjdG9yOjpGdW5jdGlvbkNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEZ1bmN0aW9u
UHJvdG90eXBlKiBmdW5jdGlvblByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4
ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhl
YywgZnVuY3Rpb25Qcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKQorICAgIDogSW50
ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVh
dGlvbihleGVjLCBnbG9iYWxPYmplY3QsIGZ1bmN0aW9uUHJvdG90eXBlKTsKK30KKwordm9pZCBG
dW5jdGlvbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEZ1bmN0aW9uUHJvdG90eXBlKiBmdW5jdGlvblByb3Rv
dHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGds
b2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBmdW5jdGlvblByb3RvdHlwZS0+Y2xhc3NJbmZv
KCktPmNsYXNzTmFtZSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmds
b2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwgZnVuY3Rpb25Qcm90
b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKIAogICAgIC8vIE51bWJl
ciBvZiBhcmd1bWVudHMgZm9yIGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmgKaW5kZXggOWM1NWQ4ODg5ZDBkOWFh
NDA2OWQ4MWU4ZmM3ZDkwNmE1MTgxYjM1YS4uZTk3YzUzZmZlNzdkMTExMmJmNGIwNzY1MmM1Mjg2
YjRkMDYxNTM1NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25Db25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1
bmN0aW9uQ29uc3RydWN0b3IuaApAQCAtMzgsNiArMzgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIEZ1bmN0aW9uQ29uc3RydWN0b3IoRXhlY1N0YXRlKiwgSlNH
bG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBGdW5jdGlvblByb3RvdHlwZSopOworICAgICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgRnVuY3Rpb25Q
cm90b3R5cGUqKTsKICAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERh
dGEoQ29uc3RydWN0RGF0YSYpOwogICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRh
KENhbGxEYXRhJik7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcAppbmRleCA5NmNkNjc3M2JjZWM1YTgxMWRjYjQxNzc3
NTUzNDEwMmUyNTFiZGUyLi4wMGY4YjI1ZWRlM2NjYzkxMjkzZGM3MzM1OWUxMWJjY2ZlZmMxODYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3Rv
dHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90
b3R5cGUuY3BwCkBAIC0zOCw4ICszOCwxNCBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY0FwcGx5KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25Qcm90b0Z1bmNDYWxsKEV4ZWNTdGF0ZSop
OwogCiBGdW5jdGlvblByb3RvdHlwZTo6RnVuY3Rpb25Qcm90b3R5cGUoRXhlY1N0YXRlKiBleGVj
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAg
ICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBz
dHJ1Y3R1cmUsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5udWxsSWRlbnRpZmllcikKKyAgICA6IElu
dGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3Jl
YXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubnVsbElkZW50
aWZpZXIpOworfQorCit2b2lkIEZ1bmN0aW9uUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgp
LCBnbG9iYWxPYmplY3QsIG5hbWUpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4
ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIo
MCksIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmgKaW5kZXggZTU3Y2E5
ZDg4OTUzNTBlM2QyY2E1YTNhN2M2MzU4NmY2OTU2OWQyNi4uYmQ5MGRjODc4MWY0MDE5MzNjMTkw
ZDNlN2Q0MTE3Zjk2ODI0NTE0NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvblByb3RvdHlwZS5oCkBAIC00MSw2ICs0MSw5IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIHByb3Rv
LCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIEFub255bW91c1Nsb3RDb3Vu
dCwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAorICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUpOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgRnVuY3Rpb25Qcm90b3R5cGUoRXhl
Y1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICAgICAgdmlydHVhbCBD
YWxsVHlwZSBnZXRDYWxsRGF0YShDYWxsRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAppbmRleCAwN2MwZjdmNWJmNjVhM2U3
NTZiNTFjMjQwMzdjYWNjMzNjNDJlNjIyLi41ZTc2NDYxMTY4ZmJiMGExMWIzOTZjMzEzNmUyNmM4
YjUwMTE0Y2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRl
cm5hbEZ1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRl
cm5hbEZ1bmN0aW9uLmNwcApAQCAtNDEsMTAgKzQxLDkgQEAgSW50ZXJuYWxGdW5jdGlvbjo6SW50
ZXJuYWxGdW5jdGlvbihWUHRyU3RlYWxpbmdIYWNrVHlwZSkKIHsKIH0KIAotSW50ZXJuYWxGdW5j
dGlvbjo6SW50ZXJuYWxGdW5jdGlvbihKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlm
aWVyJiBuYW1lKQorSW50ZXJuYWxGdW5jdGlvbjo6SW50ZXJuYWxGdW5jdGlvbihKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTT2JqZWN0
V2l0aEdsb2JhbE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hD
cmVhdGlvbigqZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBuYW1lKTsKIH0KIAogdm9pZCBJbnRl
cm5hbEZ1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmgKaW5kZXgg
NjA2N2JlOGRiZmRkYjM3Y2E0NjA3OTgxYTczMDhhNTgzODA2ODVjYS4uZGNkZmU3NTY0OTM4Mjlm
YWM1MDdhMzQ0YmJhMWJjNTlmZTBiNTY1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaApAQCAtNTIsNyArNTIsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgLy8gT25seSB1c2VkIHRvIGFsbG93IHVzIHRvIGRldGVybWluZSB0aGUg
SlNGdW5jdGlvbiB2cHRyCiAgICAgICAgIEludGVybmFsRnVuY3Rpb24oVlB0clN0ZWFsaW5nSGFj
a1R5cGUpOwogCi0gICAgICAgIEludGVybmFsRnVuY3Rpb24oSlNHbG9iYWxEYXRhKiwgSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBjb25zdCBJZGVudGlmaWVyJik7CisgICAgICAgIEludGVy
bmFsRnVuY3Rpb24oSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKIAogICAgICAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYsIEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgSWRl
bnRpZmllciYgbmFtZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fj
dGl2YXRpb24uY3BwCmluZGV4IDVjOTlkN2E2NTQzOGQxY2U3OWRjN2NiNTA1YTg1NzdhM2Y2OTdi
ZWIuLmRiYzk2N2UwMzY3NmZhNzI0MDNlZWY2OTVkNTQ5NzFjOGZiZDg4NWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcApAQCAtNDYsNyArNDYs
NiBAQCBKU0FjdGl2YXRpb246OkpTQWN0aXZhdGlvbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgRnVu
Y3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbkV4ZQogICAgICwgbV9yZXF1aXJlc0R5bmFtaWNDaGVj
a3MoZnVuY3Rpb25FeGVjdXRhYmxlLT51c2VzRXZhbCgpKQogICAgICwgbV9hcmd1bWVudHNSZWdp
c3RlcihmdW5jdGlvbkV4ZWN1dGFibGUtPmdlbmVyYXRlZEJ5dGVjb2RlKCkuYXJndW1lbnRzUmVn
aXN0ZXIoKSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihjYWxsRnJhbWUpOwogfQogCiB2b2lkIEpT
QWN0aXZhdGlvbjo6ZmluaXNoQ3JlYXRpb24oQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oCmluZGV4IGRhMmU0NjU1ZTA2
OTRmN2M1OTNkM2FmMTcxZDYwMGZkMDcwNjYyNWQuLmFmMWI5YmJjMTQ4ZWJkMDFlY2M3NDBjNTcy
YTQ4OTM5ZTIwMTRjMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQWN0aXZhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0
aXZhdGlvbi5oCkBAIC00OCw3ICs0OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0
YXRpYyBKU0FjdGl2YXRpb24qIGNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIENhbGxG
cmFtZSogY2FsbEZyYW1lLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmNFeGVjKQogICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNBY3RpdmF0aW9uPihnbG9i
YWxEYXRhLmhlYXApKSBKU0FjdGl2YXRpb24oY2FsbEZyYW1lLCBmdW5jRXhlYyk7CisgICAgICAg
ICAgICBKU0FjdGl2YXRpb24qIGFjdGl2YXRpb24gPSBuZXcgKGFsbG9jYXRlQ2VsbDxKU0FjdGl2
YXRpb24+KGdsb2JhbERhdGEuaGVhcCkpIEpTQWN0aXZhdGlvbihjYWxsRnJhbWUsIGZ1bmNFeGVj
KTsKKyAgICAgICAgICAgIGFjdGl2YXRpb24tPmZpbmlzaENyZWF0aW9uKGNhbGxGcmFtZSk7Cisg
ICAgICAgICAgICByZXR1cm4gYWN0aXZhdGlvbjsKICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1
YWwgfkpTQWN0aXZhdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKaW5kZXggODVjNDI5NjYzMWFlM2U2M2Q5MzgwMzVlYTcwODAwNGJmY2Vl
MDczMi4uN2FlZjc2OWVmYzQyOTI3ZGNlNTAwMGI2MjNiOTE4Y2FkMWVjN2Q1MyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0xNDYsNyAr
MTQ2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIEpTR2xvYmFsT2JqZWN0
KiBjcmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkK
ICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPEpTR2xvYmFs
T2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBKU0dsb2JhbE9iamVjdChnbG9iYWxEYXRhLCBzdHJ1
Y3R1cmUpOworICAgICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG5ldyAo
YWxsb2NhdGVDZWxsPEpTR2xvYmFsT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBKU0dsb2JhbE9i
amVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LT5m
aW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgcmV0
dXJuIGdsb2JhbE9iamVjdDsKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRpYyBKU19FWFBPUlRE
QVRBIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CkBAIC0xNTksMTcgKzE2MSw2IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICAgICAgLCBtX3dlYWtSYW5kb20oc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KHJhbmRvbU51bWJlcigpICogKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSAr
IDEuMCkpKQogICAgICAgICAgICAgLCBtX2V2YWxFbmFibGVkKHRydWUpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHRoaXMpOwotICAgICAgICB9Ci0K
LSAgICAgICAgSlNHbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgSlNPYmplY3QqIHRoaXNWYWx1ZSkKLSAgICAgICAgICAgIDogSlNWYXJp
YWJsZU9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUsICZtX3N5bWJvbFRhYmxlLCAwKQotICAg
ICAgICAgICAgLCBtX3JlZ2lzdGVyQXJyYXlTaXplKDApCi0gICAgICAgICAgICAsIG1fZ2xvYmFs
U2NvcGVDaGFpbigpCi0gICAgICAgICAgICAsIG1fd2Vha1JhbmRvbShzdGF0aWNfY2FzdDx1bnNp
Z25lZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1h
eCgpICsgMS4wKSkpCi0gICAgICAgICAgICAsIG1fZXZhbEVuYWJsZWQodHJ1ZSkKLSAgICAgICAg
ewotICAgICAgICAgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhpc1ZhbHVlKTsKICAg
ICAgICAgfQogCiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhLCBKU09iamVjdCogdGhpc1ZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09OT2JqZWN0LmNwcAppbmRleCAxNzMxNTJiMjkxOTNkZjIwMjQ1ODEyMzc2NzY4ZmJk
ODlkZTczNjBjLi4xMTIxNDY4MzdhZTJmZDBiY2E5YTYzN2U1ZjE3ODU2NDNjMGM2NGM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcApAQCAtNTYsNyAr
NTYsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIEpTT05PYmplY3Q6OkpTT05PYmplY3QoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBKU09iamVj
dFdpdGhHbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7Ci0gICAgZmluaXNo
Q3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9pZCBKU09OT2JqZWN0OjpmaW5pc2hDcmVh
dGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5oCmluZGV4IDQ4MGU3NGJkYjgzNDkzNmJkMjlmNzJlNmFjZGUy
NDYxN2RlNmE1ZjIuLmY5MmY0NjA2ZDAwOTRjODE1ZTk0MTMyNDMyYjg2YzY1Mjg0YjYyNjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmgKQEAgLTM4LDcgKzM4
LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIEpTT05PYmplY3QqIGNyZWF0
ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0
ZUNlbGw8SlNPTk9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIEpTT05PYmplY3QoZ2xvYmFsT2JqZWN0
LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgSlNPTk9iamVjdCogb2JqZWN0ID0gbmV3IChhbGxv
Y2F0ZUNlbGw8SlNPTk9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIEpTT05PYmplY3QoZ2xvYmFsT2Jq
ZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbihnbG9i
YWxPYmplY3QpOworICAgICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICAgICAgfQogICAgICAg
ICAKICAgICAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSwgSlNWYWx1ZSBwcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmgKaW5kZXggMjlhNGNhZTkxNDdh
NTc3MzJiOGJmYTgxMTgyNzg0OTEzOTNiZTFjNS4uOWMxOGM2MmY0ZTRiZjIzZmFkYjQ0ZDdjYzkw
ZDBlNTFmMWY3OTQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNTdGF0aWNTY29wZU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU3RhdGljU2NvcGVPYmplY3QuaApAQCAtMzYsNyArMzYsOSBAQCBuYW1lc3BhY2UgSlNDewog
CiAgICAgICAgIHN0YXRpYyBKU1N0YXRpY1Njb3BlT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0
ZUNlbGw8SlNTdGF0aWNTY29wZU9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIEpTU3RhdGljU2NvcGVP
YmplY3QoZXhlYywgaWRlbnRpZmllciwgdmFsdWUsIGF0dHJpYnV0ZXMpOworICAgICAgICAgICAg
SlNTdGF0aWNTY29wZU9iamVjdCogc2NvcGVPYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxKU1N0
YXRpY1Njb3BlT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNTdGF0aWNTY29wZU9iamVjdChleGVj
KTsKKyAgICAgICAgICAgIHNjb3BlT2JqZWN0LT5maW5pc2hDcmVhdGlvbihleGVjLCBpZGVudGlm
aWVyLCB2YWx1ZSwgYXR0cmlidXRlcyk7CisgICAgICAgICAgICByZXR1cm4gc2NvcGVPYmplY3Q7
CiAgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRDaGlsZHJlbihTbG90Vmlz
aXRvciYpOwpAQCAtNTksMTAgKzYxLDkgQEAgbmFtZXNwYWNlIEpTQ3sKICAgICAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gSXNFbnZpcm9ubWVudFJlY29yZCB8IE92
ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4gfCBPdmVy
cmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwgSlNWYXJpYWJsZU9iamVjdDo6U3RydWN0dXJlRmxhZ3M7
CiAKICAgICBwcml2YXRlOgotICAgICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0KEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllciwgSlNWYWx1ZSB2YWx1ZSwgdW5zaWdu
ZWQgYXR0cmlidXRlcykKKyAgICAgICAgSlNTdGF0aWNTY29wZU9iamVjdChFeGVjU3RhdGUqIGV4
ZWMpCiAgICAgICAgICAgICA6IEpTVmFyaWFibGVPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBl
eGVjLT5nbG9iYWxEYXRhKCkuc3RhdGljU2NvcGVTdHJ1Y3R1cmUuZ2V0KCksICZtX3N5bWJvbFRh
YmxlLCByZWludGVycHJldF9jYXN0PFJlZ2lzdGVyKj4oJm1fcmVnaXN0ZXJTdG9yZSArIDEpKQog
ICAgICAgICB7Ci0gICAgICAgICAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBpZGVudGlmaWVyLCB2
YWx1ZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIFN5bWJvbFRh
YmxlIG1fc3ltYm9sVGFibGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1N0cmluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmlu
Zy5jcHAKaW5kZXggYmQzNTVmNzY2YWI0ZTNiNjlmMzJjOWVkMjgzZGZjMDlkOTNiYzE0OS4uNDdk
YjFmZjgwMzMwZjliZjJlZTUzZjQxYWEyNzRlN2JkM2Y0ZjE5OSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcApAQCAtMjk4LDcgKzI5OCw5IEBAIFVTdHJpbmcg
SlNTdHJpbmc6OnRvU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKIAogaW5saW5lIFN0cmlu
Z09iamVjdCogU3RyaW5nT2JqZWN0OjpjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU1N0cmluZyogc3RyaW5nKQogewotICAgIHJldHVybiBuZXcg
KGFsbG9jYXRlQ2VsbDxTdHJpbmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmplY3Qo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QtPnN0cmluZ09iamVjdFN0cnVjdHVyZSgp
LCBzdHJpbmcpOworICAgIFN0cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8
U3RyaW5nT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERh
dGEoKSwgZ2xvYmFsT2JqZWN0LT5zdHJpbmdPYmplY3RTdHJ1Y3R1cmUoKSk7CisgICAgb2JqZWN0
LT5maW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIHN0cmluZyk7CisgICAgcmV0dXJu
IG9iamVjdDsKIH0KIAogSlNPYmplY3QqIEpTU3RyaW5nOjp0b09iamVjdChFeGVjU3RhdGUqIGV4
ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCmluZGV4IDVlYzU2YTM2ZTczNzU1OWEzMGRm
YjEyMDhhMGMxM2NlYmE5ODdiNmQuLmE0ZTc1OTZmNzQzZTczNjk4Njg3NmRlYzA5ZDA1NzBhMGM0
M2FlZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3Bw
CkBAIC04NCwxMCArODQsOSBAQCBjb25zdCBDbGFzc0luZm8gTWF0aE9iamVjdDo6c19pbmZvID0g
eyAiTWF0aCIsICZKU09iamVjdFdpdGhHbG9iYWxPYmplY3Q6OnNfaW5mbwogQGVuZAogKi8KIAot
TWF0aE9iamVjdDo6TWF0aE9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorTWF0aE9iamVjdDo6TWF0aE9iamVj
dChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAg
ICA6IEpTT2JqZWN0V2l0aEdsb2JhbE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsK
LSAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIE1hdGhP
YmplY3Q6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
dGhPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaApp
bmRleCA3ZmJlZDkwYmZiZDJjYjExNWFkODUyNGZlNDNlZDdhNGY2MGFlMjhhLi5hZWY3ZTEyODE5
MDE4YzQ3ODE1OTkyYmFhNGFhNDk1ZDViMDE5YTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWF0aE9iamVjdC5oCkBAIC0yNywxNCArMjcsMTYgQEAgbmFtZXNwYWNlIEpTQyB7
CiAKICAgICBjbGFzcyBNYXRoT2JqZWN0IDogcHVibGljIEpTT2JqZWN0V2l0aEdsb2JhbE9iamVj
dCB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgTWF0aE9iamVjdChFeGVjU3RhdGUqLCBKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSopOworICAgICAgICBNYXRoT2JqZWN0KEpTR2xvYmFsT2JqZWN0
KiwgU3RydWN0dXJlKik7CiAKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgSlNPYmplY3RX
aXRoR2xvYmFsT2JqZWN0IEJhc2U7CiAKICAgICAgICAgc3RhdGljIE1hdGhPYmplY3QqIGNyZWF0
ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0
ZUNlbGw8TWF0aE9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIE1hdGhPYmplY3QoZXhlYywgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgTWF0aE9iamVjdCogb2JqZWN0ID0gbmV3
IChhbGxvY2F0ZUNlbGw8TWF0aE9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIE1hdGhPYmplY3QoZ2xv
YmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlv
bihleGVjLCBnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICAg
ICAgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSos
IGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCBib29s
IGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwg
UHJvcGVydHlEZXNjcmlwdG9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDhjNjZmN2VhZjU1MmIy
YzU2OWE2ZWJmZDYzYTAyNDE5NTQwYTJjN2QuLjUzN2E0NTc2YzcwMjNjMDk3MDI1YTJiYzA4ZTZm
YjRhM2Q5ZjYwNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05h
dGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC0zMyw5ICszMyw5IEBAIEFTU0VSVF9D
TEFTU19GSVRTX0lOX0NFTEwoTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcik7CiBjb25zdCBDbGFzc0lu
Zm8gTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJu
YWxGdW5jdGlvbjo6c19pbmZvLCAwLCAwIH07CiAKIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6Ok5h
dGl2ZUVycm9yQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1
Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG5hbWUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVj
LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMs
IG5hbWUpKQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkK
IHsKLSAgICBjb25zdHJ1Y3RvckJvZHkoZXhlYywgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGVTdHJ1
Y3R1cmUsIG5hbWUpOworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgcHJv
dG90eXBlU3RydWN0dXJlLCBuYW1lKTsKIH0KIAogdm9pZCBOYXRpdmVFcnJvckNvbnN0cnVjdG9y
Ojp2aXNpdENoaWxkcmVuKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oCmluZGV4IGY0
NjI4NmE3YmI0ZGI3N2I2ZWY0Yzk5ZTI0YmFlNDBkMzNjMmE3YjkuLmIwZjBlZGM5MTkxMDdjMTI1
NGY4YTQxNjFkOTVhNDY5MTRiMjliZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmgKQEAgLTQ5LDggKzQ5LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUoKSB7IHJl
dHVybiBtX2Vycm9yU3RydWN0dXJlLmdldCgpOyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAg
IHZvaWQgY29uc3RydWN0b3JCb2R5KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IFVTdHJpbmcm
IG5hbWUpCisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwg
Y29uc3QgVVN0cmluZyYgbmFtZSkKICAgICAgICAgeworICAgICAgICAgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIoZXhl
YywgbmFtZSkpOwogICAgICAgICAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIAogICAg
ICAgICAgICAgTmF0aXZlRXJyb3JQcm90b3R5cGUqIHByb3RvdHlwZSA9IE5hdGl2ZUVycm9yUHJv
dG90eXBlOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGVTdHJ1Y3R1cmUsIG5h
bWUsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0
aXZlRXJyb3JQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0
aXZlRXJyb3JQcm90b3R5cGUuY3BwCmluZGV4IGU1ZmU3Y2MwNTJmMDg2YTZjYTU1ZTVlZWE1OWFk
OTQ5ODk1Y2I3OWYuLjhhMTUzMGI3ZDU3MWZjNjJlOWU3NGJmZTdjMDhlNDNiNDUzNjhhZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90
eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclBy
b3RvdHlwZS5jcHAKQEAgLTMwLDE2ICszMCwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogQVNTRVJU
X0NMQVNTX0ZJVFNfSU5fQ0VMTChOYXRpdmVFcnJvclByb3RvdHlwZSk7CiAKLU5hdGl2ZUVycm9y
UHJvdG90eXBlOjpOYXRpdmVFcnJvclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBVU3RyaW5n
JiBuYW1lLCBOYXRpdmVFcnJvckNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvcikKLSAgICA6IEVycm9y
UHJvdG90eXBlKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQorTmF0aXZlRXJyb3JQcm90
b3R5cGU6Ok5hdGl2ZUVycm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG5h
bWVBbmRNZXNzYWdlLCBOYXRpdmVFcnJvckNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvcikKKyAgICA6
IEVycm9yUHJvdG90eXBlKGV4ZWMsIHN0cnVjdHVyZSkKIHsKLSAgICBjb25zdHJ1Y3RvckJvZHko
ZXhlYywgbmFtZSwgY29uc3RydWN0b3IpOworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2Jh
bE9iamVjdCwgbmFtZUFuZE1lc3NhZ2UsIGNvbnN0cnVjdG9yKTsKIH0KIAotaW5saW5lIHZvaWQg
TmF0aXZlRXJyb3JQcm90b3R5cGU6OmNvbnN0cnVjdG9yQm9keShFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IFVTdHJpbmcmIG5hbWUsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yKQor
aW5saW5lIHZvaWQgTmF0aXZlRXJyb3JQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgVVN0cmluZyYgbmFt
ZUFuZE1lc3NhZ2UsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yKQogewotICAg
IHB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5uYW1l
LCBqc1N0cmluZyhleGVjLCBuYW1lKSwgRG9udEVudW0pOwotICAgIHB1dERpcmVjdChleGVjLT5n
bG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5tZXNzYWdlLCBqc0VtcHR5U3RyaW5n
KGV4ZWMpLCBEb250RW51bSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFs
T2JqZWN0KTsKKyAgICBwdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0
eU5hbWVzKCkubmFtZSwganNTdHJpbmcoZXhlYywgbmFtZUFuZE1lc3NhZ2UpLCBEb250RW51bSk7
CisgICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygp
Lm1lc3NhZ2UsIGpzU3RyaW5nKGV4ZWMsIG5hbWVBbmRNZXNzYWdlKSwgRG9udEVudW0pOwogICAg
IHB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb25z
dHJ1Y3RvciwgY29uc3RydWN0b3IsIERvbnRFbnVtKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmgKaW5kZXggMzM0OTJi
ZDhkZjMyOTc1ZTFhOGY0N2ZkMWNhM2IwYmEwN2EyNDlhMi4uZDg5NGFiNGYzNTMwNmE4ZmE3OWJl
YTlhYzRlOTcxNzhmZjc1ZDA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZvaWQgY29uc3Ry
dWN0b3JCb2R5KEV4ZWNTdGF0ZSosIGNvbnN0IFVTdHJpbmcmIG5hbWUsIE5hdGl2ZUVycm9yQ29u
c3RydWN0b3IqKTsKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0ds
b2JhbE9iamVjdCosIGNvbnN0IFVTdHJpbmcmIG5hbWVBbmRNZXNzYWdlLCBOYXRpdmVFcnJvckNv
bnN0cnVjdG9yKik7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNGI3
ZjY4MzZmMWFmMzhlMzk0ODE1NmJkM2IxMGFhNTRiNDdiNjY5MS4uZGRlNjQyNDA2YjIxZTdlYmRm
MjNlYTllMDI0YTU0NDNjNzUwM2UzYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcApAQCAtNTUsOCArNTUsMTQgQEAgY29uc3Qg
Q2xhc3NJbmZvIE51bWJlckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRl
cm5hbEZ1bmN0aW9uOjpzX2kKICovCiAKIE51bWJlckNvbnN0cnVjdG9yOjpOdW1iZXJDb25zdHJ1
Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBOdW1iZXJQcm90b3R5cGUqIG51bWJlclByb3RvdHlwZSkKLSAgICA6
IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1
Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgbnVtYmVyUHJvdG90eXBlLT5zX2luZm8uY2xhc3NOYW1l
KSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpIAogewor
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgbnVtYmVyUHJvdG90eXBlKTsK
K30KKwordm9pZCBOdW1iZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBOdW1iZXJQcm90b3R5cGUqIG51bWJl
clByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRh
KCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBudW1iZXJQcm90b3R5cGUtPnNfaW5m
by5jbGFzc05hbWUpKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogCiAgICAgLy8g
TnVtYmVyLlByb3RvdHlwZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTnVtYmVyQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051
bWJlckNvbnN0cnVjdG9yLmgKaW5kZXggNzU1ZDBiNDVmYWY2MDgyYTY4OTY3NTcxYmViNzdjYzdl
NzM0MDM2YS4uYWY4MjFkOThhYjA5MzcyZTc0ZDZmZDQyYjEzMmVhZGI5NDdhODQ2MiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCkBA
IC01MCw2ICs1MCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBlbnVtIHsgTmFOVmFsdWUs
IE5lZ0luZmluaXR5LCBQb3NJbmZpbml0eSwgTWF4VmFsdWUsIE1pblZhbHVlIH07CiAKICAgICBw
cm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9i
YWxPYmplY3QqLCBOdW1iZXJQcm90b3R5cGUqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW1wbGVt
ZW50c0hhc0luc3RhbmNlIHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAKICAg
ICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVt
YmVyT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVj
dC5jcHAKaW5kZXggMjI2NzZkMGZmYThjYzc0NmFkMTZkNmU0MjhmM2JjOGNkNzBkNzYyZC4uY2Zi
YzIzYzYyOTllMzljNmQ5OWQzN2U0MGY2YTIzNzcxYmI0YjZiZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3BwCkBAIC0zNCw3ICszNCw2IEBAIGNv
bnN0IENsYXNzSW5mbyBOdW1iZXJPYmplY3Q6OnNfaW5mbyA9IHsgIk51bWJlciIsICZKU1dyYXBw
ZXJPYmplY3Q6OnNfaW5mbywgMCwKIE51bWJlck9iamVjdDo6TnVtYmVyT2JqZWN0KEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBKU1dyYXBwZXJP
YmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQogewotICAgIGZpbmlzaENyZWF0aW9uKGdsb2Jh
bERhdGEpOwogfQogCiB2b2lkIE51bWJlck9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxE
YXRhJiBnbG9iYWxEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTnVtYmVyT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJP
YmplY3QuaAppbmRleCA5MDFmNWViNGIwZjNiNTQxN2ZkYzk5ZDIyNWVlYTJmNzEzNDUyMWZiLi45
NjllMWVmNmEwZmI4MzQ4NDQwZjI1NGEzZjBlYTRhMmQyOWZmZDhiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuaApAQCAtMzUsNyArMzUsOSBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgTnVtYmVyT2JqZWN0KiBjcmVhdGUoSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAg
ICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPE51bWJlck9iamVjdD4oZ2xvYmFsRGF0
YS5oZWFwKSkgTnVtYmVyT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAgICAg
ICBOdW1iZXJPYmplY3QqIG51bWJlciA9IG5ldyAoYWxsb2NhdGVDZWxsPE51bWJlck9iamVjdD4o
Z2xvYmFsRGF0YS5oZWFwKSkgTnVtYmVyT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7Cisg
ICAgICAgICAgICBudW1iZXItPmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEpOworICAgICAgICAg
ICAgcmV0dXJuIG51bWJlcjsKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRpYyBjb25zdCBDbGFz
c0luZm8gc19pbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TnVtYmVyUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJl
clByb3RvdHlwZS5jcHAKaW5kZXggZDc0NDE2MjZlMTExYTJiY2MxZDNhMTYwNmM4MTU0YWJhMGEw
Y2MwNi4uNWM0ZDgzZGY1Zjc3Mjg4N2M0MWNhMGViYTFkMGYwNjBmMDlmMGFiNyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwCkBAIC02
OSw2ICs2OSwxMiBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE51bWJlclByb3RvdHlwZSk7
CiBOdW1iZXJQcm90b3R5cGU6Ok51bWJlclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogTnVt
YmVyT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENy
ZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgTnVtYmVyUHJvdG90eXBlOjpm
aW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpKTsKICAg
ICBzZXRJbnRlcm5hbFZhbHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwganNOdW1iZXIoMCkpOwogCiAg
ICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmgKaW5kZXggZGI2ZmVjZWYzN2M3MjI1ODk5ZTMwZjA0
ODE2ODIxOTA3ZjExMDg5ZS4uNDgzZDcyNDlkYzg3MDI5ODYxNDg5ODJmZjFhOTM2MTQxMzYyOTE0
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90
eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBl
LmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAgIHBy
b3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2Jh
bE9iamVjdCopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBOdW1iZXJPYmplY3Q6OlN0cnVjdHVyZUZs
YWdzOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgQW5vbnltb3VzU2xvdENvdW50ID0g
TnVtYmVyT2JqZWN0OjpBbm9ueW1vdXNTbG90Q291bnQgKyAxOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKaW5kZXggYzMyNWZh
MDcwYjFmN2JiOTQ2MGMyMThiMjBiNjJlNzhiYmQ0YjhhNS4uZDQ3NDMwZWYyOTM3YzJkNGE3NDAw
ZTdiNTdiYWEyMThhZjAzMjUwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcApAQCAtNzYsOCArNzYsMTQgQEAgY29uc3QgQ2xh
c3NJbmZvIE9iamVjdENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5h
bEZ1bmN0aW9uOjpzX2kKICovCiAKIE9iamVjdENvbnN0cnVjdG9yOjpPYmplY3RDb25zdHJ1Y3Rv
cihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBPYmplY3RQcm90b3R5cGUqIG9iamVjdFByb3RvdHlwZSkKLSAgICA6IElu
dGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1
cmUsIElkZW50aWZpZXIoZXhlYywgIk9iamVjdCIpKQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihn
bG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9i
YWxPYmplY3QsIG9iamVjdFByb3RvdHlwZSk7Cit9CisKK3ZvaWQgT2JqZWN0Q29uc3RydWN0b3I6
OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgT2JqZWN0UHJvdG90eXBlKiBvYmplY3RQcm90b3R5cGUpCit7CisgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIo
ZXhlYywgIk9iamVjdCIpKTsKICAgICAvLyBFQ01BIDE1LjIuMy4xCiAgICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCku
cHJvdG90eXBlLCBvYmplY3RQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KTsKICAgICAvLyBuby4gb2YgYXJndW1lbnRzIGZvciBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgKaW5kZXggOGYx
NDM2MTQ0ZTQ2YzQ5NmI4MGRjMDBhMDJiNzQyYTNjMjFmYmUzYS4uYTAxMGY3YzQ1OWQ3Nzg1NGIx
NDMzZWM4ZTc4NjgyMGEwMWNhMzI3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICB9CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBPYmplY3RQcm90b3R5cGUqKTsKICAg
ICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0
T3duUHJvcGVydHlTbG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAKICAg
ICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVn
RXhwQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuY3BwCmluZGV4IGM4YTEzM2I0MjU2ODczMTVmZjZlODIxYzBiYTI3YTU3YTE1
YTMzZWEuLjgyNTliNmU1MDhlMzY0NTQwYTBiMTQ4YWE0ZmY0Y2U0YzNkYWQ3ZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAK
QEAgLTk2LDkgKzk2LDE1IEBAIGNvbnN0IENsYXNzSW5mbyBSZWdFeHBDb25zdHJ1Y3Rvcjo6c19p
bmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pCiAqLwogCiBSZWdFeHBD
b25zdHJ1Y3Rvcjo6UmVnRXhwQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwUHJvdG90eXBl
KiByZWdFeHBQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxE
YXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsICJSZWdFeHAi
KSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAg
LCBkKGFkb3B0UHRyKG5ldyBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUpKQogeworICAgIGZpbmlz
aENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgcmVnRXhwUHJvdG90eXBlKTsKK30KKwordm9p
ZCBSZWdFeHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4cFByb3RvdHlw
ZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2Jh
bE9iamVjdCwgSWRlbnRpZmllcihleGVjLCAiUmVnRXhwIikpOwogICAgIEFTU0VSVChpbmhlcml0
cygmc19pbmZvKSk7CiAKICAgICAvLyBFQ01BIDE1LjEwLjUuMSBSZWdFeHAucHJvdG90eXBlCkBA
IC0xMDgsMTAgKzExNCw5IEBAIFJlZ0V4cENvbnN0cnVjdG9yOjpSZWdFeHBDb25zdHJ1Y3RvcihF
eGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplCiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkubGVuZ3RoLCBqc051bWJlcigyKSwgUmVhZE9ubHkgfCBEb250RGVsZXRlIHwgRG9udEVudW0p
OwogfQogCi1SZWdFeHBNYXRjaGVzQXJyYXk6OlJlZ0V4cE1hdGNoZXNBcnJheShFeGVjU3RhdGUq
IGV4ZWMsIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSogZGF0YSkKK1JlZ0V4cE1hdGNoZXNBcnJh
eTo6UmVnRXhwTWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSogZXhlYykKICAgICA6IEpTQXJyYXkoZXhl
Yy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPnJlZ0V4cE1hdGNo
ZXNBcnJheVN0cnVjdHVyZSgpKQogewotICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERh
dGEoKSwgZGF0YSk7CiB9CiAKIHZvaWQgUmVnRXhwTWF0Y2hlc0FycmF5OjpmaW5pc2hDcmVhdGlv
bihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSogZGF0
YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0
cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rv
ci5oCmluZGV4IDBhN2NiNmVhZmFlY2Q0ODA3ZmVjZWE3YzVjNDFjZWU1MjAwY2VkNGMuLjA1Njc1
YTk2YWZlM2U0ZTc0NTllOWUwM2YwYjE3OWM3YzRlNGU2NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaApAQCAtOTAsNiArOTAsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgSlNWYWx1ZSBnZXRSaWdodENvbnRleHQoRXhlY1N0
YXRlKikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBSZWdFeHBQcm90b3R5cGUqKTsKICAgICAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3du
UHJvcGVydHlTbG90IHwgSW1wbGVtZW50c0hhc0luc3RhbmNlIHwgSW50ZXJuYWxGdW5jdGlvbjo6
U3RydWN0dXJlRmxhZ3M7CiAKICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuaAppbmRleCA4N2Q1OWM3MTRlYjU0ZGYy
ODE3M2RmZWRlYmRlZDU0NmY2NTFjM2FiLi5hZDk0ZTA3ZGE3YzEzZjliMWIzYzRlNzBiNjZlNTY2
YWZhN2E5ZjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBNYXRjaGVzQXJyYXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBNYXRjaGVzQXJyYXkuaApAQCAtMjYsMTQgKzI2LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgY2xhc3MgUmVnRXhwTWF0Y2hlc0FycmF5IDogcHVibGljIEpTQXJyYXkgewogICAgIHByaXZh
dGU6Ci0gICAgICAgIFJlZ0V4cE1hdGNoZXNBcnJheShFeGVjU3RhdGUqLCBSZWdFeHBDb25zdHJ1
Y3RvclByaXZhdGUqKTsKKyAgICAgICAgUmVnRXhwTWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSopOwog
CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIEpTQXJyYXkgQmFzZTsKIAogICAgICAgICBz
dGF0aWMgUmVnRXhwTWF0Y2hlc0FycmF5KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBSZWdFeHBD
b25zdHJ1Y3RvclByaXZhdGUqIGN0b3JQcml2YXRlKQogICAgICAgICB7Ci0gICAgICAgICAgICBy
ZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8UmVnRXhwTWF0Y2hlc0FycmF5PigqZXhlYy0+aGVhcCgp
KSkgUmVnRXhwTWF0Y2hlc0FycmF5KGV4ZWMsIGN0b3JQcml2YXRlKTsKKyAgICAgICAgICAgIFJl
Z0V4cE1hdGNoZXNBcnJheSogcmVnRXhwID0gbmV3IChhbGxvY2F0ZUNlbGw8UmVnRXhwTWF0Y2hl
c0FycmF5PigqZXhlYy0+aGVhcCgpKSkgUmVnRXhwTWF0Y2hlc0FycmF5KGV4ZWMpOworICAgICAg
ICAgICAgcmVnRXhwLT5maW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGN0b3JQcml2
YXRlKTsKKyAgICAgICAgICAgIHJldHVybiByZWdFeHA7CiAgICAgICAgIH0KICAgICAgICAgdmly
dHVhbCB+UmVnRXhwTWF0Y2hlc0FycmF5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBPYmplY3QuY3BwCmluZGV4IDg0MWQ5Mzk0MTE3YWIwOTExNzM4ZDBjNDg1
ZTNmZTUwYjVhMWRkMTYuLmFhYTNlZTA3YzFiNmVjYTY3ZGNhODg0ODc4YTRjNTYyYWMyZDM2M2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcApA
QCAtNjYsNyArNjYsNiBAQCBSZWdFeHBPYmplY3Q6OlJlZ0V4cE9iamVjdChKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUgogICAgIDogSlNPYmplY3RX
aXRoR2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogICAgICwgZChhZG9wdFB0
cihuZXcgUmVnRXhwT2JqZWN0RGF0YShnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgdGhpcywg
cmVnRXhwKSkpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9p
ZCBSZWdFeHBPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmpl
Y3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCmluZGV4
IGJjZTQ1NWFmODEyZjkxYmFiYjIyNjA3MGFkMjBlOWUwNDZmMjQxMTMuLjRhYmRhNGI5YTZkMWEw
N2FiNzAzNWUxNmJhNDJjZWEzZjI5MGRjZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC0zMiwxMiArMzIsMTYgQEAgbmFtZXNwYWNlIEpTQyB7
CiAKICAgICAgICAgc3RhdGljIFJlZ0V4cE9iamVjdCogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4
cCogcmVnRXhwKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNl
bGw8UmVnRXhwT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgUmVnRXhwT2JqZWN0KGdsb2JhbE9iamVj
dCwgc3RydWN0dXJlLCByZWdFeHApOworICAgICAgICAgICAgUmVnRXhwT2JqZWN0KiBvYmplY3Qg
PSBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBSZWdFeHBP
YmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHJlZ0V4cCk7CisgICAgICAgICAgICBvYmpl
Y3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gb2Jq
ZWN0OwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBzdGF0aWMgUmVnRXhwT2JqZWN0KiBj
cmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwKiByZWdFeHApCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBPYmplY3Q+KGdsb2JhbERh
dGEuaGVhcCkpIFJlZ0V4cE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgcmVnRXhwKTsK
KyAgICAgICAgICAgIFJlZ0V4cE9iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8UmVn
RXhwT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBz
dHJ1Y3R1cmUsIHJlZ0V4cCk7CisgICAgICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGds
b2JhbE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAKICAg
ICAgICAgdmlydHVhbCB+UmVnRXhwT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcAppbmRleCA4YmZjOTlmNTQ1MDVhZWM0ZjJl
MmNkOTYyNDc2ZTc4ODJjOTM4NjVmLi45MWI4ODY5N2YzZGI4Yjc4MDRhZmYyYjA4ZWFkOGQ4Mjc4
NDkzZmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBQ
cm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFBy
b3RvdHlwZS5jcHAKQEAgLTY1LDYgKzY1LDcgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChS
ZWdFeHBQcm90b3R5cGUpOwogUmVnRXhwUHJvdG90eXBlOjpSZWdFeHBQcm90b3R5cGUoRXhlY1N0
YXRlKiwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFJlZ0V4cCogcmVnRXhwKQogICAgIDogUmVnRXhwT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0
dXJlLCByZWdFeHApCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAog
Ym9vbCBSZWdFeHBQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90ICZzbG90KQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3Bw
CmluZGV4IDFkM2IxYzdhMWIyOTU3OTViNmQxNmE1OWJkMDJlZGEyMjYyZGVjN2UuLmFmOWFiZjVh
NzBjMTk3NDgyOWUwNzBjMzNmYjViODhjZjJmNzE2OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKQEAgLTQ4LDggKzQ4LDE0
IEBAIGNvbnN0IENsYXNzSW5mbyBTdHJpbmdDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rp
b24iLCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFN0
cmluZ0NvbnN0cnVjdG9yKTsKIAogU3RyaW5nQ29uc3RydWN0b3I6OlN0cmluZ0NvbnN0cnVjdG9y
KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBlKQotICAgIDogSW50
ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgSWRlbnRpZmllcihleGVjLCBzdHJpbmdQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05h
bWUpKQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsK
KyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIHN0cmluZ1Byb3RvdHlwZSk7
Cit9CisKK3ZvaWQgU3RyaW5nQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSog
ZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RyaW5nUHJvdG90eXBlKiBzdHJp
bmdQcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0
YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIoZXhlYywgc3RyaW5nUHJvdG90eXBlLT5jbGFz
c0luZm8oKS0+Y2xhc3NOYW1lKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhl
Yy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBzdHJpbmdQ
cm90b3R5cGUsIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKICAgICBwdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFt
ZXMoKS5sZW5ndGgsIGpzTnVtYmVyKDEpLCBSZWFkT25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0
ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3Ry
dWN0b3IuaAppbmRleCBmYWE3OWMzODU5OWJiMDI2ZTk0YTYwOGZmNDQzNTBjYTQ2ZTVjMzJhLi40
NTM0NjcyNTgxMmFhZTRiOTVjYjhjN2M3MjRiYjlhYzAzZGNmN2ZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKQEAgLTQ0LDYgKzQ0
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cmlu
Z1Byb3RvdHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxh
Z3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1
Y3R1cmVGbGFnczsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RyaW5nT2JqZWN0LmNwcAppbmRleCBiOGZhZDllNDk3Mzc3YWNhNzQ1NzAxM2NkYTM3
MDNiOGYyNzA1OTMzLi5mNmQ2OWQxMDk1MjY0ZTYxOTFlNTdmNWM0MmM4MDc0NDRmNjAwNzdkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAKQEAg
LTI5LDEwICsyOSw5IEBAIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoU3RyaW5nT2JqZWN0KTsK
IAogY29uc3QgQ2xhc3NJbmZvIFN0cmluZ09iamVjdDo6c19pbmZvID0geyAiU3RyaW5nIiwgJkpT
V3JhcHBlck9iamVjdDo6c19pbmZvLCAwLCAwIH07CiAKLVN0cmluZ09iamVjdDo6U3RyaW5nT2Jq
ZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTU3Ry
aW5nKiBzdHJpbmcpCitTdHJpbmdPYmplY3Q6OlN0cmluZ09iamVjdChKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNXcmFwcGVyT2JqZWN0KGds
b2JhbERhdGEsIHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBz
dHJpbmcpOwogfQogCiB2b2lkIFN0cmluZ09iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxE
YXRhJiBnbG9iYWxEYXRhLCBKU1N0cmluZyogc3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJpbmdPYmplY3QuaAppbmRleCAwYjBjMjAwNjQ4YmViZjhhZTY0YjVjNzc5
ZDFhNzU2M2MxOTY1YmVjLi5iZWM3NmQ0ZjQwNmRhNzM5OWEwZmM3NzQ4ZmFhNzZhMDFjZmNiODAy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3Qu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuaApAQCAt
MzMsMTIgKzMzLDE2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgU3RyaW5nT2Jq
ZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICAg
ICAgewogICAgICAgICAgICAgSlNTdHJpbmcqIHN0cmluZyA9IGpzRW1wdHlTdHJpbmcoZXhlYyk7
Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8U3RyaW5nT2JqZWN0PigqZXhl
Yy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlLCBz
dHJpbmcpOyAgCisgICAgICAgICAgICBTdHJpbmdPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2Nh
dGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmluZ09iamVjdChleGVjLT5n
bG9iYWxEYXRhKCksIHN0cnVjdHVyZSk7ICAKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3Jl
YXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJpbmcpOworICAgICAgICAgICAgcmV0dXJuIG9i
amVjdDsKICAgICAgICAgfQogICAgICAgICBzdGF0aWMgU3RyaW5nT2JqZWN0KiBjcmVhdGUoRXhl
Y1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgc3RyKQog
ICAgICAgICB7CiAgICAgICAgICAgICBKU1N0cmluZyogc3RyaW5nID0ganNTdHJpbmcoZXhlYywg
c3RyKTsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxTdHJpbmdPYmplY3Q+
KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1
cmUsIHN0cmluZyk7CisgICAgICAgICAgICBTdHJpbmdPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxs
b2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmluZ09iamVjdChleGVj
LT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBvYmplY3QtPmZpbmlzaENy
ZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RyaW5nKTsKKyAgICAgICAgICAgIHJldHVybiBv
YmplY3Q7CiAgICAgICAgIH0KICAgICAgICAgc3RhdGljIFN0cmluZ09iamVjdCogY3JlYXRlKEV4
ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgSlNTdHJpbmcqKTsKIApAQCAtNjIsNyArNjYsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oSlNHbG9iYWxEYXRhJiwgSlNTdHJpbmcqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3Zl
cnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTV3JhcHBlck9iamVjdDo6U3RydWN0dXJlRmxhZ3M7
Ci0gICAgICAgIFN0cmluZ09iamVjdChKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUqLCBKU1N0cmlu
ZyopOworICAgICAgICBTdHJpbmdPYmplY3QoSlNHbG9iYWxEYXRhJiwgU3RydWN0dXJlKik7CiAg
ICAgfTsKIAogICAgIFN0cmluZ09iamVjdCogYXNTdHJpbmdPYmplY3QoSlNWYWx1ZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3RUaGF0TWFz
cXVlcmFkZXNBc1VuZGVmaW5lZC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQuaAppbmRleCAyZmUwYjlmNjg5ZjIz
NWZkYjI1MmIyNjA3ZTc5NmJlMmZiYjg0ODgxLi5mNjE2MzQ2MzI0YjMwNmI2YWZhYzZmNGFlNWI4
YjllMGFjZGY1M2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJpbmdPYmplY3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVk
LmgKQEAgLTQxLDggKzQxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBwcml2YXRlOgogICAg
ICAgICBTdHJpbmdPYmplY3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZChFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0cmluZyogc3RyaW5nKQotICAgICAgICAgICAg
OiBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUsIHN0cmluZykKKyAg
ICAgICAgICAgIDogU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQog
ICAgICAgICB7CisgICAgICAgICAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCks
IHN0cmluZyk7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVT
dHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU1ZhbHVlIHByb3RvKSAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCmluZGV4
IGUxNGQ5NzcyNjY5NTU2ODg5YTgzNzYzZDJhYmYyODkwNDI0MDM4YzQuLjU5MDM5MDliOTRkMmRl
NDU4MWM0NzM0MGI0MDAyZGY2ODgwYWIzYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcApAQCAtMTMxLDkgKzEzMSwxNSBAQCBjb25z
dCBDbGFzc0luZm8gU3RyaW5nUHJvdG90eXBlOjpzX2luZm8gPSB7ICJTdHJpbmciLCAmU3RyaW5n
T2JqZWN0OjpzX2luZm8sIDAsCiAqLwogCiAvLyBFQ01BIDE1LjUuNAotU3RyaW5nUHJvdG90eXBl
OjpTdHJpbmdQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNTdHJpbmcqIHN0cmluZykKLSAgICA6IFN0
cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSwgc3RyaW5nKQorU3RyaW5n
UHJvdG90eXBlOjpTdHJpbmdQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNTdHJpbmcqIG5hbWVBbmRN
ZXNzYWdlKQorICAgIDogU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJl
KQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgbmFtZUFuZE1lc3Nh
Z2UpOworfQorCit2b2lkIFN0cmluZ1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRl
KiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1N0cmluZyogbmFtZUFuZE1l
c3NhZ2UpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBu
YW1lQW5kTWVzc2FnZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIAogICAgIHB1
dEFub255bW91c1ZhbHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwgMCwgZ2xvYmFsT2JqZWN0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKaW5kZXgg
Y2UxM2FiNTE0NTJlMzZjOWJmNzlhNjRhNWQ2MjMzYWE4NWNhYmE0Yy4uODYzOWQ5YTRhNmZhOGQ2
NTZkY2Q1ZTJkNzdmZmZiZjU3NDFjZjJkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKQEAgLTUwLDYgKzUwLDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19pbmZvOwogICAgICAgICAKICAg
ICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNH
bG9iYWxPYmplY3QqLCBKU1N0cmluZyopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBTdHJpbmdPYmpl
Y3Q6OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgICAgIENPTVBJTEVfQVNTRVJUKCFTdHJpbmdPYmpl
Y3Q6OkFub255bW91c1Nsb3RDb3VudCwgU3RyaW5nUHJvdG90eXBlX3N0b21wc19vbl95b3VyX2Fu
b255bW91c19zbG90KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCmluZGV4IDczODI0ZTkzYzQ1N2Yz
NzU3ZjM1MTA5Y2YwYjQwMDQ5YmFlOGExN2UuLjVmNjBkZTUzNTllYzFiYjA1ZDllM2IzY2M2NmMy
ZWE1NjBmNWE0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisy
MDExLTA5LTAzICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAg
ICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBKU0Nl
bGwgaGllcmFyY2h5ICg1LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NzQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENvbXBsZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2YgdGhlIHJlZmFjdG9yaW5nIHRv
IGFkZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBjbGFzc2VzIHdp
dGhpbiB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAgICAgICBjb25z
dHJ1Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lzdHMgb2YgcHVz
aGluZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAgICBpbnRvIHRo
ZSBjb25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBsZXZlbCBvZiB0
aGUgaGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZpbmlzaENyZWF0
aW9uKCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZworICAgICAgICBj
cmVhdGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0YW5lb3VzbHkg
YWxsb3dzIHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRoYXQgdGhlIGZp
bmlzaENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAorICAgICAgICBv
bmNlIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxsaW5nIGl0IGFu
eSBvdGhlciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3JlKSB3aWxsIGNh
dXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogSlNSdW4uY3BwOgorICAgICAg
ICAoSlNHbHVlR2xvYmFsT2JqZWN0OjpKU0dsdWVHbG9iYWxPYmplY3QpOgorCiAyMDExLTA5LTAx
ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgVW56
aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBKU0NlbGwgaGllcmFy
Y2h5ICg0LzcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvSlNSdW4uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRHbHVlL0pTUnVuLmNwcAppbmRleCA4Yzg4Zjg1ZjMyMGUzZWUwYzI5
YzFkOWUyNDYxMGIxNDI2MmQzODJjLi5iZjIyY2JkMTY0MTFjNDYyYmJkM2EzN2ZkOTA5NmFlZWNh
MjlhNzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvSlNSdW4uY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5jcHAKQEAgLTM4LDYgKzM4LDcgQEAgSlNHbHVl
R2xvYmFsT2JqZWN0OjpKU0dsdWVHbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
LCBTdHJ1Y3R1cmUqIHN0cnUKICAgICAsIG1fZmxhZ3MoZmxhZ3MpCiAgICAgLCBtX3VzZXJPYmpl
Y3RTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgdXNlck9iamVjdFN0cnVjdHVyZSkKIHsKKyAgICBmaW5p
c2hDcmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzKTsKIH0KIAogSlNSdW46OkpTUnVuKENGU3RyaW5n
UmVmIHNvdXJjZSwgSlNGbGFncyBpbkZsYWdzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ5Y2FhMWE2MGQ0N2Zk
YjNmM2M2ODAzZWI1MDFmMzVjNGMwZTVhM2QuLmIzYjc4ODZiNjA3YzE1M2ZiNDE2NzgwMmRhMTA0
NDRkM2I0NzVhOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4MyBAQAorMjAxMS0wOS0wMyAgTWFy
ayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGlu
aXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAo
NS83KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0
MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMuCisKKyAgICAgICAgQ29tcGxldGVkIHRoZSBmaWZ0aCBsZXZlbCBvZiB0aGUgcmVm
YWN0b3JpbmcgdG8gYWRkIGZpbmlzaENyZWF0aW9uKCkgCisgICAgICAgIG1ldGhvZHMgdG8gYWxs
IGNsYXNzZXMgd2l0aGluIHRoZSBKU0NlbGwgaGllcmFyY2h5IHdpdGggbm9uLXRyaXZpYWwgCisg
ICAgICAgIGNvbnN0cnVjdG9yIGJvZGllcy4KKworICAgICAgICBUaGlzIHByaW1hcmlseSBjb25z
aXN0cyBvZiBwdXNoaW5nIHRoZSBjYWxscyB0byBmaW5pc2hDcmVhdGlvbigpIGRvd24gCisgICAg
ICAgIGludG8gdGhlIGNvbnN0cnVjdG9ycyBvZiB0aGUgc3ViY2xhc3NlcyBvZiB0aGUgc2Vjb25k
IGxldmVsIG9mIHRoZSBoaWVyYXJjaHkgCisgICAgICAgIGFzIHdlbGwgYXMgcHVsbGluZyB0aGUg
ZmluaXNoQ3JlYXRpb24oKSBjYWxscyBvdXQgaW50byB0aGUgY2xhc3MncyBjb3JyZXNwb25kaW5n
CisgICAgICAgIGNyZWF0ZSgpIG1ldGhvZCBpZiBpdCBoYXMgb25lLiAgRG9pbmcgYm90aCBzaW11
bHRhbmVvdXNseSBhbGxvd3MgdXMgdG8gCisgICAgICAgIG1haW50YWluIHRoZSBpbnZhcmlhbnQg
dGhhdCB0aGUgZmluaXNoQ3JlYXRpb24oKSBtZXRob2QgY2hhaW4gaXMgY2FsbGVkIGV4YWN0bHkg
CisgICAgICAgIG9uY2UgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBhbiBvYmplY3QsIHNpbmNlIGNh
bGxpbmcgaXQgYW55IG90aGVyIG51bWJlciBvZiAKKyAgICAgICAgdGltZXMgKDAsIDIsIG9yIG1v
cmUpIHdpbGwgY2F1c2UgYW4gYXNzZXJ0aW9uIGZhaWx1cmUuCisKKyAgICAgICAgKiBXZWJDb3Jl
LmV4cC5pbjoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkRPTUNvbnN0cnVjdG9yT2JqZWN0OjpET01Db25zdHJ1Y3Rvck9iamVjdCk6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01HbG9iYWxPYmplY3Q6OkpTRE9NR2xvYmFsT2JqZWN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxs
Lmg6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpjcmVhdGUpOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oOgorICAgICAgICAoV2ViQ29yZTo6SlNET01X
cmFwcGVyOjpKU0RPTVdyYXBwZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RJbnRlcmZhY2U6OkpTVGVzdEludGVyZmFjZSk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6SlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RPYmo6OkpTVGVzdE9i
aik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OkpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZSk6CisgICAgICAgICogYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpCaW5kaW5nczo6Q1J1bnRpbWVPYmplY3Q6OkNSdW50aW1lT2JqZWN0KToKKyAgICAgICAg
KEpTQzo6QmluZGluZ3M6OkNSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuaDoKKyAgICAgICAgKiBicmlkZ2Uvam5pL2pzYy9K
YXZhUnVudGltZU9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpKYXZhUnVudGlt
ZU9iamVjdDo6SmF2YVJ1bnRpbWVPYmplY3QpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6SmF2
YVJ1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBicmlkZ2Uvam5pL2pz
Yy9KYXZhUnVudGltZU9iamVjdC5oOgorICAgICAgICAqIGJyaWRnZS9vYmpjL09iakNSdW50aW1l
T2JqZWN0Lmg6CisgICAgICAgICogYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QubW06Cisg
ICAgICAgIChKU0M6OkJpbmRpbmdzOjpPYmpDUnVudGltZU9iamVjdDo6T2JqQ1J1bnRpbWVPYmpl
Y3QpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqQ1J1bnRpbWVPYmplY3Q6OmZpbmlzaENy
ZWF0aW9uKToKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaDoKKyAgICAgICAg
KEpTQzo6QmluZGluZ3M6Ok9iamNGYWxsYmFja09iamVjdEltcDo6Y3JlYXRlKToKKyAgICAgICAg
KiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW06CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpP
YmpjRmFsbGJhY2tPYmplY3RJbXA6Ok9iamNGYWxsYmFja09iamVjdEltcCk6CisgICAgICAgICog
YnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OlF0UnVu
dGltZU9iamVjdDo6UXRSdW50aW1lT2JqZWN0KToKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfcGl4
bWFwcnVudGltZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpRdFBpeG1hcFJ1bnRpbWVP
YmplY3Q6OlF0UGl4bWFwUnVudGltZU9iamVjdCk6CisgICAgICAgICogYnJpZGdlL3F0L3F0X3J1
bnRpbWUuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRSdW50aW1lTWV0aG9kOjpRdFJ1
bnRpbWVNZXRob2QpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRSdW50aW1lTWV0aG9kOjpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnJpZGdlL3F0L3F0X3J1bnRpbWUuaDoKKyAgICAg
ICAgKiBicmlkZ2UvcnVudGltZV9hcnJheS5jcHA6CisgICAgICAgIChKU0M6OlJ1bnRpbWVBcnJh
eTo6UnVudGltZUFycmF5KToKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9hcnJheS5oOgorICAg
ICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmNyZWF0ZSk6CisgICAgICAgICogYnJpZGdlL3J1bnRp
bWVfbWV0aG9kLmNwcDoKKyAgICAgICAgKEpTQzo6UnVudGltZU1ldGhvZDo6UnVudGltZU1ldGhv
ZCk6CisgICAgICAgIChKU0M6OlJ1bnRpbWVNZXRob2Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAg
ICAgKiBicmlkZ2UvcnVudGltZV9tZXRob2QuaDoKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9v
YmplY3QuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UnVudGltZU9iamVjdDo6UnVudGlt
ZU9iamVjdCk6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0Lmg6CisgICAgICAgIChK
U0M6OkJpbmRpbmdzOjpSdW50aW1lT2JqZWN0OjpjcmVhdGUpOgorCiAyMDExLTA5LTAzICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIG1pc3NpbmcgRXZlbnQgY29u
c3RydWN0b3JzIHRvIERPTVdpbmRvdy5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggODJmODVj
ZDQ2Y2VkNDJkZDgzOTExNDM2YjE1MTVlYmI4Zjg1MWZlNC4uM2Y0ZmNlZWVlODMzMDg1MjRkOTY0
YWE4OGQzZDY0ODQ4NTJmNDRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE2NDQsNiArMTY0
NCw3IEBAIF9fWk4zSlNDMTNSdW50aW1lTWV0aG9kQzJFUE5TXzlFeGVjU3RhdGVFUE5TXzE0SlNH
bG9iYWxPYmplY3RFUE5TXzlTdHJ1Y3R1cmVFUktOCiBfX1pOM0pTQzhCaW5kaW5nczEwUm9vdE9i
amVjdEQxRXYKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTFnZXRDYWxsRGF0YUVS
TlNfOENhbGxEYXRhRQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxNGRlbGV0ZVBy
b3BlcnR5RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRQorX19aTjNKU0M4QmluZGlu
Z3MxM1J1bnRpbWVPYmplY3QxNGZpbmlzaENyZWF0aW9uRVBOU18xNEpTR2xvYmFsT2JqZWN0RQog
X19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxNmdldENvbnN0cnVjdERhdGFFUk5TXzEz
Q29uc3RydWN0RGF0YUUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MThnZXRPd25Q
cm9wZXJ0eVNsb3RFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5TXzEyUHJvcGVy
dHlTbG90RQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxOWdldE93blByb3BlcnR5
TmFtZXNFUE5TXzlFeGVjU3RhdGVFUk5TXzE3UHJvcGVydHlOYW1lQXJyYXlFTlNfMTVFbnVtZXJh
dGlvbk1vZGVFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJp
bmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4
IGRiNTJkOTZmNGUzMjMyM2I2NzVkMTNkYWY2NDAyMzdiM2IwZTcwOGMuLjk4NTY0NjA3MDA2ZjYy
MTc3MWE1MzM1MGJkOGI5NDllNDVlYjE3NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZy5oCkBAIC01NSw2ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgRE9NQ29uc3RydWN0b3JPYmplY3QoSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgICAgIDogSlNET01XcmFwcGVy
KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogICAgICAgICB7CisgICAgICAgICAgICBmaW5pc2hD
cmVhdGlvbihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0KTsKICAgICAg
ICAgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xv
YmFsT2JqZWN0LmNwcAppbmRleCA0ZGFmYTY4ZTA0NTZhZWE2N2ZlMjZlZDFmYmMxMGYxYmJmNDZj
YzQ4Li5mOWVhZjZhNDliMWU5ZjRiYzg1OTdlMGM5MjE1NjlmMzE0ODY2YzA0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCkBAIC00Mywx
MCArNDMsMTYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgQ2xhc3NJbmZvIEpTRE9NR2xv
YmFsT2JqZWN0OjpzX2luZm8gPSB7ICJET01HbG9iYWxPYmplY3QiLCAmSlNHbG9iYWxPYmplY3Q6
OnNfaW5mbywgMCwgMCB9OwogCiBKU0RPTUdsb2JhbE9iamVjdDo6SlNET01HbG9iYWxPYmplY3Qo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0
cjxET01XcmFwcGVyV29ybGQ+IHdvcmxkLCBKU09iamVjdCogdGhpc1ZhbHVlKQotICAgIDogSlNH
bG9iYWxPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlLCB0aGlzVmFsdWUpCisgICAgOiBKU0ds
b2JhbE9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiAgICAgLCBtX2N1cnJlbnRFdmVudCgw
KQogICAgICwgbV93b3JsZCh3b3JsZCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRh
LCB0aGlzVmFsdWUpOworfQorCit2b2lkIEpTRE9NR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlv
bihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTT2JqZWN0KiB0aGlzVmFsdWUpCit7CisgICAg
QmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhpc1ZhbHVlKTsKICAgICBBU1NFUlQo
aW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01HbG9iYWxPYmplY3QuaAppbmRleCA4NjFkZjFmMTZkNzA3ZDdmOTA5NDlmZjczNmViMDk1
OWEzODBiYTg0Li4xMDA3MTcwNWRmMWI1YjFmODk4MDg3YTkxZjQyNjI5OWNhYjQ1ZTAwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKQEAgLTQ3
LDYgKzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdHJ1Y3QgSlNET01HbG9i
YWxPYmplY3REYXRhOwogCiAgICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0KEpTQzo6SlNHbG9iYWxE
YXRhJiwgSlNDOjpTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpTQzo6
SlNPYmplY3QqIHRoaXNWYWx1ZSk7CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpK
U0dsb2JhbERhdGEmLCBKU0M6OkpTT2JqZWN0KiB0aGlzVmFsdWUpOwogCiAgICAgcHVibGljOgog
ICAgICAgICBKU0RPTVN0cnVjdHVyZU1hcCYgc3RydWN0dXJlcygpIHsgcmV0dXJuIG1fc3RydWN0
dXJlczsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dTaGVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxs
LmNwcAppbmRleCA1ZDBkNDM2Y2M5Njg3M2FkOWZhMDM5NWYzNTVjZWFlZTMyMTUzODRiLi5jNzY1
ZmYxODBlYTkxOGU1ZGIyZTdjMTRjNDE0OGQ4OTJmZjMxZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcApAQCAtMTgwLDEzICsxODAsNiBA
QCB2b2lkKiBKU0RPTVdpbmRvd1NoZWxsOjpvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpCiAgICAg
cmV0dXJuIGhlYXAuYWxsb2NhdGUoc2l6ZSk7CiB9CiAKLUpTRE9NV2luZG93U2hlbGwqIEpTRE9N
V2luZG93U2hlbGw6OmNyZWF0ZShQYXNzUmVmUHRyPERPTVdpbmRvdz4gd2luZG93LCBKU0M6OlN0
cnVjdHVyZSogc3RydWN0dXJlLCBET01XcmFwcGVyV29ybGQqIHdvcmxkKQotewotICAgIEpTRE9N
V2luZG93U2hlbGwqIHNoZWxsID0gbmV3IEpTRE9NV2luZG93U2hlbGwoc3RydWN0dXJlLCB3b3Js
ZCk7Ci0gICAgc2hlbGwtPmZpbmlzaENyZWF0aW9uKCp3b3JsZC0+Z2xvYmFsRGF0YSgpLCB3aW5k
b3cpOwotICAgIHJldHVybiBzaGVsbDsgCi19Ci0KIC8vIC0tLS0KIC8vIENvbnZlcnNpb24gbWV0
aG9kcwogLy8gLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dTaGVsbC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dT
aGVsbC5oCmluZGV4IDMwMjgzNGZmYzY3OTU0MzRkYmU0N2Y0M2VlOTJlNjZhNjY3YjRjYzIuLmU3
NDFkMmZiMDdkNzdhMTdmZTdlMDI1M2E0ZDM0NzUzYTI1ZTY2NTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKQEAgLTU1LDcgKzU1LDEyIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBET01XaW5kb3cqIGltcGwoKSBjb25zdDsKIAot
ICAgICAgICBzdGF0aWMgSlNET01XaW5kb3dTaGVsbCogY3JlYXRlKFBhc3NSZWZQdHI8RE9NV2lu
ZG93PiwgSlNDOjpTdHJ1Y3R1cmUqLCBET01XcmFwcGVyV29ybGQqKTsKKyAgICAgICAgc3RhdGlj
IEpTRE9NV2luZG93U2hlbGwqIGNyZWF0ZShQYXNzUmVmUHRyPERPTVdpbmRvdz4gd2luZG93LCBK
U0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBET01XcmFwcGVyV29ybGQqIHdvcmxkKSAKKyAgICAg
ICAgeworICAgICAgICAgICAgSlNET01XaW5kb3dTaGVsbCogc2hlbGwgPSBuZXcgSlNET01XaW5k
b3dTaGVsbChzdHJ1Y3R1cmUsIHdvcmxkKTsKKyAgICAgICAgICAgIHNoZWxsLT5maW5pc2hDcmVh
dGlvbigqd29ybGQtPmdsb2JhbERhdGEoKSwgd2luZG93KTsKKyAgICAgICAgICAgIHJldHVybiBz
aGVsbDsgCisgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0
ZVN0cnVjdHVyZShKU0M6OkpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNDOjpKU1ZhbHVlIHBy
b3RvdHlwZSkgCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV3JhcHBlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFw
cGVyLmgKaW5kZXggMWI4MjE5NzAzY2Y5MzkyMGQwYjg3N2M3NmQ3NzY1ZTdhYmYxMGI2Zi4uOWE0
YWNhNWM1MWI4Y2ZlYjc1MzBiMmE2ZTBlNzk4NDUxZmQ4NThlNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgKQEAgLTU5LDcgKzU5LDYgQEAgcHJvdGVjdGVkOgog
ICAgICAgICAvLyBuZXcgSmF2YVNjcmlwdCBvYmplY3RzIG9uIGRldGFjaGVkIHdpbmRvd3MgZHVl
IHRvIERPTVdpbmRvdzo6ZG9jdW1lbnQoKQogICAgICAgICAvLyBuZWVkaW5nIHRvIHJlYWNoIHRo
cm91Z2ggdGhlIGZyYW1lIHRvIGdldCB0byB0aGUgRG9jdW1lbnQqLiAgU2VlIGJ1ZyAyNzY0MC4K
ICAgICAgICAgLy8gQVNTRVJUKGdsb2JhbE9iamVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KTsKLSAgICAgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIGds
b2JhbE9iamVjdCk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA5YTkyOGFjNjlhYTFiOWNlNWU3Yjk0
NjEwODg2YzA1YmQ2YjI0Yjg4Li45OWE4ZmQxMGZkNDc2MGYwZDc3NjU3NWZhMTkxZmExYTRiYjdh
NzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbQpAQCAtMTUxNCwyMCArMTUxNCwyNCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRh
dGlvbgogICAgICAgICBBZGRJbmNsdWRlc0ZvclR5cGVJbkltcGwoIkpTRE9NV2luZG93U2hlbGwi
KTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIke2NsYXNzTmFtZX06OiRjbGFzc05hbWUo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0
cjwkaW1wbFR5cGU+IGltcGwsIEpTRE9NV2luZG93U2hlbGwqIHNoZWxsKVxuIik7CiAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIDogJHBhcmVudENsYXNzTmFtZShnbG9iYWxEYXRhLCBz
dHJ1Y3R1cmUsIGltcGwsIHNoZWxsKVxuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
e1xuIik7CiAgICAgfSBlbHNpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSXNX
b3JrZXJDb250ZXh0In0pIHsKICAgICAgICAgQWRkSW5jbHVkZXNGb3JUeXBlSW5JbXBsKCRpbnRl
cmZhY2VOYW1lKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIke2NsYXNzTmFtZX06OiRj
bGFzc05hbWUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
UGFzc1JlZlB0cjwkaW1wbFR5cGU+IGltcGwpXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgOiAkcGFyZW50Q2xhc3NOYW1lKGdsb2JhbERhdGEsIHN0cnVjdHVyZSwgaW1wbClc
biIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgIH0gZWxzZSB7CiAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiJHtjbGFzc05hbWV9OjokY2xhc3NOYW1lKFN0cnVj
dHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQYXNzUmVm
UHRyPCRpbXBsVHlwZT4gaW1wbClcbiIpOwogICAgICAgICBpZiAoJGhhc1BhcmVudCkgewogICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgOiAkcGFyZW50Q2xhc3NOYW1lKHN0cnVj
dHVyZSwgZ2xvYmFsT2JqZWN0LCBpbXBsKVxuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIntcbiIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgOiAkcGFyZW50Q2xhc3NOYW1lKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KVxu
Iik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAsIG1faW1wbChpbXBsKVxu
Iik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOworICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0LT5nbG9i
YWxEYXRhKCksIGdsb2JhbE9iamVjdCk7XG4iKTsKICAgICAgICAgfQogICAgIH0KLSAgICBwdXNo
KEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEFTU0VS
VChpbmhlcml0cygmc19pbmZvKSk7XG4iKTsKICAgICBpZiAoJG51bUNhY2hlZEF0dHJpYnV0ZXMg
PiAwKSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGZvciAodW5zaWduZWQgaSA9
IEJhc2U6OkFub255bW91c1Nsb3RDb3VudDsgaSA8IEFub255bW91c1Nsb3RDb3VudDsgaSsrKVxu
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IDZhZGNjYWU1MDUyMjlmZTA2M2RhY2M1NzIw
ZGExN2NhYmU1M2U0MzQuLmQ5ZDVkMGNkNGFkY2JhODEwZTAzMDM5YzI1ZDBiZWQ0M2E3NWM5ZWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC0xNDYsNiArMTQ2LDcgQEAgSlNUZXN0SW50ZXJm
YWNlOjpKU1Rlc3RJbnRlcmZhY2UoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWwKICAgICA6IEpTRE9NV3JhcHBlcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkK
ICAgICAsIG1faW1wbChpbXBsKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+
Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZv
KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApp
bmRleCBkYjI3OGMxZDI4ZjI5NDc3OGJkZjk0OTkyYjFlMzA4YjJmNDRiNjAyLi5mMDRkZGY0Y2Rh
NGI1OTg3ZDMyZjk5Njc2ZjFiNzBjMDBlZjFjZjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBAIC0xNDIsNiArMTQyLDcgQEAgSlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lcjo6SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcihTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwKICAgICA6IEpTRE9NV3JhcHBlcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkK
ICAgICAsIG1faW1wbChpbXBsKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+
Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZv
KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggNGRjZWVlZjVjNTk3MzA0ZDNhYzA1M2Q0MTkzY2EwODAw
ZTBiY2EyYi4uOWE4Y2ZlMjI0NDg1N2Y2NWJlYjAxNWY0ZDU1ZmE1YTkwMjA1ZjMyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAKQEAgLTI5Nyw2ICsyOTcsNyBAQCBKU1Rlc3RPYmo6OkpTVGVzdE9iaihTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUGFzcwogICAgIDog
SlNET01XcmFwcGVyKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogICAgICwgbV9pbXBsKGltcGwp
CiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIGdsb2Jh
bE9iamVjdCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAppbmRl
eCBkZDJlMjQzNDA4MTFiNzlmYmE5Y2Y4MTk0YjdiMjQxMjAyN2E5NzBiLi40N2NhNWIwNTY5Mjg3
NWZhNzcyNWExZmZiMGMwNzkyM2Q4YzcxMTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcApAQCAtMTMyLDYgKzEzMiw3IEBA
IEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6SlNUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlKFN0cnVjCiAgICAgOiBKU0RPTVdyYXBwZXIoc3RydWN0dXJlLCBn
bG9iYWxPYmplY3QpCiAgICAgLCBtX2ltcGwoaW1wbCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihn
bG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5o
ZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
Yy9DUnVudGltZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9i
amVjdC5jcHAKaW5kZXggYzYzZTU4NmQyMWMxZTJhYzY2NzkyNjMxODYzMzJiMGM1MDExNThjNi4u
YjQ2MGE5MTQ1MmY2NTZiMDMzOTc4MzU3NDY4NWFjZjBkZTIxZDE0OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcApAQCAtNDAsNiArNDAsMTIgQEAgY29uc3Qg
Q2xhc3NJbmZvIENSdW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJDUnVudGltZU9iamVjdCIsICZS
dW50aW1lT2JqZWN0OjpzX2kKIENSdW50aW1lT2JqZWN0OjpDUnVudGltZU9iamVjdChFeGVjU3Rh
dGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBQYXNzUmVmUHRyPENJbnN0YW5jZT4gaW5zdGFuY2UpCiAgICAgOiBSdW50aW1lT2JqZWN0
KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5jZSkKIHsKKyAgICBmaW5pc2hD
cmVhdGlvbihnbG9iYWxPYmplY3QpOworfQorCit2b2lkIENSdW50aW1lT2JqZWN0OjpmaW5pc2hD
cmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmgKaW5kZXggNzljMzI4
ZjY4ZGJjMDY5MTI5MzQ4NjgxMGRlZDdiMWE2ODFlMjY5Yy4uZmRjMTdiOWIzNWEyYWZlZjA0YmM4
MGI0MjRiMWI2ZmYwYzY2NjY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2Mv
Q1J1bnRpbWVPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9i
amVjdC5oCkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBDUnVudGlt
ZU9iamVjdChFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIFBhc3NSZWZQ
dHI8Q0luc3RhbmNlPik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCop
OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2
YVJ1bnRpbWVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1
bnRpbWVPYmplY3QuY3BwCmluZGV4IGZmZmU4NTZkYTBkNWU1MWI2ODI4ZjI2ZjVkYTExZTE2YTcx
NThmZDQuLmQ2ODRhYjAyZTM5NzAyOWYxMWY1YTI1MTRhY2IwYWQzMTNkYjBlZWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5jcHAK
QEAgLTM4LDYgKzM4LDEyIEBAIGNvbnN0IENsYXNzSW5mbyBKYXZhUnVudGltZU9iamVjdDo6c19p
bmZvID0geyAiSmF2YVJ1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVjCiBKYXZhUnVudGltZU9i
amVjdDo6SmF2YVJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxKYXZhSW5zdGFu
Y2U+IGluc3RhbmNlKQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0
cnVjdHVyZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsK
K30KKwordm9pZCBKYXZhUnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmpl
Y3QpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oCmluZGV4IDg4ZTFlM2I4
MmEyNThhMDU5MGFmYTdmM2U0MWJiYzlkMGIxNDhlYzMuLmYzNjg4Yzk0YTIzYjcxYmFjMTA1YjM2
Y2Q1ZDI0MzFiZDU3ZDk1MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
anNjL0phdmFSdW50aW1lT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9q
c2MvSmF2YVJ1bnRpbWVPYmplY3QuaApAQCAtNTksNiArNTksNyBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgSmF2YVJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPEphdmFJbnN0YW5jZT4pOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oCmluZGV4IGE4ODEzZmUzZjc4ZThmYTUzZTIzYzNi
YWFiOTcwYzQzMmRlMGZmZDIuLjkzM2E0ZDE4YTM5YjU0OWYwNzFkNDZmMGY3MDliZDY1MzE4ZmQ0
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2Jq
ZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3Qu
aApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgT2JqQ1J1bnRpbWVP
YmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBQYXNzUmVmUHRyPE9iamNJbnN0YW5j
ZT4sIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3Qq
KTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNS
dW50aW1lT2JqZWN0Lm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVP
YmplY3QubW0KaW5kZXggZWE4NjI2MzJkZWM0Y2ZlN2FlZGQ2MWRlNTg0YmIyZDVjMGViOGZhOS4u
YzUxYmQ0ZDIwYzkzYjZhYzgwODhkZGNkZGJhMjhjZjIwZDg3ODk2ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QubW0KQEAgLTM4LDYgKzM4LDEy
IEBAIGNvbnN0IENsYXNzSW5mbyBPYmpDUnVudGltZU9iamVjdDo6c19pbmZvID0geyAiT2JqQ1J1
bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVjCiBPYmpDUnVudGltZU9iamVjdDo6T2JqQ1J1bnRp
bWVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQ
YXNzUmVmUHRyPE9iamNJbnN0YW5jZT4gaW5zdGFuY2UsIFN0cnVjdHVyZSogc3RydWN0dXJlKQog
ICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFu
Y2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBPYmpD
UnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogICAgIEFTU0VS
VChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9vYmpjL29iamNfcnVudGltZS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2Jq
Y19ydW50aW1lLmgKaW5kZXggMTc1M2MwYmM3ZWUwOTYxMjgzYWNjZGI2ZjljNWQ3ZWEyZmZjNTQy
Mi4uYmI3ZDc3NTlhZDQzNzI1Y2NlMTAxMmRjMzBkYWNmM2VlODU0MzBlYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgKQEAgLTk5LDcgKzk5LDkgQEAgcHVibGlj
OgogICAgIHsKICAgICAgICAgLy8gRklYTUU6IGRlcHJlY2F0ZWRHZXRET01TdHJ1Y3R1cmUgdXNl
cyB0aGUgcHJvdG90eXBlIG9mZiBvZiB0aGUgd3JvbmcgZ2xvYmFsIG9iamVjdAogICAgICAgICBT
dHJ1Y3R1cmUqIGRvbVN0cnVjdHVyZSA9IFdlYkNvcmU6OmRlcHJlY2F0ZWRHZXRET01TdHJ1Y3R1
cmU8T2JqY0ZhbGxiYWNrT2JqZWN0SW1wPihleGVjKTsKLSAgICAgICAgcmV0dXJuIG5ldyAoYWxs
b2NhdGVDZWxsPE9iamNGYWxsYmFja09iamVjdEltcD4oKmV4ZWMtPmhlYXAoKSkpIE9iamNGYWxs
YmFja09iamVjdEltcChnbG9iYWxPYmplY3QsIGRvbVN0cnVjdHVyZSwgaW5zdGFuY2UsIHByb3Bl
cnR5TmFtZSk7CisgICAgICAgIE9iamNGYWxsYmFja09iamVjdEltcCogZmFsbGJhY2tPYmplY3Qg
PSBuZXcgKGFsbG9jYXRlQ2VsbDxPYmpjRmFsbGJhY2tPYmplY3RJbXA+KCpleGVjLT5oZWFwKCkp
KSBPYmpjRmFsbGJhY2tPYmplY3RJbXAoZ2xvYmFsT2JqZWN0LCBkb21TdHJ1Y3R1cmUsIGluc3Rh
bmNlLCBwcm9wZXJ0eU5hbWUpOworICAgICAgICBmYWxsYmFja09iamVjdC0+ZmluaXNoQ3JlYXRp
b24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIGZhbGxiYWNrT2JqZWN0OwogICAgIH0K
IAogICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19pbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL29iamMvb2JqY19ydW50aW1lLm1tCmluZGV4IGRmMGU3MWM3ZmVjYjYyZTE2Zjc1ZGE5MTIw
MzFmYTk2YjFhMmE3YzYuLmFjZTJiYTc1OWM0NjhmN2I3MDcyOWVlOTMxZDYyN2Y0ZjYxNTNlNzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW0KQEAgLTIwMSw3
ICsyMDEsNiBAQCBPYmpjRmFsbGJhY2tPYmplY3RJbXA6Ok9iamNGYWxsYmFja09iamVjdEltcChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1YwogICAgICwgX2luc3RhbmNlKGkpCiAg
ICAgLCBfaXRlbShwcm9wZXJ0eU5hbWUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2Jq
ZWN0KTsKIH0KIAogdm9pZCBPYmpjRmFsbGJhY2tPYmplY3RJbXA6OmZpbmlzaENyZWF0aW9uKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2lu
c3RhbmNlLmNwcAppbmRleCAyMDlkNWVjYTliZTM1YzA5M2E4YWYxNTM3Yzk4NmI1YTQ1YzNkOGY3
Li42YjA5ZDg1MDVlMGQ5MzY4ODUzZGFhZjJhYTE3OWY1NDJjNzUzYmE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAKQEAgLTg1LDYgKzg1LDcgQEAgY29uc3QgQ2xh
c3NJbmZvIFF0UnVudGltZU9iamVjdDo6c19pbmZvID0geyAiUXRSdW50aW1lT2JqZWN0IiwgJlJ1
bnRpbWVPYmplY3Q6OnMKIFF0UnVudGltZU9iamVjdDo6UXRSdW50aW1lT2JqZWN0KEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIFBhc3NSZWZQdHI8SW5zdGFuY2U+IGluc3RhbmNlKQogICAgIDogUnVudGltZU9iamVjdChl
eGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3Jl
YXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogLy8gUXRJbnN0YW5jZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwCmluZGV4IDRmYWM1MjAxZDZkZDMxNWQz
MGU5ZmY5MzI4ODMwM2FlNzIyMDdjMWMuLjczYzg0Y2U5ZDBhOTFhMmU4MDhhNmIyZmI0OTg3MjAz
Y2QxNDYzZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9waXhtYXBy
dW50aW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVudGlt
ZS5jcHAKQEAgLTIyNCw2ICsyMjQsNyBAQCBwcml2YXRlOgogUXRQaXhtYXBSdW50aW1lT2JqZWN0
OjpRdFBpeG1hcFJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxJbnN0YW5jZT4g
aW5zdGFuY2UpCiAgICAgOiBSdW50aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0
dXJlLCBpbnN0YW5jZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQog
CiBjb25zdCBDbGFzc0luZm8gUXRQaXhtYXBSdW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJRdFBp
eG1hcFJ1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVjdDo6c19pbmZvLCAwLCAwIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKaW5kZXggODJlYmQ5ODNjOWE2OWI4YmUx
ZGVkMDk0YWNlODY4YTI3MDM3ZmNkZS4uODI2MjcxZjEwODc0YzAzYjQ2OWE5NWJiNGEwZTVjZDJh
YWU5MTAyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcApAQCAtMTAw
NiwxMiArMTAwNiwxOCBAQCBKU1ZhbHVlIGNvbnZlcnRRVmFyaWFudFRvVmFsdWUoRXhlY1N0YXRl
KiBleGVjLCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+IHJvb3QsIGNvbgogCiBjb25zdCBDbGFzc0lu
Zm8gUXRSdW50aW1lTWV0aG9kOjpzX2luZm8gPSB7ICJRdFJ1bnRpbWVNZXRob2QiLCAmSW50ZXJu
YWxGdW5jdGlvbjo6c19pbmZvLCAwLCAwIH07CiAKLVF0UnVudGltZU1ldGhvZDo6UXRSdW50aW1l
TWV0aG9kKFF0UnVudGltZU1ldGhvZERhdGEqIGRkLCBFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgUGFzc1JlZlB0cjxRdEluc3Rh
bmNlPiBpbnN0KQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIHN0cnVjdHVyZSwgaWRlbnQpCitRdFJ1bnRpbWVN
ZXRob2Q6OlF0UnVudGltZU1ldGhvZChRdFJ1bnRpbWVNZXRob2REYXRhKiBkZCwgRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmll
ciwgUGFzc1JlZlB0cjxRdEluc3RhbmNlPiBpbnN0YW5jZSkKKyAgICA6IEludGVybmFsRnVuY3Rp
b24oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBzdHJ1Y3R1cmUpCiAgICAgLCBkX3B0cihk
ZCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBpZGVudGlmaWVyLCBpbnN0YW5jZSk7Cit9
CisKK3ZvaWQgUXRSdW50aW1lTWV0aG9kOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIFBhc3NSZWZQdHI8UXRJbnN0YW5jZT4gaW5z
dGFuY2UpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGlkZW50aWZpZXIpOwogICAgIFFXX0QoUXRSdW50
aW1lTWV0aG9kKTsKLSAgICBkLT5tX2luc3RhbmNlID0gaW5zdDsKKyAgICBkLT5tX2luc3RhbmNl
ID0gaW5zdGFuY2U7CiAgICAgZC0+bV9maW5hbGl6ZXIuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwg
dGhpcywgZCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9y
dW50aW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oCmluZGV4IGQ0
OTdlY2E5NTUyNTJmYmE1Yjk2ZGVkODkwODI4MGQ1ZWZjYzU0YjYuLjA4MDk4MWM3N2I4OGFkNTA1
YjBkZTZhMWU2NGFiYjRmYzM2MjI1YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9xdC9xdF9ydW50aW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRp
bWUuaApAQCAtMTQzLDYgKzE0Myw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQYXNz
UmVmUHRyPFF0SW5zdGFuY2U+KTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlkZXNHZXRQcm9wZXJ0
eU5hbWVzIHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlkZXNWaXNp
dENoaWxkcmVuOwogCiAgICAgUXRSdW50aW1lTWV0aG9kRGF0YSAqZF9mdW5jKCkgY29uc3Qge3Jl
dHVybiBkX3B0cjt9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9h
cnJheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAKaW5kZXgg
ZTAxYTE1ZjM3Y2M5MWM0NThlZGExNDFjNzQ4NmQ4YzI2OWM2ZGNiMC4uOGEwMzdmOTI0ZGNhYTgy
MDljNzE4MTcyZTFhOGM4ZGM3NDUzYzMzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfYXJyYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X2FycmF5LmNwcApAQCAtMzcsMTAgKzM3LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNvbnN0IENs
YXNzSW5mbyBSdW50aW1lQXJyYXk6OnNfaW5mbyA9IHsgIlJ1bnRpbWVBcnJheSIsICZKU0FycmF5
OjpzX2luZm8sIDAsIDAgfTsKIAotUnVudGltZUFycmF5OjpSdW50aW1lQXJyYXkoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQmluZGluZ3M6OkFycmF5KiBhcnJheSkKK1J1
bnRpbWVBcnJheTo6UnVudGltZUFycmF5KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAgICAgOiBKU0FycmF5KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgYXJyYXkpOwogfQogCiB2b2lk
IFJ1bnRpbWVBcnJheTo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBC
aW5kaW5nczo6QXJyYXkqIGFycmF5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfYXJyYXkuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgK
aW5kZXggOGQ4ZjVhZTZiZjY4YTYzMzg2NWQwZDAyYmY2NDNmOTVlNDRhODk1Ny4uY2FhM2FmMjJl
ZDQ4N2IxODRjYTY5OWUzOTBjZTU2Y2UyMTU0NDY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVu
dGltZV9hcnJheS5oCkBAIC00MSw3ICs0MSw5IEBAIHB1YmxpYzoKICAgICAgICAgLy8gRklYTUU6
IGRlcHJlY2F0ZWRHZXRET01TdHJ1Y3R1cmUgdXNlcyB0aGUgcHJvdG90eXBlIG9mZiBvZiB0aGUg
d3JvbmcgZ2xvYmFsIG9iamVjdAogICAgICAgICAvLyBXZSBuZWVkIHRvIHBhc3MgaW4gdGhlIHJp
Z2h0IGdsb2JhbCBvYmplY3QgZm9yICJhcnJheSIuCiAgICAgICAgIFN0cnVjdHVyZSogZG9tU3Ry
dWN0dXJlID0gV2ViQ29yZTo6ZGVwcmVjYXRlZEdldERPTVN0cnVjdHVyZTxSdW50aW1lQXJyYXk+
KGV4ZWMpOwotICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8UnVudGltZUFycmF5Pigq
ZXhlYy0+aGVhcCgpKSkgUnVudGltZUFycmF5KGV4ZWMsIGRvbVN0cnVjdHVyZSwgYXJyYXkpOwor
ICAgICAgICBSdW50aW1lQXJyYXkqIHJ1bnRpbWVBcnJheSA9IG5ldyAoYWxsb2NhdGVDZWxsPFJ1
bnRpbWVBcnJheT4oKmV4ZWMtPmhlYXAoKSkpIFJ1bnRpbWVBcnJheShleGVjLCBkb21TdHJ1Y3R1
cmUpOworICAgICAgICBydW50aW1lQXJyYXktPmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERh
dGEoKSwgYXJyYXkpOworICAgICAgICByZXR1cm4gcnVudGltZUFycmF5OwogICAgIH0KIAogICAg
IHR5cGVkZWYgQmluZGluZ3M6OkFycmF5IEJpbmRpbmdzQXJyYXk7CkBAIC03OSw3ICs4MSw3IEBA
IHByb3RlY3RlZDoKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBP
dmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwg
SlNBcnJheTo6U3RydWN0dXJlRmxhZ3M7CiAKIHByaXZhdGU6Ci0gICAgUnVudGltZUFycmF5KEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZSosIEJpbmRpbmdzOjpBcnJheSopOworICAgIFJ1bnRpbWVBcnJh
eShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKTsKICAgICBzdGF0aWMgSlNWYWx1ZSBsZW5ndGhHZXR0
ZXIoRXhlY1N0YXRlKiwgSlNWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYpOwogICAgIHN0YXRpYyBK
U1ZhbHVlIGluZGV4R2V0dGVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUsIHVuc2lnbmVkKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcAppbmRleCAyOGZiZDNmOWMwZDkx
ODA2MWU2OWZiMTQ0YWRiZTliYjU4NGYxMzljLi5kMTRmNTRmMThmMWNlMjU1NGFjZTViNDZlNzJk
ZmM2OGI4MjFjOTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9t
ZXRob2QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAK
QEAgLTQ1LDkgKzQ1LDE1IEBAIGNvbnN0IENsYXNzSW5mbyBSdW50aW1lTWV0aG9kOjpzX2luZm8g
PSB7ICJSdW50aW1lTWV0aG9kIiwgJkludGVybmFsRnVuY3Rpb246OnNfCiAKIFJ1bnRpbWVNZXRo
b2Q6OlJ1bnRpbWVNZXRob2QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEJp
bmRpbmdzOjpNZXRob2RMaXN0JiBtKQogICAgIC8vIENhbGxlcnMgd2lsbCBuZWVkIHRvIHBhc3Mg
aW4gdGhlIHJpZ2h0IGdsb2JhbCBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGlzIG5hdGl2ZSBv
YmplY3QgIm0iLgotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBn
bG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGds
b2JhbE9iamVjdCwgc3RydWN0dXJlKQogICAgICwgX21ldGhvZExpc3QoYWRvcHRQdHIobmV3IE1l
dGhvZExpc3QobSkpKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwg
Z2xvYmFsT2JqZWN0LCBpZGVudCk7Cit9CisKK3ZvaWQgUnVudGltZU1ldGhvZDo6ZmluaXNoQ3Jl
YXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bihnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIGlkZW50KTsKICAgICBBU1NFUlQoaW5oZXJpdHMo
JnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGlt
ZV9tZXRob2QuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5oCmluZGV4
IGM2YzNlNGVlMDkyMDdiM2UzYzE2MTcxY2NiNjRlNzJmZWJlY2IwNTQuLmQ1ZTRhMmI5ZGY3YzUz
YWI2ZDg5NDNjZTFlNWNiZDI4ZTVkZjRiYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9ydW50aW1lX21ldGhvZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X21ldGhvZC5oCkBAIC01OCw2ICs1OCw3IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIFJ1
bnRpbWVNZXRob2QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBjb25z
dCBJZGVudGlmaWVyJiBuYW1lLCBCaW5kaW5nczo6TWV0aG9kTGlzdCYpOworICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgSlNHbG9iYWxPYmplY3QqLCBjb25zdCBJZGVudGlm
aWVyJik7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJp
ZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7
CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9v
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAppbmRl
eCA5NjY0MGYwMDhmYWMxYWM0NzE3NjRmZjg1ZTNiOGY2NDViOTJiZjJjLi45YmZlNDY3OWJjMGJl
Y2Y3MDk2ZGViNTY0MDQwZjIzOTcyNzQ5NDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX29iamVjdC5jcHAKQEAgLTQxLDcgKzQxLDYgQEAgUnVudGltZU9iamVjdDo6UnVudGltZU9i
amVjdChFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUK
ICAgICA6IEpTT2JqZWN0V2l0aEdsb2JhbE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkK
ICAgICAsIG1faW5zdGFuY2UoaW5zdGFuY2UpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFs
T2JqZWN0KTsKIH0KIAogdm9pZCBSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfb2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3Qu
aAppbmRleCA5OWUwNmUwMWM1YmFmNzgwNzdmYjlhNGJkZGY5M2E1YTQ0ZDhjM2JjLi43ZmJiMjg0
ODExMTE2ZTkzMWJhZjI3ZWM0MjZkZjU0NjFhYzUxZDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9vYmplY3QuaApAQCAtMzksNyArMzksOSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
UnVudGltZU9iamVjdCogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SW5zdGFuY2U+IGlu
c3RhbmNlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFJ1bnRpbWVP
YmplY3Q+KCpleGVjLT5oZWFwKCkpKSBSdW50aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlLCBpbnN0YW5jZSk7CisgICAgICAgIFJ1bnRpbWVPYmplY3QqIG9iamVjdCA9IG5l
dyAoYWxsb2NhdGVDZWxsPFJ1bnRpbWVPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBSdW50aW1lT2Jq
ZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5jZSk7CisgICAgICAgIG9i
amVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIG9iamVj
dDsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5SdW50aW1lT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
aW5kZXggYTRjM2QxMDkzYzQzZTgxNDRjM2E0NGZkZDllYjc2NjExYmI1ZDQ3OS4uYWM0YjMxNmMw
M2M2NzljMTg0MWYxNGQ2Y2E4ZmFiZWVjOGY3ZmE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI3IEBACisyMDExLTA5LTAzICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVj
dG9ycyBpbiBKU0NlbGwgaGllcmFyY2h5ICg1LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENvbXBsZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2YgdGhlIHJl
ZmFjdG9yaW5nIHRvIGFkZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFs
bCBjbGFzc2VzIHdpdGhpbiB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAor
ICAgICAgICBjb25zdHJ1Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29u
c2lzdHMgb2YgcHVzaGluZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAg
ICAgICBpbnRvIHRoZSBjb25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29u
ZCBsZXZlbCBvZiB0aGUgaGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhl
IGZpbmlzaENyZWF0aW9uKCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGlu
ZworICAgICAgICBjcmVhdGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2lt
dWx0YW5lb3VzbHkgYWxsb3dzIHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50
IHRoYXQgdGhlIGZpbmlzaENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5
IAorICAgICAgICBvbmNlIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBj
YWxsaW5nIGl0IGFueSBvdGhlciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBt
b3JlKSB3aWxsIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogUGx1Z2lu
cy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lmg6CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQv
UHJveHlSdW50aW1lT2JqZWN0Lm1tOgorICAgICAgICAoV2ViS2l0OjpQcm94eVJ1bnRpbWVPYmpl
Y3Q6OlByb3h5UnVudGltZU9iamVjdCk6CisgICAgICAgIChXZWJLaXQ6OlByb3h5UnVudGltZU9i
amVjdDo6ZmluaXNoQ3JlYXRpb24pOgorCiAyMDExLTA5LTAxICBNYXJrIFJvd2UgIDxtcm93ZUBh
cHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSBidWlsZCBieSBhZGRpbmcgc29tZSBtb3JlIG1p
c3NpbmcgcmV0dXJuIHR5cGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5z
L0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QuaAppbmRleCBkOGFlODExMGE1NWJjOTIwYjM0Yjhl
ZGMwNGE3YTdhNTg5MDM5NjAxLi42MjI5NDMzNDcwNDhmNjgzMDA4ODFiOGMyZGI0ODI4MGI1NDMz
OGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eVJ1
bnRpbWVPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94
eVJ1bnRpbWVPYmplY3QuaApAQCAtNTksNiArNTksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNv
bnN0IEpTQzo6Q2xhc3NJbmZvIHNfaW5mbzsKIHByaXZhdGU6CiAgICAgUHJveHlSdW50aW1lT2Jq
ZWN0KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6U3RydWN0dXJl
KiwgUGFzc1JlZlB0cjxQcm94eUluc3RhbmNlPik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihK
U0M6OkpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QubW0gYi9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QubW0KaW5kZXggOGE2NDgxZTNk
NDUyY2IzZmI2ZjgxYjFlZjAzNTY5MzAxYmIzMGM0Yy4uNWNiMjc0OWM5Mjg4MzlhODUzYTQxYmQ5
NTQwNTM4NTQ1ZmFlNTgxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9I
b3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbQpAQCAtMzksNiArMzksMTIgQEAgY29uc3Qg
Q2xhc3NJbmZvIFByb3h5UnVudGltZU9iamVjdDo6c19pbmZvID0geyAiUHJveHlSdW50aW1lT2Jq
ZWN0IiwgJlJ1bnRpbWVPYmoKIFByb3h5UnVudGltZU9iamVjdDo6UHJveHlSdW50aW1lT2JqZWN0
KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8UHJveHlJbnN0YW5jZT4gaW5zdGFuY2UpCiAgICAgOiBS
dW50aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5jZSkKIHsK
KyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOworfQorCit2b2lkIFByb3h5UnVudGlt
ZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sK
KyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhl
cml0cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4NmI3ZmM4YTU1ZDY2Y2I4YTcwMmVk
NTY2ZTYwYmI3YmUxZjJjMDM5Li43YjExZGQyYzM4Y2M5YzdkZTIzMDBjNWQyZDU4YjhmOTcwOTQx
OWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDktMDMgIE1hcmsgSGFobmVu
YmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBVbnppcCBpbml0aWFsaXph
dGlvbiBsaXN0cyBhbmQgY29uc3RydWN0b3JzIGluIEpTQ2VsbCBoaWVyYXJjaHkgKDUvNykKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDIwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29tcGxldGVkIHRo
ZSBmaWZ0aCBsZXZlbCBvZiB0aGUgcmVmYWN0b3JpbmcgdG8gYWRkIGZpbmlzaENyZWF0aW9uKCkg
CisgICAgICAgIG1ldGhvZHMgdG8gYWxsIGNsYXNzZXMgd2l0aGluIHRoZSBKU0NlbGwgaGllcmFy
Y2h5IHdpdGggbm9uLXRyaXZpYWwgCisgICAgICAgIGNvbnN0cnVjdG9yIGJvZGllcy4KKworICAg
ICAgICBUaGlzIHByaW1hcmlseSBjb25zaXN0cyBvZiBwdXNoaW5nIHRoZSBjYWxscyB0byBmaW5p
c2hDcmVhdGlvbigpIGRvd24gCisgICAgICAgIGludG8gdGhlIGNvbnN0cnVjdG9ycyBvZiB0aGUg
c3ViY2xhc3NlcyBvZiB0aGUgc2Vjb25kIGxldmVsIG9mIHRoZSBoaWVyYXJjaHkgCisgICAgICAg
IGFzIHdlbGwgYXMgcHVsbGluZyB0aGUgZmluaXNoQ3JlYXRpb24oKSBjYWxscyBvdXQgaW50byB0
aGUgY2xhc3MncyBjb3JyZXNwb25kaW5nCisgICAgICAgIGNyZWF0ZSgpIG1ldGhvZCBpZiBpdCBo
YXMgb25lLiAgRG9pbmcgYm90aCBzaW11bHRhbmVvdXNseSBhbGxvd3MgdXMgdG8gCisgICAgICAg
IG1haW50YWluIHRoZSBpbnZhcmlhbnQgdGhhdCB0aGUgZmluaXNoQ3JlYXRpb24oKSBtZXRob2Qg
Y2hhaW4gaXMgY2FsbGVkIGV4YWN0bHkgCisgICAgICAgIG9uY2UgZHVyaW5nIHRoZSBjcmVhdGlv
biBvZiBhbiBvYmplY3QsIHNpbmNlIGNhbGxpbmcgaXQgYW55IG90aGVyIG51bWJlciBvZiAKKyAg
ICAgICAgdGltZXMgKDAsIDIsIG9yIG1vcmUpIHdpbGwgY2F1c2UgYW4gYXNzZXJ0aW9uIGZhaWx1
cmUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkpTTlBNZXRob2Q6OkpTTlBNZXRob2QpOgorICAgICAgICAo
V2ViS2l0OjpKU05QTWV0aG9kOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuaDoKKyAgICAgICAgKFdlYktpdDo6SlNOUE1l
dGhvZDo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNO
UE9iamVjdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6OkpTTlBPYmplY3QpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0Lmg6CisgICAg
ICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6OmNyZWF0ZSk6CisKIDIwMTEtMDktMDIgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHI5NDQ3My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcAppbmRleCA4NzllNmI4YjI2YWFi
YTc4M2Y0NGYzYTg3YmE1YjA2ZGIxM2Q0YzE5Li41MDJiZjI3NmRhYTVjMGRhODAzNThiYTYyOTBj
ZDMxNDlkYjlhMWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvRXJyb3IuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9G
dW5jdGlvblByb3RvdHlwZS5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTR2xvYmFsT2Jq
ZWN0Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0pTSFRNTEVsZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0pTUGx1Z2luRWxlbWVu
dEZ1bmN0aW9ucy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KQEAgLTQx
LDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY29uc3QgQ2xhc3NJbmZvIEpTTlBN
ZXRob2Q6OnNfaW5mbyA9IHsgIk5QTWV0aG9kIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywg
MCwgMCB9OwogCi1KU05QTWV0aG9kOjpKU05QTWV0aG9kKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSwgTlBJZGVudGlm
aWVyIG5wSWRlbnRpZmllciwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBJbnRlcm5hbEZ1
bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBuYW1l
KQorSlNOUE1ldGhvZDo6SlNOUE1ldGhvZChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBu
YW1lLCBOUElkZW50aWZpZXIgbnBJZGVudGlmaWVyKQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihn
bG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAsIG1fbnBJZGVudGlmaWVyKG5wSWRlbnRpZmll
cikKIHsKLSAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOworICAgIGZpbmlzaENyZWF0aW9u
KGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBuYW1lKTsKIH0KIAotSlNOUE1ldGhv
ZCogSlNOUE1ldGhvZDo6Y3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIE5QSWRlbnRpZmllciBucElkZW50
KQordm9pZCBKU05QTWV0aG9kOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImIG5hbWUp
CiB7Ci0gICAgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNyZWF0ZVN0cnVjdHVyZShleGVj
LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdC0+ZnVuY3Rpb25Qcm90b3R5cGUoKSk7Ci0gICAg
cmV0dXJuIG5ldyAoSlNDOjphbGxvY2F0ZUNlbGw8SlNOUE1ldGhvZD4oKmV4ZWMtPmhlYXAoKSkp
IEpTTlBNZXRob2QoZXhlYywgZ2xvYmFsT2JqZWN0LCBpZGVudCwgbnBJZGVudCwgc3RydWN0dXJl
KTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIG5h
bWUpOworICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxNZXRob2QoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRo
b2QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0
aG9kLmgKaW5kZXggYmIzNzI5ZDgxMGU3ZjgzNDZiYjI1NDg3YWE0OTU5ZDNhMGVhNjNlOS4uNGJk
YTkwOGEzYzMyN2NmYzhkN2JlMmRlMjgwMGNkZGExNmI5ZjliOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oCkBA
IC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIEpTTlBNZXRob2RfaAogI2RlZmluZSBKU05QTWV0aG9k
X2gKIAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Z1bmN0aW9uUHJvdG90eXBlLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSW50ZXJuYWxGdW5jdGlvbi5oPgogCiB0eXBlZGVmIHZvaWQq
IE5QSWRlbnRpZmllcjsKQEAgLTM3LDE0ICszOCwyMSBAQCBjbGFzcyBKU05QTWV0aG9kIDogcHVi
bGljIEpTQzo6SW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0M6Oklu
dGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBKU05QTWV0aG9kKiBjcmVhdGUoSlND
OjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiwgTlBJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgSlNOUE1ldGhvZCogY3JlYXRlKEpTQzo6RXhl
Y1N0YXRlKiBleGVjLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYgaWRlbnQsIE5QSWRlbnRpZmllciBucElkZW50KQorICAgIHsKKyAgICAg
ICAgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9i
YWxEYXRhKCksIGdsb2JhbE9iamVjdC0+ZnVuY3Rpb25Qcm90b3R5cGUoKSk7CisgICAgICAgIHJl
dHVybiBuZXcgKEpTQzo6YWxsb2NhdGVDZWxsPEpTTlBNZXRob2Q+KCpleGVjLT5oZWFwKCkpKSBK
U05QTWV0aG9kKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwgbnBJZGVudCk7
CisgICAgfQogCiAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJbmZvIHNfaW5mbzsKIAogICAg
IE5QSWRlbnRpZmllciBucElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX25wSWRlbnRpZmll
cjsgfQogCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OkpTR2xvYmFs
RGF0YSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIG5hbWUp
OworCiBwcml2YXRlOiAgICAKLSAgICBKU05QTWV0aG9kKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U0dsb2JhbE9iamVjdCosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIE5QSWRlbnRpZmllciwgSlND
OjpTdHJ1Y3R1cmUqKTsKKyAgICBKU05QTWV0aG9kKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0ds
b2JhbE9iamVjdCosIEpTQzo6U3RydWN0dXJlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiwgTlBJ
ZGVudGlmaWVyKTsKIAogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJl
KEpTQzo6SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9KU05QT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9KU05QT2JqZWN0LmNwcAppbmRleCAyMjkxMGY1Y2E0NzY3NjY1YWEzOGZjOGVjNGRj
ZGNlOTVmYWZkYWYzLi45OWEzYjg4N2VhYmZhNWYxZjVkMjE0ZDU5NGYzMzQzZjE2OGU5MDk1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNO
UE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL0pTTlBPYmplY3QuY3BwCkBAIC01MCwxMiArNTAsMTEgQEAgc3RhdGljIE5QSWRlbnRpZmll
ciBucElkZW50aWZpZXJGcm9tSWRlbnRpZmllcihjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVy
KQogCiBjb25zdCBDbGFzc0luZm8gSlNOUE9iamVjdDo6c19pbmZvID0geyAiTlBPYmplY3QiLCAm
SlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIDAgfTsKIAotSlNOUE9iamVjdDo6
SlNOUE9iamVjdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBOUFJ1bnRpbWVPYmplY3RN
YXAqIG9iamVjdE1hcCwgTlBPYmplY3QqIG5wT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkK
K0pTTlBPYmplY3Q6OkpTTlBPYmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFwLCBOUE9iamVj
dCogbnBPYmplY3QpCiAgICAgOiBKU09iamVjdFdpdGhHbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0
LCBzdHJ1Y3R1cmUpCiAgICAgLCBtX29iamVjdE1hcChvYmplY3RNYXApCiAgICAgLCBtX25wT2Jq
ZWN0KG5wT2JqZWN0KQogewotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAK
IHZvaWQgSlNOUE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKQEAgLTY5LDEyICs2OCw2IEBAIHZvaWQgSlNOUE9iamVjdDo6ZmluaXNoQ3JlYXRpb24o
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICByZXRhaW5OUE9iamVjdChtX25wT2Jq
ZWN0KTsKIH0KIAotSlNOUE9iamVjdCogSlNOUE9iamVjdDo6Y3JlYXRlKEpTQzo6SlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgTlBSdW50aW1lT2JqZWN0TWFwKiBvYmplY3RNYXAsIE5QT2Jq
ZWN0KiBucE9iamVjdCkKLXsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNyZWF0ZVN0cnVj
dHVyZShnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90
b3R5cGUoKSk7Ci0gICAgcmV0dXJuIG5ldyAoSlNDOjphbGxvY2F0ZUNlbGw8SlNOUE9iamVjdD4o
Z2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCkuaGVhcCkpIEpTTlBPYmplY3QoZ2xvYmFsT2JqZWN0
LCBvYmplY3RNYXAsIG5wT2JqZWN0LCBzdHJ1Y3R1cmUpOwotfQotCiBKU05QT2JqZWN0Ojp+SlNO
UE9iamVjdCgpCiB7CiAgICAgQVNTRVJUKCFtX25wT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oCmluZGV4
IDc1ODIyYzNjNTk2NzNkOGNkYjdhNDdiZWJjODYxZDNiZDhiNjliZGIuLmRkNDExM2M5NzAxYjRm
OWNjZTE5ZDlmOGNlZmQ2ODY4OTZlMTlmZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaApAQCAtMjcsNiArMjcs
NyBAQAogI2RlZmluZSBKU05QT2JqZWN0X2gKIAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
T2JqZWN0V2l0aEdsb2JhbE9iamVjdC5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL09iamVj
dFByb3RvdHlwZS5oPgogCiB0eXBlZGVmIHZvaWQqIE5QSWRlbnRpZmllcjsKIHN0cnVjdCBOUE9i
amVjdDsKQEAgLTQxLDcgKzQyLDE0IEBAIGNsYXNzIEpTTlBPYmplY3QgOiBwdWJsaWMgSlNDOjpK
U09iamVjdFdpdGhHbG9iYWxPYmplY3QgewogcHVibGljOgogICAgIHR5cGVkZWYgSlNDOjpKU09i
amVjdFdpdGhHbG9iYWxPYmplY3QgQmFzZTsKIAotICAgIHN0YXRpYyBKU05QT2JqZWN0KiBjcmVh
dGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIE5QUnVudGltZU9iamVjdE1hcCosIE5QT2JqZWN0Kik7
CisgICAgc3RhdGljIEpTTlBPYmplY3QqIGNyZWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFwLCBOUE9iamVjdCogbnBPYmpl
Y3QpCisgICAgeworICAgICAgICBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlID0gY3JlYXRlU3Ry
dWN0dXJlKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QtPm9iamVjdFBy
b3RvdHlwZSgpKTsKKyAgICAgICAgSlNOUE9iamVjdCogb2JqZWN0ID0gbmV3IChKU0M6OmFsbG9j
YXRlQ2VsbDxKU05QT2JqZWN0PihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKS5oZWFwKSkgSlNO
UE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgb2JqZWN0TWFwLCBucE9iamVjdCk7Cisg
ICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0
dXJuIG9iamVjdDsKKyAgICB9CisKICAgICB+SlNOUE9iamVjdCgpOwogCiAgICAgdm9pZCBpbnZh
bGlkYXRlKCk7CkBAIC02MSw3ICs2OSw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKIAogcHJpdmF0ZToKLSAgICBKU05QT2JqZWN0
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBOUFJ1bnRpbWVPYmplY3RNYXAqLCBOUE9iamVjdCosIEpT
Qzo6U3RydWN0dXJlKik7CisgICAgSlNOUE9iamVjdChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpTdHJ1Y3R1cmUqLCBOUFJ1bnRpbWVPYmplY3RNYXAqLCBOUE9iamVjdCopOwogCiAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gSlNDOjpPdmVycmlkZXNHZXRPd25Q
cm9wZXJ0eVNsb3QgfCBKU0M6Ok92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMgfCBKU09iamVjdDo6
U3RydWN0dXJlRmxhZ3M7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106277</attachid>
            <date>2011-09-03 21:59:23 -0700</date>
            <delta_ts>2011-09-06 16:41:15 -0700</delta_ts>
            <desc>Fixing spacing issue</desc>
            <filename>bug-67420-20110903215924.patch</filename>
            <type>text/plain</type>
            <size>121439</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ0OTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRleCA5NTA0YWQ4MGQ4NTNmM2M2NTVm
ODQyOGQ3ZDE2YTY1ZmVjYjgzMDc3Li42YTA5OTM0ZmNjYjYwYTM4ZmNmYmQ0MmU5MzU2ZTkxZGI3
OWY5YjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwCkBAIC00Myw3ICs0Myw2IEBAIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6
SlNDYWxsYmFja0NvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
CiAgICAgLCBtX2NsYXNzKGpzQ2xhc3MpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCwganNDbGFzcyk7CiB9CiAKIHZvaWQgSlND
YWxsYmFja0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NsYXNzUmVmIGpzQ2xhc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAppbmRleCA5MTE5MWRiNWY5Njc5OWUyMGNhNDZl
OTEwMTRlNWVhNGFjNjY4Y2Q3Li44YWNkNjA1YjBhYTQ1ZTlmNzA3NDk3NTJkNzI3ODRkN2I0NDg2
ZWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmgKQEAgLTM3LDcgKzM3LDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIEpTQ2FsbGJh
Y2tDb25zdHJ1Y3RvciogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQ2xhc3NSZWYgY2xhc3NSZWYsIEpT
T2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayBjYWxsYmFjaykgCiAgICAgewotICAgICAg
ICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBKU0NhbGxiYWNrQ29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0LCBjbGFzc1JlZik7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAg
ICB9CiAgICAgCiAgICAgdmlydHVhbCB+SlNDYWxsYmFja0NvbnN0cnVjdG9yKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKaW5kZXggMjhi
MzQxOTIzZGMzNTBlNDNmODhlYzk3MjBkY2U1YjM0M2RiYzRhNy4uY2M1NTYxZmFmZDRiYTQzZWQy
MTk5NTAxY2NkMWE1YWRiNDg4MjNiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcApAQCAtNDMsOSArNDMsMTUgQEAgQVNTRVJUX0NMQVNT
X0ZJVFNfSU5fQ0VMTChKU0NhbGxiYWNrRnVuY3Rpb24pOwogY29uc3QgQ2xhc3NJbmZvIEpTQ2Fs
bGJhY2tGdW5jdGlvbjo6c19pbmZvID0geyAiQ2FsbGJhY2tGdW5jdGlvbiIsICZJbnRlcm5hbEZ1
bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAogSlNDYWxsYmFja0Z1bmN0aW9uOjpKU0NhbGxiYWNr
RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2Jh
bE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCksIG5hbWUp
CisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxs
YmFja0Z1bmN0aW9uU3RydWN0dXJlKCkpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewor
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBuYW1l
KTsKK30KKwordm9pZCBKU0NhbGxiYWNrRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRl
bnRpZmllciYgbmFtZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBn
bG9iYWxPYmplY3QsIG5hbWUpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9u
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5oCmluZGV4
IDFkN2EwYTk4YWUwNDQzOTUwN2Q3N2NkMWU4YjM2MGRhNDM1NWFhZWMuLmFjNTViMmI1ZTE5MTFh
NDliNGJmZmUyZTMxMzI5YzIwZTg4MTI1ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uaApAQCAtMzQsNiArMzQsNyBAQCBuYW1lc3BhY2UgSlND
IHsKIGNsYXNzIEpTQ2FsbGJhY2tGdW5jdGlvbiA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsK
IHByb3RlY3RlZDoKICAgICBKU0NhbGxiYWNrRnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgSlNHbG9iYWxP
YmplY3QqLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKIAogcHVibGljOgogICAgIHR5cGVkZWYg
SW50ZXJuYWxGdW5jdGlvbiBCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggZWIwOWQy
ODJlMDkyM2IzNjMxODA2YmYxNmQ5YTc0YzE2NjFkZjlmMC4uM2ZlMDQzODg0YTZjYTMwMTZmNzI3
NjAwNmQyZTRjYzM0MDUyMzJhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYzIEBACisyMDExLTA5LTAzICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9y
cyBpbiBKU0NlbGwgaGllcmFyY2h5ICg1LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENvbXBsZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2YgdGhlIHJlZmFj
dG9yaW5nIHRvIGFkZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBj
bGFzc2VzIHdpdGhpbiB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAg
ICAgICBjb25zdHJ1Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lz
dHMgb2YgcHVzaGluZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAg
ICBpbnRvIHRoZSBjb25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBs
ZXZlbCBvZiB0aGUgaGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZp
bmlzaENyZWF0aW9uKCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZwor
ICAgICAgICBjcmVhdGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0
YW5lb3VzbHkgYWxsb3dzIHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRo
YXQgdGhlIGZpbmlzaENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAor
ICAgICAgICBvbmNlIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxs
aW5nIGl0IGFueSBvdGhlciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3Jl
KSB3aWxsIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogQVBJL0pTQ2Fs
bGJhY2tDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rv
cjo6SlNDYWxsYmFja0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToK
KyAgICAgICAgKiBBUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlND
YWxsYmFja0Z1bmN0aW9uOjpKU0NhbGxiYWNrRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpKU0Nh
bGxiYWNrRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFj
a0Z1bmN0aW9uLmg6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIEph
dmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6Cisg
ICAgICAgICogZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKiBkZWJ1
Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaDoKKyAgICAgICAgKEpTQzo6RGVidWdnZXJBY3RpdmF0
aW9uOjpjcmVhdGUpOgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChHbG9iYWxPYmplY3Q6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEdsb2JhbE9iamVjdDo6R2xvYmFsT2JqZWN0KToK
KyAgICAgICAgKiBydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpB
cnJheUNvbnN0cnVjdG9yOjpBcnJheUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6QXJyYXlD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAg
ICAoSlNDOjpBcnJheVByb3RvdHlwZTo6QXJyYXlQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRp
bWUvQXJyYXlQcm90b3R5cGUuaDoKKyAgICAgICAgKEpTQzo6QXJyYXlQcm90b3R5cGU6OmNyZWF0
ZSk6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAo
SlNDOjpCb29sZWFuQ29uc3RydWN0b3I6OkJvb2xlYW5Db25zdHJ1Y3Rvcik6CisgICAgICAgIChK
U0M6OkJvb2xlYW5Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRp
bWUvQm9vbGVhbkNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0
LmNwcDoKKyAgICAgICAgKEpTQzo6Qm9vbGVhbk9iamVjdDo6Qm9vbGVhbk9iamVjdCk6CisgICAg
ICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkJvb2xlYW5PYmpl
Y3Q6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcDoKKyAg
ICAgICAgKEpTQzo6Qm9vbGVhblByb3RvdHlwZTo6Qm9vbGVhblByb3RvdHlwZSk6CisgICAgICAg
IChKU0M6OkJvb2xlYW5Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50
aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rv
ci5jcHA6CisgICAgICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6RGF0ZUNvbnN0cnVjdG9yKToK
KyAgICAgICAgKEpTQzo6RGF0ZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVJbnN0
YW5jZS5jcHA6CisgICAgICAgIChKU0M6OkRhdGVJbnN0YW5jZTo6RGF0ZUluc3RhbmNlKToKKyAg
ICAgICAgKiBydW50aW1lL0RhdGVJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpEYXRlSW5zdGFu
Y2U6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcDoKKyAgICAg
ICAgKEpTQzo6RGF0ZVByb3RvdHlwZTo6RGF0ZVByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkRh
dGVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0RhdGVQcm90
b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3Ry
aWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uOjpTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pOgor
ICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkVy
cm9yQ29uc3RydWN0b3I6OkVycm9yQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpFcnJvckNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9FcnJvckNvbnN0
cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAg
IChKU0M6OkVycm9yUHJvdG90eXBlOjpFcnJvclByb3RvdHlwZSk6CisgICAgICAgICogcnVudGlt
ZS9FcnJvclByb3RvdHlwZS5oOgorICAgICAgICAoSlNDOjpFcnJvclByb3RvdHlwZTo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAo
SlNDOjpGdW5jdGlvbkNvbnN0cnVjdG9yOjpGdW5jdGlvbkNvbnN0cnVjdG9yKToKKyAgICAgICAg
KEpTQzo6RnVuY3Rpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6RnVuY3Rpb25Q
cm90b3R5cGUpOgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaDoKKyAgICAgICAgKiBy
dW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpJbnRlcm5hbEZ1bmN0
aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rp
b24uaDoKKyAgICAgICAgKiBydW50aW1lL0pTQWN0aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0M6
OkpTQWN0aXZhdGlvbjo6SlNBY3RpdmF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTQWN0aXZh
dGlvbi5oOgorICAgICAgICAoSlNDOjpKU0FjdGl2YXRpb246OmNyZWF0ZSk6CisgICAgICAgICog
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6
Y3JlYXRlKToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OkpTR2xvYmFsT2JqZWN0KToK
KyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09OT2Jq
ZWN0OjpKU09OT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuaDoKKyAgICAg
ICAgKEpTQzo6SlNPTk9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTU3RhdGlj
U2NvcGVPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6Y3JlYXRl
KToKKyAgICAgICAgKEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6SlNTdGF0aWNTY29wZU9iamVj
dCk6CisgICAgICAgICogcnVudGltZS9KU1N0cmluZy5jcHA6CisgICAgICAgIChKU0M6OlN0cmlu
Z09iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpNYXRoT2JqZWN0OjpNYXRoT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL01h
dGhPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6TWF0aE9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAg
KiBydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpOYXRp
dmVFcnJvckNvbnN0cnVjdG9yOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBy
dW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TmF0aXZlRXJy
b3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZl
RXJyb3JQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlwZTo6
TmF0aXZlRXJyb3JQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlw
ZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5
cGUuaDoKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAg
KEpTQzo6TnVtYmVyQ29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpT
Qzo6TnVtYmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L051bWJlckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJPYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpOdW1iZXJPYmplY3Q6Ok51bWJlck9iamVjdCk6CisgICAgICAgICog
cnVudGltZS9OdW1iZXJPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6TnVtYmVyT2JqZWN0OjpjcmVh
dGUpOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpT
Qzo6TnVtYmVyUHJvdG90eXBlOjpOdW1iZXJQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOdW1i
ZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL051bWJlclBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpPYmplY3RDb25zdHJ1Y3Rvcjo6T2JqZWN0Q29uc3RydWN0b3IpOgorICAgICAg
ICAoSlNDOjpPYmplY3RDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0
cnVjdG9yKToKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKEpTQzo6UmVnRXhwTWF0Y2hlc0FycmF5OjpSZWdFeHBNYXRjaGVzQXJyYXkp
OgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50
aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJy
YXk6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpSZWdFeHBPYmplY3Q6OlJlZ0V4cE9iamVjdCk6CisgICAgICAgICogcnVudGltZS9S
ZWdFeHBPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6UmVnRXhwT2JqZWN0OjpjcmVhdGUpOgorICAg
ICAgICAqIHJ1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhw
UHJvdG90eXBlOjpSZWdFeHBQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29u
c3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29u
c3RydWN0b3IpOgorICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBy
dW50aW1lL1N0cmluZ09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6U3Ry
aW5nT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdC5oOgorICAgICAgICAo
SlNDOjpTdHJpbmdPYmplY3Q6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdPYmpl
Y3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZC5oOgorICAgICAgICAoSlNDOjpTdHJpbmdPYmpl
Y3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZDo6U3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVz
QXNVbmRlZmluZWQpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcDoKKyAg
ICAgICAgKEpTQzo6U3RyaW5nUHJvdG90eXBlOjpTdHJpbmdQcm90b3R5cGUpOgorICAgICAgICAo
SlNDOjpTdHJpbmdQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L1N0cmluZ1Byb3RvdHlwZS5oOgorCiAyMDExLTA5LTAzICBLZXZpbiBPbGxpdmllciAgPGtldmlu
b0B0aGVvbGxpdmllcnMuY29tPgogCiAgICAgICAgIFt3eF0gVW5yZXZpZXdlZCBidWlsZCBmaXgu
IEFkZCB3dGYvZHRvYSBkaXJlY3RvcnkgdG8gYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLmV4cAppbmRleCA2ZTQ4OWJiODBmZDMwN2VkMDM3NDA5NjNiNzNjYjY2MTIx
N2NlMjFiLi5kNDM2NjVmNjJhNDEyNjhlOTRlMWVlMDVhN2QzMjIxMmYzMWRhMmNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTEyMyw4ICsxMjMsMTAgQEAg
X19aTjNKU0MxMVBhcnNlckFyZW5hNXJlc2V0RXYKIF9fWk4zSlNDMTFjaGVja1N5bnRheEVQTlNf
OUV4ZWNTdGF0ZUVSS05TXzEwU291cmNlQ29kZUUKIF9fWk4zSlNDMTFjcmVhdGVFcnJvckVQTlNf
OUV4ZWNTdGF0ZUVSS05TXzdVU3RyaW5nRQogX19aTjNKU0MxMXJlZ0V4cEZsYWdzRVJLTlNfN1VT
dHJpbmdFCitfX1pOM0pTQzEyRGF0ZUluc3RhbmNlMTRmaW5pc2hDcmVhdGlvbkVSTlNfMTJKU0ds
b2JhbERhdGFFZAorX19aTjNKU0MxMkRhdGVJbnN0YW5jZTZjcmVhdGVFUE5TXzlFeGVjU3RhdGVF
UE5TXzlTdHJ1Y3R1cmVFZAogX19aTjNKU0MxMkRhdGVJbnN0YW5jZTZzX2luZm9FCi1fX1pOM0pT
QzEyRGF0ZUluc3RhbmNlQzFFUE5TXzlFeGVjU3RhdGVFUE5TXzlTdHJ1Y3R1cmVFZAorX19aTjNK
U0MxMkRhdGVJbnN0YW5jZUMxRVBOU185RXhlY1N0YXRlRVBOU185U3RydWN0dXJlRQogX19aTjNK
U0MxMkpTR2xvYmFsRGF0YTEwQ2xpZW50RGF0YUQyRXYKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGEx
MWpzQXJyYXlWUHRyRQogX19aTjNKU0MxMkpTR2xvYmFsRGF0YTEyY3JlYXRlTGVha2VkRU5TXzE1
VGhyZWFkU3RhY2tUeXBlRU5TXzhIZWFwU2l6ZUUKQEAgLTEzOCwxOSArMTQwLDIxIEBAIF9fWk4z
SlNDMTJKU0dsb2JhbERhdGExNWR1bXBSZWdFeHBUcmFjZUV2CiBfX1pOM0pTQzEySlNHbG9iYWxE
YXRhMjJjbGVhckJ1aWx0aW5TdHJ1Y3R1cmVzRXYKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGE2Y3Jl
YXRlRU5TXzE1VGhyZWFkU3RhY2tUeXBlRU5TXzhIZWFwU2l6ZUUKIF9fWk4zSlNDMTJKU0dsb2Jh
bERhdGFEMUV2CitfX1pOM0pTQzEyUmVnRXhwT2JqZWN0MTRmaW5pc2hDcmVhdGlvbkVQTlNfMTRK
U0dsb2JhbE9iamVjdEUKIF9fWk4zSlNDMTJSZWdFeHBPYmplY3Q2c19pbmZvRQogX19aTjNKU0Mx
MlJlZ0V4cE9iamVjdEMxRVBOU18xNEpTR2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJlRVBOU182
UmVnRXhwRQogX19aTjNKU0MxMlNhbXBsaW5nVG9vbDVzZXR1cEV2CiBfX1pOM0pTQzEyU21hbGxT
dHJpbmdzMTdjcmVhdGVFbXB0eVN0cmluZ0VQTlNfMTJKU0dsb2JhbERhdGFFCiBfX1pOM0pTQzEy
U21hbGxTdHJpbmdzMjdjcmVhdGVTaW5nbGVDaGFyYWN0ZXJTdHJpbmdFUE5TXzEySlNHbG9iYWxE
YXRhRWgKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxNGRlbGV0ZVByb3BlcnR5RVBOU185RXhlY1N0
YXRlRVJLTlNfMTBJZGVudGlmaWVyRQorX19aTjNKU0MxMlN0cmluZ09iamVjdDE0ZmluaXNoQ3Jl
YXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRVBOU184SlNTdHJpbmdFCiBfX1pOM0pTQzEyU3RyaW5n
T2JqZWN0MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZp
ZXJFUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0MxMlN0cmluZ09iamVjdDE4Z2V0T3duUHJv
cGVydHlTbG90RVBOU185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzEy
U3RyaW5nT2JqZWN0MTlnZXRPd25Qcm9wZXJ0eU5hbWVzRVBOU185RXhlY1N0YXRlRVJOU18xN1By
b3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25Nb2RlRQogX19aTjNKU0MxMlN0cmluZ09i
amVjdDI0Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVu
dGlmaWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3Qz
cHV0RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVlRVJOU18xNVB1
dFByb3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3Q2c19pbmZvRQotX19aTjNKU0Mx
MlN0cmluZ09iamVjdEMyRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfOVN0cnVjdHVyZUVQTlNfOEpT
U3RyaW5nRQorX19aTjNKU0MxMlN0cmluZ09iamVjdEMyRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNf
OVN0cnVjdHVyZUUKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdzNHN0b3BFdgogX19aTjNKU0MxM1Nh
bXBsaW5nRmxhZ3M1c3RhcnRFdgogX19aTjNKU0MxM1NhbXBsaW5nRmxhZ3M3c19mbGFnc0UKQEAg
LTE4MSw5ICsxODUsMTAgQEAgX19aTjNKU0MxNVdlYWtIYW5kbGVPd25lcjhmaW5hbGl6ZUVOU182
SGFuZGxlSU5TXzdVbmtub3duRUVFUHYKIF9fWk4zSlNDMTVXZWFrSGFuZGxlT3duZXJEMkV2CiBf
X1pOM0pTQzE1Y3JlYXRlVHlwZUVycm9yRVBOU185RXhlY1N0YXRlRVJLTlNfN1VTdHJpbmdFCiBf
X1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlvbjEydnRhYmxlQW5jaG9yRXYKK19fWk4zSlNDMTZJbnRl
cm5hbEZ1bmN0aW9uMTRmaW5pc2hDcmVhdGlvbkVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzE0SlNH
bG9iYWxPYmplY3RFUktOU18xMElkZW50aWZpZXJFCiBfX1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlv
bjRuYW1lRVBOU185RXhlY1N0YXRlRQogX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb242c19pbmZv
RQotX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb25DMkVQTlNfMTJKU0dsb2JhbERhdGFFUE5TXzE0
SlNHbG9iYWxPYmplY3RFUE5TXzlTdHJ1Y3R1cmVFUktOU18xMElkZW50aWZpZXJFCitfX1pOM0pT
QzE2SW50ZXJuYWxGdW5jdGlvbkMyRVBOU18xNEpTR2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJl
RQogX19aTjNKU0MxNkpTVmFyaWFibGVPYmplY3QxNGRlbGV0ZVByb3BlcnR5RVBOU185RXhlY1N0
YXRlRVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0MxNkpTVmFyaWFibGVPYmplY3QxNHN5bWJv
bFRhYmxlR2V0RVJLTlNfMTBJZGVudGlmaWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckUKIF9f
Wk4zSlNDMTZKU1ZhcmlhYmxlT2JqZWN0MTlnZXRPd25Qcm9wZXJ0eU5hbWVzRVBOU185RXhlY1N0
YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25Nb2RlRQpAQCAtMTk1
LDcgKzIwMCw4IEBAIF9fWk4zSlNDMTdCeXRlY29kZUdlbmVyYXRvcjIxc2V0RHVtcHNHZW5lcmF0
ZWRDb2RlRWIKIF9fWk4zSlNDMTdQcm9wZXJ0eU5hbWVBcnJheTNhZGRFUE4zV1RGMTBTdHJpbmdJ
bXBsRQogX19aTjNKU0MxN2NvbnN0cnVjdEZ1bmN0aW9uRVBOU185RXhlY1N0YXRlRVBOU18xNEpT
R2xvYmFsT2JqZWN0RVJLTlNfN0FyZ0xpc3RFUktOU18xMElkZW50aWZpZXJFUktOU183VVN0cmlu
Z0VpCiBfX1pOM0pTQzE3Y3JlYXRlU3ludGF4RXJyb3JFUE5TXzlFeGVjU3RhdGVFUktOU183VVN0
cmluZ0UKLV9fWk4zSlNDMThEZWJ1Z2dlckFjdGl2YXRpb242Y3JlYXRlRVJOU18xMkpTR2xvYmFs
RGF0YUVQTlNfOEpTT2JqZWN0RQorX19aTjNKU0MxOERlYnVnZ2VyQWN0aXZhdGlvbjE0ZmluaXNo
Q3JlYXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRVBOU184SlNPYmplY3RFCitfX1pOM0pTQzE4RGVi
dWdnZXJBY3RpdmF0aW9uQzFFUk5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MxOFByb3BlcnR5
RGVzY3JpcHRvcjExc2V0V3JpdGFibGVFYgogX19aTjNKU0MxOFByb3BlcnR5RGVzY3JpcHRvcjEy
c2V0VW5kZWZpbmVkRXYKIF9fWk4zSlNDMThQcm9wZXJ0eURlc2NyaXB0b3IxM3NldERlc2NyaXB0
b3JFTlNfN0pTVmFsdWVFagpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLmRlZgppbmRleCAwODBhZjk5YzhkYzgyNDViOTdhYjE0MjM0OTM0N2YxZjlk
ZWQ4YmY2Li43NWYzZWM5YjBhMWM0YTZmMTE4OGE3NTI2ODIyZGUyZjI1ODJiYzU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAt
MywxMSArMywxMSBAQCBFWFBPUlRTCiAgICAgPz8wQ1N0cmluZ0BXVEZAQFFBRUBQQkRAWgogICAg
ID8/MENTdHJpbmdAV1RGQEBRQUVAUEJESUBaCiAgICAgPz8wQ29sbGF0b3JAV1RGQEBRQUVAUEJE
QFoKLSAgICA/PzBEYXRlSW5zdGFuY2VASlNDQEBJQUVAUEFWRXhlY1N0YXRlQDFAUEFWU3RydWN0
dXJlQDFATkBaCisgICAgPz8wRGF0ZUluc3RhbmNlQEpTQ0BASUFFQFBBVkV4ZWNTdGF0ZUAxQFBB
VlN0cnVjdHVyZUAxQEBaCiAgICAgPz8wRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFja0BKU0NAQFFB
RUBQQVZIZWFwQDFAQFoKICAgICA/PzBEcm9wQWxsTG9ja3NASlNMb2NrQEpTQ0BAUUFFQFc0SlNM
b2NrQmVoYXZpb3JAMkBAWgotICAgID8/MER5bmFtaWNHbG9iYWxPYmplY3RTY29wZUBKU0NAQFFB
RUBBQVZKU0dsb2JhbERhdGFAMUBQQVZKU0dsb2JhbE9iamVjdEAxQEBaICAKLSAgICA/PzBJbnRl
cm5hbEZ1bmN0aW9uQEpTQ0BASUFFQFBBVkpTR2xvYmFsRGF0YUAxQFBBVkpTR2xvYmFsT2JqZWN0
QDFAUEFWU3RydWN0dXJlQDFAQUJWSWRlbnRpZmllckAxQEBaCisgICAgPz8wRHluYW1pY0dsb2Jh
bE9iamVjdFNjb3BlQEpTQ0BAUUFFQEFBVkpTR2xvYmFsRGF0YUAxQFBBVkpTR2xvYmFsT2JqZWN0
QDFAQFogCisgICAgPz8wSW50ZXJuYWxGdW5jdGlvbkBKU0NAQElBRUBQQVZKU0dsb2JhbE9iamVj
dEAxQFBBVlN0cnVjdHVyZUAxQEBaCiAgICAgPz8wSlNBcnJheUBKU0NAQElBRUBBQVZKU0dsb2Jh
bERhdGFAMUBQQVZTdHJ1Y3R1cmVAMUBAWgogICAgID8/MEpTQnl0ZUFycmF5QEpTQ0BAQUFFQFBB
VkV4ZWNTdGF0ZUAxQFBBVlN0cnVjdHVyZUAxQFBBVkJ5dGVBcnJheUBXVEZAQEBaCiAgICAgPz8w
SlNGdW5jdGlvbkBKU0NAQEFBRUBQQVZFeGVjU3RhdGVAMUBQQVZKU0dsb2JhbE9iamVjdEAxQFBB
VlN0cnVjdHVyZUAxQEBaCkBAIC0xOSw3ICsxOSw3IEBAIEVYUE9SVFMKICAgICA/PzBSZWZDb3Vu
dGVkTGVha0NvdW50ZXJAV1RGQEBRQUVAUEJEQFoKICAgICA/PzBSZWdFeHBPYmplY3RASlNDQEBJ
QUVAUEFWSlNHbG9iYWxPYmplY3RAMUBQQVZTdHJ1Y3R1cmVAMUBQQVZSZWdFeHBAMUBAWgogICAg
ID8/MFNIQTFAV1RGQEBRQUVAWFoKLSAgICA/PzBTdHJpbmdPYmplY3RASlNDQEBJQUVAQUFWSlNH
bG9iYWxEYXRhQDFAUEFWU3RydWN0dXJlQDFAUEFWSlNTdHJpbmdAMUBAWgorICAgID8/MFN0cmlu
Z09iamVjdEBKU0NAQElBRUBBQVZKU0dsb2JhbERhdGFAMUBQQVZTdHJ1Y3R1cmVAMUBAWgogICAg
ID8/MFN0cnVjdHVyZUBKU0NAQEFBRUBBQVZKU0dsb2JhbERhdGFAMUBWSlNWYWx1ZUAxQEFCVlR5
cGVJbmZvQDFASVBCVUNsYXNzSW5mb0AxQEBaCiAgICAgPz8wVGhyZWFkQ29uZGl0aW9uQFdURkBA
UUFFQFhaCiAgICAgPz8wVVN0cmluZ0BKU0NAQFFBRUBQQkRAWgpAQCAtMTc1LDEwICsxNzUsMTQg
QEAgRVhQT1JUUwogICAgID9mYXN0WmVyb2VkTWFsbG9jQFdURkBAWUFQQVhJQFoKICAgICA/Zmls
bEdldHRlclByb3BlcnR5U2xvdEBKU09iamVjdEBKU0NAQFFBRVhBQVZQcm9wZXJ0eVNsb3RAMkBQ
QVY/JFdyaXRlQmFycmllckJhc2VAVzRVbmtub3duQEpTQ0BAQDJAQFoKICAgICA/ZmluYWxpemVA
V2Vha0hhbmRsZU93bmVyQEpTQ0BAVUFFWFY/JEhhbmRsZUBXNFVua25vd25ASlNDQEBAMkBQQVhA
WgorICAgID9maW5pc2hDcmVhdGlvbkBEYXRlSW5zdGFuY2VASlNDQEBJQUVYQUFWSlNHbG9iYWxE
YXRhQDJATkBaCisgICAgP2ZpbmlzaENyZWF0aW9uQEludGVybmFsRnVuY3Rpb25ASlNDQEBJQUVY
QUFWSlNHbG9iYWxEYXRhQDJAUEFWSlNHbG9iYWxPYmplY3RAMkBBQlZJZGVudGlmaWVyQDJAQFoK
ICAgICA/ZmluaXNoQ3JlYXRpb25ASlNBcnJheUBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFAMkBA
WgogICAgID9maW5pc2hDcmVhdGlvbkBKU0FycmF5QEpTQ0BASUFFWEFBVkpTR2xvYmFsRGF0YUAy
QEFCVkFyZ0xpc3RAMkBAWgogICAgID9maW5pc2hDcmVhdGlvbkBKU0Z1bmN0aW9uQEpTQ0BASUFF
WFBBVkV4ZWNTdGF0ZUAyQFBBVkpTR2xvYmFsT2JqZWN0QDJASEFCVklkZW50aWZpZXJAMkBQQVZF
eGVjdXRhYmxlQmFzZUAyQEBaCiAgICAgP2ZpbmlzaENyZWF0aW9uQEpTT2JqZWN0V2l0aEdsb2Jh
bE9iamVjdEBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFAMkBQQVZKU0dsb2JhbE9iamVjdEAyQEBa
CisgICAgP2ZpbmlzaENyZWF0aW9uQFJlZ0V4cE9iamVjdEBKU0NAQElBRVhQQVZKU0dsb2JhbE9i
amVjdEAyQEBaCisgICAgP2ZpbmlzaENyZWF0aW9uQFN0cmluZ09iamVjdEBKU0NAQElBRVhBQVZK
U0dsb2JhbERhdGFAMkBQQVZKU1N0cmluZ0AyQEBaCiAgICAgP2ZvY3VzQFByb2ZpbGVASlNDQEBR
QUVYUEJWUHJvZmlsZU5vZGVAMkBAWgogICAgID9mcm9tQElkZW50aWZpZXJASlNDQEBTQT9BVjEy
QFBBVkV4ZWNTdGF0ZUAyQEhAWgogICAgID9mcm9tQElkZW50aWZpZXJASlNDQEBTQT9BVjEyQFBB
VkV4ZWNTdGF0ZUAyQElAWgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVn
Z2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdn
ZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcAppbmRleCBhNzEwMWRjYjZiYWE0MGZmNGZlMGVmYTMy
ZDFkNTViNjhhOTQxNGU1Li5hZjZhNTZmOWJlMmE2MDQ3ODJjODUwYzMxZWY1OWQyZjQwY2RmNTBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3Rp
dmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJB
Y3RpdmF0aW9uLmNwcApAQCAtMzUsMTMgKzM1LDYgQEAgRGVidWdnZXJBY3RpdmF0aW9uOjpEZWJ1
Z2dlckFjdGl2YXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQogewogfQogCi1EZWJ1Z2dl
ckFjdGl2YXRpb24qIERlYnVnZ2VyQWN0aXZhdGlvbjo6Y3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgSlNPYmplY3QqIG9iamVjdCkKLXsKLSAgICBEZWJ1Z2dlckFjdGl2YXRpb24qIGFj
dGl2YXRpb24gPSBuZXcgKGFsbG9jYXRlQ2VsbDxEZWJ1Z2dlckFjdGl2YXRpb24+KGdsb2JhbERh
dGEuaGVhcCkpIERlYnVnZ2VyQWN0aXZhdGlvbihnbG9iYWxEYXRhKTsKLSAgICBhY3RpdmF0aW9u
LT5maW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBvYmplY3QpOwotICAgIHJldHVybiBhY3RpdmF0
aW9uOwotfQotCiB2b2lkIERlYnVnZ2VyQWN0aXZhdGlvbjo6ZmluaXNoQ3JlYXRpb24oSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhLCBKU09iamVjdCogYWN0aXZhdGlvbikKIHsKICAgICBCYXNlOjpm
aW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaAppbmRleCBkODNiMmY3MGZjNGIwYjhhYTU5
OWRmNDE0YzVmMDcyYWNkOTg0ZDZkLi4yNjllYTljNmIyM2NjNzU2MzQ1MGVmY2U0OTkyODFiOGQ2
NjBlOWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdn
ZXJBY3RpdmF0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVn
Z2VyQWN0aXZhdGlvbi5oCkBAIC0zNCw3ICszNCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBw
dWJsaWM6CiAgICAgICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOwogCi0gICAgICAg
IHN0YXRpYyBEZWJ1Z2dlckFjdGl2YXRpb24qIGNyZWF0ZShKU0dsb2JhbERhdGEmLCBKU09iamVj
dCopOworICAgICAgICBzdGF0aWMgRGVidWdnZXJBY3RpdmF0aW9uKiBjcmVhdGUoSlNHbG9iYWxE
YXRhJiBnbG9iYWxEYXRhLCBKU09iamVjdCogb2JqZWN0KQorICAgICAgICB7CisgICAgICAgICAg
ICBEZWJ1Z2dlckFjdGl2YXRpb24qIGFjdGl2YXRpb24gPSBuZXcgKGFsbG9jYXRlQ2VsbDxEZWJ1
Z2dlckFjdGl2YXRpb24+KGdsb2JhbERhdGEuaGVhcCkpIERlYnVnZ2VyQWN0aXZhdGlvbihnbG9i
YWxEYXRhKTsKKyAgICAgICAgICAgIGFjdGl2YXRpb24tPmZpbmlzaENyZWF0aW9uKGdsb2JhbERh
dGEsIG9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gYWN0aXZhdGlvbjsKKyAgICAgICAgfQor
CiAgICAgICAgIHZpcnR1YWwgdm9pZCB2aXNpdENoaWxkcmVuKFNsb3RWaXNpdG9yJik7CiAgICAg
ICAgIHZpcnR1YWwgVVN0cmluZyBjbGFzc05hbWUoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBi
b29sIGdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9w
ZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAppbmRleCBlMTAzNzA5
MGJkOGNhMTI3MjRhNWE2ZjEwN2RiMzFiOTViMTMzNmU0Li5lMTRmODA4NzIzM2QyMGFjOGE5Zjkz
NTIwNjgxODdmMzFlMGQ5NTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNj
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAtMTU3LDggKzE1Nyw5
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFVTdHJpbmcgY2xhc3NOYW1lKCkgY29uc3QgeyByZXR1
cm4gImdsb2JhbCI7IH0KIAogcHJvdGVjdGVkOgotICAgIHZvaWQgY29uc3RydWN0b3JCb2R5KGNv
bnN0IFZlY3RvcjxVU3RyaW5nPiYgYXJndW1lbnRzKQorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBjb25zdCBWZWN0b3I8VVN0cmluZz4mIGFyZ3VtZW50
cykKICAgICB7CisgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHRoaXMp
OwogICAgICAgICBwdXREaXJlY3RGdW5jdGlvbihnbG9iYWxFeGVjKCksIEpTRnVuY3Rpb246OmNy
ZWF0ZShnbG9iYWxFeGVjKCksIHRoaXMsIGZ1bmN0aW9uU3RydWN0dXJlKCksIDEsIElkZW50aWZp
ZXIoZ2xvYmFsRXhlYygpLCAiZGVidWciKSwgZnVuY3Rpb25EZWJ1ZykpOwogICAgICAgICBwdXRE
aXJlY3RGdW5jdGlvbihnbG9iYWxFeGVjKCksIEpTRnVuY3Rpb246OmNyZWF0ZShnbG9iYWxFeGVj
KCksIHRoaXMsIGZ1bmN0aW9uU3RydWN0dXJlKCksIDEsIElkZW50aWZpZXIoZ2xvYmFsRXhlYygp
LCAicHJpbnQiKSwgZnVuY3Rpb25QcmludCkpOwogICAgICAgICBwdXREaXJlY3RGdW5jdGlvbihn
bG9iYWxFeGVjKCksIEpTRnVuY3Rpb246OmNyZWF0ZShnbG9iYWxFeGVjKCksIHRoaXMsIGZ1bmN0
aW9uU3RydWN0dXJlKCksIDAsIElkZW50aWZpZXIoZ2xvYmFsRXhlYygpLCAicXVpdCIpLCBmdW5j
dGlvblF1aXQpKTsKQEAgLTE5MCw3ICsxOTEsNyBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxM
KEdsb2JhbE9iamVjdCk7CiBHbG9iYWxPYmplY3Q6Okdsb2JhbE9iamVjdChKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBWZWN0b3I8VVN0cmluZz4m
IGFyZ3VtZW50cykKICAgICA6IEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSkK
IHsKLSAgICBjb25zdHJ1Y3RvckJvZHkoYXJndW1lbnRzKTsKKyAgICBmaW5pc2hDcmVhdGlvbihn
bG9iYWxEYXRhLCBhcmd1bWVudHMpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGZ1bmN0aW9uUHJpbnQoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAppbmRleCBmZDllNzFkN2QyYzJhYzM4
OTVhMjZlNDJiOWJiMDJmMjQzNzIyYmViLi41MjFmY2JiODg2MjgwNDAwYWNhNDQ1YjgxN2I3MDAz
NmI1OWY0MTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eUNvbnN0cnVjdG9yLmNwcApAQCAtNTIsOCArNTIsMTQgQEAgY29uc3QgQ2xhc3NJbmZvIEFycmF5
Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNf
aW4KIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQXJyYXlDb25zdHJ1Y3Rvcik7CiAKIEFycmF5
Q29uc3RydWN0b3I6OkFycmF5Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQXJyYXlQcm90b3R5cGUq
IGFycmF5UHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0
YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBhcnJheVByb3Rv
dHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGds
b2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2Jh
bE9iamVjdCwgYXJyYXlQcm90b3R5cGUpOworfQorCit2b2lkIEFycmF5Q29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlKQoreworICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyKGV4ZWMs
IGFycmF5UHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSk7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkucHJvdG90eXBlLCBhcnJheVByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEo
KSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoMSksIFJlYWRPbmx5IHwg
RG9udEVudW0gfCBEb250RGVsZXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAppbmRleCA2Yzk4MTMwN2VkZGI5YTQ1YTExZTdjNTQ3
MzQ3NTE0NGI4NjI5ODYxLi4yZjgxN2ZjZDVhYjRhMGFjNWJmNWI4ZDMzOTUxYjQ4ZjA0NmNjYTI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVj
dG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5oCkBAIC00NCw2ICs0NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAKICAgICBw
cm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9i
YWxPYmplY3QqLCBBcnJheVByb3RvdHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbnRlcm5h
bEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKaW5kZXggOTk2NzRiYjIz
YjQ5ODE4YjJmM2EzNDg0YzI2NmUwMTM5ZDg2ZWY0Ni4uNDJmNDFhNjMxZDQ5Y2YzZGNlOWNhOGZk
N2U2YjZkYThkNTY0MzYwNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FycmF5UHJvdG90eXBlLmNwcApAQCAtMTE3LDcgKzExNyw2IEBAIGNvbnN0IENsYXNzSW5mbyBB
cnJheVByb3RvdHlwZTo6c19pbmZvID0geyJBcnJheSIsICZKU0FycmF5OjpzX2luZm8sIDAsIEV4
ZWNTdGF0CiBBcnJheVByb3RvdHlwZTo6QXJyYXlQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBKU0FycmF5KGdsb2JhbE9i
amVjdC0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xv
YmFsT2JqZWN0KTsKIH0KIAogdm9pZCBBcnJheVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9BcnJheVByb3RvdHlwZS5oCmluZGV4IDlhNjI4ZTBjNjkzY2E5ZDc3ZTc3NmE4NmE5OWQ4
MmEzMDViN2M3YjguLjRkZDY2OWE4YTUzYzVmYzRkNmM1MWYyNzJlODI0MTAwMGFiNzY1MDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuaApAQCAt
MzUsNyArMzUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgQXJyYXlQcm90
b3R5cGUqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4g
bmV3IChhbGxvY2F0ZUNlbGw8QXJyYXlQcm90b3R5cGU+KCpleGVjLT5oZWFwKCkpKSBBcnJheVBy
b3RvdHlwZShnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBBcnJheVByb3Rv
dHlwZSogcHJvdG90eXBlID0gbmV3IChhbGxvY2F0ZUNlbGw8QXJyYXlQcm90b3R5cGU+KCpleGVj
LT5oZWFwKCkpKSBBcnJheVByb3RvdHlwZShnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAg
ICAgICAgICBwcm90b3R5cGUtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAg
ICAgICByZXR1cm4gcHJvdG90eXBlOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBib29s
IGdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVy
dHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
bkNvbnN0cnVjdG9yLmNwcAppbmRleCBlZjYyNDBlNzkyNWExNTc0Zjk0Y2U5OGY5ZTE5NTZlN2Nk
ZjQ3ODBmLi4yZGI0Mjg2NTcxODYzZjlmYWY2ZDg1ZTA0YWE2ODA3YzgxYTllNjNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5j
cHAKQEAgLTI5LDggKzI5LDE0IEBAIG5hbWVzcGFjZSBKU0MgewogQVNTRVJUX0NMQVNTX0ZJVFNf
SU5fQ0VMTChCb29sZWFuQ29uc3RydWN0b3IpOwogCiBCb29sZWFuQ29uc3RydWN0b3I6OkJvb2xl
YW5Db25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBCb29sZWFuUHJvdG90eXBlKiBib29sZWFuUHJvdG90
eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBib29sZWFuUHJvdG90eXBlLT5jbGFz
c0luZm8oKS0+Y2xhc3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0
LCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBi
b29sZWFuUHJvdG90eXBlKTsKK30KKwordm9pZCBCb29sZWFuQ29uc3RydWN0b3I6OmZpbmlzaENy
ZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQm9v
bGVhblByb3RvdHlwZSogYm9vbGVhblByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBi
b29sZWFuUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSk7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkucHJvdG90eXBlLCBib29sZWFuUHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBS
ZWFkT25seSk7CiAKICAgICAvLyBuby4gb2YgYXJndW1lbnRzIGZvciBjb25zdHJ1Y3RvcgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaApp
bmRleCBlN2VhNTgzZDhjN2E1ZjQyY2RlYmE4ZWUzYmViNjhhYTdlZDdhYjVmLi5lOTczMTA5YTVm
YzE3MTNiNmYzZmE5ZTE1OGI1MjMxYjM1NDJkY2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaApAQCAtMzYsNiArMzYsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxCb29s
ZWFuQ29uc3RydWN0b3I+KCpleGVjLT5oZWFwKCkpKSBCb29sZWFuQ29uc3RydWN0b3IoZXhlYywg
Z2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGJvb2xQcm90b3R5cGUpOwogICAgICAgICB9CiAKKyAg
ICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNH
bG9iYWxPYmplY3QqLCBCb29sZWFuUHJvdG90eXBlKik7CisKICAgICBwcml2YXRlOgogICAgICAg
ICBCb29sZWFuQ29uc3RydWN0b3IoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqLCBCb29sZWFuUHJvdG90eXBlKik7CiAgICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBn
ZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5jcHAKaW5kZXggYjllMzNkYzQ4NDI5OGI2Y2VlNjc0
ZTE4ZDU0YTg3ZjYyZGFkZmQ1Ny4uY2JkZGQwZTkyNDMzMDAyYjhhNWNmOWYzNWZmYTIxM2YwZDk1
MTljMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9i
amVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVj
dC5jcHAKQEAgLTMwLDcgKzMwLDYgQEAgY29uc3QgQ2xhc3NJbmZvIEJvb2xlYW5PYmplY3Q6OnNf
aW5mbyA9IHsgIkJvb2xlYW4iLCAmSlNXcmFwcGVyT2JqZWN0OjpzX2luZm8sIDAKIEJvb2xlYW5P
YmplY3Q6OkJvb2xlYW5PYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKICAgICA6IEpTV3JhcHBlck9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUp
CiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CiB9CiAKIHZvaWQgQm9vbGVhbk9i
amVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5oCmluZGV4IDg0NjEwZDliODFm
NTBlMWRhYjhkODM0MTVkZDQ3NTI4NTQ4OTdlNWUuLjI5NjRjOWI0MTBmOTMzZjE1NzA3NTNlY2Uy
ZDk0ZDA5Y2RiNDRlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5PYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuT2JqZWN0LmgKQEAgLTM1LDcgKzM1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAg
c3RhdGljIEJvb2xlYW5PYmplY3QqIGNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChh
bGxvY2F0ZUNlbGw8Qm9vbGVhbk9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgQm9vbGVhbk9iamVj
dChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgQm9vbGVhbk9iamVjdCogYm9v
bGVhbiA9IG5ldyAoYWxsb2NhdGVDZWxsPEJvb2xlYW5PYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkp
IEJvb2xlYW5PYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIGJvb2xl
YW4tPmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEpOworICAgICAgICAgICAgcmV0dXJuIGJvb2xl
YW47CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8g
c19pbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
blByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJv
dG90eXBlLmNwcAppbmRleCBkZDAxOTRmM2Y1ZDA5MmIwOGVhYzI2NmVhOTY5OTVkNWI2MzEwZjFi
Li43MWRiOWM0NDFlZTVlMjliOWE4ZjFjZTQ5ODU3Y2Y2YWI5YTRlZWE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcApAQCAtNTIs
NiArNTIsMTIgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChCb29sZWFuUHJvdG90eXBlKTsK
IEJvb2xlYW5Qcm90b3R5cGU6OkJvb2xlYW5Qcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEJv
b2xlYW5PYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNo
Q3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBCb29sZWFuUHJvdG90eXBl
OjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpKTsK
ICAgICBzZXRJbnRlcm5hbFZhbHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwganNCb29sZWFuKGZhbHNl
KSk7CiAKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oCmluZGV4IDQ1OWZlNTYyMjlhZGI1
OWQzMjAxMTg4N2E2OGMwMTFmM2NmZmI2ZmUuLmE4M2ZmODE5YzAxMDgzMGQxNjM4NmJjYjg0NDc2
OGQ1NjljOTMxMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5Qcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuUHJvdG90eXBlLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3Rh
dGUqLCBKU0dsb2JhbE9iamVjdCopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBCb29sZWFuT2JqZWN0
OjpTdHJ1Y3R1cmVGbGFnczsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIEFub255bW91
c1Nsb3RDb3VudCA9IEJvb2xlYW5PYmplY3Q6OkFub255bW91c1Nsb3RDb3VudCArIDE7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IDk5NDZmZDM3ZGFmNDMxNmIwODAwOTNhMTUyYmRiNzE3NTgyZjU1ZWYuLjI3ZDBhOWU0OWJi
ZTliNGM1OTA0ZjE1MGU2MmVjMmNmODk0NDJlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcApAQCAtNzQsOCArNzQsMTQgQEAgY29u
c3QgQ2xhc3NJbmZvIERhdGVDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50
ZXJuYWxGdW5jdGlvbjo6c19pbmYKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRGF0ZUNvbnN0
cnVjdG9yKTsKIAogRGF0ZUNvbnN0cnVjdG9yOjpEYXRlQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
RGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4
ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhl
YywgZGF0ZVByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJbnRlcm5h
bEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKSAKIHsKKyAgICBmaW5pc2hDcmVhdGlv
bihleGVjLCBnbG9iYWxPYmplY3QsIGRhdGVQcm90b3R5cGUpOworfQorCit2b2lkIERhdGVDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBEYXRlUHJvdG90eXBlKiBkYXRlUHJvdG90eXBlKQoreworICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlm
aWVyKGV4ZWMsIGRhdGVQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKTsKICAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5wcm90b3R5cGUsIGRhdGVQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9i
YWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKDcpLCBSZWFk
T25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCmluZGV4IGQzM2RhNDc1ZmMyZWJlZDdiYmNj
OWFjODNhM2JmZWQ3NjBlOWFhZTguLjg0NjlkMDg3ZDU4YzJlNGU4ZDE4M2Y0OWY1MGQxNmJmNTg5
NWUyYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1
Y3Rvci5oCkBAIC00NCw2ICs0NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAKICAg
ICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNH
bG9iYWxPYmplY3QqLCBEYXRlUHJvdG90eXBlKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVy
bmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuY3BwCmluZGV4IDZkZjMwZDcyMDE4
ODE4NmRlMTIyMTAzZTBkODgwZTdmODJmZmYzNGUuLjFiNGFkZDg4ZGYxMDE1YjIzMGE1ODM5YjEx
NTYyNzI1YWY0NDExZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0RhdGVJbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZUluc3RhbmNlLmNwcApAQCAtMzcsMTMgKzM3LDYgQEAgY29uc3QgQ2xhc3NJbmZvIERhdGVJbnN0
YW5jZTo6c19pbmZvID0geyJEYXRlIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLCAwfTsK
IERhdGVJbnN0YW5jZTo6RGF0ZUluc3RhbmNlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCiAgICAgOiBKU1dyYXBwZXJPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1
Y3R1cmUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpKTsKLX0KLQot
RGF0ZUluc3RhbmNlOjpEYXRlSW5zdGFuY2UoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgZG91YmxlIHRpbWUpCi0gICAgOiBKU1dyYXBwZXJPYmplY3QoZXhlYy0+Z2xvYmFs
RGF0YSgpLCBzdHJ1Y3R1cmUpCi17Ci0gICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0
YSgpLCB0aW1lKTsKIH0KIAogdm9pZCBEYXRlSW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKEpTR2xv
YmFsRGF0YSYgZ2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVJbnN0YW5jZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZUluc3RhbmNlLmgKaW5kZXggZDUyMDFlZTE5Mjg4Njk4NzgxMTdhMDZhY2ZmY2FiNWY5YjA4Zjkz
ZC4uYmI5NDI5NzBiNzFlMGQ5ZDkzZDEzNTM5ZGFkODJmODE3NDllOWZmMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKQEAgLTMxLDcgKzMxLDYgQEAg
bmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBEYXRlSW5zdGFuY2UgOiBwdWJsaWMgSlNXcmFw
cGVyT2JqZWN0IHsKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIERhdGVJbnN0YW5jZShFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmUqLCBkb3VibGUpOwogICAgICAgICBEYXRlSW5zdGFuY2UoRXhlY1N0YXRl
KiwgU3RydWN0dXJlKik7CiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRh
Jik7CiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgZG91YmxlKTsK
QEAgLTQxLDEzICs0MCwxOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgRGF0
ZUluc3RhbmNlKiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
ZG91YmxlIGRhdGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRl
Q2VsbDxEYXRlSW5zdGFuY2U+KCpleGVjLT5oZWFwKCkpKSBEYXRlSW5zdGFuY2UoZXhlYywgc3Ry
dWN0dXJlLCBkYXRlKTsKKyAgICAgICAgICAgIERhdGVJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcg
KGFsbG9jYXRlQ2VsbDxEYXRlSW5zdGFuY2U+KCpleGVjLT5oZWFwKCkpKSBEYXRlSW5zdGFuY2Uo
ZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIGluc3RhbmNlLT5maW5pc2hDcmVhdGlvbihl
eGVjLT5nbG9iYWxEYXRhKCksIGRhdGUpOworICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlOwog
ICAgICAgICB9CisKICAgICAgICAgc3RhdGljIERhdGVJbnN0YW5jZSogY3JlYXRlKEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxEYXRlSW5zdGFuY2U+KCpleGVjLT5oZWFwKCkpKSBEYXRl
SW5zdGFuY2UoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIERhdGVJbnN0YW5jZSogaW5z
dGFuY2UgPSBuZXcgKGFsbG9jYXRlQ2VsbDxEYXRlSW5zdGFuY2U+KCpleGVjLT5oZWFwKCkpKSBE
YXRlSW5zdGFuY2UoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIGluc3RhbmNlLT5maW5p
c2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCkpOworICAgICAgICAgICAgcmV0dXJuIGluc3Rh
bmNlOwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIGRvdWJsZSBpbnRlcm5hbE51bWJl
cigpIGNvbnN0IHsgcmV0dXJuIGludGVybmFsVmFsdWUoKS51bmNoZWNrZWRHZXROdW1iZXIoKTsg
fQogCiAgICAgICAgIHN0YXRpYyBKU19FWFBPUlREQVRBIGNvbnN0IENsYXNzSW5mbyBzX2luZm87
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCmlu
ZGV4IGRkYTI5NDE2Mzg0MWNkZWRjNTRmNzY5NTdkNGFjODRlMzBmYTdlMjEuLjE3NmRjN2VlOTUz
YmZmN2VlYmU0NjgyMzQ4Njk1ZGI3YTM0NDY4MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCkBAIC00MzIsNiArNDMyLDEyIEBAIGNvbnN0
IENsYXNzSW5mbyBEYXRlUHJvdG90eXBlOjpzX2luZm8gPSB7IkRhdGUiLCAmRGF0ZUluc3RhbmNl
OjpzX2luZm8sIDAsIEV4ZWNTCiBEYXRlUHJvdG90eXBlOjpEYXRlUHJvdG90eXBlKEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCiAgICAgOiBEYXRlSW5zdGFuY2UoZXhlYywgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENy
ZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgRGF0ZVByb3RvdHlwZTo6Zmlu
aXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwganNOYU4o
KSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIAogICAgIC8vIFRoZSBjb25zdHJ1
Y3RvciB3aWxsIGJlIGFkZGVkIGxhdGVyLCBhZnRlciBEYXRlQ29uc3RydWN0b3IgaGFzIGJlZW4g
YnVpbHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJv
dG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmgK
aW5kZXggN2RlZTMzMDc0ZjEzMWRlOWY1OTIzMzVjNjM3YWQ5ZDRkYjEyMjcyYS4uMTI1Zjk4NDYz
NGU4MWQ3ZDlmNWUwMjIxMzIwN2Q5NTZmMTU3ZWUwYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuaApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8
IERhdGVJbnN0YW5jZTo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICAgICAgQ09NUElMRV9BU1NFUlQo
IURhdGVJbnN0YW5jZTo6QW5vbnltb3VzU2xvdENvdW50LCBEYXRlUHJvdG90eXBlX3N0b21wc19v
bl95b3VyX2Fub255bW91c19zbG90KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
LmNwcAppbmRleCA3ODY3NTBiZjJmZTBjYjExMzRiMWEyYWY2NzEyMjUxMGRlNjM0NTdkLi41MGQ0
NDgzNjViZGFiMzcyY2Y0NWY5MmJlZDc4OTdkYmFkOGEyZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3IuY3BwCkBAIC0xNjgsOSArMTY4LDEwIEBAIEpTT2JqZWN0KiB0aHJv
d1N5bnRheEVycm9yKEV4ZWNTdGF0ZSogZXhlYykKIGNsYXNzIFN0cmljdE1vZGVUeXBlRXJyb3JG
dW5jdGlvbiA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHByaXZhdGU6CiAgICAgU3RyaWN0
TW9kZVR5cGVFcnJvckZ1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG1lc3NhZ2Up
Ci0gICAgICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSwgZXhlYy0+Z2xvYmFsRGF0YSgpLnByb3BlcnR5TmFtZXMtPmVtcHR5
SWRlbnRpZmllcikKKyAgICAgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3Ry
dWN0dXJlKQogICAgICAgICAsIG1fbWVzc2FnZShtZXNzYWdlKQogICAgIHsKKyAgICAgICAgZmlu
aXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIGV4ZWMtPmdsb2Jh
bERhdGEoKS5wcm9wZXJ0eU5hbWVzLT5lbXB0eUlkZW50aWZpZXIpOwogICAgIH0KIAogcHVibGlj
OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1
Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9y
LmNwcAppbmRleCBkZjExMmRkMjIyMWY5Yzk4ZjdiZGU5MGJjMGJjOGU5MTMwMjRiZTExLi45Mzhm
NDBhYzM2MjMzNzJiMDA1MjMzYjM3NmRkNWNjNGEyZWFmYWNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcApAQCAtMzAsOCArMzAs
MTQgQEAgbmFtZXNwYWNlIEpTQyB7CiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEVycm9yQ29u
c3RydWN0b3IpOwogCiBFcnJvckNvbnN0cnVjdG9yOjpFcnJvckNvbnN0cnVjdG9yKEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEVycm9yUHJvdG90eXBlKiBlcnJvclByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rp
b24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZp
ZXIoZXhlYywgZXJyb3JQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKQorICAgIDog
SW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hD
cmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIGVycm9yUHJvdG90eXBlKTsKK30KKwordm9pZCBF
cnJvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEVycm9yUHJvdG90eXBlKiBlcnJvclByb3RvdHlwZSkKK3sK
KyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVj
dCwgSWRlbnRpZmllcihleGVjLCBlcnJvclByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFt
ZSkpOwogICAgIC8vIEVDTUEgMTUuMTEuMy4xIEVycm9yLnByb3RvdHlwZQogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1l
cygpLnByb3RvdHlwZSwgZXJyb3JQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRh
KCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKDEpLCBEb250RGVsZXRl
IHwgUmVhZE9ubHkgfCBEb250RW51bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggMzg3N2E2ZDExMDc4ODk5MzRhMWM0MTg4NjAz
Zjg2MDUxYTAwOWIyMS4uOTQ0MjEzZjkyNTQyNWIwNjE0NzUzMWVmYjIzODUwNzUyODIzZDkwMiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rv
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3Iu
aApAQCAtMzYsNiArMzYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgewogICAgICAgICAg
ICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPEVycm9yQ29uc3RydWN0b3I+KCpleGVjLT5oZWFw
KCkpKSBFcnJvckNvbnN0cnVjdG9yKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBlcnJQ
cm90b3R5cGUpOwogICAgICAgICB9CisKKyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBFcnJvclByb3RvdHlwZSop
OwogICAgICAgICAKICAgICBwcml2YXRlOgogICAgICAgICBFcnJvckNvbnN0cnVjdG9yKEV4ZWNT
dGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgRXJyb3JQcm90b3R5cGUqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcAppbmRl
eCA2OTg2NzUyNGM0Y2U3ZWY1Yzc2M2I2YTUyNzJlNzE2Y2U4NDk1NzljLi4yYTliOWE5YjA0MGE1
NDUyODg1ZDg0MTVlZDAxYTJlYzFhZGM2MzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwCkBAIC01MCwxMCArNTAsOSBAQCBjb25zdCBD
bGFzc0luZm8gRXJyb3JQcm90b3R5cGU6OnNfaW5mbyA9IHsgIkVycm9yIiwgJkVycm9ySW5zdGFu
Y2U6OnNfaW5mbywgMCwgRQogCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEVycm9yUHJvdG90
eXBlKTsKIAotRXJyb3JQcm90b3R5cGU6OkVycm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitFcnJv
clByb3RvdHlwZTo6RXJyb3JQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKICAgICA6IEVycm9ySW5zdGFuY2UoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1
cmUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9p
ZCBFcnJvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yUHJvdG90eXBlLmgKaW5kZXggZDdiMTUyMjVjODE4ZjEyZGQxYjQ2M2ZlMWY1NDcwOGNk
ZmNmNDlhOS4uZDQ5MWJmOTYzOGNmZjJlOTEyMTFlMDBlMzEzMWZlMDQwNmE1MDc4OSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5oCkBAIC0zMyw3
ICszMyw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBFcnJvclByb3RvdHlw
ZSogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcg
KGFsbG9jYXRlQ2VsbDxFcnJvclByb3RvdHlwZT4oKmV4ZWMtPmhlYXAoKSkpIEVycm9yUHJvdG90
eXBlKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIEVycm9yUHJv
dG90eXBlKiBwcm90b3R5cGUgPSBuZXcgKGFsbG9jYXRlQ2VsbDxFcnJvclByb3RvdHlwZT4oKmV4
ZWMtPmhlYXAoKSkpIEVycm9yUHJvdG90eXBlKGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgICAg
ICBwcm90b3R5cGUtPmZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7CisgICAgICAg
ICAgICByZXR1cm4gcHJvdG90eXBlOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBzdGF0
aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKQEAgLTQ0LDcgKzQ2LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgRXJyb3JQcm90b3R5cGUo
RXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKKyAgICAgICAgRXJyb3JQ
cm90b3R5cGUoRXhlY1N0YXRlKiwgU3RydWN0dXJlKik7CiAgICAgICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqKTsKIAogICAgICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Qg
fCBFcnJvckluc3RhbmNlOjpTdHJ1Y3R1cmVGbGFnczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKaW5kZXggNTBkOWI1Zjdk
YTZlZWMyMzNhMjlhZWNhYzBmOGJiMzZmMzQwMGM5NC4uOGNmMGQyYTY5YjkwNzk5ZDg3MzI0ZDk4
YWRhNzk1ODUyMTkzMTI0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKQEAgLTM4LDggKzM4LDE0IEBAIG5hbWVzcGFj
ZSBKU0MgewogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChGdW5jdGlvbkNvbnN0cnVjdG9yKTsK
IAogRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6RnVuY3Rpb25Db25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4
ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBG
dW5jdGlvblByb3RvdHlwZSogZnVuY3Rpb25Qcm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0
aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlm
aWVyKGV4ZWMsIGZ1bmN0aW9uUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSkKKyAg
ICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7CisgICAgZmlu
aXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBmdW5jdGlvblByb3RvdHlwZSk7Cit9CisK
K3ZvaWQgRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVj
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBGdW5jdGlvblByb3RvdHlwZSogZnVuY3Rp
b25Qcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0
YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIoZXhlYywgZnVuY3Rpb25Qcm90b3R5cGUtPmNs
YXNzSW5mbygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihl
eGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIGZ1bmN0
aW9uUHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAKICAgICAv
LyBOdW1iZXIgb2YgYXJndW1lbnRzIGZvciBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oCmluZGV4IDljNTVkODg4
OWQwZDlhYTQwNjlkODFlOGZjN2Q5MDZhNTE4MWIzNWEuLmU5N2M1M2ZmZTc3ZDExMTJiZjRiMDc2
NTJjNTI4NmI0ZDA2MTUzNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmgKQEAgLTM4LDYgKzM4LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICBwcml2YXRlOgogICAgICAgICBGdW5jdGlvbkNvbnN0cnVjdG9yKEV4ZWNTdGF0
ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgRnVuY3Rpb25Qcm90b3R5cGUqKTsKKyAg
ICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIEZ1
bmN0aW9uUHJvdG90eXBlKik7CiAgICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25z
dHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgdmlydHVhbCBDYWxsVHlwZSBnZXRD
YWxsRGF0YShDYWxsRGF0YSYpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAKaW5kZXggOTZjZDY3NzNiY2VjNWE4MTFk
Y2I0MTc3NzU1MzQxMDJlMjUxYmRlMi4uMDBmOGIyNWVkZTNjY2M5MTI5M2RjNzMzNTllMTFiY2Nm
ZWZjMTg2MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25Qcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uUHJvdG90eXBlLmNwcApAQCAtMzgsOCArMzgsMTQgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25Qcm90b0Z1bmNBcHBseShFeGVjU3RhdGUqKTsKIHN0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uUHJvdG9GdW5jQ2FsbChFeGVj
U3RhdGUqKTsKIAogRnVuY3Rpb25Qcm90b3R5cGU6OkZ1bmN0aW9uUHJvdG90eXBlKEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9i
amVjdCwgc3RydWN0dXJlLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubnVsbElkZW50aWZpZXIpCisg
ICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZp
bmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm51
bGxJZGVudGlmaWVyKTsKK30KKwordm9pZCBGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3JlYXRp
b24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBJ
ZGVudGlmaWVyJiBuYW1lKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2Jh
bERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBuYW1lKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpz
TnVtYmVyKDApLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oCmluZGV4
IGU1N2NhOWQ4ODk1MzUwZTNkMmNhNWEzYTdjNjM1ODZmNjk1NjlkMjYuLmJkOTBkYzg3ODFmNDAx
OTMzYzE5MGQzZTdkNDExN2Y5NjgyNDUxNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaApAQCAtNDEsNiArNDEsOSBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRh
LCBwcm90bywgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBBbm9ueW1vdXNT
bG90Q291bnQsICZzX2luZm8pOwogICAgICAgICB9CiAKKyAgICBwcm90ZWN0ZWQ6CisgICAgICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBjb25zdCBJ
ZGVudGlmaWVyJiBuYW1lKTsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIEZ1bmN0aW9uUHJvdG90
eXBlKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgICAgIHZp
cnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2FsbERhdGEmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKaW5kZXggMDdjMGY3ZjVi
ZjY1YTNlNzU2YjUxYzI0MDM3Y2FjYzMzYzQyZTYyMi4uNWU3NjQ2MTE2OGZiYjBhMTFiMzk2YzMx
MzZlMjZjOGI1MDExNGNlYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKQEAgLTQxLDEwICs0MSw5IEBAIEludGVybmFsRnVuY3Rp
b246OkludGVybmFsRnVuY3Rpb24oVlB0clN0ZWFsaW5nSGFja1R5cGUpCiB7CiB9CiAKLUludGVy
bmFsRnVuY3Rpb246OkludGVybmFsRnVuY3Rpb24oSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
SWRlbnRpZmllciYgbmFtZSkKK0ludGVybmFsRnVuY3Rpb246OkludGVybmFsRnVuY3Rpb24oSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBK
U09iamVjdFdpdGhHbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7Ci0gICAg
ZmluaXNoQ3JlYXRpb24oKmdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCwgbmFtZSk7CiB9CiAKIHZv
aWQgSW50ZXJuYWxGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBJZGVudGlmaWVyJiBuYW1l
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5j
dGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5o
CmluZGV4IDYwNjdiZThkYmZkZGIzN2NhNDYwNzk4MWE3MzA4YTU4MzgwNjg1Y2EuLmRjZGZlNzU2
NDkzODI5ZmFjNTA3YTM0NGJiYTFiYzU5ZmUwYjU2NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmgKQEAgLTUyLDcgKzUyLDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIC8vIE9ubHkgdXNlZCB0byBhbGxvdyB1cyB0byBkZXRlcm1p
bmUgdGhlIEpTRnVuY3Rpb24gdnB0cgogICAgICAgICBJbnRlcm5hbEZ1bmN0aW9uKFZQdHJTdGVh
bGluZ0hhY2tUeXBlKTsKIAotICAgICAgICBJbnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFsRGF0YSos
IEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgY29uc3QgSWRlbnRpZmllciYpOworICAgICAg
ICBJbnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAKICAgICAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmLCBKU0dsb2JhbE9iamVjdCosIGNv
bnN0IElkZW50aWZpZXImIG5hbWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBY3RpdmF0aW9uLmNwcAppbmRleCA1Yzk5ZDdhNjU0MzhkMWNlNzlkYzdjYjUwNWE4NTc3
YTNmNjk3YmViLi5kYmM5NjdlMDM2NzZmYTcyNDAzZWVmNjk1ZDU0OTcxYzhmYmQ4ODVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAKQEAgLTQ2
LDcgKzQ2LDYgQEAgSlNBY3RpdmF0aW9uOjpKU0FjdGl2YXRpb24oQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb25FeGUKICAgICAsIG1fcmVxdWlyZXNEeW5h
bWljQ2hlY2tzKGZ1bmN0aW9uRXhlY3V0YWJsZS0+dXNlc0V2YWwoKSkKICAgICAsIG1fYXJndW1l
bnRzUmVnaXN0ZXIoZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRCeXRlY29kZSgpLmFyZ3Vt
ZW50c1JlZ2lzdGVyKCkpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oY2FsbEZyYW1lKTsKIH0KIAog
dm9pZCBKU0FjdGl2YXRpb246OmZpbmlzaENyZWF0aW9uKENhbGxGcmFtZSogY2FsbEZyYW1lKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaAppbmRleCBkYTJl
NDY1NWUwNjk0ZjdjNTkzZDNhZjE3MWQ2MDBmZDA3MDY2MjVkLi5hZjFiOWJiYzE0OGViZDAxZWNj
NzQwYzU3MmE0ODkzOWUyMDE0YzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FjdGl2YXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FjdGl2YXRpb24uaApAQCAtNDgsNyArNDgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICBzdGF0aWMgSlNBY3RpdmF0aW9uKiBjcmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jRXhlYykKICAg
ICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPEpTQWN0aXZhdGlv
bj4oZ2xvYmFsRGF0YS5oZWFwKSkgSlNBY3RpdmF0aW9uKGNhbGxGcmFtZSwgZnVuY0V4ZWMpOwor
ICAgICAgICAgICAgSlNBY3RpdmF0aW9uKiBhY3RpdmF0aW9uID0gbmV3IChhbGxvY2F0ZUNlbGw8
SlNBY3RpdmF0aW9uPihnbG9iYWxEYXRhLmhlYXApKSBKU0FjdGl2YXRpb24oY2FsbEZyYW1lLCBm
dW5jRXhlYyk7CisgICAgICAgICAgICBhY3RpdmF0aW9uLT5maW5pc2hDcmVhdGlvbihjYWxsRnJh
bWUpOworICAgICAgICAgICAgcmV0dXJuIGFjdGl2YXRpb247CiAgICAgICAgIH0KIAogICAgICAg
ICB2aXJ0dWFsIH5KU0FjdGl2YXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDg1YzQyOTY2MzFhZTNlNjNkOTM4MDM1ZWE3MDgw
MDRiZmNlZTA3MzIuLjdhZWY3NjllZmM0MjkyN2RjZTUwMDBiNjIzYjkxOGNhZDFlYzdkNTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAt
MTQ2LDcgKzE0Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBKU0dsb2Jh
bE9iamVjdCogY3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxK
U0dsb2JhbE9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgSlNHbG9iYWxPYmplY3QoZ2xvYmFsRGF0
YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qg
PSBuZXcgKGFsbG9jYXRlQ2VsbDxKU0dsb2JhbE9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgSlNH
bG9iYWxPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIGdsb2JhbE9i
amVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAg
ICAgIHJldHVybiBnbG9iYWxPYmplY3Q7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgSlNf
RVhQT1JUREFUQSBjb25zdCBDbGFzc0luZm8gc19pbmZvOwpAQCAtMTU5LDE3ICsxNjEsNiBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgICwgbV93ZWFrUmFuZG9tKHN0YXRpY19jYXN0PHVu
c2lnbmVkPihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6
bWF4KCkgKyAxLjApKSkKICAgICAgICAgICAgICwgbV9ldmFsRW5hYmxlZCh0cnVlKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIEpTR2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTT2JqZWN0KiB0aGlzVmFsdWUpCi0gICAgICAgICAgICA6
IEpTVmFyaWFibGVPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlLCAmbV9zeW1ib2xUYWJsZSwg
MCkKLSAgICAgICAgICAgICwgbV9yZWdpc3RlckFycmF5U2l6ZSgwKQotICAgICAgICAgICAgLCBt
X2dsb2JhbFNjb3BlQ2hhaW4oKQotICAgICAgICAgICAgLCBtX3dlYWtSYW5kb20oc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHJhbmRvbU51bWJlcigpICogKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWdu
ZWQ+OjptYXgoKSArIDEuMCkpKQotICAgICAgICAgICAgLCBtX2V2YWxFbmFibGVkKHRydWUpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHRoaXNWYWx1
ZSk7CiAgICAgICAgIH0KIAogICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSwgSlNPYmplY3QqIHRoaXNWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggMTczMTUyYjI5MTkzZGYyMDI0NTgxMjM3
Njc2OGZiZDg5ZGU3MzYwYy4uMTEyMTQ2ODM3YWUyZmQwYmNhOWE2MzdlNWYxNzg1NjQzYzBjNjRj
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKQEAg
LTU2LDcgKzU2LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiBKU09OT2JqZWN0OjpKU09OT2JqZWN0KEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDog
SlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewotICAg
IGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgSlNPTk9iamVjdDo6Zmlu
aXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaAppbmRleCA0ODBlNzRiZGI4MzQ5MzZiZDI5Zjcy
ZTZhY2RlMjQ2MTdkZTZhNWYyLi5mOTJmNDYwNmQwMDk0YzgxNWU5NDEzMjQzMmI4NmM2NTI4NGI2
MjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5oCkBAIC0z
OCw3ICszOCw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBKU09OT2JqZWN0
KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAo
YWxsb2NhdGVDZWxsPEpTT05PYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBKU09OT2JqZWN0KGdsb2Jh
bE9iamVjdCwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIEpTT05PYmplY3QqIG9iamVjdCA9IG5l
dyAoYWxsb2NhdGVDZWxsPEpTT05PYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBKU09OT2JqZWN0KGds
b2JhbE9iamVjdCwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRp
b24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgIH0K
ICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEsIEpTVmFsdWUgcHJvdG90eXBlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVjdC5oCmluZGV4IDI5YTRj
YWU5MTQ3YTU3NzMyYjhiZmE4MTE4Mjc4NDkxMzkzYmUxYzUuLjljMThjNjJmNGU0YmYyM2ZhZGI0
NGQ3Y2M5MGQwZTUxZjFmNzk0NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmgKQEAgLTM2LDcgKzM2LDkgQEAgbmFtZXNwYWNl
IEpTQ3sKIAogICAgICAgICBzdGF0aWMgSlNTdGF0aWNTY29wZU9iamVjdCogY3JlYXRlKEV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllciwgSlNWYWx1ZSB2YWx1ZSwg
dW5zaWduZWQgYXR0cmlidXRlcykKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAo
YWxsb2NhdGVDZWxsPEpTU3RhdGljU2NvcGVPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBKU1N0YXRp
Y1Njb3BlT2JqZWN0KGV4ZWMsIGlkZW50aWZpZXIsIHZhbHVlLCBhdHRyaWJ1dGVzKTsKKyAgICAg
ICAgICAgIEpTU3RhdGljU2NvcGVPYmplY3QqIHNjb3BlT2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNl
bGw8SlNTdGF0aWNTY29wZU9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIEpTU3RhdGljU2NvcGVPYmpl
Y3QoZXhlYyk7CisgICAgICAgICAgICBzY29wZU9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZXhlYywg
aWRlbnRpZmllciwgdmFsdWUsIGF0dHJpYnV0ZXMpOworICAgICAgICAgICAgcmV0dXJuIHNjb3Bl
T2JqZWN0OwogICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHZpc2l0Q2hpbGRyZW4o
U2xvdFZpc2l0b3ImKTsKQEAgLTU5LDEwICs2MSw5IEBAIG5hbWVzcGFjZSBKU0N7CiAgICAgICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IElzRW52aXJvbm1lbnRSZWNv
cmQgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlkZXNWaXNpdENoaWxkcmVu
IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTVmFyaWFibGVPYmplY3Q6OlN0cnVjdHVy
ZUZsYWdzOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgSlNTdGF0aWNTY29wZU9iamVjdChFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIEpTVmFsdWUgdmFsdWUs
IHVuc2lnbmVkIGF0dHJpYnV0ZXMpCisgICAgICAgIEpTU3RhdGljU2NvcGVPYmplY3QoRXhlY1N0
YXRlKiBleGVjKQogICAgICAgICAgICAgOiBKU1ZhcmlhYmxlT2JqZWN0KGV4ZWMtPmdsb2JhbERh
dGEoKSwgZXhlYy0+Z2xvYmFsRGF0YSgpLnN0YXRpY1Njb3BlU3RydWN0dXJlLmdldCgpLCAmbV9z
eW1ib2xUYWJsZSwgcmVpbnRlcnByZXRfY2FzdDxSZWdpc3Rlcio+KCZtX3JlZ2lzdGVyU3RvcmUg
KyAxKSkKICAgICAgICAgewotICAgICAgICAgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgaWRlbnRp
ZmllciwgdmFsdWUsIGF0dHJpYnV0ZXMpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBT
eW1ib2xUYWJsZSBtX3N5bWJvbFRhYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNTdHJpbmcuY3BwCmluZGV4IGJkMzU1Zjc2NmFiNGUzYjY5ZjMyYzllZDI4M2RmYzA5ZDkzYmMx
NDkuLjQ3ZGIxZmY4MDMzMGY5YmYyZWU1M2Y0MWFhMjc0ZTdiZDNmNGYxOTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAKQEAgLTI5OCw3ICsyOTgsOSBAQCBV
U3RyaW5nIEpTU3RyaW5nOjp0b1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiAKIGlubGlu
ZSBTdHJpbmdPYmplY3QqIFN0cmluZ09iamVjdDo6Y3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNTdHJpbmcqIHN0cmluZykKIHsKLSAgICByZXR1
cm4gbmV3IChhbGxvY2F0ZUNlbGw8U3RyaW5nT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgU3RyaW5n
T2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LT5zdHJpbmdPYmplY3RTdHJ1
Y3R1cmUoKSwgc3RyaW5nKTsKKyAgICBTdHJpbmdPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2Nh
dGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmluZ09iamVjdChleGVjLT5n
bG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdC0+c3RyaW5nT2JqZWN0U3RydWN0dXJlKCkpOworICAg
IG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJpbmcpOworICAg
IHJldHVybiBvYmplY3Q7CiB9CiAKIEpTT2JqZWN0KiBKU1N0cmluZzo6dG9PYmplY3QoRXhlY1N0
YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmNwcAppbmRleCA1ZWM1NmEzNmU3Mzc1
NTlhMzBkZmIxMjA4YTBjMTNjZWJhOTg3YjZkLi5hNGU3NTk2Zjc0M2U3MzY5ODY4NzZkZWMwOWQw
NTcwYTBjNDNhZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9N
YXRoT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2Jq
ZWN0LmNwcApAQCAtODQsMTAgKzg0LDkgQEAgY29uc3QgQ2xhc3NJbmZvIE1hdGhPYmplY3Q6OnNf
aW5mbyA9IHsgIk1hdGgiLCAmSlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0OjpzX2luZm8KIEBlbmQK
ICovCiAKLU1hdGhPYmplY3Q6Ok1hdGhPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK01hdGhPYmplY3Q6Ok1h
dGhPYmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCiAgICAgOiBKU09iamVjdFdpdGhHbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1
cmUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9p
ZCBNYXRoT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXRoT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2Jq
ZWN0LmgKaW5kZXggN2ZiZWQ5MGJmYmQyY2IxMTVhZDg1MjRmZTQzZWQ3YTRmNjBhZTI4YS4uYWVm
N2UxMjgxOTAxOGM0NzgxNTk5MmJhYTRhYTQ5NWQ1YjAxOWE2NSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaApAQCAtMjcsMTQgKzI3LDE2IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgY2xhc3MgTWF0aE9iamVjdCA6IHB1YmxpYyBKU09iamVjdFdpdGhHbG9i
YWxPYmplY3QgewogICAgIHByaXZhdGU6Ci0gICAgICAgIE1hdGhPYmplY3QoRXhlY1N0YXRlKiwg
SlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKKyAgICAgICAgTWF0aE9iamVjdChKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSopOwogCiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIEpT
T2JqZWN0V2l0aEdsb2JhbE9iamVjdCBCYXNlOwogCiAgICAgICAgIHN0YXRpYyBNYXRoT2JqZWN0
KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAo
YWxsb2NhdGVDZWxsPE1hdGhPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBNYXRoT2JqZWN0KGV4ZWMs
IGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIE1hdGhPYmplY3QqIG9iamVj
dCA9IG5ldyAoYWxsb2NhdGVDZWxsPE1hdGhPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBNYXRoT2Jq
ZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNo
Q3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7
CiAgICAgICAgIH0KICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdChFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllciYsIFByb3BlcnR5RGVzY3JpcHRvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCA4YzY2Zjdl
YWY1NTJiMmM1NjlhNmViZmQ2M2EwMjQxOTU0MGEyYzdkLi41MzdhNDU3NmM3MDIzYzA5NzAyNWEy
YmMwOGU2ZmI0YTNkOWY2MDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcApAQCAtMzMsOSArMzMsOSBAQCBB
U1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE5hdGl2ZUVycm9yQ29uc3RydWN0b3IpOwogY29uc3Qg
Q2xhc3NJbmZvIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwg
JkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCB9OwogCiBOYXRpdmVFcnJvckNvbnN0cnVj
dG9yOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90
eXBlU3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBuYW1lKQotICAgIDogSW50ZXJuYWxGdW5jdGlv
bigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmll
cihleGVjLCBuYW1lKSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1
Y3R1cmUpCiB7Ci0gICAgY29uc3RydWN0b3JCb2R5KGV4ZWMsIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlU3RydWN0dXJlLCBuYW1lKTsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZVN0cnVjdHVyZSwgbmFtZSk7CiB9CiAKIHZvaWQgTmF0aXZlRXJyb3JDb25z
dHJ1Y3Rvcjo6dmlzaXRDaGlsZHJlbihTbG90VmlzaXRvciYgdmlzaXRvcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaApp
bmRleCBmNDYyODZhN2JiNGRiNzdiNmVmNGM5OWUyNGJhZTQwZDMzYzJhN2I5Li5iMGYwZWRjOTE5
MTA3YzEyNTRmOGE0MTYxZDk1YTQ2OTE0YjI5YmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oCkBAIC00OSw4ICs0
OSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJl
KCkgeyByZXR1cm4gbV9lcnJvclN0cnVjdHVyZS5nZXQoKTsgfQogCiAgICAgcHJvdGVjdGVkOgot
ICAgICAgICB2b2lkIGNvbnN0cnVjdG9yQm9keShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25zdCBV
U3RyaW5nJiBuYW1lKQorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhl
YywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1
Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG5hbWUpCiAgICAgICAgIHsKKyAgICAgICAgICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlm
aWVyKGV4ZWMsIG5hbWUpKTsKICAgICAgICAgICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7
CiAKICAgICAgICAgICAgIE5hdGl2ZUVycm9yUHJvdG90eXBlKiBwcm90b3R5cGUgPSBOYXRpdmVF
cnJvclByb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlU3RydWN0
dXJlLCBuYW1lLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmNwcAppbmRleCBlNWZlN2NjMDUyZjA4NmE2Y2E1NWU1
ZWVhNTlhZDk0OTg5NWNiNzlmLi44YTE1MzBiN2Q1NzFmYzYyZTllNzRiZmU3YzA4ZTQzYjQ1MzY4
YWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJv
clByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZl
RXJyb3JQcm90b3R5cGUuY3BwCkBAIC0zMCwxNiArMzAsMTcgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
IEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTmF0aXZlRXJyb3JQcm90b3R5cGUpOwogCi1OYXRp
dmVFcnJvclByb3RvdHlwZTo6TmF0aXZlRXJyb3JQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
VVN0cmluZyYgbmFtZSwgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IpCi0gICAg
OiBFcnJvclByb3RvdHlwZShleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKK05hdGl2ZUVy
cm9yUHJvdG90eXBlOjpOYXRpdmVFcnJvclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBVU3Ry
aW5nJiBuYW1lQW5kTWVzc2FnZSwgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3Ip
CisgICAgOiBFcnJvclByb3RvdHlwZShleGVjLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgY29uc3RydWN0
b3JCb2R5KGV4ZWMsIG5hbWUsIGNvbnN0cnVjdG9yKTsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVj
LCBnbG9iYWxPYmplY3QsIG5hbWVBbmRNZXNzYWdlLCBjb25zdHJ1Y3Rvcik7CiB9CiAKLWlubGlu
ZSB2b2lkIE5hdGl2ZUVycm9yUHJvdG90eXBlOjpjb25zdHJ1Y3RvckJvZHkoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBVU3RyaW5nJiBuYW1lLCBOYXRpdmVFcnJvckNvbnN0cnVjdG9yKiBjb25zdHJ1
Y3RvcikKK2lubGluZSB2b2lkIE5hdGl2ZUVycm9yUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihF
eGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFVTdHJp
bmcmIG5hbWVBbmRNZXNzYWdlLCBOYXRpdmVFcnJvckNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvcikK
IHsKLSAgICBwdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkubmFtZSwganNTdHJpbmcoZXhlYywgbmFtZSksIERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubWVzc2FnZSwganNFbXB0
eVN0cmluZyhleGVjKSwgRG9udEVudW0pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMs
IGdsb2JhbE9iamVjdCk7CisgICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+
cHJvcGVydHlOYW1lcygpLm5hbWUsIGpzU3RyaW5nKGV4ZWMsIG5hbWVBbmRNZXNzYWdlKSwgRG9u
dEVudW0pOworICAgIHB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5
TmFtZXMoKS5tZXNzYWdlLCBqc1N0cmluZyhleGVjLCBuYW1lQW5kTWVzc2FnZSksIERvbnRFbnVt
KTsKICAgICBwdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkuY29uc3RydWN0b3IsIGNvbnN0cnVjdG9yLCBEb250RW51bSk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oCmluZGV4
IDMzNDkyYmQ4ZGYzMjk3NWUxYThmNDdmZDFjYTNiMGJhMDdhMjQ5YTIuLmQ4OTRhYjRmMzUzMDZh
OGZhNzliZWE5YWM0ZTk3MTc4ZmY3NWQwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuaApAQCAtMzksNyArMzksNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2b2lk
IGNvbnN0cnVjdG9yQm9keShFeGVjU3RhdGUqLCBjb25zdCBVU3RyaW5nJiBuYW1lLCBOYXRpdmVF
cnJvckNvbnN0cnVjdG9yKik7CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRl
KiwgSlNHbG9iYWxPYmplY3QqLCBjb25zdCBVU3RyaW5nJiBuYW1lQW5kTWVzc2FnZSwgTmF0aXZl
RXJyb3JDb25zdHJ1Y3RvciopOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IDRiN2Y2ODM2ZjFhZjM4ZTM5NDgxNTZiZDNiMTBhYTU0YjQ3YjY2OTEuLmRkZTY0MjQwNmIy
MWU3ZWJkZjIzZWE5ZTAyNGE1NDQzYzc1MDNlM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKQEAgLTU1LDggKzU1LDE0IEBA
IGNvbnN0IENsYXNzSW5mbyBOdW1iZXJDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24i
LCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pCiAqLwogCiBOdW1iZXJDb25zdHJ1Y3Rvcjo6TnVtYmVy
Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTnVtYmVyUHJvdG90eXBlKiBudW1iZXJQcm90b3R5cGUp
Ci0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVj
dCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIG51bWJlclByb3RvdHlwZS0+c19pbmZvLmNs
YXNzTmFtZSkpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJl
KSAKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIG51bWJlclByb3Rv
dHlwZSk7Cit9CisKK3ZvaWQgTnVtYmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTnVtYmVyUHJvdG90eXBl
KiBudW1iZXJQcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xv
YmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIoZXhlYywgbnVtYmVyUHJvdG90eXBl
LT5zX2luZm8uY2xhc3NOYW1lKSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIAog
ICAgIC8vIE51bWJlci5Qcm90b3R5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCmluZGV4IDc1NWQwYjQ1ZmFmNjA4MmE2ODk2NzU3MWJl
Yjc3Y2M3ZTczNDAzNmEuLmFmODIxZDk4YWIwOTM3MmU3NGQ2ZmQ0MmIxMzJlYWRiOTQ3YTg0NjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVj
dG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0
b3IuaApAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgZW51bSB7IE5h
TlZhbHVlLCBOZWdJbmZpbml0eSwgUG9zSW5maW5pdHksIE1heFZhbHVlLCBNaW5WYWx1ZSB9Owog
CiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSos
IEpTR2xvYmFsT2JqZWN0KiwgTnVtYmVyUHJvdG90eXBlKik7CiAgICAgICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8
IEltcGxlbWVudHNIYXNJbnN0YW5jZSB8IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdz
OwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bWJlck9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1i
ZXJPYmplY3QuY3BwCmluZGV4IDIyNjc2ZDBmZmE4Y2M3NDZhZDE2ZDZlNDI4ZjNiYzhjZDcwZDc2
MmQuLmNmYmMyM2M2Mjk5ZTM5YzZkOTlkMzdlNDBmNmEyMzc3MWJiNGI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcApAQCAtMzQsNyArMzQs
NiBAQCBjb25zdCBDbGFzc0luZm8gTnVtYmVyT2JqZWN0OjpzX2luZm8gPSB7ICJOdW1iZXIiLCAm
SlNXcmFwcGVyT2JqZWN0OjpzX2luZm8sIDAsCiBOdW1iZXJPYmplY3Q6Ok51bWJlck9iamVjdChK
U0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNX
cmFwcGVyT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlv
bihnbG9iYWxEYXRhKTsKIH0KIAogdm9pZCBOdW1iZXJPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpT
R2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL051bWJlck9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TnVtYmVyT2JqZWN0LmgKaW5kZXggOTAxZjVlYjRiMGYzYjU0MTdmZGM5OWQyMjVlZWEyZjcxMzQ1
MjFmYi4uOTY5ZTFlZjZhMGZiODM0ODQ0MGYyNTRhM2YwZWE0YTJkMjlmZmQ4YiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmgKQEAgLTM1LDcgKzM1LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIE51bWJlck9iamVjdCogY3JlYXRl
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxOdW1iZXJPYmplY3Q+KGds
b2JhbERhdGEuaGVhcCkpIE51bWJlck9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpOworICAg
ICAgICAgICAgTnVtYmVyT2JqZWN0KiBudW1iZXIgPSBuZXcgKGFsbG9jYXRlQ2VsbDxOdW1iZXJP
YmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIE51bWJlck9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1
cmUpOworICAgICAgICAgICAgbnVtYmVyLT5maW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhKTsKKyAg
ICAgICAgICAgIHJldHVybiBudW1iZXI7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgY29u
c3QgQ2xhc3NJbmZvIHNfaW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bWJlclByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OdW1iZXJQcm90b3R5cGUuY3BwCmluZGV4IGQ3NDQxNjI2ZTExMWEyYmNjMWQzYTE2MDZjODE1
NGFiYTBhMGNjMDYuLjVjNGQ4M2RmNWY3NzI4ODdjNDFjYTBlYmExZDBmMDYwZjA5ZjBhYjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNw
cApAQCAtNjksNiArNjksMTIgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChOdW1iZXJQcm90
b3R5cGUpOwogTnVtYmVyUHJvdG90eXBlOjpOdW1iZXJQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVj
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAg
ICA6IE51bWJlck9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsKKyAgICBm
aW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QpOworfQorCit2b2lkIE51bWJlclByb3Rv
dHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEo
KSk7CiAgICAgc2V0SW50ZXJuYWxWYWx1ZShleGVjLT5nbG9iYWxEYXRhKCksIGpzTnVtYmVyKDAp
KTsKIAogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5oCmluZGV4IGRiNmZlY2VmMzdjNzIyNTg5
OWUzMGYwNDgxNjgyMTkwN2YxMTA4OWUuLjQ4M2Q3MjQ5ZGM4NzAyOTg2MTQ4OTgyZmYxYTkzNjE0
MTM2MjkxNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJl
clByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclBy
b3RvdHlwZS5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAK
ICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwg
SlNHbG9iYWxPYmplY3QqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgTnVtYmVyT2JqZWN0OjpTdHJ1
Y3R1cmVGbGFnczsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIEFub255bW91c1Nsb3RD
b3VudCA9IE51bWJlck9iamVjdDo6QW5vbnltb3VzU2xvdENvdW50ICsgMTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCmluZGV4
IGMzMjVmYTA3MGIxZjdiYjk0NjBjMjE4YjIwYjYyZTc4YmJkNGI4YTUuLmQ0NzQzMGVmMjkzN2My
ZDRhNzQwMGU3YjU3YmFhMjE4YWYwMzI1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTc2LDggKzc2LDE0IEBAIGNv
bnN0IENsYXNzSW5mbyBPYmplY3RDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAm
SW50ZXJuYWxGdW5jdGlvbjo6c19pCiAqLwogCiBPYmplY3RDb25zdHJ1Y3Rvcjo6T2JqZWN0Q29u
c3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgT2JqZWN0UHJvdG90eXBlKiBvYmplY3RQcm90b3R5cGUpCi0g
ICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsICJPYmplY3QiKSkKKyAgICA6IEludGVybmFsRnVu
Y3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhl
YywgZ2xvYmFsT2JqZWN0LCBvYmplY3RQcm90b3R5cGUpOworfQorCit2b2lkIE9iamVjdENvbnN0
cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIE9iamVjdFByb3RvdHlwZSogb2JqZWN0UHJvdG90eXBlKQoreworICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBJZGVu
dGlmaWVyKGV4ZWMsICJPYmplY3QiKSk7CiAgICAgLy8gRUNNQSAxNS4yLjMuMQogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlO
YW1lcygpLnByb3RvdHlwZSwgb2JqZWN0UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUg
fCBSZWFkT25seSk7CiAgICAgLy8gbm8uIG9mIGFyZ3VtZW50cyBmb3IgY29uc3RydWN0b3IKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCmlu
ZGV4IDhmMTQzNjE0NGU0NmM0OTZiODBkYzAwYTAyYjc0MmEzYzIxZmJlM2EuLmEwMTBmN2M0NTlk
Nzc4NTRiMTQzM2VjOGU3ODY4MjBhMDFjYTMyNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaApAQCAtNDcsNiArNDcsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgT2JqZWN0UHJvdG90eXBl
Kik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJy
aWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdz
OwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1JlZ0V4cENvbnN0cnVjdG9yLmNwcAppbmRleCBjOGExMzNiNDI1Njg3MzE1ZmY2ZTgyMWMwYmEy
N2E1N2ExNWEzM2VhLi44MjU5YjZlNTA4ZTM2NDU0MGEwYjE0OGFhNGZmNGNlNGMzZGFkN2RmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0
b3IuY3BwCkBAIC05Niw5ICs5NiwxNSBAQCBjb25zdCBDbGFzc0luZm8gUmVnRXhwQ29uc3RydWN0
b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaQogKi8KIAog
UmVnRXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cFBy
b3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+
Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCAi
UmVnRXhwIikpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJl
KQogICAgICwgZChhZG9wdFB0cihuZXcgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKSkKIHsKKyAg
ICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIHJlZ0V4cFByb3RvdHlwZSk7Cit9
CisKK3ZvaWQgUmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhl
YywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVnRXhwUHJvdG90eXBlKiByZWdFeHBQ
cm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgp
LCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIoZXhlYywgIlJlZ0V4cCIpKTsKICAgICBBU1NFUlQo
aW5oZXJpdHMoJnNfaW5mbykpOwogCiAgICAgLy8gRUNNQSAxNS4xMC41LjEgUmVnRXhwLnByb3Rv
dHlwZQpAQCAtMTA4LDEwICsxMTQsOSBAQCBSZWdFeHBDb25zdHJ1Y3Rvcjo6UmVnRXhwQ29uc3Ry
dWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZQogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVy
dHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoMiksIFJlYWRPbmx5IHwgRG9udERlbGV0ZSB8IERv
bnRFbnVtKTsKIH0KIAotUmVnRXhwTWF0Y2hlc0FycmF5OjpSZWdFeHBNYXRjaGVzQXJyYXkoRXhl
Y1N0YXRlKiBleGVjLCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUqIGRhdGEpCitSZWdFeHBNYXRj
aGVzQXJyYXk6OlJlZ0V4cE1hdGNoZXNBcnJheShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgOiBKU0Fy
cmF5KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5yZWdF
eHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUoKSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIGRhdGEpOwogfQogCiB2b2lkIFJlZ0V4cE1hdGNoZXNBcnJheTo6ZmluaXNo
Q3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBSZWdFeHBDb25zdHJ1Y3RvclByaXZh
dGUqIGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29u
c3RydWN0b3IuaAppbmRleCAwYTdjYjZlYWZhZWNkNDgwN2ZlY2VhN2M1YzQxY2VlNTIwMGNlZDRj
Li4wNTY3NWE5NmFmZTNlNGU3NDU5ZTllMDNmMGIxNzljN2M0ZTRlNjRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKQEAgLTkwLDYg
KzkwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTVmFsdWUgZ2V0UmlnaHRDb250ZXh0
KEV4ZWNTdGF0ZSopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgUmVnRXhwUHJvdG90eXBlKik7
CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRl
c0dldE93blByb3BlcnR5U2xvdCB8IEltcGxlbWVudHNIYXNJbnN0YW5jZSB8IEludGVybmFsRnVu
Y3Rpb246OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKaW5kZXggODdkNTljNzE0
ZWI1NGRmMjgxNzNkZmVkZWJkZWQ1NDZmNjUxYzNhYi4uYWQ5NGUwN2RhN2MxM2Y5YjFiM2M0ZTcw
YjY2ZTU2NmFmYTdhOWY4YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKQEAgLTI2LDE0ICsyNiwxNiBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgIGNsYXNzIFJlZ0V4cE1hdGNoZXNBcnJheSA6IHB1YmxpYyBKU0FycmF5IHsKICAg
ICBwcml2YXRlOgotICAgICAgICBSZWdFeHBNYXRjaGVzQXJyYXkoRXhlY1N0YXRlKiwgUmVnRXhw
Q29uc3RydWN0b3JQcml2YXRlKik7CisgICAgICAgIFJlZ0V4cE1hdGNoZXNBcnJheShFeGVjU3Rh
dGUqKTsKIAogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBKU0FycmF5IEJhc2U7CiAKICAg
ICAgICAgc3RhdGljIFJlZ0V4cE1hdGNoZXNBcnJheSogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKiBjdG9yUHJpdmF0ZSkKICAgICAgICAgewotICAgICAg
ICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFJlZ0V4cE1hdGNoZXNBcnJheT4oKmV4ZWMt
PmhlYXAoKSkpIFJlZ0V4cE1hdGNoZXNBcnJheShleGVjLCBjdG9yUHJpdmF0ZSk7CisgICAgICAg
ICAgICBSZWdFeHBNYXRjaGVzQXJyYXkqIHJlZ0V4cCA9IG5ldyAoYWxsb2NhdGVDZWxsPFJlZ0V4
cE1hdGNoZXNBcnJheT4oKmV4ZWMtPmhlYXAoKSkpIFJlZ0V4cE1hdGNoZXNBcnJheShleGVjKTsK
KyAgICAgICAgICAgIHJlZ0V4cC0+ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBj
dG9yUHJpdmF0ZSk7CisgICAgICAgICAgICByZXR1cm4gcmVnRXhwOwogICAgICAgICB9CiAgICAg
ICAgIHZpcnR1YWwgflJlZ0V4cE1hdGNoZXNBcnJheSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAppbmRleCA4NDFkOTM5NDExN2FiMDkxMTcz
OGQwYzQ4NWUzZmU1MGI1YTFkZDE2Li5hYWEzZWUwN2MxYjZlY2E2N2RjYTg4NDg3OGE0YzU2MmFj
MmQzNjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVj
dC5jcHAKQEAgLTY2LDcgKzY2LDYgQEAgUmVnRXhwT2JqZWN0OjpSZWdFeHBPYmplY3QoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFIKICAgICA6IEpT
T2JqZWN0V2l0aEdsb2JhbE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAsIGQo
YWRvcHRQdHIobmV3IFJlZ0V4cE9iamVjdERhdGEoZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCks
IHRoaXMsIHJlZ0V4cCkpKQogewotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9
CiAKIHZvaWQgUmVnRXhwT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVn
RXhwT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3Qu
aAppbmRleCBiY2U0NTVhZjgxMmY5MWJhYmIyMjYwNzBhZDIwZTllMDQ2ZjI0MTEzLi40YWJkYTRi
OWE2ZDFhMDdhYjcwMzVlMTZiYTQyY2VhM2YyOTBkY2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaApAQCAtMzIsMTIgKzMyLDE2IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBSZWdFeHBPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUq
IGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBSZWdFeHAqIHJlZ0V4cCkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxs
b2NhdGVDZWxsPFJlZ0V4cE9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFJlZ0V4cE9iamVjdChnbG9i
YWxPYmplY3QsIHN0cnVjdHVyZSwgcmVnRXhwKTsKKyAgICAgICAgICAgIFJlZ0V4cE9iamVjdCog
b2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8UmVnRXhwT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkg
UmVnRXhwT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCByZWdFeHApOworICAgICAgICAg
ICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgcmV0
dXJuIG9iamVjdDsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3RhdGljIFJlZ0V4cE9i
amVjdCogY3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cCogcmVnRXhwKQogICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8UmVnRXhwT2JqZWN0Pihn
bG9iYWxEYXRhLmhlYXApKSBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHJl
Z0V4cCk7CisgICAgICAgICAgICBSZWdFeHBPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2NhdGVD
ZWxsPFJlZ0V4cE9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgUmVnRXhwT2JqZWN0KGdsb2JhbE9i
amVjdCwgc3RydWN0dXJlLCByZWdFeHApOworICAgICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVh
dGlvbihnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICAgICAg
fQogCiAgICAgICAgIHZpcnR1YWwgflJlZ0V4cE9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAKaW5kZXggOGJmYzk5ZjU0NTA1
YWVjNGYyZTJjZDk2MjQ3NmU3ODgyYzkzODY1Zi4uOTFiODg2OTdmM2RiOGI3ODA0YWZmMmIwOGVh
ZDhkODI3ODQ5M2ZlNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UmVnRXhwUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBQcm90b3R5cGUuY3BwCkBAIC02NSw2ICs2NSw3IEBAIEFTU0VSVF9DTEFTU19GSVRTX0lO
X0NFTEwoUmVnRXhwUHJvdG90eXBlKTsKIFJlZ0V4cFByb3RvdHlwZTo6UmVnRXhwUHJvdG90eXBl
KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBSZWdFeHAqIHJlZ0V4cCkKICAgICA6IFJlZ0V4cE9iamVjdChnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSwgcmVnRXhwKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7
CiB9CiAKIGJvb2wgUmVnRXhwUHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCAmc2xv
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0
cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVj
dG9yLmNwcAppbmRleCAxZDNiMWM3YTFiMjk1Nzk1YjZkMTZhNTliZDAyZWRhMjI2MmRlYzdlLi5h
ZjlhYmY1YTcwYzE5NzQ4MjllMDcwYzMzZmI1Yjg4Y2YyZjcxNjlkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCkBAIC00OCw4
ICs0OCwxNCBAQCBjb25zdCBDbGFzc0luZm8gU3RyaW5nQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsg
IkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaQogQVNTRVJUX0NMQVNTX0ZJVFNfSU5f
Q0VMTChTdHJpbmdDb25zdHJ1Y3Rvcik7CiAKIFN0cmluZ0NvbnN0cnVjdG9yOjpTdHJpbmdDb25z
dHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBTdHJpbmdQcm90b3R5cGUqIHN0cmluZ1Byb3RvdHlwZSkKLSAg
ICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBz
dHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgc3RyaW5nUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+
Y2xhc3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1
cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJpbmdQcm90
b3R5cGUpOworfQorCit2b2lkIFN0cmluZ0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cmluZ1Byb3RvdHlw
ZSogc3RyaW5nUHJvdG90eXBlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmds
b2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyKGV4ZWMsIHN0cmluZ1Byb3RvdHlw
ZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0
aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwg
c3RyaW5nUHJvdG90eXBlLCBSZWFkT25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CiAgICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9w
ZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERv
bnREZWxldGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RyaW5nQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmlu
Z0NvbnN0cnVjdG9yLmgKaW5kZXggZmFhNzljMzg1OTliYjAyNmU5NGE2MDhmZjQ0MzUwY2E0NmU1
YzMyYS4uNDUzNDY3MjU4MTJhYWU0Yjk1Y2I4YzdjNzI0YmI5YWMwM2RjZjdmYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCkBAIC00
NCw2ICs0NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAKICAgICBwcm90ZWN0ZWQ6
CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3Qq
LCBTdHJpbmdQcm90b3R5cGUqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50ZXJuYWxGdW5jdGlv
bjo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAKaW5kZXggYjhmYWQ5ZTQ5NzM3N2FjYTc0NTcw
MTNjZGEzNzAzYjhmMjcwNTkzMy4uZjZkNjlkMTA5NTI2NGU2MTkxZTU3ZjVjNDJjODA3NDQ0ZjYw
MDc3ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3Qu
Y3BwCkBAIC0yOSwxMCArMjksOSBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFN0cmluZ09i
amVjdCk7CiAKIGNvbnN0IENsYXNzSW5mbyBTdHJpbmdPYmplY3Q6OnNfaW5mbyA9IHsgIlN0cmlu
ZyIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMCB9OwogCi1TdHJpbmdPYmplY3Q6OlN0
cmluZ09iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBKU1N0cmluZyogc3RyaW5nKQorU3RyaW5nT2JqZWN0OjpTdHJpbmdPYmplY3QoSlNHbG9iYWxE
YXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTV3JhcHBlck9i
amVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFs
RGF0YSwgc3RyaW5nKTsKIH0KIAogdm9pZCBTdHJpbmdPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpT
R2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNTdHJpbmcqIHN0cmluZykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgKaW5kZXggMGIwYzIwMDY0OGJlYmY4YWU2
NGI1Yzc3OWQxYTc1NjNjMTk2NWJlYy4uYmVjNzZkNGY0MDZkYTczOTlhMGZjNzc0OGZhYTc2YTAx
Y2ZjYjgwMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5n
T2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0
LmgKQEAgLTMzLDEyICszMywxNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGljIFN0
cmluZ09iamVjdCogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CiAgICAgICAgIHsKICAgICAgICAgICAgIEpTU3RyaW5nKiBzdHJpbmcgPSBqc0VtcHR5U3RyaW5n
KGV4ZWMpOwotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFN0cmluZ09iamVj
dD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVj
dHVyZSwgc3RyaW5nKTsgIAorICAgICAgICAgICAgU3RyaW5nT2JqZWN0KiBvYmplY3QgPSBuZXcg
KGFsbG9jYXRlQ2VsbDxTdHJpbmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmplY3Qo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpOyAgCisgICAgICAgICAgICBvYmplY3QtPmZp
bmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RyaW5nKTsKKyAgICAgICAgICAgIHJl
dHVybiBvYmplY3Q7CiAgICAgICAgIH0KICAgICAgICAgc3RhdGljIFN0cmluZ09iamVjdCogY3Jl
YXRlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFVTdHJpbmcm
IHN0cikKICAgICAgICAgewogICAgICAgICAgICAgSlNTdHJpbmcqIHN0cmluZyA9IGpzU3RyaW5n
KGV4ZWMsIHN0cik7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8U3RyaW5n
T2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwg
c3RydWN0dXJlLCBzdHJpbmcpOworICAgICAgICAgICAgU3RyaW5nT2JqZWN0KiBvYmplY3QgPSBu
ZXcgKGFsbG9jYXRlQ2VsbDxTdHJpbmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmpl
Y3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgb2JqZWN0LT5m
aW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIHN0cmluZyk7CisgICAgICAgICAgICBy
ZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAgICAgICAgIHN0YXRpYyBTdHJpbmdPYmplY3QqIGNy
ZWF0ZShFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIEpTU3RyaW5nKik7CiAKQEAgLTYyLDcg
KzY2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYsIEpTU3RyaW5nKik7CiAgICAgICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xv
dCB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMgfCBKU1dyYXBwZXJPYmplY3Q6OlN0cnVjdHVy
ZUZsYWdzOwotICAgICAgICBTdHJpbmdPYmplY3QoSlNHbG9iYWxEYXRhJiwgU3RydWN0dXJlKiwg
SlNTdHJpbmcqKTsKKyAgICAgICAgU3RyaW5nT2JqZWN0KEpTR2xvYmFsRGF0YSYsIFN0cnVjdHVy
ZSopOwogICAgIH07CiAKICAgICBTdHJpbmdPYmplY3QqIGFzU3RyaW5nT2JqZWN0KEpTVmFsdWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0
VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLmgKaW5kZXggMmZlMGI5
ZjY4OWYyMzVmZGIyNTJiMjYwN2U3OTZiZTJmYmI4NDg4MS4uZjYxNjM0NjMyNGIzMDZiNmFmYWM2
ZjRhZTViOGI5ZTBhY2RmNTNlOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3RUaGF0TWFzcXVlcmFkZXNBc1Vu
ZGVmaW5lZC5oCkBAIC00MSw4ICs0MSw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgcHJpdmF0
ZToKICAgICAgICAgU3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQoRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNTdHJpbmcqIHN0cmluZykKLSAgICAg
ICAgICAgIDogU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlLCBzdHJp
bmcpCisgICAgICAgICAgICA6IFN0cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVj
dHVyZSkKICAgICAgICAgeworICAgICAgICAgICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFs
RGF0YSgpLCBzdHJpbmcpOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIFN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNWYWx1ZSBwcm90bykg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5
cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNw
cAppbmRleCBlMTRkOTc3MjY2OTU1Njg4OWE4Mzc2M2QyYWJmMjg5MDQyNDAzOGM0Li41OTAzOTA5
Yjk0ZDJkZTQ1ODFjNDczNDBiNDAwMmRmNjg4MGFiM2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKQEAgLTEzMSw5ICsxMzEsMTUg
QEAgY29uc3QgQ2xhc3NJbmZvIFN0cmluZ1Byb3RvdHlwZTo6c19pbmZvID0geyAiU3RyaW5nIiwg
JlN0cmluZ09iamVjdDo6c19pbmZvLCAwLAogKi8KIAogLy8gRUNNQSAxNS41LjQKLVN0cmluZ1By
b3RvdHlwZTo6U3RyaW5nUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTU3RyaW5nKiBzdHJpbmcpCi0g
ICAgOiBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUsIHN0cmluZykK
K1N0cmluZ1Byb3RvdHlwZTo6U3RyaW5nUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTU3RyaW5nKiBu
YW1lQW5kTWVzc2FnZSkKKyAgICA6IFN0cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0
cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIG5hbWVB
bmRNZXNzYWdlKTsKK30KKwordm9pZCBTdHJpbmdQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNTdHJpbmcqIG5h
bWVBbmRNZXNzYWdlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERh
dGEoKSwgbmFtZUFuZE1lc3NhZ2UpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAK
ICAgICBwdXRBbm9ueW1vdXNWYWx1ZShleGVjLT5nbG9iYWxEYXRhKCksIDAsIGdsb2JhbE9iamVj
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90
b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5o
CmluZGV4IGNlMTNhYjUxNDUyZTM2YzliZjc5YTY0YTVkNjIzM2FhODVjYWJhNGMuLjg2MzlkOWE0
YTZmYThkNjU2ZGNkNWUyZDc3ZmZmYmY1NzQxY2YyZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5oCkBAIC01MCw2ICs1MCw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKICAgICAg
ICAgCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0
ZSosIEpTR2xvYmFsT2JqZWN0KiwgSlNTdHJpbmcqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgU3Ry
aW5nT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgICAgICBDT01QSUxFX0FTU0VSVCghU3Ry
aW5nT2JqZWN0OjpBbm9ueW1vdXNTbG90Q291bnQsIFN0cmluZ1Byb3RvdHlwZV9zdG9tcHNfb25f
eW91cl9hbm9ueW1vdXNfc2xvdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUv
Q2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwppbmRleCA3MzgyNGU5
M2M0NTdmMzc1N2YzNTEwOWNmMGI0MDA0OWJhZThhMTdlLi41ZjYwZGU1MzU5ZWMxYmIwNWQ5ZTNi
M2NjNjZjMmVhNTYwZjVhNDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NSBAQAorMjAxMS0wOS0wMyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29t
PgorCisgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMg
aW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDb21wbGV0ZWQgdGhlIGZpZnRoIGxldmVsIG9mIHRoZSByZWZhY3Rv
cmluZyB0byBhZGQgZmluaXNoQ3JlYXRpb24oKSAKKyAgICAgICAgbWV0aG9kcyB0byBhbGwgY2xh
c3NlcyB3aXRoaW4gdGhlIEpTQ2VsbCBoaWVyYXJjaHkgd2l0aCBub24tdHJpdmlhbCAKKyAgICAg
ICAgY29uc3RydWN0b3IgYm9kaWVzLgorCisgICAgICAgIFRoaXMgcHJpbWFyaWx5IGNvbnNpc3Rz
IG9mIHB1c2hpbmcgdGhlIGNhbGxzIHRvIGZpbmlzaENyZWF0aW9uKCkgZG93biAKKyAgICAgICAg
aW50byB0aGUgY29uc3RydWN0b3JzIG9mIHRoZSBzdWJjbGFzc2VzIG9mIHRoZSBzZWNvbmQgbGV2
ZWwgb2YgdGhlIGhpZXJhcmNoeSAKKyAgICAgICAgYXMgd2VsbCBhcyBwdWxsaW5nIHRoZSBmaW5p
c2hDcmVhdGlvbigpIGNhbGxzIG91dCBpbnRvIHRoZSBjbGFzcydzIGNvcnJlc3BvbmRpbmcKKyAg
ICAgICAgY3JlYXRlKCkgbWV0aG9kIGlmIGl0IGhhcyBvbmUuICBEb2luZyBib3RoIHNpbXVsdGFu
ZW91c2x5IGFsbG93cyB1cyB0byAKKyAgICAgICAgbWFpbnRhaW4gdGhlIGludmFyaWFudCB0aGF0
IHRoZSBmaW5pc2hDcmVhdGlvbigpIG1ldGhvZCBjaGFpbiBpcyBjYWxsZWQgZXhhY3RseSAKKyAg
ICAgICAgb25jZSBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIGFuIG9iamVjdCwgc2luY2UgY2FsbGlu
ZyBpdCBhbnkgb3RoZXIgbnVtYmVyIG9mIAorICAgICAgICB0aW1lcyAoMCwgMiwgb3IgbW9yZSkg
d2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKworICAgICAgICAqIEpTUnVuLmNwcDoK
KyAgICAgICAgKEpTR2x1ZUdsb2JhbE9iamVjdDo6SlNHbHVlR2xvYmFsT2JqZWN0KToKKwogMjAx
MS0wOS0wMSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlNDZWxs
IGhpZXJhcmNoeSAoNC83KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0pTUnVu
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5jcHAKaW5kZXggOGM4OGY4NWYzMjBl
M2VlMGMyOWMxZDllMjQ2MTBiMTQyNjJkMzgyYy4uYmYyMmNiZDE2NDExYzQ2MmJiZDNhMzdmZDkw
OTZhZWVjYTI5YTc2OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0pTUnVuLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvSlNSdW4uY3BwCkBAIC0zOCw2ICszOCw3IEBA
IEpTR2x1ZUdsb2JhbE9iamVjdDo6SlNHbHVlR2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1CiAgICAgLCBtX2ZsYWdzKGZsYWdzKQogICAgICwgbV91
c2VyT2JqZWN0U3RydWN0dXJlKGdsb2JhbERhdGEsIHVzZXJPYmplY3RTdHJ1Y3R1cmUpCiB7Cisg
ICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhpcyk7CiB9CiAKIEpTUnVuOjpKU1J1bihD
RlN0cmluZ1JlZiBzb3VyY2UsIEpTRmxhZ3MgaW5GbGFncykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkOWNhYTFh
NjBkNDdmZGIzZjNjNjgwM2ViNTAxZjM1YzRjMGU1YTNkLi5iM2I3ODg2YjYwN2MxNTNmYjQxNjc4
MDJkYTEwNDQ0ZDNiNDc1YTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODMgQEAKKzIwMTEtMDkt
MDMgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBV
bnppcCBpbml0aWFsaXphdGlvbiBsaXN0cyBhbmQgY29uc3RydWN0b3JzIGluIEpTQ2VsbCBoaWVy
YXJjaHkgKDUvNykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY3NDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgIENvbXBsZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2Yg
dGhlIHJlZmFjdG9yaW5nIHRvIGFkZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2Rz
IHRvIGFsbCBjbGFzc2VzIHdpdGhpbiB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2
aWFsIAorICAgICAgICBjb25zdHJ1Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJp
bHkgY29uc2lzdHMgb2YgcHVzaGluZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3du
IAorICAgICAgICBpbnRvIHRoZSBjb25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhl
IHNlY29uZCBsZXZlbCBvZiB0aGUgaGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxp
bmcgdGhlIGZpbmlzaENyZWF0aW9uKCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVz
cG9uZGluZworICAgICAgICBjcmVhdGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJv
dGggc2ltdWx0YW5lb3VzbHkgYWxsb3dzIHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52
YXJpYW50IHRoYXQgdGhlIGZpbmlzaENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBl
eGFjdGx5IAorICAgICAgICBvbmNlIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBz
aW5jZSBjYWxsaW5nIGl0IGFueSBvdGhlciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAy
LCBvciBtb3JlKSB3aWxsIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICog
V2ViQ29yZS5leHAuaW46CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpET01Db25zdHJ1Y3Rvck9iamVjdDo6RE9NQ29uc3RydWN0b3JPYmpl
Y3QpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0OjpKU0RPTUdsb2JhbE9iamVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5k
b3dTaGVsbC5oOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6Y3JlYXRlKToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV3JhcHBlcjo6SlNET01XcmFwcGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0SW50ZXJmYWNlOjpKU1Rlc3RJbnRlcmZhY2UpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6
OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2JqOjpK
U1Rlc3RPYmopOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UpOgorICAgICAgICAqIGJyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6QmluZGluZ3M6OkNSdW50aW1lT2JqZWN0OjpDUnVudGltZU9iamVjdCk6Cisg
ICAgICAgIChKU0M6OkJpbmRpbmdzOjpDUnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgor
ICAgICAgICAqIGJyaWRnZS9jL0NSdW50aW1lT2JqZWN0Lmg6CisgICAgICAgICogYnJpZGdlL2pu
aS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6SmF2
YVJ1bnRpbWVPYmplY3Q6OkphdmFSdW50aW1lT2JqZWN0KToKKyAgICAgICAgKEpTQzo6QmluZGlu
Z3M6OkphdmFSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnJpZGdl
L2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9PYmpD
UnVudGltZU9iamVjdC5oOgorICAgICAgICAqIGJyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0
Lm1tOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqQ1J1bnRpbWVPYmplY3Q6Ok9iakNSdW50
aW1lT2JqZWN0KToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6Ok9iakNSdW50aW1lT2JqZWN0Ojpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmg6Cisg
ICAgICAgIChKU0M6OkJpbmRpbmdzOjpPYmpjRmFsbGJhY2tPYmplY3RJbXA6OmNyZWF0ZSk6Cisg
ICAgICAgICogYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tOgorICAgICAgICAoSlNDOjpCaW5k
aW5nczo6T2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpPYmpjRmFsbGJhY2tPYmplY3RJbXApOgorICAg
ICAgICAqIGJyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdz
OjpRdFJ1bnRpbWVPYmplY3Q6OlF0UnVudGltZU9iamVjdCk6CisgICAgICAgICogYnJpZGdlL3F0
L3F0X3BpeG1hcHJ1bnRpbWUuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRQaXhtYXBS
dW50aW1lT2JqZWN0OjpRdFBpeG1hcFJ1bnRpbWVPYmplY3QpOgorICAgICAgICAqIGJyaWRnZS9x
dC9xdF9ydW50aW1lLmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OlF0UnVudGltZU1ldGhv
ZDo6UXRSdW50aW1lTWV0aG9kKToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OlF0UnVudGltZU1l
dGhvZDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmg6
CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpSdW50
aW1lQXJyYXk6OlJ1bnRpbWVBcnJheSk6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXku
aDoKKyAgICAgICAgKEpTQzo6UnVudGltZUFycmF5OjpjcmVhdGUpOgorICAgICAgICAqIGJyaWRn
ZS9ydW50aW1lX21ldGhvZC5jcHA6CisgICAgICAgIChKU0M6OlJ1bnRpbWVNZXRob2Q6OlJ1bnRp
bWVNZXRob2QpOgorICAgICAgICAoSlNDOjpSdW50aW1lTWV0aG9kOjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmg6CisgICAgICAgICogYnJpZGdlL3J1
bnRpbWVfb2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OlJ1bnRpbWVPYmplY3Q6
OlJ1bnRpbWVPYmplY3QpOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5oOgorICAg
ICAgICAoSlNDOjpCaW5kaW5nczo6UnVudGltZU9iamVjdDo6Y3JlYXRlKToKKwogMjAxMS0wOS0w
MyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBtaXNzaW5nIEV2
ZW50IGNvbnN0cnVjdG9ycyB0byBET01XaW5kb3cuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IDgyZjg1Y2Q0NmNlZDQyZGQ4MzkxMTQzNmIxNTE1ZWJiOGY4NTFmZTQuLjNmNGZjZWVlZTgzMzA4
NTI0ZDk2NGFhODhkM2Q2NDg0ODUyZjQ0ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNjQ0
LDYgKzE2NDQsNyBAQCBfX1pOM0pTQzEzUnVudGltZU1ldGhvZEMyRVBOU185RXhlY1N0YXRlRVBO
U18xNEpTR2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJlRVJLTgogX19aTjNKU0M4QmluZGluZ3Mx
MFJvb3RPYmplY3REMUV2CiBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDExZ2V0Q2Fs
bERhdGFFUk5TXzhDYWxsRGF0YUUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTRk
ZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKK19fWk4zSlND
OEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTRmaW5pc2hDcmVhdGlvbkVQTlNfMTRKU0dsb2JhbE9i
amVjdEUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTZnZXRDb25zdHJ1Y3REYXRh
RVJOU18xM0NvbnN0cnVjdERhdGFFCiBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDE4
Z2V0T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18x
MlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTlnZXRPd25Q
cm9wZXJ0eU5hbWVzRVBOU185RXhlY1N0YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFycmF5RU5TXzE1
RW51bWVyYXRpb25Nb2RlRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01CaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcu
aAppbmRleCBkYjUyZDk2ZjRlMzIzMjNiNjc1ZDEzZGFmNjQwMjM3YjNiMGU3MDhjLi45ODU2NDYw
NzAwNmY2MjE3NzFhNTMzNTBiZDhiOTQ5ZTQ1ZWIxNzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtNTUsNiArNTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIERPTUNvbnN0cnVjdG9yT2JqZWN0KEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgICAgICA6IEpTRE9N
V3JhcHBlcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKICAgICAgICAgeworICAgICAgICAgICAg
ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCk7
CiAgICAgICAgIH0KICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNGRhZmE2OGUwNDU2YWVhNjdmZTI2ZWQxZmJjMTBm
MWJiZjQ2Y2M0OC4uZjllYWY2YTQ5YjFlOWY0YmM4NTk3ZTBjOTIxNTY5ZjMxNDg2NmMwNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcApA
QCAtNDMsMTAgKzQzLDE2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNvbnN0IENsYXNzSW5mbyBK
U0RPTUdsb2JhbE9iamVjdDo6c19pbmZvID0geyAiRE9NR2xvYmFsT2JqZWN0IiwgJkpTR2xvYmFs
T2JqZWN0OjpzX2luZm8sIDAsIDAgfTsKIAogSlNET01HbG9iYWxPYmplY3Q6OkpTRE9NR2xvYmFs
T2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBh
c3NSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiB3b3JsZCwgSlNPYmplY3QqIHRoaXNWYWx1ZSkKLSAg
ICA6IEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSwgdGhpc1ZhbHVlKQorICAg
IDogSlNHbG9iYWxPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQogICAgICwgbV9jdXJyZW50
RXZlbnQoMCkKICAgICAsIG1fd29ybGQod29ybGQpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xv
YmFsRGF0YSwgdGhpc1ZhbHVlKTsKK30KKwordm9pZCBKU0RPTUdsb2JhbE9iamVjdDo6ZmluaXNo
Q3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU09iamVjdCogdGhpc1ZhbHVlKQor
eworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHRoaXNWYWx1ZSk7CiAgICAg
QVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKaW5kZXggODYxZGYxZjE2ZDcwN2Q3ZjkwOTQ5ZmY3
MzZlYjA5NTlhMzgwYmE4NC4uMTAwNzE3MDVkZjFiNWIxZjg5ODA4N2E5MWY0MjYyOTljYWI0NWUw
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5o
CkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgc3RydWN0IEpT
RE9NR2xvYmFsT2JqZWN0RGF0YTsKIAogICAgICAgICBKU0RPTUdsb2JhbE9iamVjdChKU0M6OkpT
R2xvYmFsRGF0YSYsIEpTQzo6U3RydWN0dXJlKiwgUGFzc1JlZlB0cjxET01XcmFwcGVyV29ybGQ+
LCBKU0M6OkpTT2JqZWN0KiB0aGlzVmFsdWUpOworICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEpTQzo6SlNHbG9iYWxEYXRhJiwgSlNDOjpKU09iamVjdCogdGhpc1ZhbHVlKTsKIAogICAgIHB1
YmxpYzoKICAgICAgICAgSlNET01TdHJ1Y3R1cmVNYXAmIHN0cnVjdHVyZXMoKSB7IHJldHVybiBt
X3N0cnVjdHVyZXM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dTaGVsbC5jcHAKaW5kZXggNWQwZDQzNmNjOTY4NzNhZDlmYTAzOTVmMzU1Y2VhZWUzMjE1Mzg0
Yi4uYzc2NWZmMTgwZWE5MThlNWRiMmU3YzE0YzQxNDhkODkyZmYzMWYxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKQEAgLTE4MCwxMyAr
MTgwLDYgQEAgdm9pZCogSlNET01XaW5kb3dTaGVsbDo6b3BlcmF0b3IgbmV3KHNpemVfdCBzaXpl
KQogICAgIHJldHVybiBoZWFwLmFsbG9jYXRlKHNpemUpOwogfQogCi1KU0RPTVdpbmRvd1NoZWxs
KiBKU0RPTVdpbmRvd1NoZWxsOjpjcmVhdGUoUGFzc1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywg
SlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkKLXsKLSAg
ICBKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCA9IG5ldyBKU0RPTVdpbmRvd1NoZWxsKHN0cnVjdHVy
ZSwgd29ybGQpOwotICAgIHNoZWxsLT5maW5pc2hDcmVhdGlvbigqd29ybGQtPmdsb2JhbERhdGEo
KSwgd2luZG93KTsKLSAgICByZXR1cm4gc2hlbGw7IAotfQotCiAvLyAtLS0tCiAvLyBDb252ZXJz
aW9uIG1ldGhvZHMKIC8vIC0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93U2hlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93U2hlbGwuaAppbmRleCAzMDI4MzRmZmM2Nzk1NDM0ZGJlNDdmNDNlZTkyZTY2YTY2N2I0
Y2MyLi5lNzQxZDJmYjA3ZDc3YTE3ZmU3ZTAyNTNhNGQzNDc1M2EyNWU2NjU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCkBAIC01NSw3ICs1NSwx
MiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgRE9NV2luZG93KiBpbXBsKCkgY29u
c3Q7CiAKLSAgICAgICAgc3RhdGljIEpTRE9NV2luZG93U2hlbGwqIGNyZWF0ZShQYXNzUmVmUHRy
PERPTVdpbmRvdz4sIEpTQzo6U3RydWN0dXJlKiwgRE9NV3JhcHBlcldvcmxkKik7CisgICAgICAg
IHN0YXRpYyBKU0RPTVdpbmRvd1NoZWxsKiBjcmVhdGUoUGFzc1JlZlB0cjxET01XaW5kb3c+IHdp
bmRvdywgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkg
CisgICAgICAgIHsKKyAgICAgICAgICAgIEpTRE9NV2luZG93U2hlbGwqIHNoZWxsID0gbmV3IEpT
RE9NV2luZG93U2hlbGwoc3RydWN0dXJlLCB3b3JsZCk7CisgICAgICAgICAgICBzaGVsbC0+Zmlu
aXNoQ3JlYXRpb24oKndvcmxkLT5nbG9iYWxEYXRhKCksIHdpbmRvdyk7CisgICAgICAgICAgICBy
ZXR1cm4gc2hlbGw7IAorICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJl
KiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTQzo6SlNW
YWx1ZSBwcm90b3R5cGUpIAogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV3JhcHBlci5oCmluZGV4IDFiODIxOTcwM2NmOTM5MjBkMGI4NzdjNzZkNzc2NWU3YWJmMTBi
NmYuLjlhNGFjYTVjNTFiOGNmZWI3NTMwYjJhNmUwZTc5ODQ1MWZkODU4ZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCkBAIC01OSw3ICs1OSw2IEBAIHByb3Rl
Y3RlZDoKICAgICAgICAgLy8gbmV3IEphdmFTY3JpcHQgb2JqZWN0cyBvbiBkZXRhY2hlZCB3aW5k
b3dzIGR1ZSB0byBET01XaW5kb3c6OmRvY3VtZW50KCkKICAgICAgICAgLy8gbmVlZGluZyB0byBy
ZWFjaCB0aHJvdWdoIHRoZSBmcmFtZSB0byBnZXQgdG8gdGhlIERvY3VtZW50Ki4gIFNlZSBidWcg
Mjc2NDAuCiAgICAgICAgIC8vIEFTU0VSVChnbG9iYWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSk7Ci0gICAgICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0
YSgpLCBnbG9iYWxPYmplY3QpOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggOWE5MjhhYzY5YWExYjlj
ZTVlN2I5NDYxMDg4NmMwNWJkNmIyNGI4OC4uOTlhOGZkMTBmZDQ3NjBmMGQ3NzY1NzVmYTE5MWZh
MWE0YmI3YTcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KQEAgLTE1MTQsMjAgKzE1MTQsMjQgQEAgc3ViIEdlbmVyYXRlSW1w
bGVtZW50YXRpb24KICAgICAgICAgQWRkSW5jbHVkZXNGb3JUeXBlSW5JbXBsKCJKU0RPTVdpbmRv
d1NoZWxsIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiJHtjbGFzc05hbWV9OjokY2xh
c3NOYW1lKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBh
c3NSZWZQdHI8JGltcGxUeXBlPiBpbXBsLCBKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbClcbiIpOwog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICA6ICRwYXJlbnRDbGFzc05hbWUoZ2xvYmFs
RGF0YSwgc3RydWN0dXJlLCBpbXBsLCBzaGVsbClcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIntcbiIpOwogICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IklzV29ya2VyQ29udGV4dCJ9KSB7CiAgICAgICAgIEFkZEluY2x1ZGVzRm9yVHlwZUluSW1w
bCgkaW50ZXJmYWNlTmFtZSk7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiJHtjbGFzc05h
bWV9OjokY2xhc3NOYW1lKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIFBhc3NSZWZQdHI8JGltcGxUeXBlPiBpbXBsKVxuIik7CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgIDogJHBhcmVudENsYXNzTmFtZShnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUs
IGltcGwpXG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICB9IGVs
c2UgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiR7Y2xhc3NOYW1lfTo6JGNsYXNzTmFt
ZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
UGFzc1JlZlB0cjwkaW1wbFR5cGU+IGltcGwpXG4iKTsKICAgICAgICAgaWYgKCRoYXNQYXJlbnQp
IHsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIDogJHBhcmVudENsYXNzTmFt
ZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgaW1wbClcbiIpOworICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIDogJHBhcmVudENsYXNzTmFtZShzdHJ1Y3R1cmUsIGdsb2JhbE9i
amVjdClcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgLCBtX2ltcGwo
aW1wbClcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKKyAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVj
dC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QpO1xuIik7CiAgICAgICAgIH0KICAgICB9Ci0g
ICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpO1xuIik7CiAgICAgaWYgKCRudW1DYWNoZWRBdHRy
aWJ1dGVzID4gMCkgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBmb3IgKHVuc2ln
bmVkIGkgPSBCYXNlOjpBbm9ueW1vdXNTbG90Q291bnQ7IGkgPCBBbm9ueW1vdXNTbG90Q291bnQ7
IGkrKylcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAppbmRleCA2YWRjY2FlNTA1MjI5ZmUwNjNk
YWNjNTcyMGRhMTdjYWJlNTNlNDM0Li5kOWQ1ZDBjZDRhZGNiYTgxMGUwMzAzOWMyNWQwYmVkNDNh
NzVjOWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcApAQCAtMTQ2LDYgKzE0Niw3IEBAIEpTVGVz
dEludGVyZmFjZTo6SlNUZXN0SW50ZXJmYWNlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsCiAgICAgOiBKU0RPTVdyYXBwZXIoc3RydWN0dXJlLCBnbG9iYWxP
YmplY3QpCiAgICAgLCBtX2ltcGwoaW1wbCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxP
YmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMo
JnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5jcHAKaW5kZXggZGIyNzhjMWQyOGYyOTQ3NzhiZGY5NDk5MmIxZTMwOGIyZjQ0YjYwMi4uZjA0
ZGRmNGNkYTRiNTk4N2QzMmY5OTY3NmYxYjcwYzAwZWYxY2Y0OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAtMTQyLDYgKzE0Miw3IEBAIEpTVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsCiAgICAgOiBKU0RPTVdyYXBwZXIoc3RydWN0dXJlLCBnbG9iYWxP
YmplY3QpCiAgICAgLCBtX2ltcGwoaW1wbCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxP
YmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMo
JnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDRkY2VlZWY1YzU5NzMwNGQzYWMwNTNkNDE5
M2NhMDgwMGUwYmNhMmIuLjlhOGNmZTIyNDQ4NTdmNjViZWIwMTVmNGQ1NWZhNWE5MDIwNWYzMjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwCkBAIC0yOTcsNiArMjk3LDcgQEAgSlNUZXN0T2JqOjpKU1Rlc3RPYmooU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFBhc3MK
ICAgICA6IEpTRE9NV3JhcHBlcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKICAgICAsIG1faW1w
bChpbXBsKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgp
LCBnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5j
cHAKaW5kZXggZGQyZTI0MzQwODExYjc5ZmJhOWNmODE5NGI3YjI0MTIwMjdhOTcwYi4uNDdjYTVi
MDU2OTI4NzVmYTc3MjVhMWZmYjBjMDc5MjNkOGM3MTE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKQEAgLTEzMiw2ICsx
MzIsNyBAQCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OkpTVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZShTdHJ1YwogICAgIDogSlNET01XcmFwcGVyKHN0cnVj
dHVyZSwgZ2xvYmFsT2JqZWN0KQogICAgICwgbV9pbXBsKGltcGwpCiB7CisgICAgZmluaXNoQ3Jl
YXRpb24oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCk7CiAgICAgQVNT
RVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1
bnRpbWVPYmplY3QuY3BwCmluZGV4IGM2M2U1ODZkMjFjMWUyYWM2Njc5MjYzMTg2MzMyYjBjNTAx
MTU4YzYuLmI0NjBhOTE0NTJmNjU2YjAzMzk3ODM1NzQ2ODVhY2YwZGUyMWQxNDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHAKQEAgLTQwLDYgKzQwLDEyIEBA
IGNvbnN0IENsYXNzSW5mbyBDUnVudGltZU9iamVjdDo6c19pbmZvID0geyAiQ1J1bnRpbWVPYmpl
Y3QiLCAmUnVudGltZU9iamVjdDo6c19pCiBDUnVudGltZU9iamVjdDo6Q1J1bnRpbWVPYmplY3Qo
RXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxDSW5zdGFuY2U+IGluc3RhbmNlKQogICAgIDogUnVudGlt
ZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpCiB7CisgICAg
ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBDUnVudGltZU9iamVjdDo6
ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19p
bmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1l
T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5oCmluZGV4
IDc5YzMyOGY2OGRiYzA2OTEyOTM0ODY4MTBkZWQ3YjFhNjgxZTI2OWMuLmZkYzE3YjliMzVhMmFm
ZWYwNGJjODBiNDI0YjFiNmZmMGM2NjY2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9jL0NSdW50aW1lT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1
bnRpbWVPYmplY3QuaApAQCAtNjEsNiArNjEsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAg
Q1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBQ
YXNzUmVmUHRyPENJbnN0YW5jZT4pOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxP
YmplY3QqKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
anNjL0phdmFSdW50aW1lT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNj
L0phdmFSdW50aW1lT2JqZWN0LmNwcAppbmRleCBmZmZlODU2ZGEwZDVlNTFiNjgyOGYyNmY1ZGEx
MWUxNmE3MTU4ZmQ0Li5kNjg0YWIwMmUzOTcwMjlmMTFmNWEyNTE0YWNiMGFkMzEzZGIwZWVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmpl
Y3QuY3BwCkBAIC0zOCw2ICszOCwxMiBAQCBjb25zdCBDbGFzc0luZm8gSmF2YVJ1bnRpbWVPYmpl
Y3Q6OnNfaW5mbyA9IHsgIkphdmFSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplYwogSmF2YVJ1
bnRpbWVPYmplY3Q6OkphdmFSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SmF2
YUluc3RhbmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFsT2Jq
ZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9i
amVjdCk7Cit9CisKK3ZvaWQgSmF2YVJ1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xv
YmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuaAppbmRleCA4
OGUxZTNiODJhMjU4YTA1OTBhZmE3ZjNlNDFiYmM5ZDBiMTQ4ZWMzLi5mMzY4OGM5NGEyM2I3MWJh
YzEwNWIzNmNkNWQyNDMxYmQ1N2Q5NTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmgKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIEphdmFSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKiwgUGFzc1JlZlB0cjxKYXZhSW5zdGFuY2U+KTsKKyAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaAppbmRleCBhODgxM2ZlM2Y3OGU4ZmE1
M2UyM2MzYmFhYjk3MGM0MzJkZTBmZmQyLi45MzNhNGQxOGEzOWI1NDlmMDcxZDQ2ZjBmNzA5YmQ2
NTMxOGZkNGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVu
dGltZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1l
T2JqZWN0LmgKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIE9iakNS
dW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgUGFzc1JlZlB0cjxPYmpj
SW5zdGFuY2U+LCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFs
T2JqZWN0Kik7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2Jq
Yy9PYmpDUnVudGltZU9iamVjdC5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNS
dW50aW1lT2JqZWN0Lm1tCmluZGV4IGVhODYyNjMyZGVjNGNmZTdhZWRkNjFkZTU4NGJiMmQ1YzBl
YjhmYTkuLmM1MWJkNGQyMGM5M2I2YWM4MDg4ZGRjZGRiYTI4Y2YyMGQ4Nzg5NmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tCkBAIC0zOCw2
ICszOCwxMiBAQCBjb25zdCBDbGFzc0luZm8gT2JqQ1J1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsg
Ik9iakNSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplYwogT2JqQ1J1bnRpbWVPYmplY3Q6Ok9i
akNSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgUGFzc1JlZlB0cjxPYmpjSW5zdGFuY2U+IGluc3RhbmNlLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUs
IGluc3RhbmNlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7Cit9CisKK3Zv
aWQgT2JqQ1J1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKICAg
ICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9v
YmpjL29iamNfcnVudGltZS5oCmluZGV4IDE3NTNjMGJjN2VlMDk2MTI4M2FjY2RiNmY5YzVkN2Vh
MmZmYzU0MjIuLmJiN2Q3NzU5YWQ0MzcyNWNjZTEwMTJkYzMwZGFjZjNlZTg1NDMwZWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCkBAIC05OSw3ICs5OSw5IEBA
IHB1YmxpYzoKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBkZXByZWNhdGVkR2V0RE9NU3RydWN0
dXJlIHVzZXMgdGhlIHByb3RvdHlwZSBvZmYgb2YgdGhlIHdyb25nIGdsb2JhbCBvYmplY3QKICAg
ICAgICAgU3RydWN0dXJlKiBkb21TdHJ1Y3R1cmUgPSBXZWJDb3JlOjpkZXByZWNhdGVkR2V0RE9N
U3RydWN0dXJlPE9iamNGYWxsYmFja09iamVjdEltcD4oZXhlYyk7Ci0gICAgICAgIHJldHVybiBu
ZXcgKGFsbG9jYXRlQ2VsbDxPYmpjRmFsbGJhY2tPYmplY3RJbXA+KCpleGVjLT5oZWFwKCkpKSBP
YmpjRmFsbGJhY2tPYmplY3RJbXAoZ2xvYmFsT2JqZWN0LCBkb21TdHJ1Y3R1cmUsIGluc3RhbmNl
LCBwcm9wZXJ0eU5hbWUpOworICAgICAgICBPYmpjRmFsbGJhY2tPYmplY3RJbXAqIGZhbGxiYWNr
T2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8T2JqY0ZhbGxiYWNrT2JqZWN0SW1wPigqZXhlYy0+
aGVhcCgpKSkgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wKGdsb2JhbE9iamVjdCwgZG9tU3RydWN0dXJl
LCBpbnN0YW5jZSwgcHJvcGVydHlOYW1lKTsKKyAgICAgICAgZmFsbGJhY2tPYmplY3QtPmZpbmlz
aENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBmYWxsYmFja09iamVjdDsK
ICAgICB9CiAKICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbSBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbQppbmRleCBkZjBlNzFjN2ZlY2I2MmUxNmY3
NWRhOTEyMDMxZmE5NmIxYTJhN2M2Li5hY2UyYmE3NTljNDY4ZjdiNzA3MjllZTkzMWQ2MjdmNGY2
MTUzZTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRp
bWUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tCkBA
IC0yMDEsNyArMjAxLDYgQEAgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpPYmpjRmFsbGJhY2tPYmpl
Y3RJbXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWMKICAgICAsIF9pbnN0YW5j
ZShpKQogICAgICwgX2l0ZW0ocHJvcGVydHlOYW1lKQogewotICAgIGZpbmlzaENyZWF0aW9uKGds
b2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpmaW5pc2hDcmVh
dGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9x
dC9xdF9pbnN0YW5jZS5jcHAKaW5kZXggMjA5ZDVlY2E5YmUzNWMwOTNhOGFmMTUzN2M5ODZiNWE0
NWMzZDhmNy4uNmIwOWQ4NTA1ZTBkOTM2ODg1M2RhYWYyYWExNzlmNTQyYzc1M2JhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwCkBAIC04NSw2ICs4NSw3IEBAIGNv
bnN0IENsYXNzSW5mbyBRdFJ1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsgIlF0UnVudGltZU9iamVj
dCIsICZSdW50aW1lT2JqZWN0OjpzCiBRdFJ1bnRpbWVPYmplY3Q6OlF0UnVudGltZU9iamVjdChF
eGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBQYXNzUmVmUHRyPEluc3RhbmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRpbWVP
YmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZp
bmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAKIC8vIFF0SW5zdGFuY2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9waXhtYXBydW50aW1lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9waXhtYXBydW50aW1lLmNwcAppbmRleCA0ZmFjNTIwMWQ2
ZGQzMTVkMzBlOWZmOTMyODgzMDNhZTcyMjA3YzFjLi43M2M4NGNlOWQwYTkxYTJlODA4YTZiMmZi
NDk4NzIwM2NkMTQ2M2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRf
cGl4bWFwcnVudGltZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1h
cHJ1bnRpbWUuY3BwCkBAIC0yMjQsNiArMjI0LDcgQEAgcHJpdmF0ZToKIFF0UGl4bWFwUnVudGlt
ZU9iamVjdDo6UXRQaXhtYXBSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SW5z
dGFuY2U+IGluc3RhbmNlKQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0
KTsKIH0KIAogY29uc3QgQ2xhc3NJbmZvIFF0UGl4bWFwUnVudGltZU9iamVjdDo6c19pbmZvID0g
eyAiUXRQaXhtYXBSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplY3Q6OnNfaW5mbywgMCwgMCB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCmluZGV4IDgyZWJkOTgzYzlh
NjliOGJlMWRlZDA5NGFjZTg2OGEyNzAzN2ZjZGUuLjgyNjI3MWYxMDg3NGMwM2I0NjlhOTViYjRh
MGU1Y2QyYWFlOTEwMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9y
dW50aW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAK
QEAgLTEwMDYsMTIgKzEwMDYsMTggQEAgSlNWYWx1ZSBjb252ZXJ0UVZhcmlhbnRUb1ZhbHVlKEV4
ZWNTdGF0ZSogZXhlYywgUGFzc1JlZlB0cjxSb290T2JqZWN0PiByb290LCBjb24KIAogY29uc3Qg
Q2xhc3NJbmZvIFF0UnVudGltZU1ldGhvZDo6c19pbmZvID0geyAiUXRSdW50aW1lTWV0aG9kIiwg
JkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCB9OwogCi1RdFJ1bnRpbWVNZXRob2Q6OlF0
UnVudGltZU1ldGhvZChRdFJ1bnRpbWVNZXRob2REYXRhKiBkZCwgRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIFBhc3NSZWZQdHI8
UXRJbnN0YW5jZT4gaW5zdCkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERh
dGEoKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBzdHJ1Y3R1cmUsIGlkZW50KQorUXRS
dW50aW1lTWV0aG9kOjpRdFJ1bnRpbWVNZXRob2QoUXRSdW50aW1lTWV0aG9kRGF0YSogZGQsIEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlk
ZW50aWZpZXIsIFBhc3NSZWZQdHI8UXRJbnN0YW5jZT4gaW5zdGFuY2UpCisgICAgOiBJbnRlcm5h
bEZ1bmN0aW9uKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgc3RydWN0dXJlKQogICAgICwg
ZF9wdHIoZGQpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgaWRlbnRpZmllciwgaW5zdGFu
Y2UpOworfQorCit2b2lkIFF0UnVudGltZU1ldGhvZDo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBQYXNzUmVmUHRyPFF0SW5zdGFu
Y2U+IGluc3RhbmNlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERh
dGEoKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBpZGVudGlmaWVyKTsKICAgICBRV19E
KFF0UnVudGltZU1ldGhvZCk7Ci0gICAgZC0+bV9pbnN0YW5jZSA9IGluc3Q7CisgICAgZC0+bV9p
bnN0YW5jZSA9IGluc3RhbmNlOwogICAgIGQtPm1fZmluYWxpemVyLnNldChleGVjLT5nbG9iYWxE
YXRhKCksIHRoaXMsIGQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cXQvcXRfcnVudGltZS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuaApp
bmRleCBkNDk3ZWNhOTU1MjUyZmJhNWI5NmRlZDg5MDgyODBkNWVmY2M1NGI2Li4wODA5ODFjNzdi
ODhhZDUwNWIwZGU2YTFlNjRhYmI0ZmMzNjIyNWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9x
dF9ydW50aW1lLmgKQEAgLTE0Myw2ICsxNDMsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0
ZWQ6CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVy
JiwgUGFzc1JlZlB0cjxRdEluc3RhbmNlPik7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0
UHJvcGVydHlOYW1lcyB8IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJp
ZGVzVmlzaXRDaGlsZHJlbjsKIAogICAgIFF0UnVudGltZU1ldGhvZERhdGEgKmRfZnVuYygpIGNv
bnN0IHtyZXR1cm4gZF9wdHI7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfYXJyYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3Bw
CmluZGV4IGUwMWExNWYzN2NjOTFjNDU4ZWRhMTQxYzc0ODZkOGMyNjljNmRjYjAuLjhhMDM3Zjky
NGRjYWE4MjA5YzcxODE3MmUxYThjOGRjNzQ1M2MzM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9hcnJheS5jcHAKQEAgLTM3LDEwICszNyw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiBj
b25zdCBDbGFzc0luZm8gUnVudGltZUFycmF5OjpzX2luZm8gPSB7ICJSdW50aW1lQXJyYXkiLCAm
SlNBcnJheTo6c19pbmZvLCAwLCAwIH07CiAKLVJ1bnRpbWVBcnJheTo6UnVudGltZUFycmF5KEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEJpbmRpbmdzOjpBcnJheSogYXJy
YXkpCitSdW50aW1lQXJyYXk6OlJ1bnRpbWVBcnJheShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQogICAgIDogSlNBcnJheShleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVy
ZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGFycmF5KTsKIH0K
IAogdm9pZCBSdW50aW1lQXJyYXk6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgQmluZGluZ3M6OkFycmF5KiBhcnJheSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX2FycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9h
cnJheS5oCmluZGV4IDhkOGY1YWU2YmY2OGE2MzM4NjVkMGQwMmJmNjQzZjk1ZTQ0YTg5NTcuLmNh
YTNhZjIyZWQ0ODdiMTg0Y2E2OTllMzkwY2U1NmNlMjE1NDQ2NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfYXJyYXkuaApAQCAtNDEsNyArNDEsOSBAQCBwdWJsaWM6CiAgICAgICAgIC8v
IEZJWE1FOiBkZXByZWNhdGVkR2V0RE9NU3RydWN0dXJlIHVzZXMgdGhlIHByb3RvdHlwZSBvZmYg
b2YgdGhlIHdyb25nIGdsb2JhbCBvYmplY3QKICAgICAgICAgLy8gV2UgbmVlZCB0byBwYXNzIGlu
IHRoZSByaWdodCBnbG9iYWwgb2JqZWN0IGZvciAiYXJyYXkiLgogICAgICAgICBTdHJ1Y3R1cmUq
IGRvbVN0cnVjdHVyZSA9IFdlYkNvcmU6OmRlcHJlY2F0ZWRHZXRET01TdHJ1Y3R1cmU8UnVudGlt
ZUFycmF5PihleGVjKTsKLSAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFJ1bnRpbWVB
cnJheT4oKmV4ZWMtPmhlYXAoKSkpIFJ1bnRpbWVBcnJheShleGVjLCBkb21TdHJ1Y3R1cmUsIGFy
cmF5KTsKKyAgICAgICAgUnVudGltZUFycmF5KiBydW50aW1lQXJyYXkgPSBuZXcgKGFsbG9jYXRl
Q2VsbDxSdW50aW1lQXJyYXk+KCpleGVjLT5oZWFwKCkpKSBSdW50aW1lQXJyYXkoZXhlYywgZG9t
U3RydWN0dXJlKTsKKyAgICAgICAgcnVudGltZUFycmF5LT5maW5pc2hDcmVhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIGFycmF5KTsKKyAgICAgICAgcmV0dXJuIHJ1bnRpbWVBcnJheTsKICAgICB9
CiAKICAgICB0eXBlZGVmIEJpbmRpbmdzOjpBcnJheSBCaW5kaW5nc0FycmF5OwpAQCAtNzksNyAr
ODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZs
YWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlO
YW1lcyB8IEpTQXJyYXk6OlN0cnVjdHVyZUZsYWdzOwogCiBwcml2YXRlOgotICAgIFJ1bnRpbWVB
cnJheShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBCaW5kaW5nczo6QXJyYXkqKTsKKyAgICBSdW50
aW1lQXJyYXkoRXhlY1N0YXRlKiwgU3RydWN0dXJlKik7CiAgICAgc3RhdGljIEpTVmFsdWUgbGVu
Z3RoR2V0dGVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUsIGNvbnN0IElkZW50aWZpZXImKTsKICAgICBz
dGF0aWMgSlNWYWx1ZSBpbmRleEdldHRlcihFeGVjU3RhdGUqLCBKU1ZhbHVlLCB1bnNpZ25lZCk7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAKaW5kZXggMjhmYmQz
ZjljMGQ5MTgwNjFlNjlmYjE0NGFkYmU5YmI1ODRmMTM5Yy4uZDE0ZjU0ZjE4ZjFjZTI1NTRhY2U1
YjQ2ZTcyZGZjNjhiODIxYzk0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfbWV0aG9kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRo
b2QuY3BwCkBAIC00NSw5ICs0NSwxNSBAQCBjb25zdCBDbGFzc0luZm8gUnVudGltZU1ldGhvZDo6
c19pbmZvID0geyAiUnVudGltZU1ldGhvZCIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzXwogCiBSdW50
aW1lTWV0aG9kOjpSdW50aW1lTWV0aG9kKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlk
ZW50LCBCaW5kaW5nczo6TWV0aG9kTGlzdCYgbSkKICAgICAvLyBDYWxsZXJzIHdpbGwgbmVlZCB0
byBwYXNzIGluIHRoZSByaWdodCBnbG9iYWwgb2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBu
YXRpdmUgb2JqZWN0ICJtIi4KLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERh
dGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50KQorICAgIDogSW50ZXJuYWxGdW5j
dGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAsIF9tZXRob2RMaXN0KGFkb3B0UHRy
KG5ldyBNZXRob2RMaXN0KG0pKSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxE
YXRhKCksIGdsb2JhbE9iamVjdCwgaWRlbnQpOworfQorCit2b2lkIFJ1bnRpbWVNZXRob2Q6OmZp
bmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCit7CisgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24oZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBpZGVudCk7CiAgICAgQVNTRVJUKGlu
aGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfbWV0aG9kLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2Qu
aAppbmRleCBjNmMzZTRlZTA5MjA3YjNlM2MxNjE3MWNjYjY0ZTcyZmViZWNiMDU0Li5kNWU0YTJi
OWRmN2M1M2FiNmQ4OTQzY2UxZTVjYmQyOGU1ZGY0YmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9tZXRob2QuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoK
ICAgICBSdW50aW1lTWV0aG9kKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJl
KiwgY29uc3QgSWRlbnRpZmllciYgbmFtZSwgQmluZGluZ3M6Ok1ldGhvZExpc3QmKTsKKyAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYsIEpTR2xvYmFsT2JqZWN0KiwgY29uc3Qg
SWRlbnRpZmllciYpOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9
IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVy
ZUZsYWdzOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfb2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5j
cHAKaW5kZXggOTY2NDBmMDA4ZmFjMWFjNDcxNzY0ZmY4NWUzYjhmNjQ1YjkyYmYyYy4uOWJmZTQ2
NzliYzBiZWNmNzA5NmRlYjU2NDA0MGYyMzk3Mjc0OTQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvcnVudGltZV9vYmplY3QuY3BwCkBAIC00MSw3ICs0MSw2IEBAIFJ1bnRpbWVPYmplY3Q6OlJ1
bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3Ry
dWN0dXJlCiAgICAgOiBKU09iamVjdFdpdGhHbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1
Y3R1cmUpCiAgICAgLCBtX2luc3RhbmNlKGluc3RhbmNlKQogewotICAgIGZpbmlzaENyZWF0aW9u
KGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgUnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24o
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX29iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVf
b2JqZWN0LmgKaW5kZXggOTllMDZlMDFjNWJhZjc4MDc3ZmI5YTRiZGRmOTNhNWE0NGQ4YzNiYy4u
N2ZiYjI4NDgxMTExNmU5MzFiYWYyN2VjNDI2ZGY1NDYxYWM1MWQ3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKQEAgLTM5LDcgKzM5LDkgQEAgcHVibGljOgogCiAgICAg
c3RhdGljIFJ1bnRpbWVPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPEluc3Rh
bmNlPiBpbnN0YW5jZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxS
dW50aW1lT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpOworICAgICAgICBSdW50aW1lT2JqZWN0KiBvYmpl
Y3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSdW50aW1lT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgUnVu
dGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpOworICAg
ICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVy
biBvYmplY3Q7CiAgICAgfQogCiAgICAgdmlydHVhbCB+UnVudGltZU9iamVjdCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCmluZGV4IGE0YzNkMTA5M2M0M2U4MTQ0YzNhNDRmZGQ5ZWI3NjYxMWJiNWQ0NzkuLmFj
NGIzMTZjMDNjNjc5YzE4NDFmMTRkNmNhOGZhYmVlYzhmN2ZhOTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNyBAQAorMjAxMS0wOS0wMyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJl
cmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBj
b25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV0ZWQgdGhlIGZpZnRoIGxldmVsIG9m
IHRoZSByZWZhY3RvcmluZyB0byBhZGQgZmluaXNoQ3JlYXRpb24oKSAKKyAgICAgICAgbWV0aG9k
cyB0byBhbGwgY2xhc3NlcyB3aXRoaW4gdGhlIEpTQ2VsbCBoaWVyYXJjaHkgd2l0aCBub24tdHJp
dmlhbCAKKyAgICAgICAgY29uc3RydWN0b3IgYm9kaWVzLgorCisgICAgICAgIFRoaXMgcHJpbWFy
aWx5IGNvbnNpc3RzIG9mIHB1c2hpbmcgdGhlIGNhbGxzIHRvIGZpbmlzaENyZWF0aW9uKCkgZG93
biAKKyAgICAgICAgaW50byB0aGUgY29uc3RydWN0b3JzIG9mIHRoZSBzdWJjbGFzc2VzIG9mIHRo
ZSBzZWNvbmQgbGV2ZWwgb2YgdGhlIGhpZXJhcmNoeSAKKyAgICAgICAgYXMgd2VsbCBhcyBwdWxs
aW5nIHRoZSBmaW5pc2hDcmVhdGlvbigpIGNhbGxzIG91dCBpbnRvIHRoZSBjbGFzcydzIGNvcnJl
c3BvbmRpbmcKKyAgICAgICAgY3JlYXRlKCkgbWV0aG9kIGlmIGl0IGhhcyBvbmUuICBEb2luZyBi
b3RoIHNpbXVsdGFuZW91c2x5IGFsbG93cyB1cyB0byAKKyAgICAgICAgbWFpbnRhaW4gdGhlIGlu
dmFyaWFudCB0aGF0IHRoZSBmaW5pc2hDcmVhdGlvbigpIG1ldGhvZCBjaGFpbiBpcyBjYWxsZWQg
ZXhhY3RseSAKKyAgICAgICAgb25jZSBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIGFuIG9iamVjdCwg
c2luY2UgY2FsbGluZyBpdCBhbnkgb3RoZXIgbnVtYmVyIG9mIAorICAgICAgICB0aW1lcyAoMCwg
Miwgb3IgbW9yZSkgd2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKworICAgICAgICAq
IFBsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5oOgorICAgICAgICAqIFBsdWdpbnMv
SG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbToKKyAgICAgICAgKFdlYktpdDo6UHJveHlSdW50
aW1lT2JqZWN0OjpQcm94eVJ1bnRpbWVPYmplY3QpOgorICAgICAgICAoV2ViS2l0OjpQcm94eVJ1
bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKwogMjAxMS0wOS0wMSAgTWFyayBSb3dlICA8
bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQgYnkgYWRkaW5nIHNvbWUg
bW9yZSBtaXNzaW5nIHJldHVybiB0eXBlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5oIGIvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0LmgKaW5kZXggZDhhZTgxMTBhNTViYzky
MGIzNGI4ZWRjMDRhN2E3YTU4OTAzOTYwMS4uNjIyOTQzMzQ3MDQ4ZjY4MzAwODgxYjhjMmRiNDgy
ODBiNTQzMzhkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQv
UHJveHlSdW50aW1lT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0
ZWQvUHJveHlSdW50aW1lT2JqZWN0LmgKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGljOgogICAgIHN0
YXRpYyBjb25zdCBKU0M6OkNsYXNzSW5mbyBzX2luZm87CiBwcml2YXRlOgogICAgIFByb3h5UnVu
dGltZU9iamVjdChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlN0
cnVjdHVyZSosIFBhc3NSZWZQdHI8UHJveHlJbnN0YW5jZT4pOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oSlNDOjpKU0dsb2JhbE9iamVjdCopOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lm1tIGIvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lm1tCmluZGV4IDhh
NjQ4MWUzZDQ1MmNiM2ZiNmY4MWIxZWYwMzU2OTMwMWJiMzBjNGMuLjVjYjI3NDljOTI4ODM5YTg1
M2E0MWJkOTU0MDUzODU0NWZhZTU4MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1Bs
dWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9QbHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QubW0KQEAgLTM5LDYgKzM5LDEyIEBA
IGNvbnN0IENsYXNzSW5mbyBQcm94eVJ1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsgIlByb3h5UnVu
dGltZU9iamVjdCIsICZSdW50aW1lT2JqCiBQcm94eVJ1bnRpbWVPYmplY3Q6OlByb3h5UnVudGlt
ZU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPFByb3h5SW5zdGFuY2U+IGluc3RhbmNlKQog
ICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFu
Y2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBQcm94
eVJ1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKICAgICBBU1NF
UlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODZiN2ZjOGE1NWQ2NmNi
OGE3MDJlZDU2NmU2MGJiN2JlMWYyYzAzOS4uN2IxMWRkMmMzOGNjOWM3ZGUyMzAwYzVkMmQ1OGI4
Zjk3MDk0MTllNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDExLTA5LTAzICBNYXJr
IEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVW56aXAgaW5p
dGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBKU0NlbGwgaGllcmFyY2h5ICg1
LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQy
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbXBs
ZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2YgdGhlIHJlZmFjdG9yaW5nIHRvIGFkZCBmaW5pc2hDcmVh
dGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBjbGFzc2VzIHdpdGhpbiB0aGUgSlNDZWxs
IGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAgICAgICBjb25zdHJ1Y3RvciBib2RpZXMu
CisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lzdHMgb2YgcHVzaGluZyB0aGUgY2FsbHMg
dG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAgICBpbnRvIHRoZSBjb25zdHJ1Y3RvcnMg
b2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBsZXZlbCBvZiB0aGUgaGllcmFyY2h5IAor
ICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZpbmlzaENyZWF0aW9uKCkgY2FsbHMgb3V0
IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZworICAgICAgICBjcmVhdGUoKSBtZXRob2Qg
aWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0YW5lb3VzbHkgYWxsb3dzIHVzIHRvIAor
ICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRoYXQgdGhlIGZpbmlzaENyZWF0aW9uKCkg
bWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAorICAgICAgICBvbmNlIGR1cmluZyB0aGUg
Y3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxsaW5nIGl0IGFueSBvdGhlciBudW1iZXIg
b2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3JlKSB3aWxsIGNhdXNlIGFuIGFzc2VydGlv
biBmYWlsdXJlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBN
ZXRob2QuY3BwOgorICAgICAgICAoV2ViS2l0OjpKU05QTWV0aG9kOjpKU05QTWV0aG9kKToKKyAg
ICAgICAgKFdlYktpdDo6SlNOUE1ldGhvZDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmg6CisgICAgICAgIChXZWJLaXQ6
OkpTTlBNZXRob2Q6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL0pTTlBPYmplY3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpKU05QT2JqZWN0OjpKU05QT2Jq
ZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5o
OgorICAgICAgICAoV2ViS2l0OjpKU05QT2JqZWN0OjpjcmVhdGUpOgorCiAyMDExLTA5LTAyICBT
aGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByOTQ0NzMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAKaW5kZXggODc5ZTZi
OGIyNmFhYmE3ODNmNDRmM2E4N2JhNWIwNmRiMTNkNGMxOS4uNTAyYmYyNzZkYWE1YzBkYTgwMzU4
YmE2MjkwY2QzMTQ5ZGI5YTFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcApAQCAtMzAsNiArMzAsNyBA
QAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Vycm9yLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0ds
b2JhbE9iamVjdC5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9KU0hUTUxFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9KU1BsdWdp
bkVsZW1lbnRGdW5jdGlvbnMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+
CkBAIC00MSwxNyArNDIsMTcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNvbnN0IENsYXNzSW5m
byBKU05QTWV0aG9kOjpzX2luZm8gPSB7ICJOUE1ldGhvZCIsICZJbnRlcm5hbEZ1bmN0aW9uOjpz
X2luZm8sIDAsIDAgfTsKIAotSlNOUE1ldGhvZDo6SlNOUE1ldGhvZChFeGVjU3RhdGUqIGV4ZWMs
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImIG5hbWUsIE5Q
SWRlbnRpZmllciBucElkZW50aWZpZXIsIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogSW50
ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgbmFtZSkKK0pTTlBNZXRob2Q6OkpTTlBNZXRob2QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRp
ZmllciYgbmFtZSwgTlBJZGVudGlmaWVyIG5wSWRlbnRpZmllcikKKyAgICA6IEludGVybmFsRnVu
Y3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBtX25wSWRlbnRpZmllcihucElk
ZW50aWZpZXIpCiB7Ci0gICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKKyAgICBmaW5pc2hD
cmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgbmFtZSk7CiB9CiAKLUpT
TlBNZXRob2QqIEpTTlBNZXRob2Q6OmNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBOUElkZW50aWZpZXIg
bnBJZGVudCkKK3ZvaWQgSlNOUE1ldGhvZDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBJZGVudGlmaWVy
JiBuYW1lKQogewotICAgIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjcmVhdGVTdHJ1Y3R1
cmUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QtPmZ1bmN0aW9uUHJvdG90eXBlKCkp
OwotICAgIHJldHVybiBuZXcgKEpTQzo6YWxsb2NhdGVDZWxsPEpTTlBNZXRob2Q+KCpleGVjLT5o
ZWFwKCkpKSBKU05QTWV0aG9kKGV4ZWMsIGdsb2JhbE9iamVjdCwgaWRlbnQsIG5wSWRlbnQsIHN0
cnVjdHVyZSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgZ2xvYmFsT2Jq
ZWN0LCBuYW1lKTsKKyAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCiBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsTWV0aG9kKEV4ZWNTdGF0ZSogZXhlYykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9K
U05QTWV0aG9kLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
SlNOUE1ldGhvZC5oCmluZGV4IGJiMzcyOWQ4MTBlN2Y4MzQ2YmIyNTQ4N2FhNDk1OWQzYTBlYTYz
ZTkuLjRiZGE5MDhhM2MzMjdjZmM4ZDdiZTJkZTI4MDBjZGRhMTZiOWY5YjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRo
b2QuaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBKU05QTWV0aG9kX2gKICNkZWZpbmUgSlNO
UE1ldGhvZF9oCiAKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9GdW5jdGlvblByb3RvdHlwZS5o
PgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0ludGVybmFsRnVuY3Rpb24uaD4KIAogdHlwZWRl
ZiB2b2lkKiBOUElkZW50aWZpZXI7CkBAIC0zNywxNCArMzgsMjEgQEAgY2xhc3MgSlNOUE1ldGhv
ZCA6IHB1YmxpYyBKU0M6OkludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYg
SlNDOjpJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgSlNOUE1ldGhvZCogY3Jl
YXRlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IEpTQzo6SWRl
bnRpZmllciYsIE5QSWRlbnRpZmllcik7CisgICAgc3RhdGljIEpTTlBNZXRob2QqIGNyZWF0ZShK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBj
b25zdCBKU0M6OklkZW50aWZpZXImIGlkZW50LCBOUElkZW50aWZpZXIgbnBJZGVudCkKKyAgICB7
CisgICAgICAgIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjcmVhdGVTdHJ1Y3R1cmUoZXhl
Yy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QtPmZ1bmN0aW9uUHJvdG90eXBlKCkpOworICAg
ICAgICByZXR1cm4gbmV3IChKU0M6OmFsbG9jYXRlQ2VsbDxKU05QTWV0aG9kPigqZXhlYy0+aGVh
cCgpKSkgSlNOUE1ldGhvZChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIG5w
SWRlbnQpOworICAgIH0KIAogICAgIHN0YXRpYyBjb25zdCBKU0M6OkNsYXNzSW5mbyBzX2luZm87
CiAKICAgICBOUElkZW50aWZpZXIgbnBJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9ucElk
ZW50aWZpZXI7IH0KIAorcHJvdGVjdGVkOgorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpK
U0dsb2JhbERhdGEmLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiBuYW1lKTsKKwogcHJpdmF0ZTogICAgCi0gICAgSlNOUE1ldGhvZChKU0M6OkV4ZWNTdGF0ZSos
IEpTQzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBKU0M6OklkZW50aWZpZXImLCBOUElkZW50aWZp
ZXIsIEpTQzo6U3RydWN0dXJlKik7CisgICAgSlNOUE1ldGhvZChKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlN0cnVjdHVyZSosIGNvbnN0IEpTQzo6SWRlbnRpZmll
ciYsIE5QSWRlbnRpZmllcik7CiAKICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0
cnVjdHVyZShKU0M6OkpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNDOjpKU1ZhbHVlIHByb3Rv
dHlwZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHAKaW5kZXggMjI5MTBmNWNhNDc2NzY2NWFhMzhm
YzhlYzRkY2RjZTk1ZmFmZGFmMy4uOTlhM2I4ODdlYWJmYTVmMWY1ZDIxNGQ1OTRmMzM0M2YxNjhl
OTA5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL0pTTlBPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcApAQCAtNTAsMTIgKzUwLDExIEBAIHN0YXRpYyBOUElk
ZW50aWZpZXIgbnBJZGVudGlmaWVyRnJvbUlkZW50aWZpZXIoY29uc3QgSWRlbnRpZmllciYgaWRl
bnRpZmllcikKIAogY29uc3QgQ2xhc3NJbmZvIEpTTlBPYmplY3Q6OnNfaW5mbyA9IHsgIk5QT2Jq
ZWN0IiwgJkpTT2JqZWN0V2l0aEdsb2JhbE9iamVjdDo6c19pbmZvLCAwLCAwIH07CiAKLUpTTlBP
YmplY3Q6OkpTTlBPYmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTlBSdW50aW1l
T2JqZWN0TWFwKiBvYmplY3RNYXAsIE5QT2JqZWN0KiBucE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCitKU05QT2JqZWN0OjpKU05QT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwg
TlBPYmplY3QqIG5wT2JqZWN0KQogICAgIDogSlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0KGdsb2Jh
bE9iamVjdCwgc3RydWN0dXJlKQogICAgICwgbV9vYmplY3RNYXAob2JqZWN0TWFwKQogICAgICwg
bV9ucE9iamVjdChucE9iamVjdCkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3Qp
OwogfQogCiB2b2lkIEpTTlBPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCkBAIC02OSwxMiArNjgsNiBAQCB2b2lkIEpTTlBPYmplY3Q6OmZpbmlzaENy
ZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgcmV0YWluTlBPYmplY3Qo
bV9ucE9iamVjdCk7CiB9CiAKLUpTTlBPYmplY3QqIEpTTlBPYmplY3Q6OmNyZWF0ZShKU0M6OkpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFw
LCBOUE9iamVjdCogbnBPYmplY3QpCi17Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjcmVh
dGVTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdC0+b2Jq
ZWN0UHJvdG90eXBlKCkpOwotICAgIHJldHVybiBuZXcgKEpTQzo6YWxsb2NhdGVDZWxsPEpTTlBP
YmplY3Q+KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLmhlYXApKSBKU05QT2JqZWN0KGdsb2Jh
bE9iamVjdCwgb2JqZWN0TWFwLCBucE9iamVjdCwgc3RydWN0dXJlKTsKLX0KLQogSlNOUE9iamVj
dDo6fkpTTlBPYmplY3QoKQogewogICAgIEFTU0VSVCghbV9ucE9iamVjdCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3Qu
aAppbmRleCA3NTgyMmMzYzU5NjczZDhjZGI3YTQ3YmViYzg2MWQzYmQ4YjY5YmRiLi5kZDQxMTNj
OTcwMWI0ZjljY2UxOWQ5ZjhjZWZkNjg2ODk2ZTE5ZmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKQEAgLTI3
LDYgKzI3LDcgQEAKICNkZWZpbmUgSlNOUE9iamVjdF9oCiAKICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9KU09iamVjdFdpdGhHbG9iYWxPYmplY3QuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9PYmplY3RQcm90b3R5cGUuaD4KIAogdHlwZWRlZiB2b2lkKiBOUElkZW50aWZpZXI7CiBzdHJ1
Y3QgTlBPYmplY3Q7CkBAIC00MSw3ICs0MiwxNCBAQCBjbGFzcyBKU05QT2JqZWN0IDogcHVibGlj
IEpTQzo6SlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEpT
Qzo6SlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0IEJhc2U7CiAKLSAgICBzdGF0aWMgSlNOUE9iamVj
dCogY3JlYXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBOUFJ1bnRpbWVPYmplY3RNYXAqLCBOUE9i
amVjdCopOworICAgIHN0YXRpYyBKU05QT2JqZWN0KiBjcmVhdGUoSlNDOjpKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwgTlBPYmplY3Qq
IG5wT2JqZWN0KQorICAgIHsKKyAgICAgICAgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNy
ZWF0ZVN0cnVjdHVyZShnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LT5v
YmplY3RQcm90b3R5cGUoKSk7CisgICAgICAgIEpTTlBPYmplY3QqIG9iamVjdCA9IG5ldyAoSlND
OjphbGxvY2F0ZUNlbGw8SlNOUE9iamVjdD4oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCkuaGVh
cCkpIEpTTlBPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIG9iamVjdE1hcCwgbnBPYmpl
Y3QpOworICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAg
ICAgIHJldHVybiBvYmplY3Q7CisgICAgfQorCiAgICAgfkpTTlBPYmplY3QoKTsKIAogICAgIHZv
aWQgaW52YWxpZGF0ZSgpOwpAQCAtNjEsNyArNjksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAKIHByaXZhdGU6Ci0gICAgSlNO
UE9iamVjdChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgTlBSdW50aW1lT2JqZWN0TWFwKiwgTlBPYmpl
Y3QqLCBKU0M6OlN0cnVjdHVyZSopOworICAgIEpTTlBPYmplY3QoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTQzo6U3RydWN0dXJlKiwgTlBSdW50aW1lT2JqZWN0TWFwKiwgTlBPYmplY3QqKTsKIAog
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEpTQzo6T3ZlcnJpZGVz
R2V0T3duUHJvcGVydHlTbG90IHwgSlNDOjpPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwgSlNP
YmplY3Q6OlN0cnVjdHVyZUZsYWdzOwogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106517</attachid>
            <date>2011-09-06 16:41:19 -0700</date>
            <delta_ts>2011-09-07 18:56:57 -0700</delta_ts>
            <desc>Rebasing</desc>
            <filename>bug-67420-20110906164118.patch</filename>
            <type>text/plain</type>
            <size>121743</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ2MDkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRleCA5NTA0YWQ4MGQ4NTNmM2M2NTVm
ODQyOGQ3ZDE2YTY1ZmVjYjgzMDc3Li42YTA5OTM0ZmNjYjYwYTM4ZmNmYmQ0MmU5MzU2ZTkxZGI3
OWY5YjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwCkBAIC00Myw3ICs0Myw2IEBAIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6
SlNDYWxsYmFja0NvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
CiAgICAgLCBtX2NsYXNzKGpzQ2xhc3MpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCwganNDbGFzcyk7CiB9CiAKIHZvaWQgSlND
YWxsYmFja0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NsYXNzUmVmIGpzQ2xhc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAppbmRleCA1OWE1YzQ0MzAzOGQ3NjUzY2Y4NTMy
MGQ4NzVmZGU5YzI5ZDQ3OGYwLi4wNDE0YTllMjQwMWJjMzc0OTdlZDhhZWY1NzE3NDFkNjMwYmY1
ZTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmgKQEAgLTM3LDcgKzM3LDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIEpTQ2FsbGJh
Y2tDb25zdHJ1Y3RvciogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQ2xhc3NSZWYgY2xhc3NSZWYsIEpT
T2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayBjYWxsYmFjaykgCiAgICAgewotICAgICAg
ICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBKU0NhbGxiYWNrQ29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0LCBjbGFzc1JlZik7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAg
ICB9CiAgICAgCiAgICAgdmlydHVhbCB+SlNDYWxsYmFja0NvbnN0cnVjdG9yKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKaW5kZXggMjhi
MzQxOTIzZGMzNTBlNDNmODhlYzk3MjBkY2U1YjM0M2RiYzRhNy4uY2M1NTYxZmFmZDRiYTQzZWQy
MTk5NTAxY2NkMWE1YWRiNDg4MjNiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcApAQCAtNDMsOSArNDMsMTUgQEAgQVNTRVJUX0NMQVNT
X0ZJVFNfSU5fQ0VMTChKU0NhbGxiYWNrRnVuY3Rpb24pOwogY29uc3QgQ2xhc3NJbmZvIEpTQ2Fs
bGJhY2tGdW5jdGlvbjo6c19pbmZvID0geyAiQ2FsbGJhY2tGdW5jdGlvbiIsICZJbnRlcm5hbEZ1
bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAogSlNDYWxsYmFja0Z1bmN0aW9uOjpKU0NhbGxiYWNr
RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2Jh
bE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCksIG5hbWUp
CisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxs
YmFja0Z1bmN0aW9uU3RydWN0dXJlKCkpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewor
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBuYW1l
KTsKK30KKwordm9pZCBKU0NhbGxiYWNrRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRl
bnRpZmllciYgbmFtZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBn
bG9iYWxPYmplY3QsIG5hbWUpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9u
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5oCmluZGV4
IDdlYmM3ODg1MTBiZDcyMTQzNjZkMGYzNWUxMjA4MGVmMDYxMTcwZDcuLmYxY2U1Y2M1NWIxZGRj
ZmRkMDBiZmM2YzJlYzFjOTc4YzhhMzkxOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uaApAQCAtMzQsNiArMzQsNyBAQCBuYW1lc3BhY2UgSlND
IHsKIGNsYXNzIEpTQ2FsbGJhY2tGdW5jdGlvbiA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsK
IHByb3RlY3RlZDoKICAgICBKU0NhbGxiYWNrRnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgSlNHbG9iYWxP
YmplY3QqLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKIAogcHVibGljOgogICAgIHR5cGVkZWYg
SW50ZXJuYWxGdW5jdGlvbiBCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNjllZTEy
YjQxNzUwMDVmMzc3MWZhMTc0NjliOGIyYmM4ZWRlYjVmZi4uYmY1N2E5YjE5YmI4OWQ2NDliZmFm
NjcwYzA1ZjQ3ZTQ0YWFhZjA1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MTY1IEBACiAyMDExLTA5LTA2ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5j
b20+CiAKKyAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9y
cyBpbiBKU0NlbGwgaGllcmFyY2h5ICg1LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENvbXBsZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2YgdGhlIHJlZmFj
dG9yaW5nIHRvIGFkZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBj
bGFzc2VzIHdpdGhpbiB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAg
ICAgICBjb25zdHJ1Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lz
dHMgb2YgcHVzaGluZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAg
ICBpbnRvIHRoZSBjb25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBs
ZXZlbCBvZiB0aGUgaGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZp
bmlzaENyZWF0aW9uKCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZwor
ICAgICAgICBjcmVhdGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0
YW5lb3VzbHkgYWxsb3dzIHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRo
YXQgdGhlIGZpbmlzaENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAor
ICAgICAgICBvbmNlIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxs
aW5nIGl0IGFueSBvdGhlciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3Jl
KSB3aWxsIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogQVBJL0pTQ2Fs
bGJhY2tDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rv
cjo6SlNDYWxsYmFja0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToK
KyAgICAgICAgKiBBUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlND
YWxsYmFja0Z1bmN0aW9uOjpKU0NhbGxiYWNrRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpKU0Nh
bGxiYWNrRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFj
a0Z1bmN0aW9uLmg6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIEph
dmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6Cisg
ICAgICAgICogZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKiBkZWJ1
Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaDoKKyAgICAgICAgKEpTQzo6RGVidWdnZXJBY3RpdmF0
aW9uOjpjcmVhdGUpOgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChHbG9iYWxPYmplY3Q6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEdsb2JhbE9iamVjdDo6R2xvYmFsT2JqZWN0KToK
KyAgICAgICAgKiBydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpB
cnJheUNvbnN0cnVjdG9yOjpBcnJheUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6QXJyYXlD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAg
ICAoSlNDOjpBcnJheVByb3RvdHlwZTo6QXJyYXlQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRp
bWUvQXJyYXlQcm90b3R5cGUuaDoKKyAgICAgICAgKEpTQzo6QXJyYXlQcm90b3R5cGU6OmNyZWF0
ZSk6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAo
SlNDOjpCb29sZWFuQ29uc3RydWN0b3I6OkJvb2xlYW5Db25zdHJ1Y3Rvcik6CisgICAgICAgIChK
U0M6OkJvb2xlYW5Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRp
bWUvQm9vbGVhbkNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0
LmNwcDoKKyAgICAgICAgKEpTQzo6Qm9vbGVhbk9iamVjdDo6Qm9vbGVhbk9iamVjdCk6CisgICAg
ICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkJvb2xlYW5PYmpl
Y3Q6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcDoKKyAg
ICAgICAgKEpTQzo6Qm9vbGVhblByb3RvdHlwZTo6Qm9vbGVhblByb3RvdHlwZSk6CisgICAgICAg
IChKU0M6OkJvb2xlYW5Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50
aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rv
ci5jcHA6CisgICAgICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6RGF0ZUNvbnN0cnVjdG9yKToK
KyAgICAgICAgKEpTQzo6RGF0ZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVJbnN0
YW5jZS5jcHA6CisgICAgICAgIChKU0M6OkRhdGVJbnN0YW5jZTo6RGF0ZUluc3RhbmNlKToKKyAg
ICAgICAgKiBydW50aW1lL0RhdGVJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpEYXRlSW5zdGFu
Y2U6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcDoKKyAgICAg
ICAgKEpTQzo6RGF0ZVByb3RvdHlwZTo6RGF0ZVByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkRh
dGVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0RhdGVQcm90
b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3Ry
aWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uOjpTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pOgor
ICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkVy
cm9yQ29uc3RydWN0b3I6OkVycm9yQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpFcnJvckNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9FcnJvckNvbnN0
cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAg
IChKU0M6OkVycm9yUHJvdG90eXBlOjpFcnJvclByb3RvdHlwZSk6CisgICAgICAgICogcnVudGlt
ZS9FcnJvclByb3RvdHlwZS5oOgorICAgICAgICAoSlNDOjpFcnJvclByb3RvdHlwZTo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAo
SlNDOjpGdW5jdGlvbkNvbnN0cnVjdG9yOjpGdW5jdGlvbkNvbnN0cnVjdG9yKToKKyAgICAgICAg
KEpTQzo6RnVuY3Rpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6RnVuY3Rpb25Q
cm90b3R5cGUpOgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaDoKKyAgICAgICAgKiBy
dW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpJbnRlcm5hbEZ1bmN0
aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rp
b24uaDoKKyAgICAgICAgKiBydW50aW1lL0pTQWN0aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0M6
OkpTQWN0aXZhdGlvbjo6SlNBY3RpdmF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTQWN0aXZh
dGlvbi5oOgorICAgICAgICAoSlNDOjpKU0FjdGl2YXRpb246OmNyZWF0ZSk6CisgICAgICAgICog
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6
Y3JlYXRlKToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OkpTR2xvYmFsT2JqZWN0KToK
KyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09OT2Jq
ZWN0OjpKU09OT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuaDoKKyAgICAg
ICAgKEpTQzo6SlNPTk9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTU3RhdGlj
U2NvcGVPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6Y3JlYXRl
KToKKyAgICAgICAgKEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6SlNTdGF0aWNTY29wZU9iamVj
dCk6CisgICAgICAgICogcnVudGltZS9KU1N0cmluZy5jcHA6CisgICAgICAgIChKU0M6OlN0cmlu
Z09iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpNYXRoT2JqZWN0OjpNYXRoT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL01h
dGhPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6TWF0aE9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAg
KiBydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpOYXRp
dmVFcnJvckNvbnN0cnVjdG9yOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBy
dW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TmF0aXZlRXJy
b3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZl
RXJyb3JQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlwZTo6
TmF0aXZlRXJyb3JQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlw
ZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5
cGUuaDoKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAg
KEpTQzo6TnVtYmVyQ29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpT
Qzo6TnVtYmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L051bWJlckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJPYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpOdW1iZXJPYmplY3Q6Ok51bWJlck9iamVjdCk6CisgICAgICAgICog
cnVudGltZS9OdW1iZXJPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6TnVtYmVyT2JqZWN0OjpjcmVh
dGUpOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpT
Qzo6TnVtYmVyUHJvdG90eXBlOjpOdW1iZXJQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOdW1i
ZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL051bWJlclBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpPYmplY3RDb25zdHJ1Y3Rvcjo6T2JqZWN0Q29uc3RydWN0b3IpOgorICAgICAg
ICAoSlNDOjpPYmplY3RDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0
cnVjdG9yKToKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKEpTQzo6UmVnRXhwTWF0Y2hlc0FycmF5OjpSZWdFeHBNYXRjaGVzQXJyYXkp
OgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50
aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJy
YXk6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpSZWdFeHBPYmplY3Q6OlJlZ0V4cE9iamVjdCk6CisgICAgICAgICogcnVudGltZS9S
ZWdFeHBPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6UmVnRXhwT2JqZWN0OjpjcmVhdGUpOgorICAg
ICAgICAqIHJ1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhw
UHJvdG90eXBlOjpSZWdFeHBQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29u
c3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29u
c3RydWN0b3IpOgorICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBy
dW50aW1lL1N0cmluZ09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6U3Ry
aW5nT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdC5oOgorICAgICAgICAo
SlNDOjpTdHJpbmdPYmplY3Q6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdPYmpl
Y3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZC5oOgorICAgICAgICAoSlNDOjpTdHJpbmdPYmpl
Y3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZDo6U3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVz
QXNVbmRlZmluZWQpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcDoKKyAg
ICAgICAgKEpTQzo6U3RyaW5nUHJvdG90eXBlOjpTdHJpbmdQcm90b3R5cGUpOgorICAgICAgICAo
SlNDOjpTdHJpbmdQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L1N0cmluZ1Byb3RvdHlwZS5oOgorCisyMDExLTA5LTA2ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFo
bmVuYmVyZ0BhcHBsZS5jb20+CisKICAgICAgICAgRml4IGJyb2tlbiBQUEMgYnVpbGQgZHVlIHRv
IG5ldyBkdG9hIGxpYnJhcnkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3NjU0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhw
CmluZGV4IDU2OGU0MGYwMjM2ODJmNzQyZTQ2MDYyYmEzOGNkNTA0ZWFiNDk1NjQuLmM1ZDgxNjUw
ZjU4YzExODJjNDk0NTBhODg4ODQwNDkzMTA0ZmJkOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMTIzLDggKzEyMywxMCBAQCBfX1pOM0pTQzExUGFyc2Vy
QXJlbmE1cmVzZXRFdgogX19aTjNKU0MxMWNoZWNrU3ludGF4RVBOU185RXhlY1N0YXRlRVJLTlNf
MTBTb3VyY2VDb2RlRQogX19aTjNKU0MxMWNyZWF0ZUVycm9yRVBOU185RXhlY1N0YXRlRVJLTlNf
N1VTdHJpbmdFCiBfX1pOM0pTQzExcmVnRXhwRmxhZ3NFUktOU183VVN0cmluZ0UKK19fWk4zSlND
MTJEYXRlSW5zdGFuY2UxNGZpbmlzaENyZWF0aW9uRVJOU18xMkpTR2xvYmFsRGF0YUVkCitfX1pO
M0pTQzEyRGF0ZUluc3RhbmNlNmNyZWF0ZUVQTlNfOUV4ZWNTdGF0ZUVQTlNfOVN0cnVjdHVyZUVk
CiBfX1pOM0pTQzEyRGF0ZUluc3RhbmNlNnNfaW5mb0UKLV9fWk4zSlNDMTJEYXRlSW5zdGFuY2VD
MUVQTlNfOUV4ZWNTdGF0ZUVQTlNfOVN0cnVjdHVyZUVkCitfX1pOM0pTQzEyRGF0ZUluc3RhbmNl
QzFFUE5TXzlFeGVjU3RhdGVFUE5TXzlTdHJ1Y3R1cmVFCiBfX1pOM0pTQzEySlNHbG9iYWxEYXRh
MTBDbGllbnREYXRhRDJFdgogX19aTjNKU0MxMkpTR2xvYmFsRGF0YTExanNBcnJheVZQdHJFCiBf
X1pOM0pTQzEySlNHbG9iYWxEYXRhMTJjcmVhdGVMZWFrZWRFTlNfMTVUaHJlYWRTdGFja1R5cGVF
TlNfOEhlYXBTaXplRQpAQCAtMTM4LDE5ICsxNDAsMjEgQEAgX19aTjNKU0MxMkpTR2xvYmFsRGF0
YTE1ZHVtcFJlZ0V4cFRyYWNlRXYKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGEyMmNsZWFyQnVpbHRp
blN0cnVjdHVyZXNFdgogX19aTjNKU0MxMkpTR2xvYmFsRGF0YTZjcmVhdGVFTlNfMTVUaHJlYWRT
dGFja1R5cGVFTlNfOEhlYXBTaXplRQogX19aTjNKU0MxMkpTR2xvYmFsRGF0YUQxRXYKK19fWk4z
SlNDMTJSZWdFeHBPYmplY3QxNGZpbmlzaENyZWF0aW9uRVBOU18xNEpTR2xvYmFsT2JqZWN0RQog
X19aTjNKU0MxMlJlZ0V4cE9iamVjdDZzX2luZm9FCiBfX1pOM0pTQzEyUmVnRXhwT2JqZWN0QzFF
UE5TXzE0SlNHbG9iYWxPYmplY3RFUE5TXzlTdHJ1Y3R1cmVFUE5TXzZSZWdFeHBFCiBfX1pOM0pT
QzEyU2FtcGxpbmdUb29sNXNldHVwRXYKIF9fWk4zSlNDMTJTbWFsbFN0cmluZ3MxN2NyZWF0ZUVt
cHR5U3RyaW5nRVBOU18xMkpTR2xvYmFsRGF0YUUKIF9fWk4zSlNDMTJTbWFsbFN0cmluZ3MyN2Ny
ZWF0ZVNpbmdsZUNoYXJhY3RlclN0cmluZ0VQTlNfMTJKU0dsb2JhbERhdGFFaAogX19aTjNKU0Mx
MlN0cmluZ09iamVjdDE0ZGVsZXRlUHJvcGVydHlFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50
aWZpZXJFCitfX1pOM0pTQzEyU3RyaW5nT2JqZWN0MTRmaW5pc2hDcmVhdGlvbkVSTlNfMTJKU0ds
b2JhbERhdGFFUE5TXzhKU1N0cmluZ0UKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxOGdldE93blBy
b3BlcnR5U2xvdEVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVSTlNfMTJQcm9wZXJ0
eVNsb3RFCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzlF
eGVjU3RhdGVFalJOU18xMlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxOWdl
dE93blByb3BlcnR5TmFtZXNFUE5TXzlFeGVjU3RhdGVFUk5TXzE3UHJvcGVydHlOYW1lQXJyYXlF
TlNfMTVFbnVtZXJhdGlvbk1vZGVFCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0MjRnZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3JFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5TXzE4UHJv
cGVydHlEZXNjcmlwdG9yRQogX19aTjNKU0MxMlN0cmluZ09iamVjdDNwdXRFUE5TXzlFeGVjU3Rh
dGVFUktOU18xMElkZW50aWZpZXJFTlNfN0pTVmFsdWVFUk5TXzE1UHV0UHJvcGVydHlTbG90RQog
X19aTjNKU0MxMlN0cmluZ09iamVjdDZzX2luZm9FCi1fX1pOM0pTQzEyU3RyaW5nT2JqZWN0QzJF
Uk5TXzEySlNHbG9iYWxEYXRhRVBOU185U3RydWN0dXJlRVBOU184SlNTdHJpbmdFCitfX1pOM0pT
QzEyU3RyaW5nT2JqZWN0QzJFUk5TXzEySlNHbG9iYWxEYXRhRVBOU185U3RydWN0dXJlRQogX19a
TjNKU0MxM1NhbXBsaW5nRmxhZ3M0c3RvcEV2CiBfX1pOM0pTQzEzU2FtcGxpbmdGbGFnczVzdGFy
dEV2CiBfX1pOM0pTQzEzU2FtcGxpbmdGbGFnczdzX2ZsYWdzRQpAQCAtMTgxLDkgKzE4NSwxMCBA
QCBfX1pOM0pTQzE1V2Vha0hhbmRsZU93bmVyOGZpbmFsaXplRU5TXzZIYW5kbGVJTlNfN1Vua25v
d25FRUVQdgogX19aTjNKU0MxNVdlYWtIYW5kbGVPd25lckQyRXYKIF9fWk4zSlNDMTVjcmVhdGVU
eXBlRXJyb3JFUE5TXzlFeGVjU3RhdGVFUktOU183VVN0cmluZ0UKIF9fWk4zSlNDMTZJbnRlcm5h
bEZ1bmN0aW9uMTJ2dGFibGVBbmNob3JFdgorX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb24xNGZp
bmlzaENyZWF0aW9uRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfMTRKU0dsb2JhbE9iamVjdEVSS05T
XzEwSWRlbnRpZmllckUKIF9fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0aW9uNG5hbWVFUE5TXzlFeGVj
U3RhdGVFCiBfX1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlvbjZzX2luZm9FCi1fX1pOM0pTQzE2SW50
ZXJuYWxGdW5jdGlvbkMyRVBOU18xMkpTR2xvYmFsRGF0YUVQTlNfMTRKU0dsb2JhbE9iamVjdEVQ
TlNfOVN0cnVjdHVyZUVSS05TXzEwSWRlbnRpZmllckUKK19fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0
aW9uQzJFUE5TXzE0SlNHbG9iYWxPYmplY3RFUE5TXzlTdHJ1Y3R1cmVFCiBfX1pOM0pTQzE2SlNW
YXJpYWJsZU9iamVjdDE0ZGVsZXRlUHJvcGVydHlFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50
aWZpZXJFCiBfX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVjdDE0c3ltYm9sVGFibGVHZXRFUktOU18x
MElkZW50aWZpZXJFUk5TXzE4UHJvcGVydHlEZXNjcmlwdG9yRQogX19aTjNKU0MxNkpTVmFyaWFi
bGVPYmplY3QxOWdldE93blByb3BlcnR5TmFtZXNFUE5TXzlFeGVjU3RhdGVFUk5TXzE3UHJvcGVy
dHlOYW1lQXJyYXlFTlNfMTVFbnVtZXJhdGlvbk1vZGVFCkBAIC0xOTUsNyArMjAwLDggQEAgX19a
TjNKU0MxN0J5dGVjb2RlR2VuZXJhdG9yMjFzZXREdW1wc0dlbmVyYXRlZENvZGVFYgogX19aTjNK
U0MxN1Byb3BlcnR5TmFtZUFycmF5M2FkZEVQTjNXVEYxMFN0cmluZ0ltcGxFCiBfX1pOM0pTQzE3
Y29uc3RydWN0RnVuY3Rpb25FUE5TXzlFeGVjU3RhdGVFUE5TXzE0SlNHbG9iYWxPYmplY3RFUktO
U183QXJnTGlzdEVSS05TXzEwSWRlbnRpZmllckVSS05TXzdVU3RyaW5nRWkKIF9fWk4zSlNDMTdj
cmVhdGVTeW50YXhFcnJvckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzdVU3RyaW5nRQotX19aTjNKU0Mx
OERlYnVnZ2VyQWN0aXZhdGlvbjZjcmVhdGVFUk5TXzEySlNHbG9iYWxEYXRhRVBOU184SlNPYmpl
Y3RFCitfX1pOM0pTQzE4RGVidWdnZXJBY3RpdmF0aW9uMTRmaW5pc2hDcmVhdGlvbkVSTlNfMTJK
U0dsb2JhbERhdGFFUE5TXzhKU09iamVjdEUKK19fWk4zSlNDMThEZWJ1Z2dlckFjdGl2YXRpb25D
MUVSTlNfMTJKU0dsb2JhbERhdGFFCiBfX1pOM0pTQzE4UHJvcGVydHlEZXNjcmlwdG9yMTFzZXRX
cml0YWJsZUViCiBfX1pOM0pTQzE4UHJvcGVydHlEZXNjcmlwdG9yMTJzZXRVbmRlZmluZWRFdgog
X19aTjNKU0MxOFByb3BlcnR5RGVzY3JpcHRvcjEzc2V0RGVzY3JpcHRvckVOU183SlNWYWx1ZUVq
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVm
CmluZGV4IDkzNjgxYjc1YjZkY2QzMzI3OTMxMDZlMjllZjcyMGNlMGYyZWQzM2IuLjcwZmUwNGEz
ZDQ1MzgyNmM4NWI2Mjk4ZjY2YThkYWFkNWU0YTZmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUuZGVmCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3By
b2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCkBAIC0zLDExICszLDExIEBAIEVY
UE9SVFMKICAgICA/PzBDU3RyaW5nQFdURkBAUUFFQFBCREBaCiAgICAgPz8wQ1N0cmluZ0BXVEZA
QFFBRUBQQkRJQFoKICAgICA/PzBDb2xsYXRvckBXVEZAQFFBRUBQQkRAWgotICAgID8/MERhdGVJ
bnN0YW5jZUBKU0NAQElBRUBQQVZFeGVjU3RhdGVAMUBQQVZTdHJ1Y3R1cmVAMUBOQFoKKyAgICA/
PzBEYXRlSW5zdGFuY2VASlNDQEBJQUVAUEFWRXhlY1N0YXRlQDFAUEFWU3RydWN0dXJlQDFAQFoK
ICAgICA/PzBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrQEpTQ0BAUUFFQFBBVkhlYXBAMUBAWgog
ICAgID8/MERyb3BBbGxMb2Nrc0BKU0xvY2tASlNDQEBRQUVAVzRKU0xvY2tCZWhhdmlvckAyQEBa
Ci0gICAgPz8wRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlQEpTQ0BAUUFFQEFBVkpTR2xvYmFsRGF0
YUAxQFBBVkpTR2xvYmFsT2JqZWN0QDFAQFogIAotICAgID8/MEludGVybmFsRnVuY3Rpb25ASlND
QEBJQUVAUEFWSlNHbG9iYWxEYXRhQDFAUEFWSlNHbG9iYWxPYmplY3RAMUBQQVZTdHJ1Y3R1cmVA
MUBBQlZJZGVudGlmaWVyQDFAQFoKKyAgICA/PzBEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGVASlND
QEBRQUVAQUFWSlNHbG9iYWxEYXRhQDFAUEFWSlNHbG9iYWxPYmplY3RAMUBAWiAKKyAgICA/PzBJ
bnRlcm5hbEZ1bmN0aW9uQEpTQ0BASUFFQFBBVkpTR2xvYmFsT2JqZWN0QDFAUEFWU3RydWN0dXJl
QDFAQFoKICAgICA/PzBKU0FycmF5QEpTQ0BASUFFQEFBVkpTR2xvYmFsRGF0YUAxQFBBVlN0cnVj
dHVyZUAxQEBaCiAgICAgPz8wSlNCeXRlQXJyYXlASlNDQEBBQUVAUEFWRXhlY1N0YXRlQDFAUEFW
U3RydWN0dXJlQDFAUEFWQnl0ZUFycmF5QFdURkBAQFoKICAgICA/PzBKU0Z1bmN0aW9uQEpTQ0BA
QUFFQFBBVkV4ZWNTdGF0ZUAxQFBBVkpTR2xvYmFsT2JqZWN0QDFAUEFWU3RydWN0dXJlQDFAQFoK
QEAgLTE5LDcgKzE5LDcgQEAgRVhQT1JUUwogICAgID8/MFJlZkNvdW50ZWRMZWFrQ291bnRlckBX
VEZAQFFBRUBQQkRAWgogICAgID8/MFJlZ0V4cE9iamVjdEBKU0NAQElBRUBQQVZKU0dsb2JhbE9i
amVjdEAxQFBBVlN0cnVjdHVyZUAxQFBBVlJlZ0V4cEAxQEBaCiAgICAgPz8wU0hBMUBXVEZAQFFB
RUBYWgotICAgID8/MFN0cmluZ09iamVjdEBKU0NAQElBRUBBQVZKU0dsb2JhbERhdGFAMUBQQVZT
dHJ1Y3R1cmVAMUBQQVZKU1N0cmluZ0AxQEBaCisgICAgPz8wU3RyaW5nT2JqZWN0QEpTQ0BASUFF
QEFBVkpTR2xvYmFsRGF0YUAxQFBBVlN0cnVjdHVyZUAxQEBaCiAgICAgPz8wU3RydWN0dXJlQEpT
Q0BAQUFFQEFBVkpTR2xvYmFsRGF0YUAxQFZKU1ZhbHVlQDFAQUJWVHlwZUluZm9AMUBJUEJVQ2xh
c3NJbmZvQDFAQFoKICAgICA/PzBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVAWFoKICAgICA/PzBV
U3RyaW5nQEpTQ0BAUUFFQFBCREBaCkBAIC0xNzUsMTAgKzE3NSwxNCBAQCBFWFBPUlRTCiAgICAg
P2Zhc3RaZXJvZWRNYWxsb2NAV1RGQEBZQVBBWElAWgogICAgID9maWxsR2V0dGVyUHJvcGVydHlT
bG90QEpTT2JqZWN0QEpTQ0BAUUFFWEFBVlByb3BlcnR5U2xvdEAyQFBBVj8kV3JpdGVCYXJyaWVy
QmFzZUBXNFVua25vd25ASlNDQEBAMkBAWgogICAgID9maW5hbGl6ZUBXZWFrSGFuZGxlT3duZXJA
SlNDQEBVQUVYVj8kSGFuZGxlQFc0VW5rbm93bkBKU0NAQEAyQFBBWEBaCisgICAgP2ZpbmlzaENy
ZWF0aW9uQERhdGVJbnN0YW5jZUBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFAMkBOQFoKKyAgICA/
ZmluaXNoQ3JlYXRpb25ASW50ZXJuYWxGdW5jdGlvbkBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFA
MkBQQVZKU0dsb2JhbE9iamVjdEAyQEFCVklkZW50aWZpZXJAMkBAWgogICAgID9maW5pc2hDcmVh
dGlvbkBKU0FycmF5QEpTQ0BASUFFWEFBVkpTR2xvYmFsRGF0YUAyQEBaCiAgICAgP2ZpbmlzaENy
ZWF0aW9uQEpTQXJyYXlASlNDQEBJQUVYQUFWSlNHbG9iYWxEYXRhQDJAQUJWQXJnTGlzdEAyQEBa
CiAgICAgP2ZpbmlzaENyZWF0aW9uQEpTRnVuY3Rpb25ASlNDQEBJQUVYUEFWRXhlY1N0YXRlQDJA
UEFWSlNHbG9iYWxPYmplY3RAMkBIQUJWSWRlbnRpZmllckAyQFBBVkV4ZWN1dGFibGVCYXNlQDJA
QFoKICAgICA/ZmluaXNoQ3JlYXRpb25ASlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0QEpTQ0BASUFF
WEFBVkpTR2xvYmFsRGF0YUAyQFBBVkpTR2xvYmFsT2JqZWN0QDJAQFoKKyAgICA/ZmluaXNoQ3Jl
YXRpb25AUmVnRXhwT2JqZWN0QEpTQ0BASUFFWFBBVkpTR2xvYmFsT2JqZWN0QDJAQFoKKyAgICA/
ZmluaXNoQ3JlYXRpb25AU3RyaW5nT2JqZWN0QEpTQ0BASUFFWEFBVkpTR2xvYmFsRGF0YUAyQFBB
VkpTU3RyaW5nQDJAQFoKICAgICA/Zm9jdXNAUHJvZmlsZUBKU0NAQFFBRVhQQlZQcm9maWxlTm9k
ZUAyQEBaCiAgICAgP2Zyb21ASWRlbnRpZmllckBKU0NAQFNBP0FWMTJAUEFWRXhlY1N0YXRlQDJA
SEBaCiAgICAgP2Zyb21ASWRlbnRpZmllckBKU0NAQFNBP0FWMTJAUEFWRXhlY1N0YXRlQDJASUBa
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3Rp
dmF0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2
YXRpb24uY3BwCmluZGV4IGE3MTAxZGNiNmJhYTQwZmY0ZmUwZWZhMzJkMWQ1NWI2OGE5NDE0ZTUu
LmFmNmE1NmY5YmUyYTYwNDc4MmM4NTBjMzFlZjU5ZDJmNDBjZGY1MGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uY3BwCkBA
IC0zNSwxMyArMzUsNiBAQCBEZWJ1Z2dlckFjdGl2YXRpb246OkRlYnVnZ2VyQWN0aXZhdGlvbihK
U0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCiB7CiB9CiAKLURlYnVnZ2VyQWN0aXZhdGlvbiogRGVi
dWdnZXJBY3RpdmF0aW9uOjpjcmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU09iamVj
dCogb2JqZWN0KQotewotICAgIERlYnVnZ2VyQWN0aXZhdGlvbiogYWN0aXZhdGlvbiA9IG5ldyAo
YWxsb2NhdGVDZWxsPERlYnVnZ2VyQWN0aXZhdGlvbj4oZ2xvYmFsRGF0YS5oZWFwKSkgRGVidWdn
ZXJBY3RpdmF0aW9uKGdsb2JhbERhdGEpOwotICAgIGFjdGl2YXRpb24tPmZpbmlzaENyZWF0aW9u
KGdsb2JhbERhdGEsIG9iamVjdCk7Ci0gICAgcmV0dXJuIGFjdGl2YXRpb247Ci19Ci0KIHZvaWQg
RGVidWdnZXJBY3RpdmF0aW9uOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEsIEpTT2JqZWN0KiBhY3RpdmF0aW9uKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGds
b2JhbERhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0Rl
YnVnZ2VyQWN0aXZhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVn
Z2VyQWN0aXZhdGlvbi5oCmluZGV4IDkyYThhMGVhNjA1NDljOWM4ZTZjY2NmY2VlZjNiYmI1MzM4
ODI2YTAuLjQ0YjYyNjcyMjdkN2JmNDU0YWY4ZjBmYTFiNjUxMjk4OWY4M2EwYmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmgK
QEAgLTM0LDcgKzM0LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHB1YmxpYzoKICAgICAgICAg
dHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CiAKLSAgICAgICAgc3RhdGljIERlYnVnZ2Vy
QWN0aXZhdGlvbiogY3JlYXRlKEpTR2xvYmFsRGF0YSYsIEpTT2JqZWN0Kik7CisgICAgICAgIHN0
YXRpYyBEZWJ1Z2dlckFjdGl2YXRpb24qIGNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEs
IEpTT2JqZWN0KiBvYmplY3QpCisgICAgICAgIHsKKyAgICAgICAgICAgIERlYnVnZ2VyQWN0aXZh
dGlvbiogYWN0aXZhdGlvbiA9IG5ldyAoYWxsb2NhdGVDZWxsPERlYnVnZ2VyQWN0aXZhdGlvbj4o
Z2xvYmFsRGF0YS5oZWFwKSkgRGVidWdnZXJBY3RpdmF0aW9uKGdsb2JhbERhdGEpOworICAgICAg
ICAgICAgYWN0aXZhdGlvbi0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgb2JqZWN0KTsKKyAg
ICAgICAgICAgIHJldHVybiBhY3RpdmF0aW9uOworICAgICAgICB9CisKICAgICAgICAgdmlydHVh
bCB2b2lkIHZpc2l0Q2hpbGRyZW4oU2xvdFZpc2l0b3ImKTsKICAgICAgICAgdmlydHVhbCBVU3Ry
aW5nIGNsYXNzTmFtZSgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVy
dHlTbG90KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVy
dHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IGUxMDM3MDkwYmQ4Y2ExMjcyNGE1YTZm
MTA3ZGIzMWI5NWIxMzM2ZTQuLmUxNGY4MDg3MjMzZDIwYWM4YTlmOTM1MjA2ODE4N2YzMWUwZDk1
MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC0xNTcsOCArMTU3LDkgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgVVN0cmluZyBjbGFzc05hbWUoKSBjb25zdCB7IHJldHVybiAiZ2xvYmFsIjsgfQog
CiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBjb25zdHJ1Y3RvckJvZHkoY29uc3QgVmVjdG9yPFVTdHJp
bmc+JiBhcmd1bWVudHMpCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIGNvbnN0IFZlY3RvcjxVU3RyaW5nPiYgYXJndW1lbnRzKQogICAgIHsKKyAgICAg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhpcyk7CiAgICAgICAgIHB1dERp
cmVjdEZ1bmN0aW9uKGdsb2JhbEV4ZWMoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKGdsb2JhbEV4ZWMo
KSwgdGhpcywgZnVuY3Rpb25TdHJ1Y3R1cmUoKSwgMSwgSWRlbnRpZmllcihnbG9iYWxFeGVjKCks
ICJkZWJ1ZyIpLCBmdW5jdGlvbkRlYnVnKSk7CiAgICAgICAgIHB1dERpcmVjdEZ1bmN0aW9uKGds
b2JhbEV4ZWMoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKGdsb2JhbEV4ZWMoKSwgdGhpcywgZnVuY3Rp
b25TdHJ1Y3R1cmUoKSwgMSwgSWRlbnRpZmllcihnbG9iYWxFeGVjKCksICJwcmludCIpLCBmdW5j
dGlvblByaW50KSk7CiAgICAgICAgIHB1dERpcmVjdEZ1bmN0aW9uKGdsb2JhbEV4ZWMoKSwgSlNG
dW5jdGlvbjo6Y3JlYXRlKGdsb2JhbEV4ZWMoKSwgdGhpcywgZnVuY3Rpb25TdHJ1Y3R1cmUoKSwg
MCwgSWRlbnRpZmllcihnbG9iYWxFeGVjKCksICJxdWl0IiksIGZ1bmN0aW9uUXVpdCkpOwpAQCAt
MTkwLDcgKzE5MSw3IEBAIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoR2xvYmFsT2JqZWN0KTsK
IEdsb2JhbE9iamVjdDo6R2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFZlY3RvcjxVU3RyaW5nPiYgYXJndW1lbnRzKQogICAg
IDogSlNHbG9iYWxPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQogewotICAgIGNvbnN0cnVj
dG9yQm9keShhcmd1bWVudHMpOworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIGFyZ3Vt
ZW50cyk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25QcmludChF
eGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5Q29uc3RydWN0b3IuY3BwCmluZGV4IGZkOWU3MWQ3ZDJjMmFjMzg5NWEyNmU0MmI5YmIwMmYy
NDM3MjJiZWIuLjUyMWZjYmI4ODYyODA0MDBhY2E0NDViODE3YjcwMDM2YjU5ZjQxNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3Bw
CkBAIC01Miw4ICs1MiwxNCBAQCBjb25zdCBDbGFzc0luZm8gQXJyYXlDb25zdHJ1Y3Rvcjo6c19p
bmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pbgogQVNTRVJUX0NMQVNT
X0ZJVFNfSU5fQ0VMTChBcnJheUNvbnN0cnVjdG9yKTsKIAogQXJyYXlDb25zdHJ1Y3Rvcjo6QXJy
YXlDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUp
Ci0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVj
dCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIGFycmF5UHJvdG90eXBlLT5jbGFzc0luZm8o
KS0+Y2xhc3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1
Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBhcnJheVBy
b3RvdHlwZSk7Cit9CisKK3ZvaWQgQXJyYXlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBBcnJheVByb3RvdHlw
ZSogYXJyYXlQcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xv
YmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIoZXhlYywgYXJyYXlQcm90b3R5cGUt
PmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIGFy
cmF5UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0
eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnRE
ZWxldGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25z
dHJ1Y3Rvci5oCmluZGV4IGQxOGQxMmFjMDc3NDU1MWEyMWVlOGEzODdhYzc4ZDhmMWM1ZTMwZTIu
LjE4NmFiOGU1N2NlMWNiYmU0Y2Y0NDY3Y2Y0YWRmMWMyMmQ2ZmYzMjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKQEAgLTQ0LDYgKzQ0
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIEFycmF5
UHJvdG90eXBlKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0cnVj
dHVyZUZsYWdzOwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCA5OTY3NGJiMjNiNDk4MThiMmYzYTM0ODRj
MjY2ZTAxMzlkODZlZjQ2Li40MmY0MWE2MzFkNDljZjNkY2U5Y2E4ZmQ3ZTZiNmRhOGQ1NjQzNjA1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlw
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUu
Y3BwCkBAIC0xMTcsNyArMTE3LDYgQEAgY29uc3QgQ2xhc3NJbmZvIEFycmF5UHJvdG90eXBlOjpz
X2luZm8gPSB7IkFycmF5IiwgJkpTQXJyYXk6OnNfaW5mbywgMCwgRXhlY1N0YXQKIEFycmF5UHJv
dG90eXBlOjpBcnJheVByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTQXJyYXkoZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRh
KCksIHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQog
CiB2b2lkIEFycmF5UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90
eXBlLmgKaW5kZXggNjA0MWE2MmFkNTEwNTkxYzRjMzBiN2E3ZmFhNjM0MDAwNjA5YTQ4MS4uNzVl
NmU4MGJhNzJmN2ExYWYyYTFlODJjOGMxNzdiNWU4ZmE4ZjFmNiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCkBAIC0zNSw3ICszNSw5IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBBcnJheVByb3RvdHlwZSogY3JlYXRlKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2Vs
bDxBcnJheVByb3RvdHlwZT4oKmV4ZWMtPmhlYXAoKSkpIEFycmF5UHJvdG90eXBlKGdsb2JhbE9i
amVjdCwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIEFycmF5UHJvdG90eXBlKiBwcm90b3R5cGUg
PSBuZXcgKGFsbG9jYXRlQ2VsbDxBcnJheVByb3RvdHlwZT4oKmV4ZWMtPmhlYXAoKSkpIEFycmF5
UHJvdG90eXBlKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIHByb3RvdHlw
ZS0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBwcm90
b3R5cGU7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGJvb2wgZ2V0T3duUHJvcGVydHlT
bG90KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eVNsb3QmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3Bw
CmluZGV4IGVmNjI0MGU3OTI1YTE1NzRmOTRjZTk4ZjllMTk1NmU3Y2RmNDc4MGYuLjJkYjQyODY1
NzE4NjNmOWZhZjZkODVlMDRhYTY4MDdjODFhOWU2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcApAQCAtMjksOCArMjks
MTQgQEAgbmFtZXNwYWNlIEpTQyB7CiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEJvb2xlYW5D
b25zdHJ1Y3Rvcik7CiAKIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6Qm9vbGVhbkNvbnN0cnVjdG9yKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIEJvb2xlYW5Qcm90b3R5cGUqIGJvb2xlYW5Qcm90b3R5cGUpCi0gICAgOiBJbnRl
cm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJl
LCBJZGVudGlmaWVyKGV4ZWMsIGJvb2xlYW5Qcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05h
bWUpKQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsK
KyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIGJvb2xlYW5Qcm90b3R5cGUp
OworfQorCit2b2lkIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRl
KiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBCb29sZWFuUHJvdG90eXBlKiBi
b29sZWFuUHJvdG90eXBlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2Jh
bERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyKGV4ZWMsIGJvb2xlYW5Qcm90b3R5cGUt
PmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIGJv
b2xlYW5Qcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKIAogICAg
IC8vIG5vLiBvZiBhcmd1bWVudHMgZm9yIGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCmluZGV4IGU3ZWE1ODNkOGM3
YTVmNDJjZGViYThlZTNiZWI2OGFhN2VkN2FiNWYuLmU5NzMxMDlhNWZjMTcxM2I2ZjNmYTllMTU4
YjUyMzFiMzU0MmRjYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCkBAIC0zNiw2ICszNiw5IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPEJvb2xlYW5Db25zdHJ1Y3Rvcj4o
KmV4ZWMtPmhlYXAoKSkpIEJvb2xlYW5Db25zdHJ1Y3RvcihleGVjLCBnbG9iYWxPYmplY3QsIHN0
cnVjdHVyZSwgYm9vbFByb3RvdHlwZSk7CiAgICAgICAgIH0KIAorICAgIHByb3RlY3RlZDoKKyAg
ICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIEJv
b2xlYW5Qcm90b3R5cGUqKTsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIEJvb2xlYW5Db25zdHJ1
Y3RvcihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEJvb2xlYW5Qcm90
b3R5cGUqKTsKICAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEo
Q29uc3RydWN0RGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQm9vbGVhbk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuT2JqZWN0LmNwcAppbmRleCBiOWUzM2RjNDg0Mjk4YjZjZWU2NzRlMThkNTRhODdmNjJkYWRm
ZDU3Li5jYmRkZDBlOTI0MzMwMDJiOGE1Y2Y5ZjM1ZmZhMjEzZjBkOTUxOWMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcApAQCAtMzAsNyAr
MzAsNiBAQCBjb25zdCBDbGFzc0luZm8gQm9vbGVhbk9iamVjdDo6c19pbmZvID0geyAiQm9vbGVh
biIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMAogQm9vbGVhbk9iamVjdDo6Qm9vbGVhbk9i
amVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAg
IDogSlNXcmFwcGVyT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hD
cmVhdGlvbihnbG9iYWxEYXRhKTsKIH0KIAogdm9pZCBCb29sZWFuT2JqZWN0OjpmaW5pc2hDcmVh
dGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Cb29sZWFuT2JqZWN0LmgKaW5kZXggMGZmYTQyNWQwMWU5ZDU0MjNlZDQxYTE1YmRk
NjgwOWJhNmI5MjM4OC4uY2VkMWNlYjM4YTVmMTU5ZmE5MzgyOTQ0ODkzODBjNzI5YThmOTJhNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuaApAQCAt
MzUsNyArMzUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgQm9vbGVhbk9i
amVjdCogY3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxCb29s
ZWFuT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBCb29sZWFuT2JqZWN0KGdsb2JhbERhdGEsIHN0
cnVjdHVyZSk7CisgICAgICAgICAgICBCb29sZWFuT2JqZWN0KiBib29sZWFuID0gbmV3IChhbGxv
Y2F0ZUNlbGw8Qm9vbGVhbk9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgQm9vbGVhbk9iamVjdChn
bG9iYWxEYXRhLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgYm9vbGVhbi0+ZmluaXNoQ3JlYXRp
b24oZ2xvYmFsRGF0YSk7CisgICAgICAgICAgICByZXR1cm4gYm9vbGVhbjsKICAgICAgICAgfQog
ICAgICAgICAKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwCmluZGV4
IGRkMDE5NGYzZjVkMDkyYjA4ZWFjMjY2ZWE5Njk5NWQ1YjYzMTBmMWIuLjcxZGI5YzQ0MWVlNWUy
OWI5YThmMWNlNDk4NTdjZjZhYjlhNGVlYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwCkBAIC01Miw2ICs1MiwxMiBAQCBBU1NF
UlRfQ0xBU1NfRklUU19JTl9DRUxMKEJvb2xlYW5Qcm90b3R5cGUpOwogQm9vbGVhblByb3RvdHlw
ZTo6Qm9vbGVhblByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogQm9vbGVhbk9iamVjdChleGVj
LT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBn
bG9iYWxPYmplY3QpOworfQorCit2b2lkIEJvb2xlYW5Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCkpOwogICAgIHNldEludGVybmFs
VmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBqc0Jvb2xlYW4oZmFsc2UpKTsKIAogICAgIEFTU0VS
VChpbmhlcml0cygmc19pbmZvKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Cb29sZWFuUHJvdG90eXBlLmgKaW5kZXggMTRhMTYzOGUwYjJmNjI1OGE4NTVjNWY5MTk1ZGFk
YTFkODg0NGQ4My4uYjczN2RmZjcyODg1OTZmZWJiY2M4YWFkMWI2ZjhkZTEyZjZjYTNlYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaApA
QCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVj
dGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2Jq
ZWN0Kik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92
ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEJvb2xlYW5PYmplY3Q6OlN0cnVjdHVyZUZsYWdz
OwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgQW5vbnltb3VzU2xvdENvdW50ID0gQm9v
bGVhbk9iamVjdDo6QW5vbnltb3VzU2xvdENvdW50ICsgMTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOTk0NmZkMzdkYWY0
MzE2YjA4MDA5M2ExNTJiZGI3MTc1ODJmNTVlZi4uMjdkMGE5ZTQ5YmJlOWI0YzU5MDRmMTUwZTYy
ZWMyY2Y4OTQ0MmUwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGF0ZUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9E
YXRlQ29uc3RydWN0b3IuY3BwCkBAIC03NCw4ICs3NCwxNCBAQCBjb25zdCBDbGFzc0luZm8gRGF0
ZUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpz
X2luZgogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChEYXRlQ29uc3RydWN0b3IpOwogCiBEYXRl
Q29uc3RydWN0b3I6OkRhdGVDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBEYXRlUHJvdG90eXBlKiBk
YXRlUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgp
LCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBkYXRlUHJvdG90eXBl
LT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUpIAogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9i
amVjdCwgZGF0ZVByb3RvdHlwZSk7Cit9CisKK3ZvaWQgRGF0ZUNvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIERh
dGVQcm90b3R5cGUqIGRhdGVQcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIoZXhlYywgZGF0ZVBy
b3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3Rv
dHlwZSwgZGF0ZVByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwog
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+
cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoNyksIFJlYWRPbmx5IHwgRG9udEVudW0g
fCBEb250RGVsZXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0RhdGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZUNvbnN0cnVjdG9yLmgKaW5kZXggMWZlNzRjYzViZGY4OGRkZTc2ZGRlZWExZDNkZTY2ZjA4MWEz
NTg4MS4uNzU0NjU3NDA2NmQ3NjBkNWIzMmVlY2I3NjdmMDMzY2M5NjAwNzA3YyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKQEAgLTQ0LDYg
KzQ0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKKyAg
ICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIERh
dGVQcm90b3R5cGUqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZs
YWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6U3Ry
dWN0dXJlRmxhZ3M7CiAKICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVJbnN0YW5jZS5jcHAKaW5kZXggNmRmMzBkNzIwMTg4MTg2ZGUxMjIxMDNlMGQ4
ODBlN2Y4MmZmZjM0ZS4uMWI0YWRkODhkZjEwMTViMjMwYTU4MzliMTE1NjI3MjVhZjQ0MTFlZSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuY3BwCkBA
IC0zNywxMyArMzcsNiBAQCBjb25zdCBDbGFzc0luZm8gRGF0ZUluc3RhbmNlOjpzX2luZm8gPSB7
IkRhdGUiLCAmSlNXcmFwcGVyT2JqZWN0OjpzX2luZm8sIDAsIDB9OwogRGF0ZUluc3RhbmNlOjpE
YXRlSW5zdGFuY2UoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6
IEpTV3JhcHBlck9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsKLSAgICBm
aW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCkpOwotfQotCi1EYXRlSW5zdGFuY2U6OkRh
dGVJbnN0YW5jZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBkb3VibGUg
dGltZSkKLSAgICA6IEpTV3JhcHBlck9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVy
ZSkKLXsKLSAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIHRpbWUpOwogfQog
CiB2b2lkIERhdGVJbnN0YW5jZTo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3Rh
bmNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuaAppbmRl
eCBlYmM3ZGJmZjlmNjE0Mzc0MjY3MmEzNjlmZGVjMGFmNGQzYWI1MmI1Li5iZDM2ZWI3MzNhZWVk
ZWFiYjAzYjQwOTM5ZWYwMmY1ODNmYmJjZmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9EYXRlSW5zdGFuY2UuaApAQCAtMzEsNyArMzEsNiBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogICAgIGNsYXNzIERhdGVJbnN0YW5jZSA6IHB1YmxpYyBKU1dyYXBwZXJPYmplY3QgewogICAg
IHByb3RlY3RlZDoKLSAgICAgICAgRGF0ZUluc3RhbmNlKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSos
IGRvdWJsZSk7CiAgICAgICAgIERhdGVJbnN0YW5jZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKTsK
ICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmKTsKICAgICAgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmLCBkb3VibGUpOwpAQCAtNDEsMTMgKzQwLDE4
IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBEYXRlSW5zdGFuY2UqIGNyZWF0
ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBkb3VibGUgZGF0ZSkKICAg
ICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPERhdGVJbnN0YW5j
ZT4oKmV4ZWMtPmhlYXAoKSkpIERhdGVJbnN0YW5jZShleGVjLCBzdHJ1Y3R1cmUsIGRhdGUpOwor
ICAgICAgICAgICAgRGF0ZUluc3RhbmNlKiBpbnN0YW5jZSA9IG5ldyAoYWxsb2NhdGVDZWxsPERh
dGVJbnN0YW5jZT4oKmV4ZWMtPmhlYXAoKSkpIERhdGVJbnN0YW5jZShleGVjLCBzdHJ1Y3R1cmUp
OworICAgICAgICAgICAgaW5zdGFuY2UtPmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEo
KSwgZGF0ZSk7CisgICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7CiAgICAgICAgIH0KKwogICAg
ICAgICBzdGF0aWMgRGF0ZUluc3RhbmNlKiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2Nh
dGVDZWxsPERhdGVJbnN0YW5jZT4oKmV4ZWMtPmhlYXAoKSkpIERhdGVJbnN0YW5jZShleGVjLCBz
dHJ1Y3R1cmUpOworICAgICAgICAgICAgRGF0ZUluc3RhbmNlKiBpbnN0YW5jZSA9IG5ldyAoYWxs
b2NhdGVDZWxsPERhdGVJbnN0YW5jZT4oKmV4ZWMtPmhlYXAoKSkpIERhdGVJbnN0YW5jZShleGVj
LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgaW5zdGFuY2UtPmZpbmlzaENyZWF0aW9uKGV4ZWMt
Pmdsb2JhbERhdGEoKSk7CisgICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7CiAgICAgICAgIH0K
LSAgICAgICAgCisKICAgICAgICAgZG91YmxlIGludGVybmFsTnVtYmVyKCkgY29uc3QgeyByZXR1
cm4gaW50ZXJuYWxWYWx1ZSgpLnVuY2hlY2tlZEdldE51bWJlcigpOyB9CiAKICAgICAgICAgc3Rh
dGljIEpTX0VYUE9SVERBVEEgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAKaW5kZXggZGRhMjk0MTYzODQx
Y2RlZGM1NGY3Njk1N2Q0YWM4NGUzMGZhN2UyMS4uMTc2ZGM3ZWU5NTNiZmY3ZWViZTQ2ODIzNDg2
OTVkYjdhMzQ0NjgxZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGF0ZVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZVByb3RvdHlwZS5jcHAKQEAgLTQzMiw2ICs0MzIsMTIgQEAgY29uc3QgQ2xhc3NJbmZvIERhdGVQ
cm90b3R5cGU6OnNfaW5mbyA9IHsiRGF0ZSIsICZEYXRlSW5zdGFuY2U6OnNfaW5mbywgMCwgRXhl
Y1MKIERhdGVQcm90b3R5cGU6OkRhdGVQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IERhdGVJ
bnN0YW5jZShleGVjLCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xv
YmFsT2JqZWN0KTsKK30KKwordm9pZCBEYXRlUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBqc05hTigpKTsKICAgICBBU1NFUlQo
aW5oZXJpdHMoJnNfaW5mbykpOwogCiAgICAgLy8gVGhlIGNvbnN0cnVjdG9yIHdpbGwgYmUgYWRk
ZWQgbGF0ZXIsIGFmdGVyIERhdGVDb25zdHJ1Y3RvciBoYXMgYmVlbiBidWlsdC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuaAppbmRleCBiMzRjNmI2ZjIx
OGJhZmMwMzRmMGRjNDJjNjYwZGNhN2VjMTA2OTM5Li4xMDY5MDg1MjgyYWUyNWQ1YWZjYzg5Yjlh
YzkyMzE3MzEzZTAyMjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9EYXRlUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZVByb3RvdHlwZS5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9
CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRl
KiwgSlNHbG9iYWxPYmplY3QqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgRGF0ZUluc3RhbmNlOjpT
dHJ1Y3R1cmVGbGFnczsKIAogICAgICAgICBDT01QSUxFX0FTU0VSVCghRGF0ZUluc3RhbmNlOjpB
bm9ueW1vdXNTbG90Q291bnQsIERhdGVQcm90b3R5cGVfc3RvbXBzX29uX3lvdXJfYW5vbnltb3Vz
X3Nsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwCmluZGV4IDc4Njc1
MGJmMmZlMGNiMTEzNGIxYTJhZjY3MTIyNTEwZGU2MzQ1N2QuLjUwZDQ0ODM2NWJkYWIzNzJjZjQ1
ZjkyYmVkNzg5N2RiYWQ4YTJkZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ci5jcHAKQEAgLTE2OCw5ICsxNjgsMTAgQEAgSlNPYmplY3QqIHRocm93U3ludGF4RXJyb3IoRXhl
Y1N0YXRlKiBleGVjKQogY2xhc3MgU3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uIDogcHVibGlj
IEludGVybmFsRnVuY3Rpb24gewogcHJpdmF0ZToKICAgICBTdHJpY3RNb2RlVHlwZUVycm9yRnVu
Y3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgbWVzc2FnZSkKLSAgICAgICAgOiBJbnRl
cm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJl
LCBleGVjLT5nbG9iYWxEYXRhKCkucHJvcGVydHlOYW1lcy0+ZW1wdHlJZGVudGlmaWVyKQorICAg
ICAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgICAg
ICwgbV9tZXNzYWdlKG1lc3NhZ2UpCiAgICAgeworICAgICAgICBmaW5pc2hDcmVhdGlvbihleGVj
LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgZXhlYy0+Z2xvYmFsRGF0YSgpLnByb3BlcnR5
TmFtZXMtPmVtcHR5SWRlbnRpZmllcik7CiAgICAgfQogCiBwdWJsaWM6CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IGRmMTEy
ZGQyMjIxZjljOThmN2JkZTkwYmMwYmM4ZTkxMzAyNGJlMTEuLjkzOGY0MGFjMzYyMzM3MmIwMDUy
MzNiMzc2ZGQ1Y2M0YTJlYWZhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCkBAIC0zMCw4ICszMCwxNCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRXJyb3JDb25zdHJ1Y3Rvcik7CiAKIEVy
cm9yQ29uc3RydWN0b3I6OkVycm9yQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRXJyb3JQcm90b3R5
cGUqIGVycm9yUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFs
RGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBlcnJvclBy
b3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9u
KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGds
b2JhbE9iamVjdCwgZXJyb3JQcm90b3R5cGUpOworfQorCit2b2lkIEVycm9yQ29uc3RydWN0b3I6
OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgRXJyb3JQcm90b3R5cGUqIGVycm9yUHJvdG90eXBlKQoreworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyKGV4
ZWMsIGVycm9yUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSk7CiAgICAgLy8gRUNN
QSAxNS4xMS4zLjEgRXJyb3IucHJvdG90eXBlCiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBl
cnJvclByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVy
dHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoMSksIERvbnREZWxldGUgfCBSZWFkT25seSB8IERv
bnRFbnVtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3Ry
dWN0b3IuaAppbmRleCAzODc3YTZkMTEwNzg4OTkzNGExYzQxODg2MDNmODYwNTFhMDA5YjIxLi45
NDQyMTNmOTI1NDI1YjA2MTQ3NTMxZWZiMjM4NTA3NTI4MjNkOTAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCkBAIC0zNiw2ICszNiw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gbmV3IChh
bGxvY2F0ZUNlbGw8RXJyb3JDb25zdHJ1Y3Rvcj4oKmV4ZWMtPmhlYXAoKSkpIEVycm9yQ29uc3Ry
dWN0b3IoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGVyclByb3RvdHlwZSk7CiAgICAg
ICAgIH0KKworICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVj
U3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIEVycm9yUHJvdG90eXBlKik7CiAgICAgICAgIAogICAg
IHByaXZhdGU6CiAgICAgICAgIEVycm9yQ29uc3RydWN0b3IoRXhlY1N0YXRlKiwgSlNHbG9iYWxP
YmplY3QqLCBTdHJ1Y3R1cmUqLCBFcnJvclByb3RvdHlwZSopOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwCmluZGV4IDY5ODY3NTI0YzRjZTdl
ZjVjNzYzYjZhNTI3MmU3MTZjZTg0OTU3OWMuLjJhOWI5YTliMDQwYTU0NTI4ODVkODQxNWVkMDFh
MmVjMWFkYzYzMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9yUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
clByb3RvdHlwZS5jcHAKQEAgLTUwLDEwICs1MCw5IEBAIGNvbnN0IENsYXNzSW5mbyBFcnJvclBy
b3RvdHlwZTo6c19pbmZvID0geyAiRXJyb3IiLCAmRXJyb3JJbnN0YW5jZTo6c19pbmZvLCAwLCBF
CiAKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRXJyb3JQcm90b3R5cGUpOwogCi1FcnJvclBy
b3RvdHlwZTo6RXJyb3JQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK0Vycm9yUHJvdG90eXBlOjpFcnJv
clByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDog
RXJyb3JJbnN0YW5jZShleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsKLSAgICBmaW5p
c2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIEVycm9yUHJvdG90eXBl
OjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclBy
b3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUu
aAppbmRleCAwZDBmZDMwNzk0MDZjNTk2Mjc2YjU2ZGYyZmE0ZjY3MGRlZjA2ZDYzLi45MzQ4NGMy
NzQ2NWU0ZDkxNTU0OWYxNWUxMDg3M2ZlYzU5OGRkYWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKQEAgLTMzLDcgKzMzLDkgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIEVycm9yUHJvdG90eXBlKiBjcmVhdGUoRXhlY1N0
YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPEVy
cm9yUHJvdG90eXBlPigqZXhlYy0+aGVhcCgpKSkgRXJyb3JQcm90b3R5cGUoZXhlYywgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgRXJyb3JQcm90b3R5cGUqIHByb3RvdHlw
ZSA9IG5ldyAoYWxsb2NhdGVDZWxsPEVycm9yUHJvdG90eXBlPigqZXhlYy0+aGVhcCgpKSkgRXJy
b3JQcm90b3R5cGUoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIHByb3RvdHlwZS0+Zmlu
aXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBwcm90
b3R5cGU7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0lu
Zm8gc19pbmZvOwpAQCAtNDQsNyArNDYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQog
CiAgICAgcHJvdGVjdGVkOgotICAgICAgICBFcnJvclByb3RvdHlwZShFeGVjU3RhdGUqLCBKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSopOworICAgICAgICBFcnJvclByb3RvdHlwZShFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmUqKTsKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUq
LCBKU0dsb2JhbE9iamVjdCopOwogCiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEVycm9ySW5zdGFuY2U6
OlN0cnVjdHVyZUZsYWdzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcAppbmRleCA1MGQ5YjVmN2RhNmVlYzIzM2EyOWFlY2Fj
MGY4YmIzNmYzNDAwYzk0Li44Y2YwZDJhNjliOTA3OTlkODczMjRkOThhZGE3OTU4NTIxOTMxMjQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0
cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNv
bnN0cnVjdG9yLmNwcApAQCAtMzgsOCArMzgsMTQgQEAgbmFtZXNwYWNlIEpTQyB7CiBBU1NFUlRf
Q0xBU1NfRklUU19JTl9DRUxMKEZ1bmN0aW9uQ29uc3RydWN0b3IpOwogCiBGdW5jdGlvbkNvbnN0
cnVjdG9yOjpGdW5jdGlvbkNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEZ1bmN0aW9uUHJvdG90eXBl
KiBmdW5jdGlvblByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2Jh
bERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgZnVuY3Rp
b25Qcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKQorICAgIDogSW50ZXJuYWxGdW5j
dGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVj
LCBnbG9iYWxPYmplY3QsIGZ1bmN0aW9uUHJvdG90eXBlKTsKK30KKwordm9pZCBGdW5jdGlvbkNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEZ1bmN0aW9uUHJvdG90eXBlKiBmdW5jdGlvblByb3RvdHlwZSkKK3sK
KyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVj
dCwgSWRlbnRpZmllcihleGVjLCBmdW5jdGlvblByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNz
TmFtZSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEo
KSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwgZnVuY3Rpb25Qcm90b3R5cGUsIERv
bnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKIAogICAgIC8vIE51bWJlciBvZiBhcmd1
bWVudHMgZm9yIGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmgKaW5kZXggOWM1NWQ4ODg5ZDBkOWFhNDA2OWQ4MWU4
ZmM3ZDkwNmE1MTgxYjM1YS4uZTk3YzUzZmZlNzdkMTExMmJmNGIwNzY1MmM1Mjg2YjRkMDYxNTM1
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29u
c3RydWN0b3IuaApAQCAtMzgsNiArMzgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHByaXZh
dGU6CiAgICAgICAgIEZ1bmN0aW9uQ29uc3RydWN0b3IoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmpl
Y3QqLCBTdHJ1Y3R1cmUqLCBGdW5jdGlvblByb3RvdHlwZSopOworICAgICAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgRnVuY3Rpb25Qcm90b3R5cGUq
KTsKICAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoQ29uc3Ry
dWN0RGF0YSYpOwogICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRhKENhbGxEYXRh
Jik7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1
bmN0aW9uUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uUHJvdG90eXBlLmNwcAppbmRleCA5NmNkNjc3M2JjZWM1YTgxMWRjYjQxNzc3NTUzNDEwMmUy
NTFiZGUyLi4wMGY4YjI1ZWRlM2NjYzkxMjkzZGM3MzM1OWUxMWJjY2ZlZmMxODYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3Bw
CkBAIC0zOCw4ICszOCwxNCBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBm
dW5jdGlvblByb3RvRnVuY0FwcGx5KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25Qcm90b0Z1bmNDYWxsKEV4ZWNTdGF0ZSopOwogCiBGdW5j
dGlvblByb3RvdHlwZTo6RnVuY3Rpb25Qcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEludGVy
bmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUs
IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5udWxsSWRlbnRpZmllcikKKyAgICA6IEludGVybmFsRnVu
Y3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhl
YywgZ2xvYmFsT2JqZWN0LCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubnVsbElkZW50aWZpZXIpOwor
fQorCit2b2lkIEZ1bmN0aW9uUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4
ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImIG5hbWUp
Cit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxP
YmplY3QsIG5hbWUpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2Jh
bERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoMCksIERvbnRE
ZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmgKaW5kZXggZTcwMTgyZjMxM2E3NmNk
NjIwMTdmNDljZThhZTQwNzMxMzVkZWU1ZS4uOTcyNmM5ODQ2NDIyMjUyNzhjNmEwZWU3ZDYwOTdh
NzAxNmNlMDFlNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25Qcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvblByb3RvdHlwZS5oCkBAIC00MSw2ICs0MSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCwg
cHJvdG8sIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgQW5vbnltb3VzU2xv
dENvdW50LCAmc19pbmZvKTsKICAgICAgICAgfQogCisgICAgcHJvdGVjdGVkOgorICAgICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgSWRl
bnRpZmllciYgbmFtZSk7CisKICAgICBwcml2YXRlOgogICAgICAgICBGdW5jdGlvblByb3RvdHlw
ZShFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgICAgICB2aXJ0
dWFsIENhbGxUeXBlIGdldENhbGxEYXRhKENhbGxEYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCmluZGV4IDA3YzBmN2Y1YmY2
NWEzZTc1NmI1MWMyNDAzN2NhY2MzM2M0MmU2MjIuLjVlNzY0NjExNjhmYmIwYTExYjM5NmMzMTM2
ZTI2YzhiNTAxMTRjZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGVybmFsRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGVybmFsRnVuY3Rpb24uY3BwCkBAIC00MSwxMCArNDEsOSBAQCBJbnRlcm5hbEZ1bmN0aW9u
OjpJbnRlcm5hbEZ1bmN0aW9uKFZQdHJTdGVhbGluZ0hhY2tUeXBlKQogewogfQogCi1JbnRlcm5h
bEZ1bmN0aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IElk
ZW50aWZpZXImIG5hbWUpCitJbnRlcm5hbEZ1bmN0aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNP
YmplY3RXaXRoR2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewotICAgIGZp
bmlzaENyZWF0aW9uKCpnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIG5hbWUpOwogfQogCiB2b2lk
IEludGVybmFsRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0
YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rp
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaApp
bmRleCA3NDYxZTY2Y2NiNTQwNWI3MGUzYjc1NmM1NTkwYjE3MDJlYjQ2ODI5Li4zMzE1NjQwZDhm
MWM1MTRjNTNhYTAxNmE1NjBkMjFkMjRhYzk3YThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oCkBAIC01Miw3ICs1Miw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICAvLyBPbmx5IHVzZWQgdG8gYWxsb3cgdXMgdG8gZGV0ZXJtaW5l
IHRoZSBKU0Z1bmN0aW9uIHZwdHIKICAgICAgICAgSW50ZXJuYWxGdW5jdGlvbihWUHRyU3RlYWxp
bmdIYWNrVHlwZSk7CiAKLSAgICAgICAgSW50ZXJuYWxGdW5jdGlvbihKU0dsb2JhbERhdGEqLCBK
U0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIGNvbnN0IElkZW50aWZpZXImKTsKKyAgICAgICAg
SW50ZXJuYWxGdW5jdGlvbihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogCiAgICAgICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgSlNHbG9iYWxPYmplY3QqLCBjb25z
dCBJZGVudGlmaWVyJiBuYW1lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQWN0aXZhdGlvbi5jcHAKaW5kZXggNWM5OWQ3YTY1NDM4ZDFjZTc5ZGM3Y2I1MDVhODU3N2Ez
ZjY5N2JlYi4uZGJjOTY3ZTAzNjc2ZmE3MjQwM2VlZjY5NWQ1NDk3MWM4ZmJkODg1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwCkBAIC00Niw3
ICs0Niw2IEBAIEpTQWN0aXZhdGlvbjo6SlNBY3RpdmF0aW9uKENhbGxGcmFtZSogY2FsbEZyYW1l
LCBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRXhlCiAgICAgLCBtX3JlcXVpcmVzRHluYW1p
Y0NoZWNrcyhmdW5jdGlvbkV4ZWN1dGFibGUtPnVzZXNFdmFsKCkpCiAgICAgLCBtX2FyZ3VtZW50
c1JlZ2lzdGVyKGZ1bmN0aW9uRXhlY3V0YWJsZS0+Z2VuZXJhdGVkQnl0ZWNvZGUoKS5hcmd1bWVu
dHNSZWdpc3RlcigpKQogewotICAgIGZpbmlzaENyZWF0aW9uKGNhbGxGcmFtZSk7CiB9CiAKIHZv
aWQgSlNBY3RpdmF0aW9uOjpmaW5pc2hDcmVhdGlvbihDYWxsRnJhbWUqIGNhbGxGcmFtZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgKaW5kZXggN2U4ZmQ5
ODI2YTk3YjcyMDUyNTE0MzA4NmQyZjE0ODIzNDdjMDYwYy4uNzAxZTIxOGVhYWQ4ZWIwNjM0YjA1
ZTk3MmIxMTJjNDI0MDc4MjA1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBY3RpdmF0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBY3RpdmF0aW9uLmgKQEAgLTQ4LDcgKzQ4LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAg
ICAgc3RhdGljIEpTQWN0aXZhdGlvbiogY3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY0V4ZWMpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxKU0FjdGl2YXRpb24+
KGdsb2JhbERhdGEuaGVhcCkpIEpTQWN0aXZhdGlvbihjYWxsRnJhbWUsIGZ1bmNFeGVjKTsKKyAg
ICAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbiA9IG5ldyAoYWxsb2NhdGVDZWxsPEpT
QWN0aXZhdGlvbj4oZ2xvYmFsRGF0YS5oZWFwKSkgSlNBY3RpdmF0aW9uKGNhbGxGcmFtZSwgZnVu
Y0V4ZWMpOworICAgICAgICAgICAgYWN0aXZhdGlvbi0+ZmluaXNoQ3JlYXRpb24oY2FsbEZyYW1l
KTsKKyAgICAgICAgICAgIHJldHVybiBhY3RpdmF0aW9uOwogICAgICAgICB9CiAKICAgICAgICAg
dmlydHVhbCB+SlNBY3RpdmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCAzMzAxODdlZWQ2OTgxNWYzZGQxZDc1NTEzODRhNzU3
MDU5ZTYzMDQ3Li5kMGE4MDJlZGUwNjZlNjhmOGVmNjFhMjE5NDVhZWE0Y2U0ODE3NGM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTE0
Niw3ICsxNDYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgSlNHbG9iYWxP
YmplY3QqIGNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0
dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNH
bG9iYWxPYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEs
IHN0cnVjdHVyZSk7CisgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
bmV3IChhbGxvY2F0ZUNlbGw8SlNHbG9iYWxPYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIEpTR2xv
YmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBnbG9iYWxPYmpl
Y3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCk7CisgICAgICAgICAg
ICByZXR1cm4gZ2xvYmFsT2JqZWN0OwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIEpTX0VY
UE9SVERBVEEgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKQEAgLTE1OSwxNyArMTYxLDYgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAsIG1fd2Vha1JhbmRvbShzdGF0aWNfY2FzdDx1bnNp
Z25lZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1h
eCgpICsgMS4wKSkpCiAgICAgICAgICAgICAsIG1fZXZhbEVuYWJsZWQodHJ1ZSkKICAgICAgICAg
ewotICAgICAgICAgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhpcyk7Ci0gICAgICAg
IH0KLQotICAgICAgICBKU0dsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBKU09iamVjdCogdGhpc1ZhbHVlKQotICAgICAgICAgICAgOiBK
U1ZhcmlhYmxlT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSwgJm1fc3ltYm9sVGFibGUsIDAp
Ci0gICAgICAgICAgICAsIG1fcmVnaXN0ZXJBcnJheVNpemUoMCkKLSAgICAgICAgICAgICwgbV9n
bG9iYWxTY29wZUNoYWluKCkKLSAgICAgICAgICAgICwgbV93ZWFrUmFuZG9tKHN0YXRpY19jYXN0
PHVuc2lnbmVkPihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVk
Pjo6bWF4KCkgKyAxLjApKSkKLSAgICAgICAgICAgICwgbV9ldmFsRW5hYmxlZCh0cnVlKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzVmFsdWUp
OwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTT2JqZWN0KiB0aGlzVmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCmluZGV4IDE3MzE1MmIyOTE5M2RmMjAyNDU4MTIzNzY3
NjhmYmQ4OWRlNzM2MGMuLjExMjE0NjgzN2FlMmZkMGJjYTlhNjM3ZTVmMTc4NTY0M2MwYzY0YzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC01
Niw3ICs1Niw2IEBAIG5hbWVzcGFjZSBKU0MgewogSlNPTk9iamVjdDo6SlNPTk9iamVjdChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpT
T2JqZWN0V2l0aEdsb2JhbE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKLSAgICBm
aW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIEpTT05PYmplY3Q6OmZpbmlz
aENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09OT2JqZWN0LmgKaW5kZXggYzM1NTE2OTJjYTY3MDNhNjMzMmRmNDBm
Y2VkN2RjM2UzMDMyZWMzMC4uZTY5YzNiYzBiOTRkOTQwY2I1N2NmMWZmYjUzNDdjODQ1ZTVjNGUz
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaApAQCAtMzgs
NyArMzgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgSlNPTk9iamVjdCog
Y3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFs
bG9jYXRlQ2VsbDxKU09OT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNPTk9iamVjdChnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBKU09OT2JqZWN0KiBvYmplY3QgPSBuZXcg
KGFsbG9jYXRlQ2VsbDxKU09OT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNPTk9iamVjdChnbG9i
YWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9u
KGdsb2JhbE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAg
ICAgICAgIAogICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVl
IHByb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
U3RhdGljU2NvcGVPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3Rh
dGljU2NvcGVPYmplY3QuaAppbmRleCA2Y2YzNTc1YWI2ODgwZGQxMmViYzZhNTY5ZThlYjA4ZWI0
NDQwNWU2Li4yMjU2Mzg2NTE3NDA1NWRjMzA5YTU0ODdhYjZjOTE5ZGJkMGRmMmM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVjdC5o
CkBAIC0zNiw3ICszNiw5IEBAIG5hbWVzcGFjZSBKU0N7CiAKICAgICAgICAgc3RhdGljIEpTU3Rh
dGljU2NvcGVPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIm
IGlkZW50aWZpZXIsIEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpCiAgICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxKU1N0YXRpY1Njb3BlT2Jq
ZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNTdGF0aWNTY29wZU9iamVjdChleGVjLCBpZGVudGlmaWVy
LCB2YWx1ZSwgYXR0cmlidXRlcyk7CisgICAgICAgICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0KiBz
Y29wZU9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPEpTU3RhdGljU2NvcGVPYmplY3Q+KCpleGVj
LT5oZWFwKCkpKSBKU1N0YXRpY1Njb3BlT2JqZWN0KGV4ZWMpOworICAgICAgICAgICAgc2NvcGVP
YmplY3QtPmZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50aWZpZXIsIHZhbHVlLCBhdHRyaWJ1dGVz
KTsKKyAgICAgICAgICAgIHJldHVybiBzY29wZU9iamVjdDsKICAgICAgICAgfQogCiAgICAgICAg
IHZpcnR1YWwgdm9pZCB2aXNpdENoaWxkcmVuKFNsb3RWaXNpdG9yJik7CkBAIC01OSwxMCArNjEs
OSBAQCBuYW1lc3BhY2UgSlNDewogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBJc0Vudmlyb25tZW50UmVjb3JkIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlT
bG90IHwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbiB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMg
fCBKU1ZhcmlhYmxlT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHByaXZhdGU6Ci0gICAg
ICAgIEpTU3RhdGljU2NvcGVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVy
JiBpZGVudGlmaWVyLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKQorICAgICAg
ICBKU1N0YXRpY1Njb3BlT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgIDogSlNW
YXJpYWJsZU9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPmdsb2JhbERhdGEoKS5zdGF0
aWNTY29wZVN0cnVjdHVyZS5nZXQoKSwgJm1fc3ltYm9sVGFibGUsIHJlaW50ZXJwcmV0X2Nhc3Q8
UmVnaXN0ZXIqPigmbV9yZWdpc3RlclN0b3JlICsgMSkpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IGZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50aWZpZXIsIHZhbHVlLCBhdHRyaWJ1dGVzKTsKICAg
ICAgICAgfQogICAgICAgICAKICAgICAgICAgU3ltYm9sVGFibGUgbV9zeW1ib2xUYWJsZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcAppbmRleCBiZDM1NWY3NjZh
YjRlM2I2OWYzMmM5ZWQyODNkZmMwOWQ5M2JjMTQ5Li40N2RiMWZmODAzMzBmOWJmMmVlNTNmNDFh
YTI3NGU3YmQzZjRmMTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1N0cmluZy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJp
bmcuY3BwCkBAIC0yOTgsNyArMjk4LDkgQEAgVVN0cmluZyBKU1N0cmluZzo6dG9TdHJpbmcoRXhl
Y1N0YXRlKiBleGVjKSBjb25zdAogCiBpbmxpbmUgU3RyaW5nT2JqZWN0KiBTdHJpbmdPYmplY3Q6
OmNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
U3RyaW5nKiBzdHJpbmcpCiB7Ci0gICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFN0cmluZ09i
amVjdD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIGds
b2JhbE9iamVjdC0+c3RyaW5nT2JqZWN0U3RydWN0dXJlKCksIHN0cmluZyk7CisgICAgU3RyaW5n
T2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxTdHJpbmdPYmplY3Q+KCpleGVjLT5o
ZWFwKCkpKSBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QtPnN0
cmluZ09iamVjdFN0cnVjdHVyZSgpKTsKKyAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGV4ZWMt
Pmdsb2JhbERhdGEoKSwgc3RyaW5nKTsKKyAgICByZXR1cm4gb2JqZWN0OwogfQogCiBKU09iamVj
dCogSlNTdHJpbmc6OnRvT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL01hdGhPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9i
amVjdC5jcHAKaW5kZXggNWVjNTZhMzZlNzM3NTU5YTMwZGZiMTIwOGEwYzEzY2ViYTk4N2I2ZC4u
YTRlNzU5NmY3NDNlNzM2OTg2ODc2ZGVjMDlkMDU3MGEwYzQzYWVlNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKQEAgLTg0LDEwICs4NCw5IEBAIGNv
bnN0IENsYXNzSW5mbyBNYXRoT2JqZWN0OjpzX2luZm8gPSB7ICJNYXRoIiwgJkpTT2JqZWN0V2l0
aEdsb2JhbE9iamVjdDo6c19pbmZvCiBAZW5kCiAqLwogCi1NYXRoT2JqZWN0OjpNYXRoT2JqZWN0
KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCitNYXRoT2JqZWN0OjpNYXRoT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNPYmplY3RXaXRoR2xvYmFs
T2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewotICAgIGZpbmlzaENyZWF0aW9uKGV4
ZWMsIGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgTWF0aE9iamVjdDo6ZmluaXNoQ3JlYXRpb24o
RXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oCmluZGV4IGU0MTBhNmVlOWE3N2YwYjA3
NTMyZGZkODg0YWY5ZDNmOTA0NjJjZTMuLjc4YjYyYjNlZWMxMDhjNzUxYWI2MzgwN2JmZjc2YmU2
NzkyZTZmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhP
YmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmgK
QEAgLTI3LDE0ICsyNywxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIE1hdGhPYmpl
Y3QgOiBwdWJsaWMgSlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0IHsKICAgICBwcml2YXRlOgotICAg
ICAgICBNYXRoT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7
CisgICAgICAgIE1hdGhPYmplY3QoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKIAogICAg
IHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBKU09iamVjdFdpdGhHbG9iYWxPYmplY3QgQmFzZTsK
IAogICAgICAgICBzdGF0aWMgTWF0aE9iamVjdCogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxNYXRoT2JqZWN0PigqZXhl
Yy0+aGVhcCgpKSkgTWF0aE9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7Cisg
ICAgICAgICAgICBNYXRoT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxNYXRoT2Jq
ZWN0PigqZXhlYy0+aGVhcCgpKSkgTWF0aE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7
CisgICAgICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7
CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFBy
b3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3ImKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29u
c3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggOGM2NmY3ZWFmNTUyYjJjNTY5YTZlYmZkNjNhMDI0MTk1NDBh
MmM3ZC4uNTM3YTQ1NzZjNzAyM2MwOTcwMjVhMmJjMDhlNmZiNGEzZDlmNjA2MyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKQEAgLTMzLDkgKzMzLDkgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChOYXRp
dmVFcnJvckNvbnN0cnVjdG9yKTsKIGNvbnN0IENsYXNzSW5mbyBOYXRpdmVFcnJvckNvbnN0cnVj
dG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2luZm8sIDAs
IDAgfTsKIAogTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6TmF0aXZlRXJyb3JDb25zdHJ1Y3RvcihF
eGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYg
bmFtZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgbmFtZSkpCisgICAgOiBJbnRlcm5h
bEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewotICAgIGNvbnN0cnVjdG9yQm9k
eShleGVjLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZVN0cnVjdHVyZSwgbmFtZSk7CisgICAgZmlu
aXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGVTdHJ1Y3R1cmUsIG5hbWUp
OwogfQogCiB2b2lkIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6OnZpc2l0Q2hpbGRyZW4oU2xvdFZp
c2l0b3ImIHZpc2l0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggYTM5ZDgxNGZhM2RmM2Q1NDQ3MWVjMzM1
NTRlYmRhMmY4ZDU1YmFmNS4uMWQ0OTQyZDY4NWMyODhhZTMyMDYwMjczM2UwN2I1ZGI4M2I5YjMx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JD
b25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVy
cm9yQ29uc3RydWN0b3IuaApAQCAtNDksOCArNDksOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSgpIHsgcmV0dXJuIG1fZXJyb3JTdHJ1Y3R1cmUu
Z2V0KCk7IH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdm9pZCBjb25zdHJ1Y3RvckJvZHko
RXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUq
IHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgbmFtZSkKKyAgICAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBuYW1lKQog
ICAgICAgICB7CisgICAgICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxE
YXRhKCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCBuYW1lKSk7CiAgICAgICAgICAg
ICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogCiAgICAgICAgICAgICBOYXRpdmVFcnJvclBy
b3RvdHlwZSogcHJvdG90eXBlID0gTmF0aXZlRXJyb3JQcm90b3R5cGU6OmNyZWF0ZShleGVjLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZVN0cnVjdHVyZSwgbmFtZSwgdGhpcyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5jcHAK
aW5kZXggZTVmZTdjYzA1MmYwODZhNmNhNTVlNWVlYTU5YWQ5NDk4OTVjYjc5Zi4uOGExNTMwYjdk
NTcxZmM2MmU5ZTc0YmZlN2MwOGU0M2I0NTM2OGFmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmNwcApAQCAtMzAsMTYg
KzMwLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE5h
dGl2ZUVycm9yUHJvdG90eXBlKTsKIAotTmF0aXZlRXJyb3JQcm90b3R5cGU6Ok5hdGl2ZUVycm9y
UHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG5hbWUsIE5hdGl2ZUVycm9yQ29u
c3RydWN0b3IqIGNvbnN0cnVjdG9yKQotICAgIDogRXJyb3JQcm90b3R5cGUoZXhlYywgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUpCitOYXRpdmVFcnJvclByb3RvdHlwZTo6TmF0aXZlRXJyb3JQcm90
b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgbmFtZUFuZE1lc3NhZ2UsIE5hdGl2ZUVy
cm9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yKQorICAgIDogRXJyb3JQcm90b3R5cGUoZXhlYywg
c3RydWN0dXJlKQogewotICAgIGNvbnN0cnVjdG9yQm9keShleGVjLCBuYW1lLCBjb25zdHJ1Y3Rv
cik7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBuYW1lQW5kTWVzc2Fn
ZSwgY29uc3RydWN0b3IpOwogfQogCi1pbmxpbmUgdm9pZCBOYXRpdmVFcnJvclByb3RvdHlwZTo6
Y29uc3RydWN0b3JCb2R5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgVVN0cmluZyYgbmFtZSwgTmF0
aXZlRXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IpCitpbmxpbmUgdm9pZCBOYXRpdmVFcnJv
clByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBjb25zdCBVU3RyaW5nJiBuYW1lQW5kTWVzc2FnZSwgTmF0aXZlRXJy
b3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IpCiB7Ci0gICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm5hbWUsIGpzU3RyaW5nKGV4ZWMsIG5hbWUp
LCBEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJv
cGVydHlOYW1lcygpLm1lc3NhZ2UsIGpzRW1wdHlTdHJpbmcoZXhlYyksIERvbnRFbnVtKTsKKyAg
ICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QpOworICAgIHB1dERpcmVj
dChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5uYW1lLCBqc1N0cmlu
ZyhleGVjLCBuYW1lQW5kTWVzc2FnZSksIERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3QoZXhlYy0+
Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubWVzc2FnZSwganNTdHJpbmcoZXhl
YywgbmFtZUFuZE1lc3NhZ2UpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCBjb25zdHJ1Y3Rvciwg
RG9udEVudW0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TmF0aXZlRXJyb3JQcm90b3R5cGUuaAppbmRleCAzMzQ5MmJkOGRmMzI5NzVlMWE4ZjQ3ZmQxY2Ez
YjBiYTA3YTI0OWEyLi5kODk0YWI0ZjM1MzA2YThmYTc5YmVhOWFjNGU5NzE3OGZmNzVkMDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3Rv
dHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJv
dG90eXBlLmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAog
ICAgIHByb3RlY3RlZDoKLSAgICAgICAgdm9pZCBjb25zdHJ1Y3RvckJvZHkoRXhlY1N0YXRlKiwg
Y29uc3QgVVN0cmluZyYgbmFtZSwgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvciopOworICAgICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgVVN0
cmluZyYgbmFtZUFuZE1lc3NhZ2UsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IqKTsKICAgICB9Owog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAppbmRleCA0YjdmNjgzNmYxYWYzOGUzOTQ4MTU2YmQz
YjEwYWE1NGI0N2I2NjkxLi5kZGU2NDI0MDZiMjFlN2ViZGYyM2VhOWUwMjRhNTQ0M2M3NTAzZTNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3Ry
dWN0b3IuY3BwCkBAIC01NSw4ICs1NSwxNCBAQCBjb25zdCBDbGFzc0luZm8gTnVtYmVyQ29uc3Ry
dWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaQogKi8K
IAogTnVtYmVyQ29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE51bWJl
clByb3RvdHlwZSogbnVtYmVyUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhl
Yy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVj
LCBudW1iZXJQcm90b3R5cGUtPnNfaW5mby5jbGFzc05hbWUpKQorICAgIDogSW50ZXJuYWxGdW5j
dGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkgCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhl
YywgZ2xvYmFsT2JqZWN0LCBudW1iZXJQcm90b3R5cGUpOworfQorCit2b2lkIE51bWJlckNvbnN0
cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIE51bWJlclByb3RvdHlwZSogbnVtYmVyUHJvdG90eXBlKQoreworICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBJZGVu
dGlmaWVyKGV4ZWMsIG51bWJlclByb3RvdHlwZS0+c19pbmZvLmNsYXNzTmFtZSkpOwogICAgIEFT
U0VSVChpbmhlcml0cygmc19pbmZvKSk7CiAKICAgICAvLyBOdW1iZXIuUHJvdG90eXBlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaAppbmRl
eCA3NWQzMzdhMzAwNjgyYTk0NjliMzgxNWZmY2U5YTA3YmI0YjE1NWNkLi45MWU1MGYyNzU4NTM3
Y2IyYTlhZjUyMGQzMzBlNGFmMTg1Y2I0ZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKQEAgLTUwLDYgKzUwLDcgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIGVudW0geyBOYU5WYWx1ZSwgTmVnSW5maW5pdHksIFBvc0luZmlu
aXR5LCBNYXhWYWx1ZSwgTWluVmFsdWUgfTsKIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIE51bWJlclByb3Rv
dHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBP
dmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBsZW1lbnRzSGFzSW5zdGFuY2UgfCBJbnRl
cm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcAppbmRleCAyMjY3NmQwZmZh
OGNjNzQ2YWQxNmQ2ZTQyOGYzYmM4Y2Q3MGQ3NjJkLi5jZmJjMjNjNjI5OWUzOWM2ZDk5ZDM3ZTQw
ZjZhMjM3NzFiYjRiNmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OdW1iZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051
bWJlck9iamVjdC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAgY29uc3QgQ2xhc3NJbmZvIE51bWJlck9i
amVjdDo6c19pbmZvID0geyAiTnVtYmVyIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLAog
TnVtYmVyT2JqZWN0OjpOdW1iZXJPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTV3JhcHBlck9iamVjdChnbG9iYWxEYXRhLCBzdHJ1
Y3R1cmUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CiB9CiAKIHZvaWQgTnVt
YmVyT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5oCmluZGV4IDlhMDUxMTMx
YjJmMjkwN2I4ZWZjZDZlM2VhNTM1MGE2NGJhNjhmMDEuLmU2Y2Q0Y2YzODFjYzU5MjY2YzA1NTQ1
YzhiYTI0NDkxZjVhZmM4NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bWJlck9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051
bWJlck9iamVjdC5oCkBAIC0zNSw3ICszNSw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAg
IHN0YXRpYyBOdW1iZXJPYmplY3QqIGNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChh
bGxvY2F0ZUNlbGw8TnVtYmVyT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBOdW1iZXJPYmplY3Qo
Z2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIE51bWJlck9iamVjdCogbnVtYmVy
ID0gbmV3IChhbGxvY2F0ZUNlbGw8TnVtYmVyT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBOdW1i
ZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIG51bWJlci0+Zmlu
aXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CisgICAgICAgICAgICByZXR1cm4gbnVtYmVyOwogICAg
ICAgICB9CiAKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcAppbmRleCBk
NzQ0MTYyNmUxMTFhMmJjYzFkM2ExNjA2YzgxNTRhYmEwYTBjYzA2Li41YzRkODNkZjVmNzcyODg3
YzQxY2EwZWJhMWQwZjA2MGYwOWYwYWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAKQEAgLTY5LDYgKzY5LDEyIEBAIEFTU0VSVF9D
TEFTU19GSVRTX0lOX0NFTEwoTnVtYmVyUHJvdG90eXBlKTsKIE51bWJlclByb3RvdHlwZTo6TnVt
YmVyUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBOdW1iZXJPYmplY3QoZXhlYy0+Z2xvYmFs
RGF0YSgpLCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2Jq
ZWN0KTsKK30KKwordm9pZCBOdW1iZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCkpOwogICAgIHNldEludGVybmFsVmFsdWUoZXhl
Yy0+Z2xvYmFsRGF0YSgpLCBqc051bWJlcigwKSk7CiAKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNf
aW5mbykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVy
UHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5
cGUuaAppbmRleCAzZWFkZTZjNjg4ZTg2MDFlMmNmYTQ0OWFmNDM3MmQ0YjUwMzhkZDFiLi4yMjVi
NTE1OTY3MGIwZWIzMDZlOTk2MGM2NGE3MGIzZDIxMGRlODZhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuaApAQCAtNDIsNiArNDIsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3Bl
cnR5U2xvdCB8IE51bWJlck9iamVjdDo6U3RydWN0dXJlRmxhZ3M7CiAgICAgICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBBbm9ueW1vdXNTbG90Q291bnQgPSBOdW1iZXJPYmplY3Q6OkFub255bW91
c1Nsb3RDb3VudCArIDE7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09iamVjdENvbnN0cnVjdG9yLmNwcAppbmRleCBjMzI1ZmEwNzBiMWY3YmI5NDYwYzIxOGIyMGI2
MmU3OGJiZDRiOGE1Li5kNDc0MzBlZjI5MzdjMmQ0YTc0MDBlN2I1N2JhYTIxOGFmMDMyNTBiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0
b3IuY3BwCkBAIC03Niw4ICs3NiwxNCBAQCBjb25zdCBDbGFzc0luZm8gT2JqZWN0Q29uc3RydWN0
b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaQogKi8KIAog
T2JqZWN0Q29uc3RydWN0b3I6Ok9iamVjdENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE9iamVjdFBy
b3RvdHlwZSogb2JqZWN0UHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+
Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCAi
T2JqZWN0IikpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJl
KQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgb2JqZWN0UHJvdG90
eXBlKTsKK30KKwordm9pZCBPYmplY3RDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0
YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBPYmplY3RQcm90b3R5cGUq
IG9iamVjdFByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9i
YWxEYXRhKCksIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcihleGVjLCAiT2JqZWN0IikpOwogICAg
IC8vIEVDTUEgMTUuMi4zLjEKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIG9iamVjdFByb3Rv
dHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIC8vIG5vLiBvZiBh
cmd1bWVudHMgZm9yIGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaAppbmRleCAzODNmNDAyOWY5NjQ4OGQyYjE4MzJiOWYw
NDE4YmMzMGNhZmNmZDBmLi45ZmM3YTA2OTYyYzIxMDZhMDg4NDc0MDU2MDQxNjZjMThkODM0ODMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVj
dG9yLmgKQEAgLTQ3LDYgKzQ3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAg
IHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0ds
b2JhbE9iamVjdCosIE9iamVjdFByb3RvdHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbnRl
cm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKaW5kZXgg
YzhhMTMzYjQyNTY4NzMxNWZmNmU4MjFjMGJhMjdhNTdhMTVhMzNlYS4uODI1OWI2ZTUwOGUzNjQ1
NDBhMGIxNDhhYTRmZjRjZTRjM2RhZDdkZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcApAQCAtOTYsOSArOTYsMTUgQEAgY29u
c3QgQ2xhc3NJbmZvIFJlZ0V4cENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJ
bnRlcm5hbEZ1bmN0aW9uOjpzX2kKICovCiAKIFJlZ0V4cENvbnN0cnVjdG9yOjpSZWdFeHBDb25z
dHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4cFByb3RvdHlwZSkKLSAg
ICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBz
dHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgIlJlZ0V4cCIpKQorICAgIDogSW50ZXJuYWxGdW5j
dGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAsIGQoYWRvcHRQdHIobmV3IFJlZ0V4
cENvbnN0cnVjdG9yUHJpdmF0ZSkpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFs
T2JqZWN0LCByZWdFeHBQcm90b3R5cGUpOworfQorCit2b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFJlZ0V4cFByb3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQoreworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyKGV4
ZWMsICJSZWdFeHAiKSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIAogICAgIC8v
IEVDTUEgMTUuMTAuNS4xIFJlZ0V4cC5wcm90b3R5cGUKQEAgLTEwOCwxMCArMTE0LDkgQEAgUmVn
RXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamUKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVj
LT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKDIp
LCBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250RW51bSk7CiB9CiAKLVJlZ0V4cE1hdGNoZXNB
cnJheTo6UmVnRXhwTWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSogZXhlYywgUmVnRXhwQ29uc3RydWN0
b3JQcml2YXRlKiBkYXRhKQorUmVnRXhwTWF0Y2hlc0FycmF5OjpSZWdFeHBNYXRjaGVzQXJyYXko
RXhlY1N0YXRlKiBleGVjKQogICAgIDogSlNBcnJheShleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMt
PmxleGljYWxHbG9iYWxPYmplY3QoKS0+cmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlKCkpCiB7
Ci0gICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBkYXRhKTsKIH0KIAogdm9p
ZCBSZWdFeHBNYXRjaGVzQXJyYXk6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSwgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKiBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggYzAyZDA2ZDdjMmM1
OGY4OWNlN2VkY2E3NGZiMTY3NWM3YWIwYWU4Yy4uMDJmNjRjNTYxNDJjM2FiOTBlNDgyOTc4MmE4
OTg5M2RmNmI0MGMzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UmVnRXhwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC05MCw2ICs5MCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICBKU1ZhbHVlIGdldFJpZ2h0Q29udGV4dChFeGVjU3RhdGUqKSBjb25zdDsKIAogICAgIHBy
b3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2Jh
bE9iamVjdCosIFJlZ0V4cFByb3RvdHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBsZW1l
bnRzSGFzSW5zdGFuY2UgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAg
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBNYXRjaGVzQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1h
dGNoZXNBcnJheS5oCmluZGV4IDg3ZDU5YzcxNGViNTRkZjI4MTczZGZlZGViZGVkNTQ2ZjY1MWMz
YWIuLmFkOTRlMDdkYTdjMTNmOWIxYjNjNGU3MGI2NmU1NjZhZmE3YTlmOGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCkBAIC0y
NiwxNCArMjYsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHBNYXRjaGVz
QXJyYXkgOiBwdWJsaWMgSlNBcnJheSB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgUmVnRXhwTWF0
Y2hlc0FycmF5KEV4ZWNTdGF0ZSosIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSopOworICAgICAg
ICBSZWdFeHBNYXRjaGVzQXJyYXkoRXhlY1N0YXRlKik7CiAKICAgICBwdWJsaWM6CiAgICAgICAg
IHR5cGVkZWYgSlNBcnJheSBCYXNlOwogCiAgICAgICAgIHN0YXRpYyBSZWdFeHBNYXRjaGVzQXJy
YXkqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSogY3Rv
clByaXZhdGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2Vs
bDxSZWdFeHBNYXRjaGVzQXJyYXk+KCpleGVjLT5oZWFwKCkpKSBSZWdFeHBNYXRjaGVzQXJyYXko
ZXhlYywgY3RvclByaXZhdGUpOworICAgICAgICAgICAgUmVnRXhwTWF0Y2hlc0FycmF5KiByZWdF
eHAgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBNYXRjaGVzQXJyYXk+KCpleGVjLT5oZWFwKCkp
KSBSZWdFeHBNYXRjaGVzQXJyYXkoZXhlYyk7CisgICAgICAgICAgICByZWdFeHAtPmZpbmlzaENy
ZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgY3RvclByaXZhdGUpOworICAgICAgICAgICAgcmV0
dXJuIHJlZ0V4cDsKICAgICAgICAgfQogICAgICAgICB2aXJ0dWFsIH5SZWdFeHBNYXRjaGVzQXJy
YXkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
T2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5j
cHAKaW5kZXggODQxZDkzOTQxMTdhYjA5MTE3MzhkMGM0ODVlM2ZlNTBiNWExZGQxNi4uYWFhM2Vl
MDdjMWI2ZWNhNjdkY2E4ODQ4NzhhNGM1NjJhYzJkMzYzZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCkBAIC02Niw3ICs2Niw2IEBAIFJlZ0V4
cE9iamVjdDo6UmVnRXhwT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBSCiAgICAgOiBKU09iamVjdFdpdGhHbG9iYWxPYmplY3QoZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBkKGFkb3B0UHRyKG5ldyBSZWdFeHBPYmplY3REYXRh
KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCB0aGlzLCByZWdFeHApKSkKIHsKLSAgICBmaW5p
c2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIFJlZ0V4cE9iamVjdDo6ZmluaXNo
Q3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggZTEzMWZjNWM0Nzg2YWQ5NDc2ZTMz
YmVkMDU5OWZkNDRkODc3MjVkNC4uMDM0NTZkYjUwZjY5MWMzMGMwNDFlOWE2NGE5OWRkYTAxNmY3
NTFlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgK
QEAgLTMyLDEyICszMiwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgUmVn
RXhwT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwKiByZWdFeHApCiAgICAgICAgIHsK
LSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBPYmplY3Q+KCpleGVj
LT5oZWFwKCkpKSBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHJlZ0V4cCk7
CisgICAgICAgICAgICBSZWdFeHBPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPFJl
Z0V4cE9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFJlZ0V4cE9iamVjdChnbG9iYWxPYmplY3QsIHN0
cnVjdHVyZSwgcmVnRXhwKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xv
YmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgIH0KICAgICAg
ICAgCiAgICAgICAgIHN0YXRpYyBSZWdFeHBPYmplY3QqIGNyZWF0ZShKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBSZWdFeHAqIHJlZ0V4cCkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAo
YWxsb2NhdGVDZWxsPFJlZ0V4cE9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgUmVnRXhwT2JqZWN0
KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCByZWdFeHApOworICAgICAgICAgICAgUmVnRXhwT2Jq
ZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBPYmplY3Q+KGdsb2JhbERhdGEu
aGVhcCkpIFJlZ0V4cE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgcmVnRXhwKTsKKyAg
ICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAg
ICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFsIH5SZWdFeHBP
YmplY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cFByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBQcm90
b3R5cGUuY3BwCmluZGV4IDhiZmM5OWY1NDUwNWFlYzRmMmUyY2Q5NjI0NzZlNzg4MmM5Mzg2NWYu
LjkxYjg4Njk3ZjNkYjhiNzgwNGFmZjJiMDhlYWQ4ZDgyNzg0OTNmZTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcApAQCAtNjUsNiAr
NjUsNyBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFJlZ0V4cFByb3RvdHlwZSk7CiBSZWdF
eHBQcm90b3R5cGU6OlJlZ0V4cFByb3RvdHlwZShFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwKiByZWdFeHApCiAgICAg
OiBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHJlZ0V4cCkKIHsKKyAgICBm
aW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiBib29sIFJlZ0V4cFByb3RvdHlwZTo6
Z2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMWQzYjFjN2ExYjI5NTc5
NWI2ZDE2YTU5YmQwMmVkYTIyNjJkZWM3ZS4uYWY5YWJmNWE3MGMxOTc0ODI5ZTA3MGMzM2ZiNWI4
OGNmMmY3MTY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cmluZ0NvbnN0cnVjdG9yLmNwcApAQCAtNDgsOCArNDgsMTQgQEAgY29uc3QgQ2xhc3NJbmZvIFN0
cmluZ0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9u
OjpzX2kKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoU3RyaW5nQ29uc3RydWN0b3IpOwogCiBT
dHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RyaW5nUHJv
dG90eXBlKiBzdHJpbmdQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5n
bG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIHN0
cmluZ1Byb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJbnRlcm5hbEZ1
bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4
ZWMsIGdsb2JhbE9iamVjdCwgc3RyaW5nUHJvdG90eXBlKTsKK30KKwordm9pZCBTdHJpbmdDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJpbmdQcm90b3R5cGUqIHN0cmluZ1Byb3RvdHlwZSkKK3sKKyAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgSWRl
bnRpZmllcihleGVjLCBzdHJpbmdQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKTsK
ICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIHN0cmluZ1Byb3RvdHlwZSwgUmVhZE9ubHkgfCBE
b250RW51bSB8IERvbnREZWxldGUpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4
ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIo
MSksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCmluZGV4IGE5NDRlNTVj
NjU1Y2QzYWQ1MTk0MTAxYWMyNzM5ZWQ4YzVkMGJlM2IuLjZkY2Q4M2QxMWQ5NjgxMDc4YWViMTE3
ZGI1MmQ5ODVmYzkxNWUwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RyaW5nQ29uc3RydWN0b3IuaApAQCAtNDQsNiArNDQsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RyaW5nUHJvdG90eXBlKik7CiAgICAgICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blBy
b3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgcHJp
dmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09i
amVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3Bw
CmluZGV4IGI4ZmFkOWU0OTczNzdhY2E3NDU3MDEzY2RhMzcwM2I4ZjI3MDU5MzMuLmY2ZDY5ZDEw
OTUyNjRlNjE5MWU1N2Y1YzQyYzgwNzQ0NGY2MDA3N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcApAQCAtMjksMTAgKzI5LDkgQEAgQVNTRVJU
X0NMQVNTX0ZJVFNfSU5fQ0VMTChTdHJpbmdPYmplY3QpOwogCiBjb25zdCBDbGFzc0luZm8gU3Ry
aW5nT2JqZWN0OjpzX2luZm8gPSB7ICJTdHJpbmciLCAmSlNXcmFwcGVyT2JqZWN0OjpzX2luZm8s
IDAsIDAgfTsKIAotU3RyaW5nT2JqZWN0OjpTdHJpbmdPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNTdHJpbmcqIHN0cmluZykKK1N0cmluZ09i
amVjdDo6U3RyaW5nT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCiAgICAgOiBKU1dyYXBwZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQog
ewotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHN0cmluZyk7CiB9CiAKIHZvaWQgU3Ry
aW5nT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTU3Ry
aW5nKiBzdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJpbmdPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVj
dC5oCmluZGV4IGE3NzcyMjBjNjZjNjRlNTA5NDYxYjU3YWM1MmEzMTlmYzRjZTI0ODYuLjE4YWZl
NzJkZWQ0ZDc5MWYyNjkxMDBiNjRmZDY1MjBmZGZiNzU5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCkBAIC0zMywxMiArMzMsMTYgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIHN0YXRpYyBTdHJpbmdPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUq
IGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7CiAgICAgICAgICAgICBKU1N0
cmluZyogc3RyaW5nID0ganNFbXB0eVN0cmluZyhleGVjKTsKLSAgICAgICAgICAgIHJldHVybiBu
ZXcgKGFsbG9jYXRlQ2VsbDxTdHJpbmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmpl
Y3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUsIHN0cmluZyk7ICAKKyAgICAgICAgICAg
IFN0cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8U3RyaW5nT2JqZWN0Pigq
ZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJl
KTsgIAorICAgICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRh
KCksIHN0cmluZyk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAgICAg
ICAgIHN0YXRpYyBTdHJpbmdPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBzdHIpCiAgICAgICAgIHsKICAgICAgICAgICAg
IEpTU3RyaW5nKiBzdHJpbmcgPSBqc1N0cmluZyhleGVjLCBzdHIpOwotICAgICAgICAgICAgcmV0
dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmlu
Z09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSwgc3RyaW5nKTsKKyAgICAgICAg
ICAgIFN0cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8U3RyaW5nT2JqZWN0
PigqZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0
dXJlKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0
YSgpLCBzdHJpbmcpOworICAgICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICAgICAgfQogICAg
ICAgICBzdGF0aWMgU3RyaW5nT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmpl
Y3QqLCBKU1N0cmluZyopOwogCkBAIC02Miw3ICs2Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
IHByb3RlY3RlZDoKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmLCBK
U1N0cmluZyopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVz
IHwgSlNXcmFwcGVyT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKLSAgICAgICAgU3RyaW5nT2JqZWN0
KEpTR2xvYmFsRGF0YSYsIFN0cnVjdHVyZSosIEpTU3RyaW5nKik7CisgICAgICAgIFN0cmluZ09i
amVjdChKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUqKTsKICAgICB9OwogCiAgICAgU3RyaW5nT2Jq
ZWN0KiBhc1N0cmluZ09iamVjdChKU1ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3RUaGF0TWFzcXVlcmFk
ZXNBc1VuZGVmaW5lZC5oCmluZGV4IGEwNDQ2NGE2MDYwZmVmNDE0NjNmMjYyZWZmMjk1YmE4NjVm
YWM5NTMuLmUyMWY5YTEwNjYwOTE2Y2ZlYjVhODEyNjk2NDFhZGYwNTRlZTE1ZTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVy
YWRlc0FzVW5kZWZpbmVkLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQuaApAQCAtNDEsOCArNDEsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFN0cmluZ09iamVjdFRoYXRN
YXNxdWVyYWRlc0FzVW5kZWZpbmVkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEpTU3RyaW5nKiBzdHJpbmcpCi0gICAgICAgICAgICA6IFN0cmluZ09iamVjdChleGVjLT5n
bG9iYWxEYXRhKCksIHN0cnVjdHVyZSwgc3RyaW5nKQorICAgICAgICAgICAgOiBTdHJpbmdPYmpl
Y3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKKyAgICAgICAgICAg
IGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RyaW5nKTsKICAgICAgICAgfQog
CiAgICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG8p
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90
eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5j
cHAKaW5kZXggZTE0ZDk3NzI2Njk1NTY4ODlhODM3NjNkMmFiZjI4OTA0MjQwMzhjNC4uNTkwMzkw
OWI5NGQyZGU0NTgxYzQ3MzQwYjQwMDJkZjY4ODBhYjNhNCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCkBAIC0xMzEsOSArMTMxLDE1
IEBAIGNvbnN0IENsYXNzSW5mbyBTdHJpbmdQcm90b3R5cGU6OnNfaW5mbyA9IHsgIlN0cmluZyIs
ICZTdHJpbmdPYmplY3Q6OnNfaW5mbywgMCwKICovCiAKIC8vIEVDTUEgMTUuNS40Ci1TdHJpbmdQ
cm90b3R5cGU6OlN0cmluZ1Byb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0cmluZyogc3RyaW5nKQot
ICAgIDogU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlLCBzdHJpbmcp
CitTdHJpbmdQcm90b3R5cGU6OlN0cmluZ1Byb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0cmluZyog
bmFtZUFuZE1lc3NhZ2UpCisgICAgOiBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBz
dHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBuYW1l
QW5kTWVzc2FnZSk7Cit9CisKK3ZvaWQgU3RyaW5nUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihF
eGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTU3RyaW5nKiBu
YW1lQW5kTWVzc2FnZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxE
YXRhKCksIG5hbWVBbmRNZXNzYWdlKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwog
CiAgICAgcHV0QW5vbnltb3VzVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCAwLCBnbG9iYWxPYmpl
Y3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJv
dG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUu
aAppbmRleCA2YTAzMTVmZTJiODJjYWUxNzI0N2M2ZTFlNjNlNmYzYTg0MTRiNDg0Li42NTFmOWFj
M2RkNGY1N2RhYjcyOGJiMDUyNjFjNTc4OWIxOGM2MWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuaApAQCAtNTAsNiArNTAsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CiAgICAg
ICAgIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3Rh
dGUqLCBKU0dsb2JhbE9iamVjdCosIEpTU3RyaW5nKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IFN0
cmluZ09iamVjdDo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICAgICAgQ09NUElMRV9BU1NFUlQoIVN0
cmluZ09iamVjdDo6QW5vbnltb3VzU2xvdENvdW50LCBTdHJpbmdQcm90b3R5cGVfc3RvbXBzX29u
X3lvdXJfYW5vbnltb3VzX3Nsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKaW5kZXggMjM5NWEx
OWMzMjM5ZjI0NDgxYTFmMmY5NGUwNzI3YmE2YTU4ZjZhNi4uYzY4NTYzYTY5MjZiOTcxMjBkYmEx
NjNhMmQ1NzUxYzAwNjUwODRkNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjUgQEAKKzIwMTEtMDktMDYgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNv
bT4KKworICAgICAgICBVbnppcCBpbml0aWFsaXphdGlvbiBsaXN0cyBhbmQgY29uc3RydWN0b3Jz
IGluIEpTQ2VsbCBoaWVyYXJjaHkgKDUvNykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY3NDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ29tcGxldGVkIHRoZSBmaWZ0aCBsZXZlbCBvZiB0aGUgcmVmYWN0
b3JpbmcgdG8gYWRkIGZpbmlzaENyZWF0aW9uKCkgCisgICAgICAgIG1ldGhvZHMgdG8gYWxsIGNs
YXNzZXMgd2l0aGluIHRoZSBKU0NlbGwgaGllcmFyY2h5IHdpdGggbm9uLXRyaXZpYWwgCisgICAg
ICAgIGNvbnN0cnVjdG9yIGJvZGllcy4KKworICAgICAgICBUaGlzIHByaW1hcmlseSBjb25zaXN0
cyBvZiBwdXNoaW5nIHRoZSBjYWxscyB0byBmaW5pc2hDcmVhdGlvbigpIGRvd24gCisgICAgICAg
IGludG8gdGhlIGNvbnN0cnVjdG9ycyBvZiB0aGUgc3ViY2xhc3NlcyBvZiB0aGUgc2Vjb25kIGxl
dmVsIG9mIHRoZSBoaWVyYXJjaHkgCisgICAgICAgIGFzIHdlbGwgYXMgcHVsbGluZyB0aGUgZmlu
aXNoQ3JlYXRpb24oKSBjYWxscyBvdXQgaW50byB0aGUgY2xhc3MncyBjb3JyZXNwb25kaW5nCisg
ICAgICAgIGNyZWF0ZSgpIG1ldGhvZCBpZiBpdCBoYXMgb25lLiAgRG9pbmcgYm90aCBzaW11bHRh
bmVvdXNseSBhbGxvd3MgdXMgdG8gCisgICAgICAgIG1haW50YWluIHRoZSBpbnZhcmlhbnQgdGhh
dCB0aGUgZmluaXNoQ3JlYXRpb24oKSBtZXRob2QgY2hhaW4gaXMgY2FsbGVkIGV4YWN0bHkgCisg
ICAgICAgIG9uY2UgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBhbiBvYmplY3QsIHNpbmNlIGNhbGxp
bmcgaXQgYW55IG90aGVyIG51bWJlciBvZiAKKyAgICAgICAgdGltZXMgKDAsIDIsIG9yIG1vcmUp
IHdpbGwgY2F1c2UgYW4gYXNzZXJ0aW9uIGZhaWx1cmUuCisKKyAgICAgICAgKiBKU1J1bi5jcHA6
CisgICAgICAgIChKU0dsdWVHbG9iYWxPYmplY3Q6OkpTR2x1ZUdsb2JhbE9iamVjdCk6CisKIDIw
MTEtMDktMDUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBbiBv
YmplY3QncyBzdHJ1Y3R1cmUgc2hvdWxkIHJlZmVyZW5jZSB0aGUgZ2xvYmFsIG9iamVjdCByZXNw
b25zaWJsZSBmb3IgaXRzIGNyZWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdEds
dWUvSlNSdW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRHbHVlL0pTUnVuLmNwcAppbmRleCA4Yzg4
Zjg1ZjMyMGUzZWUwYzI5YzFkOWUyNDYxMGIxNDI2MmQzODJjLi5iZjIyY2JkMTY0MTFjNDYyYmJk
M2EzN2ZkOTA5NmFlZWNhMjlhNzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUv
SlNSdW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5jcHAKQEAgLTM4LDYg
KzM4LDcgQEAgSlNHbHVlR2xvYmFsT2JqZWN0OjpKU0dsdWVHbG9iYWxPYmplY3QoSlNHbG9iYWxE
YXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnUKICAgICAsIG1fZmxhZ3MoZmxhZ3MpCiAg
ICAgLCBtX3VzZXJPYmplY3RTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgdXNlck9iamVjdFN0cnVjdHVy
ZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzKTsKIH0KIAogSlNSdW46
OkpTUnVuKENGU3RyaW5nUmVmIHNvdXJjZSwgSlNGbGFncyBpbkZsYWdzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGNjNmI0YjNjZDI0ZDM0Yjc0NWEwYjQzYTQxZDE4Njk3NTU0Y2Q0ZGQuLmU0MDhlMDM4N2UxZTU4
MTFhNGJjNmE4NzM3MzFjYTgzNzE3ZTcwZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4MyBAQAor
MjAxMS0wOS0wNiAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisg
ICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlND
ZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgQ29tcGxldGVkIHRoZSBmaWZ0aCBs
ZXZlbCBvZiB0aGUgcmVmYWN0b3JpbmcgdG8gYWRkIGZpbmlzaENyZWF0aW9uKCkgCisgICAgICAg
IG1ldGhvZHMgdG8gYWxsIGNsYXNzZXMgd2l0aGluIHRoZSBKU0NlbGwgaGllcmFyY2h5IHdpdGgg
bm9uLXRyaXZpYWwgCisgICAgICAgIGNvbnN0cnVjdG9yIGJvZGllcy4KKworICAgICAgICBUaGlz
IHByaW1hcmlseSBjb25zaXN0cyBvZiBwdXNoaW5nIHRoZSBjYWxscyB0byBmaW5pc2hDcmVhdGlv
bigpIGRvd24gCisgICAgICAgIGludG8gdGhlIGNvbnN0cnVjdG9ycyBvZiB0aGUgc3ViY2xhc3Nl
cyBvZiB0aGUgc2Vjb25kIGxldmVsIG9mIHRoZSBoaWVyYXJjaHkgCisgICAgICAgIGFzIHdlbGwg
YXMgcHVsbGluZyB0aGUgZmluaXNoQ3JlYXRpb24oKSBjYWxscyBvdXQgaW50byB0aGUgY2xhc3Mn
cyBjb3JyZXNwb25kaW5nCisgICAgICAgIGNyZWF0ZSgpIG1ldGhvZCBpZiBpdCBoYXMgb25lLiAg
RG9pbmcgYm90aCBzaW11bHRhbmVvdXNseSBhbGxvd3MgdXMgdG8gCisgICAgICAgIG1haW50YWlu
IHRoZSBpbnZhcmlhbnQgdGhhdCB0aGUgZmluaXNoQ3JlYXRpb24oKSBtZXRob2QgY2hhaW4gaXMg
Y2FsbGVkIGV4YWN0bHkgCisgICAgICAgIG9uY2UgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBhbiBv
YmplY3QsIHNpbmNlIGNhbGxpbmcgaXQgYW55IG90aGVyIG51bWJlciBvZiAKKyAgICAgICAgdGlt
ZXMgKDAsIDIsIG9yIG1vcmUpIHdpbGwgY2F1c2UgYW4gYXNzZXJ0aW9uIGZhaWx1cmUuCisKKyAg
ICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRp
bmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUNvbnN0cnVjdG9yT2JqZWN0OjpET01Db25zdHJ1
Y3Rvck9iamVjdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6OkpTRE9NR2xvYmFsT2JqZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd1NoZWxsLmg6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpj
cmVhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oOgorICAgICAgICAo
V2ViQ29yZTo6SlNET01XcmFwcGVyOjpKU0RPTVdyYXBwZXIpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRh
dGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFj
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbnRlcmZhY2U6OkpTVGVzdEludGVyZmFj
ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcjo6SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcik6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3RPYmo6OkpTVGVzdE9iaik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OkpTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZSk6CisgICAgICAgICogYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3Qu
Y3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6Q1J1bnRpbWVPYmplY3Q6OkNSdW50aW1lT2Jq
ZWN0KToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkNSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVh
dGlvbik6CisgICAgICAgICogYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuaDoKKyAgICAgICAgKiBi
cmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkJpbmRp
bmdzOjpKYXZhUnVudGltZU9iamVjdDo6SmF2YVJ1bnRpbWVPYmplY3QpOgorICAgICAgICAoSlND
OjpCaW5kaW5nczo6SmF2YVJ1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KiBicmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oOgorICAgICAgICAqIGJyaWRnZS9v
YmpjL09iakNSdW50aW1lT2JqZWN0Lmg6CisgICAgICAgICogYnJpZGdlL29iamMvT2JqQ1J1bnRp
bWVPYmplY3QubW06CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpPYmpDUnVudGltZU9iamVjdDo6
T2JqQ1J1bnRpbWVPYmplY3QpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqQ1J1bnRpbWVP
YmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRp
bWUuaDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6Ok9iamNGYWxsYmFja09iamVjdEltcDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW06CisgICAgICAgIChK
U0M6OkJpbmRpbmdzOjpPYmpjRmFsbGJhY2tPYmplY3RJbXA6Ok9iamNGYWxsYmFja09iamVjdElt
cCk6CisgICAgICAgICogYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6
QmluZGluZ3M6OlF0UnVudGltZU9iamVjdDo6UXRSdW50aW1lT2JqZWN0KToKKyAgICAgICAgKiBi
cmlkZ2UvcXQvcXRfcGl4bWFwcnVudGltZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpR
dFBpeG1hcFJ1bnRpbWVPYmplY3Q6OlF0UGl4bWFwUnVudGltZU9iamVjdCk6CisgICAgICAgICog
YnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRSdW50
aW1lTWV0aG9kOjpRdFJ1bnRpbWVNZXRob2QpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRS
dW50aW1lTWV0aG9kOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnJpZGdlL3F0L3F0X3J1
bnRpbWUuaDoKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9hcnJheS5jcHA6CisgICAgICAgIChK
U0M6OlJ1bnRpbWVBcnJheTo6UnVudGltZUFycmF5KToKKyAgICAgICAgKiBicmlkZ2UvcnVudGlt
ZV9hcnJheS5oOgorICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmNyZWF0ZSk6CisgICAgICAg
ICogYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcDoKKyAgICAgICAgKEpTQzo6UnVudGltZU1ldGhv
ZDo6UnVudGltZU1ldGhvZCk6CisgICAgICAgIChKU0M6OlJ1bnRpbWVNZXRob2Q6OmZpbmlzaENy
ZWF0aW9uKToKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9tZXRob2QuaDoKKyAgICAgICAgKiBi
cmlkZ2UvcnVudGltZV9vYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UnVudGlt
ZU9iamVjdDo6UnVudGltZU9iamVjdCk6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0
Lmg6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpSdW50aW1lT2JqZWN0OjpjcmVhdGUpOgorCiAy
MDExLTA5LTA2ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV2ViVlRU
VG9rZW5pemVyIGZpbGVzIGluIHRoZSB3cm9uZyBwbGFjZSBpbiB0aGUgWGNvZGUgcHJvamVjdC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMDNhODEwYzliODFkYmJhYjgyODJjM2Y4YjFmNDVmZThi
YWI0NTE4ZS4uZjRjMzQyZjY0OTM3Mjg2MTlmYzAwMWMwOGE1ZTMwNGUxOWNhOTAyOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KQEAgLTE2NDYsNiArMTY0Niw3IEBAIF9fWk4zSlNDMTNSdW50aW1lTWV0
aG9kQzJFUE5TXzlFeGVjU3RhdGVFUE5TXzE0SlNHbG9iYWxPYmplY3RFUE5TXzlTdHJ1Y3R1cmVF
UktOCiBfX1pOM0pTQzhCaW5kaW5nczEwUm9vdE9iamVjdEQxRXYKIF9fWk4zSlNDOEJpbmRpbmdz
MTNSdW50aW1lT2JqZWN0MTFnZXRDYWxsRGF0YUVSTlNfOENhbGxEYXRhRQogX19aTjNKU0M4Qmlu
ZGluZ3MxM1J1bnRpbWVPYmplY3QxNGRlbGV0ZVByb3BlcnR5RVBOU185RXhlY1N0YXRlRVJLTlNf
MTBJZGVudGlmaWVyRQorX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxNGZpbmlzaENy
ZWF0aW9uRVBOU18xNEpTR2xvYmFsT2JqZWN0RQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVP
YmplY3QxNmdldENvbnN0cnVjdERhdGFFUk5TXzEzQ29uc3RydWN0RGF0YUUKIF9fWk4zSlNDOEJp
bmRpbmdzMTNSdW50aW1lT2JqZWN0MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzlFeGVjU3RhdGVF
UktOU18xMElkZW50aWZpZXJFUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0M4QmluZGluZ3Mx
M1J1bnRpbWVPYmplY3QxOWdldE93blByb3BlcnR5TmFtZXNFUE5TXzlFeGVjU3RhdGVFUk5TXzE3
UHJvcGVydHlOYW1lQXJyYXlFTlNfMTVFbnVtZXJhdGlvbk1vZGVFCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDQ2NTMwYzM4MTUzMDNhMjVlMzk4YTBiYWIz
MTFmMzlmMTc3ZTZhZDQuLjAxZDUxZjBmZTQzODY5MzM0MzkxODExNGIyMTUwN2VkNTY2NTA4M2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC01NSw2ICs1
NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRE9NQ29uc3RydWN0b3JPYmplY3Qo
SlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKICAgICAgICAgICAgIDogSlNET01XcmFwcGVyKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQog
ICAgICAgICB7CisgICAgICAgICAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPmdsb2Jh
bERhdGEoKSwgZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgfQogICAgIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA0ZGFmYTY4
ZTA0NTZhZWE2N2ZlMjZlZDFmYmMxMGYxYmJmNDZjYzQ4Li5mOWVhZjZhNDliMWU5ZjRiYzg1OTdl
MGM5MjE1NjlmMzE0ODY2YzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01HbG9iYWxPYmplY3QuY3BwCkBAIC00MywxMCArNDMsMTYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY29uc3QgQ2xhc3NJbmZvIEpTRE9NR2xvYmFsT2JqZWN0OjpzX2luZm8gPSB7ICJET01H
bG9iYWxPYmplY3QiLCAmSlNHbG9iYWxPYmplY3Q6OnNfaW5mbywgMCwgMCB9OwogCiBKU0RPTUds
b2JhbE9iamVjdDo6SlNET01HbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxET01XcmFwcGVyV29ybGQ+IHdvcmxkLCBK
U09iamVjdCogdGhpc1ZhbHVlKQotICAgIDogSlNHbG9iYWxPYmplY3QoZ2xvYmFsRGF0YSwgc3Ry
dWN0dXJlLCB0aGlzVmFsdWUpCisgICAgOiBKU0dsb2JhbE9iamVjdChnbG9iYWxEYXRhLCBzdHJ1
Y3R1cmUpCiAgICAgLCBtX2N1cnJlbnRFdmVudCgwKQogICAgICwgbV93b3JsZCh3b3JsZCkKIHsK
KyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzVmFsdWUpOworfQorCit2b2lkIEpT
RE9NR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEs
IEpTT2JqZWN0KiB0aGlzVmFsdWUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFs
RGF0YSwgdGhpc1ZhbHVlKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAppbmRleCBl
MGE2YTA3MmFlOGI3ZWQwYzk2M2MzNTMxYWNiNjYyYjc5ZDRlZmU5Li45YTgzOGJmOWE4M2M0OWMx
YzQxZTNjYjI3NzUxMDhhYzQ5N2YwMDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKQEAgLTQ3LDYgKzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBzdHJ1Y3QgSlNET01HbG9iYWxPYmplY3REYXRhOwogCiAgICAgICAgIEpT
RE9NR2xvYmFsT2JqZWN0KEpTQzo6SlNHbG9iYWxEYXRhJiwgSlNDOjpTdHJ1Y3R1cmUqLCBQYXNz
UmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpTQzo6SlNPYmplY3QqIHRoaXNWYWx1ZSk7CisgICAg
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpKU0dsb2JhbERhdGEmLCBKU0M6OkpTT2JqZWN0
KiB0aGlzVmFsdWUpOwogCiAgICAgcHVibGljOgogICAgICAgICBKU0RPTVN0cnVjdHVyZU1hcCYg
c3RydWN0dXJlcygpIHsgcmV0dXJuIG1fc3RydWN0dXJlczsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAppbmRleCA0OWUxYjRhNDk1OGFmYTc4
YjU5NjFiNzdhZmIwMjkxNzlmNTViNzRlLi5kMzE2OWI2NmYzODM4MzcwMjQ2ZjYwODg4NDIxYjYw
MTkzNDA0YzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d1NoZWxsLmNwcApAQCAtMTgxLDEzICsxODEsNiBAQCB2b2lkKiBKU0RPTVdpbmRvd1NoZWxsOjpv
cGVyYXRvciBuZXcoc2l6ZV90IHNpemUpCiAgICAgcmV0dXJuIGhlYXAuYWxsb2NhdGUoc2l6ZSk7
CiB9CiAKLUpTRE9NV2luZG93U2hlbGwqIEpTRE9NV2luZG93U2hlbGw6OmNyZWF0ZShQYXNzUmVm
UHRyPERPTVdpbmRvdz4gd2luZG93LCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBET01XcmFw
cGVyV29ybGQqIHdvcmxkKQotewotICAgIEpTRE9NV2luZG93U2hlbGwqIHNoZWxsID0gbmV3IEpT
RE9NV2luZG93U2hlbGwoc3RydWN0dXJlLCB3b3JsZCk7Ci0gICAgc2hlbGwtPmZpbmlzaENyZWF0
aW9uKCp3b3JsZC0+Z2xvYmFsRGF0YSgpLCB3aW5kb3cpOwotICAgIHJldHVybiBzaGVsbDsgCi19
Ci0KIC8vIC0tLS0KIC8vIENvbnZlcnNpb24gbWV0aG9kcwogLy8gLS0tLQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCmluZGV4IDUzNGVhMmFjZjI2NmIx
YzA1MWUzZDkyZTVkMzUwMjhlOTc1MjdlYjAuLjg3ZDAyNmRiZTA1OGNmZmMxODZlNTk1MjUwM2I4
MjU5MzA1NzNkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93U2hlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d1NoZWxsLmgKQEAgLTU1LDcgKzU1LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICBET01XaW5kb3cqIGltcGwoKSBjb25zdDsKIAotICAgICAgICBzdGF0aWMgSlNET01XaW5kb3dT
aGVsbCogY3JlYXRlKFBhc3NSZWZQdHI8RE9NV2luZG93PiwgSlNDOjpTdHJ1Y3R1cmUqLCBET01X
cmFwcGVyV29ybGQqKTsKKyAgICAgICAgc3RhdGljIEpTRE9NV2luZG93U2hlbGwqIGNyZWF0ZShQ
YXNzUmVmUHRyPERPTVdpbmRvdz4gd2luZG93LCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBE
T01XcmFwcGVyV29ybGQqIHdvcmxkKSAKKyAgICAgICAgeworICAgICAgICAgICAgSlNET01XaW5k
b3dTaGVsbCogc2hlbGwgPSBuZXcgSlNET01XaW5kb3dTaGVsbChzdHJ1Y3R1cmUsIHdvcmxkKTsK
KyAgICAgICAgICAgIHNoZWxsLT5maW5pc2hDcmVhdGlvbigqd29ybGQtPmdsb2JhbERhdGEoKSwg
d2luZG93KTsKKyAgICAgICAgICAgIHJldHVybiBzaGVsbDsgCisgICAgICAgIH0KIAogICAgICAg
ICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OkpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkgCiAgICAgICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgKaW5kZXggOGYyYzA4ZTJiMTg2MGQ4
MDIzNGJhOGY3MzU3ZjZhODRjN2RiNGVhMy4uMDM2Y2NiZDdmNDA0MGViMTUwNmNmZTBiYTQyYzBk
OTJhNjlkYjRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
cmFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgK
QEAgLTU5LDcgKzU5LDYgQEAgcHJvdGVjdGVkOgogICAgICAgICAvLyBuZXcgSmF2YVNjcmlwdCBv
YmplY3RzIG9uIGRldGFjaGVkIHdpbmRvd3MgZHVlIHRvIERPTVdpbmRvdzo6ZG9jdW1lbnQoKQog
ICAgICAgICAvLyBuZWVkaW5nIHRvIHJlYWNoIHRocm91Z2ggdGhlIGZyYW1lIHRvIGdldCB0byB0
aGUgRG9jdW1lbnQqLiAgU2VlIGJ1ZyAyNzY0MC4KICAgICAgICAgLy8gQVNTRVJUKGdsb2JhbE9i
amVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKLSAgICAgICAgZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCk7CiAgICAgfQogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bQppbmRleCA3YTExYTAxNDFkM2Y0YTdhYjM1YWYxYjVjMDJlYjgzMjQ0ZGVkMDliLi44ZjJjZmQ4
MDNkMGZlZDEyNTY3MzgzYzg4NmFkMTFjZTFjNWVjOWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMTUxNCwyMCArMTUx
NCwyNCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICBBZGRJbmNsdWRlc0Zv
clR5cGVJbkltcGwoIkpTRE9NV2luZG93U2hlbGwiKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIke2NsYXNzTmFtZX06OiRjbGFzc05hbWUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjwkaW1wbFR5cGU+IGltcGwsIEpTRE9NV2lu
ZG93U2hlbGwqIHNoZWxsKVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIDog
JHBhcmVudENsYXNzTmFtZShnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUsIGltcGwsIHNoZWxsKVxuIik7
CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgfSBlbHNpZiAoJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSXNXb3JrZXJDb250ZXh0In0pIHsKICAgICAgICAg
QWRkSW5jbHVkZXNGb3JUeXBlSW5JbXBsKCRpbnRlcmZhY2VOYW1lKTsKICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIke2NsYXNzTmFtZX06OiRjbGFzc05hbWUoSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjwkaW1wbFR5cGU+IGltcGwp
XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgOiAkcGFyZW50Q2xhc3NOYW1l
KGdsb2JhbERhdGEsIHN0cnVjdHVyZSwgaW1wbClcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIntcbiIpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
JHtjbGFzc05hbWV9OjokY2xhc3NOYW1lKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQYXNzUmVmUHRyPCRpbXBsVHlwZT4gaW1wbClcbiIpOwog
ICAgICAgICBpZiAoJGhhc1BhcmVudCkgewogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgOiAkcGFyZW50Q2xhc3NOYW1lKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBpbXBsKVxu
Iik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgOiAkcGFyZW50Q2xhc3NO
YW1lKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KVxuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICAsIG1faW1wbChpbXBsKVxuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIntcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgZmlu
aXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCk7XG4i
KTsKICAgICAgICAgfQogICAgIH0KLSAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7XG4iKTsK
ICAgICBpZiAoJG51bUNhY2hlZEF0dHJpYnV0ZXMgPiAwKSB7CiAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIGZvciAodW5zaWduZWQgaSA9IEJhc2U6OkFub255bW91c1Nsb3RDb3VudDsg
aSA8IEFub255bW91c1Nsb3RDb3VudDsgaSsrKVxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmlu
ZGV4IDZhZGNjYWU1MDUyMjlmZTA2M2RhY2M1NzIwZGExN2NhYmU1M2U0MzQuLmQ5ZDVkMGNkNGFk
Y2JhODEwZTAzMDM5YzI1ZDBiZWQ0M2E3NWM5ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBA
IC0xNDYsNiArMTQ2LDcgQEAgSlNUZXN0SW50ZXJmYWNlOjpKU1Rlc3RJbnRlcmZhY2UoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWwKICAgICA6IEpTRE9NV3Jh
cHBlcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKICAgICAsIG1faW1wbChpbXBsKQogeworICAg
IGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3Qp
OwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAppbmRleCBkYjI3OGMxZDI4ZjI5NDc3OGJkZjk0
OTkyYjFlMzA4YjJmNDRiNjAyLi5mMDRkZGY0Y2RhNGI1OTg3ZDMyZjk5Njc2ZjFiNzBjMDBlZjFj
ZjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBA
IC0xNDIsNiArMTQyLDcgQEAgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6SlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKICAgICA6IEpTRE9NV3Jh
cHBlcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKICAgICAsIG1faW1wbChpbXBsKQogeworICAg
IGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3Qp
OwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggNGRj
ZWVlZjVjNTk3MzA0ZDNhYzA1M2Q0MTkzY2EwODAwZTBiY2EyYi4uOWE4Y2ZlMjI0NDg1N2Y2NWJl
YjAxNWY0ZDU1ZmE1YTkwMjA1ZjMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTI5Nyw2ICsyOTcsNyBAQCBK
U1Rlc3RPYmo6OkpTVGVzdE9iaihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgUGFzcwogICAgIDogSlNET01XcmFwcGVyKHN0cnVjdHVyZSwgZ2xv
YmFsT2JqZWN0KQogICAgICwgbV9pbXBsKGltcGwpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xv
YmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCk7CiAgICAgQVNTRVJUKGluaGVy
aXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAppbmRleCBkZDJlMjQzNDA4MTFiNzlmYmE5Y2Y4MTk0
YjdiMjQxMjAyN2E5NzBiLi40N2NhNWIwNTY5Mjg3NWZhNzcyNWExZmZiMGMwNzkyM2Q4YzcxMTgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlLmNwcApAQCAtMTMyLDYgKzEzMiw3IEBAIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZTo6SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKFN0cnVjCiAg
ICAgOiBKU0RPTVdyYXBwZXIoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiAgICAgLCBtX2ltcGwo
aW1wbCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwg
Z2xvYmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHAKaW5kZXggYzYzZTU4NmQyMWMx
ZTJhYzY2NzkyNjMxODYzMzJiMGM1MDExNThjNi4uYjQ2MGE5MTQ1MmY2NTZiMDMzOTc4MzU3NDY4
NWFjZjBkZTIxZDE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRp
bWVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0
LmNwcApAQCAtNDAsNiArNDAsMTIgQEAgY29uc3QgQ2xhc3NJbmZvIENSdW50aW1lT2JqZWN0Ojpz
X2luZm8gPSB7ICJDUnVudGltZU9iamVjdCIsICZSdW50aW1lT2JqZWN0OjpzX2kKIENSdW50aW1l
T2JqZWN0OjpDUnVudGltZU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPENJbnN0YW5jZT4g
aW5zdGFuY2UpCiAgICAgOiBSdW50aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0
dXJlLCBpbnN0YW5jZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOworfQor
Cit2b2lkIENSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiAg
ICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9j
L0NSdW50aW1lT2JqZWN0LmgKaW5kZXggNmZlN2RmYWY3N2ZjMGQxOGMwZDBjMTUxYzE3ZjVhN2Ez
ZmRiMzc4Yy4uZWYxOWM4YTZlYjMyZTM0ZTg3YTYxMDc4Yjg0NWUwZTYwMGU3YjMzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5oCkBAIC02MSw2ICs2MSw3IEBAIHB1
YmxpYzoKIAogcHJpdmF0ZToKICAgICBDUnVudGltZU9iamVjdChFeGVjU3RhdGUqLCBKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSosIFBhc3NSZWZQdHI8Q0luc3RhbmNlPik7CisgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCopOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuY3BwCmluZGV4IGZmZmU4
NTZkYTBkNWU1MWI2ODI4ZjI2ZjVkYTExZTE2YTcxNThmZDQuLmQ2ODRhYjAyZTM5NzAyOWYxMWY1
YTI1MTRhY2IwYWQzMTNkYjBlZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9q
bmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
am5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5jcHAKQEAgLTM4LDYgKzM4LDEyIEBAIGNvbnN0IENs
YXNzSW5mbyBKYXZhUnVudGltZU9iamVjdDo6c19pbmZvID0geyAiSmF2YVJ1bnRpbWVPYmplY3Qi
LCAmUnVudGltZU9iamVjCiBKYXZhUnVudGltZU9iamVjdDo6SmF2YVJ1bnRpbWVPYmplY3QoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgUGFzc1JlZlB0cjxKYXZhSW5zdGFuY2U+IGluc3RhbmNlKQogICAgIDogUnVudGlt
ZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpCiB7CisgICAg
ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBKYXZhUnVudGltZU9iamVj
dDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygm
c19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNj
L0phdmFSdW50aW1lT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZh
UnVudGltZU9iamVjdC5oCmluZGV4IDcwYTNjZTk4MTI2ZTYxM2UwNjRiNjM4MWFjN2IzZDdhNzY5
OTMwN2MuLmJiMTc5Mzg2NGJhMzM1MjAxZmU4MDEzOWVhZmFkMzNkZjcyNzYxMzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuaApAQCAt
NTksNiArNTksNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgSmF2YVJ1bnRpbWVPYmplY3Qo
RXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPEphdmFJ
bnN0YW5jZT4pOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqKTsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1l
T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5o
CmluZGV4IGJmYTFmOTFjM2I4MzVhMzk0NmE5YmM5YTI5YTdmZTZiZmMxYmMwMjcuLjAzNDBjMDUx
YmU5YjEwY2ViMTQ4ZjU4NDAyZmZkY2ZmYmIyYmQxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgT2JqQ1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxP
YmplY3QqLCBQYXNzUmVmUHRyPE9iamNJbnN0YW5jZT4sIFN0cnVjdHVyZSopOworICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tIGIvU291cmNlL1dl
YkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QubW0KaW5kZXggZWE4NjI2MzJkZWM0
Y2ZlN2FlZGQ2MWRlNTg0YmIyZDVjMGViOGZhOS4uYzUxYmQ0ZDIwYzkzYjZhYzgwODhkZGNkZGJh
MjhjZjIwZDg3ODk2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2Jq
Q1J1bnRpbWVPYmplY3QubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1
bnRpbWVPYmplY3QubW0KQEAgLTM4LDYgKzM4LDEyIEBAIGNvbnN0IENsYXNzSW5mbyBPYmpDUnVu
dGltZU9iamVjdDo6c19pbmZvID0geyAiT2JqQ1J1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVj
CiBPYmpDUnVudGltZU9iamVjdDo6T2JqQ1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQYXNzUmVmUHRyPE9iamNJbnN0YW5jZT4gaW5z
dGFuY2UsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBn
bG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBPYmpDUnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRp
b24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbihnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgKaW5kZXggYTVhNjcyNTJj
ZjUzNmZjZTc2MzcyNjI2ZDZiMjBjM2EyYmI3OTgyOC4uZTU3MWE1NTI1MDE1MTdmNjcwODY4Mjc4
ODk1ZWMwYjg1NzAxODhhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMv
b2JqY19ydW50aW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50
aW1lLmgKQEAgLTk5LDcgKzk5LDkgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgLy8gRklYTUU6
IGRlcHJlY2F0ZWRHZXRET01TdHJ1Y3R1cmUgdXNlcyB0aGUgcHJvdG90eXBlIG9mZiBvZiB0aGUg
d3JvbmcgZ2xvYmFsIG9iamVjdAogICAgICAgICBTdHJ1Y3R1cmUqIGRvbVN0cnVjdHVyZSA9IFdl
YkNvcmU6OmRlcHJlY2F0ZWRHZXRET01TdHJ1Y3R1cmU8T2JqY0ZhbGxiYWNrT2JqZWN0SW1wPihl
eGVjKTsKLSAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPE9iamNGYWxsYmFja09iamVj
dEltcD4oKmV4ZWMtPmhlYXAoKSkpIE9iamNGYWxsYmFja09iamVjdEltcChnbG9iYWxPYmplY3Qs
IGRvbVN0cnVjdHVyZSwgaW5zdGFuY2UsIHByb3BlcnR5TmFtZSk7CisgICAgICAgIE9iamNGYWxs
YmFja09iamVjdEltcCogZmFsbGJhY2tPYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxPYmpjRmFs
bGJhY2tPYmplY3RJbXA+KCpleGVjLT5oZWFwKCkpKSBPYmpjRmFsbGJhY2tPYmplY3RJbXAoZ2xv
YmFsT2JqZWN0LCBkb21TdHJ1Y3R1cmUsIGluc3RhbmNlLCBwcm9wZXJ0eU5hbWUpOworICAgICAg
ICBmYWxsYmFja09iamVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAg
cmV0dXJuIGZhbGxiYWNrT2JqZWN0OwogICAgIH0KIAogICAgIHN0YXRpYyBjb25zdCBDbGFzc0lu
Zm8gc19pbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19y
dW50aW1lLm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tCmlu
ZGV4IGRmMGU3MWM3ZmVjYjYyZTE2Zjc1ZGE5MTIwMzFmYTk2YjFhMmE3YzYuLmFjZTJiYTc1OWM0
NjhmN2I3MDcyOWVlOTMxZDYyN2Y0ZjYxNTNlNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
b2JqYy9vYmpjX3J1bnRpbWUubW0KQEAgLTIwMSw3ICsyMDEsNiBAQCBPYmpjRmFsbGJhY2tPYmpl
Y3RJbXA6Ok9iamNGYWxsYmFja09iamVjdEltcChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBTdHJ1YwogICAgICwgX2luc3RhbmNlKGkpCiAgICAgLCBfaXRlbShwcm9wZXJ0eU5hbWUpCiB7
Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9pZCBPYmpjRmFsbGJh
Y2tPYmplY3RJbXA6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcAppbmRleCA2OTFiNDJlNDY0
YTUxMzQ2NDUwM2E4Y2YwYjVmYTgwZDZkZmU5NjJhLi5hOTdhZTlhOTUyYTBjYmZiYWU2NjE0MDg5
ZmM0MGYxZTMwMmE0NTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRf
aW5zdGFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5j
cHAKQEAgLTg1LDYgKzg1LDcgQEAgY29uc3QgQ2xhc3NJbmZvIFF0UnVudGltZU9iamVjdDo6c19p
bmZvID0geyAiUXRSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplY3Q6OnMKIFF0UnVudGltZU9i
amVjdDo6UXRSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SW5zdGFuY2U+IGlu
c3RhbmNlKQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAog
Ly8gUXRJbnN0YW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3Bp
eG1hcHJ1bnRpbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRp
bWUuY3BwCmluZGV4IDg3OWFjN2Q3ZWEyMDFlOGY1OTQzNjQ3NWZhOGRkNTJmNjVlYjYxOTQuLjY4
NzQxYjQ5YmRkODVhMjkzOWVkZWMzMzNmNDY4ODY0MGU5MTU2Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9waXhtYXBydW50aW1lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVudGltZS5jcHAKQEAgLTIyNCw2ICsyMjQsNyBAQCBw
cml2YXRlOgogUXRQaXhtYXBSdW50aW1lT2JqZWN0OjpRdFBpeG1hcFJ1bnRpbWVPYmplY3QoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgUGFzc1JlZlB0cjxJbnN0YW5jZT4gaW5zdGFuY2UpCiAgICAgOiBSdW50aW1lT2Jq
ZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5jZSkKIHsKKyAgICBmaW5p
c2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiBjb25zdCBDbGFzc0luZm8gUXRQaXhtYXBS
dW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJRdFBpeG1hcFJ1bnRpbWVPYmplY3QiLCAmUnVudGlt
ZU9iamVjdDo6c19pbmZvLCAwLCAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvcXQvcXRfcnVudGltZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGlt
ZS5jcHAKaW5kZXggZDY2NWI2MWNmOTY3YTNmZTdmNzMzMzdhNWUwMzdmMjhiNmU1OWU5My4uNTNl
MzAxZjI1NjQ1ZTllMzZjOWE1YjVjZDZiZDhiYjJlNDQxMzJhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9xdC9xdF9ydW50aW1lLmNwcApAQCAtMTAwNiwxMiArMTAwNiwxOCBAQCBKU1ZhbHVlIGNv
bnZlcnRRVmFyaWFudFRvVmFsdWUoRXhlY1N0YXRlKiBleGVjLCBQYXNzUmVmUHRyPFJvb3RPYmpl
Y3Q+IHJvb3QsIGNvbgogCiBjb25zdCBDbGFzc0luZm8gUXRSdW50aW1lTWV0aG9kOjpzX2luZm8g
PSB7ICJRdFJ1bnRpbWVNZXRob2QiLCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pbmZvLCAwLCAwIH07
CiAKLVF0UnVudGltZU1ldGhvZDo6UXRSdW50aW1lTWV0aG9kKFF0UnVudGltZU1ldGhvZERhdGEq
IGRkLCBFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlm
aWVyJiBpZGVudCwgUGFzc1JlZlB0cjxRdEluc3RhbmNlPiBpbnN0KQotICAgIDogSW50ZXJuYWxG
dW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCks
IHN0cnVjdHVyZSwgaWRlbnQpCitRdFJ1bnRpbWVNZXRob2Q6OlF0UnVudGltZU1ldGhvZChRdFJ1
bnRpbWVNZXRob2REYXRhKiBkZCwgRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllciwgUGFzc1JlZlB0cjxRdEluc3RhbmNlPiBp
bnN0YW5jZSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLCBzdHJ1Y3R1cmUpCiAgICAgLCBkX3B0cihkZCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihl
eGVjLCBpZGVudGlmaWVyLCBpbnN0YW5jZSk7Cit9CisKK3ZvaWQgUXRSdW50aW1lTWV0aG9kOjpm
aW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZp
ZXIsIFBhc3NSZWZQdHI8UXRJbnN0YW5jZT4gaW5zdGFuY2UpCit7CisgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCks
IGlkZW50aWZpZXIpOwogICAgIFFXX0QoUXRSdW50aW1lTWV0aG9kKTsKLSAgICBkLT5tX2luc3Rh
bmNlID0gaW5zdDsKKyAgICBkLT5tX2luc3RhbmNlID0gaW5zdGFuY2U7CiAgICAgZC0+bV9maW5h
bGl6ZXIuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgZCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcXQvcXRfcnVudGltZS5oCmluZGV4IGFhZDI5MGNiNmM4MzU0MWRkMThlY2MxYTVjZGE3
ZDQ1Mzk2NmViODkuLjQwOThlNDk3ZTBmZGVmYTZiNzI0MjJhMWJiMWZjOWQ1NzYwOGMxYmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuaApAQCAtMTQzLDYgKzE0Myw3IEBAIHB1
YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNT
dGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQYXNzUmVmUHRyPFF0SW5zdGFuY2U+KTsKICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9w
ZXJ0eVNsb3QgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwgSW50ZXJuYWxGdW5jdGlvbjo6
U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlkZXNWaXNpdENoaWxkcmVuOwogCiAgICAgUXRSdW50aW1l
TWV0aG9kRGF0YSAqZF9mdW5jKCkgY29uc3Qge3JldHVybiBkX3B0cjt9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9hcnJheS5jcHAKaW5kZXggZTAxYTE1ZjM3Y2M5MWM0NThlZGExNDFjNzQ4
NmQ4YzI2OWM2ZGNiMC4uOGEwMzdmOTI0ZGNhYTgyMDljNzE4MTcyZTFhOGM4ZGM3NDUzYzMzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNwcApAQCAtMzcsMTAgKzM3LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNvbnN0IENsYXNzSW5mbyBSdW50aW1lQXJyYXk6OnNfaW5m
byA9IHsgIlJ1bnRpbWVBcnJheSIsICZKU0FycmF5OjpzX2luZm8sIDAsIDAgfTsKIAotUnVudGlt
ZUFycmF5OjpSdW50aW1lQXJyYXkoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgQmluZGluZ3M6OkFycmF5KiBhcnJheSkKK1J1bnRpbWVBcnJheTo6UnVudGltZUFycmF5KEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBKU0FycmF5KGV4ZWMt
Pmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogewotICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmds
b2JhbERhdGEoKSwgYXJyYXkpOwogfQogCiB2b2lkIFJ1bnRpbWVBcnJheTo6ZmluaXNoQ3JlYXRp
b24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBCaW5kaW5nczo6QXJyYXkqIGFycmF5KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKaW5kZXggMTAyMWU3ZDIwNjNkMGU2ZjM1OWNj
ZThmYjdkOGU1OWI4NjVhOGIyMy4uNmNiOGViMzNkN2RjNjViMGQ0MzZhMGFiY2ZhMGZmYWQ4ZmFj
ODg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCkBAIC00MSw3ICs0MSw5
IEBAIHB1YmxpYzoKICAgICAgICAgLy8gRklYTUU6IGRlcHJlY2F0ZWRHZXRET01TdHJ1Y3R1cmUg
dXNlcyB0aGUgcHJvdG90eXBlIG9mZiBvZiB0aGUgd3JvbmcgZ2xvYmFsIG9iamVjdAogICAgICAg
ICAvLyBXZSBuZWVkIHRvIHBhc3MgaW4gdGhlIHJpZ2h0IGdsb2JhbCBvYmplY3QgZm9yICJhcnJh
eSIuCiAgICAgICAgIFN0cnVjdHVyZSogZG9tU3RydWN0dXJlID0gV2ViQ29yZTo6ZGVwcmVjYXRl
ZEdldERPTVN0cnVjdHVyZTxSdW50aW1lQXJyYXk+KGV4ZWMpOwotICAgICAgICByZXR1cm4gbmV3
IChhbGxvY2F0ZUNlbGw8UnVudGltZUFycmF5PigqZXhlYy0+aGVhcCgpKSkgUnVudGltZUFycmF5
KGV4ZWMsIGRvbVN0cnVjdHVyZSwgYXJyYXkpOworICAgICAgICBSdW50aW1lQXJyYXkqIHJ1bnRp
bWVBcnJheSA9IG5ldyAoYWxsb2NhdGVDZWxsPFJ1bnRpbWVBcnJheT4oKmV4ZWMtPmhlYXAoKSkp
IFJ1bnRpbWVBcnJheShleGVjLCBkb21TdHJ1Y3R1cmUpOworICAgICAgICBydW50aW1lQXJyYXkt
PmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgYXJyYXkpOworICAgICAgICByZXR1
cm4gcnVudGltZUFycmF5OwogICAgIH0KIAogICAgIHR5cGVkZWYgQmluZGluZ3M6OkFycmF5IEJp
bmRpbmdzQXJyYXk7CkBAIC03OSw3ICs4MSw3IEBAIHByb3RlY3RlZDoKICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Qg
fCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwgSlNBcnJheTo6U3RydWN0dXJlRmxhZ3M7CiAK
IHByaXZhdGU6Ci0gICAgUnVudGltZUFycmF5KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIEJpbmRp
bmdzOjpBcnJheSopOworICAgIFJ1bnRpbWVBcnJheShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKTsK
ICAgICBzdGF0aWMgSlNWYWx1ZSBsZW5ndGhHZXR0ZXIoRXhlY1N0YXRlKiwgSlNWYWx1ZSwgY29u
c3QgSWRlbnRpZmllciYpOwogICAgIHN0YXRpYyBKU1ZhbHVlIGluZGV4R2V0dGVyKEV4ZWNTdGF0
ZSosIEpTVmFsdWUsIHVuc2lnbmVkKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9tZXRob2QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVf
bWV0aG9kLmNwcAppbmRleCAyOGZiZDNmOWMwZDkxODA2MWU2OWZiMTQ0YWRiZTliYjU4NGYxMzlj
Li5kMTRmNTRmMThmMWNlMjU1NGFjZTViNDZlNzJkZmM2OGI4MjFjOTRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAKQEAgLTQ1LDkgKzQ1LDE1IEBAIGNvbnN0IENs
YXNzSW5mbyBSdW50aW1lTWV0aG9kOjpzX2luZm8gPSB7ICJSdW50aW1lTWV0aG9kIiwgJkludGVy
bmFsRnVuY3Rpb246OnNfCiAKIFJ1bnRpbWVNZXRob2Q6OlJ1bnRpbWVNZXRob2QoRXhlY1N0YXRl
KiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEJpbmRpbmdzOjpNZXRob2RMaXN0JiBtKQogICAg
IC8vIENhbGxlcnMgd2lsbCBuZWVkIHRvIHBhc3MgaW4gdGhlIHJpZ2h0IGdsb2JhbCBvYmplY3Qg
Y29ycmVzcG9uZGluZyB0byB0aGlzIG5hdGl2ZSBvYmplY3QgIm0iLgotICAgIDogSW50ZXJuYWxG
dW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaWRl
bnQpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogICAg
ICwgX21ldGhvZExpc3QoYWRvcHRQdHIobmV3IE1ldGhvZExpc3QobSkpKQogeworICAgIGZpbmlz
aENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBpZGVudCk7Cit9CisK
K3ZvaWQgUnVudGltZU1ldGhvZDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3Qs
IGlkZW50KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX21ldGhvZC5oCmluZGV4IGNmODIwNzNkZWE3YjBlMjRlNmUwMWQwYzI3
MzE5MDkxNDFmNzExN2YuLmI0NGU3OTY4ZDYxNThmNDIyMzY1NjIwMzRhNmU0M2I5ZjdkZWRiYjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5oCkBAIC01OCw2ICs1OCw3IEBA
IHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIFJ1bnRpbWVNZXRob2QoRXhlY1N0YXRlKiwgSlNH
bG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lLCBCaW5kaW5n
czo6TWV0aG9kTGlzdCYpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwg
SlNHbG9iYWxPYmplY3QqLCBjb25zdCBJZGVudGlmaWVyJik7CiAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50
ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAppbmRleCA5NjY0MGYwMDhmYWMxYWM0NzE3NjRmZjg1
ZTNiOGY2NDViOTJiZjJjLi45YmZlNDY3OWJjMGJlY2Y3MDk2ZGViNTY0MDQwZjIzOTcyNzQ5NDY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5jcHAKQEAgLTQxLDcgKzQx
LDYgQEAgUnVudGltZU9iamVjdDo6UnVudGltZU9iamVjdChFeGVjU3RhdGUqLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUKICAgICA6IEpTT2JqZWN0V2l0aEdsb2JhbE9i
amVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAsIG1faW5zdGFuY2UoaW5zdGFuY2Up
CiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9pZCBSdW50aW1l
T2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaAppbmRleCBkOGUwMGZjMzQ3N2E5OTc3ZThh
YjQwNzlkYWFjZTQyOWY4YTNmZjU4Li42MjBkOTBjZDE2MWFhM2MxZjMzMzNjNTRiMThhMGExZDRk
YTRjZTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaApAQCAtMzksNyAr
MzksOSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgUnVudGltZU9iamVjdCogY3JlYXRlKEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIFBhc3NSZWZQdHI8SW5zdGFuY2U+IGluc3RhbmNlKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFJ1bnRpbWVPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBSdW50
aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5jZSk7CisgICAg
ICAgIFJ1bnRpbWVPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPFJ1bnRpbWVPYmpl
Y3Q+KCpleGVjLT5oZWFwKCkpKSBSdW50aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3Ry
dWN0dXJlLCBpbnN0YW5jZSk7CisgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFs
T2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5S
dW50aW1lT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggODk2MzBlM2RkMzlkNGQxYWIzNjg4
YTVhZDNjNGE4ZDUwY2MxZTIzZC4uZDRjZGEzM2E3NmQ3MWI4NDM4MjlmMGM2MmUyMGRjODNiOWFj
NDIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTA5LTA2ICBNYXJr
IEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVW56aXAgaW5p
dGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBKU0NlbGwgaGllcmFyY2h5ICg1
LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQy
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbXBs
ZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2YgdGhlIHJlZmFjdG9yaW5nIHRvIGFkZCBmaW5pc2hDcmVh
dGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBjbGFzc2VzIHdpdGhpbiB0aGUgSlNDZWxs
IGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAgICAgICBjb25zdHJ1Y3RvciBib2RpZXMu
CisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lzdHMgb2YgcHVzaGluZyB0aGUgY2FsbHMg
dG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAgICBpbnRvIHRoZSBjb25zdHJ1Y3RvcnMg
b2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBsZXZlbCBvZiB0aGUgaGllcmFyY2h5IAor
ICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZpbmlzaENyZWF0aW9uKCkgY2FsbHMgb3V0
IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZworICAgICAgICBjcmVhdGUoKSBtZXRob2Qg
aWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0YW5lb3VzbHkgYWxsb3dzIHVzIHRvIAor
ICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRoYXQgdGhlIGZpbmlzaENyZWF0aW9uKCkg
bWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAorICAgICAgICBvbmNlIGR1cmluZyB0aGUg
Y3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxsaW5nIGl0IGFueSBvdGhlciBudW1iZXIg
b2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3JlKSB3aWxsIGNhdXNlIGFuIGFzc2VydGlv
biBmYWlsdXJlLgorCisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0
Lmg6CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lm1tOgorICAg
ICAgICAoV2ViS2l0OjpQcm94eVJ1bnRpbWVPYmplY3Q6OlByb3h5UnVudGltZU9iamVjdCk6Cisg
ICAgICAgIChXZWJLaXQ6OlByb3h5UnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgorCiAy
MDExLTA5LTA1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgQW4g
b2JqZWN0J3Mgc3RydWN0dXJlIHNob3VsZCByZWZlcmVuY2UgdGhlIGdsb2JhbCBvYmplY3QgcmVz
cG9uc2libGUgZm9yIGl0cyBjcmVhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QuaAppbmRleCAzMTM3MTVhZWE0YjQzZWNm
MDBlZGVkZWNlYTJkOWY2NDk1YzM5NWIwLi41YWU5ODM4NTA0MDRmNTFjNjQ2ZTgyZmI3Mjg2Yzc1
YTk1ZGQ3MzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Q
cm94eVJ1bnRpbWVPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9Qcm94eVJ1bnRpbWVPYmplY3QuaApAQCAtNTksNiArNTksNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIGNvbnN0IEpTQzo6Q2xhc3NJbmZvIHNfaW5mbzsKIHByaXZhdGU6CiAgICAgUHJveHlSdW50
aW1lT2JqZWN0KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6U3Ry
dWN0dXJlKiwgUGFzc1JlZlB0cjxQcm94eUluc3RhbmNlPik7CisgICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QubW0KaW5kZXggOGE2
NDgxZTNkNDUyY2IzZmI2ZjgxYjFlZjAzNTY5MzAxYmIzMGM0Yy4uNWNiMjc0OWM5Mjg4MzlhODUz
YTQxYmQ5NTQwNTM4NTQ1ZmFlNTgxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbQpAQCAtMzksNiArMzksMTIgQEAg
Y29uc3QgQ2xhc3NJbmZvIFByb3h5UnVudGltZU9iamVjdDo6c19pbmZvID0geyAiUHJveHlSdW50
aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmoKIFByb3h5UnVudGltZU9iamVjdDo6UHJveHlSdW50aW1l
T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8UHJveHlJbnN0YW5jZT4gaW5zdGFuY2UpCiAg
ICAgOiBSdW50aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5j
ZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOworfQorCit2b2lkIFByb3h5
UnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogICAgIEFTU0VS
VChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4MTYzMmY3ZmFjODVlOTZk
OWI5MzdkYmQ0OTJiMzdkYzc4MzlhMTZiLi4yNjNiOGE2YjU1MWZhOGQyNTIwOGEzYzMzZDE3ODcx
NzA0NWY0MWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDktMDYgIE1hcmsg
SGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBVbnppcCBpbml0
aWFsaXphdGlvbiBsaXN0cyBhbmQgY29uc3RydWN0b3JzIGluIEpTQ2VsbCBoaWVyYXJjaHkgKDUv
NykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29tcGxl
dGVkIHRoZSBmaWZ0aCBsZXZlbCBvZiB0aGUgcmVmYWN0b3JpbmcgdG8gYWRkIGZpbmlzaENyZWF0
aW9uKCkgCisgICAgICAgIG1ldGhvZHMgdG8gYWxsIGNsYXNzZXMgd2l0aGluIHRoZSBKU0NlbGwg
aGllcmFyY2h5IHdpdGggbm9uLXRyaXZpYWwgCisgICAgICAgIGNvbnN0cnVjdG9yIGJvZGllcy4K
KworICAgICAgICBUaGlzIHByaW1hcmlseSBjb25zaXN0cyBvZiBwdXNoaW5nIHRoZSBjYWxscyB0
byBmaW5pc2hDcmVhdGlvbigpIGRvd24gCisgICAgICAgIGludG8gdGhlIGNvbnN0cnVjdG9ycyBv
ZiB0aGUgc3ViY2xhc3NlcyBvZiB0aGUgc2Vjb25kIGxldmVsIG9mIHRoZSBoaWVyYXJjaHkgCisg
ICAgICAgIGFzIHdlbGwgYXMgcHVsbGluZyB0aGUgZmluaXNoQ3JlYXRpb24oKSBjYWxscyBvdXQg
aW50byB0aGUgY2xhc3MncyBjb3JyZXNwb25kaW5nCisgICAgICAgIGNyZWF0ZSgpIG1ldGhvZCBp
ZiBpdCBoYXMgb25lLiAgRG9pbmcgYm90aCBzaW11bHRhbmVvdXNseSBhbGxvd3MgdXMgdG8gCisg
ICAgICAgIG1haW50YWluIHRoZSBpbnZhcmlhbnQgdGhhdCB0aGUgZmluaXNoQ3JlYXRpb24oKSBt
ZXRob2QgY2hhaW4gaXMgY2FsbGVkIGV4YWN0bHkgCisgICAgICAgIG9uY2UgZHVyaW5nIHRoZSBj
cmVhdGlvbiBvZiBhbiBvYmplY3QsIHNpbmNlIGNhbGxpbmcgaXQgYW55IG90aGVyIG51bWJlciBv
ZiAKKyAgICAgICAgdGltZXMgKDAsIDIsIG9yIG1vcmUpIHdpbGwgY2F1c2UgYW4gYXNzZXJ0aW9u
IGZhaWx1cmUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1l
dGhvZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkpTTlBNZXRob2Q6OkpTTlBNZXRob2QpOgorICAg
ICAgICAoV2ViS2l0OjpKU05QTWV0aG9kOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuaDoKKyAgICAgICAgKFdlYktpdDo6
SlNOUE1ldGhvZDo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvSlNOUE9iamVjdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6OkpTTlBPYmpl
Y3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0Lmg6
CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6OmNyZWF0ZSk6CisKIDIwMTEtMDktMDUgIE9s
aXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBbiBvYmplY3QncyBzdHJ1
Y3R1cmUgc2hvdWxkIHJlZmVyZW5jZSB0aGUgZ2xvYmFsIG9iamVjdCByZXNwb25zaWJsZSBmb3Ig
aXRzIGNyZWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAKaW5kZXggOGJiNTk2OWYxMDc2OGRiMzVmOWFk
MGRiOTQ3OWNmOGE2NmVmYTVhMy4uMDY1ODZkOTc0ZjExODMzZWIyMmNmYTU2MmRjYTAzMDU0YTEw
MjA5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL0pTTlBNZXRob2QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0Vycm9yLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRnVuY3Rpb25Q
cm90b3R5cGUuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0dsb2JhbE9iamVjdC5oPgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9K
U0hUTUxFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9KU1BsdWdpbkVsZW1lbnRGdW5jdGlv
bnMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CkBAIC00MSwxNyArNDIs
MTYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNvbnN0IENsYXNzSW5mbyBKU05QTWV0aG9kOjpz
X2luZm8gPSB7ICJOUE1ldGhvZCIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsK
IAotSlNOUE1ldGhvZDo6SlNOUE1ldGhvZChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImIG5hbWUsIE5QSWRlbnRpZmllciBucElk
ZW50aWZpZXIsIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigm
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgbmFtZSkKLSAgICAs
IG1fbnBJZGVudGlmaWVyKG5wSWRlbnRpZmllcikKK0pTTlBNZXRob2Q6OkpTTlBNZXRob2QoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgbmFtZSwgTlBJZGVudGlmaWVyIG5wSWRlbnRpZmll
cikKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7Ci0g
ICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgbmFtZSk7CiB9CiAKLUpTTlBNZXRob2QqIEpTTlBN
ZXRob2Q6OmNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBOUElkZW50aWZpZXIgbnBJZGVudCkKK3ZvaWQg
SlNOUE1ldGhvZDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewotICAg
IEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFs
RGF0YSgpLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+ZnVuY3Rpb25Qcm90b3R5cGUoKSk7
Ci0gICAgcmV0dXJuIG5ldyAoSlNDOjphbGxvY2F0ZUNlbGw8SlNOUE1ldGhvZD4oKmV4ZWMtPmhl
YXAoKSkpIEpTTlBNZXRob2QoZXhlYywgZ2xvYmFsT2JqZWN0LCBpZGVudCwgbnBJZGVudCwgc3Ry
dWN0dXJlKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxPYmpl
Y3QsIG5hbWUpOworICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKIHN0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxNZXRob2QoRXhlY1N0YXRlKiBleGVjKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pT
TlBNZXRob2QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9K
U05QTWV0aG9kLmgKaW5kZXggZWY5Y2U5NDVkYzk1YjM3M2QxOTBhMTlhNTFhMjhiZTBiNDA2Mzk3
ZC4uZDFkYThjMjY2ZTI5MzRiMWExNzE1MDY4MGM4NTQyZDMwMzhlOGM5YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhv
ZC5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIEpTTlBNZXRob2RfaAogI2RlZmluZSBKU05Q
TWV0aG9kX2gKIAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Z1bmN0aW9uUHJvdG90eXBlLmg+
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW50ZXJuYWxGdW5jdGlvbi5oPgogCiB0eXBlZGVm
IHZvaWQqIE5QSWRlbnRpZmllcjsKQEAgLTM3LDE0ICszOCwyMSBAQCBjbGFzcyBKU05QTWV0aG9k
IDogcHVibGljIEpTQzo6SW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBK
U0M6OkludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBKU05QTWV0aG9kKiBjcmVh
dGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3QgSlNDOjpJZGVu
dGlmaWVyJiwgTlBJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgSlNOUE1ldGhvZCogY3JlYXRlKEpT
Qzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYgaWRlbnQsIE5QSWRlbnRpZmllciBucElkZW50KQorICAgIHsK
KyAgICAgICAgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNyZWF0ZVN0cnVjdHVyZShleGVj
LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5mdW5jdGlvblByb3Rv
dHlwZSgpKTsKKyAgICAgICAgcmV0dXJuIG5ldyAoSlNDOjphbGxvY2F0ZUNlbGw8SlNOUE1ldGhv
ZD4oKmV4ZWMtPmhlYXAoKSkpIEpTTlBNZXRob2QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1
cmUsIGlkZW50LCBucElkZW50KTsKKyAgICB9CiAKICAgICBzdGF0aWMgY29uc3QgSlNDOjpDbGFz
c0luZm8gc19pbmZvOwogCiAgICAgTlBJZGVudGlmaWVyIG5wSWRlbnRpZmllcigpIGNvbnN0IHsg
cmV0dXJuIG1fbnBJZGVudGlmaWVyOyB9CiAKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTQzo6SlNHbG9iYWxEYXRhJiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYgbmFtZSk7CisKIHByaXZhdGU6ICAgIAotICAgIEpTTlBNZXRob2QoSlND
OjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiwgTlBJZGVudGlmaWVyLCBKU0M6OlN0cnVjdHVyZSopOworICAgIEpTTlBNZXRob2QoSlNDOjpF
eGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBjb25zdCBK
U0M6OklkZW50aWZpZXImLCBOUElkZW50aWZpZXIpOwogCiAgICAgc3RhdGljIEpTQzo6U3RydWN0
dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTQzo6
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvSlNOUE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvSlNOUE9iamVjdC5jcHAKaW5kZXggNmVkNjlhMTljNjA5YzBhNjM4N2EwYWUwNDIzY2Qw
ZjVkZTU5NWYzNC4uOTlhM2I4ODdlYWJmYTVmMWY1ZDIxNGQ1OTRmMzM0M2YxNjhlOTA5NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9KU05QT2JqZWN0LmNwcApAQCAtNTAsMTIgKzUwLDExIEBAIHN0YXRpYyBOUElkZW50aWZpZXIg
bnBJZGVudGlmaWVyRnJvbUlkZW50aWZpZXIoY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikK
IAogY29uc3QgQ2xhc3NJbmZvIEpTTlBPYmplY3Q6OnNfaW5mbyA9IHsgIk5QT2JqZWN0IiwgJkpT
T2JqZWN0V2l0aEdsb2JhbE9iamVjdDo6c19pbmZvLCAwLCAwIH07CiAKLUpTTlBPYmplY3Q6OkpT
TlBPYmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTlBSdW50aW1lT2JqZWN0TWFw
KiBvYmplY3RNYXAsIE5QT2JqZWN0KiBucE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitK
U05QT2JqZWN0OjpKU05QT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwgTlBPYmplY3Qq
IG5wT2JqZWN0KQogICAgIDogSlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlKQogICAgICwgbV9vYmplY3RNYXAob2JqZWN0TWFwKQogICAgICwgbV9ucE9iamVj
dChucE9iamVjdCkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiB2
b2lkIEpTTlBPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCkBAIC02OSwxMiArNjgsNiBAQCB2b2lkIEpTTlBPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgcmV0YWluTlBPYmplY3QobV9ucE9iamVj
dCk7CiB9CiAKLUpTTlBPYmplY3QqIEpTTlBPYmplY3Q6OmNyZWF0ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFwLCBOUE9iamVj
dCogbnBPYmplY3QpCi17Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjcmVhdGVTdHJ1Y3R1
cmUoZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0
LT5vYmplY3RQcm90b3R5cGUoKSk7Ci0gICAgcmV0dXJuIG5ldyAoSlNDOjphbGxvY2F0ZUNlbGw8
SlNOUE9iamVjdD4oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCkuaGVhcCkpIEpTTlBPYmplY3Qo
Z2xvYmFsT2JqZWN0LCBvYmplY3RNYXAsIG5wT2JqZWN0LCBzdHJ1Y3R1cmUpOwotfQotCiBKU05Q
T2JqZWN0Ojp+SlNOUE9iamVjdCgpCiB7CiAgICAgQVNTRVJUKCFtX25wT2JqZWN0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2Jq
ZWN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9i
amVjdC5oCmluZGV4IDBiYmQ1YjU2MjlkN2I5ZGJjMDgyOTY1N2JmNDJkOGJkNTlkZjI3NzEuLmMw
NzRhOGMyNjgwNWUzZTg5ZjgyOGRkNTljZGEwMmE2MjNjYzU2OWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaApA
QCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBKU05QT2JqZWN0X2gKIAogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0pTT2JqZWN0V2l0aEdsb2JhbE9iamVjdC5oPgorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL09iamVjdFByb3RvdHlwZS5oPgogCiB0eXBlZGVmIHZvaWQqIE5QSWRlbnRpZmllcjsK
IHN0cnVjdCBOUE9iamVjdDsKQEAgLTQxLDcgKzQyLDE0IEBAIGNsYXNzIEpTTlBPYmplY3QgOiBw
dWJsaWMgSlNDOjpKU09iamVjdFdpdGhHbG9iYWxPYmplY3QgewogcHVibGljOgogICAgIHR5cGVk
ZWYgSlNDOjpKU09iamVjdFdpdGhHbG9iYWxPYmplY3QgQmFzZTsKIAotICAgIHN0YXRpYyBKU05Q
T2JqZWN0KiBjcmVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIE5QUnVudGltZU9iamVjdE1hcCos
IE5QT2JqZWN0Kik7CisgICAgc3RhdGljIEpTTlBPYmplY3QqIGNyZWF0ZShKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFwLCBOUE9i
amVjdCogbnBPYmplY3QpCisgICAgeworICAgICAgICBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJl
ID0gY3JlYXRlU3RydWN0dXJlKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmpl
Y3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCkpOworICAgICAgICBKU05QT2JqZWN0
KiBvYmplY3QgPSBuZXcgKEpTQzo6YWxsb2NhdGVDZWxsPEpTTlBPYmplY3Q+KGdsb2JhbE9iamVj
dC0+Z2xvYmFsRGF0YSgpLmhlYXApKSBKU05QT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJl
LCBvYmplY3RNYXAsIG5wT2JqZWN0KTsKKyAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbihn
bG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gb2JqZWN0OworICAgIH0KKwogICAgIH5KU05Q
T2JqZWN0KCk7CiAKICAgICB2b2lkIGludmFsaWRhdGUoKTsKQEAgLTYxLDcgKzY5LDcgQEAgcHJv
dGVjdGVkOgogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpKU0dsb2JhbE9iamVjdCopOwog
CiBwcml2YXRlOgotICAgIEpTTlBPYmplY3QoSlNDOjpKU0dsb2JhbE9iamVjdCosIE5QUnVudGlt
ZU9iamVjdE1hcCosIE5QT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqKTsKKyAgICBKU05QT2JqZWN0
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlN0cnVjdHVyZSosIE5QUnVudGltZU9iamVjdE1h
cCosIE5QT2JqZWN0Kik7CiAKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxh
Z3MgPSBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpTQzo6T3ZlcnJpZGVzR2V0
UHJvcGVydHlOYW1lcyB8IEpTT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106681</attachid>
            <date>2011-09-07 18:57:01 -0700</date>
            <delta_ts>2011-09-08 10:26:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67420-20110907185700.patch</filename>
            <type>text/plain</type>
            <size>122943</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ3MTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRleCAxZjcyNzAxYzdmZWJiMjE3NDk4
ODlkNDExNDg5OThkZWNmYWRiYmI2Li5iMjM0OGFmZTg3ZTNkMTI2ZDMzOThmMDg3YjM2MzRiMWEz
ZTViYmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwCkBAIC00Myw3ICs0Myw2IEBAIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6
SlNDYWxsYmFja0NvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
CiAgICAgLCBtX2NsYXNzKGpzQ2xhc3MpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCwganNDbGFzcyk7CiB9CiAKIHZvaWQgSlND
YWxsYmFja0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NsYXNzUmVmIGpzQ2xhc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAppbmRleCBlNTEyN2ExYWQzYmUyNjQ3MWFlMzdm
YjdhMjJiOTUyODNmNjg3OTNmLi5hNmYxYmNkNGVjMTgyNmZkNjU3NjZmZDlhNDg5YzEzOGUzYTky
YzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmgKQEAgLTM3LDcgKzM3LDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIEpTQ2FsbGJh
Y2tDb25zdHJ1Y3RvciogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQ2xhc3NSZWYgY2xhc3NSZWYsIEpT
T2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayBjYWxsYmFjaykgCiAgICAgewotICAgICAg
ICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBKU0NhbGxiYWNrQ29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0LCBjbGFzc1JlZik7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAg
ICB9CiAgICAgCiAgICAgdmlydHVhbCB+SlNDYWxsYmFja0NvbnN0cnVjdG9yKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKaW5kZXggMjhi
MzQxOTIzZGMzNTBlNDNmODhlYzk3MjBkY2U1YjM0M2RiYzRhNy4uNjRkNTEzZTJlYWY0NDM1OGJl
ZTI3NzRmZGQ2YTc3OGQzZDBkNGU5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcApAQCAtNDMsOSArNDMsMTUgQEAgQVNTRVJUX0NMQVNT
X0ZJVFNfSU5fQ0VMTChKU0NhbGxiYWNrRnVuY3Rpb24pOwogY29uc3QgQ2xhc3NJbmZvIEpTQ2Fs
bGJhY2tGdW5jdGlvbjo6c19pbmZvID0geyAiQ2FsbGJhY2tGdW5jdGlvbiIsICZJbnRlcm5hbEZ1
bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAogSlNDYWxsYmFja0Z1bmN0aW9uOjpKU0NhbGxiYWNr
RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2Jh
bE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCksIG5hbWUp
CisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxs
YmFja0Z1bmN0aW9uU3RydWN0dXJlKCkpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewor
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgbmFtZSk7Cit9CisKK3ZvaWQg
SlNDYWxsYmFja0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsRGF0YSwgbmFtZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmgKaW5kZXgg
N2ViYzc4ODUxMGJkNzIxNDM2NmQwZjM1ZTEyMDgwZWYwNjExNzBkNy4uMzk2OTA0ODQ3MGIxZDFl
MDBjN2ZmNjMzNjk5MmZjZmMxNjQwNjMzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogY2xhc3MgSlNDYWxsYmFja0Z1bmN0aW9uIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewog
cHJvdGVjdGVkOgogICAgIEpTQ2FsbGJhY2tGdW5jdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjaywgY29uc3QgSWRlbnRpZmllciYg
bmFtZSk7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmLCBjb25zdCBJZGVu
dGlmaWVyJiBuYW1lKTsKIAogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBC
YXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRl
eCAzM2FhMGZkNGQxMWY4OWU1ZjdjNjg3ZDU5NzRiNTFiNDhhNWM4ZWJiLi42ZmRkZmZiZTNjNjNi
ZDU0NWM2NWJiZGRjM2UxMDdjMDRmYzA5YmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tPYmplY3QuaApAQCAtMTI1LDcgKzEyNSw3IEBAIHByb3RlY3RlZDoKICAg
ICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwdHIpIHsgcmV0dXJuIHB0cjsgfQog
CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqKTsKLSAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKCk7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmKTsKIAogcHVi
bGljOgogICAgIHR5cGVkZWYgUGFyZW50IEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCmluZGV4IGY2MjdjM2JmYjgw
YzZlYWI2NWIzMDJjMTA3MzA5NWFiYjAxYjZmOWMuLjI3YzVjNzY1NjRkMjc4MWRmNzhhYmRlNzI3
YmMyOWRhNjU1YTZlZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
YWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCkBAIC02NCw3ICs2NCw3IEBAIEpTQ2FsbGJhY2tP
YmplY3Q8UGFyZW50Pjo6SlNDYWxsYmFja09iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEs
IEpTQ2xhc3NSZWYKICAgICA6IFBhcmVudChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiAgICAgLCBt
X2NhbGxiYWNrT2JqZWN0RGF0YShhZG9wdFB0cihuZXcgSlNDYWxsYmFja09iamVjdERhdGEoMCwg
anNDbGFzcykpKQogewotICAgIGZpbmlzaENyZWF0aW9uKCk7CisgICAgZmluaXNoQ3JlYXRpb24o
Z2xvYmFsRGF0YSk7CiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+CkBAIC03NSwxMiArNzUs
MTMgQEAgdm9pZCBKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OmZpbmlzaENyZWF0aW9uKEV4ZWNT
dGF0ZSogZXhlYykKICAgICBpbml0KGV4ZWMpOwogfQogCi0vLyBUaGlzIGlzIGp1c3QgZm9yIEds
b2JhbCBvYmplY3QsIHNvIHdlIGNhbiBhc3N1bWUgdGhhdCBCYXNlOjpmaW5pc2hDcmVhdGlvbiBp
cyBKU0dsb2JhbE9iamVjdDo6Y29uc3RydWN0b3JCb2R5LgorLy8gVGhpcyBpcyBqdXN0IGZvciBH
bG9iYWwgb2JqZWN0LCBzbyB3ZSBjYW4gYXNzdW1lIHRoYXQgQmFzZTo6ZmluaXNoQ3JlYXRpb24g
aXMgSlNHbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uLgogdGVtcGxhdGUgPGNsYXNzIFBhcmVu
dD4KLXZvaWQgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpmaW5pc2hDcmVhdGlvbigpCit2b2lk
IEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhKQogewogICAgIEFTU0VSVChQYXJlbnQ6OmluaGVyaXRzKCZzX2luZm8pKTsKICAg
ICBBU1NFUlQoUGFyZW50Ojppc0dsb2JhbE9iamVjdCgpKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbihnbG9iYWxEYXRhLCB0aGlzKTsKICAgICBpbml0KHN0YXRpY19jYXN0PEpTR2xvYmFsT2Jq
ZWN0Kj4odGhpcyktPmdsb2JhbEV4ZWMoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDE1ZGQ5ODQ4NmY3YTZiNGZhMDA1NDY4MWMwMGQyMDBiYTBhMjgwODEuLjU0MmNiZGIwYjM1
NmM4YzAwYmJkYWQyMTM1MmY4MWE0MWNhZDc4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2NyBAQAorMjAxMS0wOS0wNyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJl
cmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBj
b25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV0ZWQgdGhlIGZpZnRoIGxldmVsIG9m
IHRoZSByZWZhY3RvcmluZyB0byBhZGQgZmluaXNoQ3JlYXRpb24oKSAKKyAgICAgICAgbWV0aG9k
cyB0byBhbGwgY2xhc3NlcyB3aXRoaW4gdGhlIEpTQ2VsbCBoaWVyYXJjaHkgd2l0aCBub24tdHJp
dmlhbCAKKyAgICAgICAgY29uc3RydWN0b3IgYm9kaWVzLgorCisgICAgICAgIFRoaXMgcHJpbWFy
aWx5IGNvbnNpc3RzIG9mIHB1c2hpbmcgdGhlIGNhbGxzIHRvIGZpbmlzaENyZWF0aW9uKCkgZG93
biAKKyAgICAgICAgaW50byB0aGUgY29uc3RydWN0b3JzIG9mIHRoZSBzdWJjbGFzc2VzIG9mIHRo
ZSBzZWNvbmQgbGV2ZWwgb2YgdGhlIGhpZXJhcmNoeSAKKyAgICAgICAgYXMgd2VsbCBhcyBwdWxs
aW5nIHRoZSBmaW5pc2hDcmVhdGlvbigpIGNhbGxzIG91dCBpbnRvIHRoZSBjbGFzcydzIGNvcnJl
c3BvbmRpbmcKKyAgICAgICAgY3JlYXRlKCkgbWV0aG9kIGlmIGl0IGhhcyBvbmUuICBEb2luZyBi
b3RoIHNpbXVsdGFuZW91c2x5IGFsbG93cyB1cyB0byAKKyAgICAgICAgbWFpbnRhaW4gdGhlIGlu
dmFyaWFudCB0aGF0IHRoZSBmaW5pc2hDcmVhdGlvbigpIG1ldGhvZCBjaGFpbiBpcyBjYWxsZWQg
ZXhhY3RseSAKKyAgICAgICAgb25jZSBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIGFuIG9iamVjdCwg
c2luY2UgY2FsbGluZyBpdCBhbnkgb3RoZXIgbnVtYmVyIG9mIAorICAgICAgICB0aW1lcyAoMCwg
Miwgb3IgbW9yZSkgd2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKworICAgICAgICAq
IEFQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNr
Q29uc3RydWN0b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL0pTQ2Fs
bGJhY2tDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29uc3RydWN0b3I6
OmNyZWF0ZSk6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHA6CisgICAgICAg
IChKU0M6OkpTQ2FsbGJhY2tGdW5jdGlvbjo6SlNDYWxsYmFja0Z1bmN0aW9uKToKKyAgICAgICAg
KEpTQzo6SlNDYWxsYmFja0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogQVBJ
L0pTQ2FsbGJhY2tGdW5jdGlvbi5oOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6
CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpT
Qzo6OjpKU0NhbGxiYWNrT2JqZWN0KToKKyAgICAgICAgKEpTQzo6OjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6CisgICAgICAgICogZGVi
dWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKiBkZWJ1Z2dlci9EZWJ1Z2dl
ckFjdGl2YXRpb24uaDoKKyAgICAgICAgKEpTQzo6RGVidWdnZXJBY3RpdmF0aW9uOjpjcmVhdGUp
OgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChHbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKEdsb2JhbE9iamVjdDo6R2xvYmFsT2JqZWN0KToKKyAgICAgICAgKiBy
dW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVj
dG9yOjpBcnJheUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6QXJyYXlDb25zdHJ1Y3Rvcjo6
ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oOgor
ICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpBcnJh
eVByb3RvdHlwZTo6QXJyYXlQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90
b3R5cGUuaDoKKyAgICAgICAgKEpTQzo6QXJyYXlQcm90b3R5cGU6OmNyZWF0ZSk6CisgICAgICAg
ICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpCb29sZWFu
Q29uc3RydWN0b3I6OkJvb2xlYW5Db25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6OkJvb2xlYW5D
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhbkNv
bnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcDoKKyAgICAg
ICAgKEpTQzo6Qm9vbGVhbk9iamVjdDo6Qm9vbGVhbk9iamVjdCk6CisgICAgICAgICogcnVudGlt
ZS9Cb29sZWFuT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkJvb2xlYW5PYmplY3Q6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6
Qm9vbGVhblByb3RvdHlwZTo6Qm9vbGVhblByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkJvb2xl
YW5Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5Q
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6RGF0ZUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpT
Qzo6RGF0ZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9E
YXRlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVJbnN0YW5jZS5jcHA6Cisg
ICAgICAgIChKU0M6OkRhdGVJbnN0YW5jZTo6RGF0ZUluc3RhbmNlKToKKyAgICAgICAgKiBydW50
aW1lL0RhdGVJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpEYXRlSW5zdGFuY2U6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6RGF0
ZVByb3RvdHlwZTo6RGF0ZVByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkRhdGVQcm90b3R5cGU6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0RhdGVQcm90b3R5cGUuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaWN0TW9kZVR5cGVF
cnJvckZ1bmN0aW9uOjpTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkVycm9yQ29uc3RydWN0
b3I6OkVycm9yQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpFcnJvckNvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmg6Cisg
ICAgICAgICogcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OkVycm9y
UHJvdG90eXBlOjpFcnJvclByb3RvdHlwZSk6CisgICAgICAgICogcnVudGltZS9FcnJvclByb3Rv
dHlwZS5oOgorICAgICAgICAoSlNDOjpFcnJvclByb3RvdHlwZTo6Y3JlYXRlKToKKyAgICAgICAg
KiBydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlv
bkNvbnN0cnVjdG9yOjpGdW5jdGlvbkNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6RnVuY3Rp
b25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rp
b25Db25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3Bw
OgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6RnVuY3Rpb25Qcm90b3R5cGUpOgor
ICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGVy
bmFsRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpJbnRlcm5hbEZ1bmN0aW9uOjpJbnRlcm5h
bEZ1bmN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTQWN0aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTQWN0aXZhdGlv
bjo6SlNBY3RpdmF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTQWN0aXZhdGlvbi5oOgorICAg
ICAgICAoSlNDOjpKU0FjdGl2YXRpb246OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6Y3JlYXRlKToKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OkpTR2xvYmFsT2JqZWN0KToKKyAgICAgICAgKiBy
dW50aW1lL0pTT05PYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09OT2JqZWN0OjpKU09OT2Jq
ZWN0KToKKyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNP
Tk9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3Qu
aDoKKyAgICAgICAgKEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAg
KEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6SlNTdGF0aWNTY29wZU9iamVjdCk6CisgICAgICAg
ICogcnVudGltZS9KU1N0cmluZy5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpN
YXRoT2JqZWN0OjpNYXRoT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuaDoK
KyAgICAgICAgKEpTQzo6TWF0aE9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL05h
dGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvckNvbnN0
cnVjdG9yOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBydW50aW1lL05hdGl2
ZUVycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TmF0aXZlRXJyb3JDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5
cGUuY3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlwZTo6TmF0aXZlRXJyb3JQ
cm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuaDoKKyAgICAg
ICAgKiBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6TnVtYmVy
Q29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6TnVtYmVyQ29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0
cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpOdW1iZXJPYmplY3Q6Ok51bWJlck9iamVjdCk6CisgICAgICAgICogcnVudGltZS9OdW1i
ZXJPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6TnVtYmVyT2JqZWN0OjpjcmVhdGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6TnVtYmVyUHJv
dG90eXBlOjpOdW1iZXJQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOdW1iZXJQcm90b3R5cGU6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL051bWJlclByb3RvdHlwZS5oOgor
ICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpP
YmplY3RDb25zdHJ1Y3Rvcjo6T2JqZWN0Q29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpPYmpl
Y3RDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0
Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0cnVjdG9yKToKKyAg
ICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KEpTQzo6UmVnRXhwTWF0Y2hlc0FycmF5OjpSZWdFeHBNYXRjaGVzQXJyYXkpOgorICAgICAgICAq
IHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cE1h
dGNoZXNBcnJheS5oOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpSZWdF
eHBPYmplY3Q6OlJlZ0V4cE9iamVjdCk6CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3Qu
aDoKKyAgICAgICAgKEpTQzo6UmVnRXhwT2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRp
bWUvUmVnRXhwUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwUHJvdG90eXBlOjpS
ZWdFeHBQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29uc3RydWN0b3IpOgor
ICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cmlu
Z09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6U3RyaW5nT2JqZWN0KToK
KyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdC5oOgorICAgICAgICAoSlNDOjpTdHJpbmdP
YmplY3Q6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdPYmplY3RUaGF0TWFzcXVl
cmFkZXNBc1VuZGVmaW5lZC5oOgorICAgICAgICAoSlNDOjpTdHJpbmdPYmplY3RUaGF0TWFzcXVl
cmFkZXNBc1VuZGVmaW5lZDo6U3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQp
OgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6
U3RyaW5nUHJvdG90eXBlOjpTdHJpbmdQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpTdHJpbmdQ
cm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ1Byb3Rv
dHlwZS5oOgorCiAyMDExLTA5LTA3ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVsZWFzZSBtb2RlIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZXhwCmluZGV4IGIwOTViOGFhOTFkMmNlMGVkY2MyMWEwMzkxMWVjYTNiZTgz
NGRiZWEuLmJiZGEwOGNlZWVmYzBmOWYzMzk4ZjliZmJiNzJmZGFlOGZlNzYxNzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMTIyLDggKzEyMiw5IEBAIF9f
Wk4zSlNDMTFQYXJzZXJBcmVuYTVyZXNldEV2CiBfX1pOM0pTQzExY2hlY2tTeW50YXhFUE5TXzlF
eGVjU3RhdGVFUktOU18xMFNvdXJjZUNvZGVFCiBfX1pOM0pTQzExY3JlYXRlRXJyb3JFUE5TXzlF
eGVjU3RhdGVFUktOU183VVN0cmluZ0UKIF9fWk4zSlNDMTFyZWdFeHBGbGFnc0VSS05TXzdVU3Ry
aW5nRQorX19aTjNKU0MxMkRhdGVJbnN0YW5jZTE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9i
YWxEYXRhRWQKIF9fWk4zSlNDMTJEYXRlSW5zdGFuY2U2c19pbmZvRQotX19aTjNKU0MxMkRhdGVJ
bnN0YW5jZUMxRVBOU185RXhlY1N0YXRlRVBOU185U3RydWN0dXJlRWQKK19fWk4zSlNDMTJEYXRl
SW5zdGFuY2VDMUVQTlNfOUV4ZWNTdGF0ZUVQTlNfOVN0cnVjdHVyZUUKIF9fWk4zSlNDMTJKU0ds
b2JhbERhdGExMENsaWVudERhdGFEMkV2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhMTFqc0FycmF5
VlB0ckUKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGExMmNyZWF0ZUxlYWtlZEVOU18xNVRocmVhZFN0
YWNrVHlwZUVOU184SGVhcFNpemVFCkBAIC0xMzcsMTkgKzEzOCwyMSBAQCBfX1pOM0pTQzEySlNH
bG9iYWxEYXRhMTVkdW1wUmVnRXhwVHJhY2VFdgogX19aTjNKU0MxMkpTR2xvYmFsRGF0YTIyY2xl
YXJCdWlsdGluU3RydWN0dXJlc0V2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhNmNyZWF0ZUVOU18x
NVRocmVhZFN0YWNrVHlwZUVOU184SGVhcFNpemVFCiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhRDFF
dgorX19aTjNKU0MxMlJlZ0V4cE9iamVjdDE0ZmluaXNoQ3JlYXRpb25FUE5TXzE0SlNHbG9iYWxP
YmplY3RFCiBfX1pOM0pTQzEyUmVnRXhwT2JqZWN0NnNfaW5mb0UKIF9fWk4zSlNDMTJSZWdFeHBP
YmplY3RDMUVQTlNfMTRKU0dsb2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUVQTlNfNlJlZ0V4cEUK
IF9fWk4zSlNDMTJTYW1wbGluZ1Rvb2w1c2V0dXBFdgogX19aTjNKU0MxMlNtYWxsU3RyaW5nczE3
Y3JlYXRlRW1wdHlTdHJpbmdFUE5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MxMlNtYWxsU3Ry
aW5nczI3Y3JlYXRlU2luZ2xlQ2hhcmFjdGVyU3RyaW5nRVBOU18xMkpTR2xvYmFsRGF0YUVoCiBf
X1pOM0pTQzEyU3RyaW5nT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05T
XzEwSWRlbnRpZmllckUKK19fWk4zSlNDMTJTdHJpbmdPYmplY3QxNGZpbmlzaENyZWF0aW9uRVJO
U18xMkpTR2xvYmFsRGF0YUVQTlNfOEpTU3RyaW5nRQogX19aTjNKU0MxMlN0cmluZ09iamVjdDE4
Z2V0T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18x
MlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxOGdldE93blByb3BlcnR5U2xv
dEVQTlNfOUV4ZWNTdGF0ZUVqUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0MxMlN0cmluZ09i
amVjdDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9wZXJ0eU5h
bWVBcnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QyNGdl
dE93blByb3BlcnR5RGVzY3JpcHRvckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVS
TlNfMThQcm9wZXJ0eURlc2NyaXB0b3JFCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0M3B1dEVQTlNf
OUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQdXRQcm9wZXJ0
eVNsb3RFCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0NnNfaW5mb0UKLV9fWk4zSlNDMTJTdHJpbmdP
YmplY3RDMkVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzlTdHJ1Y3R1cmVFUE5TXzhKU1N0cmluZ0UK
K19fWk4zSlNDMTJTdHJpbmdPYmplY3RDMkVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzlTdHJ1Y3R1
cmVFCiBfX1pOM0pTQzEzU2FtcGxpbmdGbGFnczRzdG9wRXYKIF9fWk4zSlNDMTNTYW1wbGluZ0Zs
YWdzNXN0YXJ0RXYKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdzN3NfZmxhZ3NFCkBAIC0xODAsOSAr
MTgzLDEwIEBAIF9fWk4zSlNDMTVXZWFrSGFuZGxlT3duZXI4ZmluYWxpemVFTlNfNkhhbmRsZUlO
U183VW5rbm93bkVFRVB2CiBfX1pOM0pTQzE1V2Vha0hhbmRsZU93bmVyRDJFdgogX19aTjNKU0Mx
NWNyZWF0ZVR5cGVFcnJvckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzdVU3RyaW5nRQogX19aTjNKU0Mx
NkludGVybmFsRnVuY3Rpb24xMnZ0YWJsZUFuY2hvckV2CitfX1pOM0pTQzE2SW50ZXJuYWxGdW5j
dGlvbjE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRVJLTlNfMTBJZGVudGlmaWVy
RQogX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb240bmFtZUVQTlNfOUV4ZWNTdGF0ZUUKIF9fWk4z
SlNDMTZJbnRlcm5hbEZ1bmN0aW9uNnNfaW5mb0UKLV9fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0aW9u
QzJFUE5TXzEySlNHbG9iYWxEYXRhRVBOU18xNEpTR2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJl
RVJLTlNfMTBJZGVudGlmaWVyRQorX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb25DMkVQTlNfMTRK
U0dsb2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUUKIF9fWk4zSlNDMTZKU1ZhcmlhYmxlT2JqZWN0
MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKIF9fWk4z
SlNDMTZKU1ZhcmlhYmxlT2JqZWN0MTRzeW1ib2xUYWJsZUdldEVSS05TXzEwSWRlbnRpZmllckVS
TlNfMThQcm9wZXJ0eURlc2NyaXB0b3JFCiBfX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVjdDE5Z2V0
T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9wZXJ0eU5hbWVBcnJheUVO
U18xNUVudW1lcmF0aW9uTW9kZUUKQEAgLTE5NCw3ICsxOTgsOCBAQCBfX1pOM0pTQzE3Qnl0ZWNv
ZGVHZW5lcmF0b3IyMXNldER1bXBzR2VuZXJhdGVkQ29kZUViCiBfX1pOM0pTQzE3UHJvcGVydHlO
YW1lQXJyYXkzYWRkRVBOM1dURjEwU3RyaW5nSW1wbEUKIF9fWk4zSlNDMTdjb25zdHJ1Y3RGdW5j
dGlvbkVQTlNfOUV4ZWNTdGF0ZUVQTlNfMTRKU0dsb2JhbE9iamVjdEVSS05TXzdBcmdMaXN0RVJL
TlNfMTBJZGVudGlmaWVyRVJLTlNfN1VTdHJpbmdFaQogX19aTjNKU0MxN2NyZWF0ZVN5bnRheEVy
cm9yRVBOU185RXhlY1N0YXRlRVJLTlNfN1VTdHJpbmdFCi1fX1pOM0pTQzE4RGVidWdnZXJBY3Rp
dmF0aW9uNmNyZWF0ZUVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzhKU09iamVjdEUKK19fWk4zSlND
MThEZWJ1Z2dlckFjdGl2YXRpb24xNGZpbmlzaENyZWF0aW9uRVJOU18xMkpTR2xvYmFsRGF0YUVQ
TlNfOEpTT2JqZWN0RQorX19aTjNKU0MxOERlYnVnZ2VyQWN0aXZhdGlvbkMxRVJOU18xMkpTR2xv
YmFsRGF0YUUKIF9fWk4zSlNDMThQcm9wZXJ0eURlc2NyaXB0b3IxMXNldFdyaXRhYmxlRWIKIF9f
Wk4zSlNDMThQcm9wZXJ0eURlc2NyaXB0b3IxMnNldFVuZGVmaW5lZEV2CiBfX1pOM0pTQzE4UHJv
cGVydHlEZXNjcmlwdG9yMTNzZXREZXNjcmlwdG9yRU5TXzdKU1ZhbHVlRWoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKaW5kZXggYzNiNWQ5
MmE0MzI3MjQxODRkYTI4NmZjNDVjZGU2MTliNjA2NTg3ZS4uYjkxYjdiMTgwZWQwYWM2OGRhYjgz
OWI3MjI1OTA4NzM2ZTMwYTEyMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTMsMTEgKzMsMTEgQEAgRVhQT1JUUwogICAgID8/
MENTdHJpbmdAV1RGQEBRQUVAUEJEQFoKICAgICA/PzBDU3RyaW5nQFdURkBAUUFFQFBCRElAWgog
ICAgID8/MENvbGxhdG9yQFdURkBAUUFFQFBCREBaCi0gICAgPz8wRGF0ZUluc3RhbmNlQEpTQ0BA
SUFFQFBBVkV4ZWNTdGF0ZUAxQFBBVlN0cnVjdHVyZUAxQE5AWgorICAgID8/MERhdGVJbnN0YW5j
ZUBKU0NAQElBRUBQQVZFeGVjU3RhdGVAMUBQQVZTdHJ1Y3R1cmVAMUBAWgogICAgID8/MERlZmF1
bHRHQ0FjdGl2aXR5Q2FsbGJhY2tASlNDQEBRQUVAUEFWSGVhcEAxQEBaCiAgICAgPz8wRHJvcEFs
bExvY2tzQEpTTG9ja0BKU0NAQFFBRUBXNEpTTG9ja0JlaGF2aW9yQDJAQFoKLSAgICA/PzBEeW5h
bWljR2xvYmFsT2JqZWN0U2NvcGVASlNDQEBRQUVAQUFWSlNHbG9iYWxEYXRhQDFAUEFWSlNHbG9i
YWxPYmplY3RAMUBAWiAgCi0gICAgPz8wSW50ZXJuYWxGdW5jdGlvbkBKU0NAQElBRUBQQVZKU0ds
b2JhbERhdGFAMUBQQVZKU0dsb2JhbE9iamVjdEAxQFBBVlN0cnVjdHVyZUAxQEFCVklkZW50aWZp
ZXJAMUBAWgorICAgID8/MER5bmFtaWNHbG9iYWxPYmplY3RTY29wZUBKU0NAQFFBRUBBQVZKU0ds
b2JhbERhdGFAMUBQQVZKU0dsb2JhbE9iamVjdEAxQEBaIAorICAgID8/MEludGVybmFsRnVuY3Rp
b25ASlNDQEBJQUVAUEFWSlNHbG9iYWxPYmplY3RAMUBQQVZTdHJ1Y3R1cmVAMUBAWgogICAgID8/
MEpTQXJyYXlASlNDQEBJQUVAQUFWSlNHbG9iYWxEYXRhQDFAUEFWU3RydWN0dXJlQDFAQFoKICAg
ICA/PzBKU0J5dGVBcnJheUBKU0NAQEFBRUBQQVZFeGVjU3RhdGVAMUBQQVZTdHJ1Y3R1cmVAMUBQ
QVZCeXRlQXJyYXlAV1RGQEBAWgogICAgID8/MEpTRnVuY3Rpb25ASlNDQEBBQUVAUEFWRXhlY1N0
YXRlQDFAUEFWSlNHbG9iYWxPYmplY3RAMUBQQVZTdHJ1Y3R1cmVAMUBAWgpAQCAtMTcsOCArMTcs
OCBAQCBFWFBPUlRTCiAgICAgPz8wUmVmQ291bnRlZExlYWtDb3VudGVyQFdURkBAUUFFQFBCREBa
CiAgICAgPz8wUmVnRXhwT2JqZWN0QEpTQ0BASUFFQFBBVkpTR2xvYmFsT2JqZWN0QDFAUEFWU3Ry
dWN0dXJlQDFAUEFWUmVnRXhwQDFAQFoKICAgICA/PzBTSEExQFdURkBAUUFFQFhaCi0gICAgPz8w
U3RyaW5nT2JqZWN0QEpTQ0BASUFFQEFBVkpTR2xvYmFsRGF0YUAxQFBBVlN0cnVjdHVyZUAxQFBB
VkpTU3RyaW5nQDFAQFoKLSAgICA/PzBTdHJ1Y3R1cmVASlNDQEBBQUVAQUFWSlNHbG9iYWxEYXRh
QDFAUEFWSlNHbG9iYWxPYmplY3RAMUBWSlNWYWx1ZUAxQEFCVlR5cGVJbmZvQDFASVBCVUNsYXNz
SW5mb0AxQEBaCisgICAgPz8wU3RyaW5nT2JqZWN0QEpTQ0BASUFFQEFBVkpTR2xvYmFsRGF0YUAx
QFBBVlN0cnVjdHVyZUAxQEBaCisgICAgPz8wU3RydWN0dXJlQEpTQ0BAQUFFQEFBVkpTR2xvYmFs
RGF0YUAxQFZKU1ZhbHVlQDFAQUJWVHlwZUluZm9AMUBJUEJVQ2xhc3NJbmZvQDFAQFoKICAgICA/
PzBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVAWFoKICAgICA/PzBVU3RyaW5nQEpTQ0BAUUFFQFBC
REBaCiAgICAgPz8wVVN0cmluZ0BKU0NAQFFBRUBQQkRJQFoKQEAgLTE3Myw5ICsxNzMsMTQgQEAg
RVhQT1JUUwogICAgID9mYXN0WmVyb2VkTWFsbG9jQFdURkBAWUFQQVhJQFoKICAgICA/ZmlsbEdl
dHRlclByb3BlcnR5U2xvdEBKU09iamVjdEBKU0NAQFFBRVhBQVZQcm9wZXJ0eVNsb3RAMkBQQVY/
JFdyaXRlQmFycmllckJhc2VAVzRVbmtub3duQEpTQ0BAQDJAQFoKICAgICA/ZmluYWxpemVAV2Vh
a0hhbmRsZU93bmVyQEpTQ0BAVUFFWFY/JEhhbmRsZUBXNFVua25vd25ASlNDQEBAMkBQQVhAWgor
ICAgID9maW5pc2hDcmVhdGlvbkBEYXRlSW5zdGFuY2VASlNDQEBJQUVYQUFWSlNHbG9iYWxEYXRh
QDJATkBaCisgICAgP2ZpbmlzaENyZWF0aW9uQEludGVybmFsRnVuY3Rpb25ASlNDQEBJQUVYQUFW
SlNHbG9iYWxEYXRhQDJAUEFWSlNHbG9iYWxPYmplY3RAMkBBQlZJZGVudGlmaWVyQDJAQFoKICAg
ICA/ZmluaXNoQ3JlYXRpb25ASlNBcnJheUBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFAMkBAWgog
ICAgID9maW5pc2hDcmVhdGlvbkBKU0FycmF5QEpTQ0BASUFFWEFBVkpTR2xvYmFsRGF0YUAyQEFC
VkFyZ0xpc3RAMkBAWgotICAgID9maW5pc2hDcmVhdGlvbkBKU0Z1bmN0aW9uQEpTQ0BASUFFWFBB
VkV4ZWNTdGF0ZUAyQEhBQlZJZGVudGlmaWVyQDJAUEFWRXhlY3V0YWJsZUJhc2VAMkBAWgorICAg
ID9maW5pc2hDcmVhdGlvbkBKU0Z1bmN0aW9uQEpTQ0BASUFFWFBBVkV4ZWNTdGF0ZUAyQFBBVkpT
R2xvYmFsT2JqZWN0QDJASEFCVklkZW50aWZpZXJAMkBQQVZFeGVjdXRhYmxlQmFzZUAyQEBaCisg
ICAgP2ZpbmlzaENyZWF0aW9uQEpTT2JqZWN0V2l0aEdsb2JhbE9iamVjdEBKU0NAQElBRVhBQVZK
U0dsb2JhbERhdGFAMkBQQVZKU0dsb2JhbE9iamVjdEAyQEBaCisgICAgP2ZpbmlzaENyZWF0aW9u
QFJlZ0V4cE9iamVjdEBKU0NAQElBRVhQQVZKU0dsb2JhbE9iamVjdEAyQEBaCisgICAgP2Zpbmlz
aENyZWF0aW9uQFN0cmluZ09iamVjdEBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFAMkBQQVZKU1N0
cmluZ0AyQEBaCiAgICAgP2ZvY3VzQFByb2ZpbGVASlNDQEBRQUVYUEJWUHJvZmlsZU5vZGVAMkBA
WgogICAgID9mcm9tQElkZW50aWZpZXJASlNDQEBTQT9BVjEyQFBBVkV4ZWNTdGF0ZUAyQEhAWgog
ICAgID9mcm9tQElkZW50aWZpZXJASlNDQEBTQT9BVjEyQFBBVkV4ZWNTdGF0ZUAyQElAWgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlv
bi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9u
LmNwcAppbmRleCBhNzEwMWRjYjZiYWE0MGZmNGZlMGVmYTMyZDFkNTViNjhhOTQxNGU1Li5hZjZh
NTZmOWJlMmE2MDQ3ODJjODUwYzMxZWY1OWQyZjQwY2RmNTBjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcApAQCAtMzUs
MTMgKzM1LDYgQEAgRGVidWdnZXJBY3RpdmF0aW9uOjpEZWJ1Z2dlckFjdGl2YXRpb24oSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhKQogewogfQogCi1EZWJ1Z2dlckFjdGl2YXRpb24qIERlYnVnZ2Vy
QWN0aXZhdGlvbjo6Y3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNPYmplY3QqIG9i
amVjdCkKLXsKLSAgICBEZWJ1Z2dlckFjdGl2YXRpb24qIGFjdGl2YXRpb24gPSBuZXcgKGFsbG9j
YXRlQ2VsbDxEZWJ1Z2dlckFjdGl2YXRpb24+KGdsb2JhbERhdGEuaGVhcCkpIERlYnVnZ2VyQWN0
aXZhdGlvbihnbG9iYWxEYXRhKTsKLSAgICBhY3RpdmF0aW9uLT5maW5pc2hDcmVhdGlvbihnbG9i
YWxEYXRhLCBvYmplY3QpOwotICAgIHJldHVybiBhY3RpdmF0aW9uOwotfQotCiB2b2lkIERlYnVn
Z2VyQWN0aXZhdGlvbjo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBK
U09iamVjdCogYWN0aXZhdGlvbikKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxE
YXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dl
ckFjdGl2YXRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFj
dGl2YXRpb24uaAppbmRleCA5MmE4YTBlYTYwNTQ5YzljOGU2Y2NjZmNlZWYzYmJiNTMzODgyNmEw
Li40NGI2MjY3MjI3ZDdiZjQ1NGFmOGYwZmExYjY1MTI5ODlmODNhMGJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oCkBAIC0z
NCw3ICszNCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVk
ZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOwogCi0gICAgICAgIHN0YXRpYyBEZWJ1Z2dlckFjdGl2
YXRpb24qIGNyZWF0ZShKU0dsb2JhbERhdGEmLCBKU09iamVjdCopOworICAgICAgICBzdGF0aWMg
RGVidWdnZXJBY3RpdmF0aW9uKiBjcmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU09i
amVjdCogb2JqZWN0KQorICAgICAgICB7CisgICAgICAgICAgICBEZWJ1Z2dlckFjdGl2YXRpb24q
IGFjdGl2YXRpb24gPSBuZXcgKGFsbG9jYXRlQ2VsbDxEZWJ1Z2dlckFjdGl2YXRpb24+KGdsb2Jh
bERhdGEuaGVhcCkpIERlYnVnZ2VyQWN0aXZhdGlvbihnbG9iYWxEYXRhKTsKKyAgICAgICAgICAg
IGFjdGl2YXRpb24tPmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIG9iamVjdCk7CisgICAgICAg
ICAgICByZXR1cm4gYWN0aXZhdGlvbjsKKyAgICAgICAgfQorCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB2aXNpdENoaWxkcmVuKFNsb3RWaXNpdG9yJik7CiAgICAgICAgIHZpcnR1YWwgVVN0cmluZyBj
bGFzc05hbWUoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xv
dChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xv
dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAppbmRleCBlMTAzNzA5MGJkOGNhMTI3MjRhNWE2ZjEwN2Ri
MzFiOTViMTMzNmU0Li5lMTRmODA4NzIzM2QyMGFjOGE5ZjkzNTIwNjgxODdmMzFlMGQ5NTAxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvanNjLmNwcApAQCAtMTU3LDggKzE1Nyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIFVTdHJpbmcgY2xhc3NOYW1lKCkgY29uc3QgeyByZXR1cm4gImdsb2JhbCI7IH0KIAogcHJv
dGVjdGVkOgotICAgIHZvaWQgY29uc3RydWN0b3JCb2R5KGNvbnN0IFZlY3RvcjxVU3RyaW5nPiYg
YXJndW1lbnRzKQorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBjb25zdCBWZWN0b3I8VVN0cmluZz4mIGFyZ3VtZW50cykKICAgICB7CisgICAgICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHRoaXMpOwogICAgICAgICBwdXREaXJlY3RG
dW5jdGlvbihnbG9iYWxFeGVjKCksIEpTRnVuY3Rpb246OmNyZWF0ZShnbG9iYWxFeGVjKCksIHRo
aXMsIGZ1bmN0aW9uU3RydWN0dXJlKCksIDEsIElkZW50aWZpZXIoZ2xvYmFsRXhlYygpLCAiZGVi
dWciKSwgZnVuY3Rpb25EZWJ1ZykpOwogICAgICAgICBwdXREaXJlY3RGdW5jdGlvbihnbG9iYWxF
eGVjKCksIEpTRnVuY3Rpb246OmNyZWF0ZShnbG9iYWxFeGVjKCksIHRoaXMsIGZ1bmN0aW9uU3Ry
dWN0dXJlKCksIDEsIElkZW50aWZpZXIoZ2xvYmFsRXhlYygpLCAicHJpbnQiKSwgZnVuY3Rpb25Q
cmludCkpOwogICAgICAgICBwdXREaXJlY3RGdW5jdGlvbihnbG9iYWxFeGVjKCksIEpTRnVuY3Rp
b246OmNyZWF0ZShnbG9iYWxFeGVjKCksIHRoaXMsIGZ1bmN0aW9uU3RydWN0dXJlKCksIDAsIElk
ZW50aWZpZXIoZ2xvYmFsRXhlYygpLCAicXVpdCIpLCBmdW5jdGlvblF1aXQpKTsKQEAgLTE5MCw3
ICsxOTEsNyBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEdsb2JhbE9iamVjdCk7CiBHbG9i
YWxPYmplY3Q6Okdsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBWZWN0b3I8VVN0cmluZz4mIGFyZ3VtZW50cykKICAgICA6IEpT
R2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSkKIHsKLSAgICBjb25zdHJ1Y3RvckJv
ZHkoYXJndW1lbnRzKTsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBhcmd1bWVudHMp
OwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uUHJpbnQoRXhlY1N0
YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNv
bnN0cnVjdG9yLmNwcAppbmRleCBmZDllNzFkN2QyYzJhYzM4OTVhMjZlNDJiOWJiMDJmMjQzNzIy
YmViLi5kNDA2YmExOThjMGQxN2VkMjM0MjNiZjk4MGFhMjFhZjc4ZTA1YTg1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcApAQCAt
NTIsOCArNTIsMTQgQEAgY29uc3QgQ2xhc3NJbmZvIEFycmF5Q29uc3RydWN0b3I6OnNfaW5mbyA9
IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW4KIEFTU0VSVF9DTEFTU19GSVRT
X0lOX0NFTEwoQXJyYXlDb25zdHJ1Y3Rvcik7CiAKIEFycmF5Q29uc3RydWN0b3I6OkFycmF5Q29u
c3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlKQotICAg
IDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0
cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBhcnJheVByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNs
YXNzTmFtZSkpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJl
KQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGFycmF5UHJvdG90eXBlKTsKK30KKwordm9p
ZCBBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEFycmF5
UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihl
eGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywgYXJyYXlQcm90b3R5cGUtPmNsYXNz
SW5mbygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVj
LT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIGFycmF5UHJv
dG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkubGVuZ3RoLCBqc051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25z
dHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5oCmluZGV4IGQxOGQxMmFjMDc3NDU1MWEyMWVlOGEzODdhYzc4ZDhmMWM1ZTMwZTIuLjkzNDc1
MjIxYmI0YTViN2MwNWIwYzE0ZDE0NTFhMzkzZjVhNDgzNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKQEAgLTQ0LDYgKzQ0LDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBBcnJheVByb3RvdHlwZSopOwogICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9w
ZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5j
cHAKaW5kZXggOTk2NzRiYjIzYjQ5ODE4YjJmM2EzNDg0YzI2NmUwMTM5ZDg2ZWY0Ni4uNDJmNDFh
NjMxZDQ5Y2YzZGNlOWNhOGZkN2U2YjZkYThkNTY0MzYwNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApAQCAtMTE3LDcgKzExNyw2IEBA
IGNvbnN0IENsYXNzSW5mbyBBcnJheVByb3RvdHlwZTo6c19pbmZvID0geyJBcnJheSIsICZKU0Fy
cmF5OjpzX2luZm8sIDAsIEV4ZWNTdGF0CiBBcnJheVByb3RvdHlwZTo6QXJyYXlQcm90b3R5cGUo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAg
OiBKU0FycmF5KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7Ci0gICAg
ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9pZCBBcnJheVByb3RvdHlwZTo6
ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCmluZGV4IDYwNDFhNjJhZDUx
MDU5MWM0YzMwYjdhN2ZhYTYzNDAwMDYwOWE0ODEuLjc1ZTZlODBiYTcyZjdhMWFmMmExZTgyYzhj
MTc3YjVlOGZhOGYxZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FycmF5UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuaApAQCAtMzUsNyArMzUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAg
ICBzdGF0aWMgQXJyYXlQcm90b3R5cGUqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0g
ICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8QXJyYXlQcm90b3R5cGU+KCpleGVj
LT5oZWFwKCkpKSBBcnJheVByb3RvdHlwZShnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAg
ICAgICAgICBBcnJheVByb3RvdHlwZSogcHJvdG90eXBlID0gbmV3IChhbGxvY2F0ZUNlbGw8QXJy
YXlQcm90b3R5cGU+KCpleGVjLT5oZWFwKCkpKSBBcnJheVByb3RvdHlwZShnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSk7CisgICAgICAgICAgICBwcm90b3R5cGUtPmZpbmlzaENyZWF0aW9uKGdsb2Jh
bE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gcHJvdG90eXBlOwogICAgICAgICB9CiAgICAg
ICAgIAogICAgICAgICBib29sIGdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcAppbmRleCBlZjYyNDBlNzkyNWExNTc0
Zjk0Y2U5OGY5ZTE5NTZlN2NkZjQ3ODBmLi4zNDBmZjcyM2NhNjJmY2NlMGNiNTdiNTVhODVjYmMy
OTIyYTBiNjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5Db25zdHJ1Y3Rvci5jcHAKQEAgLTI5LDggKzI5LDE0IEBAIG5hbWVzcGFjZSBKU0Mgewog
QVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChCb29sZWFuQ29uc3RydWN0b3IpOwogCiBCb29sZWFu
Q29uc3RydWN0b3I6OkJvb2xlYW5Db25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBCb29sZWFuUHJvdG90
eXBlKiBib29sZWFuUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xv
YmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBib29s
ZWFuUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVu
Y3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhl
YywgYm9vbGVhblByb3RvdHlwZSk7Cit9CisKK3ZvaWQgQm9vbGVhbkNvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEJvb2xlYW5Qcm90b3R5cGUqIGJvb2xlYW5Qcm90
b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBJ
ZGVudGlmaWVyKGV4ZWMsIGJvb2xlYW5Qcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUp
KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIGJvb2xlYW5Qcm90b3R5cGUsIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKIAogICAgIC8vIG5vLiBvZiBhcmd1bWVudHMgZm9y
IGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9C
b29sZWFuQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xl
YW5Db25zdHJ1Y3Rvci5oCmluZGV4IGU3ZWE1ODNkOGM3YTVmNDJjZGViYThlZTNiZWI2OGFhN2Vk
N2FiNWYuLjFlZWU0ZjY2Mzc2YTVmMzdhNTYwYWJlNWVkNTcwYTZkM2Q4M2I0N2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCkBA
IC0zNiw2ICszNiw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIG5ldyAo
YWxsb2NhdGVDZWxsPEJvb2xlYW5Db25zdHJ1Y3Rvcj4oKmV4ZWMtPmhlYXAoKSkpIEJvb2xlYW5D
b25zdHJ1Y3RvcihleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgYm9vbFByb3RvdHlwZSk7
CiAgICAgICAgIH0KIAorICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihFeGVjU3RhdGUqLCBCb29sZWFuUHJvdG90eXBlKik7CisKICAgICBwcml2YXRlOgogICAgICAg
ICBCb29sZWFuQ29uc3RydWN0b3IoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqLCBCb29sZWFuUHJvdG90eXBlKik7CiAgICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBn
ZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5jcHAKaW5kZXggYjllMzNkYzQ4NDI5OGI2Y2VlNjc0
ZTE4ZDU0YTg3ZjYyZGFkZmQ1Ny4uY2JkZGQwZTkyNDMzMDAyYjhhNWNmOWYzNWZmYTIxM2YwZDk1
MTljMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9i
amVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVj
dC5jcHAKQEAgLTMwLDcgKzMwLDYgQEAgY29uc3QgQ2xhc3NJbmZvIEJvb2xlYW5PYmplY3Q6OnNf
aW5mbyA9IHsgIkJvb2xlYW4iLCAmSlNXcmFwcGVyT2JqZWN0OjpzX2luZm8sIDAKIEJvb2xlYW5P
YmplY3Q6OkJvb2xlYW5PYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKICAgICA6IEpTV3JhcHBlck9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUp
CiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CiB9CiAKIHZvaWQgQm9vbGVhbk9i
amVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5oCmluZGV4IDBmZmE0MjVkMDFl
OWQ1NDIzZWQ0MWExNWJkZDY4MDliYTZiOTIzODguLmNlZDFjZWIzOGE1ZjE1OWZhOTM4Mjk0NDg5
MzgwYzcyOWE4ZjkyYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5PYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuT2JqZWN0LmgKQEAgLTM1LDcgKzM1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAg
c3RhdGljIEJvb2xlYW5PYmplY3QqIGNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChh
bGxvY2F0ZUNlbGw8Qm9vbGVhbk9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgQm9vbGVhbk9iamVj
dChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgQm9vbGVhbk9iamVjdCogYm9v
bGVhbiA9IG5ldyAoYWxsb2NhdGVDZWxsPEJvb2xlYW5PYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkp
IEJvb2xlYW5PYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIGJvb2xl
YW4tPmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEpOworICAgICAgICAgICAgcmV0dXJuIGJvb2xl
YW47CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8g
c19pbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
blByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJv
dG90eXBlLmNwcAppbmRleCBkZDAxOTRmM2Y1ZDA5MmIwOGVhYzI2NmVhOTY5OTVkNWI2MzEwZjFi
Li43MWRiOWM0NDFlZTVlMjliOWE4ZjFjZTQ5ODU3Y2Y2YWI5YTRlZWE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcApAQCAtNTIs
NiArNTIsMTIgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChCb29sZWFuUHJvdG90eXBlKTsK
IEJvb2xlYW5Qcm90b3R5cGU6OkJvb2xlYW5Qcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEJv
b2xlYW5PYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNo
Q3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBCb29sZWFuUHJvdG90eXBl
OjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpKTsK
ICAgICBzZXRJbnRlcm5hbFZhbHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwganNCb29sZWFuKGZhbHNl
KSk7CiAKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oCmluZGV4IDE0YTE2MzhlMGIyZjYy
NThhODU1YzVmOTE5NWRhZGExZDg4NDRkODMuLmI3MzdkZmY3Mjg4NTk2ZmViYmNjOGFhZDFiNmY4
ZGUxMmY2Y2EzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5Qcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuUHJvdG90eXBlLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3Rh
dGUqLCBKU0dsb2JhbE9iamVjdCopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBCb29sZWFuT2JqZWN0
OjpTdHJ1Y3R1cmVGbGFnczsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIEFub255bW91
c1Nsb3RDb3VudCA9IEJvb2xlYW5PYmplY3Q6OkFub255bW91c1Nsb3RDb3VudCArIDE7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IDk5NDZmZDM3ZGFmNDMxNmIwODAwOTNhMTUyYmRiNzE3NTgyZjU1ZWYuLjdiMjUzNDg4MzU0
ZTAyM2NkMWMzNWQ2ZWY0ODExNjhjNDRmY2Y0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcApAQCAtNzQsOCArNzQsMTQgQEAgY29u
c3QgQ2xhc3NJbmZvIERhdGVDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50
ZXJuYWxGdW5jdGlvbjo6c19pbmYKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRGF0ZUNvbnN0
cnVjdG9yKTsKIAogRGF0ZUNvbnN0cnVjdG9yOjpEYXRlQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
RGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4
ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhl
YywgZGF0ZVByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJbnRlcm5h
bEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKSAKIHsKKyAgICBmaW5pc2hDcmVhdGlv
bihleGVjLCBkYXRlUHJvdG90eXBlKTsKK30KKwordm9pZCBEYXRlQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgRGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlwZSkK
K3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZp
ZXIoZXhlYywgZGF0ZVByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpOwogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVy
dHlOYW1lcygpLnByb3RvdHlwZSwgZGF0ZVByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2Jh
bERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoNyksIFJlYWRP
bmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKaW5kZXggMWZlNzRjYzViZGY4OGRkZTc2ZGRl
ZWExZDNkZTY2ZjA4MWEzNTg4MS4uOTM2YWZjMWY1MTVkMWVmNWJhOTE0ZjEyMDc1MDc0YThkN2Rk
ZDlhOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0
cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVj
dG9yLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAg
IHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBEYXRl
UHJvdG90eXBlKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0cnVj
dHVyZUZsYWdzOwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EYXRlSW5zdGFuY2UuY3BwCmluZGV4IDZkZjMwZDcyMDE4ODE4NmRlMTIyMTAzZTBkODgw
ZTdmODJmZmYzNGUuLjFiNGFkZDg4ZGYxMDE1YjIzMGE1ODM5YjExNTYyNzI1YWY0NDExZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcApAQCAt
MzcsMTMgKzM3LDYgQEAgY29uc3QgQ2xhc3NJbmZvIERhdGVJbnN0YW5jZTo6c19pbmZvID0geyJE
YXRlIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLCAwfTsKIERhdGVJbnN0YW5jZTo6RGF0
ZUluc3RhbmNlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBK
U1dyYXBwZXJPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgZmlu
aXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpKTsKLX0KLQotRGF0ZUluc3RhbmNlOjpEYXRl
SW5zdGFuY2UoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgZG91YmxlIHRp
bWUpCi0gICAgOiBKU1dyYXBwZXJPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUp
Ci17Ci0gICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aW1lKTsKIH0KIAog
dm9pZCBEYXRlSW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0
YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5j
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKaW5kZXgg
ZWJjN2RiZmY5ZjYxNDM3NDI2NzJhMzY5ZmRlYzBhZjRkM2FiNTJiNS4uYmQzNmViNzMzYWVlZGVh
YmIwM2I0MDkzOWVmMDJmNTgzZmJiY2ZlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZUluc3RhbmNlLmgKQEAgLTMxLDcgKzMxLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICBjbGFzcyBEYXRlSW5zdGFuY2UgOiBwdWJsaWMgSlNXcmFwcGVyT2JqZWN0IHsKICAgICBw
cm90ZWN0ZWQ6Ci0gICAgICAgIERhdGVJbnN0YW5jZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBk
b3VibGUpOwogICAgICAgICBEYXRlSW5zdGFuY2UoRXhlY1N0YXRlKiwgU3RydWN0dXJlKik7CiAg
ICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJik7CiAgICAgICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgZG91YmxlKTsKQEAgLTQxLDEzICs0MCwxOCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgRGF0ZUluc3RhbmNlKiBjcmVhdGUo
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgZG91YmxlIGRhdGUpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxEYXRlSW5zdGFuY2U+
KCpleGVjLT5oZWFwKCkpKSBEYXRlSW5zdGFuY2UoZXhlYywgc3RydWN0dXJlLCBkYXRlKTsKKyAg
ICAgICAgICAgIERhdGVJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKGFsbG9jYXRlQ2VsbDxEYXRl
SW5zdGFuY2U+KCpleGVjLT5oZWFwKCkpKSBEYXRlSW5zdGFuY2UoZXhlYywgc3RydWN0dXJlKTsK
KyAgICAgICAgICAgIGluc3RhbmNlLT5maW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCks
IGRhdGUpOworICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAgICAgICB9CisKICAgICAg
ICAgc3RhdGljIERhdGVJbnN0YW5jZSogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRl
Q2VsbDxEYXRlSW5zdGFuY2U+KCpleGVjLT5oZWFwKCkpKSBEYXRlSW5zdGFuY2UoZXhlYywgc3Ry
dWN0dXJlKTsKKyAgICAgICAgICAgIERhdGVJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKGFsbG9j
YXRlQ2VsbDxEYXRlSW5zdGFuY2U+KCpleGVjLT5oZWFwKCkpKSBEYXRlSW5zdGFuY2UoZXhlYywg
c3RydWN0dXJlKTsKKyAgICAgICAgICAgIGluc3RhbmNlLT5maW5pc2hDcmVhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCkpOworICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAgICAgICB9Ci0g
ICAgICAgIAorCiAgICAgICAgIGRvdWJsZSBpbnRlcm5hbE51bWJlcigpIGNvbnN0IHsgcmV0dXJu
IGludGVybmFsVmFsdWUoKS51bmNoZWNrZWRHZXROdW1iZXIoKTsgfQogCiAgICAgICAgIHN0YXRp
YyBKU19FWFBPUlREQVRBIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCmluZGV4IDQwMzQxNWI1YWI4ZTg1
NDJjMzNjYTZiMDYzN2E2ZTZkYTcxZTdhZGQuLjc1MGRkZjk1YTFiNDhhYTRlNGQ3Nzk4NmM1NDVj
Njg0NTdiMzYyMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Rh
dGVQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQ
cm90b3R5cGUuY3BwCkBAIC00MzMsNiArNDMzLDEyIEBAIGNvbnN0IENsYXNzSW5mbyBEYXRlUHJv
dG90eXBlOjpzX2luZm8gPSB7IkRhdGUiLCAmRGF0ZUluc3RhbmNlOjpzX2luZm8sIDAsIEV4ZWNT
CiBEYXRlUHJvdG90eXBlOjpEYXRlUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBEYXRlSW5z
dGFuY2UoZXhlYywgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2Jh
bE9iamVjdCk7Cit9CisKK3ZvaWQgRGF0ZVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0
YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZz
X2luZm8pKTsKIAogICAgIC8vIFRoZSBjb25zdHJ1Y3RvciB3aWxsIGJlIGFkZGVkIGxhdGVyLCBh
ZnRlciBEYXRlQ29uc3RydWN0b3IgaGFzIGJlZW4gYnVpbHQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmgKaW5kZXggYjM0YzZiNmYyMThiYWZjMDM0ZjBk
YzQyYzY2MGRjYTdlYzEwNjkzOS4uMTA2OTA4NTI4MmFlMjVkNWFmY2M4OWI5YWM5MjMxNzMxM2Uw
MjI5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3Rv
dHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUu
aApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJv
dGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFs
T2JqZWN0Kik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9
IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IERhdGVJbnN0YW5jZTo6U3RydWN0dXJlRmxh
Z3M7CiAKICAgICAgICAgQ09NUElMRV9BU1NFUlQoIURhdGVJbnN0YW5jZTo6QW5vbnltb3VzU2xv
dENvdW50LCBEYXRlUHJvdG90eXBlX3N0b21wc19vbl95b3VyX2Fub255bW91c19zbG90KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcAppbmRleCA3ODY3NTBiZjJmZTBjYjEx
MzRiMWEyYWY2NzEyMjUxMGRlNjM0NTdkLi4yNDcxNjg5Y2I2N2NkZTJjMDdkM2UxMWMwYTg3OTcy
ODNkZjY5NmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwCkBAIC0x
NjgsOSArMTY4LDEwIEBAIEpTT2JqZWN0KiB0aHJvd1N5bnRheEVycm9yKEV4ZWNTdGF0ZSogZXhl
YykKIGNsYXNzIFN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbiA6IHB1YmxpYyBJbnRlcm5hbEZ1
bmN0aW9uIHsKIHByaXZhdGU6CiAgICAgU3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uKEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG1lc3NhZ2UpCi0gICAgICAgIDogSW50ZXJuYWxGdW5jdGlv
bigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgZXhlYy0+Z2xv
YmFsRGF0YSgpLnByb3BlcnR5TmFtZXMtPmVtcHR5SWRlbnRpZmllcikKKyAgICAgICAgOiBJbnRl
cm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogICAgICAgICAsIG1fbWVzc2Fn
ZShtZXNzYWdlKQogICAgIHsKKyAgICAgICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0
YSgpLCBleGVjLT5nbG9iYWxEYXRhKCkucHJvcGVydHlOYW1lcy0+ZW1wdHlJZGVudGlmaWVyKTsK
ICAgICB9CiAKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZGYxMTJkZDIyMjFmOWM5OGY3YmRlOTBiYzBiYzhl
OTEzMDI0YmUxMS4uMzgwM2UwMzVkZWJkYWI1NDAyM2RhMzJjN2ExOGU3ZjI1NzhmMjg0YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5j
cHAKQEAgLTMwLDggKzMwLDE0IEBAIG5hbWVzcGFjZSBKU0MgewogQVNTRVJUX0NMQVNTX0ZJVFNf
SU5fQ0VMTChFcnJvckNvbnN0cnVjdG9yKTsKIAogRXJyb3JDb25zdHJ1Y3Rvcjo6RXJyb3JDb25z
dHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBFcnJvclByb3RvdHlwZSogZXJyb3JQcm90b3R5cGUpCi0gICAg
OiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3Ry
dWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIGVycm9yUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xh
c3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUp
CiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZXJyb3JQcm90b3R5cGUpOworfQorCit2b2lk
IEVycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgRXJyb3JQ
cm90b3R5cGUqIGVycm9yUHJvdG90eXBlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4
ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCBlcnJvclByb3RvdHlwZS0+Y2xhc3NJ
bmZvKCktPmNsYXNzTmFtZSkpOwogICAgIC8vIEVDTUEgMTUuMTEuMy4xIEVycm9yLnByb3RvdHlw
ZQogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhl
Yy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwgZXJyb3JQcm90b3R5cGUsIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihl
eGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVy
KDEpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggMzg3N2E2ZDExMDc4
ODk5MzRhMWM0MTg4NjAzZjg2MDUxYTAwOWIyMS4uZDNiZDgwM2U1ZjgyNzg2MDQ0Yzg1NTE5MzJj
YzAzN2RjYTE1YjhlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9yQ29uc3RydWN0b3IuaApAQCAtMzYsNiArMzYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgewogICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPEVycm9yQ29uc3RydWN0
b3I+KCpleGVjLT5oZWFwKCkpKSBFcnJvckNvbnN0cnVjdG9yKGV4ZWMsIGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlLCBlcnJQcm90b3R5cGUpOwogICAgICAgICB9CisKKyAgICBwcm90ZWN0ZWQ6Cisg
ICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgRXJyb3JQcm90b3R5cGUqKTsK
ICAgICAgICAgCiAgICAgcHJpdmF0ZToKICAgICAgICAgRXJyb3JDb25zdHJ1Y3RvcihFeGVjU3Rh
dGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEVycm9yUHJvdG90eXBlKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAKaW5kZXgg
Njk4Njc1MjRjNGNlN2VmNWM3NjNiNmE1MjcyZTcxNmNlODQ5NTc5Yy4uMmE5YjlhOWIwNDBhNTQ1
Mjg4NWQ4NDE1ZWQwMWEyZWMxYWRjNjMwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcApAQCAtNTAsMTAgKzUwLDkgQEAgY29uc3QgQ2xh
c3NJbmZvIEVycm9yUHJvdG90eXBlOjpzX2luZm8gPSB7ICJFcnJvciIsICZFcnJvckluc3RhbmNl
OjpzX2luZm8sIDAsIEUKIAogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChFcnJvclByb3RvdHlw
ZSk7CiAKLUVycm9yUHJvdG90eXBlOjpFcnJvclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorRXJyb3JQ
cm90b3R5cGU6OkVycm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAgICAgOiBFcnJvckluc3RhbmNlKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJl
KQogewotICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQg
RXJyb3JQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvclByb3RvdHlwZS5oCmluZGV4IDBkMGZkMzA3OTQwNmM1OTYyNzZiNTZkZjJmYTRmNjcwZGVm
MDZkNjMuLjkzNDg0YzI3NDY1ZTRkOTE1NTQ5ZjE1ZTEwODczZmVjNTk4ZGRhYzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaApAQCAtMzMsNyAr
MzMsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgRXJyb3JQcm90b3R5cGUq
IGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChh
bGxvY2F0ZUNlbGw8RXJyb3JQcm90b3R5cGU+KCpleGVjLT5oZWFwKCkpKSBFcnJvclByb3RvdHlw
ZShleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBFcnJvclByb3Rv
dHlwZSogcHJvdG90eXBlID0gbmV3IChhbGxvY2F0ZUNlbGw8RXJyb3JQcm90b3R5cGU+KCpleGVj
LT5oZWFwKCkpKSBFcnJvclByb3RvdHlwZShleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAg
cHJvdG90eXBlLT5maW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QpOworICAgICAgICAg
ICAgcmV0dXJuIHByb3RvdHlwZTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3RhdGlj
IGNvbnN0IENsYXNzSW5mbyBzX2luZm87CkBAIC00NCw3ICs0Niw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIEVycm9yUHJvdG90eXBlKEV4
ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CisgICAgICAgIEVycm9yUHJv
dG90eXBlKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopOwogICAgICAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0Kik7CiAKICAgICAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwg
RXJyb3JJbnN0YW5jZTo6U3RydWN0dXJlRmxhZ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCmluZGV4IDUwZDliNWY3ZGE2
ZWVjMjMzYTI5YWVjYWMwZjhiYjM2ZjM0MDBjOTQuLjQ1ODk3NGVhMzY1YTVkNjQwYjYyNzVlNjg4
ZWU0NjlhOWIzYWRjMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCkBAIC0zOCw4ICszOCwxNCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRnVuY3Rpb25Db25zdHJ1Y3Rvcik7CiAK
IEZ1bmN0aW9uQ29uc3RydWN0b3I6OkZ1bmN0aW9uQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVj
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRnVu
Y3Rpb25Qcm90b3R5cGUqIGZ1bmN0aW9uUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlv
bigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmll
cihleGVjLCBmdW5jdGlvblByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAg
OiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlz
aENyZWF0aW9uKGV4ZWMsIGZ1bmN0aW9uUHJvdG90eXBlKTsKK30KKwordm9pZCBGdW5jdGlvbkNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEZ1bmN0aW9uUHJvdG90
eXBlKiBmdW5jdGlvblByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVj
LT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywgZnVuY3Rpb25Qcm90b3R5cGUtPmNsYXNz
SW5mbygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVj
LT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIGZ1bmN0aW9u
UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAKICAgICAvLyBO
dW1iZXIgb2YgYXJndW1lbnRzIGZvciBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oCmluZGV4IDljNTVkODg4OWQw
ZDlhYTQwNjlkODFlOGZjN2Q5MDZhNTE4MWIzNWEuLmQ0MzZhMjdhY2FjODljOTZmYWE2NDZiODA4
NmE4ZGNkNDE2Y2QzNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmgKQEAgLTM4LDYgKzM4LDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAKICAgICBwcml2YXRlOgogICAgICAgICBGdW5jdGlvbkNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSos
IEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgRnVuY3Rpb25Qcm90b3R5cGUqKTsKKyAgICAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBGdW5jdGlvblByb3RvdHlwZSopOwog
ICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShDb25zdHJ1Y3RE
YXRhJik7CiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2FsbERhdGEmKTsK
ICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25Qcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuY3BwCmluZGV4IDk2Y2Q2NzczYmNlYzVhODExZGNiNDE3Nzc1NTM0MTAyZTI1MWJk
ZTIuLjcyMTJlYjc4MzUyNWEyY2YyYmVlZjRkM2VjOWZkYzI3ZDhjMmRlZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAKQEAg
LTM4LDggKzM4LDE0IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0
aW9uUHJvdG9GdW5jQXBwbHkoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY0NhbGwoRXhlY1N0YXRlKik7CiAKIEZ1bmN0aW9u
UHJvdG90eXBlOjpGdW5jdGlvblByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogSW50ZXJuYWxG
dW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgZXhl
Yy0+cHJvcGVydHlOYW1lcygpLm51bGxJZGVudGlmaWVyKQorICAgIDogSW50ZXJuYWxGdW5jdGlv
bihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkubnVsbElkZW50aWZpZXIpOworfQorCit2b2lkIEZ1bmN0aW9u
UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgp
LCBuYW1lKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRh
KCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKDApLCBEb250RGVsZXRl
IHwgUmVhZE9ubHkgfCBEb250RW51bSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oCmluZGV4IGU3MDE4MmYzMTNhNzZjZDYyMDE3
ZjQ5Y2U4YWU0MDczMTM1ZGVlNWUuLjEwZDFhMTc2ZTIyY2JjMmEzOGJlNDRjMzY5NjE1ZWE4NDA5
NWVhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuaApAQCAtNDEsNiArNDEsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAg
IHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3Rv
LCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIEFub255bW91c1Nsb3RDb3Vu
dCwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAorICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKKwogICAg
IHByaXZhdGU6CiAgICAgICAgIEZ1bmN0aW9uUHJvdG90eXBlKEV4ZWNTdGF0ZSosIEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERh
dGEoQ2FsbERhdGEmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGVybmFsRnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
ZXJuYWxGdW5jdGlvbi5jcHAKaW5kZXggMTBhYWE2MGVlN2M4ZWMzNGY2ZjQwMzg5MjRkMjgwMzgx
YTlmMzBiZi4uZDJiY2IyMjUwMDQyODExMmFkMjNiZDVlMDliOTA2ODA4MGYwYzU0MyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAK
QEAgLTQxLDEwICs0MSw5IEBAIEludGVybmFsRnVuY3Rpb246OkludGVybmFsRnVuY3Rpb24oVlB0
clN0ZWFsaW5nSGFja1R5cGUpCiB7CiB9CiAKLUludGVybmFsRnVuY3Rpb246OkludGVybmFsRnVu
Y3Rpb24oSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQotICAgIDogSlNOb25GaW5hbE9i
amVjdCgqZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQorSW50ZXJuYWxGdW5jdGlvbjo6SW50ZXJuYWxG
dW5jdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKKyAgICA6IEpTTm9uRmluYWxPYmplY3QoZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIHN0
cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbigqZ2xvYmFsRGF0YSwgbmFtZSk7CiB9CiAK
IHZvaWQgSW50ZXJuYWxGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oCmluZGV4IGUwNWJiMTM0OTkwZTczYmEzYzI1
NmM3MjlkYjM4MTU0YmVhYmJkNGQuLjIzZGY2ZDM0NmVhN2RmODE0YTQ5NDcwYzc5YmFkYWRkYmQ3
ZjFlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1
bmN0aW9uLmgKQEAgLTUyLDcgKzUyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIC8vIE9u
bHkgdXNlZCB0byBhbGxvdyB1cyB0byBkZXRlcm1pbmUgdGhlIEpTRnVuY3Rpb24gdnB0cgogICAg
ICAgICBJbnRlcm5hbEZ1bmN0aW9uKFZQdHJTdGVhbGluZ0hhY2tUeXBlKTsKIAotICAgICAgICBJ
bnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFsRGF0YSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJl
KiwgY29uc3QgSWRlbnRpZmllciYpOworICAgICAgICBJbnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKik7CiAKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0ds
b2JhbERhdGEmLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAKaW5kZXggNWM5OWQ3YTY1NDM4ZDFjZTc5
ZGM3Y2I1MDVhODU3N2EzZjY5N2JlYi4uZGJjOTY3ZTAzNjc2ZmE3MjQwM2VlZjY5NWQ1NDk3MWM4
ZmJkODg1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3Rp
dmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRp
b24uY3BwCkBAIC00Niw3ICs0Niw2IEBAIEpTQWN0aXZhdGlvbjo6SlNBY3RpdmF0aW9uKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRXhlCiAgICAgLCBt
X3JlcXVpcmVzRHluYW1pY0NoZWNrcyhmdW5jdGlvbkV4ZWN1dGFibGUtPnVzZXNFdmFsKCkpCiAg
ICAgLCBtX2FyZ3VtZW50c1JlZ2lzdGVyKGZ1bmN0aW9uRXhlY3V0YWJsZS0+Z2VuZXJhdGVkQnl0
ZWNvZGUoKS5hcmd1bWVudHNSZWdpc3RlcigpKQogewotICAgIGZpbmlzaENyZWF0aW9uKGNhbGxG
cmFtZSk7CiB9CiAKIHZvaWQgSlNBY3RpdmF0aW9uOjpmaW5pc2hDcmVhdGlvbihDYWxsRnJhbWUq
IGNhbGxGcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QWN0aXZhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9u
LmgKaW5kZXggN2U4ZmQ5ODI2YTk3YjcyMDUyNTE0MzA4NmQyZjE0ODIzNDdjMDYwYy4uNzAxZTIx
OGVhYWQ4ZWIwNjM0YjA1ZTk3MmIxMTJjNDI0MDc4MjA1YiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgKQEAgLTQ4LDcgKzQ4LDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKICAgICAgICAgc3RhdGljIEpTQWN0aXZhdGlvbiogY3JlYXRlKEpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEZ1bmN0aW9uRXhlY3V0YWJsZSog
ZnVuY0V4ZWMpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2Vs
bDxKU0FjdGl2YXRpb24+KGdsb2JhbERhdGEuaGVhcCkpIEpTQWN0aXZhdGlvbihjYWxsRnJhbWUs
IGZ1bmNFeGVjKTsKKyAgICAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbiA9IG5ldyAo
YWxsb2NhdGVDZWxsPEpTQWN0aXZhdGlvbj4oZ2xvYmFsRGF0YS5oZWFwKSkgSlNBY3RpdmF0aW9u
KGNhbGxGcmFtZSwgZnVuY0V4ZWMpOworICAgICAgICAgICAgYWN0aXZhdGlvbi0+ZmluaXNoQ3Jl
YXRpb24oY2FsbEZyYW1lKTsKKyAgICAgICAgICAgIHJldHVybiBhY3RpdmF0aW9uOwogICAgICAg
ICB9CiAKICAgICAgICAgdmlydHVhbCB+SlNBY3RpdmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCAzMzAxODdlZWQ2OTgxNWYz
ZGQxZDc1NTEzODRhNzU3MDU5ZTYzMDQ3Li5kMGE4MDJlZGUwNjZlNjhmOGVmNjFhMjE5NDVhZWE0
Y2U0ODE3NGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmgKQEAgLTE0Niw3ICsxNDYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBz
dGF0aWMgSlNHbG9iYWxPYmplY3QqIGNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChh
bGxvY2F0ZUNlbGw8SlNHbG9iYWxPYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIEpTR2xvYmFsT2Jq
ZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8SlNHbG9iYWxPYmplY3Q+KGdsb2JhbERh
dGEuaGVhcCkpIEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAg
ICAgICBnbG9iYWxPYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIGdsb2JhbE9iamVj
dCk7CisgICAgICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0OwogICAgICAgICB9CiAKICAgICAg
ICAgc3RhdGljIEpTX0VYUE9SVERBVEEgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKQEAgLTE1OSwx
NyArMTYxLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAsIG1fd2Vha1JhbmRvbShz
dGF0aWNfY2FzdDx1bnNpZ25lZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0
czx1bnNpZ25lZD46Om1heCgpICsgMS4wKSkpCiAgICAgICAgICAgICAsIG1fZXZhbEVuYWJsZWQo
dHJ1ZSkKICAgICAgICAgewotICAgICAgICAgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwg
dGhpcyk7Ci0gICAgICAgIH0KLQotICAgICAgICBKU0dsb2JhbE9iamVjdChKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU09iamVjdCogdGhpc1ZhbHVlKQot
ICAgICAgICAgICAgOiBKU1ZhcmlhYmxlT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSwgJm1f
c3ltYm9sVGFibGUsIDApCi0gICAgICAgICAgICAsIG1fcmVnaXN0ZXJBcnJheVNpemUoMCkKLSAg
ICAgICAgICAgICwgbV9nbG9iYWxTY29wZUNoYWluKCkKLSAgICAgICAgICAgICwgbV93ZWFrUmFu
ZG9tKHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNf
bGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgKyAxLjApKSkKLSAgICAgICAgICAgICwgbV9ldmFsRW5h
YmxlZCh0cnVlKQotICAgICAgICB7Ci0gICAgICAgICAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxE
YXRhLCB0aGlzVmFsdWUpOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTT2JqZWN0KiB0aGlzVmFsdWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCmluZGV4IGZkODM2YWYwOTA1
M2YxMzEwNTljYzAxMzMyZDhlODdiZDU2NjkyOTAuLjQzMTRiNjVlMjZlNzg0ZDk5OTE0MjA4ZjFl
NWRiMDJjYzU4ZTNmNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT05PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05P
YmplY3QuY3BwCkBAIC01Niw3ICs1Niw2IEBAIG5hbWVzcGFjZSBKU0MgewogSlNPTk9iamVjdDo6
SlNPTk9iamVjdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKICAgICA6IEpTTm9uRmluYWxPYmplY3QoZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCks
IHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiB2
b2lkIEpTT05PYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmgKaW5kZXggNGU4
NWJmMTFhYjJjMTNlNjEzMzA1NzAyYTM4YTZkZTExYjAxOWE1Zi4uODJhMzJmOGVjNTdmZDRjNzkz
OTllYjE4NDFhYzE5MGE2ZGRjNzRiOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT05PYmplY3QuaApAQCAtMzgsNyArMzgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAg
ICBzdGF0aWMgSlNPTk9iamVjdCogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxKU09OT2JqZWN0PigqZXhlYy0+aGVhcCgp
KSkgSlNPTk9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBKU09O
T2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxKU09OT2JqZWN0PigqZXhlYy0+aGVh
cCgpKSkgSlNPTk9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBv
YmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4g
b2JqZWN0OwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBj
cmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuaAppbmRleCA2Y2YzNTc1YWI2ODgw
ZGQxMmViYzZhNTY5ZThlYjA4ZWI0NDQwNWU2Li4yMjU2Mzg2NTE3NDA1NWRjMzA5YTU0ODdhYjZj
OTE5ZGJkMGRmMmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1N0YXRpY1Njb3BlT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNTdGF0aWNTY29wZU9iamVjdC5oCkBAIC0zNiw3ICszNiw5IEBAIG5hbWVzcGFjZSBKU0N7CiAK
ICAgICAgICAgc3RhdGljIEpTU3RhdGljU2NvcGVPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVk
IGF0dHJpYnV0ZXMpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRl
Q2VsbDxKU1N0YXRpY1Njb3BlT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNTdGF0aWNTY29wZU9i
amVjdChleGVjLCBpZGVudGlmaWVyLCB2YWx1ZSwgYXR0cmlidXRlcyk7CisgICAgICAgICAgICBK
U1N0YXRpY1Njb3BlT2JqZWN0KiBzY29wZU9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPEpTU3Rh
dGljU2NvcGVPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBKU1N0YXRpY1Njb3BlT2JqZWN0KGV4ZWMp
OworICAgICAgICAgICAgc2NvcGVPYmplY3QtPmZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50aWZp
ZXIsIHZhbHVlLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgICAgIHJldHVybiBzY29wZU9iamVjdDsK
ICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCB2aXNpdENoaWxkcmVuKFNsb3RWaXNp
dG9yJik7CkBAIC01OSwxMCArNjEsOSBAQCBuYW1lc3BhY2UgSlNDewogICAgICAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBJc0Vudmlyb25tZW50UmVjb3JkIHwgT3Zl
cnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbiB8IE92ZXJy
aWRlc0dldFByb3BlcnR5TmFtZXMgfCBKU1ZhcmlhYmxlT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsK
IAogICAgIHByaXZhdGU6Ci0gICAgICAgIEpTU3RhdGljU2NvcGVPYmplY3QoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzKQorICAgICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0KEV4ZWNTdGF0ZSogZXhl
YykKICAgICAgICAgICAgIDogSlNWYXJpYWJsZU9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4
ZWMtPmdsb2JhbERhdGEoKS5zdGF0aWNTY29wZVN0cnVjdHVyZS5nZXQoKSwgJm1fc3ltYm9sVGFi
bGUsIHJlaW50ZXJwcmV0X2Nhc3Q8UmVnaXN0ZXIqPigmbV9yZWdpc3RlclN0b3JlICsgMSkpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50aWZpZXIsIHZh
bHVlLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgU3ltYm9sVGFi
bGUgbV9zeW1ib2xUYWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTU3RyaW5nLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5n
LmNwcAppbmRleCBiZDM1NWY3NjZhYjRlM2I2OWYzMmM5ZWQyODNkZmMwOWQ5M2JjMTQ5Li40N2Ri
MWZmODAzMzBmOWJmMmVlNTNmNDFhYTI3NGU3YmQzZjRmMTk5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCkBAIC0yOTgsNyArMjk4LDkgQEAgVVN0cmluZyBK
U1N0cmluZzo6dG9TdHJpbmcoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogCiBpbmxpbmUgU3RyaW5n
T2JqZWN0KiBTdHJpbmdPYmplY3Q6OmNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTU3RyaW5nKiBzdHJpbmcpCiB7Ci0gICAgcmV0dXJuIG5ldyAo
YWxsb2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmluZ09iamVjdChl
eGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdC0+c3RyaW5nT2JqZWN0U3RydWN0dXJlKCks
IHN0cmluZyk7CisgICAgU3RyaW5nT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxT
dHJpbmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0
YSgpLCBnbG9iYWxPYmplY3QtPnN0cmluZ09iamVjdFN0cnVjdHVyZSgpKTsKKyAgICBvYmplY3Qt
PmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RyaW5nKTsKKyAgICByZXR1cm4g
b2JqZWN0OwogfQogCiBKU09iamVjdCogSlNTdHJpbmc6OnRvT2JqZWN0KEV4ZWNTdGF0ZSogZXhl
YywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKaW5kZXggMzE5Yzk3Y2FlZmM0YmJkZTk3OWI3
OGI5NGIzZDBmYWQ5Y2ZiODBmYi4uOGU1OTIwYTExYjliOTE3ZjFmYzhlYTRmOTAzNDc4YWQ2ZmVl
MzVkMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVj
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAK
QEAgLTg0LDEwICs4NCw5IEBAIGNvbnN0IENsYXNzSW5mbyBNYXRoT2JqZWN0OjpzX2luZm8gPSB7
ICJNYXRoIiwgJkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgMCwgRXhlCiBAZW5kCiAqLwogCi1N
YXRoT2JqZWN0OjpNYXRoT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitNYXRoT2JqZWN0OjpNYXRoT2JqZWN0
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAg
IDogSlNOb25GaW5hbE9iamVjdChnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJl
KQogewotICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQg
TWF0aE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTWF0aE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVj
dC5oCmluZGV4IGJlZjkzMTBhYzhiMGU1YjJlNjI3NDdmYWM5YzY0ZmRiYTg2M2RjMDUuLjEwMWUy
NjY3YTVlODI3Njg3Mzk4NmZmNGQ3MTE5Y2ZlOTM5MjNjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmgKQEAgLTI3LDE0ICsyNywxNiBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIGNsYXNzIE1hdGhPYmplY3QgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7
CiAgICAgcHJpdmF0ZToKLSAgICAgICAgTWF0aE9iamVjdChFeGVjU3RhdGUqLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSopOworICAgICAgICBNYXRoT2JqZWN0KEpTR2xvYmFsT2JqZWN0Kiwg
U3RydWN0dXJlKik7CiAKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgSlNOb25GaW5hbE9i
amVjdCBCYXNlOwogCiAgICAgICAgIHN0YXRpYyBNYXRoT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRl
KiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPE1hdGhP
YmplY3Q+KCpleGVjLT5oZWFwKCkpKSBNYXRoT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3Ry
dWN0dXJlKTsKKyAgICAgICAgICAgIE1hdGhPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2NhdGVD
ZWxsPE1hdGhPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBNYXRoT2JqZWN0KGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xv
YmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgIH0KICAgICAg
ICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqLCBjb25zdCBJZGVu
dGlmaWVyJiwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5RGVz
Y3JpcHRvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0
aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
YXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCA4YzY2ZjdlYWY1NTJiMmM1NjlhNmViZmQ2
M2EwMjQxOTU0MGEyYzdkLi41MzdhNDU3NmM3MDIzYzA5NzAyNWEyYmMwOGU2ZmI0YTNkOWY2MDYz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNv
bnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVF
cnJvckNvbnN0cnVjdG9yLmNwcApAQCAtMzMsOSArMzMsOSBAQCBBU1NFUlRfQ0xBU1NfRklUU19J
Tl9DRUxMKE5hdGl2ZUVycm9yQ29uc3RydWN0b3IpOwogY29uc3QgQ2xhc3NJbmZvIE5hdGl2ZUVy
cm9yQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246
OnNfaW5mbywgMCwgMCB9OwogCiBOYXRpdmVFcnJvckNvbnN0cnVjdG9yOjpOYXRpdmVFcnJvckNv
bnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25z
dCBVU3RyaW5nJiBuYW1lKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0
YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBuYW1lKSkKKyAg
ICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7Ci0gICAgY29u
c3RydWN0b3JCb2R5KGV4ZWMsIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlU3RydWN0dXJlLCBuYW1l
KTsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZVN0cnVj
dHVyZSwgbmFtZSk7CiB9CiAKIHZvaWQgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6dmlzaXRDaGls
ZHJlbihTbG90VmlzaXRvciYgdmlzaXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaAppbmRleCBhMzlkODE0ZmEzZGYz
ZDU0NDcxZWMzMzU1NGViZGEyZjhkNTViYWY1Li42YTQ3M2RhOGJiODU2ZTAwOGI3MmUzNmUxOTRj
MzhlMjhlMGM2Y2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
YXRpdmVFcnJvckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oCkBAIC00OSw4ICs0OSw5IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlKCkgeyByZXR1cm4gbV9lcnJv
clN0cnVjdHVyZS5nZXQoKTsgfQogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2b2lkIGNvbnN0
cnVjdG9yQm9keShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBuYW1lKQorICAg
ICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IFVTdHJp
bmcmIG5hbWUpCiAgICAgICAgIHsKKyAgICAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4
ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCBuYW1lKSk7CiAgICAgICAgICAgICBB
U1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogCiAgICAgICAgICAgICBOYXRpdmVFcnJvclByb3Rv
dHlwZSogcHJvdG90eXBlID0gTmF0aXZlRXJyb3JQcm90b3R5cGU6OmNyZWF0ZShleGVjLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZVN0cnVjdHVyZSwgbmFtZSwgdGhpcyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5jcHAKaW5k
ZXggZTVmZTdjYzA1MmYwODZhNmNhNTVlNWVlYTU5YWQ5NDk4OTVjYjc5Zi4uNWIyODk5ZWEzMGMx
OTMxNzg3YTIxMjM0MzcxZTZiMDNiZTE5ZjFkNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmNwcApAQCAtMzAsMTUgKzMw
LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE5hdGl2
ZUVycm9yUHJvdG90eXBlKTsKIAotTmF0aXZlRXJyb3JQcm90b3R5cGU6Ok5hdGl2ZUVycm9yUHJv
dG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG5hbWUsIE5hdGl2ZUVycm9yQ29uc3Ry
dWN0b3IqIGNvbnN0cnVjdG9yKQotICAgIDogRXJyb3JQcm90b3R5cGUoZXhlYywgZ2xvYmFsT2Jq
ZWN0LCBzdHJ1Y3R1cmUpCitOYXRpdmVFcnJvclByb3RvdHlwZTo6TmF0aXZlRXJyb3JQcm90b3R5
cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgbmFtZUFuZE1lc3NhZ2UsIE5hdGl2ZUVycm9y
Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yKQorICAgIDogRXJyb3JQcm90b3R5cGUoZXhlYywgc3Ry
dWN0dXJlKQogewotICAgIGNvbnN0cnVjdG9yQm9keShleGVjLCBuYW1lLCBjb25zdHJ1Y3Rvcik7
CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBuYW1lQW5kTWVzc2FnZSwg
Y29uc3RydWN0b3IpOwogfQogCi1pbmxpbmUgdm9pZCBOYXRpdmVFcnJvclByb3RvdHlwZTo6Y29u
c3RydWN0b3JCb2R5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgVVN0cmluZyYgbmFtZSwgTmF0aXZl
RXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IpCitpbmxpbmUgdm9pZCBOYXRpdmVFcnJvclBy
b3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBVU3RyaW5nJiBuYW1lQW5kTWVzc2FnZSwgTmF0aXZlRXJyb3JD
b25zdHJ1Y3RvciogY29uc3RydWN0b3IpCiB7Ci0gICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERh
dGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm5hbWUsIGpzU3RyaW5nKGV4ZWMsIG5hbWUpLCBE
b250RW51bSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsK
KyAgICBwdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCku
bmFtZSwganNTdHJpbmcoZXhlYywgbmFtZUFuZE1lc3NhZ2UpLCBEb250RW51bSk7CiAgICAgcHV0
RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm1lc3NhZ2Us
IGpzRW1wdHlTdHJpbmcoZXhlYyksIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3QoZXhlYy0+Z2xv
YmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IsIGNvbnN0cnVjdG9y
LCBEb250RW51bSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TmF0aXZlRXJyb3JQcm90b3R5cGUuaAppbmRleCAzMzQ5MmJkOGRmMzI5NzVlMWE4ZjQ3ZmQxY2Ez
YjBiYTA3YTI0OWEyLi5kODk0YWI0ZjM1MzA2YThmYTc5YmVhOWFjNGU5NzE3OGZmNzVkMDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3Rv
dHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJv
dG90eXBlLmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAog
ICAgIHByb3RlY3RlZDoKLSAgICAgICAgdm9pZCBjb25zdHJ1Y3RvckJvZHkoRXhlY1N0YXRlKiwg
Y29uc3QgVVN0cmluZyYgbmFtZSwgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvciopOworICAgICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgVVN0
cmluZyYgbmFtZUFuZE1lc3NhZ2UsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IqKTsKICAgICB9Owog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAppbmRleCA0YjdmNjgzNmYxYWYzOGUzOTQ4MTU2YmQz
YjEwYWE1NGI0N2I2NjkxLi42MzhlM2ZmOWI1NWRlNjJhNTYxNmQwNzFhZTkwNjIyZmMzZDU5Yzgx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3Ry
dWN0b3IuY3BwCkBAIC01NSw4ICs1NSwxNCBAQCBjb25zdCBDbGFzc0luZm8gTnVtYmVyQ29uc3Ry
dWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaQogKi8K
IAogTnVtYmVyQ29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE51bWJl
clByb3RvdHlwZSogbnVtYmVyUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhl
Yy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVj
LCBudW1iZXJQcm90b3R5cGUtPnNfaW5mby5jbGFzc05hbWUpKQorICAgIDogSW50ZXJuYWxGdW5j
dGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkgCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhl
YywgbnVtYmVyUHJvdG90eXBlKTsKK30KKwordm9pZCBOdW1iZXJDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBOdW1iZXJQcm90b3R5cGUqIG51bWJlclByb3RvdHlw
ZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIElkZW50
aWZpZXIoZXhlYywgbnVtYmVyUHJvdG90eXBlLT5zX2luZm8uY2xhc3NOYW1lKSk7CiAgICAgQVNT
RVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIAogICAgIC8vIE51bWJlci5Qcm90b3R5cGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCmluZGV4
IDc1ZDMzN2EzMDA2ODJhOTQ2OWIzODE1ZmZjZTlhMDdiYjRiMTU1Y2QuLjFlZGQwMTQ3NDJmOWVi
ZWIxZTQ1MmRkNjRkNDRjMTcwOGE1NThiYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaApAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgZW51bSB7IE5hTlZhbHVlLCBOZWdJbmZpbml0eSwgUG9zSW5maW5p
dHksIE1heFZhbHVlLCBNaW5WYWx1ZSB9OwogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIE51bWJlclByb3RvdHlwZSopOwogICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9w
ZXJ0eVNsb3QgfCBJbXBsZW1lbnRzSGFzSW5zdGFuY2UgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1
Y3R1cmVGbGFnczsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVtYmVyT2JqZWN0LmNwcAppbmRleCAyMjY3NmQwZmZhOGNjNzQ2YWQxNmQ2ZTQyOGYz
YmM4Y2Q3MGQ3NjJkLi5jZmJjMjNjNjI5OWUzOWM2ZDk5ZDM3ZTQwZjZhMjM3NzFiYjRiNmJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5jcHAKQEAg
LTM0LDcgKzM0LDYgQEAgY29uc3QgQ2xhc3NJbmZvIE51bWJlck9iamVjdDo6c19pbmZvID0geyAi
TnVtYmVyIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLAogTnVtYmVyT2JqZWN0OjpOdW1i
ZXJPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkK
ICAgICA6IEpTV3JhcHBlck9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgZmlu
aXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CiB9CiAKIHZvaWQgTnVtYmVyT2JqZWN0OjpmaW5pc2hD
cmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL051bWJlck9iamVjdC5oCmluZGV4IDlhMDUxMTMxYjJmMjkwN2I4ZWZjZDZlM2Vh
NTM1MGE2NGJhNjhmMDEuLmU2Y2Q0Y2YzODFjYzU5MjY2YzA1NTQ1YzhiYTI0NDkxZjVhZmM4Njcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5oCkBAIC0z
NSw3ICszNSw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBOdW1iZXJPYmpl
Y3QqIGNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8TnVtYmVy
T2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBOdW1iZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0
dXJlKTsKKyAgICAgICAgICAgIE51bWJlck9iamVjdCogbnVtYmVyID0gbmV3IChhbGxvY2F0ZUNl
bGw8TnVtYmVyT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBOdW1iZXJPYmplY3QoZ2xvYmFsRGF0
YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIG51bWJlci0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFs
RGF0YSk7CisgICAgICAgICAgICByZXR1cm4gbnVtYmVyOwogICAgICAgICB9CiAKICAgICAgICAg
c3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcAppbmRleCA1Mjc2ODE3ODY0ZDliMzUwMDI5
ODQ3M2QzMTU4Mzk1NjI5ODZhNjc2Li45YjU3NjJiOTVlMTA1MDM0OTAzZDU4ZWNlNGFlMDMyODA4
N2NjNjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQ
cm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclBy
b3RvdHlwZS5jcHAKQEAgLTczLDYgKzczLDEyIEBAIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwo
TnVtYmVyUHJvdG90eXBlKTsKIE51bWJlclByb3RvdHlwZTo6TnVtYmVyUHJvdG90eXBlKEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAgICAgOiBOdW1iZXJPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUp
CiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBO
dW1iZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCkpOwogICAgIHNldEludGVybmFsVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBq
c051bWJlcigwKSk7CiAKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuaAppbmRleCAzZWFkZTZj
Njg4ZTg2MDFlMmNmYTQ0OWFmNDM3MmQ0YjUwMzhkZDFiLi4yMjViNTE1OTY3MGIwZWIzMDZlOTk2
MGM2NGE3MGIzZDIxMGRlODZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OdW1iZXJQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OdW1iZXJQcm90b3R5cGUuaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4
ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE51bWJlck9i
amVjdDo6U3RydWN0dXJlRmxhZ3M7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBbm9u
eW1vdXNTbG90Q291bnQgPSBOdW1iZXJPYmplY3Q6OkFub255bW91c1Nsb3RDb3VudCArIDE7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9y
LmNwcAppbmRleCBjMzI1ZmEwNzBiMWY3YmI5NDYwYzIxOGIyMGI2MmU3OGJiZDRiOGE1Li5kYzg3
MTAxODdhZWQ3ZWVmOTY0ZTA0Mzg2ODk5MjhjM2M4YjhjZGQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCkBAIC03Niw4ICs3
NiwxNCBAQCBjb25zdCBDbGFzc0luZm8gT2JqZWN0Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1
bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaQogKi8KIAogT2JqZWN0Q29uc3RydWN0b3I6
Ok9iamVjdENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE9iamVjdFByb3RvdHlwZSogb2JqZWN0UHJv
dG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9i
YWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCAiT2JqZWN0IikpCisgICAgOiBJ
bnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENy
ZWF0aW9uKGV4ZWMsIG9iamVjdFByb3RvdHlwZSk7Cit9CisKK3ZvaWQgT2JqZWN0Q29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgT2JqZWN0UHJvdG90eXBlKiBvYmpl
Y3RQcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0
YSgpLCBJZGVudGlmaWVyKGV4ZWMsICJPYmplY3QiKSk7CiAgICAgLy8gRUNNQSAxNS4yLjMuMQog
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+
cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwgb2JqZWN0UHJvdG90eXBlLCBEb250RW51bSB8IERv
bnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgLy8gbm8uIG9mIGFyZ3VtZW50cyBmb3IgY29uc3Ry
dWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENv
bnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1
Y3Rvci5oCmluZGV4IDM4M2Y0MDI5Zjk2NDg4ZDJiMTgzMmI5ZjA0MThiYzMwY2FmY2ZkMGYuLjM4
YzQ4ZTg0OWZkMzE5NjlhZTllZTcyOWRhOGJlZGU5YmZkYTExMTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaApAQCAtNDcsNiArNDcs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIE9iamVjdFByb3RvdHlwZSopOwogICAg
ICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRP
d25Qcm9wZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAg
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggYzhhMTMzYjQyNTY4NzMxNWZmNmU4MjFjMGJhMjdhNTdhMTVh
MzNlYS4uZmUwNmI2Y2Q0OTczY2FlZDc3MDU0MmRiZjFkOWU0MjZlODRjMWMxOCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcApA
QCAtOTYsOSArOTYsMTUgQEAgY29uc3QgQ2xhc3NJbmZvIFJlZ0V4cENvbnN0cnVjdG9yOjpzX2lu
Zm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2kKICovCiAKIFJlZ0V4cENv
bnN0cnVjdG9yOjpSZWdFeHBDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUq
IHJlZ0V4cFByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERh
dGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgIlJlZ0V4cCIp
KQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAs
IGQoYWRvcHRQdHIobmV3IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSkpCiB7CisgICAgZmluaXNo
Q3JlYXRpb24oZXhlYywgcmVnRXhwUHJvdG90eXBlKTsKK30KKwordm9pZCBSZWdFeHBDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBSZWdFeHBQcm90b3R5cGUqIHJl
Z0V4cFByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxE
YXRhKCksIElkZW50aWZpZXIoZXhlYywgIlJlZ0V4cCIpKTsKICAgICBBU1NFUlQoaW5oZXJpdHMo
JnNfaW5mbykpOwogCiAgICAgLy8gRUNNQSAxNS4xMC41LjEgUmVnRXhwLnByb3RvdHlwZQpAQCAt
MTA4LDEwICsxMTQsOSBAQCBSZWdFeHBDb25zdHJ1Y3Rvcjo6UmVnRXhwQ29uc3RydWN0b3IoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZQogICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygp
Lmxlbmd0aCwganNOdW1iZXIoMiksIFJlYWRPbmx5IHwgRG9udERlbGV0ZSB8IERvbnRFbnVtKTsK
IH0KIAotUmVnRXhwTWF0Y2hlc0FycmF5OjpSZWdFeHBNYXRjaGVzQXJyYXkoRXhlY1N0YXRlKiBl
eGVjLCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUqIGRhdGEpCitSZWdFeHBNYXRjaGVzQXJyYXk6
OlJlZ0V4cE1hdGNoZXNBcnJheShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgOiBKU0FycmF5KGV4ZWMt
Pmdsb2JhbERhdGEoKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5yZWdFeHBNYXRjaGVz
QXJyYXlTdHJ1Y3R1cmUoKSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRh
KCksIGRhdGEpOwogfQogCiB2b2lkIFJlZ0V4cE1hdGNoZXNBcnJheTo6ZmluaXNoQ3JlYXRpb24o
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUqIGRhdGEp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1
Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3Iu
aAppbmRleCBjMDJkMDZkN2MyYzU4Zjg5Y2U3ZWRjYTc0ZmIxNjc1YzdhYjBhZThjLi5iNWIyYjMw
MjY2MTY5ZTY4NmY1ZjdhMmVhMGY2NmEzZjgyZGRjOTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKQEAgLTkwLDYgKzkwLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTVmFsdWUgZ2V0UmlnaHRDb250ZXh0KEV4ZWNTdGF0
ZSopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEV4ZWNTdGF0ZSosIFJlZ0V4cFByb3RvdHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBs
ZW1lbnRzSGFzSW5zdGFuY2UgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAog
ICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBNYXRjaGVzQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cE1hdGNoZXNBcnJheS5oCmluZGV4IDg3ZDU5YzcxNGViNTRkZjI4MTczZGZlZGViZGVkNTQ2ZjY1
MWMzYWIuLmFkOTRlMDdkYTdjMTNmOWIxYjNjNGU3MGI2NmU1NjZhZmE3YTlmOGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCkBA
IC0yNiwxNCArMjYsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHBNYXRj
aGVzQXJyYXkgOiBwdWJsaWMgSlNBcnJheSB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgUmVnRXhw
TWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSosIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSopOworICAg
ICAgICBSZWdFeHBNYXRjaGVzQXJyYXkoRXhlY1N0YXRlKik7CiAKICAgICBwdWJsaWM6CiAgICAg
ICAgIHR5cGVkZWYgSlNBcnJheSBCYXNlOwogCiAgICAgICAgIHN0YXRpYyBSZWdFeHBNYXRjaGVz
QXJyYXkqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSog
Y3RvclByaXZhdGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRl
Q2VsbDxSZWdFeHBNYXRjaGVzQXJyYXk+KCpleGVjLT5oZWFwKCkpKSBSZWdFeHBNYXRjaGVzQXJy
YXkoZXhlYywgY3RvclByaXZhdGUpOworICAgICAgICAgICAgUmVnRXhwTWF0Y2hlc0FycmF5KiBy
ZWdFeHAgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBNYXRjaGVzQXJyYXk+KCpleGVjLT5oZWFw
KCkpKSBSZWdFeHBNYXRjaGVzQXJyYXkoZXhlYyk7CisgICAgICAgICAgICByZWdFeHAtPmZpbmlz
aENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgY3RvclByaXZhdGUpOworICAgICAgICAgICAg
cmV0dXJuIHJlZ0V4cDsKICAgICAgICAgfQogICAgICAgICB2aXJ0dWFsIH5SZWdFeHBNYXRjaGVz
QXJyYXkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVn
RXhwT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVj
dC5jcHAKaW5kZXggNzBiNzA3YzI3ODVmYTQ4ZTE2YjQ1ZjEzNWNiYmY5NmIxMTU2MGMwMS4uYmFl
OTA4NjFlYTUzNTkwNmI5ZWE1NjVhYzdhZDJjMzQ0YzFlNmM1ZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCkBAIC02Niw3ICs2Niw2IEBAIFJl
Z0V4cE9iamVjdDo6UmVnRXhwT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBSCiAgICAgOiBKU05vbkZpbmFsT2JqZWN0KGdsb2JhbE9iamVj
dC0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiAgICAgLCBkKGFkb3B0UHRyKG5ldyBSZWdFeHBP
YmplY3REYXRhKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCB0aGlzLCByZWdFeHApKSkKIHsK
LSAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIFJlZ0V4cE9iamVj
dDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMmYwNzc1ZjFjZWJk
NDZkN2Q5NmNlZjM0NzRmM2ZlOWViYzVhNzdmOC4uNDlkZGQzN2IzMjM5NzIwYTY2NmQ2MDhiOWVl
MjZjZDRkZmNmZjVmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UmVnRXhwT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
T2JqZWN0LmgKQEAgLTMyLDEyICszMiwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBz
dGF0aWMgUmVnRXhwT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwKiByZWdFeHApCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBPYmpl
Y3Q+KCpleGVjLT5oZWFwKCkpKSBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUs
IHJlZ0V4cCk7CisgICAgICAgICAgICBSZWdFeHBPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2Nh
dGVDZWxsPFJlZ0V4cE9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFJlZ0V4cE9iamVjdChnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSwgcmVnRXhwKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3Jl
YXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAg
IH0KICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBSZWdFeHBPYmplY3QqIGNyZWF0ZShKU0dsb2Jh
bERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBSZWdFeHAqIHJlZ0V4cCkKICAgICAgICAgewotICAgICAgICAgICAgcmV0
dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFJlZ0V4cE9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgUmVn
RXhwT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCByZWdFeHApOworICAgICAgICAgICAg
UmVnRXhwT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBPYmplY3Q+KGds
b2JhbERhdGEuaGVhcCkpIFJlZ0V4cE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgcmVn
RXhwKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsK
KyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFs
IH5SZWdFeHBPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBQcm90b3R5cGUuY3BwCmluZGV4IDhiZmM5OWY1NDUwNWFlYzRmMmUyY2Q5NjI0NzZlNzg4
MmM5Mzg2NWYuLjkxYjg4Njk3ZjNkYjhiNzgwNGFmZjJiMDhlYWQ4ZDgyNzg0OTNmZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcApA
QCAtNjUsNiArNjUsNyBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFJlZ0V4cFByb3RvdHlw
ZSk7CiBSZWdFeHBQcm90b3R5cGU6OlJlZ0V4cFByb3RvdHlwZShFeGVjU3RhdGUqLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwKiByZWdF
eHApCiAgICAgOiBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHJlZ0V4cCkK
IHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiBib29sIFJlZ0V4cFBy
b3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMWQzYjFj
N2ExYjI5NTc5NWI2ZDE2YTU5YmQwMmVkYTIyNjJkZWM3ZS4uZGJiMTYxZjBiZDFlNTNlMGJmOTRm
NTEzNTlhYTVjYmE4MDJmZTA1NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcApAQCAtNDgsOCArNDgsMTQgQEAgY29uc3QgQ2xh
c3NJbmZvIFN0cmluZ0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5h
bEZ1bmN0aW9uOjpzX2kKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoU3RyaW5nQ29uc3RydWN0
b3IpOwogCiBTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
U3RyaW5nUHJvdG90eXBlKiBzdHJpbmdQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9u
KCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVy
KGV4ZWMsIHN0cmluZ1Byb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJ
bnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENy
ZWF0aW9uKGV4ZWMsIHN0cmluZ1Byb3RvdHlwZSk7Cit9CisKK3ZvaWQgU3RyaW5nQ29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgU3RyaW5nUHJvdG90eXBlKiBzdHJp
bmdQcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0
YSgpLCBJZGVudGlmaWVyKGV4ZWMsIHN0cmluZ1Byb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNz
TmFtZSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEo
KSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwgc3RyaW5nUHJvdG90eXBlLCBSZWFk
T25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBq
c051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKaW5kZXgg
YTk0NGU1NWM2NTVjZDNhZDUxOTQxMDFhYzI3MzllZDhjNWQwYmUzYi4uOGFiYWQ5ZGVkMWI0NmY2
ODQxNTM0MGE3MGUwY2M5ZDlmM2VlMTBkNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCkBAIC00OCw2ICs0OCw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgcHJpdmF0ZToKICAgICAgICAgU3RyaW5nQ29uc3RydWN0b3IoRXhlY1N0
YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBTdHJpbmdQcm90b3R5cGUqKTsKKyAg
ICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBTdHJpbmdQcm90b3R5cGUqKTsK
ICAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoQ29uc3RydWN0
RGF0YSYpOwogICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRhKENhbGxEYXRhJik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVj
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwCmlu
ZGV4IGI4ZmFkOWU0OTczNzdhY2E3NDU3MDEzY2RhMzcwM2I4ZjI3MDU5MzMuLmY2ZDY5ZDEwOTUy
NjRlNjE5MWU1N2Y1YzQyYzgwNzQ0NGY2MDA3N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcApAQCAtMjksMTAgKzI5LDkgQEAgQVNTRVJUX0NM
QVNTX0ZJVFNfSU5fQ0VMTChTdHJpbmdPYmplY3QpOwogCiBjb25zdCBDbGFzc0luZm8gU3RyaW5n
T2JqZWN0OjpzX2luZm8gPSB7ICJTdHJpbmciLCAmSlNXcmFwcGVyT2JqZWN0OjpzX2luZm8sIDAs
IDAgfTsKIAotU3RyaW5nT2JqZWN0OjpTdHJpbmdPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNTdHJpbmcqIHN0cmluZykKK1N0cmluZ09iamVj
dDo6U3RyaW5nT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAgICAgOiBKU1dyYXBwZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHN0cmluZyk7CiB9CiAKIHZvaWQgU3RyaW5n
T2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTU3RyaW5n
KiBzdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJp
bmdPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5o
CmluZGV4IGE3NzcyMjBjNjZjNjRlNTA5NDYxYjU3YWM1MmEzMTlmYzRjZTI0ODYuLjE4YWZlNzJk
ZWQ0ZDc5MWYyNjkxMDBiNjRmZDY1MjBmZGZiNzU5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCkBAIC0zMywxMiArMzMsMTYgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHN0YXRpYyBTdHJpbmdPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7CiAgICAgICAgICAgICBKU1N0cmlu
Zyogc3RyaW5nID0ganNFbXB0eVN0cmluZyhleGVjKTsKLSAgICAgICAgICAgIHJldHVybiBuZXcg
KGFsbG9jYXRlQ2VsbDxTdHJpbmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmplY3Qo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUsIHN0cmluZyk7ICAKKyAgICAgICAgICAgIFN0
cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8U3RyaW5nT2JqZWN0PigqZXhl
Yy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKTsg
IAorICAgICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCks
IHN0cmluZyk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAgICAgICAg
IHN0YXRpYyBTdHJpbmdPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBzdHIpCiAgICAgICAgIHsKICAgICAgICAgICAgIEpT
U3RyaW5nKiBzdHJpbmcgPSBqc1N0cmluZyhleGVjLCBzdHIpOwotICAgICAgICAgICAgcmV0dXJu
IG5ldyAoYWxsb2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmluZ09i
amVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSwgc3RyaW5nKTsKKyAgICAgICAgICAg
IFN0cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8U3RyaW5nT2JqZWN0Pigq
ZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJl
KTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgp
LCBzdHJpbmcpOworICAgICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICAgICAgfQogICAgICAg
ICBzdGF0aWMgU3RyaW5nT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3Qq
LCBKU1N0cmluZyopOwogCkBAIC02Miw3ICs2Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHBy
b3RlY3RlZDoKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmLCBKU1N0
cmluZyopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBP
dmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwg
SlNXcmFwcGVyT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKLSAgICAgICAgU3RyaW5nT2JqZWN0KEpT
R2xvYmFsRGF0YSYsIFN0cnVjdHVyZSosIEpTU3RyaW5nKik7CisgICAgICAgIFN0cmluZ09iamVj
dChKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUqKTsKICAgICB9OwogCiAgICAgU3RyaW5nT2JqZWN0
KiBhc1N0cmluZ09iamVjdChKU1ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3RUaGF0TWFzcXVlcmFkZXNB
c1VuZGVmaW5lZC5oCmluZGV4IGEwNDQ2NGE2MDYwZmVmNDE0NjNmMjYyZWZmMjk1YmE4NjVmYWM5
NTMuLmUyMWY5YTEwNjYwOTE2Y2ZlYjVhODEyNjk2NDFhZGYwNTRlZTE1ZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVyYWRl
c0FzVW5kZWZpbmVkLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5n
T2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQuaApAQCAtNDEsOCArNDEsOSBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFN0cmluZ09iamVjdFRoYXRNYXNx
dWVyYWRlc0FzVW5kZWZpbmVkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEpTU3RyaW5nKiBzdHJpbmcpCi0gICAgICAgICAgICA6IFN0cmluZ09iamVjdChleGVjLT5nbG9i
YWxEYXRhKCksIHN0cnVjdHVyZSwgc3RyaW5nKQorICAgICAgICAgICAgOiBTdHJpbmdPYmplY3Qo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKKyAgICAgICAgICAgIGZp
bmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RyaW5nKTsKICAgICAgICAgfQogCiAg
ICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG8pIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAK
aW5kZXggZTE0ZDk3NzI2Njk1NTY4ODlhODM3NjNkMmFiZjI4OTA0MjQwMzhjNC4uNTkwMzkwOWI5
NGQyZGU0NTgxYzQ3MzQwYjQwMDJkZjY4ODBhYjNhNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCkBAIC0xMzEsOSArMTMxLDE1IEBA
IGNvbnN0IENsYXNzSW5mbyBTdHJpbmdQcm90b3R5cGU6OnNfaW5mbyA9IHsgIlN0cmluZyIsICZT
dHJpbmdPYmplY3Q6OnNfaW5mbywgMCwKICovCiAKIC8vIEVDTUEgMTUuNS40Ci1TdHJpbmdQcm90
b3R5cGU6OlN0cmluZ1Byb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0cmluZyogc3RyaW5nKQotICAg
IDogU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlLCBzdHJpbmcpCitT
dHJpbmdQcm90b3R5cGU6OlN0cmluZ1Byb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0cmluZyogbmFt
ZUFuZE1lc3NhZ2UpCisgICAgOiBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1
Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBuYW1lQW5k
TWVzc2FnZSk7Cit9CisKK3ZvaWQgU3RyaW5nUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTU3RyaW5nKiBuYW1l
QW5kTWVzc2FnZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRh
KCksIG5hbWVBbmRNZXNzYWdlKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogCiAg
ICAgcHV0QW5vbnltb3VzVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCAwLCBnbG9iYWxPYmplY3Qp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90
eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuaApp
bmRleCA2YTAzMTVmZTJiODJjYWUxNzI0N2M2ZTFlNjNlNmYzYTg0MTRiNDg0Li42NTFmOWFjM2Rk
NGY1N2RhYjcyOGJiMDUyNjFjNTc4OWIxOGM2MWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuaApAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CiAgICAgICAg
IAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUq
LCBKU0dsb2JhbE9iamVjdCosIEpTU3RyaW5nKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IFN0cmlu
Z09iamVjdDo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICAgICAgQ09NUElMRV9BU1NFUlQoIVN0cmlu
Z09iamVjdDo6QW5vbnltb3VzU2xvdENvdW50LCBTdHJpbmdQcm90b3R5cGVfc3RvbXBzX29uX3lv
dXJfYW5vbnltb3VzX3Nsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0No
YW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKaW5kZXggMzA0N2YyNjQ0
ZjUzYjRmMGRkNTY2MWY4NjJkMDU5NGY5YmViNzYxMy4uNzA1MzU4MDJhMzMyYTEwZWY0ZGU4ODY5
YWVkM2U3MjE1OTU2NzE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTEtMDktMDcgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4K
KworICAgICAgICBVbnppcCBpbml0aWFsaXphdGlvbiBsaXN0cyBhbmQgY29uc3RydWN0b3JzIGlu
IEpTQ2VsbCBoaWVyYXJjaHkgKDUvNykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY3NDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ29tcGxldGVkIHRoZSBmaWZ0aCBsZXZlbCBvZiB0aGUgcmVmYWN0b3Jp
bmcgdG8gYWRkIGZpbmlzaENyZWF0aW9uKCkgCisgICAgICAgIG1ldGhvZHMgdG8gYWxsIGNsYXNz
ZXMgd2l0aGluIHRoZSBKU0NlbGwgaGllcmFyY2h5IHdpdGggbm9uLXRyaXZpYWwgCisgICAgICAg
IGNvbnN0cnVjdG9yIGJvZGllcy4KKworICAgICAgICBUaGlzIHByaW1hcmlseSBjb25zaXN0cyBv
ZiBwdXNoaW5nIHRoZSBjYWxscyB0byBmaW5pc2hDcmVhdGlvbigpIGRvd24gCisgICAgICAgIGlu
dG8gdGhlIGNvbnN0cnVjdG9ycyBvZiB0aGUgc3ViY2xhc3NlcyBvZiB0aGUgc2Vjb25kIGxldmVs
IG9mIHRoZSBoaWVyYXJjaHkgCisgICAgICAgIGFzIHdlbGwgYXMgcHVsbGluZyB0aGUgZmluaXNo
Q3JlYXRpb24oKSBjYWxscyBvdXQgaW50byB0aGUgY2xhc3MncyBjb3JyZXNwb25kaW5nCisgICAg
ICAgIGNyZWF0ZSgpIG1ldGhvZCBpZiBpdCBoYXMgb25lLiAgRG9pbmcgYm90aCBzaW11bHRhbmVv
dXNseSBhbGxvd3MgdXMgdG8gCisgICAgICAgIG1haW50YWluIHRoZSBpbnZhcmlhbnQgdGhhdCB0
aGUgZmluaXNoQ3JlYXRpb24oKSBtZXRob2QgY2hhaW4gaXMgY2FsbGVkIGV4YWN0bHkgCisgICAg
ICAgIG9uY2UgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBhbiBvYmplY3QsIHNpbmNlIGNhbGxpbmcg
aXQgYW55IG90aGVyIG51bWJlciBvZiAKKyAgICAgICAgdGltZXMgKDAsIDIsIG9yIG1vcmUpIHdp
bGwgY2F1c2UgYW4gYXNzZXJ0aW9uIGZhaWx1cmUuCisKKyAgICAgICAgKiBKU1J1bi5jcHA6Cisg
ICAgICAgIChKU0dsdWVHbG9iYWxPYmplY3Q6OkpTR2x1ZUdsb2JhbE9iamVjdCk6CisKIDIwMTEt
MDktMDcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5NDYyNyBhbmQgcjk0NjMyLgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0pTUnVuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0R2x1
ZS9KU1J1bi5jcHAKaW5kZXggOGM4OGY4NWYzMjBlM2VlMGMyOWMxZDllMjQ2MTBiMTQyNjJkMzgy
Yy4uYmYyMmNiZDE2NDExYzQ2MmJiZDNhMzdmZDkwOTZhZWVjYTI5YTc2OSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRHbHVlL0pTUnVuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdEds
dWUvSlNSdW4uY3BwCkBAIC0zOCw2ICszOCw3IEBAIEpTR2x1ZUdsb2JhbE9iamVjdDo6SlNHbHVl
R2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1CiAg
ICAgLCBtX2ZsYWdzKGZsYWdzKQogICAgICwgbV91c2VyT2JqZWN0U3RydWN0dXJlKGdsb2JhbERh
dGEsIHVzZXJPYmplY3RTdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0
YSwgdGhpcyk7CiB9CiAKIEpTUnVuOjpKU1J1bihDRlN0cmluZ1JlZiBzb3VyY2UsIEpTRmxhZ3Mg
aW5GbGFncykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNDQ3NDYzMzkwZWZkMzM3MjhiYTFlMWYyMTMyNGYxOWUy
MWY5NDQ3Li41YTg0YTVmNmVkMGRmMzczOTQ4YzFlYmU2MTI0MDc5ZDc3NzE3NGNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsODMgQEAKKzIwMTEtMDktMDcgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhu
ZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBVbnppcCBpbml0aWFsaXphdGlvbiBsaXN0cyBh
bmQgY29uc3RydWN0b3JzIGluIEpTQ2VsbCBoaWVyYXJjaHkgKDUvNykKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAg
IENvbXBsZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2YgdGhlIHJlZmFjdG9yaW5nIHRvIGFkZCBmaW5p
c2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBjbGFzc2VzIHdpdGhpbiB0aGUg
SlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAgICAgICBjb25zdHJ1Y3RvciBi
b2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lzdHMgb2YgcHVzaGluZyB0aGUg
Y2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAgICBpbnRvIHRoZSBjb25zdHJ1
Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBsZXZlbCBvZiB0aGUgaGllcmFy
Y2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZpbmlzaENyZWF0aW9uKCkgY2Fs
bHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZworICAgICAgICBjcmVhdGUoKSBt
ZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0YW5lb3VzbHkgYWxsb3dzIHVz
IHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRoYXQgdGhlIGZpbmlzaENyZWF0
aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAorICAgICAgICBvbmNlIGR1cmlu
ZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxsaW5nIGl0IGFueSBvdGhlciBu
dW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3JlKSB3aWxsIGNhdXNlIGFuIGFz
c2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpET01Db25zdHJ1
Y3Rvck9iamVjdDo6RE9NQ29uc3RydWN0b3JPYmplY3QpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2Jq
ZWN0OjpKU0RPTUdsb2JhbE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9i
amVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHA6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oOgorICAgICAgICAoV2ViQ29y
ZTo6SlNET01XaW5kb3dTaGVsbDo6Y3JlYXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RP
TVdyYXBwZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV3JhcHBlcjo6SlNET01XcmFwcGVy
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAg
ICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0SW50
ZXJmYWNlOjpKU1Rlc3RJbnRlcmZhY2UpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2JqOjpKU1Rlc3RPYmopOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlOjpKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UpOgorICAgICAgICAqIGJy
aWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkNSdW50
aW1lT2JqZWN0OjpDUnVudGltZU9iamVjdCk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpDUnVu
dGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJyaWRnZS9jL0NSdW50aW1l
T2JqZWN0Lmg6CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6SmF2YVJ1bnRpbWVPYmplY3Q6OkphdmFSdW50aW1l
T2JqZWN0KToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkphdmFSdW50aW1lT2JqZWN0OjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3Qu
aDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oOgorICAgICAgICAq
IGJyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tOgorICAgICAgICAoSlNDOjpCaW5kaW5n
czo6T2JqQ1J1bnRpbWVPYmplY3Q6Ok9iakNSdW50aW1lT2JqZWN0KToKKyAgICAgICAgKEpTQzo6
QmluZGluZ3M6Ok9iakNSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICog
YnJpZGdlL29iamMvb2JqY19ydW50aW1lLmg6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpPYmpj
RmFsbGJhY2tPYmplY3RJbXA6OmNyZWF0ZSk6CisgICAgICAgICogYnJpZGdlL29iamMvb2JqY19y
dW50aW1lLm1tOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqY0ZhbGxiYWNrT2JqZWN0SW1w
OjpPYmpjRmFsbGJhY2tPYmplY3RJbXApOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9pbnN0YW5j
ZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpRdFJ1bnRpbWVPYmplY3Q6OlF0UnVudGlt
ZU9iamVjdCk6CisgICAgICAgICogYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwOgorICAg
ICAgICAoSlNDOjpCaW5kaW5nczo6UXRQaXhtYXBSdW50aW1lT2JqZWN0OjpRdFBpeG1hcFJ1bnRp
bWVPYmplY3QpOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoKKyAgICAgICAg
KEpTQzo6QmluZGluZ3M6OlF0UnVudGltZU1ldGhvZDo6UXRSdW50aW1lTWV0aG9kKToKKyAgICAg
ICAgKEpTQzo6QmluZGluZ3M6OlF0UnVudGltZU1ldGhvZDo6ZmluaXNoQ3JlYXRpb24pOgorICAg
ICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmg6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVf
YXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OlJ1bnRpbWVBcnJheSk6Cisg
ICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuaDoKKyAgICAgICAgKEpTQzo6UnVudGltZUFy
cmF5OjpjcmVhdGUpOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX21ldGhvZC5jcHA6CisgICAg
ICAgIChKU0M6OlJ1bnRpbWVNZXRob2Q6OlJ1bnRpbWVNZXRob2QpOgorICAgICAgICAoSlNDOjpS
dW50aW1lTWV0aG9kOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVf
bWV0aG9kLmg6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcDoKKyAgICAgICAg
KEpTQzo6QmluZGluZ3M6OlJ1bnRpbWVPYmplY3Q6OlJ1bnRpbWVPYmplY3QpOgorICAgICAgICAq
IGJyaWRnZS9ydW50aW1lX29iamVjdC5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UnVudGlt
ZU9iamVjdDo6Y3JlYXRlKToKKwogMjAxMS0wOS0wNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPgogCiAgICAgICAgIENoYW5nZXMgdG8gYXJpYS1oaWRkZW4gZG9uJ3QgY2hh
bmdlIFZPIG5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNjE5NDRlMGEyMzIwNWY2
YWQzMWQyMWI3NjBmYTQ1MTIzM2YzZWFhYS4uYmI1MzkxNDM1OWNkNjM2MDEyYjAwZTM3MzVjZWU0
YWIxYzE3NTA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE2NDksNiArMTY0OSw3IEBAIF9f
Wk4zSlNDMTNSdW50aW1lTWV0aG9kQzJFUE5TXzlFeGVjU3RhdGVFUE5TXzE0SlNHbG9iYWxPYmpl
Y3RFUE5TXzlTdHJ1Y3R1cmVFUktOCiBfX1pOM0pTQzhCaW5kaW5nczEwUm9vdE9iamVjdEQxRXYK
IF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTFnZXRDYWxsRGF0YUVSTlNfOENhbGxE
YXRhRQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxNGRlbGV0ZVByb3BlcnR5RVBO
U185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRQorX19aTjNKU0M4QmluZGluZ3MxM1J1bnRp
bWVPYmplY3QxNGZpbmlzaENyZWF0aW9uRVBOU18xNEpTR2xvYmFsT2JqZWN0RQogX19aTjNKU0M4
QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxNmdldENvbnN0cnVjdERhdGFFUk5TXzEzQ29uc3RydWN0
RGF0YUUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MThnZXRPd25Qcm9wZXJ0eVNs
b3RFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5TXzEyUHJvcGVydHlTbG90RQog
X19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxOWdldE93blByb3BlcnR5TmFtZXNFUE5T
XzlFeGVjU3RhdGVFUk5TXzE3UHJvcGVydHlOYW1lQXJyYXlFTlNfMTVFbnVtZXJhdGlvbk1vZGVF
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDQ2NTMwYzM4
MTUzMDNhMjVlMzk4YTBiYWIzMTFmMzlmMTc3ZTZhZDQuLmMxYzgzN2VlMjcwMDJmYjQ5MDYwOWRi
MTE5Mzg5YzEwYmM4MTllNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmlu
ZGluZy5oCkBAIC01NSw2ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRE9N
Q29uc3RydWN0b3JPYmplY3QoSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgICAgIDogSlNET01XcmFwcGVyKHN0cnVjdHVy
ZSwgZ2xvYmFsT2JqZWN0KQogICAgICAgICB7CisgICAgICAgICAgICBmaW5pc2hDcmVhdGlvbihn
bG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSk7CiAgICAgICAgIH0KICAgICB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNGRh
ZmE2OGUwNDU2YWVhNjdmZTI2ZWQxZmJjMTBmMWJiZjQ2Y2M0OC4uZjllYWY2YTQ5YjFlOWY0YmM4
NTk3ZTBjOTIxNTY5ZjMxNDg2NmMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtNDMsMTAgKzQzLDE2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNvbnN0IENsYXNzSW5mbyBKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZvID0geyAi
RE9NR2xvYmFsT2JqZWN0IiwgJkpTR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIDAgfTsKIAogSlNE
T01HbG9iYWxPYmplY3Q6OkpTRE9NR2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0
YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiB3b3Js
ZCwgSlNPYmplY3QqIHRoaXNWYWx1ZSkKLSAgICA6IEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEs
IHN0cnVjdHVyZSwgdGhpc1ZhbHVlKQorICAgIDogSlNHbG9iYWxPYmplY3QoZ2xvYmFsRGF0YSwg
c3RydWN0dXJlKQogICAgICwgbV9jdXJyZW50RXZlbnQoMCkKICAgICAsIG1fd29ybGQod29ybGQp
CiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhpc1ZhbHVlKTsKK30KKwordm9p
ZCBKU0RPTUdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBKU09iamVjdCogdGhpc1ZhbHVlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGds
b2JhbERhdGEsIHRoaXNWYWx1ZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmpl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKaW5k
ZXggZTBhNmEwNzJhZThiN2VkMGM5NjNjMzUzMWFjYjY2MmI3OWQ0ZWZlOS4uOWE4MzhiZjlhODNj
NDljMWM0MWUzY2IyNzc1MTA4YWM0OTdmMDA4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgc3RydWN0IEpTRE9NR2xvYmFsT2JqZWN0RGF0YTsKIAogICAgICAg
ICBKU0RPTUdsb2JhbE9iamVjdChKU0M6OkpTR2xvYmFsRGF0YSYsIEpTQzo6U3RydWN0dXJlKiwg
UGFzc1JlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OkpTT2JqZWN0KiB0aGlzVmFsdWUpOwor
ICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6SlNHbG9iYWxEYXRhJiwgSlNDOjpKU09i
amVjdCogdGhpc1ZhbHVlKTsKIAogICAgIHB1YmxpYzoKICAgICAgICAgSlNET01TdHJ1Y3R1cmVN
YXAmIHN0cnVjdHVyZXMoKSB7IHJldHVybiBtX3N0cnVjdHVyZXM7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKaW5kZXggMWVkZmQyZTZhNzM0
MjZjYTdlNjkwZWE3Njk4ZThlYzI5NzRhMzJiYS4uMTU4OGQ0ZmVkMDIxZWU2Y2M2NmZmNTM5Yjhm
MDA0NmEzZWJkOTRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dTaGVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dTaGVsbC5jcHAKQEAgLTE4MiwxMyArMTgyLDYgQEAgdm9pZCogSlNET01XaW5kb3dTaGVs
bDo6b3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKQogICAgIHJldHVybiBoZWFwLmFsbG9jYXRlKHNp
emUpOwogfQogCi1KU0RPTVdpbmRvd1NoZWxsKiBKU0RPTVdpbmRvd1NoZWxsOjpjcmVhdGUoUGFz
c1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRE9N
V3JhcHBlcldvcmxkKiB3b3JsZCkKLXsKLSAgICBKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCA9IG5l
dyBKU0RPTVdpbmRvd1NoZWxsKHN0cnVjdHVyZSwgd29ybGQpOwotICAgIHNoZWxsLT5maW5pc2hD
cmVhdGlvbigqd29ybGQtPmdsb2JhbERhdGEoKSwgd2luZG93KTsKLSAgICByZXR1cm4gc2hlbGw7
IAotfQotCiAvLyAtLS0tCiAvLyBDb252ZXJzaW9uIG1ldGhvZHMKIC8vIC0tLS0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAppbmRleCA1MzRlYTJhY2Yy
NjZiMWMwNTFlM2Q5MmU1ZDM1MDI4ZTk3NTI3ZWIwLi44N2QwMjZkYmUwNThjZmZjMTg2ZTU5NTI1
MDNiODI1OTMwNTczZDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd1NoZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dTaGVsbC5oCkBAIC01NSw3ICs1NSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAgICAgRE9NV2luZG93KiBpbXBsKCkgY29uc3Q7CiAKLSAgICAgICAgc3RhdGljIEpTRE9NV2lu
ZG93U2hlbGwqIGNyZWF0ZShQYXNzUmVmUHRyPERPTVdpbmRvdz4sIEpTQzo6U3RydWN0dXJlKiwg
RE9NV3JhcHBlcldvcmxkKik7CisgICAgICAgIHN0YXRpYyBKU0RPTVdpbmRvd1NoZWxsKiBjcmVh
dGUoUGFzc1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkgCisgICAgICAgIHsKKyAgICAgICAgICAgIEpTRE9N
V2luZG93U2hlbGwqIHNoZWxsID0gbmV3IEpTRE9NV2luZG93U2hlbGwoc3RydWN0dXJlLCB3b3Js
ZCk7CisgICAgICAgICAgICBzaGVsbC0+ZmluaXNoQ3JlYXRpb24oKndvcmxkLT5nbG9iYWxEYXRh
KCksIHdpbmRvdyk7CisgICAgICAgICAgICByZXR1cm4gc2hlbGw7IAorICAgICAgICB9CiAKICAg
ICAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU0dsb2Jh
bERhdGEmIGdsb2JhbERhdGEsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpIAogICAgICAgICB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCmluZGV4IDZhMWI0Mzg5Mzhm
YTE0MWI0ODBjMDFlYjhkZjQwMTdmOTZmMTNlOWIuLjJkYTNmYTAzNGQ2ZjYxYjk4ZmEwOGNkODM1
NmE2ZDM1MzRiMzg3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV3JhcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBl
ci5oCkBAIC01OSw3ICs1OSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgLy8gbmV3IEphdmFTY3Jp
cHQgb2JqZWN0cyBvbiBkZXRhY2hlZCB3aW5kb3dzIGR1ZSB0byBET01XaW5kb3c6OmRvY3VtZW50
KCkKICAgICAgICAgLy8gbmVlZGluZyB0byByZWFjaCB0aHJvdWdoIHRoZSBmcmFtZSB0byBnZXQg
dG8gdGhlIERvY3VtZW50Ki4gIFNlZSBidWcgMjc2NDAuCiAgICAgICAgIC8vIEFTU0VSVChnbG9i
YWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0gICAgICAgIGZpbmlzaENyZWF0
aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDAw
NDNjYmQxZDkxZDM1NjI2YzAwZTU5MzkxNWRiZDNmOTcyYTFjYTkuLjFmMjRiOTRkMjc5Mzk2Mzky
MTNhNGEyNzk1MTY5MjM4MDA5ZTdkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNTE0LDIwICsxNTE0LDI0IEBAIHN1
YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIEFkZEluY2x1ZGVzRm9yVHlwZUluSW1w
bCgiSlNET01XaW5kb3dTaGVsbCIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiR7Y2xh
c3NOYW1lfTo6JGNsYXNzTmFtZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBQYXNzUmVmUHRyPCRpbXBsVHlwZT4gaW1wbCwgSlNET01XaW5kb3dTaGVsbCog
c2hlbGwpXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgOiAkcGFyZW50Q2xh
c3NOYW1lKGdsb2JhbERhdGEsIHN0cnVjdHVyZSwgaW1wbCwgc2hlbGwpXG4iKTsKKyAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICB9IGVsc2lmICgkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJJc1dvcmtlckNvbnRleHQifSkgewogICAgICAgICBBZGRJbmNsdWRl
c0ZvclR5cGVJbkltcGwoJGludGVyZmFjZU5hbWUpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiR7Y2xhc3NOYW1lfTo6JGNsYXNzTmFtZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPCRpbXBsVHlwZT4gaW1wbClcbiIpOwogICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICA6ICRwYXJlbnRDbGFzc05hbWUoZ2xvYmFsRGF0
YSwgc3RydWN0dXJlLCBpbXBsKVxuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xu
Iik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIke2NsYXNzTmFt
ZX06OiRjbGFzc05hbWUoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFBhc3NSZWZQdHI8JGltcGxUeXBlPiBpbXBsKVxuIik7CiAgICAgICAgIGlm
ICgkaGFzUGFyZW50KSB7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICA6ICRw
YXJlbnRDbGFzc05hbWUoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIGltcGwpXG4iKTsKKyAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICA6ICRwYXJlbnRDbGFzc05hbWUoc3RydWN0
dXJlLCBnbG9iYWxPYmplY3QpXG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgICwgbV9pbXBsKGltcGwpXG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
e1xuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBmaW5pc2hDcmVhdGlv
bihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSk7XG4iKTsKICAgICAgICAgfQogICAgIH0KLSAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7XG4iKTsKICAgICBpZiAoJG51bUNhY2hlZEF0dHJp
YnV0ZXMgPiAwKSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGZvciAodW5zaWdu
ZWQgaSA9IEJhc2U6OkFub255bW91c1Nsb3RDb3VudDsgaSA8IEFub255bW91c1Nsb3RDb3VudDsg
aSsrKVxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGEwZGUyM2Y0NmFjZTdjNTY0OWQw
OWRmNmRjMjc1ZWY5MzYxNWMyZTYuLmY5YmJkMGIwM2RhNGIxZGVhMzA3MWY1YTQzYzUwMWU1OGI3
Mzk2ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC0xNDYsNiArMTQ2LDcgQEAgSlNUZXN0
SW50ZXJmYWNlOjpKU1Rlc3RJbnRlcmZhY2UoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWwKICAgICA6IEpTRE9NV3JhcHBlcihzdHJ1Y3R1cmUsIGdsb2JhbE9i
amVjdCkKICAgICAsIG1faW1wbChpbXBsKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9i
amVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygm
c19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmNwcAppbmRleCAyYzFlNzJiNTBmZWYyNDc4Mjg2NzI3ZDJiOTVlMjBjN2FjMGFmYzM3Li4wNTk2
MDFhOTVkZDliZGViMjgwMjE0ZDE5Y2Q0YmE5ZTIyNGY3YjE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBAIC0xNDIsNiArMTQyLDcgQEAgSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcihTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwKICAgICA6IEpTRE9NV3JhcHBlcihzdHJ1Y3R1cmUsIGdsb2JhbE9i
amVjdCkKICAgICAsIG1faW1wbChpbXBsKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9i
amVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygm
c19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggMGRiM2Q4OGJhMWEzN2YzZDM3OWZlZjI1NTFl
NjFjM2ZkOTk5YjYyZS4uZDMyNTZiN2Y5Mzc1NzUyMzg3MjU5YjdhNzQ0NTUxZjVjOWE3NTJlZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKQEAgLTI5Nyw2ICsyOTcsNyBAQCBKU1Rlc3RPYmo6OkpTVGVzdE9iaihTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUGFzcwog
ICAgIDogSlNET01XcmFwcGVyKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogICAgICwgbV9pbXBs
KGltcGwpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCks
IGdsb2JhbE9iamVjdCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNw
cAppbmRleCA3N2Y5YmRkMjdlOTc1OWM0MTQwM2I5MjBiOTlmMzA5ZjY4ZTVkMzhhLi40ZTU4ZjI0
MWYwYTQ1OTQzNjg5MDBkZmQwZDIzM2I3OGY4YjBlNjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcApAQCAtMTMyLDYgKzEz
Miw3IEBAIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6SlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKFN0cnVjCiAgICAgOiBKU0RPTVdyYXBwZXIoc3RydWN0
dXJlLCBnbG9iYWxPYmplY3QpCiAgICAgLCBtX2ltcGwoaW1wbCkKIHsKKyAgICBmaW5pc2hDcmVh
dGlvbihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0KTsKICAgICBBU1NF
UlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVu
dGltZU9iamVjdC5jcHAKaW5kZXggYzYzZTU4NmQyMWMxZTJhYzY2NzkyNjMxODYzMzJiMGM1MDEx
NThjNi4uYjQ2MGE5MTQ1MmY2NTZiMDMzOTc4MzU3NDY4NWFjZjBkZTIxZDE0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcApAQCAtNDAsNiArNDAsMTIgQEAg
Y29uc3QgQ2xhc3NJbmZvIENSdW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJDUnVudGltZU9iamVj
dCIsICZSdW50aW1lT2JqZWN0OjpzX2kKIENSdW50aW1lT2JqZWN0OjpDUnVudGltZU9iamVjdChF
eGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBQYXNzUmVmUHRyPENJbnN0YW5jZT4gaW5zdGFuY2UpCiAgICAgOiBSdW50aW1l
T2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5jZSkKIHsKKyAgICBm
aW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOworfQorCit2b2lkIENSdW50aW1lT2JqZWN0Ojpm
aW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2lu
Zm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmgKaW5kZXgg
NmZlN2RmYWY3N2ZjMGQxOGMwZDBjMTUxYzE3ZjVhN2EzZmRiMzc4Yy4uZWYxOWM4YTZlYjMyZTM0
ZTg3YTYxMDc4Yjg0NWUwZTYwMGU3YjMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL2MvQ1J1bnRpbWVPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVu
dGltZU9iamVjdC5oCkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBD
UnVudGltZU9iamVjdChFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIFBh
c3NSZWZQdHI8Q0luc3RhbmNlPik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9i
amVjdCopOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9q
c2MvSmF2YVJ1bnRpbWVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2Mv
SmF2YVJ1bnRpbWVPYmplY3QuY3BwCmluZGV4IGZmZmU4NTZkYTBkNWU1MWI2ODI4ZjI2ZjVkYTEx
ZTE2YTcxNThmZDQuLmQ2ODRhYjAyZTM5NzAyOWYxMWY1YTI1MTRhY2IwYWQzMTNkYjBlZWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVj
dC5jcHAKQEAgLTM4LDYgKzM4LDEyIEBAIGNvbnN0IENsYXNzSW5mbyBKYXZhUnVudGltZU9iamVj
dDo6c19pbmZvID0geyAiSmF2YVJ1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVjCiBKYXZhUnVu
dGltZU9iamVjdDo6SmF2YVJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxKYXZh
SW5zdGFuY2U+IGluc3RhbmNlKQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmpl
Y3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2Jq
ZWN0KTsKK30KKwordm9pZCBKYXZhUnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9i
YWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmggYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oCmluZGV4IDcw
YTNjZTk4MTI2ZTYxM2UwNjRiNjM4MWFjN2IzZDdhNzY5OTMwN2MuLmJiMTc5Mzg2NGJhMzM1MjAx
ZmU4MDEzOWVhZmFkMzNkZjcyNzYxMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdl
L2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuaApAQCAtNTksNiArNTksNyBAQCBwdWJsaWM6CiAK
IHByaXZhdGU6CiAgICAgSmF2YVJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmpl
Y3QqLCBTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPEphdmFJbnN0YW5jZT4pOworICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oCmluZGV4IGJmYTFmOTFjM2I4MzVhMzk0
NmE5YmM5YTI5YTdmZTZiZmMxYmMwMjcuLjAzNDBjMDUxYmU5YjEwY2ViMTQ4ZjU4NDAyZmZkY2Zm
YmIyYmQxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50
aW1lT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVP
YmplY3QuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgT2JqQ1J1
bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBQYXNzUmVmUHRyPE9iamNJ
bnN0YW5jZT4sIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxP
YmplY3QqKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpj
L09iakNSdW50aW1lT2JqZWN0Lm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1
bnRpbWVPYmplY3QubW0KaW5kZXggZWE4NjI2MzJkZWM0Y2ZlN2FlZGQ2MWRlNTg0YmIyZDVjMGVi
OGZhOS4uYzUxYmQ0ZDIwYzkzYjZhYzgwODhkZGNkZGJhMjhjZjIwZDg3ODk2ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QubW0KQEAgLTM4LDYg
KzM4LDEyIEBAIGNvbnN0IENsYXNzSW5mbyBPYmpDUnVudGltZU9iamVjdDo6c19pbmZvID0geyAi
T2JqQ1J1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVjCiBPYmpDUnVudGltZU9iamVjdDo6T2Jq
Q1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBQYXNzUmVmUHRyPE9iamNJbnN0YW5jZT4gaW5zdGFuY2UsIFN0cnVjdHVyZSogc3RydWN0
dXJlKQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwg
aW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKK30KKwordm9p
ZCBPYmpDUnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogICAg
IEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29i
amMvb2JqY19ydW50aW1lLmgKaW5kZXggNWY2MWFkZmQ3MTc2ZGZhZWViOWY0ZGNmMzFlOTIzZTkz
YmZiMmQxNC4uMzQ2NDg0OGFiZGYyNjI5ODIzMWRmMmI3NmZiNThmNTI3YTE5ZDBkYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgKQEAgLTk4LDcgKzk4LDkgQEAg
cHVibGljOgogICAgIHsKICAgICAgICAgLy8gRklYTUU6IGRlcHJlY2F0ZWRHZXRET01TdHJ1Y3R1
cmUgdXNlcyB0aGUgcHJvdG90eXBlIG9mZiBvZiB0aGUgd3JvbmcgZ2xvYmFsIG9iamVjdAogICAg
ICAgICBTdHJ1Y3R1cmUqIGRvbVN0cnVjdHVyZSA9IFdlYkNvcmU6OmRlcHJlY2F0ZWRHZXRET01T
dHJ1Y3R1cmU8T2JqY0ZhbGxiYWNrT2JqZWN0SW1wPihleGVjKTsKLSAgICAgICAgcmV0dXJuIG5l
dyAoYWxsb2NhdGVDZWxsPE9iamNGYWxsYmFja09iamVjdEltcD4oKmV4ZWMtPmhlYXAoKSkpIE9i
amNGYWxsYmFja09iamVjdEltcChnbG9iYWxPYmplY3QsIGRvbVN0cnVjdHVyZSwgaW5zdGFuY2Us
IHByb3BlcnR5TmFtZSk7CisgICAgICAgIE9iamNGYWxsYmFja09iamVjdEltcCogZmFsbGJhY2tP
YmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxPYmpjRmFsbGJhY2tPYmplY3RJbXA+KCpleGVjLT5o
ZWFwKCkpKSBPYmpjRmFsbGJhY2tPYmplY3RJbXAoZ2xvYmFsT2JqZWN0LCBkb21TdHJ1Y3R1cmUs
IGluc3RhbmNlLCBwcm9wZXJ0eU5hbWUpOworICAgICAgICBmYWxsYmFja09iamVjdC0+ZmluaXNo
Q3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIGZhbGxiYWNrT2JqZWN0Owog
ICAgIH0KIAogICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19pbmZvOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tCmluZGV4IDRmOWQ1MDU0OTA1ZTY0MzJmYjYy
ODU4NjVmNGVmOTg5MWRjMDk5NmYuLjMyYzE2YmVmN2NjYzdmNjJmNTI0MzcwZDc4NWQ2NzVjZDhl
YzZiNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGlt
ZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW0KQEAg
LTIwMSw4ICsyMDEsNiBAQCBPYmpjRmFsbGJhY2tPYmplY3RJbXA6Ok9iamNGYWxsYmFja09iamVj
dEltcChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1YwogICAgICwgX2luc3RhbmNl
KGkpCiAgICAgLCBfaXRlbShwcm9wZXJ0eU5hbWUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xv
YmFsT2JqZWN0KTsKLSAgICBBU1NFUlQoc3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKSA9PSBnbG9i
YWxPYmplY3QpOwogfQogCiB2b2lkIE9iamNGYWxsYmFja09iamVjdEltcDo6ZmluaXNoQ3JlYXRp
b24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQv
cXRfaW5zdGFuY2UuY3BwCmluZGV4IDk4OTkxNjBkMTgxMDU0OWZhODU0MWM3NmU4NWRhNjg1NmU5
ZGQwMDEuLmZjMWEzNDYzYzgwNDFmZDM5ODBjZjRjODVlYmU1MWFhNjNhYmE0NmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcApAQCAtODUsNiArODUsNyBAQCBjb25z
dCBDbGFzc0luZm8gUXRSdW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJRdFJ1bnRpbWVPYmplY3Qi
LCAmUnVudGltZU9iamVjdDo6cwogUXRSdW50aW1lT2JqZWN0OjpRdFJ1bnRpbWVPYmplY3QoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgUGFzc1JlZlB0cjxJbnN0YW5jZT4gaW5zdGFuY2UpCiAgICAgOiBSdW50aW1lT2Jq
ZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5jZSkKIHsKKyAgICBmaW5p
c2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiAvLyBRdEluc3RhbmNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVudGltZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVudGltZS5jcHAKaW5kZXggODc5YWM3ZDdlYTIw
MWU4ZjU5NDM2NDc1ZmE4ZGQ1MmY2NWViNjE5NC4uNjg3NDFiNDliZGQ4NWEyOTM5ZWRlYzMzM2Y0
Njg4NjQwZTkxNTZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3Bp
eG1hcHJ1bnRpbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9waXhtYXBy
dW50aW1lLmNwcApAQCAtMjI0LDYgKzIyNCw3IEBAIHByaXZhdGU6CiBRdFBpeG1hcFJ1bnRpbWVP
YmplY3Q6OlF0UGl4bWFwUnVudGltZU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPEluc3Rh
bmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBz
dHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7
CiB9CiAKIGNvbnN0IENsYXNzSW5mbyBRdFBpeG1hcFJ1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsg
IlF0UGl4bWFwUnVudGltZU9iamVjdCIsICZSdW50aW1lT2JqZWN0OjpzX2luZm8sIDAsIDAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcAppbmRleCBkNjY1YjYxY2Y5Njdh
M2ZlN2Y3MzMzN2E1ZTAzN2YyOGI2ZTU5ZTkzLi41M2UzMDFmMjU2NDVlOWUzNmM5YTViNWNkNmJk
OGJiMmU0NDEzMmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVu
dGltZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCkBA
IC0xMDA2LDEyICsxMDA2LDE4IEBAIEpTVmFsdWUgY29udmVydFFWYXJpYW50VG9WYWx1ZShFeGVj
U3RhdGUqIGV4ZWMsIFBhc3NSZWZQdHI8Um9vdE9iamVjdD4gcm9vdCwgY29uCiAKIGNvbnN0IENs
YXNzSW5mbyBRdFJ1bnRpbWVNZXRob2Q6OnNfaW5mbyA9IHsgIlF0UnVudGltZU1ldGhvZCIsICZJ
bnRlcm5hbEZ1bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAotUXRSdW50aW1lTWV0aG9kOjpRdFJ1
bnRpbWVNZXRob2QoUXRSdW50aW1lTWV0aG9kRGF0YSogZGQsIEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBQYXNzUmVmUHRyPFF0
SW5zdGFuY2U+IGluc3QpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRh
KCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgc3RydWN0dXJlLCBpZGVudCkKK1F0UnVu
dGltZU1ldGhvZDo6UXRSdW50aW1lTWV0aG9kKFF0UnVudGltZU1ldGhvZERhdGEqIGRkLCBFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dGlmaWVyLCBQYXNzUmVmUHRyPFF0SW5zdGFuY2U+IGluc3RhbmNlKQorICAgIDogSW50ZXJuYWxG
dW5jdGlvbihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIHN0cnVjdHVyZSkKICAgICAsIGRf
cHRyKGRkKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50aWZpZXIsIGluc3RhbmNl
KTsKK30KKwordm9pZCBRdFJ1bnRpbWVNZXRob2Q6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllciwgUGFzc1JlZlB0cjxRdEluc3RhbmNl
PiBpbnN0YW5jZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRh
KCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgaWRlbnRpZmllcik7CiAgICAgUVdfRChR
dFJ1bnRpbWVNZXRob2QpOwotICAgIGQtPm1faW5zdGFuY2UgPSBpbnN0OworICAgIGQtPm1faW5z
dGFuY2UgPSBpbnN0YW5jZTsKICAgICBkLT5tX2ZpbmFsaXplci5zZXQoZXhlYy0+Z2xvYmFsRGF0
YSgpLCB0aGlzLCBkKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0
L3F0X3J1bnRpbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgKaW5k
ZXggZGVhNjdkM2RlY2UzNWQ1NWVmOTgxYTMwNjgzOGRkZWM2MGQ4NzhlMy4uOGI2ZjAzNGRjMzFm
NTBkOTliZDFlMmQ4ZTNmZWM4NmE2MjJmMWViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL3F0L3F0X3J1bnRpbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRf
cnVudGltZS5oCkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVibGljOgogICAgIH0KIAogcHJvdGVjdGVk
OgorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYs
IFBhc3NSZWZQdHI8UXRJbnN0YW5jZT4pOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dldFBy
b3BlcnR5TmFtZXMgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRl
c1Zpc2l0Q2hpbGRyZW47CiAKICAgICBRdFJ1bnRpbWVNZXRob2REYXRhICpkX2Z1bmMoKSBjb25z
dCB7cmV0dXJuIGRfcHRyO30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX2FycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNwcApp
bmRleCBlMDFhMTVmMzdjYzkxYzQ1OGVkYTE0MWM3NDg2ZDhjMjY5YzZkY2IwLi44YTAzN2Y5MjRk
Y2FhODIwOWM3MTgxNzJlMWE4YzhkYzc0NTNjMzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfYXJyYXkuY3BwCkBAIC0zNywxMCArMzcsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY29u
c3QgQ2xhc3NJbmZvIFJ1bnRpbWVBcnJheTo6c19pbmZvID0geyAiUnVudGltZUFycmF5IiwgJkpT
QXJyYXk6OnNfaW5mbywgMCwgMCB9OwogCi1SdW50aW1lQXJyYXk6OlJ1bnRpbWVBcnJheShFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBCaW5kaW5nczo6QXJyYXkqIGFycmF5
KQorUnVudGltZUFycmF5OjpSdW50aW1lQXJyYXkoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKICAgICA6IEpTQXJyYXkoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUp
CiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBhcnJheSk7CiB9CiAK
IHZvaWQgUnVudGltZUFycmF5OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEsIEJpbmRpbmdzOjpBcnJheSogYXJyYXkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9hcnJheS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJy
YXkuaAppbmRleCAxMDIxZTdkMjA2M2QwZTZmMzU5Y2NlOGZiN2Q4ZTU5Yjg2NWE4YjIzLi42Y2I4
ZWIzM2Q3ZGM2NWIwZDQzNmEwYWJjZmEwZmZhZDhmYWM4ODVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX2FycmF5LmgKQEAgLTQxLDcgKzQxLDkgQEAgcHVibGljOgogICAgICAgICAvLyBG
SVhNRTogZGVwcmVjYXRlZEdldERPTVN0cnVjdHVyZSB1c2VzIHRoZSBwcm90b3R5cGUgb2ZmIG9m
IHRoZSB3cm9uZyBnbG9iYWwgb2JqZWN0CiAgICAgICAgIC8vIFdlIG5lZWQgdG8gcGFzcyBpbiB0
aGUgcmlnaHQgZ2xvYmFsIG9iamVjdCBmb3IgImFycmF5Ii4KICAgICAgICAgU3RydWN0dXJlKiBk
b21TdHJ1Y3R1cmUgPSBXZWJDb3JlOjpkZXByZWNhdGVkR2V0RE9NU3RydWN0dXJlPFJ1bnRpbWVB
cnJheT4oZXhlYyk7Ci0gICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxSdW50aW1lQXJy
YXk+KCpleGVjLT5oZWFwKCkpKSBSdW50aW1lQXJyYXkoZXhlYywgZG9tU3RydWN0dXJlLCBhcnJh
eSk7CisgICAgICAgIFJ1bnRpbWVBcnJheSogcnVudGltZUFycmF5ID0gbmV3IChhbGxvY2F0ZUNl
bGw8UnVudGltZUFycmF5PigqZXhlYy0+aGVhcCgpKSkgUnVudGltZUFycmF5KGV4ZWMsIGRvbVN0
cnVjdHVyZSk7CisgICAgICAgIHJ1bnRpbWVBcnJheS0+ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xv
YmFsRGF0YSgpLCBhcnJheSk7CisgICAgICAgIHJldHVybiBydW50aW1lQXJyYXk7CiAgICAgfQog
CiAgICAgdHlwZWRlZiBCaW5kaW5nczo6QXJyYXkgQmluZGluZ3NBcnJheTsKQEAgLTc5LDcgKzgx
LDcgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFt
ZXMgfCBKU0FycmF5OjpTdHJ1Y3R1cmVGbGFnczsKIAogcHJpdmF0ZToKLSAgICBSdW50aW1lQXJy
YXkoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgQmluZGluZ3M6OkFycmF5Kik7CisgICAgUnVudGlt
ZUFycmF5KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopOwogICAgIHN0YXRpYyBKU1ZhbHVlIGxlbmd0
aEdldHRlcihFeGVjU3RhdGUqLCBKU1ZhbHVlLCBjb25zdCBJZGVudGlmaWVyJik7CiAgICAgc3Rh
dGljIEpTVmFsdWUgaW5kZXhHZXR0ZXIoRXhlY1N0YXRlKiwgSlNWYWx1ZSwgdW5zaWduZWQpOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwCmluZGV4IDI4ZmJkM2Y5
YzBkOTE4MDYxZTY5ZmIxNDRhZGJlOWJiNTg0ZjEzOWMuLmNmMjM1NTUxZDM4NDY1MDlkMTE2Zjgy
YWQ3ZmJlMTRiMjVkZjI2NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX21ldGhvZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9k
LmNwcApAQCAtNDUsOSArNDUsMTUgQEAgY29uc3QgQ2xhc3NJbmZvIFJ1bnRpbWVNZXRob2Q6OnNf
aW5mbyA9IHsgIlJ1bnRpbWVNZXRob2QiLCAmSW50ZXJuYWxGdW5jdGlvbjo6c18KIAogUnVudGlt
ZU1ldGhvZDo6UnVudGltZU1ldGhvZChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCwgQmluZGluZ3M6Ok1ldGhvZExpc3QmIG0pCiAgICAgLy8gQ2FsbGVycyB3aWxsIG5lZWQgdG8g
cGFzcyBpbiB0aGUgcmlnaHQgZ2xvYmFsIG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIHRoaXMgbmF0
aXZlIG9iamVjdCAibSIuCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRh
KCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpZGVudCkKKyAgICA6IEludGVybmFsRnVuY3Rp
b24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBfbWV0aG9kTGlzdChhZG9wdFB0cihu
ZXcgTWV0aG9kTGlzdChtKSkpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0
YSgpLCBpZGVudCk7Cit9CisKK3ZvaWQgUnVudGltZU1ldGhvZDo6ZmluaXNoQ3JlYXRpb24oSlNH
bG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCkKK3sKKyAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBpZGVudCk7CiAgICAgQVNTRVJUKGluaGVy
aXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfbWV0aG9kLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaApp
bmRleCBjZjgyMDczZGVhN2IwZTI0ZTZlMDFkMGMyNzMxOTA5MTQxZjcxMTdmLi40NGIwODdhZDJi
N2Q4MmFjZWRhYTgyZmFkMDNkZDFiNjhlMjg1OTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVu
dGltZV9tZXRob2QuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAg
ICBSdW50aW1lTWV0aG9kKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwg
Y29uc3QgSWRlbnRpZmllciYgbmFtZSwgQmluZGluZ3M6Ok1ldGhvZExpc3QmKTsKKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYsIGNvbnN0IElkZW50aWZpZXImKTsKICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9w
ZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogcHJpdmF0ZToK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCmluZGV4IGJhMWU3ZTUzMWJj
ODlhZDIzY2YwMTA2Mzk1ZDcyYjhhOTRkZDFkMTcuLjVmZmY1ZTMwMjdiNzViNGFkYWZhNDRlYTE0
MGNlMDFmMmUzZjRkYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X29iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNw
cApAQCAtNDEsOCArNDEsNiBAQCBSdW50aW1lT2JqZWN0OjpSdW50aW1lT2JqZWN0KEV4ZWNTdGF0
ZSosIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZQogICAgIDogSlNOb25G
aW5hbE9iamVjdChnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogICAgICwg
bV9pbnN0YW5jZShpbnN0YW5jZSkKIHsKLSAgICBBU1NFUlQoc3RydWN0dXJlLT5nbG9iYWxPYmpl
Y3QoKSA9PSBnbG9iYWxPYmplY3QpOwotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7
CiB9CiAKIHZvaWQgUnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X29iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKaW5kZXgg
YjEyZTg2MTFlNTBiMzczYTNiMDE2M2Q5Y2U2ZDIxYjZhNzVkZWQyZC4uODdiN2Y3MDY2NzlhMjY1
YzI4NWU3YTY1YTliNmE5YTg0YzA2MmU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfb2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVf
b2JqZWN0LmgKQEAgLTM4LDcgKzM4LDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFJ1bnRpbWVP
YmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPEluc3RhbmNlPiBpbnN0YW5jZSkK
ICAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxSdW50aW1lT2JqZWN0Pigq
ZXhlYy0+aGVhcCgpKSkgUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgaW5zdGFuY2UpOworICAgICAgICBSdW50aW1lT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9j
YXRlQ2VsbDxSdW50aW1lT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgUnVudGltZU9iamVjdChleGVj
LCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpOworICAgICAgICBvYmplY3QtPmZp
bmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAg
fQogCiAgICAgdmlydHVhbCB+UnVudGltZU9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDRh
ZGZiNTYyYTU1YzVlOGRmNzE1OWMwZTUxYzZhOWIwOGUzNjEzOTYuLjBjZmJhMWQ0NWIyY2E2Mzc2
YzZkYWViMWYzYWMxYzEzZTExNTA5MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBA
QAorMjAxMS0wOS0wNyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgor
CisgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4g
SlNDZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDb21wbGV0ZWQgdGhlIGZpZnRoIGxldmVsIG9mIHRoZSByZWZhY3Rvcmlu
ZyB0byBhZGQgZmluaXNoQ3JlYXRpb24oKSAKKyAgICAgICAgbWV0aG9kcyB0byBhbGwgY2xhc3Nl
cyB3aXRoaW4gdGhlIEpTQ2VsbCBoaWVyYXJjaHkgd2l0aCBub24tdHJpdmlhbCAKKyAgICAgICAg
Y29uc3RydWN0b3IgYm9kaWVzLgorCisgICAgICAgIFRoaXMgcHJpbWFyaWx5IGNvbnNpc3RzIG9m
IHB1c2hpbmcgdGhlIGNhbGxzIHRvIGZpbmlzaENyZWF0aW9uKCkgZG93biAKKyAgICAgICAgaW50
byB0aGUgY29uc3RydWN0b3JzIG9mIHRoZSBzdWJjbGFzc2VzIG9mIHRoZSBzZWNvbmQgbGV2ZWwg
b2YgdGhlIGhpZXJhcmNoeSAKKyAgICAgICAgYXMgd2VsbCBhcyBwdWxsaW5nIHRoZSBmaW5pc2hD
cmVhdGlvbigpIGNhbGxzIG91dCBpbnRvIHRoZSBjbGFzcydzIGNvcnJlc3BvbmRpbmcKKyAgICAg
ICAgY3JlYXRlKCkgbWV0aG9kIGlmIGl0IGhhcyBvbmUuICBEb2luZyBib3RoIHNpbXVsdGFuZW91
c2x5IGFsbG93cyB1cyB0byAKKyAgICAgICAgbWFpbnRhaW4gdGhlIGludmFyaWFudCB0aGF0IHRo
ZSBmaW5pc2hDcmVhdGlvbigpIG1ldGhvZCBjaGFpbiBpcyBjYWxsZWQgZXhhY3RseSAKKyAgICAg
ICAgb25jZSBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIGFuIG9iamVjdCwgc2luY2UgY2FsbGluZyBp
dCBhbnkgb3RoZXIgbnVtYmVyIG9mIAorICAgICAgICB0aW1lcyAoMCwgMiwgb3IgbW9yZSkgd2ls
bCBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKworICAgICAgICAqIFBsdWdpbnMvSG9zdGVk
L1Byb3h5UnVudGltZU9iamVjdC5oOgorICAgICAgICAqIFBsdWdpbnMvSG9zdGVkL1Byb3h5UnVu
dGltZU9iamVjdC5tbToKKyAgICAgICAgKFdlYktpdDo6UHJveHlSdW50aW1lT2JqZWN0OjpQcm94
eVJ1bnRpbWVPYmplY3QpOgorICAgICAgICAoV2ViS2l0OjpQcm94eVJ1bnRpbWVPYmplY3Q6OmZp
bmlzaENyZWF0aW9uKToKKwogMjAxMS0wOS0wNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3
LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk0NjI3
IGFuZCByOTQ2MzIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9Qcm94eVJ1bnRpbWVPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L1Byb3h5UnVudGltZU9iamVjdC5oCmluZGV4IDMxMzcxNWFlYTRiNDNlY2YwMGVkZWRlY2VhMmQ5
ZjY0OTVjMzk1YjAuLjVhZTk4Mzg1MDQwNGY1MWM2NDZlODJmYjcyODZjNzVhOTVkZDczNTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGlt
ZU9iamVjdC5oCkBAIC01OSw2ICs1OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgSlND
OjpDbGFzc0luZm8gc19pbmZvOwogcHJpdmF0ZToKICAgICBQcm94eVJ1bnRpbWVPYmplY3QoSlND
OjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBQYXNz
UmVmUHRyPFByb3h5SW5zdGFuY2U+KTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6SlNH
bG9iYWxPYmplY3QqKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1Bs
dWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1Bs
dWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbQppbmRleCA4YTY0ODFlM2Q0NTJjYjNm
YjZmODFiMWVmMDM1NjkzMDFiYjMwYzRjLi41Y2IyNzQ5YzkyODgzOWE4NTNhNDFiZDk1NDA1Mzg1
NDVmYWU1ODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Q
cm94eVJ1bnRpbWVPYmplY3QubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0
ZWQvUHJveHlSdW50aW1lT2JqZWN0Lm1tCkBAIC0zOSw2ICszOSwxMiBAQCBjb25zdCBDbGFzc0lu
Zm8gUHJveHlSdW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJQcm94eVJ1bnRpbWVPYmplY3QiLCAm
UnVudGltZU9iagogUHJveHlSdW50aW1lT2JqZWN0OjpQcm94eVJ1bnRpbWVPYmplY3QoRXhlY1N0
YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgUGFzc1JlZlB0cjxQcm94eUluc3RhbmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRpbWVP
YmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZp
bmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgUHJveHlSdW50aW1lT2JqZWN0
OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZz
X2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDJmZTBlZjRmN2Q1MzgwM2QxZmJiOWJiNmQwZjcz
NTBkOTNjMzVjMjYuLmU0MDg0Y2ZmN2JlZWE1MjFhMTMyYTg5NmI3MDFlM2ZhNzU4YjI1MjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMS0wOS0wNyAgTWFyayBIYWhuZW5iZXJnICA8
bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxp
c3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV0ZWQgdGhlIGZpZnRo
IGxldmVsIG9mIHRoZSByZWZhY3RvcmluZyB0byBhZGQgZmluaXNoQ3JlYXRpb24oKSAKKyAgICAg
ICAgbWV0aG9kcyB0byBhbGwgY2xhc3NlcyB3aXRoaW4gdGhlIEpTQ2VsbCBoaWVyYXJjaHkgd2l0
aCBub24tdHJpdmlhbCAKKyAgICAgICAgY29uc3RydWN0b3IgYm9kaWVzLgorCisgICAgICAgIFRo
aXMgcHJpbWFyaWx5IGNvbnNpc3RzIG9mIHB1c2hpbmcgdGhlIGNhbGxzIHRvIGZpbmlzaENyZWF0
aW9uKCkgZG93biAKKyAgICAgICAgaW50byB0aGUgY29uc3RydWN0b3JzIG9mIHRoZSBzdWJjbGFz
c2VzIG9mIHRoZSBzZWNvbmQgbGV2ZWwgb2YgdGhlIGhpZXJhcmNoeSAKKyAgICAgICAgYXMgd2Vs
bCBhcyBwdWxsaW5nIHRoZSBmaW5pc2hDcmVhdGlvbigpIGNhbGxzIG91dCBpbnRvIHRoZSBjbGFz
cydzIGNvcnJlc3BvbmRpbmcKKyAgICAgICAgY3JlYXRlKCkgbWV0aG9kIGlmIGl0IGhhcyBvbmUu
ICBEb2luZyBib3RoIHNpbXVsdGFuZW91c2x5IGFsbG93cyB1cyB0byAKKyAgICAgICAgbWFpbnRh
aW4gdGhlIGludmFyaWFudCB0aGF0IHRoZSBmaW5pc2hDcmVhdGlvbigpIG1ldGhvZCBjaGFpbiBp
cyBjYWxsZWQgZXhhY3RseSAKKyAgICAgICAgb25jZSBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIGFu
IG9iamVjdCwgc2luY2UgY2FsbGluZyBpdCBhbnkgb3RoZXIgbnVtYmVyIG9mIAorICAgICAgICB0
aW1lcyAoMCwgMiwgb3IgbW9yZSkgd2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6SlNOUE1ldGhvZDo6SlNOUE1ldGhvZCk6CisgICAgICAgIChXZWJLaXQ6
OkpTTlBNZXRob2Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oOgorICAgICAgICAoV2ViS2l0OjpKU05QTWV0aG9kOjpj
cmVhdGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SlNOUE9iamVjdDo6SlNOUE9iamVjdCk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaDoKKyAgICAgICAgKFdl
YktpdDo6SlNOUE9iamVjdDo6Y3JlYXRlKToKKwogMjAxMS0wOS0wNyAgQWxleGVpIFN2aXRraW5l
ICA8YXN2aXRraW5lQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQgdGVzdCBpbmZyYXN0cnVj
dHVyZSB0byB0ZXN0IHJ1YmJlci1iYW5kaW5nIG92ZXJoYW5nIGRyYXdpbmcgYWxvbmcgd2l0aCBs
YXlvdXQgdGVzdHMgZm9yIGV4aXN0aW5nIENocm9taXVtIE1hYyBvdmVyaGFuZyBkcmF3aW5nIGlu
IHRoZSBub24tZ3B1IHBhdGguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAKaW5kZXggOGJiNTk2OWYxMDc2OGRi
MzVmOWFkMGRiOTQ3OWNmOGE2NmVmYTVhMy4uNDEwYjIwMDYzMGRkNGY2MWYyY2Q5NzY3N2JjNTU2
ZGU1MjAwNWI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL0pTTlBNZXRob2QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0Vycm9yLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRnVu
Y3Rpb25Qcm90b3R5cGUuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0dsb2JhbE9iamVj
dC5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9KU0hUTUxFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9KU1BsdWdpbkVsZW1lbnRG
dW5jdGlvbnMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CkBAIC00MSwx
NyArNDIsMTcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNvbnN0IENsYXNzSW5mbyBKU05QTWV0
aG9kOjpzX2luZm8gPSB7ICJOUE1ldGhvZCIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2luZm8sIDAs
IDAgfTsKIAotSlNOUE1ldGhvZDo6SlNOUE1ldGhvZChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImIG5hbWUsIE5QSWRlbnRpZmll
ciBucElkZW50aWZpZXIsIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogSW50ZXJuYWxGdW5j
dGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgbmFtZSkK
K0pTTlBNZXRob2Q6OkpTTlBNZXRob2QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgbmFt
ZSwgTlBJZGVudGlmaWVyIG5wSWRlbnRpZmllcikKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xv
YmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBtX25wSWRlbnRpZmllcihucElkZW50aWZpZXIp
CiB7Ci0gICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKKyAgICBmaW5pc2hDcmVhdGlvbihl
eGVjLT5nbG9iYWxEYXRhKCksIG5hbWUpOwogfQogCi1KU05QTWV0aG9kKiBKU05QTWV0aG9kOjpj
cmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25z
dCBJZGVudGlmaWVyJiBpZGVudCwgTlBJZGVudGlmaWVyIG5wSWRlbnQpCit2b2lkIEpTTlBNZXRo
b2Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgY29uc3QgSWRlbnRp
ZmllciYgbmFtZSkKIHsKLSAgICBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlID0gY3JlYXRlU3Ry
dWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmZ1
bmN0aW9uUHJvdG90eXBlKCkpOwotICAgIHJldHVybiBuZXcgKEpTQzo6YWxsb2NhdGVDZWxsPEpT
TlBNZXRob2Q+KCpleGVjLT5oZWFwKCkpKSBKU05QTWV0aG9kKGV4ZWMsIGdsb2JhbE9iamVjdCwg
aWRlbnQsIG5wSWRlbnQsIHN0cnVjdHVyZSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xv
YmFsRGF0YSwgbmFtZSk7CisgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIAogc3Rh
dGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2FsbE1ldGhvZChFeGVjU3RhdGUqIGV4
ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvSlNOUE1ldGhvZC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL0pTTlBNZXRob2QuaAppbmRleCBlZjljZTk0NWRjOTViMzczZDE5MGExOWE1MWEyOGJlMGI0
MDYzOTdkLi5kYzViZTdjNzk4YWEzMDZjZjFlYWQwYTU0ZDJjYTE0YTc0ZDNjYTA0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhv
ZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05Q
TWV0aG9kLmgKQEAgLTI2LDcgKzI2LDkgQEAKICNpZm5kZWYgSlNOUE1ldGhvZF9oCiAjZGVmaW5l
IEpTTlBNZXRob2RfaAogCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRnVuY3Rpb25Qcm90b3R5
cGUuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnRlcm5hbEZ1bmN0aW9uLmg+CisjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSlNHbG9iYWxPYmplY3QuaD4KIAogdHlwZWRlZiB2b2lkKiBO
UElkZW50aWZpZXI7CiAKQEAgLTM3LDE0ICszOSwyMSBAQCBjbGFzcyBKU05QTWV0aG9kIDogcHVi
bGljIEpTQzo6SW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0M6Oklu
dGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBKU05QTWV0aG9kKiBjcmVhdGUoSlND
OjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiwgTlBJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgSlNOUE1ldGhvZCogY3JlYXRlKEpTQzo6RXhl
Y1N0YXRlKiBleGVjLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYgaWRlbnQsIE5QSWRlbnRpZmllciBucElkZW50KQorICAgIHsKKyAgICAg
ICAgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9i
YWxEYXRhKCksIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5mdW5jdGlvblByb3RvdHlwZSgp
KTsKKyAgICAgICAgcmV0dXJuIG5ldyAoSlNDOjphbGxvY2F0ZUNlbGw8SlNOUE1ldGhvZD4oKmV4
ZWMtPmhlYXAoKSkpIEpTTlBNZXRob2QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGlk
ZW50LCBucElkZW50KTsKKyAgICB9CiAKICAgICBzdGF0aWMgY29uc3QgSlNDOjpDbGFzc0luZm8g
c19pbmZvOwogCiAgICAgTlBJZGVudGlmaWVyIG5wSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJu
IG1fbnBJZGVudGlmaWVyOyB9CiAKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEpTQzo6SlNHbG9iYWxEYXRhJiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBuYW1lKTsKKwogcHJp
dmF0ZTogICAgCi0gICAgSlNOUE1ldGhvZChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBjb25zdCBKU0M6OklkZW50aWZpZXImLCBOUElkZW50aWZpZXIsIEpTQzo6U3RydWN0
dXJlKik7CisgICAgSlNOUE1ldGhvZChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCBKU0M6OlN0cnVjdHVyZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIE5QSWRlbnRpZmll
cik7CiAKICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OkpT
R2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcAppbmRleCBi
YmFmMDRmODhmMjZjM2VmNzAxZjU2ZjIxNjAyMDcxZTkzNTc0NmI5Li40NDNkYWIxYzA3NmU0YjBi
Y2Q0ZTI0YzI4ZDY1OTA1MDc2NmU3MjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuY3BwCkBAIC01MCwxMyAr
NTAsMTIgQEAgc3RhdGljIE5QSWRlbnRpZmllciBucElkZW50aWZpZXJGcm9tSWRlbnRpZmllcihj
b25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyKQogCiBjb25zdCBDbGFzc0luZm8gSlNOUE9iamVj
dDo6c19pbmZvID0geyAiTlBPYmplY3QiLCAmSlNOb25GaW5hbE9iamVjdDo6c19pbmZvLCAwLCAw
IH07CiAKLUpTTlBPYmplY3Q6OkpTTlBPYmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgTlBSdW50aW1lT2JqZWN0TWFwKiBvYmplY3RNYXAsIE5QT2JqZWN0KiBucE9iamVjdCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCitKU05QT2JqZWN0OjpKU05QT2JqZWN0KEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBOUFJ1bnRpbWVPYmplY3RNYXAq
IG9iamVjdE1hcCwgTlBPYmplY3QqIG5wT2JqZWN0KQogICAgIDogSlNOb25GaW5hbE9iamVjdChn
bG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogICAgICwgbV9vYmplY3RNYXAo
b2JqZWN0TWFwKQogICAgICwgbV9ucE9iamVjdChucE9iamVjdCkKIHsKICAgICBBU1NFUlQoZ2xv
YmFsT2JqZWN0ID09IHN0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkpOwotICAgIGZpbmlzaENyZWF0
aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgSlNOUE9iamVjdDo6ZmluaXNoQ3JlYXRpb24o
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKQEAgLTcwLDEyICs2OSw2IEBAIHZvaWQgSlNO
UE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAg
ICByZXRhaW5OUE9iamVjdChtX25wT2JqZWN0KTsKIH0KIAotSlNOUE9iamVjdCogSlNOUE9iamVj
dDo6Y3JlYXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTlBSdW50aW1lT2Jq
ZWN0TWFwKiBvYmplY3RNYXAsIE5QT2JqZWN0KiBucE9iamVjdCkKLXsKLSAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IGNyZWF0ZVN0cnVjdHVyZShnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwg
Z2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKTsKLSAgICByZXR1
cm4gbmV3IChKU0M6OmFsbG9jYXRlQ2VsbDxKU05QT2JqZWN0PihnbG9iYWxPYmplY3QtPmdsb2Jh
bERhdGEoKS5oZWFwKSkgSlNOUE9iamVjdChnbG9iYWxPYmplY3QsIG9iamVjdE1hcCwgbnBPYmpl
Y3QsIHN0cnVjdHVyZSk7Ci19Ci0KIEpTTlBPYmplY3Q6On5KU05QT2JqZWN0KCkKIHsKICAgICBB
U1NFUlQoIW1fbnBPYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKaW5kZXggZjA2MWU5ZjMxNzAwZTEwMTE2
MGFjMjQxMjRhMjk1NDhkMzdkYjMzOC4uYjZlZGZhNWE3NjUwNGRjMDE5OWU2ZmQwZTllYWExYmM1
Y2Y2MDk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL0pTTlBPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oCkBAIC0yNiw3ICsyNiw5IEBACiAjaWZuZGVmIEpTTlBP
YmplY3RfaAogI2RlZmluZSBKU05QT2JqZWN0X2gKIAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTR2xvYmFsT2JqZWN0Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4K
KyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9PYmplY3RQcm90b3R5cGUuaD4KIAogdHlwZWRlZiB2
b2lkKiBOUElkZW50aWZpZXI7CiBzdHJ1Y3QgTlBPYmplY3Q7CkBAIC00MSw3ICs0MywxNCBAQCBj
bGFzcyBKU05QT2JqZWN0IDogcHVibGljIEpTQzo6SlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6
CiAgICAgdHlwZWRlZiBKU0M6OkpTTm9uRmluYWxPYmplY3QgQmFzZTsKIAotICAgIHN0YXRpYyBK
U05QT2JqZWN0KiBjcmVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIE5QUnVudGltZU9iamVjdE1h
cCosIE5QT2JqZWN0Kik7CisgICAgc3RhdGljIEpTTlBPYmplY3QqIGNyZWF0ZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFwLCBO
UE9iamVjdCogbnBPYmplY3QpCisgICAgeworICAgICAgICBKU0M6OlN0cnVjdHVyZSogc3RydWN0
dXJlID0gY3JlYXRlU3RydWN0dXJlKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxP
YmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCkpOworICAgICAgICBKU05QT2Jq
ZWN0KiBvYmplY3QgPSBuZXcgKEpTQzo6YWxsb2NhdGVDZWxsPEpTTlBPYmplY3Q+KGdsb2JhbE9i
amVjdC0+Z2xvYmFsRGF0YSgpLmhlYXApKSBKU05QT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0
dXJlLCBvYmplY3RNYXAsIG5wT2JqZWN0KTsKKyAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlv
bihnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gb2JqZWN0OworICAgIH0KKwogICAgIH5K
U05QT2JqZWN0KCk7CiAKICAgICB2b2lkIGludmFsaWRhdGUoKTsKQEAgLTYxLDcgKzcwLDcgQEAg
cHJvdGVjdGVkOgogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpKU0dsb2JhbE9iamVjdCop
OwogCiBwcml2YXRlOgotICAgIEpTTlBPYmplY3QoSlNDOjpKU0dsb2JhbE9iamVjdCosIE5QUnVu
dGltZU9iamVjdE1hcCosIE5QT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqKTsKKyAgICBKU05QT2Jq
ZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlN0cnVjdHVyZSosIE5QUnVudGltZU9iamVj
dE1hcCosIE5QT2JqZWN0Kik7CiAKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpTQzo6T3ZlcnJpZGVz
R2V0UHJvcGVydHlOYW1lcyB8IEpTT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106757</attachid>
            <date>2011-09-08 10:26:13 -0700</date>
            <delta_ts>2011-09-09 11:10:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67420-20110908102612.patch</filename>
            <type>text/plain</type>
            <size>122795</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ3MTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRleCAxZjcyNzAxYzdmZWJiMjE3NDk4
ODlkNDExNDg5OThkZWNmYWRiYmI2Li5iMjM0OGFmZTg3ZTNkMTI2ZDMzOThmMDg3YjM2MzRiMWEz
ZTViYmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwCkBAIC00Myw3ICs0Myw2IEBAIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6
SlNDYWxsYmFja0NvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
CiAgICAgLCBtX2NsYXNzKGpzQ2xhc3MpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCwganNDbGFzcyk7CiB9CiAKIHZvaWQgSlND
YWxsYmFja0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NsYXNzUmVmIGpzQ2xhc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAppbmRleCBlNTEyN2ExYWQzYmUyNjQ3MWFlMzdm
YjdhMjJiOTUyODNmNjg3OTNmLi5hNmYxYmNkNGVjMTgyNmZkNjU3NjZmZDlhNDg5YzEzOGUzYTky
YzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmgKQEAgLTM3LDcgKzM3LDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIEpTQ2FsbGJh
Y2tDb25zdHJ1Y3RvciogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQ2xhc3NSZWYgY2xhc3NSZWYsIEpT
T2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayBjYWxsYmFjaykgCiAgICAgewotICAgICAg
ICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBKU0NhbGxiYWNrQ29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0LCBjbGFzc1JlZik7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAg
ICB9CiAgICAgCiAgICAgdmlydHVhbCB+SlNDYWxsYmFja0NvbnN0cnVjdG9yKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKaW5kZXggMjhi
MzQxOTIzZGMzNTBlNDNmODhlYzk3MjBkY2U1YjM0M2RiYzRhNy4uNjRkNTEzZTJlYWY0NDM1OGJl
ZTI3NzRmZGQ2YTc3OGQzZDBkNGU5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcApAQCAtNDMsOSArNDMsMTUgQEAgQVNTRVJUX0NMQVNT
X0ZJVFNfSU5fQ0VMTChKU0NhbGxiYWNrRnVuY3Rpb24pOwogY29uc3QgQ2xhc3NJbmZvIEpTQ2Fs
bGJhY2tGdW5jdGlvbjo6c19pbmZvID0geyAiQ2FsbGJhY2tGdW5jdGlvbiIsICZJbnRlcm5hbEZ1
bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAogSlNDYWxsYmFja0Z1bmN0aW9uOjpKU0NhbGxiYWNr
RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2Jh
bE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCksIG5hbWUp
CisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxs
YmFja0Z1bmN0aW9uU3RydWN0dXJlKCkpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewor
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgbmFtZSk7Cit9CisKK3ZvaWQg
SlNDYWxsYmFja0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsRGF0YSwgbmFtZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmgKaW5kZXgg
N2ViYzc4ODUxMGJkNzIxNDM2NmQwZjM1ZTEyMDgwZWYwNjExNzBkNy4uMzk2OTA0ODQ3MGIxZDFl
MDBjN2ZmNjMzNjk5MmZjZmMxNjQwNjMzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogY2xhc3MgSlNDYWxsYmFja0Z1bmN0aW9uIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewog
cHJvdGVjdGVkOgogICAgIEpTQ2FsbGJhY2tGdW5jdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjaywgY29uc3QgSWRlbnRpZmllciYg
bmFtZSk7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmLCBjb25zdCBJZGVu
dGlmaWVyJiBuYW1lKTsKIAogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBC
YXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRl
eCAzM2FhMGZkNGQxMWY4OWU1ZjdjNjg3ZDU5NzRiNTFiNDhhNWM4ZWJiLi42ZmRkZmZiZTNjNjNi
ZDU0NWM2NWJiZGRjM2UxMDdjMDRmYzA5YmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tPYmplY3QuaApAQCAtMTI1LDcgKzEyNSw3IEBAIHByb3RlY3RlZDoKICAg
ICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwdHIpIHsgcmV0dXJuIHB0cjsgfQog
CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqKTsKLSAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKCk7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmKTsKIAogcHVi
bGljOgogICAgIHR5cGVkZWYgUGFyZW50IEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCmluZGV4IGY2MjdjM2JmYjgw
YzZlYWI2NWIzMDJjMTA3MzA5NWFiYjAxYjZmOWMuLjI3YzVjNzY1NjRkMjc4MWRmNzhhYmRlNzI3
YmMyOWRhNjU1YTZlZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
YWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCkBAIC02NCw3ICs2NCw3IEBAIEpTQ2FsbGJhY2tP
YmplY3Q8UGFyZW50Pjo6SlNDYWxsYmFja09iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEs
IEpTQ2xhc3NSZWYKICAgICA6IFBhcmVudChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiAgICAgLCBt
X2NhbGxiYWNrT2JqZWN0RGF0YShhZG9wdFB0cihuZXcgSlNDYWxsYmFja09iamVjdERhdGEoMCwg
anNDbGFzcykpKQogewotICAgIGZpbmlzaENyZWF0aW9uKCk7CisgICAgZmluaXNoQ3JlYXRpb24o
Z2xvYmFsRGF0YSk7CiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+CkBAIC03NSwxMiArNzUs
MTMgQEAgdm9pZCBKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OmZpbmlzaENyZWF0aW9uKEV4ZWNT
dGF0ZSogZXhlYykKICAgICBpbml0KGV4ZWMpOwogfQogCi0vLyBUaGlzIGlzIGp1c3QgZm9yIEds
b2JhbCBvYmplY3QsIHNvIHdlIGNhbiBhc3N1bWUgdGhhdCBCYXNlOjpmaW5pc2hDcmVhdGlvbiBp
cyBKU0dsb2JhbE9iamVjdDo6Y29uc3RydWN0b3JCb2R5LgorLy8gVGhpcyBpcyBqdXN0IGZvciBH
bG9iYWwgb2JqZWN0LCBzbyB3ZSBjYW4gYXNzdW1lIHRoYXQgQmFzZTo6ZmluaXNoQ3JlYXRpb24g
aXMgSlNHbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uLgogdGVtcGxhdGUgPGNsYXNzIFBhcmVu
dD4KLXZvaWQgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpmaW5pc2hDcmVhdGlvbigpCit2b2lk
IEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhKQogewogICAgIEFTU0VSVChQYXJlbnQ6OmluaGVyaXRzKCZzX2luZm8pKTsKICAg
ICBBU1NFUlQoUGFyZW50Ojppc0dsb2JhbE9iamVjdCgpKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbihnbG9iYWxEYXRhLCB0aGlzKTsKICAgICBpbml0KHN0YXRpY19jYXN0PEpTR2xvYmFsT2Jq
ZWN0Kj4odGhpcyktPmdsb2JhbEV4ZWMoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDE1ZGQ5ODQ4NmY3YTZiNGZhMDA1NDY4MWMwMGQyMDBiYTBhMjgwODEuLjU0MmNiZGIwYjM1
NmM4YzAwYmJkYWQyMTM1MmY4MWE0MWNhZDc4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2NyBAQAorMjAxMS0wOS0wNyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJl
cmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBj
b25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV0ZWQgdGhlIGZpZnRoIGxldmVsIG9m
IHRoZSByZWZhY3RvcmluZyB0byBhZGQgZmluaXNoQ3JlYXRpb24oKSAKKyAgICAgICAgbWV0aG9k
cyB0byBhbGwgY2xhc3NlcyB3aXRoaW4gdGhlIEpTQ2VsbCBoaWVyYXJjaHkgd2l0aCBub24tdHJp
dmlhbCAKKyAgICAgICAgY29uc3RydWN0b3IgYm9kaWVzLgorCisgICAgICAgIFRoaXMgcHJpbWFy
aWx5IGNvbnNpc3RzIG9mIHB1c2hpbmcgdGhlIGNhbGxzIHRvIGZpbmlzaENyZWF0aW9uKCkgZG93
biAKKyAgICAgICAgaW50byB0aGUgY29uc3RydWN0b3JzIG9mIHRoZSBzdWJjbGFzc2VzIG9mIHRo
ZSBzZWNvbmQgbGV2ZWwgb2YgdGhlIGhpZXJhcmNoeSAKKyAgICAgICAgYXMgd2VsbCBhcyBwdWxs
aW5nIHRoZSBmaW5pc2hDcmVhdGlvbigpIGNhbGxzIG91dCBpbnRvIHRoZSBjbGFzcydzIGNvcnJl
c3BvbmRpbmcKKyAgICAgICAgY3JlYXRlKCkgbWV0aG9kIGlmIGl0IGhhcyBvbmUuICBEb2luZyBi
b3RoIHNpbXVsdGFuZW91c2x5IGFsbG93cyB1cyB0byAKKyAgICAgICAgbWFpbnRhaW4gdGhlIGlu
dmFyaWFudCB0aGF0IHRoZSBmaW5pc2hDcmVhdGlvbigpIG1ldGhvZCBjaGFpbiBpcyBjYWxsZWQg
ZXhhY3RseSAKKyAgICAgICAgb25jZSBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIGFuIG9iamVjdCwg
c2luY2UgY2FsbGluZyBpdCBhbnkgb3RoZXIgbnVtYmVyIG9mIAorICAgICAgICB0aW1lcyAoMCwg
Miwgb3IgbW9yZSkgd2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKworICAgICAgICAq
IEFQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNr
Q29uc3RydWN0b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL0pTQ2Fs
bGJhY2tDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29uc3RydWN0b3I6
OmNyZWF0ZSk6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHA6CisgICAgICAg
IChKU0M6OkpTQ2FsbGJhY2tGdW5jdGlvbjo6SlNDYWxsYmFja0Z1bmN0aW9uKToKKyAgICAgICAg
KEpTQzo6SlNDYWxsYmFja0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogQVBJ
L0pTQ2FsbGJhY2tGdW5jdGlvbi5oOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6
CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpT
Qzo6OjpKU0NhbGxiYWNrT2JqZWN0KToKKyAgICAgICAgKEpTQzo6OjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6CisgICAgICAgICogZGVi
dWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKiBkZWJ1Z2dlci9EZWJ1Z2dl
ckFjdGl2YXRpb24uaDoKKyAgICAgICAgKEpTQzo6RGVidWdnZXJBY3RpdmF0aW9uOjpjcmVhdGUp
OgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChHbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKEdsb2JhbE9iamVjdDo6R2xvYmFsT2JqZWN0KToKKyAgICAgICAgKiBy
dW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVj
dG9yOjpBcnJheUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6QXJyYXlDb25zdHJ1Y3Rvcjo6
ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oOgor
ICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpBcnJh
eVByb3RvdHlwZTo6QXJyYXlQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90
b3R5cGUuaDoKKyAgICAgICAgKEpTQzo6QXJyYXlQcm90b3R5cGU6OmNyZWF0ZSk6CisgICAgICAg
ICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpCb29sZWFu
Q29uc3RydWN0b3I6OkJvb2xlYW5Db25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6OkJvb2xlYW5D
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhbkNv
bnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcDoKKyAgICAg
ICAgKEpTQzo6Qm9vbGVhbk9iamVjdDo6Qm9vbGVhbk9iamVjdCk6CisgICAgICAgICogcnVudGlt
ZS9Cb29sZWFuT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkJvb2xlYW5PYmplY3Q6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6
Qm9vbGVhblByb3RvdHlwZTo6Qm9vbGVhblByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkJvb2xl
YW5Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5Q
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6RGF0ZUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpT
Qzo6RGF0ZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9E
YXRlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVJbnN0YW5jZS5jcHA6Cisg
ICAgICAgIChKU0M6OkRhdGVJbnN0YW5jZTo6RGF0ZUluc3RhbmNlKToKKyAgICAgICAgKiBydW50
aW1lL0RhdGVJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpEYXRlSW5zdGFuY2U6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6RGF0
ZVByb3RvdHlwZTo6RGF0ZVByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkRhdGVQcm90b3R5cGU6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0RhdGVQcm90b3R5cGUuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaWN0TW9kZVR5cGVF
cnJvckZ1bmN0aW9uOjpTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkVycm9yQ29uc3RydWN0
b3I6OkVycm9yQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpFcnJvckNvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmg6Cisg
ICAgICAgICogcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OkVycm9y
UHJvdG90eXBlOjpFcnJvclByb3RvdHlwZSk6CisgICAgICAgICogcnVudGltZS9FcnJvclByb3Rv
dHlwZS5oOgorICAgICAgICAoSlNDOjpFcnJvclByb3RvdHlwZTo6Y3JlYXRlKToKKyAgICAgICAg
KiBydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlv
bkNvbnN0cnVjdG9yOjpGdW5jdGlvbkNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6RnVuY3Rp
b25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rp
b25Db25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3Bw
OgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6RnVuY3Rpb25Qcm90b3R5cGUpOgor
ICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGVy
bmFsRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpJbnRlcm5hbEZ1bmN0aW9uOjpJbnRlcm5h
bEZ1bmN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTQWN0aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTQWN0aXZhdGlv
bjo6SlNBY3RpdmF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTQWN0aXZhdGlvbi5oOgorICAg
ICAgICAoSlNDOjpKU0FjdGl2YXRpb246OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6Y3JlYXRlKToKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OkpTR2xvYmFsT2JqZWN0KToKKyAgICAgICAgKiBy
dW50aW1lL0pTT05PYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09OT2JqZWN0OjpKU09OT2Jq
ZWN0KToKKyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNP
Tk9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3Qu
aDoKKyAgICAgICAgKEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAg
KEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6SlNTdGF0aWNTY29wZU9iamVjdCk6CisgICAgICAg
ICogcnVudGltZS9KU1N0cmluZy5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpN
YXRoT2JqZWN0OjpNYXRoT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuaDoK
KyAgICAgICAgKEpTQzo6TWF0aE9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL05h
dGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvckNvbnN0
cnVjdG9yOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBydW50aW1lL05hdGl2
ZUVycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TmF0aXZlRXJyb3JDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5
cGUuY3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlwZTo6TmF0aXZlRXJyb3JQ
cm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuaDoKKyAgICAg
ICAgKiBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6TnVtYmVy
Q29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6TnVtYmVyQ29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0
cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpOdW1iZXJPYmplY3Q6Ok51bWJlck9iamVjdCk6CisgICAgICAgICogcnVudGltZS9OdW1i
ZXJPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6TnVtYmVyT2JqZWN0OjpjcmVhdGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6TnVtYmVyUHJv
dG90eXBlOjpOdW1iZXJQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOdW1iZXJQcm90b3R5cGU6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL051bWJlclByb3RvdHlwZS5oOgor
ICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpP
YmplY3RDb25zdHJ1Y3Rvcjo6T2JqZWN0Q29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpPYmpl
Y3RDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0
Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0cnVjdG9yKToKKyAg
ICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KEpTQzo6UmVnRXhwTWF0Y2hlc0FycmF5OjpSZWdFeHBNYXRjaGVzQXJyYXkpOgorICAgICAgICAq
IHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cE1h
dGNoZXNBcnJheS5oOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpSZWdF
eHBPYmplY3Q6OlJlZ0V4cE9iamVjdCk6CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3Qu
aDoKKyAgICAgICAgKEpTQzo6UmVnRXhwT2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRp
bWUvUmVnRXhwUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwUHJvdG90eXBlOjpS
ZWdFeHBQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29uc3RydWN0b3IpOgor
ICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cmlu
Z09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6U3RyaW5nT2JqZWN0KToK
KyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdC5oOgorICAgICAgICAoSlNDOjpTdHJpbmdP
YmplY3Q6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdPYmplY3RUaGF0TWFzcXVl
cmFkZXNBc1VuZGVmaW5lZC5oOgorICAgICAgICAoSlNDOjpTdHJpbmdPYmplY3RUaGF0TWFzcXVl
cmFkZXNBc1VuZGVmaW5lZDo6U3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQp
OgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6
U3RyaW5nUHJvdG90eXBlOjpTdHJpbmdQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpTdHJpbmdQ
cm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ1Byb3Rv
dHlwZS5oOgorCiAyMDExLTA5LTA3ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVsZWFzZSBtb2RlIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZXhwCmluZGV4IGIwOTViOGFhOTFkMmNlMGVkY2MyMWEwMzkxMWVjYTNiZTgz
NGRiZWEuLmJiZGEwOGNlZWVmYzBmOWYzMzk4ZjliZmJiNzJmZGFlOGZlNzYxNzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMTIyLDggKzEyMiw5IEBAIF9f
Wk4zSlNDMTFQYXJzZXJBcmVuYTVyZXNldEV2CiBfX1pOM0pTQzExY2hlY2tTeW50YXhFUE5TXzlF
eGVjU3RhdGVFUktOU18xMFNvdXJjZUNvZGVFCiBfX1pOM0pTQzExY3JlYXRlRXJyb3JFUE5TXzlF
eGVjU3RhdGVFUktOU183VVN0cmluZ0UKIF9fWk4zSlNDMTFyZWdFeHBGbGFnc0VSS05TXzdVU3Ry
aW5nRQorX19aTjNKU0MxMkRhdGVJbnN0YW5jZTE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9i
YWxEYXRhRWQKIF9fWk4zSlNDMTJEYXRlSW5zdGFuY2U2c19pbmZvRQotX19aTjNKU0MxMkRhdGVJ
bnN0YW5jZUMxRVBOU185RXhlY1N0YXRlRVBOU185U3RydWN0dXJlRWQKK19fWk4zSlNDMTJEYXRl
SW5zdGFuY2VDMUVQTlNfOUV4ZWNTdGF0ZUVQTlNfOVN0cnVjdHVyZUUKIF9fWk4zSlNDMTJKU0ds
b2JhbERhdGExMENsaWVudERhdGFEMkV2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhMTFqc0FycmF5
VlB0ckUKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGExMmNyZWF0ZUxlYWtlZEVOU18xNVRocmVhZFN0
YWNrVHlwZUVOU184SGVhcFNpemVFCkBAIC0xMzcsMTkgKzEzOCwyMSBAQCBfX1pOM0pTQzEySlNH
bG9iYWxEYXRhMTVkdW1wUmVnRXhwVHJhY2VFdgogX19aTjNKU0MxMkpTR2xvYmFsRGF0YTIyY2xl
YXJCdWlsdGluU3RydWN0dXJlc0V2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhNmNyZWF0ZUVOU18x
NVRocmVhZFN0YWNrVHlwZUVOU184SGVhcFNpemVFCiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhRDFF
dgorX19aTjNKU0MxMlJlZ0V4cE9iamVjdDE0ZmluaXNoQ3JlYXRpb25FUE5TXzE0SlNHbG9iYWxP
YmplY3RFCiBfX1pOM0pTQzEyUmVnRXhwT2JqZWN0NnNfaW5mb0UKIF9fWk4zSlNDMTJSZWdFeHBP
YmplY3RDMUVQTlNfMTRKU0dsb2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUVQTlNfNlJlZ0V4cEUK
IF9fWk4zSlNDMTJTYW1wbGluZ1Rvb2w1c2V0dXBFdgogX19aTjNKU0MxMlNtYWxsU3RyaW5nczE3
Y3JlYXRlRW1wdHlTdHJpbmdFUE5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MxMlNtYWxsU3Ry
aW5nczI3Y3JlYXRlU2luZ2xlQ2hhcmFjdGVyU3RyaW5nRVBOU18xMkpTR2xvYmFsRGF0YUVoCiBf
X1pOM0pTQzEyU3RyaW5nT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05T
XzEwSWRlbnRpZmllckUKK19fWk4zSlNDMTJTdHJpbmdPYmplY3QxNGZpbmlzaENyZWF0aW9uRVJO
U18xMkpTR2xvYmFsRGF0YUVQTlNfOEpTU3RyaW5nRQogX19aTjNKU0MxMlN0cmluZ09iamVjdDE4
Z2V0T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18x
MlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxOGdldE93blByb3BlcnR5U2xv
dEVQTlNfOUV4ZWNTdGF0ZUVqUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0MxMlN0cmluZ09i
amVjdDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9wZXJ0eU5h
bWVBcnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QyNGdl
dE93blByb3BlcnR5RGVzY3JpcHRvckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVS
TlNfMThQcm9wZXJ0eURlc2NyaXB0b3JFCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0M3B1dEVQTlNf
OUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQdXRQcm9wZXJ0
eVNsb3RFCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0NnNfaW5mb0UKLV9fWk4zSlNDMTJTdHJpbmdP
YmplY3RDMkVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzlTdHJ1Y3R1cmVFUE5TXzhKU1N0cmluZ0UK
K19fWk4zSlNDMTJTdHJpbmdPYmplY3RDMkVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzlTdHJ1Y3R1
cmVFCiBfX1pOM0pTQzEzU2FtcGxpbmdGbGFnczRzdG9wRXYKIF9fWk4zSlNDMTNTYW1wbGluZ0Zs
YWdzNXN0YXJ0RXYKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdzN3NfZmxhZ3NFCkBAIC0xODAsOSAr
MTgzLDEwIEBAIF9fWk4zSlNDMTVXZWFrSGFuZGxlT3duZXI4ZmluYWxpemVFTlNfNkhhbmRsZUlO
U183VW5rbm93bkVFRVB2CiBfX1pOM0pTQzE1V2Vha0hhbmRsZU93bmVyRDJFdgogX19aTjNKU0Mx
NWNyZWF0ZVR5cGVFcnJvckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzdVU3RyaW5nRQogX19aTjNKU0Mx
NkludGVybmFsRnVuY3Rpb24xMnZ0YWJsZUFuY2hvckV2CitfX1pOM0pTQzE2SW50ZXJuYWxGdW5j
dGlvbjE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRVJLTlNfMTBJZGVudGlmaWVy
RQogX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb240bmFtZUVQTlNfOUV4ZWNTdGF0ZUUKIF9fWk4z
SlNDMTZJbnRlcm5hbEZ1bmN0aW9uNnNfaW5mb0UKLV9fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0aW9u
QzJFUE5TXzEySlNHbG9iYWxEYXRhRVBOU18xNEpTR2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJl
RVJLTlNfMTBJZGVudGlmaWVyRQorX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb25DMkVQTlNfMTRK
U0dsb2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUUKIF9fWk4zSlNDMTZKU1ZhcmlhYmxlT2JqZWN0
MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKIF9fWk4z
SlNDMTZKU1ZhcmlhYmxlT2JqZWN0MTRzeW1ib2xUYWJsZUdldEVSS05TXzEwSWRlbnRpZmllckVS
TlNfMThQcm9wZXJ0eURlc2NyaXB0b3JFCiBfX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVjdDE5Z2V0
T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9wZXJ0eU5hbWVBcnJheUVO
U18xNUVudW1lcmF0aW9uTW9kZUUKQEAgLTE5NCw3ICsxOTgsOCBAQCBfX1pOM0pTQzE3Qnl0ZWNv
ZGVHZW5lcmF0b3IyMXNldER1bXBzR2VuZXJhdGVkQ29kZUViCiBfX1pOM0pTQzE3UHJvcGVydHlO
YW1lQXJyYXkzYWRkRVBOM1dURjEwU3RyaW5nSW1wbEUKIF9fWk4zSlNDMTdjb25zdHJ1Y3RGdW5j
dGlvbkVQTlNfOUV4ZWNTdGF0ZUVQTlNfMTRKU0dsb2JhbE9iamVjdEVSS05TXzdBcmdMaXN0RVJL
TlNfMTBJZGVudGlmaWVyRVJLTlNfN1VTdHJpbmdFaQogX19aTjNKU0MxN2NyZWF0ZVN5bnRheEVy
cm9yRVBOU185RXhlY1N0YXRlRVJLTlNfN1VTdHJpbmdFCi1fX1pOM0pTQzE4RGVidWdnZXJBY3Rp
dmF0aW9uNmNyZWF0ZUVSTlNfMTJKU0dsb2JhbERhdGFFUE5TXzhKU09iamVjdEUKK19fWk4zSlND
MThEZWJ1Z2dlckFjdGl2YXRpb24xNGZpbmlzaENyZWF0aW9uRVJOU18xMkpTR2xvYmFsRGF0YUVQ
TlNfOEpTT2JqZWN0RQorX19aTjNKU0MxOERlYnVnZ2VyQWN0aXZhdGlvbkMxRVJOU18xMkpTR2xv
YmFsRGF0YUUKIF9fWk4zSlNDMThQcm9wZXJ0eURlc2NyaXB0b3IxMXNldFdyaXRhYmxlRWIKIF9f
Wk4zSlNDMThQcm9wZXJ0eURlc2NyaXB0b3IxMnNldFVuZGVmaW5lZEV2CiBfX1pOM0pTQzE4UHJv
cGVydHlEZXNjcmlwdG9yMTNzZXREZXNjcmlwdG9yRU5TXzdKU1ZhbHVlRWoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKaW5kZXggYzNiNWQ5
MmE0MzI3MjQxODRkYTI4NmZjNDVjZGU2MTliNjA2NTg3ZS4uN2FlMDM4OWJkMzRkNTU1OGI5OTk4
YzhlN2QxZWEwNDRjNjg5NzkxYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTMsMTEgKzMsMTEgQEAgRVhQT1JUUwogICAgID8/
MENTdHJpbmdAV1RGQEBRQUVAUEJEQFoKICAgICA/PzBDU3RyaW5nQFdURkBAUUFFQFBCRElAWgog
ICAgID8/MENvbGxhdG9yQFdURkBAUUFFQFBCREBaCi0gICAgPz8wRGF0ZUluc3RhbmNlQEpTQ0BA
SUFFQFBBVkV4ZWNTdGF0ZUAxQFBBVlN0cnVjdHVyZUAxQE5AWgorICAgID8/MERhdGVJbnN0YW5j
ZUBKU0NAQElBRUBQQVZFeGVjU3RhdGVAMUBQQVZTdHJ1Y3R1cmVAMUBAWgogICAgID8/MERlZmF1
bHRHQ0FjdGl2aXR5Q2FsbGJhY2tASlNDQEBRQUVAUEFWSGVhcEAxQEBaCiAgICAgPz8wRHJvcEFs
bExvY2tzQEpTTG9ja0BKU0NAQFFBRUBXNEpTTG9ja0JlaGF2aW9yQDJAQFoKLSAgICA/PzBEeW5h
bWljR2xvYmFsT2JqZWN0U2NvcGVASlNDQEBRQUVAQUFWSlNHbG9iYWxEYXRhQDFAUEFWSlNHbG9i
YWxPYmplY3RAMUBAWiAgCi0gICAgPz8wSW50ZXJuYWxGdW5jdGlvbkBKU0NAQElBRUBQQVZKU0ds
b2JhbERhdGFAMUBQQVZKU0dsb2JhbE9iamVjdEAxQFBBVlN0cnVjdHVyZUAxQEFCVklkZW50aWZp
ZXJAMUBAWgorICAgID8/MER5bmFtaWNHbG9iYWxPYmplY3RTY29wZUBKU0NAQFFBRUBBQVZKU0ds
b2JhbERhdGFAMUBQQVZKU0dsb2JhbE9iamVjdEAxQEBaIAorICAgID8/MEludGVybmFsRnVuY3Rp
b25ASlNDQEBJQUVAUEFWSlNHbG9iYWxPYmplY3RAMUBQQVZTdHJ1Y3R1cmVAMUBAWgogICAgID8/
MEpTQXJyYXlASlNDQEBJQUVAQUFWSlNHbG9iYWxEYXRhQDFAUEFWU3RydWN0dXJlQDFAQFoKICAg
ICA/PzBKU0J5dGVBcnJheUBKU0NAQEFBRUBQQVZFeGVjU3RhdGVAMUBQQVZTdHJ1Y3R1cmVAMUBQ
QVZCeXRlQXJyYXlAV1RGQEBAWgogICAgID8/MEpTRnVuY3Rpb25ASlNDQEBBQUVAUEFWRXhlY1N0
YXRlQDFAUEFWSlNHbG9iYWxPYmplY3RAMUBQQVZTdHJ1Y3R1cmVAMUBAWgpAQCAtMTcsOCArMTcs
OCBAQCBFWFBPUlRTCiAgICAgPz8wUmVmQ291bnRlZExlYWtDb3VudGVyQFdURkBAUUFFQFBCREBa
CiAgICAgPz8wUmVnRXhwT2JqZWN0QEpTQ0BASUFFQFBBVkpTR2xvYmFsT2JqZWN0QDFAUEFWU3Ry
dWN0dXJlQDFAUEFWUmVnRXhwQDFAQFoKICAgICA/PzBTSEExQFdURkBAUUFFQFhaCi0gICAgPz8w
U3RyaW5nT2JqZWN0QEpTQ0BASUFFQEFBVkpTR2xvYmFsRGF0YUAxQFBBVlN0cnVjdHVyZUAxQFBB
VkpTU3RyaW5nQDFAQFoKLSAgICA/PzBTdHJ1Y3R1cmVASlNDQEBBQUVAQUFWSlNHbG9iYWxEYXRh
QDFAUEFWSlNHbG9iYWxPYmplY3RAMUBWSlNWYWx1ZUAxQEFCVlR5cGVJbmZvQDFASVBCVUNsYXNz
SW5mb0AxQEBaCisgICAgPz8wU3RyaW5nT2JqZWN0QEpTQ0BASUFFQEFBVkpTR2xvYmFsRGF0YUAx
QFBBVlN0cnVjdHVyZUAxQEBaCisgICA/PzBTdHJ1Y3R1cmVASlNDQEBBQUVAQUFWSlNHbG9iYWxE
YXRhQDFAUEFWSlNHbG9iYWxPYmplY3RAMUBWSlNWYWx1ZUAxQEFCVlR5cGVJbmZvQDFASVBCVUNs
YXNzSW5mb0AxQEBaCiAgICAgPz8wVGhyZWFkQ29uZGl0aW9uQFdURkBAUUFFQFhaCiAgICAgPz8w
VVN0cmluZ0BKU0NAQFFBRUBQQkRAWgogICAgID8/MFVTdHJpbmdASlNDQEBRQUVAUEJESUBaCkBA
IC0xNzMsOSArMTczLDEzIEBAIEVYUE9SVFMKICAgICA/ZmFzdFplcm9lZE1hbGxvY0BXVEZAQFlB
UEFYSUBaCiAgICAgP2ZpbGxHZXR0ZXJQcm9wZXJ0eVNsb3RASlNPYmplY3RASlNDQEBRQUVYQUFW
UHJvcGVydHlTbG90QDJAUEFWPyRXcml0ZUJhcnJpZXJCYXNlQFc0VW5rbm93bkBKU0NAQEAyQEBa
CiAgICAgP2ZpbmFsaXplQFdlYWtIYW5kbGVPd25lckBKU0NAQFVBRVhWPyRIYW5kbGVAVzRVbmtu
b3duQEpTQ0BAQDJAUEFYQFoKKyAgICA/ZmluaXNoQ3JlYXRpb25ARGF0ZUluc3RhbmNlQEpTQ0BA
SUFFWEFBVkpTR2xvYmFsRGF0YUAyQE5AWgorICAgP2ZpbmlzaENyZWF0aW9uQEludGVybmFsRnVu
Y3Rpb25ASlNDQEBJQUVYQUFWSlNHbG9iYWxEYXRhQDJAQUJWSWRlbnRpZmllckAyQEBaCiAgICAg
P2ZpbmlzaENyZWF0aW9uQEpTQXJyYXlASlNDQEBJQUVYQUFWSlNHbG9iYWxEYXRhQDJAQFoKICAg
ICA/ZmluaXNoQ3JlYXRpb25ASlNBcnJheUBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFAMkBBQlZB
cmdMaXN0QDJAQFoKLSAgICA/ZmluaXNoQ3JlYXRpb25ASlNGdW5jdGlvbkBKU0NAQElBRVhQQVZF
eGVjU3RhdGVAMkBIQUJWSWRlbnRpZmllckAyQFBBVkV4ZWN1dGFibGVCYXNlQDJAQFoKKyAgID9m
aW5pc2hDcmVhdGlvbkBKU0Z1bmN0aW9uQEpTQ0BASUFFWFBBVkV4ZWNTdGF0ZUAyQEhBQlZJZGVu
dGlmaWVyQDJAUEFWRXhlY3V0YWJsZUJhc2VAMkBAWgorICAgID9maW5pc2hDcmVhdGlvbkBSZWdF
eHBPYmplY3RASlNDQEBJQUVYUEFWSlNHbG9iYWxPYmplY3RAMkBAWgorICAgID9maW5pc2hDcmVh
dGlvbkBTdHJpbmdPYmplY3RASlNDQEBJQUVYQUFWSlNHbG9iYWxEYXRhQDJAUEFWSlNTdHJpbmdA
MkBAWgogICAgID9mb2N1c0BQcm9maWxlQEpTQ0BAUUFFWFBCVlByb2ZpbGVOb2RlQDJAQFoKICAg
ICA/ZnJvbUBJZGVudGlmaWVyQEpTQ0BAU0E/QVYxMkBQQVZFeGVjU3RhdGVAMkBIQFoKICAgICA/
ZnJvbUBJZGVudGlmaWVyQEpTQ0BAU0E/QVYxMkBQQVZFeGVjU3RhdGVAMkBJQFoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAK
aW5kZXggYTcxMDFkY2I2YmFhNDBmZjRmZTBlZmEzMmQxZDU1YjY4YTk0MTRlNS4uYWY2YTU2Zjli
ZTJhNjA0NzgyYzg1MGMzMWVmNTlkMmY0MGNkZjUwYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAKQEAgLTM1LDEzICsz
NSw2IEBAIERlYnVnZ2VyQWN0aXZhdGlvbjo6RGVidWdnZXJBY3RpdmF0aW9uKEpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSkKIHsKIH0KIAotRGVidWdnZXJBY3RpdmF0aW9uKiBEZWJ1Z2dlckFjdGl2
YXRpb246OmNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTT2JqZWN0KiBvYmplY3Qp
Ci17Ci0gICAgRGVidWdnZXJBY3RpdmF0aW9uKiBhY3RpdmF0aW9uID0gbmV3IChhbGxvY2F0ZUNl
bGw8RGVidWdnZXJBY3RpdmF0aW9uPihnbG9iYWxEYXRhLmhlYXApKSBEZWJ1Z2dlckFjdGl2YXRp
b24oZ2xvYmFsRGF0YSk7Ci0gICAgYWN0aXZhdGlvbi0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0
YSwgb2JqZWN0KTsKLSAgICByZXR1cm4gYWN0aXZhdGlvbjsKLX0KLQogdm9pZCBEZWJ1Z2dlckFj
dGl2YXRpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNPYmpl
Y3QqIGFjdGl2YXRpb24pCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3Rp
dmF0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0
aW9uLmgKaW5kZXggOTJhOGEwZWE2MDU0OWM5YzhlNmNjY2ZjZWVmM2JiYjUzMzg4MjZhMC4uNDRi
NjI2NzIyN2Q3YmY0NTRhZjhmMGZhMWI2NTEyOTg5ZjgzYTBiYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaApAQCAtMzQsNyAr
MzQsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIEpT
Tm9uRmluYWxPYmplY3QgQmFzZTsKIAotICAgICAgICBzdGF0aWMgRGVidWdnZXJBY3RpdmF0aW9u
KiBjcmVhdGUoSlNHbG9iYWxEYXRhJiwgSlNPYmplY3QqKTsKKyAgICAgICAgc3RhdGljIERlYnVn
Z2VyQWN0aXZhdGlvbiogY3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNPYmplY3Qq
IG9iamVjdCkKKyAgICAgICAgeworICAgICAgICAgICAgRGVidWdnZXJBY3RpdmF0aW9uKiBhY3Rp
dmF0aW9uID0gbmV3IChhbGxvY2F0ZUNlbGw8RGVidWdnZXJBY3RpdmF0aW9uPihnbG9iYWxEYXRh
LmhlYXApKSBEZWJ1Z2dlckFjdGl2YXRpb24oZ2xvYmFsRGF0YSk7CisgICAgICAgICAgICBhY3Rp
dmF0aW9uLT5maW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBvYmplY3QpOworICAgICAgICAgICAg
cmV0dXJuIGFjdGl2YXRpb247CisgICAgICAgIH0KKwogICAgICAgICB2aXJ0dWFsIHZvaWQgdmlz
aXRDaGlsZHJlbihTbG90VmlzaXRvciYpOwogICAgICAgICB2aXJ0dWFsIFVTdHJpbmcgY2xhc3NO
YW1lKCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggZTEwMzcwOTBiZDhjYTEyNzI0YTVhNmYxMDdkYjMxYjk1
YjEzMzZlNC4uZTE0ZjgwODcyMzNkMjBhYzhhOWY5MzUyMDY4MTg3ZjMxZTBkOTUwMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2pzYy5jcHAKQEAgLTE1Nyw4ICsxNTcsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBV
U3RyaW5nIGNsYXNzTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJnbG9iYWwiOyB9CiAKIHByb3RlY3Rl
ZDoKLSAgICB2b2lkIGNvbnN0cnVjdG9yQm9keShjb25zdCBWZWN0b3I8VVN0cmluZz4mIGFyZ3Vt
ZW50cykKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
Y29uc3QgVmVjdG9yPFVTdHJpbmc+JiBhcmd1bWVudHMpCiAgICAgeworICAgICAgICBCYXNlOjpm
aW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCB0aGlzKTsKICAgICAgICAgcHV0RGlyZWN0RnVuY3Rp
b24oZ2xvYmFsRXhlYygpLCBKU0Z1bmN0aW9uOjpjcmVhdGUoZ2xvYmFsRXhlYygpLCB0aGlzLCBm
dW5jdGlvblN0cnVjdHVyZSgpLCAxLCBJZGVudGlmaWVyKGdsb2JhbEV4ZWMoKSwgImRlYnVnIiks
IGZ1bmN0aW9uRGVidWcpKTsKICAgICAgICAgcHV0RGlyZWN0RnVuY3Rpb24oZ2xvYmFsRXhlYygp
LCBKU0Z1bmN0aW9uOjpjcmVhdGUoZ2xvYmFsRXhlYygpLCB0aGlzLCBmdW5jdGlvblN0cnVjdHVy
ZSgpLCAxLCBJZGVudGlmaWVyKGdsb2JhbEV4ZWMoKSwgInByaW50IiksIGZ1bmN0aW9uUHJpbnQp
KTsKICAgICAgICAgcHV0RGlyZWN0RnVuY3Rpb24oZ2xvYmFsRXhlYygpLCBKU0Z1bmN0aW9uOjpj
cmVhdGUoZ2xvYmFsRXhlYygpLCB0aGlzLCBmdW5jdGlvblN0cnVjdHVyZSgpLCAwLCBJZGVudGlm
aWVyKGdsb2JhbEV4ZWMoKSwgInF1aXQiKSwgZnVuY3Rpb25RdWl0KSk7CkBAIC0xOTAsNyArMTkx
LDcgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChHbG9iYWxPYmplY3QpOwogR2xvYmFsT2Jq
ZWN0OjpHbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgY29uc3QgVmVjdG9yPFVTdHJpbmc+JiBhcmd1bWVudHMpCiAgICAgOiBKU0dsb2Jh
bE9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgY29uc3RydWN0b3JCb2R5KGFy
Z3VtZW50cyk7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgYXJndW1lbnRzKTsKIH0K
IAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblByaW50KEV4ZWNTdGF0ZSog
ZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29u
c3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1
Y3Rvci5jcHAKaW5kZXggZmQ5ZTcxZDdkMmMyYWMzODk1YTI2ZTQyYjliYjAyZjI0MzcyMmJlYi4u
ZDQwNmJhMTk4YzBkMTdlZDIzNDIzYmY5ODBhYTIxYWY3OGUwNWE4NSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKQEAgLTUyLDgg
KzUyLDE0IEBAIGNvbnN0IENsYXNzSW5mbyBBcnJheUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJG
dW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2luCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9D
RUxMKEFycmF5Q29uc3RydWN0b3IpOwogCiBBcnJheUNvbnN0cnVjdG9yOjpBcnJheUNvbnN0cnVj
dG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKLSAgICA6IElu
dGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1
cmUsIElkZW50aWZpZXIoZXhlYywgYXJyYXlQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05h
bWUpKQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsK
KyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBhcnJheVByb3RvdHlwZSk7Cit9CisKK3ZvaWQgQXJy
YXlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBBcnJheVByb3Rv
dHlwZSogYXJyYXlQcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+
Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsIGFycmF5UHJvdG90eXBlLT5jbGFzc0luZm8o
KS0+Y2xhc3NOYW1lKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xv
YmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBhcnJheVByb3RvdHlw
ZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxl
bmd0aCwganNOdW1iZXIoMSksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0
b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaApp
bmRleCBkMThkMTJhYzA3NzQ1NTFhMjFlZThhMzg3YWM3OGQ4ZjFjNWUzMGUyLi45MzQ3NTIyMWJi
NGE1YjdjMDViMGMxNGQxNDUxYTM5M2Y1YTQ4MzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCkBAIC00NCw2ICs0NCw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICB9CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgQXJyYXlQcm90b3R5cGUqKTsKICAgICAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlT
bG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCmlu
ZGV4IDk5Njc0YmIyM2I0OTgxOGIyZjNhMzQ4NGMyNjZlMDEzOWQ4NmVmNDYuLjQyZjQxYTYzMWQ0
OWNmM2RjZTljYThmZDdlNmI2ZGE4ZDU2NDM2MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTExNyw3ICsxMTcsNiBAQCBjb25z
dCBDbGFzc0luZm8gQXJyYXlQcm90b3R5cGU6OnNfaW5mbyA9IHsiQXJyYXkiLCAmSlNBcnJheTo6
c19pbmZvLCAwLCBFeGVjU3RhdAogQXJyYXlQcm90b3R5cGU6OkFycmF5UHJvdG90eXBlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNB
cnJheShnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogewotICAgIGZpbmlz
aENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgQXJyYXlQcm90b3R5cGU6OmZpbmlz
aENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuaAppbmRleCA2MDQxYTYyYWQ1MTA1OTFj
NGMzMGI3YTdmYWE2MzQwMDA2MDlhNDgxLi43NWU2ZTgwYmE3MmY3YTFhZjJhMWU4MmM4YzE3N2I1
ZThmYThmMWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eVByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJv
dG90eXBlLmgKQEAgLTM1LDcgKzM1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3Rh
dGljIEFycmF5UHJvdG90eXBlKiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAgICAg
ICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPEFycmF5UHJvdG90eXBlPigqZXhlYy0+aGVh
cCgpKSkgQXJyYXlQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAg
ICAgQXJyYXlQcm90b3R5cGUqIHByb3RvdHlwZSA9IG5ldyAoYWxsb2NhdGVDZWxsPEFycmF5UHJv
dG90eXBlPigqZXhlYy0+aGVhcCgpKSkgQXJyYXlQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBzdHJ1
Y3R1cmUpOworICAgICAgICAgICAgcHJvdG90eXBlLT5maW5pc2hDcmVhdGlvbihnbG9iYWxPYmpl
Y3QpOworICAgICAgICAgICAgcmV0dXJuIHByb3RvdHlwZTsKICAgICAgICAgfQogICAgICAgICAK
ICAgICAgICAgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllciYsIFByb3BlcnR5U2xvdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAKaW5kZXggZWY2MjQwZTc5MjVhMTU3NGY5NGNl
OThmOWUxOTU2ZTdjZGY0NzgwZi4uMzQwZmY3MjNjYTYyZmNjZTBjYjU3YjU1YTg1Y2JjMjkyMmEw
YjYyNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNv
bnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFu
Q29uc3RydWN0b3IuY3BwCkBAIC0yOSw4ICsyOSwxNCBAQCBuYW1lc3BhY2UgSlNDIHsKIEFTU0VS
VF9DTEFTU19GSVRTX0lOX0NFTEwoQm9vbGVhbkNvbnN0cnVjdG9yKTsKIAogQm9vbGVhbkNvbnN0
cnVjdG9yOjpCb29sZWFuQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQm9vbGVhblByb3RvdHlwZSog
Ym9vbGVhblByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERh
dGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgYm9vbGVhblBy
b3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9u
KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGJv
b2xlYW5Qcm90b3R5cGUpOworfQorCit2b2lkIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24oRXhlY1N0YXRlKiBleGVjLCBCb29sZWFuUHJvdG90eXBlKiBib29sZWFuUHJvdG90eXBl
KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRp
ZmllcihleGVjLCBib29sZWFuUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSk7CiAg
ICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBib29sZWFuUHJvdG90eXBlLCBEb250RW51bSB8IERv
bnREZWxldGUgfCBSZWFkT25seSk7CiAKICAgICAvLyBuby4gb2YgYXJndW1lbnRzIGZvciBjb25z
dHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
bkNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29u
c3RydWN0b3IuaAppbmRleCBlN2VhNTgzZDhjN2E1ZjQyY2RlYmE4ZWUzYmViNjhhYTdlZDdhYjVm
Li4xZWVlNGY2NjM3NmE1ZjM3YTU2MGFiZTVlZDU3MGE2ZDNkODNiNDdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaApAQCAtMzYs
NiArMzYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9j
YXRlQ2VsbDxCb29sZWFuQ29uc3RydWN0b3I+KCpleGVjLT5oZWFwKCkpKSBCb29sZWFuQ29uc3Ry
dWN0b3IoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGJvb2xQcm90b3R5cGUpOwogICAg
ICAgICB9CiAKKyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhl
Y1N0YXRlKiwgQm9vbGVhblByb3RvdHlwZSopOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgQm9v
bGVhbkNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwg
Qm9vbGVhblByb3RvdHlwZSopOwogICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29u
c3RydWN0RGF0YShDb25zdHJ1Y3REYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Jvb2xlYW5PYmplY3QuY3BwCmluZGV4IGI5ZTMzZGM0ODQyOThiNmNlZTY3NGUxOGQ1
NGE4N2Y2MmRhZGZkNTcuLmNiZGRkMGU5MjQzMzAwMmI4YTVjZjlmMzVmZmEyMTNmMGQ5NTE5YzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuY3Bw
CkBAIC0zMCw3ICszMCw2IEBAIGNvbnN0IENsYXNzSW5mbyBCb29sZWFuT2JqZWN0OjpzX2luZm8g
PSB7ICJCb29sZWFuIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwCiBCb29sZWFuT2JqZWN0
OjpCb29sZWFuT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAgICAgOiBKU1dyYXBwZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEpOwogfQogCiB2b2lkIEJvb2xlYW5PYmplY3Q6
OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuaAppbmRleCAwZmZhNDI1ZDAxZTlkNTQy
M2VkNDFhMTViZGQ2ODA5YmE2YjkyMzg4Li5jZWQxY2ViMzhhNWYxNTlmYTkzODI5NDQ4OTM4MGM3
MjlhOGY5MmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9i
amVjdC5oCkBAIC0zNSw3ICszNSw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRp
YyBCb29sZWFuT2JqZWN0KiBjcmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2Nh
dGVDZWxsPEJvb2xlYW5PYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIEJvb2xlYW5PYmplY3QoZ2xv
YmFsRGF0YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIEJvb2xlYW5PYmplY3QqIGJvb2xlYW4g
PSBuZXcgKGFsbG9jYXRlQ2VsbDxCb29sZWFuT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBCb29s
ZWFuT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBib29sZWFuLT5m
aW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhKTsKKyAgICAgICAgICAgIHJldHVybiBib29sZWFuOwog
ICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5m
bzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90
b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlw
ZS5jcHAKaW5kZXggZGQwMTk0ZjNmNWQwOTJiMDhlYWMyNjZlYTk2OTk1ZDViNjMxMGYxYi4uNzFk
YjljNDQxZWU1ZTI5YjlhOGYxY2U0OTg1N2NmNmFiOWE0ZWVhNyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5jcHAKQEAgLTUyLDYgKzUy
LDEyIEBAIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQm9vbGVhblByb3RvdHlwZSk7CiBCb29s
ZWFuUHJvdG90eXBlOjpCb29sZWFuUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBCb29sZWFu
T2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0
aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgQm9vbGVhblByb3RvdHlwZTo6Zmlu
aXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSk7CiAgICAg
c2V0SW50ZXJuYWxWYWx1ZShleGVjLT5nbG9iYWxEYXRhKCksIGpzQm9vbGVhbihmYWxzZSkpOwog
CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaAppbmRleCAxNGExNjM4ZTBiMmY2MjU4YTg1
NWM1ZjkxOTVkYWRhMWQ4ODQ0ZDgzLi5iNzM3ZGZmNzI4ODU5NmZlYmJjYzhhYWQxYjZmOGRlMTJm
NmNhM2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFu
UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblBy
b3RvdHlwZS5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAK
ICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwg
SlNHbG9iYWxPYmplY3QqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgQm9vbGVhbk9iamVjdDo6U3Ry
dWN0dXJlRmxhZ3M7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBbm9ueW1vdXNTbG90
Q291bnQgPSBCb29sZWFuT2JqZWN0OjpBbm9ueW1vdXNTbG90Q291bnQgKyAxOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAppbmRleCA5
OTQ2ZmQzN2RhZjQzMTZiMDgwMDkzYTE1MmJkYjcxNzU4MmY1NWVmLi43YjI1MzQ4ODM1NGUwMjNj
ZDFjMzVkNmVmNDgxMTY4YzQ0ZmNmNDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTc0LDggKzc0LDE0IEBAIGNvbnN0IENs
YXNzSW5mbyBEYXRlQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFs
RnVuY3Rpb246OnNfaW5mCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKERhdGVDb25zdHJ1Y3Rv
cik7CiAKIERhdGVDb25zdHJ1Y3Rvcjo6RGF0ZUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERhdGVQ
cm90b3R5cGUqIGRhdGVQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5n
bG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIGRh
dGVQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKQorICAgIDogSW50ZXJuYWxGdW5j
dGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkgCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhl
YywgZGF0ZVByb3RvdHlwZSk7Cit9CisKK3ZvaWQgRGF0ZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbihFeGVjU3RhdGUqIGV4ZWMsIERhdGVQcm90b3R5cGUqIGRhdGVQcm90b3R5cGUpCit7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4
ZWMsIGRhdGVQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFt
ZXMoKS5wcm90b3R5cGUsIGRhdGVQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRh
KCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKDcpLCBSZWFkT25seSB8
IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCmluZGV4IDFmZTc0Y2M1YmRmODhkZGU3NmRkZWVhMWQz
ZGU2NmYwODFhMzU4ODEuLjkzNmFmYzFmNTE1ZDFlZjViYTkxNGYxMjA3NTA3NGE4ZDdkZGQ5YTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rv
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5o
CkBAIC00NCw2ICs0NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAKICAgICBwcm90
ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgRGF0ZVByb3Rv
dHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBP
dmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVG
bGFnczsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9EYXRlSW5zdGFuY2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGF0ZUluc3RhbmNlLmNwcAppbmRleCA2ZGYzMGQ3MjAxODgxODZkZTEyMjEwM2UwZDg4MGU3Zjgy
ZmZmMzRlLi4xYjRhZGQ4OGRmMTAxNWIyMzBhNTgzOWIxMTU2MjcyNWFmNDQxMWVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5jcHAKQEAgLTM3LDEz
ICszNyw2IEBAIGNvbnN0IENsYXNzSW5mbyBEYXRlSW5zdGFuY2U6OnNfaW5mbyA9IHsiRGF0ZSIs
ICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMH07CiBEYXRlSW5zdGFuY2U6OkRhdGVJbnN0
YW5jZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNXcmFw
cGVyT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogewotICAgIGZpbmlzaENy
ZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSk7Ci19Ci0KLURhdGVJbnN0YW5jZTo6RGF0ZUluc3Rh
bmNlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGRvdWJsZSB0aW1lKQot
ICAgIDogSlNXcmFwcGVyT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQotewot
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGltZSk7CiB9CiAKIHZvaWQg
RGF0ZUluc3RhbmNlOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5oCmluZGV4IGViYzdk
YmZmOWY2MTQzNzQyNjcyYTM2OWZkZWMwYWY0ZDNhYjUyYjUuLmJkMzZlYjczM2FlZWRlYWJiMDNi
NDA5MzllZjAyZjU4M2ZiYmNmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0RhdGVJbnN0YW5jZS5oCkBAIC0zMSw3ICszMSw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
Y2xhc3MgRGF0ZUluc3RhbmNlIDogcHVibGljIEpTV3JhcHBlck9iamVjdCB7CiAgICAgcHJvdGVj
dGVkOgotICAgICAgICBEYXRlSW5zdGFuY2UoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgZG91Ymxl
KTsKICAgICAgICAgRGF0ZUluc3RhbmNlKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopOwogICAgICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYpOwogICAgICAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEpTR2xvYmFsRGF0YSYsIGRvdWJsZSk7CkBAIC00MSwxMyArNDAsMTggQEAgbmFt
ZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIERhdGVJbnN0YW5jZSogY3JlYXRlKEV4ZWNT
dGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGRvdWJsZSBkYXRlKQogICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8RGF0ZUluc3RhbmNlPigqZXhl
Yy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNlKGV4ZWMsIHN0cnVjdHVyZSwgZGF0ZSk7CisgICAgICAg
ICAgICBEYXRlSW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChhbGxvY2F0ZUNlbGw8RGF0ZUluc3Rh
bmNlPigqZXhlYy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNlKGV4ZWMsIHN0cnVjdHVyZSk7CisgICAg
ICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBkYXRl
KTsKKyAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICAgICAgfQorCiAgICAgICAgIHN0
YXRpYyBEYXRlSW5zdGFuY2UqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8
RGF0ZUluc3RhbmNlPigqZXhlYy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNlKGV4ZWMsIHN0cnVjdHVy
ZSk7CisgICAgICAgICAgICBEYXRlSW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChhbGxvY2F0ZUNl
bGw8RGF0ZUluc3RhbmNlPigqZXhlYy0+aGVhcCgpKSkgRGF0ZUluc3RhbmNlKGV4ZWMsIHN0cnVj
dHVyZSk7CisgICAgICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFs
RGF0YSgpKTsKKyAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICAgICAgfQotICAgICAg
ICAKKwogICAgICAgICBkb3VibGUgaW50ZXJuYWxOdW1iZXIoKSBjb25zdCB7IHJldHVybiBpbnRl
cm5hbFZhbHVlKCkudW5jaGVja2VkR2V0TnVtYmVyKCk7IH0KIAogICAgICAgICBzdGF0aWMgSlNf
RVhQT1JUREFUQSBjb25zdCBDbGFzc0luZm8gc19pbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcAppbmRleCA0MDM0MTViNWFiOGU4NTQyYzMz
Y2E2YjA2MzdhNmU2ZGE3MWU3YWRkLi43NTBkZGY5NWExYjQ4YWE0ZTRkNzc5ODZjNTQ1YzY4NDU3
YjM2MjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJv
dG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90
eXBlLmNwcApAQCAtNDMzLDYgKzQzMywxMiBAQCBjb25zdCBDbGFzc0luZm8gRGF0ZVByb3RvdHlw
ZTo6c19pbmZvID0geyJEYXRlIiwgJkRhdGVJbnN0YW5jZTo6c19pbmZvLCAwLCBFeGVjUwogRGF0
ZVByb3RvdHlwZTo6RGF0ZVByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogRGF0ZUluc3RhbmNl
KGV4ZWMsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmpl
Y3QpOworfQorCit2b2lkIERhdGVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSog
ZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCkpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZv
KSk7CiAKICAgICAvLyBUaGUgY29uc3RydWN0b3Igd2lsbCBiZSBhZGRlZCBsYXRlciwgYWZ0ZXIg
RGF0ZUNvbnN0cnVjdG9yIGhhcyBiZWVuIGJ1aWx0LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5oCmluZGV4IGIzNGM2YjZmMjE4YmFmYzAzNGYwZGM0MmM2
NjBkY2E3ZWMxMDY5MzkuLjEwNjkwODUyODJhZTI1ZDVhZmNjODliOWFjOTIzMTczMTNlMDIyOWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmgKQEAg
LTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3Rl
ZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVj
dCopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVy
cmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBEYXRlSW5zdGFuY2U6OlN0cnVjdHVyZUZsYWdzOwog
CiAgICAgICAgIENPTVBJTEVfQVNTRVJUKCFEYXRlSW5zdGFuY2U6OkFub255bW91c1Nsb3RDb3Vu
dCwgRGF0ZVByb3RvdHlwZV9zdG9tcHNfb25feW91cl9hbm9ueW1vdXNfc2xvdCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKaW5kZXggNzg2NzUwYmYyZmUwY2IxMTM0YjFh
MmFmNjcxMjI1MTBkZTYzNDU3ZC4uMjQ3MTY4OWNiNjdjZGUyYzA3ZDNlMTFjMGE4Nzk3MjgzZGY2
OTZmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcApAQCAtMTY4LDkg
KzE2OCwxMCBAQCBKU09iamVjdCogdGhyb3dTeW50YXhFcnJvcihFeGVjU3RhdGUqIGV4ZWMpCiBj
bGFzcyBTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24gOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlv
biB7CiBwcml2YXRlOgogICAgIFN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbihFeGVjU3RhdGUq
IGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBjb25zdCBVU3RyaW5nJiBtZXNzYWdlKQotICAgICAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4
ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGV4ZWMtPmdsb2JhbERh
dGEoKS5wcm9wZXJ0eU5hbWVzLT5lbXB0eUlkZW50aWZpZXIpCisgICAgICAgIDogSW50ZXJuYWxG
dW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAgICAgLCBtX21lc3NhZ2UobWVz
c2FnZSkKICAgICB7CisgICAgICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwg
ZXhlYy0+Z2xvYmFsRGF0YSgpLnByb3BlcnR5TmFtZXMtPmVtcHR5SWRlbnRpZmllcik7CiAgICAg
fQogCiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
Q29uc3RydWN0b3IuY3BwCmluZGV4IGRmMTEyZGQyMjIxZjljOThmN2JkZTkwYmMwYmM4ZTkxMzAy
NGJlMTEuLjM4MDNlMDM1ZGViZGFiNTQwMjNkYTMyYzdhMThlN2YyNTc4ZjI4NGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCkBA
IC0zMCw4ICszMCwxNCBAQCBuYW1lc3BhY2UgSlNDIHsKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NF
TEwoRXJyb3JDb25zdHJ1Y3Rvcik7CiAKIEVycm9yQ29uc3RydWN0b3I6OkVycm9yQ29uc3RydWN0
b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgRXJyb3JQcm90b3R5cGUqIGVycm9yUHJvdG90eXBlKQotICAgIDogSW50
ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgSWRlbnRpZmllcihleGVjLCBlcnJvclByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFt
ZSkpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewor
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGVycm9yUHJvdG90eXBlKTsKK30KKwordm9pZCBFcnJv
ckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEVycm9yUHJvdG90
eXBlKiBlcnJvclByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywgZXJyb3JQcm90b3R5cGUtPmNsYXNzSW5mbygp
LT5jbGFzc05hbWUpKTsKICAgICAvLyBFQ01BIDE1LjExLjMuMSBFcnJvci5wcm90b3R5cGUKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIGVycm9yUHJvdG90eXBlLCBEb250RW51bSB8IERvbnRE
ZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+
Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigxKSwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCmluZGV4IDM4NzdhNmQxMTA3ODg5OTM0
YTFjNDE4ODYwM2Y4NjA1MWEwMDliMjEuLmQzYmQ4MDNlNWY4Mjc4NjA0NGM4NTUxOTMyY2MwMzdk
Y2ExNWI4ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNv
bnN0cnVjdG9yLmgKQEAgLTM2LDYgKzM2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHsK
ICAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxFcnJvckNvbnN0cnVjdG9yPigq
ZXhlYy0+aGVhcCgpKSkgRXJyb3JDb25zdHJ1Y3RvcihleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVj
dHVyZSwgZXJyUHJvdG90eXBlKTsKICAgICAgICAgfQorCisgICAgcHJvdGVjdGVkOgorICAgICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEVycm9yUHJvdG90eXBlKik7CiAgICAg
ICAgIAogICAgIHByaXZhdGU6CiAgICAgICAgIEVycm9yQ29uc3RydWN0b3IoRXhlY1N0YXRlKiwg
SlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBFcnJvclByb3RvdHlwZSopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwCmluZGV4IDY5ODY3
NTI0YzRjZTdlZjVjNzYzYjZhNTI3MmU3MTZjZTg0OTU3OWMuLjJhOWI5YTliMDQwYTU0NTI4ODVk
ODQxNWVkMDFhMmVjMWFkYzYzMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvclByb3RvdHlwZS5jcHAKQEAgLTUwLDEwICs1MCw5IEBAIGNvbnN0IENsYXNzSW5m
byBFcnJvclByb3RvdHlwZTo6c19pbmZvID0geyAiRXJyb3IiLCAmRXJyb3JJbnN0YW5jZTo6c19p
bmZvLCAwLCBFCiAKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRXJyb3JQcm90b3R5cGUpOwog
Ci1FcnJvclByb3RvdHlwZTo6RXJyb3JQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK0Vycm9yUHJvdG90
eXBlOjpFcnJvclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogICAgIDogRXJyb3JJbnN0YW5jZShleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsK
LSAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIEVycm9y
UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQ
cm90b3R5cGUuaAppbmRleCAwZDBmZDMwNzk0MDZjNTk2Mjc2YjU2ZGYyZmE0ZjY3MGRlZjA2ZDYz
Li45MzQ4NGMyNzQ2NWU0ZDkxNTU0OWYxNWUxMDg3M2ZlYzU5OGRkYWMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKQEAgLTMzLDcgKzMzLDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIEVycm9yUHJvdG90eXBlKiBjcmVh
dGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2Nh
dGVDZWxsPEVycm9yUHJvdG90eXBlPigqZXhlYy0+aGVhcCgpKSkgRXJyb3JQcm90b3R5cGUoZXhl
YywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgRXJyb3JQcm90b3R5cGUq
IHByb3RvdHlwZSA9IG5ldyAoYWxsb2NhdGVDZWxsPEVycm9yUHJvdG90eXBlPigqZXhlYy0+aGVh
cCgpKSkgRXJyb3JQcm90b3R5cGUoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIHByb3Rv
dHlwZS0+ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJl
dHVybiBwcm90b3R5cGU7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBjb25z
dCBDbGFzc0luZm8gc19pbmZvOwpAQCAtNDQsNyArNDYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICBFcnJvclByb3RvdHlwZShFeGVjU3Rh
dGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOworICAgICAgICBFcnJvclByb3RvdHlw
ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKTsKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihF
eGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCopOwogCiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEVycm9y
SW5zdGFuY2U6OlN0cnVjdHVyZUZsYWdzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcAppbmRleCA1MGQ5YjVmN2RhNmVlYzIz
M2EyOWFlY2FjMGY4YmIzNmYzNDAwYzk0Li40NTg5NzRlYTM2NWE1ZDY0MGI2Mjc1ZTY4OGVlNDY5
YTliM2FkYzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9G
dW5jdGlvbkNvbnN0cnVjdG9yLmNwcApAQCAtMzgsOCArMzgsMTQgQEAgbmFtZXNwYWNlIEpTQyB7
CiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEZ1bmN0aW9uQ29uc3RydWN0b3IpOwogCiBGdW5j
dGlvbkNvbnN0cnVjdG9yOjpGdW5jdGlvbkNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEZ1bmN0aW9u
UHJvdG90eXBlKiBmdW5jdGlvblByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4
ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhl
YywgZnVuY3Rpb25Qcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKQorICAgIDogSW50
ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVh
dGlvbihleGVjLCBmdW5jdGlvblByb3RvdHlwZSk7Cit9CisKK3ZvaWQgRnVuY3Rpb25Db25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBGdW5jdGlvblByb3RvdHlwZSog
ZnVuY3Rpb25Qcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xv
YmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsIGZ1bmN0aW9uUHJvdG90eXBlLT5jbGFzc0luZm8o
KS0+Y2xhc3NOYW1lKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xv
YmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBmdW5jdGlvblByb3Rv
dHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogCiAgICAgLy8gTnVtYmVy
IG9mIGFyZ3VtZW50cyBmb3IgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaAppbmRleCA5YzU1ZDg4ODlkMGQ5YWE0
MDY5ZDgxZThmYzdkOTA2YTUxODFiMzVhLi5kNDM2YTI3YWNhYzg5Yzk2ZmFhNjQ2YjgwODZhOGRj
ZDQxNmNkMzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvbkNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25Db25zdHJ1Y3Rvci5oCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgRnVuY3Rpb25Db25zdHJ1Y3RvcihFeGVjU3RhdGUqLCBKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEZ1bmN0aW9uUHJvdG90eXBlKik7CisgICAgICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgRnVuY3Rpb25Qcm90b3R5cGUqKTsKICAgICAg
ICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoQ29uc3RydWN0RGF0YSYp
OwogICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRhKENhbGxEYXRhJik7CiAgICAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJv
dG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90
eXBlLmNwcAppbmRleCA5NmNkNjc3M2JjZWM1YTgxMWRjYjQxNzc3NTUzNDEwMmUyNTFiZGUyLi43
MjEyZWI3ODM1MjVhMmNmMmJlZWY0ZDNlYzlmZGMyN2Q4YzJkZWViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCkBAIC0zOCw4
ICszOCwxNCBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblBy
b3RvRnVuY0FwcGx5KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25Qcm90b0Z1bmNDYWxsKEV4ZWNTdGF0ZSopOwogCiBGdW5jdGlvblByb3Rv
dHlwZTo6RnVuY3Rpb25Qcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEludGVybmFsRnVuY3Rp
b24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5udWxsSWRlbnRpZmllcikKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xv
YmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZXhlYy0+
cHJvcGVydHlOYW1lcygpLm51bGxJZGVudGlmaWVyKTsKK30KKwordm9pZCBGdW5jdGlvblByb3Rv
dHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBu
YW1lKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgbmFt
ZSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigwKSwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5IHwgRG9udEVudW0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaAppbmRleCBlNzAxODJmMzEzYTc2Y2Q2MjAxN2Y0OWNl
OGFlNDA3MzEzNWRlZTVlLi4xMGQxYTE3NmUyMmNiYzJhMzhiZTQ0YzM2OTYxNWVhODQwOTVlYTBm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3Rv
dHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90
eXBlLmgKQEAgLTQxLDYgKzQxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1
cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90bywgVHlw
ZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBBbm9ueW1vdXNTbG90Q291bnQsICZz
X2luZm8pOwogICAgICAgICB9CiAKKyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7CisKICAgICBwcml2
YXRlOgogICAgICAgICBGdW5jdGlvblByb3RvdHlwZShFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVj
dCosIFN0cnVjdHVyZSopOwogICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRhKENh
bGxEYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRl
cm5hbEZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uY3BwCmluZGV4IDEwYWFhNjBlZTdjOGVjMzRmNmY0MDM4OTI0ZDI4MDM4MWE5ZjMw
YmYuLmQyYmNiMjI1MDA0MjgxMTJhZDIzYmQ1ZTA5YjkwNjgwODBmMGM1NDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCkBAIC00
MSwxMCArNDEsOSBAQCBJbnRlcm5hbEZ1bmN0aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKFZQdHJTdGVh
bGluZ0hhY2tUeXBlKQogewogfQogCi1JbnRlcm5hbEZ1bmN0aW9uOjpJbnRlcm5hbEZ1bmN0aW9u
KEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgbmFtZSkKLSAgICA6IEpTTm9uRmluYWxPYmplY3Qo
Kmdsb2JhbERhdGEsIHN0cnVjdHVyZSkKK0ludGVybmFsRnVuY3Rpb246OkludGVybmFsRnVuY3Rp
b24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisg
ICAgOiBKU05vbkZpbmFsT2JqZWN0KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1
cmUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oKmdsb2JhbERhdGEsIG5hbWUpOwogfQogCiB2b2lk
IEludGVybmFsRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0
YSwgY29uc3QgSWRlbnRpZmllciYgbmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGVybmFsRnVuY3Rpb24uaAppbmRleCBlMDViYjEzNDk5MGU3M2JhM2MyNTZjNzI5
ZGIzODE1NGJlYWJiZDRkLi4yM2RmNmQzNDZlYTdkZjgxNGE0OTQ3MGM3OWJhZGFkZGJkN2YxZWYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0
aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlv
bi5oCkBAIC01Miw3ICs1Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAvLyBPbmx5IHVz
ZWQgdG8gYWxsb3cgdXMgdG8gZGV0ZXJtaW5lIHRoZSBKU0Z1bmN0aW9uIHZwdHIKICAgICAgICAg
SW50ZXJuYWxGdW5jdGlvbihWUHRyU3RlYWxpbmdIYWNrVHlwZSk7CiAKLSAgICAgICAgSW50ZXJu
YWxGdW5jdGlvbihKU0dsb2JhbERhdGEqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIGNv
bnN0IElkZW50aWZpZXImKTsKKyAgICAgICAgSW50ZXJuYWxGdW5jdGlvbihKU0dsb2JhbE9iamVj
dCosIFN0cnVjdHVyZSopOwogCiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxE
YXRhJiwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwCmluZGV4IDVjOTlkN2E2NTQzOGQxY2U3OWRjN2Ni
NTA1YTg1NzdhM2Y2OTdiZWIuLmRiYzk2N2UwMzY3NmZhNzI0MDNlZWY2OTVkNTQ5NzFjOGZiZDg4
NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlv
bi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNw
cApAQCAtNDYsNyArNDYsNiBAQCBKU0FjdGl2YXRpb246OkpTQWN0aXZhdGlvbihDYWxsRnJhbWUq
IGNhbGxGcmFtZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbkV4ZQogICAgICwgbV9yZXF1
aXJlc0R5bmFtaWNDaGVja3MoZnVuY3Rpb25FeGVjdXRhYmxlLT51c2VzRXZhbCgpKQogICAgICwg
bV9hcmd1bWVudHNSZWdpc3RlcihmdW5jdGlvbkV4ZWN1dGFibGUtPmdlbmVyYXRlZEJ5dGVjb2Rl
KCkuYXJndW1lbnRzUmVnaXN0ZXIoKSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihjYWxsRnJhbWUp
OwogfQogCiB2b2lkIEpTQWN0aXZhdGlvbjo6ZmluaXNoQ3JlYXRpb24oQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2
YXRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oCmlu
ZGV4IDdlOGZkOTgyNmE5N2I3MjA1MjUxNDMwODZkMmYxNDgyMzQ3YzA2MGMuLjcwMWUyMThlYWFk
OGViMDYzNGIwNWU5NzJiMTEyYzQyNDA3ODIwNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oCkBAIC00OCw3ICs0OCw5IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgICAgIHN0YXRpYyBKU0FjdGl2YXRpb24qIGNyZWF0ZShKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIENhbGxGcmFtZSogY2FsbEZyYW1lLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmNF
eGVjKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNB
Y3RpdmF0aW9uPihnbG9iYWxEYXRhLmhlYXApKSBKU0FjdGl2YXRpb24oY2FsbEZyYW1lLCBmdW5j
RXhlYyk7CisgICAgICAgICAgICBKU0FjdGl2YXRpb24qIGFjdGl2YXRpb24gPSBuZXcgKGFsbG9j
YXRlQ2VsbDxKU0FjdGl2YXRpb24+KGdsb2JhbERhdGEuaGVhcCkpIEpTQWN0aXZhdGlvbihjYWxs
RnJhbWUsIGZ1bmNFeGVjKTsKKyAgICAgICAgICAgIGFjdGl2YXRpb24tPmZpbmlzaENyZWF0aW9u
KGNhbGxGcmFtZSk7CisgICAgICAgICAgICByZXR1cm4gYWN0aXZhdGlvbjsKICAgICAgICAgfQog
CiAgICAgICAgIHZpcnR1YWwgfkpTQWN0aXZhdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggMzMwMTg3ZWVkNjk4MTVmM2RkMWQ3
NTUxMzg0YTc1NzA1OWU2MzA0Ny4uZDBhODAyZWRlMDY2ZTY4ZjhlZjYxYTIxOTQ1YWVhNGNlNDgx
NzRjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5oCkBAIC0xNDYsNyArMTQ2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGlj
IEpTR2xvYmFsT2JqZWN0KiBjcmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2Nh
dGVDZWxsPEpTR2xvYmFsT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBKU0dsb2JhbE9iamVjdChn
bG9iYWxEYXRhLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPEpTR2xvYmFsT2JqZWN0PihnbG9iYWxEYXRhLmhl
YXApKSBKU0dsb2JhbE9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAg
Z2xvYmFsT2JqZWN0LT5maW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QpOwor
ICAgICAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdDsKICAgICAgICAgfQogCiAgICAgICAgIHN0
YXRpYyBKU19FWFBPUlREQVRBIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CkBAIC0xNTksMTcgKzE2
MSw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgLCBtX3dlYWtSYW5kb20oc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KHJhbmRvbU51bWJlcigpICogKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5z
aWduZWQ+OjptYXgoKSArIDEuMCkpKQogICAgICAgICAgICAgLCBtX2V2YWxFbmFibGVkKHRydWUp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHRoaXMp
OwotICAgICAgICB9Ci0KLSAgICAgICAgSlNHbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNPYmplY3QqIHRoaXNWYWx1ZSkKLSAgICAg
ICAgICAgIDogSlNWYXJpYWJsZU9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUsICZtX3N5bWJv
bFRhYmxlLCAwKQotICAgICAgICAgICAgLCBtX3JlZ2lzdGVyQXJyYXlTaXplKDApCi0gICAgICAg
ICAgICAsIG1fZ2xvYmFsU2NvcGVDaGFpbigpCi0gICAgICAgICAgICAsIG1fd2Vha1JhbmRvbShz
dGF0aWNfY2FzdDx1bnNpZ25lZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0
czx1bnNpZ25lZD46Om1heCgpICsgMS4wKSkpCi0gICAgICAgICAgICAsIG1fZXZhbEVuYWJsZWQo
dHJ1ZSkKLSAgICAgICAgewotICAgICAgICAgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwg
dGhpc1ZhbHVlKTsKICAgICAgICAgfQogCiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNH
bG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU09iamVjdCogdGhpc1ZhbHVlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAppbmRleCBmZDgzNmFmMDkwNTNmMTMx
MDU5Y2MwMTMzMmQ4ZTg3YmQ1NjY5MjkwLi40MzE0YjY1ZTI2ZTc4NGQ5OTkxNDIwOGYxZTVkYjAy
Y2M1OGUzZjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09O
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0
LmNwcApAQCAtNTYsNyArNTYsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIEpTT05PYmplY3Q6OkpTT05P
YmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CiAgICAgOiBKU05vbkZpbmFsT2JqZWN0KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBzdHJ1
Y3R1cmUpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9pZCBK
U09OT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5oCmluZGV4IDRlODViZjEx
YWIyYzEzZTYxMzMwNTcwMmEzOGE2ZGUxMWIwMTlhNWYuLjgyYTMyZjhlYzU3ZmQ0Yzc5Mzk5ZWIx
ODQxYWMxOTBhNmRkYzc0YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT05PYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09O
T2JqZWN0LmgKQEAgLTM4LDcgKzM4LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3Rh
dGljIEpTT05PYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAg
ICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNPTk9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIEpT
T05PYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgSlNPTk9iamVj
dCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8SlNPTk9iamVjdD4oKmV4ZWMtPmhlYXAoKSkp
IEpTT05PYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgb2JqZWN0
LT5maW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgcmV0dXJuIG9iamVj
dDsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRl
U3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmgKaW5kZXggNmNmMzU3NWFiNjg4MGRkMTJl
YmM2YTU2OWU4ZWIwOGViNDQ0MDVlNi4uMjI1NjM4NjUxNzQwNTVkYzMwOWE1NDg3YWI2YzkxOWRi
ZDBkZjJjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0
aWNTY29wZU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3Rh
dGljU2NvcGVPYmplY3QuaApAQCAtMzYsNyArMzYsOSBAQCBuYW1lc3BhY2UgSlNDewogCiAgICAg
ICAgIHN0YXRpYyBKU1N0YXRpY1Njb3BlT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBhdHRy
aWJ1dGVzKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8
SlNTdGF0aWNTY29wZU9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIEpTU3RhdGljU2NvcGVPYmplY3Qo
ZXhlYywgaWRlbnRpZmllciwgdmFsdWUsIGF0dHJpYnV0ZXMpOworICAgICAgICAgICAgSlNTdGF0
aWNTY29wZU9iamVjdCogc2NvcGVPYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxKU1N0YXRpY1Nj
b3BlT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNTdGF0aWNTY29wZU9iamVjdChleGVjKTsKKyAg
ICAgICAgICAgIHNjb3BlT2JqZWN0LT5maW5pc2hDcmVhdGlvbihleGVjLCBpZGVudGlmaWVyLCB2
YWx1ZSwgYXR0cmlidXRlcyk7CisgICAgICAgICAgICByZXR1cm4gc2NvcGVPYmplY3Q7CiAgICAg
ICAgIH0KIAogICAgICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRDaGlsZHJlbihTbG90VmlzaXRvciYp
OwpAQCAtNTksMTAgKzYxLDkgQEAgbmFtZXNwYWNlIEpTQ3sKICAgICAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gSXNFbnZpcm9ubWVudFJlY29yZCB8IE92ZXJyaWRl
c0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4gfCBPdmVycmlkZXNH
ZXRQcm9wZXJ0eU5hbWVzIHwgSlNWYXJpYWJsZU9iamVjdDo6U3RydWN0dXJlRmxhZ3M7CiAKICAg
ICBwcml2YXRlOgotICAgICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllciwgSlNWYWx1ZSB2YWx1ZSwgdW5zaWduZWQgYXR0
cmlidXRlcykKKyAgICAgICAgSlNTdGF0aWNTY29wZU9iamVjdChFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgICAgICAgICA6IEpTVmFyaWFibGVPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5n
bG9iYWxEYXRhKCkuc3RhdGljU2NvcGVTdHJ1Y3R1cmUuZ2V0KCksICZtX3N5bWJvbFRhYmxlLCBy
ZWludGVycHJldF9jYXN0PFJlZ2lzdGVyKj4oJm1fcmVnaXN0ZXJTdG9yZSArIDEpKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBpZGVudGlmaWVyLCB2YWx1ZSwg
YXR0cmlidXRlcyk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIFN5bWJvbFRhYmxlIG1f
c3ltYm9sVGFibGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1N0cmluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAK
aW5kZXggYmQzNTVmNzY2YWI0ZTNiNjlmMzJjOWVkMjgzZGZjMDlkOTNiYzE0OS4uNDdkYjFmZjgw
MzMwZjliZjJlZTUzZjQxYWEyNzRlN2JkM2Y0ZjE5OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU3RyaW5nLmNwcApAQCAtMjk4LDcgKzI5OCw5IEBAIFVTdHJpbmcgSlNTdHJp
bmc6OnRvU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKIAogaW5saW5lIFN0cmluZ09iamVj
dCogU3RyaW5nT2JqZWN0OjpjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU1N0cmluZyogc3RyaW5nKQogewotICAgIHJldHVybiBuZXcgKGFsbG9j
YXRlQ2VsbDxTdHJpbmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmplY3QoZXhlYy0+
Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QtPnN0cmluZ09iamVjdFN0cnVjdHVyZSgpLCBzdHJp
bmcpOworICAgIFN0cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8U3RyaW5n
T2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwg
Z2xvYmFsT2JqZWN0LT5zdHJpbmdPYmplY3RTdHJ1Y3R1cmUoKSk7CisgICAgb2JqZWN0LT5maW5p
c2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIHN0cmluZyk7CisgICAgcmV0dXJuIG9iamVj
dDsKIH0KIAogSlNPYmplY3QqIEpTU3RyaW5nOjp0b09iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCmluZGV4IDMxOWM5N2NhZWZjNGJiZGU5NzliNzhiOTRi
M2QwZmFkOWNmYjgwZmIuLjhlNTkyMGExMWI5YjkxN2YxZmM4ZWE0ZjkwMzQ3OGFkNmZlZTM1ZDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCkBAIC04
NCwxMCArODQsOSBAQCBjb25zdCBDbGFzc0luZm8gTWF0aE9iamVjdDo6c19pbmZvID0geyAiTWF0
aCIsICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIEV4ZQogQGVuZAogKi8KIAotTWF0aE9i
amVjdDo6TWF0aE9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorTWF0aE9iamVjdDo6TWF0aE9iamVjdChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpT
Tm9uRmluYWxPYmplY3QoZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsK
LSAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIE1hdGhP
YmplY3Q6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
dGhPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaApp
bmRleCBiZWY5MzEwYWM4YjBlNWIyZTYyNzQ3ZmFjOWM2NGZkYmE4NjNkYzA1Li4xMDFlMjY2N2E1
ZTgyNzY4NzM5ODZmZjRkNzExOWNmZTkzOTIzY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWF0aE9iamVjdC5oCkBAIC0yNywxNCArMjcsMTYgQEAgbmFtZXNwYWNlIEpTQyB7
CiAKICAgICBjbGFzcyBNYXRoT2JqZWN0IDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAg
IHByaXZhdGU6Ci0gICAgICAgIE1hdGhPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3Qq
LCBTdHJ1Y3R1cmUqKTsKKyAgICAgICAgTWF0aE9iamVjdChKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZSopOwogCiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3Qg
QmFzZTsKIAogICAgICAgICBzdGF0aWMgTWF0aE9iamVjdCogY3JlYXRlKEV4ZWNTdGF0ZSogZXhl
YywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxNYXRoT2JqZWN0
PigqZXhlYy0+aGVhcCgpKSkgTWF0aE9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSk7CisgICAgICAgICAgICBNYXRoT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxN
YXRoT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgTWF0aE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVj
dHVyZSk7CisgICAgICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9i
amVjdCk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAgICAgICAgIHZp
cnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmll
ciYsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0
b3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVy
cm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZl
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOGM2NmY3ZWFmNTUyYjJjNTY5YTZlYmZkNjNhMDI0
MTk1NDBhMmM3ZC4uNTM3YTQ1NzZjNzAyM2MwOTcwMjVhMmJjMDhlNmZiNGEzZDlmNjA2MyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JD
b25zdHJ1Y3Rvci5jcHAKQEAgLTMzLDkgKzMzLDkgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VM
TChOYXRpdmVFcnJvckNvbnN0cnVjdG9yKTsKIGNvbnN0IENsYXNzSW5mbyBOYXRpdmVFcnJvckNv
bnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2lu
Zm8sIDAsIDAgfTsKIAogTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6TmF0aXZlRXJyb3JDb25zdHJ1
Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgVVN0
cmluZyYgbmFtZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwg
Z2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgbmFtZSkpCisgICAgOiBJ
bnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogewotICAgIGNvbnN0cnVj
dG9yQm9keShleGVjLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZVN0cnVjdHVyZSwgbmFtZSk7Cisg
ICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGVTdHJ1Y3R1cmUs
IG5hbWUpOwogfQogCiB2b2lkIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6OnZpc2l0Q2hpbGRyZW4o
U2xvdFZpc2l0b3ImIHZpc2l0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggYTM5ZDgxNGZhM2RmM2Q1NDQ3
MWVjMzM1NTRlYmRhMmY4ZDU1YmFmNS4uNmE0NzNkYThiYjg1NmUwMDhiNzJlMzZlMTk0YzM4ZTI4
ZTBjNmNlNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZl
RXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05h
dGl2ZUVycm9yQ29uc3RydWN0b3IuaApAQCAtNDksOCArNDksOSBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSgpIHsgcmV0dXJuIG1fZXJyb3JTdHJ1
Y3R1cmUuZ2V0KCk7IH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdm9pZCBjb25zdHJ1Y3Rv
ckJvZHkoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1
Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgbmFtZSkKKyAgICAgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBu
YW1lKQogICAgICAgICB7CisgICAgICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywgbmFtZSkpOwogICAgICAgICAgICAgQVNTRVJU
KGluaGVyaXRzKCZzX2luZm8pKTsKIAogICAgICAgICAgICAgTmF0aXZlRXJyb3JQcm90b3R5cGUq
IHByb3RvdHlwZSA9IE5hdGl2ZUVycm9yUHJvdG90eXBlOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGVTdHJ1Y3R1cmUsIG5hbWUsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwCmluZGV4IGU1
ZmU3Y2MwNTJmMDg2YTZjYTU1ZTVlZWE1OWFkOTQ5ODk1Y2I3OWYuLjViMjg5OWVhMzBjMTkzMTc4
N2EyMTIzNDM3MWU2YjAzYmUxOWYxZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5jcHAKQEAgLTMwLDE1ICszMCwxNiBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChOYXRpdmVFcnJv
clByb3RvdHlwZSk7CiAKLU5hdGl2ZUVycm9yUHJvdG90eXBlOjpOYXRpdmVFcnJvclByb3RvdHlw
ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBuYW1lLCBOYXRpdmVFcnJvckNvbnN0cnVjdG9y
KiBjb25zdHJ1Y3RvcikKLSAgICA6IEVycm9yUHJvdG90eXBlKGV4ZWMsIGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlKQorTmF0aXZlRXJyb3JQcm90b3R5cGU6Ok5hdGl2ZUVycm9yUHJvdG90eXBlKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG5hbWVBbmRNZXNzYWdlLCBOYXRpdmVFcnJvckNvbnN0
cnVjdG9yKiBjb25zdHJ1Y3RvcikKKyAgICA6IEVycm9yUHJvdG90eXBlKGV4ZWMsIHN0cnVjdHVy
ZSkKIHsKLSAgICBjb25zdHJ1Y3RvckJvZHkoZXhlYywgbmFtZSwgY29uc3RydWN0b3IpOworICAg
IGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgbmFtZUFuZE1lc3NhZ2UsIGNvbnN0
cnVjdG9yKTsKIH0KIAotaW5saW5lIHZvaWQgTmF0aXZlRXJyb3JQcm90b3R5cGU6OmNvbnN0cnVj
dG9yQm9keShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFVTdHJpbmcmIG5hbWUsIE5hdGl2ZUVycm9y
Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yKQoraW5saW5lIHZvaWQgTmF0aXZlRXJyb3JQcm90b3R5
cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgY29uc3QgVVN0cmluZyYgbmFtZUFuZE1lc3NhZ2UsIE5hdGl2ZUVycm9yQ29uc3Ry
dWN0b3IqIGNvbnN0cnVjdG9yKQogewotICAgIHB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCks
IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5uYW1lLCBqc1N0cmluZyhleGVjLCBuYW1lKSwgRG9udEVu
dW0pOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7CisgICAg
cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm5hbWUs
IGpzU3RyaW5nKGV4ZWMsIG5hbWVBbmRNZXNzYWdlKSwgRG9udEVudW0pOwogICAgIHB1dERpcmVj
dChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5tZXNzYWdlLCBqc0Vt
cHR5U3RyaW5nKGV4ZWMpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERh
dGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCBjb25zdHJ1Y3RvciwgRG9u
dEVudW0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0
aXZlRXJyb3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2
ZUVycm9yUHJvdG90eXBlLmgKaW5kZXggMzM0OTJiZDhkZjMyOTc1ZTFhOGY0N2ZkMWNhM2IwYmEw
N2EyNDlhMi4uZDg5NGFiNGYzNTMwNmE4ZmE3OWJlYTlhYzRlOTcxNzhmZjc1ZDA5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlw
ZS5oCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAKICAgICBw
cm90ZWN0ZWQ6Ci0gICAgICAgIHZvaWQgY29uc3RydWN0b3JCb2R5KEV4ZWNTdGF0ZSosIGNvbnN0
IFVTdHJpbmcmIG5hbWUsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IqKTsKKyAgICAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIGNvbnN0IFVTdHJpbmcm
IG5hbWVBbmRNZXNzYWdlLCBOYXRpdmVFcnJvckNvbnN0cnVjdG9yKik7CiAgICAgfTsKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dW1iZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNGI3ZjY4MzZmMWFmMzhlMzk0ODE1NmJkM2IxMGFh
NTRiNDdiNjY5MS4uNjM4ZTNmZjliNTVkZTYyYTU2MTZkMDcxYWU5MDYyMmZjM2Q1OWM4MSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9y
LmNwcApAQCAtNTUsOCArNTUsMTQgQEAgY29uc3QgQ2xhc3NJbmZvIE51bWJlckNvbnN0cnVjdG9y
OjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2kKICovCiAKIE51
bWJlckNvbnN0cnVjdG9yOjpOdW1iZXJDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBOdW1iZXJQcm90
b3R5cGUqIG51bWJlclByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmds
b2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgbnVt
YmVyUHJvdG90eXBlLT5zX2luZm8uY2xhc3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24o
Z2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpIAogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIG51
bWJlclByb3RvdHlwZSk7Cit9CisKK3ZvaWQgTnVtYmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0
aW9uKEV4ZWNTdGF0ZSogZXhlYywgTnVtYmVyUHJvdG90eXBlKiBudW1iZXJQcm90b3R5cGUpCit7
CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVy
KGV4ZWMsIG51bWJlclByb3RvdHlwZS0+c19pbmZvLmNsYXNzTmFtZSkpOwogICAgIEFTU0VSVChp
bmhlcml0cygmc19pbmZvKSk7CiAKICAgICAvLyBOdW1iZXIuUHJvdG90eXBlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaAppbmRleCA3NWQz
MzdhMzAwNjgyYTk0NjliMzgxNWZmY2U5YTA3YmI0YjE1NWNkLi4xZWRkMDE0NzQyZjllYmViMWU0
NTJkZDY0ZDQ0YzE3MDhhNTU4YmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKQEAgLTUwLDYgKzUwLDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIGVudW0geyBOYU5WYWx1ZSwgTmVnSW5maW5pdHksIFBvc0luZmluaXR5LCBN
YXhWYWx1ZSwgTWluVmFsdWUgfTsKIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihFeGVjU3RhdGUqLCBOdW1iZXJQcm90b3R5cGUqKTsKICAgICAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlT
bG90IHwgSW1wbGVtZW50c0hhc0luc3RhbmNlIHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJl
RmxhZ3M7CiAKICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L051bWJlck9iamVjdC5jcHAKaW5kZXggMjI2NzZkMGZmYThjYzc0NmFkMTZkNmU0MjhmM2JjOGNk
NzBkNzYyZC4uY2ZiYzIzYzYyOTllMzljNmQ5OWQzN2U0MGY2YTIzNzcxYmI0YjZiZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3BwCkBAIC0zNCw3
ICszNCw2IEBAIGNvbnN0IENsYXNzSW5mbyBOdW1iZXJPYmplY3Q6OnNfaW5mbyA9IHsgIk51bWJl
ciIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwKIE51bWJlck9iamVjdDo6TnVtYmVyT2Jq
ZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAg
OiBKU1dyYXBwZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQogewotICAgIGZpbmlzaENy
ZWF0aW9uKGdsb2JhbERhdGEpOwogfQogCiB2b2lkIE51bWJlck9iamVjdDo6ZmluaXNoQ3JlYXRp
b24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OdW1iZXJPYmplY3QuaAppbmRleCA5YTA1MTEzMWIyZjI5MDdiOGVmY2Q2ZTNlYTUzNTBh
NjRiYTY4ZjAxLi5lNmNkNGNmMzgxY2M1OTI2NmMwNTU0NWM4YmEyNDQ5MWY1YWZjODY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuaApAQCAtMzUsNyAr
MzUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgTnVtYmVyT2JqZWN0KiBj
cmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAg
ICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPE51bWJlck9iamVj
dD4oZ2xvYmFsRGF0YS5oZWFwKSkgTnVtYmVyT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7
CisgICAgICAgICAgICBOdW1iZXJPYmplY3QqIG51bWJlciA9IG5ldyAoYWxsb2NhdGVDZWxsPE51
bWJlck9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgTnVtYmVyT2JqZWN0KGdsb2JhbERhdGEsIHN0
cnVjdHVyZSk7CisgICAgICAgICAgICBudW1iZXItPmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEp
OworICAgICAgICAgICAgcmV0dXJuIG51bWJlcjsKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRp
YyBjb25zdCBDbGFzc0luZm8gc19pbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bWJlclByb3RvdHlwZS5jcHAKaW5kZXggNTI3NjgxNzg2NGQ5YjM1MDAyOTg0NzNk
MzE1ODM5NTYyOTg2YTY3Ni4uOWI1NzYyYjk1ZTEwNTAzNDkwM2Q1OGVjZTRhZTAzMjgwODdjYzY5
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90
eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5
cGUuY3BwCkBAIC03Myw2ICs3MywxMiBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE51bWJl
clByb3RvdHlwZSk7CiBOdW1iZXJQcm90b3R5cGU6Ok51bWJlclByb3RvdHlwZShFeGVjU3RhdGUq
IGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogICAgIDogTnVtYmVyT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogewor
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgTnVtYmVy
UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFs
RGF0YSgpKTsKICAgICBzZXRJbnRlcm5hbFZhbHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwganNOdW1i
ZXIoMCkpOwogCiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmgKaW5kZXggM2VhZGU2YzY4OGU4
NjAxZTJjZmE0NDlhZjQzNzJkNGI1MDM4ZGQxYi4uMjI1YjUxNTk2NzBiMGViMzA2ZTk5NjBjNjRh
NzBiM2QyMTBkZTg2YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TnVtYmVyUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVt
YmVyUHJvdG90eXBlLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3Rh
dGUqLCBKU0dsb2JhbE9iamVjdCopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBOdW1iZXJPYmplY3Q6
OlN0cnVjdHVyZUZsYWdzOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgQW5vbnltb3Vz
U2xvdENvdW50ID0gTnVtYmVyT2JqZWN0OjpBbm9ueW1vdXNTbG90Q291bnQgKyAxOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggYzMyNWZhMDcwYjFmN2JiOTQ2MGMyMThiMjBiNjJlNzhiYmQ0YjhhNS4uZGM4NzEwMTg3
YWVkN2VlZjk2NGUwNDM4Njg5OTI4YzNjOGI4Y2RkMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcApAQCAtNzYsOCArNzYsMTQg
QEAgY29uc3QgQ2xhc3NJbmZvIE9iamVjdENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlv
biIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2kKICovCiAKIE9iamVjdENvbnN0cnVjdG9yOjpPYmpl
Y3RDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBPYmplY3RQcm90b3R5cGUqIG9iamVjdFByb3RvdHlw
ZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2Jq
ZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgIk9iamVjdCIpKQorICAgIDogSW50ZXJu
YWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlv
bihleGVjLCBvYmplY3RQcm90b3R5cGUpOworfQorCit2b2lkIE9iamVjdENvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIE9iamVjdFByb3RvdHlwZSogb2JqZWN0UHJv
dG90eXBlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwg
SWRlbnRpZmllcihleGVjLCAiT2JqZWN0IikpOwogICAgIC8vIEVDTUEgMTUuMi4zLjEKICAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5wcm90b3R5cGUsIG9iamVjdFByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpOwogICAgIC8vIG5vLiBvZiBhcmd1bWVudHMgZm9yIGNvbnN0cnVjdG9y
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1
Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3Iu
aAppbmRleCAzODNmNDAyOWY5NjQ4OGQyYjE4MzJiOWYwNDE4YmMzMGNhZmNmZDBmLi4zOGM0OGU4
NDlmZDMxOTY5YWU5ZWU3MjlkYThiZWRlOWJmZGExMTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgKQEAgLTQ3LDYgKzQ3LDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBPYmplY3RQcm90b3R5cGUqKTsKICAgICAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJv
cGVydHlTbG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICBwcml2
YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29u
c3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3Ry
dWN0b3IuY3BwCmluZGV4IGM4YTEzM2I0MjU2ODczMTVmZjZlODIxYzBiYTI3YTU3YTE1YTMzZWEu
LmZlMDZiNmNkNDk3M2NhZWQ3NzA1NDJkYmYxZDllNDI2ZTg0YzFjMTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKQEAgLTk2
LDkgKzk2LDE1IEBAIGNvbnN0IENsYXNzSW5mbyBSZWdFeHBDb25zdHJ1Y3Rvcjo6c19pbmZvID0g
eyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pCiAqLwogCiBSZWdFeHBDb25zdHJ1
Y3Rvcjo6UmVnRXhwQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwUHJvdG90eXBlKiByZWdF
eHBQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCks
IGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsICJSZWdFeHAiKSkKKyAg
ICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBkKGFk
b3B0UHRyKG5ldyBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUpKQogeworICAgIGZpbmlzaENyZWF0
aW9uKGV4ZWMsIHJlZ0V4cFByb3RvdHlwZSk7Cit9CisKK3ZvaWQgUmVnRXhwQ29uc3RydWN0b3I6
OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgUmVnRXhwUHJvdG90eXBlKiByZWdFeHBQ
cm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgp
LCBJZGVudGlmaWVyKGV4ZWMsICJSZWdFeHAiKSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2lu
Zm8pKTsKIAogICAgIC8vIEVDTUEgMTUuMTAuNS4xIFJlZ0V4cC5wcm90b3R5cGUKQEAgLTEwOCwx
MCArMTE0LDkgQEAgUmVnRXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0cnVjdG9yKEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamUKICAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5n
dGgsIGpzTnVtYmVyKDIpLCBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250RW51bSk7CiB9CiAK
LVJlZ0V4cE1hdGNoZXNBcnJheTo6UmVnRXhwTWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSogZXhlYywg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKiBkYXRhKQorUmVnRXhwTWF0Y2hlc0FycmF5OjpSZWdF
eHBNYXRjaGVzQXJyYXkoRXhlY1N0YXRlKiBleGVjKQogICAgIDogSlNBcnJheShleGVjLT5nbG9i
YWxEYXRhKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+cmVnRXhwTWF0Y2hlc0FycmF5
U3RydWN0dXJlKCkpCiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBk
YXRhKTsKIH0KIAogdm9pZCBSZWdFeHBNYXRjaGVzQXJyYXk6OmZpbmlzaENyZWF0aW9uKEpTR2xv
YmFsRGF0YSYgZ2xvYmFsRGF0YSwgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKiBkYXRhKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3Iu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5k
ZXggYzAyZDA2ZDdjMmM1OGY4OWNlN2VkY2E3NGZiMTY3NWM3YWIwYWU4Yy4uYjViMmIzMDI2NjE2
OWU2ODZmNWY3YTJlYTBmNjZhM2Y4MmRkYzk5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC05MCw2ICs5MCw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICBKU1ZhbHVlIGdldFJpZ2h0Q29udGV4dChFeGVjU3RhdGUqKSBj
b25zdDsKIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVj
U3RhdGUqLCBSZWdFeHBQcm90b3R5cGUqKTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW1wbGVtZW50
c0hhc0luc3RhbmNlIHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICBw
cml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
TWF0Y2hlc0FycmF5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRj
aGVzQXJyYXkuaAppbmRleCA4N2Q1OWM3MTRlYjU0ZGYyODE3M2RmZWRlYmRlZDU0NmY2NTFjM2Fi
Li5hZDk0ZTA3ZGE3YzEzZjliMWIzYzRlNzBiNjZlNTY2YWZhN2E5ZjhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuaApAQCAtMjYs
MTQgKzI2LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgUmVnRXhwTWF0Y2hlc0Fy
cmF5IDogcHVibGljIEpTQXJyYXkgewogICAgIHByaXZhdGU6Ci0gICAgICAgIFJlZ0V4cE1hdGNo
ZXNBcnJheShFeGVjU3RhdGUqLCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUqKTsKKyAgICAgICAg
UmVnRXhwTWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSopOwogCiAgICAgcHVibGljOgogICAgICAgICB0
eXBlZGVmIEpTQXJyYXkgQmFzZTsKIAogICAgICAgICBzdGF0aWMgUmVnRXhwTWF0Y2hlc0FycmF5
KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUqIGN0b3JQ
cml2YXRlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8
UmVnRXhwTWF0Y2hlc0FycmF5PigqZXhlYy0+aGVhcCgpKSkgUmVnRXhwTWF0Y2hlc0FycmF5KGV4
ZWMsIGN0b3JQcml2YXRlKTsKKyAgICAgICAgICAgIFJlZ0V4cE1hdGNoZXNBcnJheSogcmVnRXhw
ID0gbmV3IChhbGxvY2F0ZUNlbGw8UmVnRXhwTWF0Y2hlc0FycmF5PigqZXhlYy0+aGVhcCgpKSkg
UmVnRXhwTWF0Y2hlc0FycmF5KGV4ZWMpOworICAgICAgICAgICAgcmVnRXhwLT5maW5pc2hDcmVh
dGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGN0b3JQcml2YXRlKTsKKyAgICAgICAgICAgIHJldHVy
biByZWdFeHA7CiAgICAgICAgIH0KICAgICAgICAgdmlydHVhbCB+UmVnRXhwTWF0Y2hlc0FycmF5
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9i
amVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3Bw
CmluZGV4IDcwYjcwN2MyNzg1ZmE0OGUxNmI0NWYxMzVjYmJmOTZiMTE1NjBjMDEuLmJhZTkwODYx
ZWE1MzU5MDZiOWVhNTY1YWM3YWQyYzM0NGMxZTZjNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcApAQCAtNjYsNyArNjYsNiBAQCBSZWdFeHBP
YmplY3Q6OlJlZ0V4cE9iamVjdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgUgogICAgIDogSlNOb25GaW5hbE9iamVjdChnbG9iYWxPYmplY3QtPmds
b2JhbERhdGEoKSwgc3RydWN0dXJlKQogICAgICwgZChhZG9wdFB0cihuZXcgUmVnRXhwT2JqZWN0
RGF0YShnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgdGhpcywgcmVnRXhwKSkpCiB7Ci0gICAg
ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9pZCBSZWdFeHBPYmplY3Q6OmZp
bmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCmluZGV4IDJmMDc3NWYxY2ViZDQ2ZDdk
OTZjZWYzNDc0ZjNmZTllYmM1YTc3ZjguLjQ5ZGRkMzdiMzIzOTcyMGE2NjZkNjA4YjllZTI2Y2Q0
ZGZjZmY1ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVj
dC5oCkBAIC0zMiwxMiArMzIsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGlj
IFJlZ0V4cE9iamVjdCogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cCogcmVnRXhwKQogICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8UmVnRXhwT2JqZWN0Pigq
ZXhlYy0+aGVhcCgpKSkgUmVnRXhwT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCByZWdF
eHApOworICAgICAgICAgICAgUmVnRXhwT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2Vs
bDxSZWdFeHBPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0
LCBzdHJ1Y3R1cmUsIHJlZ0V4cCk7CisgICAgICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9u
KGdsb2JhbE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAg
ICAgICAgIAogICAgICAgICBzdGF0aWMgUmVnRXhwT2JqZWN0KiBjcmVhdGUoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgUmVnRXhwKiByZWdFeHApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBu
ZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBPYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIFJlZ0V4cE9i
amVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgcmVnRXhwKTsKKyAgICAgICAgICAgIFJlZ0V4
cE9iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8UmVnRXhwT2JqZWN0PihnbG9iYWxE
YXRhLmhlYXApKSBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHJlZ0V4cCk7
CisgICAgICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAg
ICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB+UmVn
RXhwT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
UHJvdG90eXBlLmNwcAppbmRleCA4YmZjOTlmNTQ1MDVhZWM0ZjJlMmNkOTYyNDc2ZTc4ODJjOTM4
NjVmLi45MWI4ODY5N2YzZGI4Yjc4MDRhZmYyYjA4ZWFkOGQ4Mjc4NDkzZmU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAKQEAgLTY1
LDYgKzY1LDcgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChSZWdFeHBQcm90b3R5cGUpOwog
UmVnRXhwUHJvdG90eXBlOjpSZWdFeHBQcm90b3R5cGUoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cCogcmVnRXhwKQog
ICAgIDogUmVnRXhwT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCByZWdFeHApCiB7Cisg
ICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogYm9vbCBSZWdFeHBQcm90b3R5
cGU6OmdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90ICZzbG90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCmluZGV4IDFkM2IxYzdhMWIy
OTU3OTViNmQxNmE1OWJkMDJlZGEyMjYyZGVjN2UuLmRiYjE2MWYwYmQxZTUzZTBiZjk0ZjUxMzU5
YWE1Y2JhODAyZmUwNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cmluZ0NvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKQEAgLTQ4LDggKzQ4LDE0IEBAIGNvbnN0IENsYXNzSW5m
byBTdHJpbmdDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5j
dGlvbjo6c19pCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFN0cmluZ0NvbnN0cnVjdG9yKTsK
IAogU3RyaW5nQ29uc3RydWN0b3I6OlN0cmluZ0NvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cmlu
Z1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhl
Yy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVj
LCBzdHJpbmdQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpKQorICAgIDogSW50ZXJu
YWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlv
bihleGVjLCBzdHJpbmdQcm90b3R5cGUpOworfQorCit2b2lkIFN0cmluZ0NvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJv
dG90eXBlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwg
SWRlbnRpZmllcihleGVjLCBzdHJpbmdQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUp
KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIHN0cmluZ1Byb3RvdHlwZSwgUmVhZE9ubHkg
fCBEb250RW51bSB8IERvbnREZWxldGUpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1i
ZXIoMSksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCmluZGV4IGE5NDRl
NTVjNjU1Y2QzYWQ1MTk0MTAxYWMyNzM5ZWQ4YzVkMGJlM2IuLjhhYmFkOWRlZDFiNDZmNjg0MTUz
NDBhNzBlMGNjOWQ5ZjNlZTEwZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaApAQCAtNDgsNiArNDgsNyBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFN0cmluZ0NvbnN0cnVjdG9yKEV4ZWNTdGF0ZSos
IEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgU3RyaW5nUHJvdG90eXBlKik7CisgICAgICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgU3RyaW5nUHJvdG90eXBlKik7CiAgICAg
ICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEm
KTsKICAgICAgICAgdmlydHVhbCBDYWxsVHlwZSBnZXRDYWxsRGF0YShDYWxsRGF0YSYpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcAppbmRleCBi
OGZhZDllNDk3Mzc3YWNhNzQ1NzAxM2NkYTM3MDNiOGYyNzA1OTMzLi5mNmQ2OWQxMDk1MjY0ZTYx
OTFlNTdmNWM0MmM4MDc0NDRmNjAwNzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cmluZ09iamVjdC5jcHAKQEAgLTI5LDEwICsyOSw5IEBAIEFTU0VSVF9DTEFTU19G
SVRTX0lOX0NFTEwoU3RyaW5nT2JqZWN0KTsKIAogY29uc3QgQ2xhc3NJbmZvIFN0cmluZ09iamVj
dDo6c19pbmZvID0geyAiU3RyaW5nIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLCAwIH07
CiAKLVN0cmluZ09iamVjdDo6U3RyaW5nT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTU3RyaW5nKiBzdHJpbmcpCitTdHJpbmdPYmplY3Q6OlN0
cmluZ09iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogICAgIDogSlNXcmFwcGVyT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSkKIHsKLSAgICBm
aW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBzdHJpbmcpOwogfQogCiB2b2lkIFN0cmluZ09iamVj
dDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU1N0cmluZyogc3Ry
aW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuaAppbmRl
eCBhNzc3MjIwYzY2YzY0ZTUwOTQ2MWI1N2FjNTJhMzE5ZmM0Y2UyNDg2Li4xOGFmZTcyZGVkNGQ3
OTFmMjY5MTAwYjY0ZmQ2NTIwZmRmYjc1OTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdPYmplY3QuaApAQCAtMzMsMTIgKzMzLDE2IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBzdGF0aWMgU3RyaW5nT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICAgICAgewogICAgICAgICAgICAgSlNTdHJpbmcqIHN0
cmluZyA9IGpzRW1wdHlTdHJpbmcoZXhlYyk7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxv
Y2F0ZUNlbGw8U3RyaW5nT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMt
Pmdsb2JhbERhdGEoKSwgc3RydWN0dXJlLCBzdHJpbmcpOyAgCisgICAgICAgICAgICBTdHJpbmdP
YmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMtPmhl
YXAoKSkpIFN0cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSk7ICAKKyAg
ICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJp
bmcpOworICAgICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICAgICAgfQogICAgICAgICBzdGF0
aWMgU3RyaW5nT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgY29uc3QgVVN0cmluZyYgc3RyKQogICAgICAgICB7CiAgICAgICAgICAgICBKU1N0cmlu
Zyogc3RyaW5nID0ganNTdHJpbmcoZXhlYywgc3RyKTsKLSAgICAgICAgICAgIHJldHVybiBuZXcg
KGFsbG9jYXRlQ2VsbDxTdHJpbmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmplY3Qo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUsIHN0cmluZyk7CisgICAgICAgICAgICBTdHJp
bmdPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMt
PmhlYXAoKSkpIFN0cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSk7Cisg
ICAgICAgICAgICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3Ry
aW5nKTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgIH0KICAgICAgICAgc3Rh
dGljIFN0cmluZ09iamVjdCogY3JlYXRlKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgSlNT
dHJpbmcqKTsKIApAQCAtNjIsNyArNjYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBwcm90ZWN0
ZWQ6CiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgSlNTdHJpbmcq
KTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJp
ZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTV3Jh
cHBlck9iamVjdDo6U3RydWN0dXJlRmxhZ3M7Ci0gICAgICAgIFN0cmluZ09iamVjdChKU0dsb2Jh
bERhdGEmLCBTdHJ1Y3R1cmUqLCBKU1N0cmluZyopOworICAgICAgICBTdHJpbmdPYmplY3QoSlNH
bG9iYWxEYXRhJiwgU3RydWN0dXJlKik7CiAgICAgfTsKIAogICAgIFN0cmluZ09iamVjdCogYXNT
dHJpbmdPYmplY3QoSlNWYWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdPYmplY3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRl
ZmluZWQuaAppbmRleCBhMDQ0NjRhNjA2MGZlZjQxNDYzZjI2MmVmZjI5NWJhODY1ZmFjOTUzLi5l
MjFmOWExMDY2MDkxNmNmZWI1YTgxMjY5NjQxYWRmMDU0ZWUxNWU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3RUaGF0TWFzcXVlcmFkZXNBc1Vu
ZGVmaW5lZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVj
dFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLmgKQEAgLTQxLDggKzQxLDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKICAgICBwcml2YXRlOgogICAgICAgICBTdHJpbmdPYmplY3RUaGF0TWFzcXVlcmFk
ZXNBc1VuZGVmaW5lZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0
cmluZyogc3RyaW5nKQotICAgICAgICAgICAgOiBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0
YSgpLCBzdHJ1Y3R1cmUsIHN0cmluZykKKyAgICAgICAgICAgIDogU3RyaW5nT2JqZWN0KGV4ZWMt
Pmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQogICAgICAgICB7CisgICAgICAgICAgICBmaW5pc2hD
cmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIHN0cmluZyk7CiAgICAgICAgIH0KIAogICAgICAg
ICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKSAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCmluZGV4
IGUxNGQ5NzcyNjY5NTU2ODg5YTgzNzYzZDJhYmYyODkwNDI0MDM4YzQuLjU5MDM5MDliOTRkMmRl
NDU4MWM0NzM0MGI0MDAyZGY2ODgwYWIzYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcApAQCAtMTMxLDkgKzEzMSwxNSBAQCBjb25z
dCBDbGFzc0luZm8gU3RyaW5nUHJvdG90eXBlOjpzX2luZm8gPSB7ICJTdHJpbmciLCAmU3RyaW5n
T2JqZWN0OjpzX2luZm8sIDAsCiAqLwogCiAvLyBFQ01BIDE1LjUuNAotU3RyaW5nUHJvdG90eXBl
OjpTdHJpbmdQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNTdHJpbmcqIHN0cmluZykKLSAgICA6IFN0
cmluZ09iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSwgc3RyaW5nKQorU3RyaW5n
UHJvdG90eXBlOjpTdHJpbmdQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNTdHJpbmcqIG5hbWVBbmRN
ZXNzYWdlKQorICAgIDogU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJl
KQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCwgbmFtZUFuZE1lc3Nh
Z2UpOworfQorCit2b2lkIFN0cmluZ1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRl
KiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1N0cmluZyogbmFtZUFuZE1l
c3NhZ2UpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBu
YW1lQW5kTWVzc2FnZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIAogICAgIHB1
dEFub255bW91c1ZhbHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwgMCwgZ2xvYmFsT2JqZWN0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKaW5kZXgg
NmEwMzE1ZmUyYjgyY2FlMTcyNDdjNmUxZTYzZTZmM2E4NDE0YjQ4NC4uNjUxZjlhYzNkZDRmNTdk
YWI3MjhiYjA1MjYxYzU3ODliMThjNjFkMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKQEAgLTUwLDYgKzUwLDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19pbmZvOwogICAgICAgICAKICAg
ICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNH
bG9iYWxPYmplY3QqLCBKU1N0cmluZyopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBTdHJpbmdPYmpl
Y3Q6OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgICAgIENPTVBJTEVfQVNTRVJUKCFTdHJpbmdPYmpl
Y3Q6OkFub255bW91c1Nsb3RDb3VudCwgU3RyaW5nUHJvdG90eXBlX3N0b21wc19vbl95b3VyX2Fu
b255bW91c19zbG90KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCmluZGV4IDMwNDdmMjY0NGY1M2I0
ZjBkZDU2NjFmODYyZDA1OTRmOWJlYjc2MTMuLjcwNTM1ODAyYTMzMmExMGVmNGRlODg2OWFlZDNl
NzIxNTk1NjcxNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisy
MDExLTA5LTA3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAg
ICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBKU0Nl
bGwgaGllcmFyY2h5ICg1LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NzQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENvbXBsZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2YgdGhlIHJlZmFjdG9yaW5nIHRv
IGFkZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBjbGFzc2VzIHdp
dGhpbiB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAgICAgICBjb25z
dHJ1Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lzdHMgb2YgcHVz
aGluZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAgICBpbnRvIHRo
ZSBjb25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBsZXZlbCBvZiB0
aGUgaGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZpbmlzaENyZWF0
aW9uKCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZworICAgICAgICBj
cmVhdGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0YW5lb3VzbHkg
YWxsb3dzIHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRoYXQgdGhlIGZp
bmlzaENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAorICAgICAgICBv
bmNlIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxsaW5nIGl0IGFu
eSBvdGhlciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3JlKSB3aWxsIGNh
dXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogSlNSdW4uY3BwOgorICAgICAg
ICAoSlNHbHVlR2xvYmFsT2JqZWN0OjpKU0dsdWVHbG9iYWxPYmplY3QpOgorCiAyMDExLTA5LTA3
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByOTQ2MjcgYW5kIHI5NDYzMi4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvSlNS
dW4uY3BwCmluZGV4IDhjODhmODVmMzIwZTNlZTBjMjljMWQ5ZTI0NjEwYjE0MjYyZDM4MmMuLmJm
MjJjYmQxNjQxMWM0NjJiYmQzYTM3ZmQ5MDk2YWVlY2EyOWE3NjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRHbHVlL0pT
UnVuLmNwcApAQCAtMzgsNiArMzgsNyBAQCBKU0dsdWVHbG9iYWxPYmplY3Q6OkpTR2x1ZUdsb2Jh
bE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydQogICAgICwg
bV9mbGFncyhmbGFncykKICAgICAsIG1fdXNlck9iamVjdFN0cnVjdHVyZShnbG9iYWxEYXRhLCB1
c2VyT2JqZWN0U3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHRo
aXMpOwogfQogCiBKU1J1bjo6SlNSdW4oQ0ZTdHJpbmdSZWYgc291cmNlLCBKU0ZsYWdzIGluRmxh
Z3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMTQ0NzQ2MzM5MGVmZDMzNzI4YmExZTFmMjEzMjRmMTllMjFmOTQ0
Ny4uNWE4NGE1ZjZlZDBkZjM3Mzk0OGMxZWJlNjEyNDA3OWQ3NzcxNzRjZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDgzIEBACisyMDExLTA5LTA3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVy
Z0BhcHBsZS5jb20+CisKKyAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNv
bnN0cnVjdG9ycyBpbiBKU0NlbGwgaGllcmFyY2h5ICg1LzcpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICBDb21w
bGV0ZWQgdGhlIGZpZnRoIGxldmVsIG9mIHRoZSByZWZhY3RvcmluZyB0byBhZGQgZmluaXNoQ3Jl
YXRpb24oKSAKKyAgICAgICAgbWV0aG9kcyB0byBhbGwgY2xhc3NlcyB3aXRoaW4gdGhlIEpTQ2Vs
bCBoaWVyYXJjaHkgd2l0aCBub24tdHJpdmlhbCAKKyAgICAgICAgY29uc3RydWN0b3IgYm9kaWVz
LgorCisgICAgICAgIFRoaXMgcHJpbWFyaWx5IGNvbnNpc3RzIG9mIHB1c2hpbmcgdGhlIGNhbGxz
IHRvIGZpbmlzaENyZWF0aW9uKCkgZG93biAKKyAgICAgICAgaW50byB0aGUgY29uc3RydWN0b3Jz
IG9mIHRoZSBzdWJjbGFzc2VzIG9mIHRoZSBzZWNvbmQgbGV2ZWwgb2YgdGhlIGhpZXJhcmNoeSAK
KyAgICAgICAgYXMgd2VsbCBhcyBwdWxsaW5nIHRoZSBmaW5pc2hDcmVhdGlvbigpIGNhbGxzIG91
dCBpbnRvIHRoZSBjbGFzcydzIGNvcnJlc3BvbmRpbmcKKyAgICAgICAgY3JlYXRlKCkgbWV0aG9k
IGlmIGl0IGhhcyBvbmUuICBEb2luZyBib3RoIHNpbXVsdGFuZW91c2x5IGFsbG93cyB1cyB0byAK
KyAgICAgICAgbWFpbnRhaW4gdGhlIGludmFyaWFudCB0aGF0IHRoZSBmaW5pc2hDcmVhdGlvbigp
IG1ldGhvZCBjaGFpbiBpcyBjYWxsZWQgZXhhY3RseSAKKyAgICAgICAgb25jZSBkdXJpbmcgdGhl
IGNyZWF0aW9uIG9mIGFuIG9iamVjdCwgc2luY2UgY2FsbGluZyBpdCBhbnkgb3RoZXIgbnVtYmVy
IG9mIAorICAgICAgICB0aW1lcyAoMCwgMiwgb3IgbW9yZSkgd2lsbCBjYXVzZSBhbiBhc3NlcnRp
b24gZmFpbHVyZS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NQmluZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6RE9NQ29uc3RydWN0b3JP
YmplY3Q6OkRPTUNvbnN0cnVjdG9yT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RP
TUdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6
SlNET01HbG9iYWxPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3Q6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
RE9NV2luZG93U2hlbGw6OmNyZWF0ZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XcmFw
cGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdyYXBwZXI6OkpTRE9NV3JhcHBlcik6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEludGVyZmFj
ZTo6SlNUZXN0SW50ZXJmYWNlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTVGVzdE9iajo6SlNUZXN0T2JqKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6
SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKToKKyAgICAgICAgKiBicmlkZ2Uv
Yy9DUnVudGltZU9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpDUnVudGltZU9i
amVjdDo6Q1J1bnRpbWVPYmplY3QpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6Q1J1bnRpbWVP
YmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBicmlkZ2UvYy9DUnVudGltZU9iamVj
dC5oOgorICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6QmluZGluZ3M6OkphdmFSdW50aW1lT2JqZWN0OjpKYXZhUnVudGltZU9iamVj
dCk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpKYXZhUnVudGltZU9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0Lmg6Cisg
ICAgICAgICogYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaDoKKyAgICAgICAgKiBicmlk
Z2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5tbToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6Ok9i
akNSdW50aW1lT2JqZWN0OjpPYmpDUnVudGltZU9iamVjdCk6CisgICAgICAgIChKU0M6OkJpbmRp
bmdzOjpPYmpDUnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJyaWRn
ZS9vYmpjL29iamNfcnVudGltZS5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqY0ZhbGxi
YWNrT2JqZWN0SW1wOjpjcmVhdGUpOgorICAgICAgICAqIGJyaWRnZS9vYmpjL29iamNfcnVudGlt
ZS5tbToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6Ok9iamNGYWxsYmFja09iamVjdEltcDo6T2Jq
Y0ZhbGxiYWNrT2JqZWN0SW1wKToKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3Bw
OgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRSdW50aW1lT2JqZWN0OjpRdFJ1bnRpbWVPYmpl
Y3QpOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9waXhtYXBydW50aW1lLmNwcDoKKyAgICAgICAg
KEpTQzo6QmluZGluZ3M6OlF0UGl4bWFwUnVudGltZU9iamVjdDo6UXRQaXhtYXBSdW50aW1lT2Jq
ZWN0KToKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfcnVudGltZS5jcHA6CisgICAgICAgIChKU0M6
OkJpbmRpbmdzOjpRdFJ1bnRpbWVNZXRob2Q6OlF0UnVudGltZU1ldGhvZCk6CisgICAgICAgIChK
U0M6OkJpbmRpbmdzOjpRdFJ1bnRpbWVNZXRob2Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KiBicmlkZ2UvcXQvcXRfcnVudGltZS5oOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX2FycmF5
LmNwcDoKKyAgICAgICAgKEpTQzo6UnVudGltZUFycmF5OjpSdW50aW1lQXJyYXkpOgorICAgICAg
ICAqIGJyaWRnZS9ydW50aW1lX2FycmF5Lmg6CisgICAgICAgIChKU0M6OlJ1bnRpbWVBcnJheTo6
Y3JlYXRlKToKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9tZXRob2QuY3BwOgorICAgICAgICAo
SlNDOjpSdW50aW1lTWV0aG9kOjpSdW50aW1lTWV0aG9kKToKKyAgICAgICAgKEpTQzo6UnVudGlt
ZU1ldGhvZDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX21ldGhv
ZC5oOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5jcHA6CisgICAgICAgIChKU0M6
OkJpbmRpbmdzOjpSdW50aW1lT2JqZWN0OjpSdW50aW1lT2JqZWN0KToKKyAgICAgICAgKiBicmlk
Z2UvcnVudGltZV9vYmplY3QuaDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OlJ1bnRpbWVPYmpl
Y3Q6OmNyZWF0ZSk6CisKIDIwMTEtMDktMDcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2VzIHRvIGFyaWEtaGlkZGVuIGRvbid0IGNoYW5nZSBW
TyBuYXZpZ2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDYxOTQ0ZTBhMjMyMDVmNmFkMzFk
MjFiNzYwZmE0NTEyMzNmM2VhYWEuLmJiNTM5MTQzNTljZDYzNjAxMmIwMGUzNzM1Y2VlNGFiMWMx
NzUwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNjQ5LDYgKzE2NDksNyBAQCBfX1pOM0pT
QzEzUnVudGltZU1ldGhvZEMyRVBOU185RXhlY1N0YXRlRVBOU18xNEpTR2xvYmFsT2JqZWN0RVBO
U185U3RydWN0dXJlRVJLTgogX19aTjNKU0M4QmluZGluZ3MxMFJvb3RPYmplY3REMUV2CiBfX1pO
M0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDExZ2V0Q2FsbERhdGFFUk5TXzhDYWxsRGF0YUUK
IF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4
ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKK19fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2Jq
ZWN0MTRmaW5pc2hDcmVhdGlvbkVQTlNfMTRKU0dsb2JhbE9iamVjdEUKIF9fWk4zSlNDOEJpbmRp
bmdzMTNSdW50aW1lT2JqZWN0MTZnZXRDb25zdHJ1Y3REYXRhRVJOU18xM0NvbnN0cnVjdERhdGFF
CiBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDE4Z2V0T3duUHJvcGVydHlTbG90RVBO
U185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xMlByb3BlcnR5U2xvdEUKIF9fWk4z
SlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTlnZXRPd25Qcm9wZXJ0eU5hbWVzRVBOU185RXhl
Y1N0YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25Nb2RlRQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAppbmRleCA0NjUzMGMzODE1MzAz
YTI1ZTM5OGEwYmFiMzExZjM5ZjE3N2U2YWQ0Li5jMWM4MzdlZTI3MDAyZmI0OTA2MDlkYjExOTM4
OWMxMGJjODE5ZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcu
aApAQCAtNTUsNiArNTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERPTUNvbnN0
cnVjdG9yT2JqZWN0KEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCiAgICAgICAgICAgICA6IEpTRE9NV3JhcHBlcihzdHJ1Y3R1cmUsIGds
b2JhbE9iamVjdCkKICAgICAgICAgeworICAgICAgICAgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFs
T2JqZWN0LT5nbG9iYWxEYXRhKCkpOwogICAgICAgICB9CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IDRkYWZhNjhl
MDQ1NmFlYTY3ZmUyNmVkMWZiYzEwZjFiYmY0NmNjNDguLmY5ZWFmNmE0OWIxZTlmNGJjODU5N2Uw
YzkyMTU2OWYzMTQ4NjZjMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUdsb2JhbE9iamVjdC5jcHAKQEAgLTQzLDEwICs0MywxNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjb25zdCBDbGFzc0luZm8gSlNET01HbG9iYWxPYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUds
b2JhbE9iamVjdCIsICZKU0dsb2JhbE9iamVjdDo6c19pbmZvLCAwLCAwIH07CiAKIEpTRE9NR2xv
YmFsT2JqZWN0OjpKU0RPTUdsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gd29ybGQsIEpT
T2JqZWN0KiB0aGlzVmFsdWUpCi0gICAgOiBKU0dsb2JhbE9iamVjdChnbG9iYWxEYXRhLCBzdHJ1
Y3R1cmUsIHRoaXNWYWx1ZSkKKyAgICA6IEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVj
dHVyZSkKICAgICAsIG1fY3VycmVudEV2ZW50KDApCiAgICAgLCBtX3dvcmxkKHdvcmxkKQogewor
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHRoaXNWYWx1ZSk7Cit9CisKK3ZvaWQgSlNE
T01HbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
SlNPYmplY3QqIHRoaXNWYWx1ZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxE
YXRhLCB0aGlzVmFsdWUpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCmluZGV4IGUw
YTZhMDcyYWU4YjdlZDBjOTYzYzM1MzFhY2I2NjJiNzlkNGVmZTkuLjlhODM4YmY5YTgzYzQ5YzFj
NDFlM2NiMjc3NTEwOGFjNDk3ZjAwODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuaApAQCAtNDcsNiArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHN0cnVjdCBKU0RPTUdsb2JhbE9iamVjdERhdGE7CiAKICAgICAgICAgSlNE
T01HbG9iYWxPYmplY3QoSlNDOjpKU0dsb2JhbERhdGEmLCBKU0M6OlN0cnVjdHVyZSosIFBhc3NS
ZWZQdHI8RE9NV3JhcHBlcldvcmxkPiwgSlNDOjpKU09iamVjdCogdGhpc1ZhbHVlKTsKKyAgICAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OkpTR2xvYmFsRGF0YSYsIEpTQzo6SlNPYmplY3Qq
IHRoaXNWYWx1ZSk7CiAKICAgICBwdWJsaWM6CiAgICAgICAgIEpTRE9NU3RydWN0dXJlTWFwJiBz
dHJ1Y3R1cmVzKCkgeyByZXR1cm4gbV9zdHJ1Y3R1cmVzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCmluZGV4IDFlZGZkMmU2YTczNDI2Y2E3
ZTY5MGVhNzY5OGU4ZWMyOTc0YTMyYmEuLjE1ODhkNGZlZDAyMWVlNmNjNjZmZjUzOWI4ZjAwNDZh
M2ViZDk0YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93U2hlbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
U2hlbGwuY3BwCkBAIC0xODIsMTMgKzE4Miw2IEBAIHZvaWQqIEpTRE9NV2luZG93U2hlbGw6Om9w
ZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkKICAgICByZXR1cm4gaGVhcC5hbGxvY2F0ZShzaXplKTsK
IH0KIAotSlNET01XaW5kb3dTaGVsbCogSlNET01XaW5kb3dTaGVsbDo6Y3JlYXRlKFBhc3NSZWZQ
dHI8RE9NV2luZG93PiB3aW5kb3csIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERPTVdyYXBw
ZXJXb3JsZCogd29ybGQpCi17Ci0gICAgSlNET01XaW5kb3dTaGVsbCogc2hlbGwgPSBuZXcgSlNE
T01XaW5kb3dTaGVsbChzdHJ1Y3R1cmUsIHdvcmxkKTsKLSAgICBzaGVsbC0+ZmluaXNoQ3JlYXRp
b24oKndvcmxkLT5nbG9iYWxEYXRhKCksIHdpbmRvdyk7Ci0gICAgcmV0dXJuIHNoZWxsOyAKLX0K
LQogLy8gLS0tLQogLy8gQ29udmVyc2lvbiBtZXRob2RzCiAvLyAtLS0tCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKaW5kZXggNTM0ZWEyYWNmMjY2YjFj
MDUxZTNkOTJlNWQzNTAyOGU5NzUyN2ViMC4uODdkMDI2ZGJlMDU4Y2ZmYzE4NmU1OTUyNTAzYjgy
NTkzMDU3M2Q0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dTaGVsbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
U2hlbGwuaApAQCAtNTUsNyArNTUsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAg
IERPTVdpbmRvdyogaW1wbCgpIGNvbnN0OwogCi0gICAgICAgIHN0YXRpYyBKU0RPTVdpbmRvd1No
ZWxsKiBjcmVhdGUoUGFzc1JlZlB0cjxET01XaW5kb3c+LCBKU0M6OlN0cnVjdHVyZSosIERPTVdy
YXBwZXJXb3JsZCopOworICAgICAgICBzdGF0aWMgSlNET01XaW5kb3dTaGVsbCogY3JlYXRlKFBh
c3NSZWZQdHI8RE9NV2luZG93PiB3aW5kb3csIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERP
TVdyYXBwZXJXb3JsZCogd29ybGQpIAorICAgICAgICB7CisgICAgICAgICAgICBKU0RPTVdpbmRv
d1NoZWxsKiBzaGVsbCA9IG5ldyBKU0RPTVdpbmRvd1NoZWxsKHN0cnVjdHVyZSwgd29ybGQpOwor
ICAgICAgICAgICAgc2hlbGwtPmZpbmlzaENyZWF0aW9uKCp3b3JsZC0+Z2xvYmFsRGF0YSgpLCB3
aW5kb3cpOworICAgICAgICAgICAgcmV0dXJuIHNoZWxsOyAKKyAgICAgICAgfQogCiAgICAgICAg
IHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6SlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhLCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKSAKICAgICAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaAppbmRleCA2YTFiNDM4OTM4ZmExNDFi
NDgwYzAxZWI4ZGY0MDE3Zjk2ZjEzZTliLi4yZGEzZmEwMzRkNmY2MWI5OGZhMDhjZDgzNTZhNmQz
NTM0YjM4N2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdy
YXBwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaApA
QCAtNTksNyArNTksNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIC8vIG5ldyBKYXZhU2NyaXB0IG9i
amVjdHMgb24gZGV0YWNoZWQgd2luZG93cyBkdWUgdG8gRE9NV2luZG93Ojpkb2N1bWVudCgpCiAg
ICAgICAgIC8vIG5lZWRpbmcgdG8gcmVhY2ggdGhyb3VnaCB0aGUgZnJhbWUgdG8gZ2V0IHRvIHRo
ZSBEb2N1bWVudCouICBTZWUgYnVnIDI3NjQwLgogICAgICAgICAvLyBBU1NFUlQoZ2xvYmFsT2Jq
ZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwotICAgICAgICBmaW5pc2hDcmVhdGlvbihn
bG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAwMDQzY2Jk
MWQ5MWQzNTYyNmMwMGU1OTM5MTVkYmQzZjk3MmExY2E5Li4xZjI0Yjk0ZDI3OTM5NjM5MjEzYTRh
Mjc5NTE2OTIzODAwOWU3ZGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMTUxNCwyMCArMTUxNCwyNCBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICBBZGRJbmNsdWRlc0ZvclR5cGVJbkltcGwoIkpT
RE9NV2luZG93U2hlbGwiKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIke2NsYXNzTmFt
ZX06OiRjbGFzc05hbWUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgUGFzc1JlZlB0cjwkaW1wbFR5cGU+IGltcGwsIEpTRE9NV2luZG93U2hlbGwqIHNoZWxs
KVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIDogJHBhcmVudENsYXNzTmFt
ZShnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUsIGltcGwsIHNoZWxsKVxuIik7CisgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAie1xuIik7CiAgICAgfSBlbHNpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSXNXb3JrZXJDb250ZXh0In0pIHsKICAgICAgICAgQWRkSW5jbHVkZXNGb3JU
eXBlSW5JbXBsKCRpbnRlcmZhY2VOYW1lKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIk
e2NsYXNzTmFtZX06OiRjbGFzc05hbWUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjwkaW1wbFR5cGU+IGltcGwpXG4iKTsKICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgOiAkcGFyZW50Q2xhc3NOYW1lKGdsb2JhbERhdGEsIHN0
cnVjdHVyZSwgaW1wbClcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwog
ICAgIH0gZWxzZSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiJHtjbGFzc05hbWV9Ojok
Y2xhc3NOYW1lKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBQYXNzUmVmUHRyPCRpbXBsVHlwZT4gaW1wbClcbiIpOwogICAgICAgICBpZiAoJGhh
c1BhcmVudCkgewogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgOiAkcGFyZW50
Q2xhc3NOYW1lKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBpbXBsKVxuIik7CisgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgOiAkcGFyZW50Q2xhc3NOYW1lKHN0cnVjdHVyZSwg
Z2xvYmFsT2JqZWN0KVxuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAs
IG1faW1wbChpbXBsKVxuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIp
OworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgZmluaXNoQ3JlYXRpb24oZ2xv
YmFsT2JqZWN0LT5nbG9iYWxEYXRhKCkpO1xuIik7CiAgICAgICAgIH0KICAgICB9Ci0gICAgcHVz
aChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBBU1NF
UlQoaW5oZXJpdHMoJnNfaW5mbykpO1xuIik7CiAgICAgaWYgKCRudW1DYWNoZWRBdHRyaWJ1dGVz
ID4gMCkgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBmb3IgKHVuc2lnbmVkIGkg
PSBCYXNlOjpBbm9ueW1vdXNTbG90Q291bnQ7IGkgPCBBbm9ueW1vdXNTbG90Q291bnQ7IGkrKylc
biIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAppbmRleCBhMGRlMjNmNDZhY2U3YzU2NDlkMDlkZjZk
YzI3NWVmOTM2MTVjMmU2Li5mOWJiZDBiMDNkYTRiMWRlYTMwNzFmNWE0M2M1MDFlNThiNzM5NmYz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcApAQCAtMTQ2LDYgKzE0Niw3IEBAIEpTVGVzdEludGVy
ZmFjZTo6SlNUZXN0SW50ZXJmYWNlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsCiAgICAgOiBKU0RPTVdyYXBwZXIoc3RydWN0dXJlLCBnbG9iYWxPYmplY3Qp
CiAgICAgLCBtX2ltcGwoaW1wbCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3Qt
Pmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5m
bykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAK
aW5kZXggMmMxZTcyYjUwZmVmMjQ3ODI4NjcyN2QyYjk1ZTIwYzdhYzBhZmMzNy4uMDU5NjAxYTk1
ZGQ5YmRlYjI4MDIxNGQxOWNkNGJhOWUyMjRmN2IxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAtMTQyLDYgKzE0Miw3IEBAIEpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXI6OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsCiAgICAgOiBKU0RPTVdyYXBwZXIoc3RydWN0dXJlLCBnbG9iYWxPYmplY3Qp
CiAgICAgLCBtX2ltcGwoaW1wbCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3Qt
Pmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5m
bykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDBkYjNkODhiYTFhMzdmM2QzNzlmZWYyNTUxZTYxYzNm
ZDk5OWI2MmUuLmQzMjU2YjdmOTM3NTc1MjM4NzI1OWI3YTc0NDU1MWY1YzlhNzUyZWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmou
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
YmouY3BwCkBAIC0yOTcsNiArMjk3LDcgQEAgSlNUZXN0T2JqOjpKU1Rlc3RPYmooU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFBhc3MKICAgICA6
IEpTRE9NV3JhcHBlcihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKICAgICAsIG1faW1wbChpbXBs
KQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9i
YWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5k
ZXggNzdmOWJkZDI3ZTk3NTljNDE0MDNiOTIwYjk5ZjMwOWY2OGU1ZDM4YS4uNGU1OGYyNDFmMGE0
NTk0MzY4OTAwZGZkMGQyMzNiNzhmOGIwZTY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKQEAgLTEzMiw2ICsxMzIsNyBA
QCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OkpTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZShTdHJ1YwogICAgIDogSlNET01XcmFwcGVyKHN0cnVjdHVyZSwg
Z2xvYmFsT2JqZWN0KQogICAgICwgbV9pbXBsKGltcGwpCiB7CisgICAgZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCk7CiAgICAgQVNTRVJUKGlu
aGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdl
L2MvQ1J1bnRpbWVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVP
YmplY3QuY3BwCmluZGV4IGM2M2U1ODZkMjFjMWUyYWM2Njc5MjYzMTg2MzMyYjBjNTAxMTU4YzYu
LmI0NjBhOTE0NTJmNjU2YjAzMzk3ODM1NzQ2ODVhY2YwZGUyMWQxNDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHAKQEAgLTQwLDYgKzQwLDEyIEBAIGNvbnN0
IENsYXNzSW5mbyBDUnVudGltZU9iamVjdDo6c19pbmZvID0geyAiQ1J1bnRpbWVPYmplY3QiLCAm
UnVudGltZU9iamVjdDo6c19pCiBDUnVudGltZU9iamVjdDo6Q1J1bnRpbWVPYmplY3QoRXhlY1N0
YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgUGFzc1JlZlB0cjxDSW5zdGFuY2U+IGluc3RhbmNlKQogICAgIDogUnVudGltZU9iamVj
dChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNo
Q3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBDUnVudGltZU9iamVjdDo6ZmluaXNo
Q3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5oCmluZGV4IDZmZTdk
ZmFmNzdmYzBkMThjMGQwYzE1MWMxN2Y1YTdhM2ZkYjM3OGMuLmVmMTljOGE2ZWIzMmUzNGU4N2E2
MTA3OGI4NDVlMGU2MDBlN2IzMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9j
L0NSdW50aW1lT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVP
YmplY3QuaApAQCAtNjEsNiArNjEsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgQ1J1bnRp
bWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBQYXNzUmVm
UHRyPENJbnN0YW5jZT4pOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3Qq
KTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0ph
dmFSdW50aW1lT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFS
dW50aW1lT2JqZWN0LmNwcAppbmRleCBmZmZlODU2ZGEwZDVlNTFiNjgyOGYyNmY1ZGExMWUxNmE3
MTU4ZmQ0Li5kNjg0YWIwMmUzOTcwMjlmMTFmNWEyNTE0YWNiMGFkMzEzZGIwZWVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuY3Bw
CkBAIC0zOCw2ICszOCwxMiBAQCBjb25zdCBDbGFzc0luZm8gSmF2YVJ1bnRpbWVPYmplY3Q6OnNf
aW5mbyA9IHsgIkphdmFSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplYwogSmF2YVJ1bnRpbWVP
YmplY3Q6OkphdmFSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SmF2YUluc3Rh
bmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBz
dHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7
Cit9CisKK3ZvaWQgSmF2YVJ1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2Jq
ZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuaAppbmRleCA3MGEzY2U5
ODEyNmU2MTNlMDY0YjYzODFhYzdiM2Q3YTc2OTkzMDdjLi5iYjE3OTM4NjRiYTMzNTIwMWZlODAx
MzllYWZhZDMzZGY3Mjc2MTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5p
L2pzYy9KYXZhUnVudGltZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
anNjL0phdmFSdW50aW1lT2JqZWN0LmgKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGljOgogCiBwcml2
YXRlOgogICAgIEphdmFSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0Kiwg
U3RydWN0dXJlKiwgUGFzc1JlZlB0cjxKYXZhSW5zdGFuY2U+KTsKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaAppbmRleCBiZmExZjkxYzNiODM1YTM5NDZhOWJj
OWEyOWE3ZmU2YmZjMWJjMDI3Li4wMzQwYzA1MWJlOWIxMGNlYjE0OGY1ODQwMmZmZGNmZmJiMmJk
MTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0
LmgKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIE9iakNSdW50aW1l
T2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgUGFzc1JlZlB0cjxPYmpjSW5zdGFu
Y2U+LCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0
Kik7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpD
UnVudGltZU9iamVjdC5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1l
T2JqZWN0Lm1tCmluZGV4IGVhODYyNjMyZGVjNGNmZTdhZWRkNjFkZTU4NGJiMmQ1YzBlYjhmYTku
LmM1MWJkNGQyMGM5M2I2YWM4MDg4ZGRjZGRiYTI4Y2YyMGQ4Nzg5NmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tCkBAIC0zOCw2ICszOCwx
MiBAQCBjb25zdCBDbGFzc0luZm8gT2JqQ1J1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsgIk9iakNS
dW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplYwogT2JqQ1J1bnRpbWVPYmplY3Q6Ok9iakNSdW50
aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
UGFzc1JlZlB0cjxPYmpjSW5zdGFuY2U+IGluc3RhbmNlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkK
ICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3Rh
bmNlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgT2Jq
Q1J1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKICAgICBBU1NF
UlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29i
amNfcnVudGltZS5oCmluZGV4IDVmNjFhZGZkNzE3NmRmYWVlYjlmNGRjZjMxZTkyM2U5M2JmYjJk
MTQuLjM0NjQ4NDhhYmRmMjYyOTgyMzFkZjJiNzZmYjU4ZjUyN2ExOWQwZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCkBAIC05OCw3ICs5OCw5IEBAIHB1Ymxp
YzoKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBkZXByZWNhdGVkR2V0RE9NU3RydWN0dXJlIHVz
ZXMgdGhlIHByb3RvdHlwZSBvZmYgb2YgdGhlIHdyb25nIGdsb2JhbCBvYmplY3QKICAgICAgICAg
U3RydWN0dXJlKiBkb21TdHJ1Y3R1cmUgPSBXZWJDb3JlOjpkZXByZWNhdGVkR2V0RE9NU3RydWN0
dXJlPE9iamNGYWxsYmFja09iamVjdEltcD4oZXhlYyk7Ci0gICAgICAgIHJldHVybiBuZXcgKGFs
bG9jYXRlQ2VsbDxPYmpjRmFsbGJhY2tPYmplY3RJbXA+KCpleGVjLT5oZWFwKCkpKSBPYmpjRmFs
bGJhY2tPYmplY3RJbXAoZ2xvYmFsT2JqZWN0LCBkb21TdHJ1Y3R1cmUsIGluc3RhbmNlLCBwcm9w
ZXJ0eU5hbWUpOworICAgICAgICBPYmpjRmFsbGJhY2tPYmplY3RJbXAqIGZhbGxiYWNrT2JqZWN0
ID0gbmV3IChhbGxvY2F0ZUNlbGw8T2JqY0ZhbGxiYWNrT2JqZWN0SW1wPigqZXhlYy0+aGVhcCgp
KSkgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wKGdsb2JhbE9iamVjdCwgZG9tU3RydWN0dXJlLCBpbnN0
YW5jZSwgcHJvcGVydHlOYW1lKTsKKyAgICAgICAgZmFsbGJhY2tPYmplY3QtPmZpbmlzaENyZWF0
aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBmYWxsYmFja09iamVjdDsKICAgICB9
CiAKICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9vYmpjL29iamNfcnVudGltZS5tbQppbmRleCA0ZjlkNTA1NDkwNWU2NDMyZmI2Mjg1ODY1
ZjRlZjk4OTFkYzA5OTZmLi4zMmMxNmJlZjdjY2M3ZjYyZjUyNDM3MGQ3ODVkNjc1Y2Q4ZWM2YjVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tCkBAIC0yMDEs
OCArMjAxLDYgQEAgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpPYmpjRmFsbGJhY2tPYmplY3RJbXAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWMKICAgICAsIF9pbnN0YW5jZShpKQog
ICAgICwgX2l0ZW0ocHJvcGVydHlOYW1lKQogewotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9i
amVjdCk7Ci0gICAgQVNTRVJUKHN0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkgPT0gZ2xvYmFsT2Jq
ZWN0KTsKIH0KIAogdm9pZCBPYmpjRmFsbGJhY2tPYmplY3RJbXA6OmZpbmlzaENyZWF0aW9uKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2lu
c3RhbmNlLmNwcAppbmRleCA5ODk5MTYwZDE4MTA1NDlmYTg1NDFjNzZlODVkYTY4NTZlOWRkMDAx
Li5mYzFhMzQ2M2M4MDQxZmQzOTgwY2Y0Yzg1ZWJlNTFhYTYzYWJhNDZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAKQEAgLTg1LDYgKzg1LDcgQEAgY29uc3QgQ2xh
c3NJbmZvIFF0UnVudGltZU9iamVjdDo6c19pbmZvID0geyAiUXRSdW50aW1lT2JqZWN0IiwgJlJ1
bnRpbWVPYmplY3Q6OnMKIFF0UnVudGltZU9iamVjdDo6UXRSdW50aW1lT2JqZWN0KEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIFBhc3NSZWZQdHI8SW5zdGFuY2U+IGluc3RhbmNlKQogICAgIDogUnVudGltZU9iamVjdChl
eGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3Jl
YXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogLy8gUXRJbnN0YW5jZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwCmluZGV4IDg3OWFjN2Q3ZWEyMDFlOGY1
OTQzNjQ3NWZhOGRkNTJmNjVlYjYxOTQuLjY4NzQxYjQ5YmRkODVhMjkzOWVkZWMzMzNmNDY4ODY0
MGU5MTU2Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9waXhtYXBy
dW50aW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVudGlt
ZS5jcHAKQEAgLTIyNCw2ICsyMjQsNyBAQCBwcml2YXRlOgogUXRQaXhtYXBSdW50aW1lT2JqZWN0
OjpRdFBpeG1hcFJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxJbnN0YW5jZT4g
aW5zdGFuY2UpCiAgICAgOiBSdW50aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0
dXJlLCBpbnN0YW5jZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQog
CiBjb25zdCBDbGFzc0luZm8gUXRQaXhtYXBSdW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJRdFBp
eG1hcFJ1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVjdDo6c19pbmZvLCAwLCAwIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKaW5kZXggZDY2NWI2MWNmOTY3YTNmZTdm
NzMzMzdhNWUwMzdmMjhiNmU1OWU5My4uNTgxZTQ0M2Q1M2U3NjE1YzM0OWRlNTAyYzkyYjRiNTE2
ZWZmNjEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcApAQCAtMTAw
NiwxMiArMTAwNiwxOCBAQCBKU1ZhbHVlIGNvbnZlcnRRVmFyaWFudFRvVmFsdWUoRXhlY1N0YXRl
KiBleGVjLCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+IHJvb3QsIGNvbgogCiBjb25zdCBDbGFzc0lu
Zm8gUXRSdW50aW1lTWV0aG9kOjpzX2luZm8gPSB7ICJRdFJ1bnRpbWVNZXRob2QiLCAmSW50ZXJu
YWxGdW5jdGlvbjo6c19pbmZvLCAwLCAwIH07CiAKLVF0UnVudGltZU1ldGhvZDo6UXRSdW50aW1l
TWV0aG9kKFF0UnVudGltZU1ldGhvZERhdGEqIGRkLCBFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgUGFzc1JlZlB0cjxRdEluc3Rh
bmNlPiBpbnN0KQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIHN0cnVjdHVyZSwgaWRlbnQpCitRdFJ1bnRpbWVN
ZXRob2Q6OlF0UnVudGltZU1ldGhvZChRdFJ1bnRpbWVNZXRob2REYXRhKiBkZCwgRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmll
ciwgUGFzc1JlZlB0cjxRdEluc3RhbmNlPiBpbnN0YW5jZSkKKyAgICA6IEludGVybmFsRnVuY3Rp
b24oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBzdHJ1Y3R1cmUpCiAgICAgLCBkX3B0cihk
ZCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBpZGVudGlmaWVyLCBpbnN0YW5jZSk7Cit9
CisKK3ZvaWQgUXRSdW50aW1lTWV0aG9kOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIFBhc3NSZWZQdHI8UXRJbnN0YW5jZT4gaW5z
dGFuY2UpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBp
ZGVudGlmaWVyKTsKICAgICBRV19EKFF0UnVudGltZU1ldGhvZCk7Ci0gICAgZC0+bV9pbnN0YW5j
ZSA9IGluc3Q7CisgICAgZC0+bV9pbnN0YW5jZSA9IGluc3RhbmNlOwogICAgIGQtPm1fZmluYWxp
emVyLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIGQpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3F0L3F0X3J1bnRpbWUuaAppbmRleCBkZWE2N2QzZGVjZTM1ZDU1ZWY5ODFhMzA2ODM4ZGRl
YzYwZDg3OGUzLi44YjZmMDM0ZGMzMWY1MGQ5OWJkMWUyZDhlM2ZlYzg2YTYyMmYxZWJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgKQEAgLTE0NCw2ICsxNDQsNyBAQCBwdWJs
aWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUGFzc1JlZlB0cjxRdEluc3RhbmNlPik7CiAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVy
dHlTbG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEludGVybmFsRnVuY3Rpb246OlN0
cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbjsKIAogICAgIFF0UnVudGltZU1l
dGhvZERhdGEgKmRfZnVuYygpIGNvbnN0IHtyZXR1cm4gZF9wdHI7fQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfYXJyYXkuY3BwCmluZGV4IGUwMWExNWYzN2NjOTFjNDU4ZWRhMTQxYzc0ODZk
OGMyNjljNmRjYjAuLjhhMDM3ZjkyNGRjYWE4MjA5YzcxODE3MmUxYThjOGRjNzQ1M2MzM2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAKQEAgLTM3LDEwICszNyw5IEBA
IG5hbWVzcGFjZSBKU0MgewogCiBjb25zdCBDbGFzc0luZm8gUnVudGltZUFycmF5OjpzX2luZm8g
PSB7ICJSdW50aW1lQXJyYXkiLCAmSlNBcnJheTo6c19pbmZvLCAwLCAwIH07CiAKLVJ1bnRpbWVB
cnJheTo6UnVudGltZUFycmF5KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEJpbmRpbmdzOjpBcnJheSogYXJyYXkpCitSdW50aW1lQXJyYXk6OlJ1bnRpbWVBcnJheShFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSlNBcnJheShleGVjLT5n
bG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9i
YWxEYXRhKCksIGFycmF5KTsKIH0KIAogdm9pZCBSdW50aW1lQXJyYXk6OmZpbmlzaENyZWF0aW9u
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgQmluZGluZ3M6OkFycmF5KiBhcnJheSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCmluZGV4IDEwMjFlN2QyMDYzZDBlNmYzNTljY2U4
ZmI3ZDhlNTliODY1YThiMjMuLjZjYjhlYjMzZDdkYzY1YjBkNDM2YTBhYmNmYTBmZmFkOGZhYzg4
NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaApAQCAtNDEsNyArNDEsOSBA
QCBwdWJsaWM6CiAgICAgICAgIC8vIEZJWE1FOiBkZXByZWNhdGVkR2V0RE9NU3RydWN0dXJlIHVz
ZXMgdGhlIHByb3RvdHlwZSBvZmYgb2YgdGhlIHdyb25nIGdsb2JhbCBvYmplY3QKICAgICAgICAg
Ly8gV2UgbmVlZCB0byBwYXNzIGluIHRoZSByaWdodCBnbG9iYWwgb2JqZWN0IGZvciAiYXJyYXki
LgogICAgICAgICBTdHJ1Y3R1cmUqIGRvbVN0cnVjdHVyZSA9IFdlYkNvcmU6OmRlcHJlY2F0ZWRH
ZXRET01TdHJ1Y3R1cmU8UnVudGltZUFycmF5PihleGVjKTsKLSAgICAgICAgcmV0dXJuIG5ldyAo
YWxsb2NhdGVDZWxsPFJ1bnRpbWVBcnJheT4oKmV4ZWMtPmhlYXAoKSkpIFJ1bnRpbWVBcnJheShl
eGVjLCBkb21TdHJ1Y3R1cmUsIGFycmF5KTsKKyAgICAgICAgUnVudGltZUFycmF5KiBydW50aW1l
QXJyYXkgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSdW50aW1lQXJyYXk+KCpleGVjLT5oZWFwKCkpKSBS
dW50aW1lQXJyYXkoZXhlYywgZG9tU3RydWN0dXJlKTsKKyAgICAgICAgcnVudGltZUFycmF5LT5m
aW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGFycmF5KTsKKyAgICAgICAgcmV0dXJu
IHJ1bnRpbWVBcnJheTsKICAgICB9CiAKICAgICB0eXBlZGVmIEJpbmRpbmdzOjpBcnJheSBCaW5k
aW5nc0FycmF5OwpAQCAtNzksNyArODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwg
T3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTQXJyYXk6OlN0cnVjdHVyZUZsYWdzOwogCiBw
cml2YXRlOgotICAgIFJ1bnRpbWVBcnJheShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBCaW5kaW5n
czo6QXJyYXkqKTsKKyAgICBSdW50aW1lQXJyYXkoRXhlY1N0YXRlKiwgU3RydWN0dXJlKik7CiAg
ICAgc3RhdGljIEpTVmFsdWUgbGVuZ3RoR2V0dGVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUsIGNvbnN0
IElkZW50aWZpZXImKTsKICAgICBzdGF0aWMgSlNWYWx1ZSBpbmRleEdldHRlcihFeGVjU3RhdGUq
LCBKU1ZhbHVlLCB1bnNpZ25lZCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfbWV0aG9kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21l
dGhvZC5jcHAKaW5kZXggMjhmYmQzZjljMGQ5MTgwNjFlNjlmYjE0NGFkYmU5YmI1ODRmMTM5Yy4u
Y2YyMzU1NTFkMzg0NjUwOWQxMTZmODJhZDdmYmUxNGIyNWRmMjY2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwCkBAIC00NSw5ICs0NSwxNSBAQCBjb25zdCBDbGFz
c0luZm8gUnVudGltZU1ldGhvZDo6c19pbmZvID0geyAiUnVudGltZU1ldGhvZCIsICZJbnRlcm5h
bEZ1bmN0aW9uOjpzXwogCiBSdW50aW1lTWV0aG9kOjpSdW50aW1lTWV0aG9kKEV4ZWNTdGF0ZSog
ZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBCaW5kaW5nczo6TWV0aG9kTGlzdCYgbSkKICAgICAv
LyBDYWxsZXJzIHdpbGwgbmVlZCB0byBwYXNzIGluIHRoZSByaWdodCBnbG9iYWwgb2JqZWN0IGNv
cnJlc3BvbmRpbmcgdG8gdGhpcyBuYXRpdmUgb2JqZWN0ICJtIi4KLSAgICA6IEludGVybmFsRnVu
Y3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50
KQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAs
IF9tZXRob2RMaXN0KGFkb3B0UHRyKG5ldyBNZXRob2RMaXN0KG0pKSkKIHsKKyAgICBmaW5pc2hD
cmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGlkZW50KTsKK30KKwordm9pZCBSdW50aW1lTWV0
aG9kOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIGNvbnN0IElkZW50
aWZpZXImIGlkZW50KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIGlk
ZW50KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaCBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9ydW50aW1lX21ldGhvZC5oCmluZGV4IGNmODIwNzNkZWE3YjBlMjRlNmUwMWQwYzI3MzE5
MDkxNDFmNzExN2YuLjQ0YjA4N2FkMmI3ZDgyYWNlZGFhODJmYWQwM2RkMWI2OGUyODU5NjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5oCkBAIC01OCw2ICs1OCw3IEBAIHB1
YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIFJ1bnRpbWVNZXRob2QoRXhlY1N0YXRlKiwgSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lLCBCaW5kaW5nczo6
TWV0aG9kTGlzdCYpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgY29u
c3QgSWRlbnRpZmllciYpOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0cnVj
dHVyZUZsYWdzOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfb2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVj
dC5jcHAKaW5kZXggYmExZTdlNTMxYmM4OWFkMjNjZjAxMDYzOTVkNzJiOGE5NGRkMWQxNy4uNWZm
ZjVlMzAyN2I3NWI0YWRhZmE0NGVhMTQwY2UwMWYyZTNmNGRiMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCkBAIC00MSw4ICs0MSw2IEBAIFJ1bnRpbWVPYmplY3Q6
OlJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlCiAgICAgOiBKU05vbkZpbmFsT2JqZWN0KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0
YSgpLCBzdHJ1Y3R1cmUpCiAgICAgLCBtX2luc3RhbmNlKGluc3RhbmNlKQogewotICAgIEFTU0VS
VChzdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpID09IGdsb2JhbE9iamVjdCk7Ci0gICAgZmluaXNo
Q3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9pZCBSdW50aW1lT2JqZWN0OjpmaW5pc2hD
cmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9vYmplY3QuaAppbmRleCBiMTJlODYxMWU1MGIzNzNhM2IwMTYzZDljZTZkMjFiNmE3
NWRlZDJkLi44N2I3ZjcwNjY3OWEyNjVjMjg1ZTdhNjVhOWI2YTlhODRjMDYyZTk4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaApAQCAtMzgsNyArMzgsOSBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgUnVudGltZU9iamVjdCogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQ
dHI8SW5zdGFuY2U+IGluc3RhbmNlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2Nh
dGVDZWxsPFJ1bnRpbWVPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBSdW50aW1lT2JqZWN0KGV4ZWMs
IGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5jZSk7CisgICAgICAgIFJ1bnRpbWVPYmpl
Y3QqIG9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPFJ1bnRpbWVPYmplY3Q+KCpleGVjLT5oZWFw
KCkpKSBSdW50aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5j
ZSk7CisgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAg
ICAgcmV0dXJuIG9iamVjdDsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5SdW50aW1lT2JqZWN0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKaW5kZXggNGFkZmI1NjJhNTVjNWU4ZGY3MTU5YzBlNTFjNmE5YjA4ZTM2
MTM5Ni4uMGNmYmExZDQ1YjJjYTYzNzZjNmRhZWIxZjNhYzFjMTNlMTE1MDkxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTA5LTA3ICBNYXJrIEhhaG5lbmJlcmcgIDxt
aGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlz
dHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBKU0NlbGwgaGllcmFyY2h5ICg1LzcpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbXBsZXRlZCB0aGUgZmlmdGgg
bGV2ZWwgb2YgdGhlIHJlZmFjdG9yaW5nIHRvIGFkZCBmaW5pc2hDcmVhdGlvbigpIAorICAgICAg
ICBtZXRob2RzIHRvIGFsbCBjbGFzc2VzIHdpdGhpbiB0aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRo
IG5vbi10cml2aWFsIAorICAgICAgICBjb25zdHJ1Y3RvciBib2RpZXMuCisKKyAgICAgICAgVGhp
cyBwcmltYXJpbHkgY29uc2lzdHMgb2YgcHVzaGluZyB0aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRp
b24oKSBkb3duIAorICAgICAgICBpbnRvIHRoZSBjb25zdHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNz
ZXMgb2YgdGhlIHNlY29uZCBsZXZlbCBvZiB0aGUgaGllcmFyY2h5IAorICAgICAgICBhcyB3ZWxs
IGFzIHB1bGxpbmcgdGhlIGZpbmlzaENyZWF0aW9uKCkgY2FsbHMgb3V0IGludG8gdGhlIGNsYXNz
J3MgY29ycmVzcG9uZGluZworICAgICAgICBjcmVhdGUoKSBtZXRob2QgaWYgaXQgaGFzIG9uZS4g
IERvaW5nIGJvdGggc2ltdWx0YW5lb3VzbHkgYWxsb3dzIHVzIHRvIAorICAgICAgICBtYWludGFp
biB0aGUgaW52YXJpYW50IHRoYXQgdGhlIGZpbmlzaENyZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlz
IGNhbGxlZCBleGFjdGx5IAorICAgICAgICBvbmNlIGR1cmluZyB0aGUgY3JlYXRpb24gb2YgYW4g
b2JqZWN0LCBzaW5jZSBjYWxsaW5nIGl0IGFueSBvdGhlciBudW1iZXIgb2YgCisgICAgICAgIHRp
bWVzICgwLCAyLCBvciBtb3JlKSB3aWxsIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLgorCisg
ICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lmg6CisgICAgICAgICog
UGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lm1tOgorICAgICAgICAoV2ViS2l0OjpQ
cm94eVJ1bnRpbWVPYmplY3Q6OlByb3h5UnVudGltZU9iamVjdCk6CisgICAgICAgIChXZWJLaXQ6
OlByb3h5UnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgorCiAyMDExLTA5LTA3ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByOTQ2MjcgYW5kIHI5NDYzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5oIGIvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0LmgKaW5kZXggMzEzNzE1
YWVhNGI0M2VjZjAwZWRlZGVjZWEyZDlmNjQ5NWMzOTViMC4uNWFlOTgzODUwNDA0ZjUxYzY0NmU4
MmZiNzI4NmM3NWE5NWRkNzM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0LmgKQEAgLTU5LDYgKzU5LDcgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBjb25zdCBKU0M6OkNsYXNzSW5mbyBzX2luZm87CiBwcml2YXRlOgogICAg
IFByb3h5UnVudGltZU9iamVjdChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OlN0cnVjdHVyZSosIFBhc3NSZWZQdHI8UHJveHlJbnN0YW5jZT4pOworICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oSlNDOjpKU0dsb2JhbE9iamVjdCopOwogfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lm1t
IGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lm1t
CmluZGV4IDhhNjQ4MWUzZDQ1MmNiM2ZiNmY4MWIxZWYwMzU2OTMwMWJiMzBjNGMuLjVjYjI3NDlj
OTI4ODM5YTg1M2E0MWJkOTU0MDUzODU0NWZhZTU4MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QubW0KQEAgLTM5LDYg
KzM5LDEyIEBAIGNvbnN0IENsYXNzSW5mbyBQcm94eVJ1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsg
IlByb3h5UnVudGltZU9iamVjdCIsICZSdW50aW1lT2JqCiBQcm94eVJ1bnRpbWVPYmplY3Q6OlBy
b3h5UnVudGltZU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPFByb3h5SW5zdGFuY2U+IGlu
c3RhbmNlKQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgaW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKK30KKwor
dm9pZCBQcm94eVJ1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsK
ICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMmZlMGVm
NGY3ZDUzODAzZDFmYmI5YmI2ZDBmNzM1MGQ5M2MzNWMyNi4uZTQwODRjZmY3YmVlYTUyMWExMzJh
ODk2YjcwMWUzZmE3NThiMjUyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDExLTA5
LTA3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAg
VW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBKU0NlbGwgaGll
cmFyY2h5ICg1LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NzQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIENvbXBsZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2YgdGhlIHJlZmFjdG9yaW5nIHRvIGFkZCBm
aW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBjbGFzc2VzIHdpdGhpbiB0
aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAgICAgICBjb25zdHJ1Y3Rv
ciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lzdHMgb2YgcHVzaGluZyB0
aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAgICBpbnRvIHRoZSBjb25z
dHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBsZXZlbCBvZiB0aGUgaGll
cmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZpbmlzaENyZWF0aW9uKCkg
Y2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZworICAgICAgICBjcmVhdGUo
KSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0YW5lb3VzbHkgYWxsb3dz
IHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRoYXQgdGhlIGZpbmlzaENy
ZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAorICAgICAgICBvbmNlIGR1
cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxsaW5nIGl0IGFueSBvdGhl
ciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3JlKSB3aWxsIGNhdXNlIGFu
IGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL0pTTlBNZXRob2QuY3BwOgorICAgICAgICAoV2ViS2l0OjpKU05QTWV0aG9kOjpKU05QTWV0
aG9kKToKKyAgICAgICAgKFdlYktpdDo6SlNOUE1ldGhvZDo6ZmluaXNoQ3JlYXRpb24pOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmg6CisgICAgICAg
IChXZWJLaXQ6OkpTTlBNZXRob2Q6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL0pTTlBPYmplY3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpKU05QT2JqZWN0
OjpKU05QT2JqZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNO
UE9iamVjdC5oOgorICAgICAgICAoV2ViS2l0OjpKU05QT2JqZWN0OjpjcmVhdGUpOgorCiAyMDEx
LTA5LTA3ICBBbGV4ZWkgU3ZpdGtpbmUgIDxhc3ZpdGtpbmVAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEFkZCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHRlc3QgcnViYmVyLWJhbmRpbmcgb3Zlcmhh
bmcgZHJhd2luZyBhbG9uZyB3aXRoIGxheW91dCB0ZXN0cyBmb3IgZXhpc3RpbmcgQ2hyb21pdW0g
TWFjIG92ZXJoYW5nIGRyYXdpbmcgaW4gdGhlIG5vbi1ncHUgcGF0aC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNw
cAppbmRleCA4YmI1OTY5ZjEwNzY4ZGIzNWY5YWQwZGI5NDc5Y2Y4YTY2ZWZhNWEzLi40MTBiMjAw
NjMwZGQ0ZjYxZjJjZDk3Njc3YmM1NTZkZTUyMDA1YjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuY3BwCkBA
IC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRXJyb3IuaD4KICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0pTR2xvYmFsT2JqZWN0Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNP
YmplY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0pTSFRNTEVsZW1lbnQuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90
SW1wbGVtZW50ZWQuaD4KQEAgLTQxLDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Y29uc3QgQ2xhc3NJbmZvIEpTTlBNZXRob2Q6OnNfaW5mbyA9IHsgIk5QTWV0aG9kIiwgJkludGVy
bmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCB9OwogCi1KU05QTWV0aG9kOjpKU05QTWV0aG9kKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRp
ZmllciYgbmFtZSwgTlBJZGVudGlmaWVyIG5wSWRlbnRpZmllciwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9i
amVjdCwgc3RydWN0dXJlLCBuYW1lKQorSlNOUE1ldGhvZDo6SlNOUE1ldGhvZChFeGVjU3RhdGUq
IGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBjb25zdCBJZGVudGlmaWVyJiBuYW1lLCBOUElkZW50aWZpZXIgbnBJZGVudGlmaWVyKQorICAg
IDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAsIG1fbnBJ
ZGVudGlmaWVyKG5wSWRlbnRpZmllcikKIHsKLSAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykp
OworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgbmFtZSk7CiB9CiAKLUpT
TlBNZXRob2QqIEpTTlBNZXRob2Q6OmNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBOUElkZW50aWZpZXIg
bnBJZGVudCkKK3ZvaWQgSlNOUE1ldGhvZDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewotICAgIEpTQzo6U3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSBjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxP
YmplY3QsIGdsb2JhbE9iamVjdC0+ZnVuY3Rpb25Qcm90b3R5cGUoKSk7Ci0gICAgcmV0dXJuIG5l
dyAoSlNDOjphbGxvY2F0ZUNlbGw8SlNOUE1ldGhvZD4oKmV4ZWMtPmhlYXAoKSkpIEpTTlBNZXRo
b2QoZXhlYywgZ2xvYmFsT2JqZWN0LCBpZGVudCwgbnBJZGVudCwgc3RydWN0dXJlKTsKKyAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBuYW1lKTsKKyAgICBBU1NFUlQoaW5oZXJp
dHMoJnNfaW5mbykpOwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBj
YWxsTWV0aG9kKEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oCmluZGV4IGVmOWNlOTQ1ZGM5
NWIzNzNkMTkwYTE5YTUxYTI4YmUwYjQwNjM5N2QuLmRjNWJlN2M3OThhYTMwNmNmMWVhZDBhNTRk
MmNhMTRhNzRkM2NhMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuaApAQCAtMjYsNyArMjYsOSBAQAogI2lmbmRl
ZiBKU05QTWV0aG9kX2gKICNkZWZpbmUgSlNOUE1ldGhvZF9oCiAKKyNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0lu
dGVybmFsRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0dsb2JhbE9iamVj
dC5oPgogCiB0eXBlZGVmIHZvaWQqIE5QSWRlbnRpZmllcjsKIApAQCAtMzcsMTQgKzM5LDIxIEBA
IGNsYXNzIEpTTlBNZXRob2QgOiBwdWJsaWMgSlNDOjpJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1Ymxp
YzoKICAgICB0eXBlZGVmIEpTQzo6SW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGlj
IEpTTlBNZXRob2QqIGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBjb25zdCBKU0M6OklkZW50aWZpZXImLCBOUElkZW50aWZpZXIpOworICAgIHN0YXRpYyBKU05Q
TWV0aG9kKiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBpZGVudCwgTlBJZGVudGlmaWVy
IG5wSWRlbnQpCisgICAgeworICAgICAgICBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlID0gY3Jl
YXRlU3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmpl
Y3QtPmZ1bmN0aW9uUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4gbmV3IChKU0M6OmFsbG9j
YXRlQ2VsbDxKU05QTWV0aG9kPigqZXhlYy0+aGVhcCgpKSkgSlNOUE1ldGhvZChleGVjLCBnbG9i
YWxPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIG5wSWRlbnQpOworICAgIH0KIAogICAgIHN0YXRp
YyBjb25zdCBKU0M6OkNsYXNzSW5mbyBzX2luZm87CiAKICAgICBOUElkZW50aWZpZXIgbnBJZGVu
dGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9ucElkZW50aWZpZXI7IH0KIAorcHJvdGVjdGVkOgor
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpKU0dsb2JhbERhdGEmLCBjb25zdCBKU0M6Oklk
ZW50aWZpZXImIG5hbWUpOworCiBwcml2YXRlOiAgICAKLSAgICBKU05QTWV0aG9kKEpTQzo6RXhl
Y1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIE5Q
SWRlbnRpZmllciwgSlNDOjpTdHJ1Y3R1cmUqKTsKKyAgICBKU05QTWV0aG9kKEpTQzo6RXhlY1N0
YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6U3RydWN0dXJlKiwgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyJiwgTlBJZGVudGlmaWVyKTsKIAogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKEpTQzo6SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0M6OkpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pT
TlBPYmplY3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L0pTTlBPYmplY3QuY3BwCmluZGV4IGJiYWYwNGY4OGYyNmMzZWY3MDFmNTZmMjE2MDIwNzFlOTM1
NzQ2YjkuLjQ0M2RhYjFjMDc2ZTRiMGJjZDRlMjRjMjhkNjU5MDUwNzY2ZTcyNjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNO
UE9iamVjdC5jcHAKQEAgLTUwLDEzICs1MCwxMiBAQCBzdGF0aWMgTlBJZGVudGlmaWVyIG5wSWRl
bnRpZmllckZyb21JZGVudGlmaWVyKGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCiAKIGNv
bnN0IENsYXNzSW5mbyBKU05QT2JqZWN0OjpzX2luZm8gPSB7ICJOUE9iamVjdCIsICZKU05vbkZp
bmFsT2JqZWN0OjpzX2luZm8sIDAsIDAgfTsKIAotSlNOUE9iamVjdDo6SlNOUE9iamVjdChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwg
TlBPYmplY3QqIG5wT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK0pTTlBPYmplY3Q6OkpT
TlBPYmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFwLCBOUE9iamVjdCogbnBPYmplY3QpCiAg
ICAgOiBKU05vbkZpbmFsT2JqZWN0KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1
cmUpCiAgICAgLCBtX29iamVjdE1hcChvYmplY3RNYXApCiAgICAgLCBtX25wT2JqZWN0KG5wT2Jq
ZWN0KQogewogICAgIEFTU0VSVChnbG9iYWxPYmplY3QgPT0gc3RydWN0dXJlLT5nbG9iYWxPYmpl
Y3QoKSk7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9pZCBKU05Q
T2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpAQCAt
NzAsMTIgKzY5LDYgQEAgdm9pZCBKU05QT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KQogICAgIHJldGFpbk5QT2JqZWN0KG1fbnBPYmplY3QpOwogfQog
Ci1KU05QT2JqZWN0KiBKU05QT2JqZWN0OjpjcmVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwgTlBPYmplY3QqIG5wT2Jq
ZWN0KQotewotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3JlYXRlU3RydWN0dXJlKGdsb2Jh
bE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0
UHJvdG90eXBlKCkpOwotICAgIHJldHVybiBuZXcgKEpTQzo6YWxsb2NhdGVDZWxsPEpTTlBPYmpl
Y3Q+KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLmhlYXApKSBKU05QT2JqZWN0KGdsb2JhbE9i
amVjdCwgb2JqZWN0TWFwLCBucE9iamVjdCwgc3RydWN0dXJlKTsKLX0KLQogSlNOUE9iamVjdDo6
fkpTTlBPYmplY3QoKQogewogICAgIEFTU0VSVCghbV9ucE9iamVjdCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaApp
bmRleCBmMDYxZTlmMzE3MDBlMTAxMTYwYWMyNDEyNGEyOTU0OGQzN2RiMzM4Li5iNmVkZmE1YTc2
NTA0ZGMwMTk5ZTZmZDBlOWVhYTFiYzVjZjYwOTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKQEAgLTI2LDcg
KzI2LDkgQEAKICNpZm5kZWYgSlNOUE9iamVjdF9oCiAjZGVmaW5lIEpTTlBPYmplY3RfaAogCisj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNHbG9iYWxPYmplY3QuaD4KICNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9KU09iamVjdC5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL09iamVjdFBy
b3RvdHlwZS5oPgogCiB0eXBlZGVmIHZvaWQqIE5QSWRlbnRpZmllcjsKIHN0cnVjdCBOUE9iamVj
dDsKQEAgLTQxLDcgKzQzLDE0IEBAIGNsYXNzIEpTTlBPYmplY3QgOiBwdWJsaWMgSlNDOjpKU05v
bkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQzo6SlNOb25GaW5hbE9iamVj
dCBCYXNlOwogCi0gICAgc3RhdGljIEpTTlBPYmplY3QqIGNyZWF0ZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgTlBSdW50aW1lT2JqZWN0TWFwKiwgTlBPYmplY3QqKTsKKyAgICBzdGF0aWMgSlNOUE9i
amVjdCogY3JlYXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTlBSdW50aW1l
T2JqZWN0TWFwKiBvYmplY3RNYXAsIE5QT2JqZWN0KiBucE9iamVjdCkKKyAgICB7CisgICAgICAg
IEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjcmVhdGVTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0
LT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5
cGUoKSk7CisgICAgICAgIEpTTlBPYmplY3QqIG9iamVjdCA9IG5ldyAoSlNDOjphbGxvY2F0ZUNl
bGw8SlNOUE9iamVjdD4oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCkuaGVhcCkpIEpTTlBPYmpl
Y3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIG9iamVjdE1hcCwgbnBPYmplY3QpOworICAgICAg
ICBvYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBv
YmplY3Q7CisgICAgfQorCiAgICAgfkpTTlBPYmplY3QoKTsKIAogICAgIHZvaWQgaW52YWxpZGF0
ZSgpOwpAQCAtNjEsNyArNzAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAKIHByaXZhdGU6Ci0gICAgSlNOUE9iamVjdChKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgTlBSdW50aW1lT2JqZWN0TWFwKiwgTlBPYmplY3QqLCBKU0M6OlN0
cnVjdHVyZSopOworICAgIEpTTlBPYmplY3QoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6U3Ry
dWN0dXJlKiwgTlBSdW50aW1lT2JqZWN0TWFwKiwgTlBPYmplY3QqKTsKIAogICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVy
dHlTbG90IHwgSlNDOjpPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwgSlNPYmplY3Q6OlN0cnVj
dHVyZUZsYWdzOwogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106888</attachid>
            <date>2011-09-09 11:10:47 -0700</date>
            <delta_ts>2011-09-09 14:42:25 -0700</delta_ts>
            <desc>Resetting bindings</desc>
            <filename>bug-67420-20110909111044.patch</filename>
            <type>text/plain</type>
            <size>122736</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ4NjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRleCAxZjcyNzAxYzdmZWJiMjE3NDk4
ODlkNDExNDg5OThkZWNmYWRiYmI2Li5iMjM0OGFmZTg3ZTNkMTI2ZDMzOThmMDg3YjM2MzRiMWEz
ZTViYmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwCkBAIC00Myw3ICs0Myw2IEBAIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6
SlNDYWxsYmFja0NvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
CiAgICAgLCBtX2NsYXNzKGpzQ2xhc3MpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCwganNDbGFzcyk7CiB9CiAKIHZvaWQgSlND
YWxsYmFja0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NsYXNzUmVmIGpzQ2xhc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAppbmRleCBlNTEyN2ExYWQzYmUyNjQ3MWFlMzdm
YjdhMjJiOTUyODNmNjg3OTNmLi5hNmYxYmNkNGVjMTgyNmZkNjU3NjZmZDlhNDg5YzEzOGUzYTky
YzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmgKQEAgLTM3LDcgKzM3LDkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIEpTQ2FsbGJh
Y2tDb25zdHJ1Y3RvciogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQ2xhc3NSZWYgY2xhc3NSZWYsIEpT
T2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayBjYWxsYmFjaykgCiAgICAgewotICAgICAg
ICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBKU0NhbGxiYWNrQ29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChhbGxvY2F0ZUNlbGw8SlNDYWxsYmFja0NvbnN0cnVjdG9yPigqZXhlYy0+
aGVhcCgpKSkgSlNDYWxsYmFja0NvbnN0cnVjdG9yKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBj
bGFzc1JlZiwgY2FsbGJhY2spOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0LCBjbGFzc1JlZik7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAg
ICB9CiAgICAgCiAgICAgdmlydHVhbCB+SlNDYWxsYmFja0NvbnN0cnVjdG9yKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKaW5kZXggMjhi
MzQxOTIzZGMzNTBlNDNmODhlYzk3MjBkY2U1YjM0M2RiYzRhNy4uNjRkNTEzZTJlYWY0NDM1OGJl
ZTI3NzRmZGQ2YTc3OGQzZDBkNGU5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcApAQCAtNDMsOSArNDMsMTUgQEAgQVNTRVJUX0NMQVNT
X0ZJVFNfSU5fQ0VMTChKU0NhbGxiYWNrRnVuY3Rpb24pOwogY29uc3QgQ2xhc3NJbmZvIEpTQ2Fs
bGJhY2tGdW5jdGlvbjo6c19pbmZvID0geyAiQ2FsbGJhY2tGdW5jdGlvbiIsICZJbnRlcm5hbEZ1
bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAogSlNDYWxsYmFja0Z1bmN0aW9uOjpKU0NhbGxiYWNr
RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2Jh
bE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCksIG5hbWUp
CisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxs
YmFja0Z1bmN0aW9uU3RydWN0dXJlKCkpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewor
ICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgbmFtZSk7Cit9CisKK3ZvaWQg
SlNDYWxsYmFja0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsRGF0YSwgbmFtZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmgKaW5kZXgg
N2ViYzc4ODUxMGJkNzIxNDM2NmQwZjM1ZTEyMDgwZWYwNjExNzBkNy4uMzk2OTA0ODQ3MGIxZDFl
MDBjN2ZmNjMzNjk5MmZjZmMxNjQwNjMzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogY2xhc3MgSlNDYWxsYmFja0Z1bmN0aW9uIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewog
cHJvdGVjdGVkOgogICAgIEpTQ2FsbGJhY2tGdW5jdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjaywgY29uc3QgSWRlbnRpZmllciYg
bmFtZSk7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmLCBjb25zdCBJZGVu
dGlmaWVyJiBuYW1lKTsKIAogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBC
YXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRl
eCAzM2FhMGZkNGQxMWY4OWU1ZjdjNjg3ZDU5NzRiNTFiNDhhNWM4ZWJiLi42ZmRkZmZiZTNjNjNi
ZDU0NWM2NWJiZGRjM2UxMDdjMDRmYzA5YmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tPYmplY3QuaApAQCAtMTI1LDcgKzEyNSw3IEBAIHByb3RlY3RlZDoKICAg
ICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwdHIpIHsgcmV0dXJuIHB0cjsgfQog
CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqKTsKLSAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKCk7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmKTsKIAogcHVi
bGljOgogICAgIHR5cGVkZWYgUGFyZW50IEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCmluZGV4IGY2MjdjM2JmYjgw
YzZlYWI2NWIzMDJjMTA3MzA5NWFiYjAxYjZmOWMuLjI3YzVjNzY1NjRkMjc4MWRmNzhhYmRlNzI3
YmMyOWRhNjU1YTZlZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
YWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCkBAIC02NCw3ICs2NCw3IEBAIEpTQ2FsbGJhY2tP
YmplY3Q8UGFyZW50Pjo6SlNDYWxsYmFja09iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEs
IEpTQ2xhc3NSZWYKICAgICA6IFBhcmVudChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiAgICAgLCBt
X2NhbGxiYWNrT2JqZWN0RGF0YShhZG9wdFB0cihuZXcgSlNDYWxsYmFja09iamVjdERhdGEoMCwg
anNDbGFzcykpKQogewotICAgIGZpbmlzaENyZWF0aW9uKCk7CisgICAgZmluaXNoQ3JlYXRpb24o
Z2xvYmFsRGF0YSk7CiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+CkBAIC03NSwxMiArNzUs
MTMgQEAgdm9pZCBKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OmZpbmlzaENyZWF0aW9uKEV4ZWNT
dGF0ZSogZXhlYykKICAgICBpbml0KGV4ZWMpOwogfQogCi0vLyBUaGlzIGlzIGp1c3QgZm9yIEds
b2JhbCBvYmplY3QsIHNvIHdlIGNhbiBhc3N1bWUgdGhhdCBCYXNlOjpmaW5pc2hDcmVhdGlvbiBp
cyBKU0dsb2JhbE9iamVjdDo6Y29uc3RydWN0b3JCb2R5LgorLy8gVGhpcyBpcyBqdXN0IGZvciBH
bG9iYWwgb2JqZWN0LCBzbyB3ZSBjYW4gYXNzdW1lIHRoYXQgQmFzZTo6ZmluaXNoQ3JlYXRpb24g
aXMgSlNHbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uLgogdGVtcGxhdGUgPGNsYXNzIFBhcmVu
dD4KLXZvaWQgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpmaW5pc2hDcmVhdGlvbigpCit2b2lk
IEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhKQogewogICAgIEFTU0VSVChQYXJlbnQ6OmluaGVyaXRzKCZzX2luZm8pKTsKICAg
ICBBU1NFUlQoUGFyZW50Ojppc0dsb2JhbE9iamVjdCgpKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbihnbG9iYWxEYXRhLCB0aGlzKTsKICAgICBpbml0KHN0YXRpY19jYXN0PEpTR2xvYmFsT2Jq
ZWN0Kj4odGhpcyktPmdsb2JhbEV4ZWMoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGM5ZjQxM2RjZmIzNDcwZTdhNWEwYWNiN2NlMzA0N2Y4N2IwMTFkNGIuLmE4ZTVkNWQ3ODFl
MjQ5ZmY0MjdmM2ZiOTgxZDhlMTgzZWI0NmJhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2NyBAQAorMjAxMS0wOS0wOSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJl
cmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBj
b25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV0ZWQgdGhlIGZpZnRoIGxldmVsIG9m
IHRoZSByZWZhY3RvcmluZyB0byBhZGQgZmluaXNoQ3JlYXRpb24oKSAKKyAgICAgICAgbWV0aG9k
cyB0byBhbGwgY2xhc3NlcyB3aXRoaW4gdGhlIEpTQ2VsbCBoaWVyYXJjaHkgd2l0aCBub24tdHJp
dmlhbCAKKyAgICAgICAgY29uc3RydWN0b3IgYm9kaWVzLgorCisgICAgICAgIFRoaXMgcHJpbWFy
aWx5IGNvbnNpc3RzIG9mIHB1c2hpbmcgdGhlIGNhbGxzIHRvIGZpbmlzaENyZWF0aW9uKCkgZG93
biAKKyAgICAgICAgaW50byB0aGUgY29uc3RydWN0b3JzIG9mIHRoZSBzdWJjbGFzc2VzIG9mIHRo
ZSBzZWNvbmQgbGV2ZWwgb2YgdGhlIGhpZXJhcmNoeSAKKyAgICAgICAgYXMgd2VsbCBhcyBwdWxs
aW5nIHRoZSBmaW5pc2hDcmVhdGlvbigpIGNhbGxzIG91dCBpbnRvIHRoZSBjbGFzcydzIGNvcnJl
c3BvbmRpbmcKKyAgICAgICAgY3JlYXRlKCkgbWV0aG9kIGlmIGl0IGhhcyBvbmUuICBEb2luZyBi
b3RoIHNpbXVsdGFuZW91c2x5IGFsbG93cyB1cyB0byAKKyAgICAgICAgbWFpbnRhaW4gdGhlIGlu
dmFyaWFudCB0aGF0IHRoZSBmaW5pc2hDcmVhdGlvbigpIG1ldGhvZCBjaGFpbiBpcyBjYWxsZWQg
ZXhhY3RseSAKKyAgICAgICAgb25jZSBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIGFuIG9iamVjdCwg
c2luY2UgY2FsbGluZyBpdCBhbnkgb3RoZXIgbnVtYmVyIG9mIAorICAgICAgICB0aW1lcyAoMCwg
Miwgb3IgbW9yZSkgd2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKworICAgICAgICAq
IEFQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNr
Q29uc3RydWN0b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL0pTQ2Fs
bGJhY2tDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29uc3RydWN0b3I6
OmNyZWF0ZSk6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHA6CisgICAgICAg
IChKU0M6OkpTQ2FsbGJhY2tGdW5jdGlvbjo6SlNDYWxsYmFja0Z1bmN0aW9uKToKKyAgICAgICAg
KEpTQzo6SlNDYWxsYmFja0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogQVBJ
L0pTQ2FsbGJhY2tGdW5jdGlvbi5oOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6
CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpT
Qzo6OjpKU0NhbGxiYWNrT2JqZWN0KToKKyAgICAgICAgKEpTQzo6OjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWY6CisgICAgICAgICogZGVi
dWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKiBkZWJ1Z2dlci9EZWJ1Z2dl
ckFjdGl2YXRpb24uaDoKKyAgICAgICAgKEpTQzo6RGVidWdnZXJBY3RpdmF0aW9uOjpjcmVhdGUp
OgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChHbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKEdsb2JhbE9iamVjdDo6R2xvYmFsT2JqZWN0KToKKyAgICAgICAgKiBy
dW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVj
dG9yOjpBcnJheUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6QXJyYXlDb25zdHJ1Y3Rvcjo6
ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oOgor
ICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpBcnJh
eVByb3RvdHlwZTo6QXJyYXlQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90
b3R5cGUuaDoKKyAgICAgICAgKEpTQzo6QXJyYXlQcm90b3R5cGU6OmNyZWF0ZSk6CisgICAgICAg
ICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpCb29sZWFu
Q29uc3RydWN0b3I6OkJvb2xlYW5Db25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6OkJvb2xlYW5D
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhbkNv
bnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcDoKKyAgICAg
ICAgKEpTQzo6Qm9vbGVhbk9iamVjdDo6Qm9vbGVhbk9iamVjdCk6CisgICAgICAgICogcnVudGlt
ZS9Cb29sZWFuT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkJvb2xlYW5PYmplY3Q6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6
Qm9vbGVhblByb3RvdHlwZTo6Qm9vbGVhblByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkJvb2xl
YW5Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5Q
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6RGF0ZUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpT
Qzo6RGF0ZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9E
YXRlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVJbnN0YW5jZS5jcHA6Cisg
ICAgICAgIChKU0M6OkRhdGVJbnN0YW5jZTo6RGF0ZUluc3RhbmNlKToKKyAgICAgICAgKiBydW50
aW1lL0RhdGVJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpEYXRlSW5zdGFuY2U6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6RGF0
ZVByb3RvdHlwZTo6RGF0ZVByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkRhdGVQcm90b3R5cGU6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0RhdGVQcm90b3R5cGUuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaWN0TW9kZVR5cGVF
cnJvckZ1bmN0aW9uOjpTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkVycm9yQ29uc3RydWN0
b3I6OkVycm9yQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpFcnJvckNvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmg6Cisg
ICAgICAgICogcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OkVycm9y
UHJvdG90eXBlOjpFcnJvclByb3RvdHlwZSk6CisgICAgICAgICogcnVudGltZS9FcnJvclByb3Rv
dHlwZS5oOgorICAgICAgICAoSlNDOjpFcnJvclByb3RvdHlwZTo6Y3JlYXRlKToKKyAgICAgICAg
KiBydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlv
bkNvbnN0cnVjdG9yOjpGdW5jdGlvbkNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6RnVuY3Rp
b25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rp
b25Db25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3Bw
OgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6RnVuY3Rpb25Qcm90b3R5cGUpOgor
ICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGVy
bmFsRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpJbnRlcm5hbEZ1bmN0aW9uOjpJbnRlcm5h
bEZ1bmN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTQWN0aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTQWN0aXZhdGlv
bjo6SlNBY3RpdmF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTQWN0aXZhdGlvbi5oOgorICAg
ICAgICAoSlNDOjpKU0FjdGl2YXRpb246OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6Y3JlYXRlKToKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OkpTR2xvYmFsT2JqZWN0KToKKyAgICAgICAgKiBy
dW50aW1lL0pTT05PYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09OT2JqZWN0OjpKU09OT2Jq
ZWN0KToKKyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNP
Tk9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3Qu
aDoKKyAgICAgICAgKEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAg
KEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6SlNTdGF0aWNTY29wZU9iamVjdCk6CisgICAgICAg
ICogcnVudGltZS9KU1N0cmluZy5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpN
YXRoT2JqZWN0OjpNYXRoT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuaDoK
KyAgICAgICAgKEpTQzo6TWF0aE9iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL05h
dGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvckNvbnN0
cnVjdG9yOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBydW50aW1lL05hdGl2
ZUVycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TmF0aXZlRXJyb3JDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5
cGUuY3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlwZTo6TmF0aXZlRXJyb3JQ
cm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvclByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuaDoKKyAgICAg
ICAgKiBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6TnVtYmVy
Q29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6TnVtYmVyQ29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0
cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpOdW1iZXJPYmplY3Q6Ok51bWJlck9iamVjdCk6CisgICAgICAgICogcnVudGltZS9OdW1i
ZXJPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6TnVtYmVyT2JqZWN0OjpjcmVhdGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6TnVtYmVyUHJv
dG90eXBlOjpOdW1iZXJQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpOdW1iZXJQcm90b3R5cGU6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL051bWJlclByb3RvdHlwZS5oOgor
ICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpP
YmplY3RDb25zdHJ1Y3Rvcjo6T2JqZWN0Q29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpPYmpl
Y3RDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0
Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OlJlZ0V4cENvbnN0cnVjdG9yKToKKyAg
ICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KEpTQzo6UmVnRXhwTWF0Y2hlc0FycmF5OjpSZWdFeHBNYXRjaGVzQXJyYXkpOgorICAgICAgICAq
IHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cE1h
dGNoZXNBcnJheS5oOgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpSZWdF
eHBPYmplY3Q6OlJlZ0V4cE9iamVjdCk6CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3Qu
aDoKKyAgICAgICAgKEpTQzo6UmVnRXhwT2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRp
bWUvUmVnRXhwUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwUHJvdG90eXBlOjpS
ZWdFeHBQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29uc3RydWN0b3IpOgor
ICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cmlu
Z09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6U3RyaW5nT2JqZWN0KToK
KyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdC5oOgorICAgICAgICAoSlNDOjpTdHJpbmdP
YmplY3Q6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdPYmplY3RUaGF0TWFzcXVl
cmFkZXNBc1VuZGVmaW5lZC5oOgorICAgICAgICAoSlNDOjpTdHJpbmdPYmplY3RUaGF0TWFzcXVl
cmFkZXNBc1VuZGVmaW5lZDo6U3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQp
OgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6
U3RyaW5nUHJvdG90eXBlOjpTdHJpbmdQcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpTdHJpbmdQ
cm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ1Byb3Rv
dHlwZS5oOgorCiAyMDExLTA5LTA4ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyOTQ4MTEpOiBBc3NlcnRpb24gZmFpbHVyZSBp
biAyIHdvcmtlciB0ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAK
aW5kZXggYmFkOWY4YTFiMzAxYTJjOTk1ZmJlMmQyNzI3ZWFiODkzMzY5NzZhYS4uODNjZTg1MDY4
YTZmZjhlZGJhNDhiZmFjOTg5OGQwNDE5MjU5YmZmNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZXhwCkBAIC0xMjIsOCArMTIyLDkgQEAgX19aTjNKU0MxMVBhcnNlckFy
ZW5hNXJlc2V0RXYKIF9fWk4zSlNDMTFjaGVja1N5bnRheEVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEw
U291cmNlQ29kZUVQTlNfN0pTVmFsdWVFCiBfX1pOM0pTQzExY3JlYXRlRXJyb3JFUE5TXzlFeGVj
U3RhdGVFUktOU183VVN0cmluZ0UKIF9fWk4zSlNDMTFyZWdFeHBGbGFnc0VSS05TXzdVU3RyaW5n
RQorX19aTjNKU0MxMkRhdGVJbnN0YW5jZTE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9iYWxE
YXRhRWQKIF9fWk4zSlNDMTJEYXRlSW5zdGFuY2U2c19pbmZvRQotX19aTjNKU0MxMkRhdGVJbnN0
YW5jZUMxRVBOU185RXhlY1N0YXRlRVBOU185U3RydWN0dXJlRWQKK19fWk4zSlNDMTJEYXRlSW5z
dGFuY2VDMUVQTlNfOUV4ZWNTdGF0ZUVQTlNfOVN0cnVjdHVyZUUKIF9fWk4zSlNDMTJKU0dsb2Jh
bERhdGExMENsaWVudERhdGFEMkV2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhMTFqc0FycmF5VlB0
ckUKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGExMmNyZWF0ZUxlYWtlZEVOU18xNVRocmVhZFN0YWNr
VHlwZUVOU184SGVhcFNpemVFCkBAIC0xMzgsMTkgKzEzOSwyMSBAQCBfX1pOM0pTQzEySlNHbG9i
YWxEYXRhMjJjbGVhckJ1aWx0aW5TdHJ1Y3R1cmVzRXYKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGEy
M3JlbGVhc2VFeGVjdXRhYmxlTWVtb3J5RXYKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGE2Y3JlYXRl
RU5TXzE1VGhyZWFkU3RhY2tUeXBlRU5TXzhIZWFwU2l6ZUUKIF9fWk4zSlNDMTJKU0dsb2JhbERh
dGFEMUV2CitfX1pOM0pTQzEyUmVnRXhwT2JqZWN0MTRmaW5pc2hDcmVhdGlvbkVQTlNfMTRKU0ds
b2JhbE9iamVjdEUKIF9fWk4zSlNDMTJSZWdFeHBPYmplY3Q2c19pbmZvRQogX19aTjNKU0MxMlJl
Z0V4cE9iamVjdEMxRVBOU18xNEpTR2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJlRVBOU182UmVn
RXhwRQogX19aTjNKU0MxMlNhbXBsaW5nVG9vbDVzZXR1cEV2CiBfX1pOM0pTQzEyU21hbGxTdHJp
bmdzMTdjcmVhdGVFbXB0eVN0cmluZ0VQTlNfMTJKU0dsb2JhbERhdGFFCiBfX1pOM0pTQzEyU21h
bGxTdHJpbmdzMjdjcmVhdGVTaW5nbGVDaGFyYWN0ZXJTdHJpbmdFUE5TXzEySlNHbG9iYWxEYXRh
RWgKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxNGRlbGV0ZVByb3BlcnR5RVBOU185RXhlY1N0YXRl
RVJLTlNfMTBJZGVudGlmaWVyRQorX19aTjNKU0MxMlN0cmluZ09iamVjdDE0ZmluaXNoQ3JlYXRp
b25FUk5TXzEySlNHbG9iYWxEYXRhRVBOU184SlNTdHJpbmdFCiBfX1pOM0pTQzEyU3RyaW5nT2Jq
ZWN0MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJF
Uk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0MxMlN0cmluZ09iamVjdDE4Z2V0T3duUHJvcGVy
dHlTbG90RVBOU185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzEyU3Ry
aW5nT2JqZWN0MTlnZXRPd25Qcm9wZXJ0eU5hbWVzRVBOU185RXhlY1N0YXRlRVJOU18xN1Byb3Bl
cnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25Nb2RlRQogX19aTjNKU0MxMlN0cmluZ09iamVj
dDI0Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlm
aWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QzcHV0
RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVlRVJOU18xNVB1dFBy
b3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3Q2c19pbmZvRQotX19aTjNKU0MxMlN0
cmluZ09iamVjdEMyRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfOVN0cnVjdHVyZUVQTlNfOEpTU3Ry
aW5nRQorX19aTjNKU0MxMlN0cmluZ09iamVjdEMyRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfOVN0
cnVjdHVyZUUKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdzNHN0b3BFdgogX19aTjNKU0MxM1NhbXBs
aW5nRmxhZ3M1c3RhcnRFdgogX19aTjNKU0MxM1NhbXBsaW5nRmxhZ3M3c19mbGFnc0UKQEAgLTE4
MSw5ICsxODQsMTAgQEAgX19aTjNKU0MxNVdlYWtIYW5kbGVPd25lcjhmaW5hbGl6ZUVOU182SGFu
ZGxlSU5TXzdVbmtub3duRUVFUHYKIF9fWk4zSlNDMTVXZWFrSGFuZGxlT3duZXJEMkV2CiBfX1pO
M0pTQzE1Y3JlYXRlVHlwZUVycm9yRVBOU185RXhlY1N0YXRlRVJLTlNfN1VTdHJpbmdFCiBfX1pO
M0pTQzE2SW50ZXJuYWxGdW5jdGlvbjEydnRhYmxlQW5jaG9yRXYKK19fWk4zSlNDMTZJbnRlcm5h
bEZ1bmN0aW9uMTRmaW5pc2hDcmVhdGlvbkVSTlNfMTJKU0dsb2JhbERhdGFFUktOU18xMElkZW50
aWZpZXJFCiBfX1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlvbjRuYW1lRVBOU185RXhlY1N0YXRlRQog
X19aTjNKU0MxNkludGVybmFsRnVuY3Rpb242c19pbmZvRQotX19aTjNKU0MxNkludGVybmFsRnVu
Y3Rpb25DMkVQTlNfMTJKU0dsb2JhbERhdGFFUE5TXzE0SlNHbG9iYWxPYmplY3RFUE5TXzlTdHJ1
Y3R1cmVFUktOU18xMElkZW50aWZpZXJFCitfX1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlvbkMyRVBO
U18xNEpTR2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJlRQogX19aTjNKU0MxNkpTVmFyaWFibGVP
YmplY3QxNGRlbGV0ZVByb3BlcnR5RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRQog
X19aTjNKU0MxNkpTVmFyaWFibGVPYmplY3QxNHN5bWJvbFRhYmxlR2V0RVJLTlNfMTBJZGVudGlm
aWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckUKIF9fWk4zSlNDMTZKU1ZhcmlhYmxlT2JqZWN0
MTlnZXRPd25Qcm9wZXJ0eU5hbWVzRVBOU185RXhlY1N0YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFy
cmF5RU5TXzE1RW51bWVyYXRpb25Nb2RlRQpAQCAtMTk1LDcgKzE5OSw4IEBAIF9fWk4zSlNDMTdC
eXRlY29kZUdlbmVyYXRvcjIxc2V0RHVtcHNHZW5lcmF0ZWRDb2RlRWIKIF9fWk4zSlNDMTdQcm9w
ZXJ0eU5hbWVBcnJheTNhZGRFUE4zV1RGMTBTdHJpbmdJbXBsRQogX19aTjNKU0MxN2NvbnN0cnVj
dEZ1bmN0aW9uRVBOU185RXhlY1N0YXRlRVBOU18xNEpTR2xvYmFsT2JqZWN0RVJLTlNfN0FyZ0xp
c3RFUktOU18xMElkZW50aWZpZXJFUktOU183VVN0cmluZ0VpCiBfX1pOM0pTQzE3Y3JlYXRlU3lu
dGF4RXJyb3JFUE5TXzlFeGVjU3RhdGVFUktOU183VVN0cmluZ0UKLV9fWk4zSlNDMThEZWJ1Z2dl
ckFjdGl2YXRpb242Y3JlYXRlRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfOEpTT2JqZWN0RQorX19a
TjNKU0MxOERlYnVnZ2VyQWN0aXZhdGlvbjE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9iYWxE
YXRhRVBOU184SlNPYmplY3RFCitfX1pOM0pTQzE4RGVidWdnZXJBY3RpdmF0aW9uQzFFUk5TXzEy
SlNHbG9iYWxEYXRhRQogX19aTjNKU0MxOFByb3BlcnR5RGVzY3JpcHRvcjExc2V0V3JpdGFibGVF
YgogX19aTjNKU0MxOFByb3BlcnR5RGVzY3JpcHRvcjEyc2V0VW5kZWZpbmVkRXYKIF9fWk4zSlND
MThQcm9wZXJ0eURlc2NyaXB0b3IxM3NldERlc2NyaXB0b3JFTlNfN0pTVmFsdWVFagpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCBm
M2Q5YTcyMjBjMWY5ZjI1NjVkOTZlM2Y1MDU3ZDkwNTA5NjFjNzVkLi41YjM4MDZhMmUyM2U1YjVl
NGM4MjAyNDJhNzA2ZjZjNjNiMjRjMGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRl
ZgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtMywxMSArMywxMSBAQCBFWFBPUlRTCiAg
ICAgPz8wQ1N0cmluZ0BXVEZAQFFBRUBQQkRAWgogICAgID8/MENTdHJpbmdAV1RGQEBRQUVAUEJE
SUBaCiAgICAgPz8wQ29sbGF0b3JAV1RGQEBRQUVAUEJEQFoKLSAgICA/PzBEYXRlSW5zdGFuY2VA
SlNDQEBJQUVAUEFWRXhlY1N0YXRlQDFAUEFWU3RydWN0dXJlQDFATkBaCisgICAgPz8wRGF0ZUlu
c3RhbmNlQEpTQ0BASUFFQFBBVkV4ZWNTdGF0ZUAxQFBBVlN0cnVjdHVyZUAxQEBaCiAgICAgPz8w
RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFja0BKU0NAQFFBRUBQQVZIZWFwQDFAQFoKICAgICA/PzBE
cm9wQWxsTG9ja3NASlNMb2NrQEpTQ0BAUUFFQFc0SlNMb2NrQmVoYXZpb3JAMkBAWgotICAgID8/
MER5bmFtaWNHbG9iYWxPYmplY3RTY29wZUBKU0NAQFFBRUBBQVZKU0dsb2JhbERhdGFAMUBQQVZK
U0dsb2JhbE9iamVjdEAxQEBaICAKLSAgICA/PzBJbnRlcm5hbEZ1bmN0aW9uQEpTQ0BASUFFQFBB
VkpTR2xvYmFsRGF0YUAxQFBBVkpTR2xvYmFsT2JqZWN0QDFAUEFWU3RydWN0dXJlQDFAQUJWSWRl
bnRpZmllckAxQEBaCisgICAgPz8wRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlQEpTQ0BAUUFFQEFB
VkpTR2xvYmFsRGF0YUAxQFBBVkpTR2xvYmFsT2JqZWN0QDFAQFogCisgICAgPz8wSW50ZXJuYWxG
dW5jdGlvbkBKU0NAQElBRUBQQVZKU0dsb2JhbE9iamVjdEAxQFBBVlN0cnVjdHVyZUAxQEBaCiAg
ICAgPz8wSlNBcnJheUBKU0NAQElBRUBBQVZKU0dsb2JhbERhdGFAMUBQQVZTdHJ1Y3R1cmVAMUBA
WgogICAgID8/MEpTQnl0ZUFycmF5QEpTQ0BAQUFFQFBBVkV4ZWNTdGF0ZUAxQFBBVlN0cnVjdHVy
ZUAxQFBBVkJ5dGVBcnJheUBXVEZAQEBaCiAgICAgPz8wSlNGdW5jdGlvbkBKU0NAQEFBRUBQQVZF
eGVjU3RhdGVAMUBQQVZKU0dsb2JhbE9iamVjdEAxQFBBVlN0cnVjdHVyZUAxQEBaCkBAIC0xNyw4
ICsxNyw4IEBAIEVYUE9SVFMKICAgICA/PzBSZWZDb3VudGVkTGVha0NvdW50ZXJAV1RGQEBRQUVA
UEJEQFoKICAgICA/PzBSZWdFeHBPYmplY3RASlNDQEBJQUVAUEFWSlNHbG9iYWxPYmplY3RAMUBQ
QVZTdHJ1Y3R1cmVAMUBQQVZSZWdFeHBAMUBAWgogICAgID8/MFNIQTFAV1RGQEBRQUVAWFoKLSAg
ICA/PzBTdHJpbmdPYmplY3RASlNDQEBJQUVAQUFWSlNHbG9iYWxEYXRhQDFAUEFWU3RydWN0dXJl
QDFAUEFWSlNTdHJpbmdAMUBAWgotICAgID8/MFN0cnVjdHVyZUBKU0NAQEFBRUBBQVZKU0dsb2Jh
bERhdGFAMUBQQVZKU0dsb2JhbE9iamVjdEAxQFZKU1ZhbHVlQDFAQUJWVHlwZUluZm9AMUBJUEJV
Q2xhc3NJbmZvQDFAQFoKKyAgICA/PzBTdHJpbmdPYmplY3RASlNDQEBJQUVAQUFWSlNHbG9iYWxE
YXRhQDFAUEFWU3RydWN0dXJlQDFAQFoKKyAgID8/MFN0cnVjdHVyZUBKU0NAQEFBRUBBQVZKU0ds
b2JhbERhdGFAMUBQQVZKU0dsb2JhbE9iamVjdEAxQFZKU1ZhbHVlQDFAQUJWVHlwZUluZm9AMUBJ
UEJVQ2xhc3NJbmZvQDFAQFoKICAgICA/PzBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVAWFoKICAg
ICA/PzBVU3RyaW5nQEpTQ0BAUUFFQFBCREBaCiAgICAgPz8wVVN0cmluZ0BKU0NAQFFBRUBQQkRJ
QFoKQEAgLTE3Myw5ICsxNzMsMTMgQEAgRVhQT1JUUwogICAgID9mYXN0WmVyb2VkTWFsbG9jQFdU
RkBAWUFQQVhJQFoKICAgICA/ZmlsbEdldHRlclByb3BlcnR5U2xvdEBKU09iamVjdEBKU0NAQFFB
RVhBQVZQcm9wZXJ0eVNsb3RAMkBQQVY/JFdyaXRlQmFycmllckJhc2VAVzRVbmtub3duQEpTQ0BA
QDJAQFoKICAgICA/ZmluYWxpemVAV2Vha0hhbmRsZU93bmVyQEpTQ0BAVUFFWFY/JEhhbmRsZUBX
NFVua25vd25ASlNDQEBAMkBQQVhAWgorICAgID9maW5pc2hDcmVhdGlvbkBEYXRlSW5zdGFuY2VA
SlNDQEBJQUVYQUFWSlNHbG9iYWxEYXRhQDJATkBaCisgICA/ZmluaXNoQ3JlYXRpb25ASW50ZXJu
YWxGdW5jdGlvbkBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFAMkBBQlZJZGVudGlmaWVyQDJAQFoK
ICAgICA/ZmluaXNoQ3JlYXRpb25ASlNBcnJheUBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFAMkBA
WgogICAgID9maW5pc2hDcmVhdGlvbkBKU0FycmF5QEpTQ0BASUFFWEFBVkpTR2xvYmFsRGF0YUAy
QEFCVkFyZ0xpc3RAMkBAWgotICAgID9maW5pc2hDcmVhdGlvbkBKU0Z1bmN0aW9uQEpTQ0BASUFF
WFBBVkV4ZWNTdGF0ZUAyQEhBQlZJZGVudGlmaWVyQDJAUEFWRXhlY3V0YWJsZUJhc2VAMkBAWgor
ICAgP2ZpbmlzaENyZWF0aW9uQEpTRnVuY3Rpb25ASlNDQEBJQUVYUEFWRXhlY1N0YXRlQDJASEFC
VklkZW50aWZpZXJAMkBQQVZFeGVjdXRhYmxlQmFzZUAyQEBaCisgICAgP2ZpbmlzaENyZWF0aW9u
QFJlZ0V4cE9iamVjdEBKU0NAQElBRVhQQVZKU0dsb2JhbE9iamVjdEAyQEBaCisgICAgP2Zpbmlz
aENyZWF0aW9uQFN0cmluZ09iamVjdEBKU0NAQElBRVhBQVZKU0dsb2JhbERhdGFAMkBQQVZKU1N0
cmluZ0AyQEBaCiAgICAgP2ZvY3VzQFByb2ZpbGVASlNDQEBRQUVYUEJWUHJvZmlsZU5vZGVAMkBA
WgogICAgID9mcm9tQElkZW50aWZpZXJASlNDQEBTQT9BVjEyQFBBVkV4ZWNTdGF0ZUAyQEhAWgog
ICAgID9mcm9tQElkZW50aWZpZXJASlNDQEBTQT9BVjEyQFBBVkV4ZWNTdGF0ZUAyQElAWgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlv
bi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9u
LmNwcAppbmRleCBhNzEwMWRjYjZiYWE0MGZmNGZlMGVmYTMyZDFkNTViNjhhOTQxNGU1Li5hZjZh
NTZmOWJlMmE2MDQ3ODJjODUwYzMxZWY1OWQyZjQwY2RmNTBjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcApAQCAtMzUs
MTMgKzM1LDYgQEAgRGVidWdnZXJBY3RpdmF0aW9uOjpEZWJ1Z2dlckFjdGl2YXRpb24oSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhKQogewogfQogCi1EZWJ1Z2dlckFjdGl2YXRpb24qIERlYnVnZ2Vy
QWN0aXZhdGlvbjo6Y3JlYXRlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNPYmplY3QqIG9i
amVjdCkKLXsKLSAgICBEZWJ1Z2dlckFjdGl2YXRpb24qIGFjdGl2YXRpb24gPSBuZXcgKGFsbG9j
YXRlQ2VsbDxEZWJ1Z2dlckFjdGl2YXRpb24+KGdsb2JhbERhdGEuaGVhcCkpIERlYnVnZ2VyQWN0
aXZhdGlvbihnbG9iYWxEYXRhKTsKLSAgICBhY3RpdmF0aW9uLT5maW5pc2hDcmVhdGlvbihnbG9i
YWxEYXRhLCBvYmplY3QpOwotICAgIHJldHVybiBhY3RpdmF0aW9uOwotfQotCiB2b2lkIERlYnVn
Z2VyQWN0aXZhdGlvbjo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBK
U09iamVjdCogYWN0aXZhdGlvbikKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxE
YXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dl
ckFjdGl2YXRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFj
dGl2YXRpb24uaAppbmRleCA5MmE4YTBlYTYwNTQ5YzljOGU2Y2NjZmNlZWYzYmJiNTMzODgyNmEw
Li40NGI2MjY3MjI3ZDdiZjQ1NGFmOGYwZmExYjY1MTI5ODlmODNhMGJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oCkBAIC0z
NCw3ICszNCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVk
ZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOwogCi0gICAgICAgIHN0YXRpYyBEZWJ1Z2dlckFjdGl2
YXRpb24qIGNyZWF0ZShKU0dsb2JhbERhdGEmLCBKU09iamVjdCopOworICAgICAgICBzdGF0aWMg
RGVidWdnZXJBY3RpdmF0aW9uKiBjcmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU09i
amVjdCogb2JqZWN0KQorICAgICAgICB7CisgICAgICAgICAgICBEZWJ1Z2dlckFjdGl2YXRpb24q
IGFjdGl2YXRpb24gPSBuZXcgKGFsbG9jYXRlQ2VsbDxEZWJ1Z2dlckFjdGl2YXRpb24+KGdsb2Jh
bERhdGEuaGVhcCkpIERlYnVnZ2VyQWN0aXZhdGlvbihnbG9iYWxEYXRhKTsKKyAgICAgICAgICAg
IGFjdGl2YXRpb24tPmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIG9iamVjdCk7CisgICAgICAg
ICAgICByZXR1cm4gYWN0aXZhdGlvbjsKKyAgICAgICAgfQorCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB2aXNpdENoaWxkcmVuKFNsb3RWaXNpdG9yJik7CiAgICAgICAgIHZpcnR1YWwgVVN0cmluZyBj
bGFzc05hbWUoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xv
dChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xv
dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAppbmRleCBmNTlmODM1MzYwYjEyMjdmOWY2MzVmZmY5YWQy
NzEwZDQxNmFmNDg4Li4wMThmOTU3MjQ2MWFmZTNmZDc1NDc3M2Q3MDdiYWYyZjkyZGQzNTE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvanNjLmNwcApAQCAtMTU3LDggKzE1Nyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIFVTdHJpbmcgY2xhc3NOYW1lKCkgY29uc3QgeyByZXR1cm4gImdsb2JhbCI7IH0KIAogcHJv
dGVjdGVkOgotICAgIHZvaWQgY29uc3RydWN0b3JCb2R5KGNvbnN0IFZlY3RvcjxVU3RyaW5nPiYg
YXJndW1lbnRzKQorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBjb25zdCBWZWN0b3I8VVN0cmluZz4mIGFyZ3VtZW50cykKICAgICB7CisgICAgICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHRoaXMpOwogICAgICAgICBwdXREaXJlY3RG
dW5jdGlvbihnbG9iYWxFeGVjKCksIEpTRnVuY3Rpb246OmNyZWF0ZShnbG9iYWxFeGVjKCksIHRo
aXMsIGZ1bmN0aW9uU3RydWN0dXJlKCksIDEsIElkZW50aWZpZXIoZ2xvYmFsRXhlYygpLCAiZGVi
dWciKSwgZnVuY3Rpb25EZWJ1ZykpOwogICAgICAgICBwdXREaXJlY3RGdW5jdGlvbihnbG9iYWxF
eGVjKCksIEpTRnVuY3Rpb246OmNyZWF0ZShnbG9iYWxFeGVjKCksIHRoaXMsIGZ1bmN0aW9uU3Ry
dWN0dXJlKCksIDEsIElkZW50aWZpZXIoZ2xvYmFsRXhlYygpLCAicHJpbnQiKSwgZnVuY3Rpb25Q
cmludCkpOwogICAgICAgICBwdXREaXJlY3RGdW5jdGlvbihnbG9iYWxFeGVjKCksIEpTRnVuY3Rp
b246OmNyZWF0ZShnbG9iYWxFeGVjKCksIHRoaXMsIGZ1bmN0aW9uU3RydWN0dXJlKCksIDAsIElk
ZW50aWZpZXIoZ2xvYmFsRXhlYygpLCAicXVpdCIpLCBmdW5jdGlvblF1aXQpKTsKQEAgLTE5MCw3
ICsxOTEsNyBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEdsb2JhbE9iamVjdCk7CiBHbG9i
YWxPYmplY3Q6Okdsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBWZWN0b3I8VVN0cmluZz4mIGFyZ3VtZW50cykKICAgICA6IEpT
R2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSkKIHsKLSAgICBjb25zdHJ1Y3RvckJv
ZHkoYXJndW1lbnRzKTsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBhcmd1bWVudHMp
OwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uUHJpbnQoRXhlY1N0
YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNv
bnN0cnVjdG9yLmNwcAppbmRleCBmZDllNzFkN2QyYzJhYzM4OTVhMjZlNDJiOWJiMDJmMjQzNzIy
YmViLi5kNDA2YmExOThjMGQxN2VkMjM0MjNiZjk4MGFhMjFhZjc4ZTA1YTg1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcApAQCAt
NTIsOCArNTIsMTQgQEAgY29uc3QgQ2xhc3NJbmZvIEFycmF5Q29uc3RydWN0b3I6OnNfaW5mbyA9
IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW4KIEFTU0VSVF9DTEFTU19GSVRT
X0lOX0NFTEwoQXJyYXlDb25zdHJ1Y3Rvcik7CiAKIEFycmF5Q29uc3RydWN0b3I6OkFycmF5Q29u
c3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlKQotICAg
IDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0
cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBhcnJheVByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNs
YXNzTmFtZSkpCisgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJl
KQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGFycmF5UHJvdG90eXBlKTsKK30KKwordm9p
ZCBBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEFycmF5
UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihl
eGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywgYXJyYXlQcm90b3R5cGUtPmNsYXNz
SW5mbygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVj
LT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIGFycmF5UHJv
dG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkubGVuZ3RoLCBqc051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25z
dHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5oCmluZGV4IGQxOGQxMmFjMDc3NDU1MWEyMWVlOGEzODdhYzc4ZDhmMWM1ZTMwZTIuLjkzNDc1
MjIxYmI0YTViN2MwNWIwYzE0ZDE0NTFhMzkzZjVhNDgzNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKQEAgLTQ0LDYgKzQ0LDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBBcnJheVByb3RvdHlwZSopOwogICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9w
ZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5j
cHAKaW5kZXggOTk2NzRiYjIzYjQ5ODE4YjJmM2EzNDg0YzI2NmUwMTM5ZDg2ZWY0Ni4uNDJmNDFh
NjMxZDQ5Y2YzZGNlOWNhOGZkN2U2YjZkYThkNTY0MzYwNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApAQCAtMTE3LDcgKzExNyw2IEBA
IGNvbnN0IENsYXNzSW5mbyBBcnJheVByb3RvdHlwZTo6c19pbmZvID0geyJBcnJheSIsICZKU0Fy
cmF5OjpzX2luZm8sIDAsIEV4ZWNTdGF0CiBBcnJheVByb3RvdHlwZTo6QXJyYXlQcm90b3R5cGUo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAg
OiBKU0FycmF5KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7Ci0gICAg
ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9pZCBBcnJheVByb3RvdHlwZTo6
ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCmluZGV4IDYwNDFhNjJhZDUx
MDU5MWM0YzMwYjdhN2ZhYTYzNDAwMDYwOWE0ODEuLjc1ZTZlODBiYTcyZjdhMWFmMmExZTgyYzhj
MTc3YjVlOGZhOGYxZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FycmF5UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuaApAQCAtMzUsNyArMzUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAg
ICBzdGF0aWMgQXJyYXlQcm90b3R5cGUqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0g
ICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8QXJyYXlQcm90b3R5cGU+KCpleGVj
LT5oZWFwKCkpKSBBcnJheVByb3RvdHlwZShnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAg
ICAgICAgICBBcnJheVByb3RvdHlwZSogcHJvdG90eXBlID0gbmV3IChhbGxvY2F0ZUNlbGw8QXJy
YXlQcm90b3R5cGU+KCpleGVjLT5oZWFwKCkpKSBBcnJheVByb3RvdHlwZShnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSk7CisgICAgICAgICAgICBwcm90b3R5cGUtPmZpbmlzaENyZWF0aW9uKGdsb2Jh
bE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gcHJvdG90eXBlOwogICAgICAgICB9CiAgICAg
ICAgIAogICAgICAgICBib29sIGdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcAppbmRleCBlZjYyNDBlNzkyNWExNTc0
Zjk0Y2U5OGY5ZTE5NTZlN2NkZjQ3ODBmLi4zNDBmZjcyM2NhNjJmY2NlMGNiNTdiNTVhODVjYmMy
OTIyYTBiNjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5Db25zdHJ1Y3Rvci5jcHAKQEAgLTI5LDggKzI5LDE0IEBAIG5hbWVzcGFjZSBKU0Mgewog
QVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChCb29sZWFuQ29uc3RydWN0b3IpOwogCiBCb29sZWFu
Q29uc3RydWN0b3I6OkJvb2xlYW5Db25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBCb29sZWFuUHJvdG90
eXBlKiBib29sZWFuUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xv
YmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBib29s
ZWFuUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVu
Y3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhl
YywgYm9vbGVhblByb3RvdHlwZSk7Cit9CisKK3ZvaWQgQm9vbGVhbkNvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEJvb2xlYW5Qcm90b3R5cGUqIGJvb2xlYW5Qcm90
b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBJ
ZGVudGlmaWVyKGV4ZWMsIGJvb2xlYW5Qcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUp
KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIGJvb2xlYW5Qcm90b3R5cGUsIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKIAogICAgIC8vIG5vLiBvZiBhcmd1bWVudHMgZm9y
IGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9C
b29sZWFuQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xl
YW5Db25zdHJ1Y3Rvci5oCmluZGV4IGU3ZWE1ODNkOGM3YTVmNDJjZGViYThlZTNiZWI2OGFhN2Vk
N2FiNWYuLjFlZWU0ZjY2Mzc2YTVmMzdhNTYwYWJlNWVkNTcwYTZkM2Q4M2I0N2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCkBA
IC0zNiw2ICszNiw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIG5ldyAo
YWxsb2NhdGVDZWxsPEJvb2xlYW5Db25zdHJ1Y3Rvcj4oKmV4ZWMtPmhlYXAoKSkpIEJvb2xlYW5D
b25zdHJ1Y3RvcihleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgYm9vbFByb3RvdHlwZSk7
CiAgICAgICAgIH0KIAorICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihFeGVjU3RhdGUqLCBCb29sZWFuUHJvdG90eXBlKik7CisKICAgICBwcml2YXRlOgogICAgICAg
ICBCb29sZWFuQ29uc3RydWN0b3IoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqLCBCb29sZWFuUHJvdG90eXBlKik7CiAgICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBn
ZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5PYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5jcHAKaW5kZXggYjllMzNkYzQ4NDI5OGI2Y2VlNjc0
ZTE4ZDU0YTg3ZjYyZGFkZmQ1Ny4uY2JkZGQwZTkyNDMzMDAyYjhhNWNmOWYzNWZmYTIxM2YwZDk1
MTljMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9i
amVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVj
dC5jcHAKQEAgLTMwLDcgKzMwLDYgQEAgY29uc3QgQ2xhc3NJbmZvIEJvb2xlYW5PYmplY3Q6OnNf
aW5mbyA9IHsgIkJvb2xlYW4iLCAmSlNXcmFwcGVyT2JqZWN0OjpzX2luZm8sIDAKIEJvb2xlYW5P
YmplY3Q6OkJvb2xlYW5PYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKICAgICA6IEpTV3JhcHBlck9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUp
CiB7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CiB9CiAKIHZvaWQgQm9vbGVhbk9i
amVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5oCmluZGV4IDBmZmE0MjVkMDFl
OWQ1NDIzZWQ0MWExNWJkZDY4MDliYTZiOTIzODguLmNlZDFjZWIzOGE1ZjE1OWZhOTM4Mjk0NDg5
MzgwYzcyOWE4ZjkyYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5PYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuT2JqZWN0LmgKQEAgLTM1LDcgKzM1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAg
c3RhdGljIEJvb2xlYW5PYmplY3QqIGNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChh
bGxvY2F0ZUNlbGw8Qm9vbGVhbk9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgQm9vbGVhbk9iamVj
dChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgQm9vbGVhbk9iamVjdCogYm9v
bGVhbiA9IG5ldyAoYWxsb2NhdGVDZWxsPEJvb2xlYW5PYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkp
IEJvb2xlYW5PYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIGJvb2xl
YW4tPmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEpOworICAgICAgICAgICAgcmV0dXJuIGJvb2xl
YW47CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8g
c19pbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
blByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJv
dG90eXBlLmNwcAppbmRleCBkZDAxOTRmM2Y1ZDA5MmIwOGVhYzI2NmVhOTY5OTVkNWI2MzEwZjFi
Li43MWRiOWM0NDFlZTVlMjliOWE4ZjFjZTQ5ODU3Y2Y2YWI5YTRlZWE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmNwcApAQCAtNTIs
NiArNTIsMTIgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChCb29sZWFuUHJvdG90eXBlKTsK
IEJvb2xlYW5Qcm90b3R5cGU6OkJvb2xlYW5Qcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEJv
b2xlYW5PYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7CisgICAgZmluaXNo
Q3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBCb29sZWFuUHJvdG90eXBl
OjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpKTsK
ICAgICBzZXRJbnRlcm5hbFZhbHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwganNCb29sZWFuKGZhbHNl
KSk7CiAKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oCmluZGV4IDE0YTE2MzhlMGIyZjYy
NThhODU1YzVmOTE5NWRhZGExZDg4NDRkODMuLmI3MzdkZmY3Mjg4NTk2ZmViYmNjOGFhZDFiNmY4
ZGUxMmY2Y2EzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5Qcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuUHJvdG90eXBlLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3Rh
dGUqLCBKU0dsb2JhbE9iamVjdCopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBCb29sZWFuT2JqZWN0
OjpTdHJ1Y3R1cmVGbGFnczsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIEFub255bW91
c1Nsb3RDb3VudCA9IEJvb2xlYW5PYmplY3Q6OkFub255bW91c1Nsb3RDb3VudCArIDE7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IDk5NDZmZDM3ZGFmNDMxNmIwODAwOTNhMTUyYmRiNzE3NTgyZjU1ZWYuLjdiMjUzNDg4MzU0
ZTAyM2NkMWMzNWQ2ZWY0ODExNjhjNDRmY2Y0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcApAQCAtNzQsOCArNzQsMTQgQEAgY29u
c3QgQ2xhc3NJbmZvIERhdGVDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50
ZXJuYWxGdW5jdGlvbjo6c19pbmYKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRGF0ZUNvbnN0
cnVjdG9yKTsKIAogRGF0ZUNvbnN0cnVjdG9yOjpEYXRlQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
RGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4
ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhl
YywgZGF0ZVByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJbnRlcm5h
bEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKSAKIHsKKyAgICBmaW5pc2hDcmVhdGlv
bihleGVjLCBkYXRlUHJvdG90eXBlKTsKK30KKwordm9pZCBEYXRlQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgRGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlwZSkK
K3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZp
ZXIoZXhlYywgZGF0ZVByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpOwogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVy
dHlOYW1lcygpLnByb3RvdHlwZSwgZGF0ZVByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2Jh
bERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoNyksIFJlYWRP
bmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKaW5kZXggMWZlNzRjYzViZGY4OGRkZTc2ZGRl
ZWExZDNkZTY2ZjA4MWEzNTg4MS4uOTM2YWZjMWY1MTVkMWVmNWJhOTE0ZjEyMDc1MDc0YThkN2Rk
ZDlhOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0
cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVj
dG9yLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAogICAg
IHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBEYXRl
UHJvdG90eXBlKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0cnVj
dHVyZUZsYWdzOwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EYXRlSW5zdGFuY2UuY3BwCmluZGV4IDZkZjMwZDcyMDE4ODE4NmRlMTIyMTAzZTBkODgw
ZTdmODJmZmYzNGUuLjFiNGFkZDg4ZGYxMDE1YjIzMGE1ODM5YjExNTYyNzI1YWY0NDExZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcApAQCAt
MzcsMTMgKzM3LDYgQEAgY29uc3QgQ2xhc3NJbmZvIERhdGVJbnN0YW5jZTo6c19pbmZvID0geyJE
YXRlIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLCAwfTsKIERhdGVJbnN0YW5jZTo6RGF0
ZUluc3RhbmNlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBK
U1dyYXBwZXJPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgZmlu
aXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpKTsKLX0KLQotRGF0ZUluc3RhbmNlOjpEYXRl
SW5zdGFuY2UoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgZG91YmxlIHRp
bWUpCi0gICAgOiBKU1dyYXBwZXJPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUp
Ci17Ci0gICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aW1lKTsKIH0KIAog
dm9pZCBEYXRlSW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0
YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5j
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKaW5kZXgg
ZWJjN2RiZmY5ZjYxNDM3NDI2NzJhMzY5ZmRlYzBhZjRkM2FiNTJiNS4uYmQzNmViNzMzYWVlZGVh
YmIwM2I0MDkzOWVmMDJmNTgzZmJiY2ZlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZUluc3RhbmNlLmgKQEAgLTMxLDcgKzMxLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICBjbGFzcyBEYXRlSW5zdGFuY2UgOiBwdWJsaWMgSlNXcmFwcGVyT2JqZWN0IHsKICAgICBw
cm90ZWN0ZWQ6Ci0gICAgICAgIERhdGVJbnN0YW5jZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBk
b3VibGUpOwogICAgICAgICBEYXRlSW5zdGFuY2UoRXhlY1N0YXRlKiwgU3RydWN0dXJlKik7CiAg
ICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJik7CiAgICAgICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiwgZG91YmxlKTsKQEAgLTQxLDEzICs0MCwxOCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgRGF0ZUluc3RhbmNlKiBjcmVhdGUo
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgZG91YmxlIGRhdGUpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxEYXRlSW5zdGFuY2U+
KCpleGVjLT5oZWFwKCkpKSBEYXRlSW5zdGFuY2UoZXhlYywgc3RydWN0dXJlLCBkYXRlKTsKKyAg
ICAgICAgICAgIERhdGVJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKGFsbG9jYXRlQ2VsbDxEYXRl
SW5zdGFuY2U+KCpleGVjLT5oZWFwKCkpKSBEYXRlSW5zdGFuY2UoZXhlYywgc3RydWN0dXJlKTsK
KyAgICAgICAgICAgIGluc3RhbmNlLT5maW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCks
IGRhdGUpOworICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAgICAgICB9CisKICAgICAg
ICAgc3RhdGljIERhdGVJbnN0YW5jZSogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRl
Q2VsbDxEYXRlSW5zdGFuY2U+KCpleGVjLT5oZWFwKCkpKSBEYXRlSW5zdGFuY2UoZXhlYywgc3Ry
dWN0dXJlKTsKKyAgICAgICAgICAgIERhdGVJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKGFsbG9j
YXRlQ2VsbDxEYXRlSW5zdGFuY2U+KCpleGVjLT5oZWFwKCkpKSBEYXRlSW5zdGFuY2UoZXhlYywg
c3RydWN0dXJlKTsKKyAgICAgICAgICAgIGluc3RhbmNlLT5maW5pc2hDcmVhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCkpOworICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAgICAgICB9Ci0g
ICAgICAgIAorCiAgICAgICAgIGRvdWJsZSBpbnRlcm5hbE51bWJlcigpIGNvbnN0IHsgcmV0dXJu
IGludGVybmFsVmFsdWUoKS51bmNoZWNrZWRHZXROdW1iZXIoKTsgfQogCiAgICAgICAgIHN0YXRp
YyBKU19FWFBPUlREQVRBIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCmluZGV4IDQwMzQxNWI1YWI4ZTg1
NDJjMzNjYTZiMDYzN2E2ZTZkYTcxZTdhZGQuLjc1MGRkZjk1YTFiNDhhYTRlNGQ3Nzk4NmM1NDVj
Njg0NTdiMzYyMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Rh
dGVQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQ
cm90b3R5cGUuY3BwCkBAIC00MzMsNiArNDMzLDEyIEBAIGNvbnN0IENsYXNzSW5mbyBEYXRlUHJv
dG90eXBlOjpzX2luZm8gPSB7IkRhdGUiLCAmRGF0ZUluc3RhbmNlOjpzX2luZm8sIDAsIEV4ZWNT
CiBEYXRlUHJvdG90eXBlOjpEYXRlUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBEYXRlSW5z
dGFuY2UoZXhlYywgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2Jh
bE9iamVjdCk7Cit9CisKK3ZvaWQgRGF0ZVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0
YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZz
X2luZm8pKTsKIAogICAgIC8vIFRoZSBjb25zdHJ1Y3RvciB3aWxsIGJlIGFkZGVkIGxhdGVyLCBh
ZnRlciBEYXRlQ29uc3RydWN0b3IgaGFzIGJlZW4gYnVpbHQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmgKaW5kZXggYjM0YzZiNmYyMThiYWZjMDM0ZjBk
YzQyYzY2MGRjYTdlYzEwNjkzOS4uMTA2OTA4NTI4MmFlMjVkNWFmY2M4OWI5YWM5MjMxNzMxM2Uw
MjI5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3Rv
dHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUu
aApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJv
dGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFs
T2JqZWN0Kik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9
IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IERhdGVJbnN0YW5jZTo6U3RydWN0dXJlRmxh
Z3M7CiAKICAgICAgICAgQ09NUElMRV9BU1NFUlQoIURhdGVJbnN0YW5jZTo6QW5vbnltb3VzU2xv
dENvdW50LCBEYXRlUHJvdG90eXBlX3N0b21wc19vbl95b3VyX2Fub255bW91c19zbG90KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcAppbmRleCA3ODY3NTBiZjJmZTBjYjEx
MzRiMWEyYWY2NzEyMjUxMGRlNjM0NTdkLi4yNDcxNjg5Y2I2N2NkZTJjMDdkM2UxMWMwYTg3OTcy
ODNkZjY5NmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwCkBAIC0x
NjgsOSArMTY4LDEwIEBAIEpTT2JqZWN0KiB0aHJvd1N5bnRheEVycm9yKEV4ZWNTdGF0ZSogZXhl
YykKIGNsYXNzIFN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbiA6IHB1YmxpYyBJbnRlcm5hbEZ1
bmN0aW9uIHsKIHByaXZhdGU6CiAgICAgU3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uKEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG1lc3NhZ2UpCi0gICAgICAgIDogSW50ZXJuYWxGdW5jdGlv
bigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgZXhlYy0+Z2xv
YmFsRGF0YSgpLnByb3BlcnR5TmFtZXMtPmVtcHR5SWRlbnRpZmllcikKKyAgICAgICAgOiBJbnRl
cm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogICAgICAgICAsIG1fbWVzc2Fn
ZShtZXNzYWdlKQogICAgIHsKKyAgICAgICAgZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0
YSgpLCBleGVjLT5nbG9iYWxEYXRhKCkucHJvcGVydHlOYW1lcy0+ZW1wdHlJZGVudGlmaWVyKTsK
ICAgICB9CiAKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZGYxMTJkZDIyMjFmOWM5OGY3YmRlOTBiYzBiYzhl
OTEzMDI0YmUxMS4uMzgwM2UwMzVkZWJkYWI1NDAyM2RhMzJjN2ExOGU3ZjI1NzhmMjg0YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5j
cHAKQEAgLTMwLDggKzMwLDE0IEBAIG5hbWVzcGFjZSBKU0MgewogQVNTRVJUX0NMQVNTX0ZJVFNf
SU5fQ0VMTChFcnJvckNvbnN0cnVjdG9yKTsKIAogRXJyb3JDb25zdHJ1Y3Rvcjo6RXJyb3JDb25z
dHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBFcnJvclByb3RvdHlwZSogZXJyb3JQcm90b3R5cGUpCi0gICAg
OiBJbnRlcm5hbEZ1bmN0aW9uKCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3Ry
dWN0dXJlLCBJZGVudGlmaWVyKGV4ZWMsIGVycm9yUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xh
c3NOYW1lKSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUp
CiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZXJyb3JQcm90b3R5cGUpOworfQorCit2b2lk
IEVycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgRXJyb3JQ
cm90b3R5cGUqIGVycm9yUHJvdG90eXBlKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4
ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCBlcnJvclByb3RvdHlwZS0+Y2xhc3NJ
bmZvKCktPmNsYXNzTmFtZSkpOwogICAgIC8vIEVDTUEgMTUuMTEuMy4xIEVycm9yLnByb3RvdHlw
ZQogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhl
Yy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwgZXJyb3JQcm90b3R5cGUsIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihl
eGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVy
KDEpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggMzg3N2E2ZDExMDc4
ODk5MzRhMWM0MTg4NjAzZjg2MDUxYTAwOWIyMS4uZDNiZDgwM2U1ZjgyNzg2MDQ0Yzg1NTE5MzJj
YzAzN2RjYTE1YjhlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9yQ29uc3RydWN0b3IuaApAQCAtMzYsNiArMzYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgewogICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPEVycm9yQ29uc3RydWN0
b3I+KCpleGVjLT5oZWFwKCkpKSBFcnJvckNvbnN0cnVjdG9yKGV4ZWMsIGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlLCBlcnJQcm90b3R5cGUpOwogICAgICAgICB9CisKKyAgICBwcm90ZWN0ZWQ6Cisg
ICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgRXJyb3JQcm90b3R5cGUqKTsK
ICAgICAgICAgCiAgICAgcHJpdmF0ZToKICAgICAgICAgRXJyb3JDb25zdHJ1Y3RvcihFeGVjU3Rh
dGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEVycm9yUHJvdG90eXBlKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAKaW5kZXgg
Njk4Njc1MjRjNGNlN2VmNWM3NjNiNmE1MjcyZTcxNmNlODQ5NTc5Yy4uMmE5YjlhOWIwNDBhNTQ1
Mjg4NWQ4NDE1ZWQwMWEyZWMxYWRjNjMwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcApAQCAtNTAsMTAgKzUwLDkgQEAgY29uc3QgQ2xh
c3NJbmZvIEVycm9yUHJvdG90eXBlOjpzX2luZm8gPSB7ICJFcnJvciIsICZFcnJvckluc3RhbmNl
OjpzX2luZm8sIDAsIEUKIAogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChFcnJvclByb3RvdHlw
ZSk7CiAKLUVycm9yUHJvdG90eXBlOjpFcnJvclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorRXJyb3JQ
cm90b3R5cGU6OkVycm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAgICAgOiBFcnJvckluc3RhbmNlKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJl
KQogewotICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQg
RXJyb3JQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvclByb3RvdHlwZS5oCmluZGV4IDBkMGZkMzA3OTQwNmM1OTYyNzZiNTZkZjJmYTRmNjcwZGVm
MDZkNjMuLjkzNDg0YzI3NDY1ZTRkOTE1NTQ5ZjE1ZTEwODczZmVjNTk4ZGRhYzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaApAQCAtMzMsNyAr
MzMsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgRXJyb3JQcm90b3R5cGUq
IGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChh
bGxvY2F0ZUNlbGw8RXJyb3JQcm90b3R5cGU+KCpleGVjLT5oZWFwKCkpKSBFcnJvclByb3RvdHlw
ZShleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBFcnJvclByb3Rv
dHlwZSogcHJvdG90eXBlID0gbmV3IChhbGxvY2F0ZUNlbGw8RXJyb3JQcm90b3R5cGU+KCpleGVj
LT5oZWFwKCkpKSBFcnJvclByb3RvdHlwZShleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAg
cHJvdG90eXBlLT5maW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QpOworICAgICAgICAg
ICAgcmV0dXJuIHByb3RvdHlwZTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3RhdGlj
IGNvbnN0IENsYXNzSW5mbyBzX2luZm87CkBAIC00NCw3ICs0Niw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIEVycm9yUHJvdG90eXBlKEV4
ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CisgICAgICAgIEVycm9yUHJv
dG90eXBlKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopOwogICAgICAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0Kik7CiAKICAgICAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwg
RXJyb3JJbnN0YW5jZTo6U3RydWN0dXJlRmxhZ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCmluZGV4IDUwZDliNWY3ZGE2
ZWVjMjMzYTI5YWVjYWMwZjhiYjM2ZjM0MDBjOTQuLjQ1ODk3NGVhMzY1YTVkNjQwYjYyNzVlNjg4
ZWU0NjlhOWIzYWRjMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCkBAIC0zOCw4ICszOCwxNCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRnVuY3Rpb25Db25zdHJ1Y3Rvcik7CiAK
IEZ1bmN0aW9uQ29uc3RydWN0b3I6OkZ1bmN0aW9uQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVj
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRnVu
Y3Rpb25Qcm90b3R5cGUqIGZ1bmN0aW9uUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlv
bigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmll
cihleGVjLCBmdW5jdGlvblByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAg
OiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlz
aENyZWF0aW9uKGV4ZWMsIGZ1bmN0aW9uUHJvdG90eXBlKTsKK30KKwordm9pZCBGdW5jdGlvbkNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEZ1bmN0aW9uUHJvdG90
eXBlKiBmdW5jdGlvblByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVj
LT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywgZnVuY3Rpb25Qcm90b3R5cGUtPmNsYXNz
SW5mbygpLT5jbGFzc05hbWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVj
LT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIGZ1bmN0aW9u
UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAKICAgICAvLyBO
dW1iZXIgb2YgYXJndW1lbnRzIGZvciBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oCmluZGV4IDljNTVkODg4OWQw
ZDlhYTQwNjlkODFlOGZjN2Q5MDZhNTE4MWIzNWEuLmQ0MzZhMjdhY2FjODljOTZmYWE2NDZiODA4
NmE4ZGNkNDE2Y2QzNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmgKQEAgLTM4LDYgKzM4LDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAKICAgICBwcml2YXRlOgogICAgICAgICBGdW5jdGlvbkNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSos
IEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgRnVuY3Rpb25Qcm90b3R5cGUqKTsKKyAgICAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBGdW5jdGlvblByb3RvdHlwZSopOwog
ICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShDb25zdHJ1Y3RE
YXRhJik7CiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2FsbERhdGEmKTsK
ICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25Qcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuY3BwCmluZGV4IDk2Y2Q2NzczYmNlYzVhODExZGNiNDE3Nzc1NTM0MTAyZTI1MWJk
ZTIuLjcyMTJlYjc4MzUyNWEyY2YyYmVlZjRkM2VjOWZkYzI3ZDhjMmRlZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAKQEAg
LTM4LDggKzM4LDE0IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0
aW9uUHJvdG9GdW5jQXBwbHkoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY0NhbGwoRXhlY1N0YXRlKik7CiAKIEZ1bmN0aW9u
UHJvdG90eXBlOjpGdW5jdGlvblByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogSW50ZXJuYWxG
dW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgZXhl
Yy0+cHJvcGVydHlOYW1lcygpLm51bGxJZGVudGlmaWVyKQorICAgIDogSW50ZXJuYWxGdW5jdGlv
bihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkubnVsbElkZW50aWZpZXIpOworfQorCit2b2lkIEZ1bmN0aW9u
UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgp
LCBuYW1lKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT5nbG9iYWxEYXRh
KCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKDApLCBEb250RGVsZXRl
IHwgUmVhZE9ubHkgfCBEb250RW51bSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oCmluZGV4IGU3MDE4MmYzMTNhNzZjZDYyMDE3
ZjQ5Y2U4YWU0MDczMTM1ZGVlNWUuLjEwZDFhMTc2ZTIyY2JjMmEzOGJlNDRjMzY5NjE1ZWE4NDA5
NWVhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuaApAQCAtNDEsNiArNDEsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAg
IHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3Rv
LCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIEFub255bW91c1Nsb3RDb3Vu
dCwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAorICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKKwogICAg
IHByaXZhdGU6CiAgICAgICAgIEZ1bmN0aW9uUHJvdG90eXBlKEV4ZWNTdGF0ZSosIEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERh
dGEoQ2FsbERhdGEmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGVybmFsRnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
ZXJuYWxGdW5jdGlvbi5jcHAKaW5kZXggMTBhYWE2MGVlN2M4ZWMzNGY2ZjQwMzg5MjRkMjgwMzgx
YTlmMzBiZi4uZDJiY2IyMjUwMDQyODExMmFkMjNiZDVlMDliOTA2ODA4MGYwYzU0MyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAK
QEAgLTQxLDEwICs0MSw5IEBAIEludGVybmFsRnVuY3Rpb246OkludGVybmFsRnVuY3Rpb24oVlB0
clN0ZWFsaW5nSGFja1R5cGUpCiB7CiB9CiAKLUludGVybmFsRnVuY3Rpb246OkludGVybmFsRnVu
Y3Rpb24oSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQotICAgIDogSlNOb25GaW5hbE9i
amVjdCgqZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQorSW50ZXJuYWxGdW5jdGlvbjo6SW50ZXJuYWxG
dW5jdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKKyAgICA6IEpTTm9uRmluYWxPYmplY3QoZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCksIHN0
cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbigqZ2xvYmFsRGF0YSwgbmFtZSk7CiB9CiAK
IHZvaWQgSW50ZXJuYWxGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5oCmluZGV4IGUwNWJiMTM0OTkwZTczYmEzYzI1
NmM3MjlkYjM4MTU0YmVhYmJkNGQuLjIzZGY2ZDM0NmVhN2RmODE0YTQ5NDcwYzc5YmFkYWRkYmQ3
ZjFlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1
bmN0aW9uLmgKQEAgLTUyLDcgKzUyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIC8vIE9u
bHkgdXNlZCB0byBhbGxvdyB1cyB0byBkZXRlcm1pbmUgdGhlIEpTRnVuY3Rpb24gdnB0cgogICAg
ICAgICBJbnRlcm5hbEZ1bmN0aW9uKFZQdHJTdGVhbGluZ0hhY2tUeXBlKTsKIAotICAgICAgICBJ
bnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFsRGF0YSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJl
KiwgY29uc3QgSWRlbnRpZmllciYpOworICAgICAgICBJbnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKik7CiAKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0ds
b2JhbERhdGEmLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAKaW5kZXggNWM5OWQ3YTY1NDM4ZDFjZTc5
ZGM3Y2I1MDVhODU3N2EzZjY5N2JlYi4uZGJjOTY3ZTAzNjc2ZmE3MjQwM2VlZjY5NWQ1NDk3MWM4
ZmJkODg1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3Rp
dmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRp
b24uY3BwCkBAIC00Niw3ICs0Niw2IEBAIEpTQWN0aXZhdGlvbjo6SlNBY3RpdmF0aW9uKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRXhlCiAgICAgLCBt
X3JlcXVpcmVzRHluYW1pY0NoZWNrcyhmdW5jdGlvbkV4ZWN1dGFibGUtPnVzZXNFdmFsKCkpCiAg
ICAgLCBtX2FyZ3VtZW50c1JlZ2lzdGVyKGZ1bmN0aW9uRXhlY3V0YWJsZS0+Z2VuZXJhdGVkQnl0
ZWNvZGUoKS5hcmd1bWVudHNSZWdpc3RlcigpKQogewotICAgIGZpbmlzaENyZWF0aW9uKGNhbGxG
cmFtZSk7CiB9CiAKIHZvaWQgSlNBY3RpdmF0aW9uOjpmaW5pc2hDcmVhdGlvbihDYWxsRnJhbWUq
IGNhbGxGcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QWN0aXZhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9u
LmgKaW5kZXggN2U4ZmQ5ODI2YTk3YjcyMDUyNTE0MzA4NmQyZjE0ODIzNDdjMDYwYy4uNzAxZTIx
OGVhYWQ4ZWIwNjM0YjA1ZTk3MmIxMTJjNDI0MDc4MjA1YiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgKQEAgLTQ4LDcgKzQ4LDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKICAgICAgICAgc3RhdGljIEpTQWN0aXZhdGlvbiogY3JlYXRlKEpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEZ1bmN0aW9uRXhlY3V0YWJsZSog
ZnVuY0V4ZWMpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2Vs
bDxKU0FjdGl2YXRpb24+KGdsb2JhbERhdGEuaGVhcCkpIEpTQWN0aXZhdGlvbihjYWxsRnJhbWUs
IGZ1bmNFeGVjKTsKKyAgICAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbiA9IG5ldyAo
YWxsb2NhdGVDZWxsPEpTQWN0aXZhdGlvbj4oZ2xvYmFsRGF0YS5oZWFwKSkgSlNBY3RpdmF0aW9u
KGNhbGxGcmFtZSwgZnVuY0V4ZWMpOworICAgICAgICAgICAgYWN0aXZhdGlvbi0+ZmluaXNoQ3Jl
YXRpb24oY2FsbEZyYW1lKTsKKyAgICAgICAgICAgIHJldHVybiBhY3RpdmF0aW9uOwogICAgICAg
ICB9CiAKICAgICAgICAgdmlydHVhbCB+SlNBY3RpdmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCAzMzAxODdlZWQ2OTgxNWYz
ZGQxZDc1NTEzODRhNzU3MDU5ZTYzMDQ3Li5kMGE4MDJlZGUwNjZlNjhmOGVmNjFhMjE5NDVhZWE0
Y2U0ODE3NGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmgKQEAgLTE0Niw3ICsxNDYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBz
dGF0aWMgSlNHbG9iYWxPYmplY3QqIGNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChh
bGxvY2F0ZUNlbGw8SlNHbG9iYWxPYmplY3Q+KGdsb2JhbERhdGEuaGVhcCkpIEpTR2xvYmFsT2Jq
ZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8SlNHbG9iYWxPYmplY3Q+KGdsb2JhbERh
dGEuaGVhcCkpIEpTR2xvYmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSk7CisgICAgICAg
ICAgICBnbG9iYWxPYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIGdsb2JhbE9iamVj
dCk7CisgICAgICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0OwogICAgICAgICB9CiAKICAgICAg
ICAgc3RhdGljIEpTX0VYUE9SVERBVEEgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKQEAgLTE1OSwx
NyArMTYxLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAsIG1fd2Vha1JhbmRvbShz
dGF0aWNfY2FzdDx1bnNpZ25lZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0
czx1bnNpZ25lZD46Om1heCgpICsgMS4wKSkpCiAgICAgICAgICAgICAsIG1fZXZhbEVuYWJsZWQo
dHJ1ZSkKICAgICAgICAgewotICAgICAgICAgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwg
dGhpcyk7Ci0gICAgICAgIH0KLQotICAgICAgICBKU0dsb2JhbE9iamVjdChKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU09iamVjdCogdGhpc1ZhbHVlKQot
ICAgICAgICAgICAgOiBKU1ZhcmlhYmxlT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSwgJm1f
c3ltYm9sVGFibGUsIDApCi0gICAgICAgICAgICAsIG1fcmVnaXN0ZXJBcnJheVNpemUoMCkKLSAg
ICAgICAgICAgICwgbV9nbG9iYWxTY29wZUNoYWluKCkKLSAgICAgICAgICAgICwgbV93ZWFrUmFu
ZG9tKHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNf
bGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgKyAxLjApKSkKLSAgICAgICAgICAgICwgbV9ldmFsRW5h
YmxlZCh0cnVlKQotICAgICAgICB7Ci0gICAgICAgICAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxE
YXRhLCB0aGlzVmFsdWUpOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTT2JqZWN0KiB0aGlzVmFsdWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCmluZGV4IGZkODM2YWYwOTA1
M2YxMzEwNTljYzAxMzMyZDhlODdiZDU2NjkyOTAuLjQzMTRiNjVlMjZlNzg0ZDk5OTE0MjA4ZjFl
NWRiMDJjYzU4ZTNmNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT05PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05P
YmplY3QuY3BwCkBAIC01Niw3ICs1Niw2IEBAIG5hbWVzcGFjZSBKU0MgewogSlNPTk9iamVjdDo6
SlNPTk9iamVjdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKICAgICA6IEpTTm9uRmluYWxPYmplY3QoZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCks
IHN0cnVjdHVyZSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiB2
b2lkIEpTT05PYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmgKaW5kZXggNGU4
NWJmMTFhYjJjMTNlNjEzMzA1NzAyYTM4YTZkZTExYjAxOWE1Zi4uODJhMzJmOGVjNTdmZDRjNzkz
OTllYjE4NDFhYzE5MGE2ZGRjNzRiOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT05PYmplY3QuaApAQCAtMzgsNyArMzgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAg
ICBzdGF0aWMgSlNPTk9iamVjdCogY3JlYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxKU09OT2JqZWN0PigqZXhlYy0+aGVhcCgp
KSkgSlNPTk9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBKU09O
T2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxKU09OT2JqZWN0PigqZXhlYy0+aGVh
cCgpKSkgSlNPTk9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBv
YmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4g
b2JqZWN0OwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBj
cmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuaAppbmRleCA2Y2YzNTc1YWI2ODgw
ZGQxMmViYzZhNTY5ZThlYjA4ZWI0NDQwNWU2Li4yMjU2Mzg2NTE3NDA1NWRjMzA5YTU0ODdhYjZj
OTE5ZGJkMGRmMmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1N0YXRpY1Njb3BlT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNTdGF0aWNTY29wZU9iamVjdC5oCkBAIC0zNiw3ICszNiw5IEBAIG5hbWVzcGFjZSBKU0N7CiAK
ICAgICAgICAgc3RhdGljIEpTU3RhdGljU2NvcGVPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVk
IGF0dHJpYnV0ZXMpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRl
Q2VsbDxKU1N0YXRpY1Njb3BlT2JqZWN0PigqZXhlYy0+aGVhcCgpKSkgSlNTdGF0aWNTY29wZU9i
amVjdChleGVjLCBpZGVudGlmaWVyLCB2YWx1ZSwgYXR0cmlidXRlcyk7CisgICAgICAgICAgICBK
U1N0YXRpY1Njb3BlT2JqZWN0KiBzY29wZU9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPEpTU3Rh
dGljU2NvcGVPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBKU1N0YXRpY1Njb3BlT2JqZWN0KGV4ZWMp
OworICAgICAgICAgICAgc2NvcGVPYmplY3QtPmZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50aWZp
ZXIsIHZhbHVlLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgICAgIHJldHVybiBzY29wZU9iamVjdDsK
ICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCB2aXNpdENoaWxkcmVuKFNsb3RWaXNp
dG9yJik7CkBAIC01OSwxMCArNjEsOSBAQCBuYW1lc3BhY2UgSlNDewogICAgICAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBJc0Vudmlyb25tZW50UmVjb3JkIHwgT3Zl
cnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbiB8IE92ZXJy
aWRlc0dldFByb3BlcnR5TmFtZXMgfCBKU1ZhcmlhYmxlT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsK
IAogICAgIHByaXZhdGU6Ci0gICAgICAgIEpTU3RhdGljU2NvcGVPYmplY3QoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzKQorICAgICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0KEV4ZWNTdGF0ZSogZXhl
YykKICAgICAgICAgICAgIDogSlNWYXJpYWJsZU9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4
ZWMtPmdsb2JhbERhdGEoKS5zdGF0aWNTY29wZVN0cnVjdHVyZS5nZXQoKSwgJm1fc3ltYm9sVGFi
bGUsIHJlaW50ZXJwcmV0X2Nhc3Q8UmVnaXN0ZXIqPigmbV9yZWdpc3RlclN0b3JlICsgMSkpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGlkZW50aWZpZXIsIHZh
bHVlLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgU3ltYm9sVGFi
bGUgbV9zeW1ib2xUYWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTU3RyaW5nLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5n
LmNwcAppbmRleCBiZDM1NWY3NjZhYjRlM2I2OWYzMmM5ZWQyODNkZmMwOWQ5M2JjMTQ5Li40N2Ri
MWZmODAzMzBmOWJmMmVlNTNmNDFhYTI3NGU3YmQzZjRmMTk5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCkBAIC0yOTgsNyArMjk4LDkgQEAgVVN0cmluZyBK
U1N0cmluZzo6dG9TdHJpbmcoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogCiBpbmxpbmUgU3RyaW5n
T2JqZWN0KiBTdHJpbmdPYmplY3Q6OmNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTU3RyaW5nKiBzdHJpbmcpCiB7Ci0gICAgcmV0dXJuIG5ldyAo
YWxsb2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmluZ09iamVjdChl
eGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdC0+c3RyaW5nT2JqZWN0U3RydWN0dXJlKCks
IHN0cmluZyk7CisgICAgU3RyaW5nT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxT
dHJpbmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0
YSgpLCBnbG9iYWxPYmplY3QtPnN0cmluZ09iamVjdFN0cnVjdHVyZSgpKTsKKyAgICBvYmplY3Qt
PmZpbmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RyaW5nKTsKKyAgICByZXR1cm4g
b2JqZWN0OwogfQogCiBKU09iamVjdCogSlNTdHJpbmc6OnRvT2JqZWN0KEV4ZWNTdGF0ZSogZXhl
YywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKaW5kZXggMzE5Yzk3Y2FlZmM0YmJkZTk3OWI3
OGI5NGIzZDBmYWQ5Y2ZiODBmYi4uOGU1OTIwYTExYjliOTE3ZjFmYzhlYTRmOTAzNDc4YWQ2ZmVl
MzVkMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVj
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAK
QEAgLTg0LDEwICs4NCw5IEBAIGNvbnN0IENsYXNzSW5mbyBNYXRoT2JqZWN0OjpzX2luZm8gPSB7
ICJNYXRoIiwgJkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgMCwgRXhlCiBAZW5kCiAqLwogCi1N
YXRoT2JqZWN0OjpNYXRoT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitNYXRoT2JqZWN0OjpNYXRoT2JqZWN0
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAg
IDogSlNOb25GaW5hbE9iamVjdChnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJl
KQogewotICAgIGZpbmlzaENyZWF0aW9uKGV4ZWMsIGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQg
TWF0aE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTWF0aE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVj
dC5oCmluZGV4IGJlZjkzMTBhYzhiMGU1YjJlNjI3NDdmYWM5YzY0ZmRiYTg2M2RjMDUuLjEwMWUy
NjY3YTVlODI3Njg3Mzk4NmZmNGQ3MTE5Y2ZlOTM5MjNjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmgKQEAgLTI3LDE0ICsyNywxNiBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIGNsYXNzIE1hdGhPYmplY3QgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7
CiAgICAgcHJpdmF0ZToKLSAgICAgICAgTWF0aE9iamVjdChFeGVjU3RhdGUqLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSopOworICAgICAgICBNYXRoT2JqZWN0KEpTR2xvYmFsT2JqZWN0Kiwg
U3RydWN0dXJlKik7CiAKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgSlNOb25GaW5hbE9i
amVjdCBCYXNlOwogCiAgICAgICAgIHN0YXRpYyBNYXRoT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRl
KiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPE1hdGhP
YmplY3Q+KCpleGVjLT5oZWFwKCkpKSBNYXRoT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3Ry
dWN0dXJlKTsKKyAgICAgICAgICAgIE1hdGhPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2NhdGVD
ZWxsPE1hdGhPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBNYXRoT2JqZWN0KGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xv
YmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgIH0KICAgICAg
ICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqLCBjb25zdCBJZGVu
dGlmaWVyJiwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5RGVz
Y3JpcHRvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0
aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
YXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCA4YzY2ZjdlYWY1NTJiMmM1NjlhNmViZmQ2
M2EwMjQxOTU0MGEyYzdkLi41MzdhNDU3NmM3MDIzYzA5NzAyNWEyYmMwOGU2ZmI0YTNkOWY2MDYz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNv
bnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVF
cnJvckNvbnN0cnVjdG9yLmNwcApAQCAtMzMsOSArMzMsOSBAQCBBU1NFUlRfQ0xBU1NfRklUU19J
Tl9DRUxMKE5hdGl2ZUVycm9yQ29uc3RydWN0b3IpOwogY29uc3QgQ2xhc3NJbmZvIE5hdGl2ZUVy
cm9yQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246
OnNfaW5mbywgMCwgMCB9OwogCiBOYXRpdmVFcnJvckNvbnN0cnVjdG9yOjpOYXRpdmVFcnJvckNv
bnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25z
dCBVU3RyaW5nJiBuYW1lKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0
YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCBuYW1lKSkKKyAg
ICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiB7Ci0gICAgY29u
c3RydWN0b3JCb2R5KGV4ZWMsIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlU3RydWN0dXJlLCBuYW1l
KTsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZVN0cnVj
dHVyZSwgbmFtZSk7CiB9CiAKIHZvaWQgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6dmlzaXRDaGls
ZHJlbihTbG90VmlzaXRvciYgdmlzaXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaAppbmRleCBhMzlkODE0ZmEzZGYz
ZDU0NDcxZWMzMzU1NGViZGEyZjhkNTViYWY1Li42YTQ3M2RhOGJiODU2ZTAwOGI3MmUzNmUxOTRj
MzhlMjhlMGM2Y2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
YXRpdmVFcnJvckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oCkBAIC00OSw4ICs0OSw5IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlKCkgeyByZXR1cm4gbV9lcnJv
clN0cnVjdHVyZS5nZXQoKTsgfQogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2b2lkIGNvbnN0
cnVjdG9yQm9keShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBuYW1lKQorICAg
ICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IFVTdHJp
bmcmIG5hbWUpCiAgICAgICAgIHsKKyAgICAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGV4
ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCBuYW1lKSk7CiAgICAgICAgICAgICBB
U1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogCiAgICAgICAgICAgICBOYXRpdmVFcnJvclByb3Rv
dHlwZSogcHJvdG90eXBlID0gTmF0aXZlRXJyb3JQcm90b3R5cGU6OmNyZWF0ZShleGVjLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZVN0cnVjdHVyZSwgbmFtZSwgdGhpcyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5jcHAKaW5k
ZXggZTVmZTdjYzA1MmYwODZhNmNhNTVlNWVlYTU5YWQ5NDk4OTVjYjc5Zi4uNWIyODk5ZWEzMGMx
OTMxNzg3YTIxMjM0MzcxZTZiMDNiZTE5ZjFkNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmNwcApAQCAtMzAsMTUgKzMw
LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKE5hdGl2
ZUVycm9yUHJvdG90eXBlKTsKIAotTmF0aXZlRXJyb3JQcm90b3R5cGU6Ok5hdGl2ZUVycm9yUHJv
dG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFVTdHJpbmcmIG5hbWUsIE5hdGl2ZUVycm9yQ29uc3Ry
dWN0b3IqIGNvbnN0cnVjdG9yKQotICAgIDogRXJyb3JQcm90b3R5cGUoZXhlYywgZ2xvYmFsT2Jq
ZWN0LCBzdHJ1Y3R1cmUpCitOYXRpdmVFcnJvclByb3RvdHlwZTo6TmF0aXZlRXJyb3JQcm90b3R5
cGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgVVN0cmluZyYgbmFtZUFuZE1lc3NhZ2UsIE5hdGl2ZUVycm9y
Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yKQorICAgIDogRXJyb3JQcm90b3R5cGUoZXhlYywgc3Ry
dWN0dXJlKQogewotICAgIGNvbnN0cnVjdG9yQm9keShleGVjLCBuYW1lLCBjb25zdHJ1Y3Rvcik7
CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBuYW1lQW5kTWVzc2FnZSwg
Y29uc3RydWN0b3IpOwogfQogCi1pbmxpbmUgdm9pZCBOYXRpdmVFcnJvclByb3RvdHlwZTo6Y29u
c3RydWN0b3JCb2R5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgVVN0cmluZyYgbmFtZSwgTmF0aXZl
RXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IpCitpbmxpbmUgdm9pZCBOYXRpdmVFcnJvclBy
b3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBVU3RyaW5nJiBuYW1lQW5kTWVzc2FnZSwgTmF0aXZlRXJyb3JD
b25zdHJ1Y3RvciogY29uc3RydWN0b3IpCiB7Ci0gICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERh
dGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm5hbWUsIGpzU3RyaW5nKGV4ZWMsIG5hbWUpLCBE
b250RW51bSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsK
KyAgICBwdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCku
bmFtZSwganNTdHJpbmcoZXhlYywgbmFtZUFuZE1lc3NhZ2UpLCBEb250RW51bSk7CiAgICAgcHV0
RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm1lc3NhZ2Us
IGpzRW1wdHlTdHJpbmcoZXhlYyksIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3QoZXhlYy0+Z2xv
YmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IsIGNvbnN0cnVjdG9y
LCBEb250RW51bSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TmF0aXZlRXJyb3JQcm90b3R5cGUuaAppbmRleCAzMzQ5MmJkOGRmMzI5NzVlMWE4ZjQ3ZmQxY2Ez
YjBiYTA3YTI0OWEyLi5kODk0YWI0ZjM1MzA2YThmYTc5YmVhOWFjNGU5NzE3OGZmNzVkMDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3Rv
dHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJv
dG90eXBlLmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KIAog
ICAgIHByb3RlY3RlZDoKLSAgICAgICAgdm9pZCBjb25zdHJ1Y3RvckJvZHkoRXhlY1N0YXRlKiwg
Y29uc3QgVVN0cmluZyYgbmFtZSwgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvciopOworICAgICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgVVN0
cmluZyYgbmFtZUFuZE1lc3NhZ2UsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IqKTsKICAgICB9Owog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAppbmRleCA0YjdmNjgzNmYxYWYzOGUzOTQ4MTU2YmQz
YjEwYWE1NGI0N2I2NjkxLi42MzhlM2ZmOWI1NWRlNjJhNTYxNmQwNzFhZTkwNjIyZmMzZDU5Yzgx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3Ry
dWN0b3IuY3BwCkBAIC01NSw4ICs1NSwxNCBAQCBjb25zdCBDbGFzc0luZm8gTnVtYmVyQ29uc3Ry
dWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaQogKi8K
IAogTnVtYmVyQ29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE51bWJl
clByb3RvdHlwZSogbnVtYmVyUHJvdG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhl
Yy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVj
LCBudW1iZXJQcm90b3R5cGUtPnNfaW5mby5jbGFzc05hbWUpKQorICAgIDogSW50ZXJuYWxGdW5j
dGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkgCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhl
YywgbnVtYmVyUHJvdG90eXBlKTsKK30KKwordm9pZCBOdW1iZXJDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBOdW1iZXJQcm90b3R5cGUqIG51bWJlclByb3RvdHlw
ZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIElkZW50
aWZpZXIoZXhlYywgbnVtYmVyUHJvdG90eXBlLT5zX2luZm8uY2xhc3NOYW1lKSk7CiAgICAgQVNT
RVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIAogICAgIC8vIE51bWJlci5Qcm90b3R5cGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCmluZGV4
IDc1ZDMzN2EzMDA2ODJhOTQ2OWIzODE1ZmZjZTlhMDdiYjRiMTU1Y2QuLjFlZGQwMTQ3NDJmOWVi
ZWIxZTQ1MmRkNjRkNDRjMTcwOGE1NThiYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaApAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgZW51bSB7IE5hTlZhbHVlLCBOZWdJbmZpbml0eSwgUG9zSW5maW5p
dHksIE1heFZhbHVlLCBNaW5WYWx1ZSB9OwogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIE51bWJlclByb3RvdHlwZSopOwogICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9w
ZXJ0eVNsb3QgfCBJbXBsZW1lbnRzSGFzSW5zdGFuY2UgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1
Y3R1cmVGbGFnczsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVtYmVyT2JqZWN0LmNwcAppbmRleCAyMjY3NmQwZmZhOGNjNzQ2YWQxNmQ2ZTQyOGYz
YmM4Y2Q3MGQ3NjJkLi5jZmJjMjNjNjI5OWUzOWM2ZDk5ZDM3ZTQwZjZhMjM3NzFiYjRiNmJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5jcHAKQEAg
LTM0LDcgKzM0LDYgQEAgY29uc3QgQ2xhc3NJbmZvIE51bWJlck9iamVjdDo6c19pbmZvID0geyAi
TnVtYmVyIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLAogTnVtYmVyT2JqZWN0OjpOdW1i
ZXJPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkK
ICAgICA6IEpTV3JhcHBlck9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgZmlu
aXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CiB9CiAKIHZvaWQgTnVtYmVyT2JqZWN0OjpmaW5pc2hD
cmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL051bWJlck9iamVjdC5oCmluZGV4IDlhMDUxMTMxYjJmMjkwN2I4ZWZjZDZlM2Vh
NTM1MGE2NGJhNjhmMDEuLmU2Y2Q0Y2YzODFjYzU5MjY2YzA1NTQ1YzhiYTI0NDkxZjVhZmM4Njcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5oCkBAIC0z
NSw3ICszNSw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBOdW1iZXJPYmpl
Y3QqIGNyZWF0ZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IChhbGxvY2F0ZUNlbGw8TnVtYmVy
T2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBOdW1iZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0
dXJlKTsKKyAgICAgICAgICAgIE51bWJlck9iamVjdCogbnVtYmVyID0gbmV3IChhbGxvY2F0ZUNl
bGw8TnVtYmVyT2JqZWN0PihnbG9iYWxEYXRhLmhlYXApKSBOdW1iZXJPYmplY3QoZ2xvYmFsRGF0
YSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIG51bWJlci0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFs
RGF0YSk7CisgICAgICAgICAgICByZXR1cm4gbnVtYmVyOwogICAgICAgICB9CiAKICAgICAgICAg
c3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcAppbmRleCA1Mjc2ODE3ODY0ZDliMzUwMDI5
ODQ3M2QzMTU4Mzk1NjI5ODZhNjc2Li45YjU3NjJiOTVlMTA1MDM0OTAzZDU4ZWNlNGFlMDMyODA4
N2NjNjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQ
cm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclBy
b3RvdHlwZS5jcHAKQEAgLTczLDYgKzczLDEyIEBAIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwo
TnVtYmVyUHJvdG90eXBlKTsKIE51bWJlclByb3RvdHlwZTo6TnVtYmVyUHJvdG90eXBlKEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAgICAgOiBOdW1iZXJPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUp
CiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBO
dW1iZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCkpOwogICAgIHNldEludGVybmFsVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBq
c051bWJlcigwKSk7CiAKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuaAppbmRleCAzZWFkZTZj
Njg4ZTg2MDFlMmNmYTQ0OWFmNDM3MmQ0YjUwMzhkZDFiLi4yMjViNTE1OTY3MGIwZWIzMDZlOTk2
MGM2NGE3MGIzZDIxMGRlODZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OdW1iZXJQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OdW1iZXJQcm90b3R5cGUuaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4
ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE51bWJlck9i
amVjdDo6U3RydWN0dXJlRmxhZ3M7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBbm9u
eW1vdXNTbG90Q291bnQgPSBOdW1iZXJPYmplY3Q6OkFub255bW91c1Nsb3RDb3VudCArIDE7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9y
LmNwcAppbmRleCBjMzI1ZmEwNzBiMWY3YmI5NDYwYzIxOGIyMGI2MmU3OGJiZDRiOGE1Li5kYzg3
MTAxODdhZWQ3ZWVmOTY0ZTA0Mzg2ODk5MjhjM2M4YjhjZGQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCkBAIC03Niw4ICs3
NiwxNCBAQCBjb25zdCBDbGFzc0luZm8gT2JqZWN0Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1
bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaQogKi8KIAogT2JqZWN0Q29uc3RydWN0b3I6
Ok9iamVjdENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE9iamVjdFByb3RvdHlwZSogb2JqZWN0UHJv
dG90eXBlKQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9i
YWxPYmplY3QsIHN0cnVjdHVyZSwgSWRlbnRpZmllcihleGVjLCAiT2JqZWN0IikpCisgICAgOiBJ
bnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENy
ZWF0aW9uKGV4ZWMsIG9iamVjdFByb3RvdHlwZSk7Cit9CisKK3ZvaWQgT2JqZWN0Q29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgT2JqZWN0UHJvdG90eXBlKiBvYmpl
Y3RQcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0
YSgpLCBJZGVudGlmaWVyKGV4ZWMsICJPYmplY3QiKSk7CiAgICAgLy8gRUNNQSAxNS4yLjMuMQog
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+
cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwgb2JqZWN0UHJvdG90eXBlLCBEb250RW51bSB8IERv
bnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgLy8gbm8uIG9mIGFyZ3VtZW50cyBmb3IgY29uc3Ry
dWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENv
bnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1
Y3Rvci5oCmluZGV4IDM4M2Y0MDI5Zjk2NDg4ZDJiMTgzMmI5ZjA0MThiYzMwY2FmY2ZkMGYuLjM4
YzQ4ZTg0OWZkMzE5NjlhZTllZTcyOWRhOGJlZGU5YmZkYTExMTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaApAQCAtNDcsNiArNDcs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIE9iamVjdFByb3RvdHlwZSopOwogICAg
ICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRP
d25Qcm9wZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAogICAg
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggYzhhMTMzYjQyNTY4NzMxNWZmNmU4MjFjMGJhMjdhNTdhMTVh
MzNlYS4uZmUwNmI2Y2Q0OTczY2FlZDc3MDU0MmRiZjFkOWU0MjZlODRjMWMxOCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcApA
QCAtOTYsOSArOTYsMTUgQEAgY29uc3QgQ2xhc3NJbmZvIFJlZ0V4cENvbnN0cnVjdG9yOjpzX2lu
Zm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2kKICovCiAKIFJlZ0V4cENv
bnN0cnVjdG9yOjpSZWdFeHBDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUq
IHJlZ0V4cFByb3RvdHlwZSkKLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERh
dGEoKSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIElkZW50aWZpZXIoZXhlYywgIlJlZ0V4cCIp
KQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAs
IGQoYWRvcHRQdHIobmV3IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSkpCiB7CisgICAgZmluaXNo
Q3JlYXRpb24oZXhlYywgcmVnRXhwUHJvdG90eXBlKTsKK30KKwordm9pZCBSZWdFeHBDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBSZWdFeHBQcm90b3R5cGUqIHJl
Z0V4cFByb3RvdHlwZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxE
YXRhKCksIElkZW50aWZpZXIoZXhlYywgIlJlZ0V4cCIpKTsKICAgICBBU1NFUlQoaW5oZXJpdHMo
JnNfaW5mbykpOwogCiAgICAgLy8gRUNNQSAxNS4xMC41LjEgUmVnRXhwLnByb3RvdHlwZQpAQCAt
MTA4LDEwICsxMTQsOSBAQCBSZWdFeHBDb25zdHJ1Y3Rvcjo6UmVnRXhwQ29uc3RydWN0b3IoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZQogICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygp
Lmxlbmd0aCwganNOdW1iZXIoMiksIFJlYWRPbmx5IHwgRG9udERlbGV0ZSB8IERvbnRFbnVtKTsK
IH0KIAotUmVnRXhwTWF0Y2hlc0FycmF5OjpSZWdFeHBNYXRjaGVzQXJyYXkoRXhlY1N0YXRlKiBl
eGVjLCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUqIGRhdGEpCitSZWdFeHBNYXRjaGVzQXJyYXk6
OlJlZ0V4cE1hdGNoZXNBcnJheShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgOiBKU0FycmF5KGV4ZWMt
Pmdsb2JhbERhdGEoKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5yZWdFeHBNYXRjaGVz
QXJyYXlTdHJ1Y3R1cmUoKSkKIHsKLSAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRh
KCksIGRhdGEpOwogfQogCiB2b2lkIFJlZ0V4cE1hdGNoZXNBcnJheTo6ZmluaXNoQ3JlYXRpb24o
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUqIGRhdGEp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1
Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3Iu
aAppbmRleCBjMDJkMDZkN2MyYzU4Zjg5Y2U3ZWRjYTc0ZmIxNjc1YzdhYjBhZThjLi5iNWIyYjMw
MjY2MTY5ZTY4NmY1ZjdhMmVhMGY2NmEzZjgyZGRjOTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKQEAgLTkwLDYgKzkwLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTVmFsdWUgZ2V0UmlnaHRDb250ZXh0KEV4ZWNTdGF0
ZSopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEV4ZWNTdGF0ZSosIFJlZ0V4cFByb3RvdHlwZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBs
ZW1lbnRzSGFzSW5zdGFuY2UgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAog
ICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBNYXRjaGVzQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cE1hdGNoZXNBcnJheS5oCmluZGV4IDg3ZDU5YzcxNGViNTRkZjI4MTczZGZlZGViZGVkNTQ2ZjY1
MWMzYWIuLmFkOTRlMDdkYTdjMTNmOWIxYjNjNGU3MGI2NmU1NjZhZmE3YTlmOGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCkBA
IC0yNiwxNCArMjYsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHBNYXRj
aGVzQXJyYXkgOiBwdWJsaWMgSlNBcnJheSB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgUmVnRXhw
TWF0Y2hlc0FycmF5KEV4ZWNTdGF0ZSosIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSopOworICAg
ICAgICBSZWdFeHBNYXRjaGVzQXJyYXkoRXhlY1N0YXRlKik7CiAKICAgICBwdWJsaWM6CiAgICAg
ICAgIHR5cGVkZWYgSlNBcnJheSBCYXNlOwogCiAgICAgICAgIHN0YXRpYyBSZWdFeHBNYXRjaGVz
QXJyYXkqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSog
Y3RvclByaXZhdGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRl
Q2VsbDxSZWdFeHBNYXRjaGVzQXJyYXk+KCpleGVjLT5oZWFwKCkpKSBSZWdFeHBNYXRjaGVzQXJy
YXkoZXhlYywgY3RvclByaXZhdGUpOworICAgICAgICAgICAgUmVnRXhwTWF0Y2hlc0FycmF5KiBy
ZWdFeHAgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBNYXRjaGVzQXJyYXk+KCpleGVjLT5oZWFw
KCkpKSBSZWdFeHBNYXRjaGVzQXJyYXkoZXhlYyk7CisgICAgICAgICAgICByZWdFeHAtPmZpbmlz
aENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgY3RvclByaXZhdGUpOworICAgICAgICAgICAg
cmV0dXJuIHJlZ0V4cDsKICAgICAgICAgfQogICAgICAgICB2aXJ0dWFsIH5SZWdFeHBNYXRjaGVz
QXJyYXkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVn
RXhwT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVj
dC5jcHAKaW5kZXggNzBiNzA3YzI3ODVmYTQ4ZTE2YjQ1ZjEzNWNiYmY5NmIxMTU2MGMwMS4uYmFl
OTA4NjFlYTUzNTkwNmI5ZWE1NjVhYzdhZDJjMzQ0YzFlNmM1ZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCkBAIC02Niw3ICs2Niw2IEBAIFJl
Z0V4cE9iamVjdDo6UmVnRXhwT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBSCiAgICAgOiBKU05vbkZpbmFsT2JqZWN0KGdsb2JhbE9iamVj
dC0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiAgICAgLCBkKGFkb3B0UHRyKG5ldyBSZWdFeHBP
YmplY3REYXRhKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCB0aGlzLCByZWdFeHApKSkKIHsK
LSAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiB2b2lkIFJlZ0V4cE9iamVj
dDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMmYwNzc1ZjFjZWJk
NDZkN2Q5NmNlZjM0NzRmM2ZlOWViYzVhNzdmOC4uNDlkZGQzN2IzMjM5NzIwYTY2NmQ2MDhiOWVl
MjZjZDRkZmNmZjVmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UmVnRXhwT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
T2JqZWN0LmgKQEAgLTMyLDEyICszMiwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBz
dGF0aWMgUmVnRXhwT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwKiByZWdFeHApCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBPYmpl
Y3Q+KCpleGVjLT5oZWFwKCkpKSBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUs
IHJlZ0V4cCk7CisgICAgICAgICAgICBSZWdFeHBPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2Nh
dGVDZWxsPFJlZ0V4cE9iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFJlZ0V4cE9iamVjdChnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSwgcmVnRXhwKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3Jl
YXRpb24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAg
IH0KICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBSZWdFeHBPYmplY3QqIGNyZWF0ZShKU0dsb2Jh
bERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBSZWdFeHAqIHJlZ0V4cCkKICAgICAgICAgewotICAgICAgICAgICAgcmV0
dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFJlZ0V4cE9iamVjdD4oZ2xvYmFsRGF0YS5oZWFwKSkgUmVn
RXhwT2JqZWN0KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCByZWdFeHApOworICAgICAgICAgICAg
UmVnRXhwT2JqZWN0KiBvYmplY3QgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSZWdFeHBPYmplY3Q+KGds
b2JhbERhdGEuaGVhcCkpIFJlZ0V4cE9iamVjdChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgcmVn
RXhwKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsK
KyAgICAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFs
IH5SZWdFeHBPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBQcm90b3R5cGUuY3BwCmluZGV4IDhiZmM5OWY1NDUwNWFlYzRmMmUyY2Q5NjI0NzZlNzg4
MmM5Mzg2NWYuLjkxYjg4Njk3ZjNkYjhiNzgwNGFmZjJiMDhlYWQ4ZDgyNzg0OTNmZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcApA
QCAtNjUsNiArNjUsNyBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFJlZ0V4cFByb3RvdHlw
ZSk7CiBSZWdFeHBQcm90b3R5cGU6OlJlZ0V4cFByb3RvdHlwZShFeGVjU3RhdGUqLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwKiByZWdF
eHApCiAgICAgOiBSZWdFeHBPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHJlZ0V4cCkK
IHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogfQogCiBib29sIFJlZ0V4cFBy
b3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMWQzYjFj
N2ExYjI5NTc5NWI2ZDE2YTU5YmQwMmVkYTIyNjJkZWM3ZS4uZGJiMTYxZjBiZDFlNTNlMGJmOTRm
NTEzNTlhYTVjYmE4MDJmZTA1NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcApAQCAtNDgsOCArNDgsMTQgQEAgY29uc3QgQ2xh
c3NJbmZvIFN0cmluZ0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5h
bEZ1bmN0aW9uOjpzX2kKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoU3RyaW5nQ29uc3RydWN0
b3IpOwogCiBTdHJpbmdDb25zdHJ1Y3Rvcjo6U3RyaW5nQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
U3RyaW5nUHJvdG90eXBlKiBzdHJpbmdQcm90b3R5cGUpCi0gICAgOiBJbnRlcm5hbEZ1bmN0aW9u
KCZleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBJZGVudGlmaWVy
KGV4ZWMsIHN0cmluZ1Byb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSkpCisgICAgOiBJ
bnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQogeworICAgIGZpbmlzaENy
ZWF0aW9uKGV4ZWMsIHN0cmluZ1Byb3RvdHlwZSk7Cit9CisKK3ZvaWQgU3RyaW5nQ29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgU3RyaW5nUHJvdG90eXBlKiBzdHJp
bmdQcm90b3R5cGUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0
YSgpLCBJZGVudGlmaWVyKGV4ZWMsIHN0cmluZ1Byb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNz
TmFtZSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPmdsb2JhbERhdGEo
KSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwgc3RyaW5nUHJvdG90eXBlLCBSZWFk
T25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBq
c051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKaW5kZXgg
YTk0NGU1NWM2NTVjZDNhZDUxOTQxMDFhYzI3MzllZDhjNWQwYmUzYi4uOGFiYWQ5ZGVkMWI0NmY2
ODQxNTM0MGE3MGUwY2M5ZDlmM2VlMTBkNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCkBAIC00OCw2ICs0OCw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgcHJpdmF0ZToKICAgICAgICAgU3RyaW5nQ29uc3RydWN0b3IoRXhlY1N0
YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBTdHJpbmdQcm90b3R5cGUqKTsKKyAg
ICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBTdHJpbmdQcm90b3R5cGUqKTsK
ICAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoQ29uc3RydWN0
RGF0YSYpOwogICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRhKENhbGxEYXRhJik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVj
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwCmlu
ZGV4IGI4ZmFkOWU0OTczNzdhY2E3NDU3MDEzY2RhMzcwM2I4ZjI3MDU5MzMuLmY2ZDY5ZDEwOTUy
NjRlNjE5MWU1N2Y1YzQyYzgwNzQ0NGY2MDA3N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcApAQCAtMjksMTAgKzI5LDkgQEAgQVNTRVJUX0NM
QVNTX0ZJVFNfSU5fQ0VMTChTdHJpbmdPYmplY3QpOwogCiBjb25zdCBDbGFzc0luZm8gU3RyaW5n
T2JqZWN0OjpzX2luZm8gPSB7ICJTdHJpbmciLCAmSlNXcmFwcGVyT2JqZWN0OjpzX2luZm8sIDAs
IDAgfTsKIAotU3RyaW5nT2JqZWN0OjpTdHJpbmdPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNTdHJpbmcqIHN0cmluZykKK1N0cmluZ09iamVj
dDo6U3RyaW5nT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAgICAgOiBKU1dyYXBwZXJPYmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQogewot
ICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHN0cmluZyk7CiB9CiAKIHZvaWQgU3RyaW5n
T2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTU3RyaW5n
KiBzdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJp
bmdPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5o
CmluZGV4IGE3NzcyMjBjNjZjNjRlNTA5NDYxYjU3YWM1MmEzMTlmYzRjZTI0ODYuLjE4YWZlNzJk
ZWQ0ZDc5MWYyNjkxMDBiNjRmZDY1MjBmZGZiNzU5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCkBAIC0zMywxMiArMzMsMTYgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHN0YXRpYyBTdHJpbmdPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgICAgICB7CiAgICAgICAgICAgICBKU1N0cmlu
Zyogc3RyaW5nID0ganNFbXB0eVN0cmluZyhleGVjKTsKLSAgICAgICAgICAgIHJldHVybiBuZXcg
KGFsbG9jYXRlQ2VsbDxTdHJpbmdPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBTdHJpbmdPYmplY3Qo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUsIHN0cmluZyk7ICAKKyAgICAgICAgICAgIFN0
cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8U3RyaW5nT2JqZWN0PigqZXhl
Yy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKTsg
IAorICAgICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCks
IHN0cmluZyk7CisgICAgICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgICAgICB9CiAgICAgICAg
IHN0YXRpYyBTdHJpbmdPYmplY3QqIGNyZWF0ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBVU3RyaW5nJiBzdHIpCiAgICAgICAgIHsKICAgICAgICAgICAgIEpT
U3RyaW5nKiBzdHJpbmcgPSBqc1N0cmluZyhleGVjLCBzdHIpOwotICAgICAgICAgICAgcmV0dXJu
IG5ldyAoYWxsb2NhdGVDZWxsPFN0cmluZ09iamVjdD4oKmV4ZWMtPmhlYXAoKSkpIFN0cmluZ09i
amVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSwgc3RyaW5nKTsKKyAgICAgICAgICAg
IFN0cmluZ09iamVjdCogb2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8U3RyaW5nT2JqZWN0Pigq
ZXhlYy0+aGVhcCgpKSkgU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJl
KTsKKyAgICAgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24oZXhlYy0+Z2xvYmFsRGF0YSgp
LCBzdHJpbmcpOworICAgICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICAgICAgfQogICAgICAg
ICBzdGF0aWMgU3RyaW5nT2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3Qq
LCBKU1N0cmluZyopOwogCkBAIC02Miw3ICs2Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHBy
b3RlY3RlZDoKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmLCBKU1N0
cmluZyopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBP
dmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwg
SlNXcmFwcGVyT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKLSAgICAgICAgU3RyaW5nT2JqZWN0KEpT
R2xvYmFsRGF0YSYsIFN0cnVjdHVyZSosIEpTU3RyaW5nKik7CisgICAgICAgIFN0cmluZ09iamVj
dChKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUqKTsKICAgICB9OwogCiAgICAgU3RyaW5nT2JqZWN0
KiBhc1N0cmluZ09iamVjdChKU1ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3RUaGF0TWFzcXVlcmFkZXNB
c1VuZGVmaW5lZC5oCmluZGV4IGEwNDQ2NGE2MDYwZmVmNDE0NjNmMjYyZWZmMjk1YmE4NjVmYWM5
NTMuLmUyMWY5YTEwNjYwOTE2Y2ZlYjVhODEyNjk2NDFhZGYwNTRlZTE1ZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVyYWRl
c0FzVW5kZWZpbmVkLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5n
T2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQuaApAQCAtNDEsOCArNDEsOSBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFN0cmluZ09iamVjdFRoYXRNYXNx
dWVyYWRlc0FzVW5kZWZpbmVkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEpTU3RyaW5nKiBzdHJpbmcpCi0gICAgICAgICAgICA6IFN0cmluZ09iamVjdChleGVjLT5nbG9i
YWxEYXRhKCksIHN0cnVjdHVyZSwgc3RyaW5nKQorICAgICAgICAgICAgOiBTdHJpbmdPYmplY3Qo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiAgICAgICAgIHsKKyAgICAgICAgICAgIGZp
bmlzaENyZWF0aW9uKGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RyaW5nKTsKICAgICAgICAgfQogCiAg
ICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG8pIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAK
aW5kZXggZTE0ZDk3NzI2Njk1NTY4ODlhODM3NjNkMmFiZjI4OTA0MjQwMzhjNC4uNTkwMzkwOWI5
NGQyZGU0NTgxYzQ3MzQwYjQwMDJkZjY4ODBhYjNhNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCkBAIC0xMzEsOSArMTMxLDE1IEBA
IGNvbnN0IENsYXNzSW5mbyBTdHJpbmdQcm90b3R5cGU6OnNfaW5mbyA9IHsgIlN0cmluZyIsICZT
dHJpbmdPYmplY3Q6OnNfaW5mbywgMCwKICovCiAKIC8vIEVDTUEgMTUuNS40Ci1TdHJpbmdQcm90
b3R5cGU6OlN0cmluZ1Byb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0cmluZyogc3RyaW5nKQotICAg
IDogU3RyaW5nT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlLCBzdHJpbmcpCitT
dHJpbmdQcm90b3R5cGU6OlN0cmluZ1Byb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1N0cmluZyogbmFt
ZUFuZE1lc3NhZ2UpCisgICAgOiBTdHJpbmdPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1
Y3R1cmUpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBuYW1lQW5k
TWVzc2FnZSk7Cit9CisKK3ZvaWQgU3RyaW5nUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTU3RyaW5nKiBuYW1l
QW5kTWVzc2FnZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRh
KCksIG5hbWVBbmRNZXNzYWdlKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogCiAg
ICAgcHV0QW5vbnltb3VzVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCAwLCBnbG9iYWxPYmplY3Qp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90
eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuaApp
bmRleCA2YTAzMTVmZTJiODJjYWUxNzI0N2M2ZTFlNjNlNmYzYTg0MTRiNDg0Li42NTFmOWFjM2Rk
NGY1N2RhYjcyOGJiMDUyNjFjNTc4OWIxOGM2MWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuaApAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CiAgICAgICAg
IAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUq
LCBKU0dsb2JhbE9iamVjdCosIEpTU3RyaW5nKik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IFN0cmlu
Z09iamVjdDo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICAgICAgQ09NUElMRV9BU1NFUlQoIVN0cmlu
Z09iamVjdDo6QW5vbnltb3VzU2xvdENvdW50LCBTdHJpbmdQcm90b3R5cGVfc3RvbXBzX29uX3lv
dXJfYW5vbnltb3VzX3Nsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0No
YW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKaW5kZXggYTczOTM4Njc3
NDBhMDY1NWIzNTRjOTZmMGE1MzMxMzlmZDM3OGI1MS4uY2Q5MDdiMDE5MTc3ZDI1Y2Q2YzlmZTg1
NDkwNGE2ODY3OTJlZDFkNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTEtMDktMDkgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4K
KworICAgICAgICBVbnppcCBpbml0aWFsaXphdGlvbiBsaXN0cyBhbmQgY29uc3RydWN0b3JzIGlu
IEpTQ2VsbCBoaWVyYXJjaHkgKDUvNykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY3NDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ29tcGxldGVkIHRoZSBmaWZ0aCBsZXZlbCBvZiB0aGUgcmVmYWN0b3Jp
bmcgdG8gYWRkIGZpbmlzaENyZWF0aW9uKCkgCisgICAgICAgIG1ldGhvZHMgdG8gYWxsIGNsYXNz
ZXMgd2l0aGluIHRoZSBKU0NlbGwgaGllcmFyY2h5IHdpdGggbm9uLXRyaXZpYWwgCisgICAgICAg
IGNvbnN0cnVjdG9yIGJvZGllcy4KKworICAgICAgICBUaGlzIHByaW1hcmlseSBjb25zaXN0cyBv
ZiBwdXNoaW5nIHRoZSBjYWxscyB0byBmaW5pc2hDcmVhdGlvbigpIGRvd24gCisgICAgICAgIGlu
dG8gdGhlIGNvbnN0cnVjdG9ycyBvZiB0aGUgc3ViY2xhc3NlcyBvZiB0aGUgc2Vjb25kIGxldmVs
IG9mIHRoZSBoaWVyYXJjaHkgCisgICAgICAgIGFzIHdlbGwgYXMgcHVsbGluZyB0aGUgZmluaXNo
Q3JlYXRpb24oKSBjYWxscyBvdXQgaW50byB0aGUgY2xhc3MncyBjb3JyZXNwb25kaW5nCisgICAg
ICAgIGNyZWF0ZSgpIG1ldGhvZCBpZiBpdCBoYXMgb25lLiAgRG9pbmcgYm90aCBzaW11bHRhbmVv
dXNseSBhbGxvd3MgdXMgdG8gCisgICAgICAgIG1haW50YWluIHRoZSBpbnZhcmlhbnQgdGhhdCB0
aGUgZmluaXNoQ3JlYXRpb24oKSBtZXRob2QgY2hhaW4gaXMgY2FsbGVkIGV4YWN0bHkgCisgICAg
ICAgIG9uY2UgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBhbiBvYmplY3QsIHNpbmNlIGNhbGxpbmcg
aXQgYW55IG90aGVyIG51bWJlciBvZiAKKyAgICAgICAgdGltZXMgKDAsIDIsIG9yIG1vcmUpIHdp
bGwgY2F1c2UgYW4gYXNzZXJ0aW9uIGZhaWx1cmUuCisKKyAgICAgICAgKiBKU1J1bi5jcHA6Cisg
ICAgICAgIChKU0dsdWVHbG9iYWxPYmplY3Q6OkpTR2x1ZUdsb2JhbE9iamVjdCk6CisKIDIwMTEt
MDktMDggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdGhl
IENvbXBsZXRpb24gb2JqZWN0IGZyb20gSlNDLCBJIGhhdmUgbmV2ZXIgbGlrZWQgaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dEdsdWUvSlNSdW4uY3BwCmluZGV4IDYzMTkyZTJjOGEzMmZmNzBlMGFmZDliNGUzNWYzNjkwMzIx
M2FkODMuLjA2NDI2MzRlNzc4MjZmYTNmMWNkMjc3ODk5YjVhYzVmYzM3OTVhMmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRHbHVlL0pTUnVuLmNwcApAQCAtMzgsNiArMzgsNyBAQCBKU0dsdWVHbG9iYWxPYmplY3Q6OkpT
R2x1ZUdsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3Ry
dQogICAgICwgbV9mbGFncyhmbGFncykKICAgICAsIG1fdXNlck9iamVjdFN0cnVjdHVyZShnbG9i
YWxEYXRhLCB1c2VyT2JqZWN0U3RydWN0dXJlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2Jh
bERhdGEsIHRoaXMpOwogfQogCiBKU1J1bjo6SlNSdW4oQ0ZTdHJpbmdSZWYgc291cmNlLCBKU0Zs
YWdzIGluRmxhZ3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWMxODY0OWJjY2IyNjBiZmUwZTRiNjg1NjQ2MzM3
YzdhYTk4NjVjMS4uZDYxNGQyMDg0MGZhN2MxNDZhY2MzZjljYmJiZTg5NzZiNGQwNWE2YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDgzIEBACisyMDExLTA5LTA5ICBNYXJrIEhhaG5lbmJlcmcgIDxt
aGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlz
dHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBKU0NlbGwgaGllcmFyY2h5ICg1LzcpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAg
ICAgICBDb21wbGV0ZWQgdGhlIGZpZnRoIGxldmVsIG9mIHRoZSByZWZhY3RvcmluZyB0byBhZGQg
ZmluaXNoQ3JlYXRpb24oKSAKKyAgICAgICAgbWV0aG9kcyB0byBhbGwgY2xhc3NlcyB3aXRoaW4g
dGhlIEpTQ2VsbCBoaWVyYXJjaHkgd2l0aCBub24tdHJpdmlhbCAKKyAgICAgICAgY29uc3RydWN0
b3IgYm9kaWVzLgorCisgICAgICAgIFRoaXMgcHJpbWFyaWx5IGNvbnNpc3RzIG9mIHB1c2hpbmcg
dGhlIGNhbGxzIHRvIGZpbmlzaENyZWF0aW9uKCkgZG93biAKKyAgICAgICAgaW50byB0aGUgY29u
c3RydWN0b3JzIG9mIHRoZSBzdWJjbGFzc2VzIG9mIHRoZSBzZWNvbmQgbGV2ZWwgb2YgdGhlIGhp
ZXJhcmNoeSAKKyAgICAgICAgYXMgd2VsbCBhcyBwdWxsaW5nIHRoZSBmaW5pc2hDcmVhdGlvbigp
IGNhbGxzIG91dCBpbnRvIHRoZSBjbGFzcydzIGNvcnJlc3BvbmRpbmcKKyAgICAgICAgY3JlYXRl
KCkgbWV0aG9kIGlmIGl0IGhhcyBvbmUuICBEb2luZyBib3RoIHNpbXVsdGFuZW91c2x5IGFsbG93
cyB1cyB0byAKKyAgICAgICAgbWFpbnRhaW4gdGhlIGludmFyaWFudCB0aGF0IHRoZSBmaW5pc2hD
cmVhdGlvbigpIG1ldGhvZCBjaGFpbiBpcyBjYWxsZWQgZXhhY3RseSAKKyAgICAgICAgb25jZSBk
dXJpbmcgdGhlIGNyZWF0aW9uIG9mIGFuIG9iamVjdCwgc2luY2UgY2FsbGluZyBpdCBhbnkgb3Ro
ZXIgbnVtYmVyIG9mIAorICAgICAgICB0aW1lcyAoMCwgMiwgb3IgbW9yZSkgd2lsbCBjYXVzZSBh
biBhc3NlcnRpb24gZmFpbHVyZS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6RE9NQ29u
c3RydWN0b3JPYmplY3Q6OkRPTUNvbnN0cnVjdG9yT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2Jh
bE9iamVjdDo6SlNET01HbG9iYWxPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01HbG9i
YWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUds
b2JhbE9iamVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3Bw
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OmNyZWF0ZSk6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNET01XcmFwcGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdyYXBwZXI6OkpTRE9NV3Jh
cHBlcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06Cisg
ICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVz
dEludGVyZmFjZTo6SlNUZXN0SW50ZXJmYWNlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE9iajo6SlNUZXN0T2JqKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZTo6SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKToKKyAgICAgICAg
KiBicmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpD
UnVudGltZU9iamVjdDo6Q1J1bnRpbWVPYmplY3QpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6
Q1J1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBicmlkZ2UvYy9DUnVu
dGltZU9iamVjdC5oOgorICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0
LmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkphdmFSdW50aW1lT2JqZWN0OjpKYXZhUnVu
dGltZU9iamVjdCk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpKYXZhUnVudGltZU9iamVjdDo6
ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2Jq
ZWN0Lmg6CisgICAgICAgICogYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaDoKKyAgICAg
ICAgKiBicmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5tbToKKyAgICAgICAgKEpTQzo6Qmlu
ZGluZ3M6Ok9iakNSdW50aW1lT2JqZWN0OjpPYmpDUnVudGltZU9iamVjdCk6CisgICAgICAgIChK
U0M6OkJpbmRpbmdzOjpPYmpDUnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIGJyaWRnZS9vYmpjL29iamNfcnVudGltZS5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6
T2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpjcmVhdGUpOgorICAgICAgICAqIGJyaWRnZS9vYmpjL29i
amNfcnVudGltZS5tbToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6Ok9iamNGYWxsYmFja09iamVj
dEltcDo6T2JqY0ZhbGxiYWNrT2JqZWN0SW1wKToKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfaW5z
dGFuY2UuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRSdW50aW1lT2JqZWN0OjpRdFJ1
bnRpbWVPYmplY3QpOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9waXhtYXBydW50aW1lLmNwcDoK
KyAgICAgICAgKEpTQzo6QmluZGluZ3M6OlF0UGl4bWFwUnVudGltZU9iamVjdDo6UXRQaXhtYXBS
dW50aW1lT2JqZWN0KToKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfcnVudGltZS5jcHA6CisgICAg
ICAgIChKU0M6OkJpbmRpbmdzOjpRdFJ1bnRpbWVNZXRob2Q6OlF0UnVudGltZU1ldGhvZCk6Cisg
ICAgICAgIChKU0M6OkJpbmRpbmdzOjpRdFJ1bnRpbWVNZXRob2Q6OmZpbmlzaENyZWF0aW9uKToK
KyAgICAgICAgKiBicmlkZ2UvcXQvcXRfcnVudGltZS5oOgorICAgICAgICAqIGJyaWRnZS9ydW50
aW1lX2FycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6UnVudGltZUFycmF5OjpSdW50aW1lQXJyYXkp
OgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX2FycmF5Lmg6CisgICAgICAgIChKU0M6OlJ1bnRp
bWVBcnJheTo6Y3JlYXRlKToKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9tZXRob2QuY3BwOgor
ICAgICAgICAoSlNDOjpSdW50aW1lTWV0aG9kOjpSdW50aW1lTWV0aG9kKToKKyAgICAgICAgKEpT
Qzo6UnVudGltZU1ldGhvZDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJyaWRnZS9ydW50
aW1lX21ldGhvZC5oOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5jcHA6CisgICAg
ICAgIChKU0M6OkJpbmRpbmdzOjpSdW50aW1lT2JqZWN0OjpSdW50aW1lT2JqZWN0KToKKyAgICAg
ICAgKiBicmlkZ2UvcnVudGltZV9vYmplY3QuaDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OlJ1
bnRpbWVPYmplY3Q6OmNyZWF0ZSk6CisKIDIwMTEtMDktMDggIEFiaGlzaGVrIEFyeWEgIDxpbmZl
cm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICA6YmVmb3JlIGNvbnRlbnQgcmVuZGVyaW5nIGlz
c3VlcyB3aXRoIGxpc3QgbWFya2VycyBhbmQgcnVuLWlucy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5k
ZXggNjE5NDRlMGEyMzIwNWY2YWQzMWQyMWI3NjBmYTQ1MTIzM2YzZWFhYS4uYmI1MzkxNDM1OWNk
NjM2MDEyYjAwZTM3MzVjZWU0YWIxYzE3NTA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE2
NDksNiArMTY0OSw3IEBAIF9fWk4zSlNDMTNSdW50aW1lTWV0aG9kQzJFUE5TXzlFeGVjU3RhdGVF
UE5TXzE0SlNHbG9iYWxPYmplY3RFUE5TXzlTdHJ1Y3R1cmVFUktOCiBfX1pOM0pTQzhCaW5kaW5n
czEwUm9vdE9iamVjdEQxRXYKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTFnZXRD
YWxsRGF0YUVSTlNfOENhbGxEYXRhRQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3Qx
NGRlbGV0ZVByb3BlcnR5RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRQorX19aTjNK
U0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxNGZpbmlzaENyZWF0aW9uRVBOU18xNEpTR2xvYmFs
T2JqZWN0RQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxNmdldENvbnN0cnVjdERh
dGFFUk5TXzEzQ29uc3RydWN0RGF0YUUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0
MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5T
XzEyUHJvcGVydHlTbG90RQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxOWdldE93
blByb3BlcnR5TmFtZXNFUE5TXzlFeGVjU3RhdGVFUk5TXzE3UHJvcGVydHlOYW1lQXJyYXlFTlNf
MTVFbnVtZXJhdGlvbk1vZGVFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5oCmluZGV4IDQ2NTMwYzM4MTUzMDNhMjVlMzk4YTBiYWIzMTFmMzlmMTc3ZTZhZDQuLmMxYzgz
N2VlMjcwMDJmYjQ5MDYwOWRiMTE5Mzg5YzEwYmM4MTllNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC01NSw2ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgRE9NQ29uc3RydWN0b3JPYmplY3QoSlNDOjpTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgICAgIDogSlNE
T01XcmFwcGVyKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogICAgICAgICB7CisgICAgICAgICAg
ICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSk7CiAgICAgICAgIH0K
ICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUds
b2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdC5jcHAKaW5kZXggNGRhZmE2OGUwNDU2YWVhNjdmZTI2ZWQxZmJjMTBmMWJiZjQ2Y2M0OC4u
ZjllYWY2YTQ5YjFlOWY0YmM4NTk3ZTBjOTIxNTY5ZjMxNDg2NmMwNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtNDMsMTAgKzQz
LDE2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNvbnN0IENsYXNzSW5mbyBKU0RPTUdsb2JhbE9i
amVjdDo6c19pbmZvID0geyAiRE9NR2xvYmFsT2JqZWN0IiwgJkpTR2xvYmFsT2JqZWN0OjpzX2lu
Zm8sIDAsIDAgfTsKIAogSlNET01HbG9iYWxPYmplY3Q6OkpTRE9NR2xvYmFsT2JqZWN0KEpTR2xv
YmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9N
V3JhcHBlcldvcmxkPiB3b3JsZCwgSlNPYmplY3QqIHRoaXNWYWx1ZSkKLSAgICA6IEpTR2xvYmFs
T2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSwgdGhpc1ZhbHVlKQorICAgIDogSlNHbG9iYWxP
YmplY3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQogICAgICwgbV9jdXJyZW50RXZlbnQoMCkKICAg
ICAsIG1fd29ybGQod29ybGQpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgdGhp
c1ZhbHVlKTsKK30KKwordm9pZCBKU0RPTUdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNH
bG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU09iamVjdCogdGhpc1ZhbHVlKQoreworICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEsIHRoaXNWYWx1ZSk7CiAgICAgQVNTRVJUKGluaGVy
aXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
R2xvYmFsT2JqZWN0LmgKaW5kZXggZTBhNmEwNzJhZThiN2VkMGM5NjNjMzUzMWFjYjY2MmI3OWQ0
ZWZlOS4uOWE4MzhiZjlhODNjNDljMWM0MWUzY2IyNzc1MTA4YWM0OTdmMDA4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCkBAIC00Nyw2ICs0
Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgc3RydWN0IEpTRE9NR2xvYmFsT2Jq
ZWN0RGF0YTsKIAogICAgICAgICBKU0RPTUdsb2JhbE9iamVjdChKU0M6OkpTR2xvYmFsRGF0YSYs
IEpTQzo6U3RydWN0dXJlKiwgUGFzc1JlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OkpTT2Jq
ZWN0KiB0aGlzVmFsdWUpOworICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6SlNHbG9i
YWxEYXRhJiwgSlNDOjpKU09iamVjdCogdGhpc1ZhbHVlKTsKIAogICAgIHB1YmxpYzoKICAgICAg
ICAgSlNET01TdHJ1Y3R1cmVNYXAmIHN0cnVjdHVyZXMoKSB7IHJldHVybiBtX3N0cnVjdHVyZXM7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hl
bGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAK
aW5kZXggMWVkZmQyZTZhNzM0MjZjYTdlNjkwZWE3Njk4ZThlYzI5NzRhMzJiYS4uMTU4OGQ0ZmVk
MDIxZWU2Y2M2NmZmNTM5YjhmMDA0NmEzZWJkOTRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKQEAgLTE4MiwxMyArMTgyLDYgQEAgdm9p
ZCogSlNET01XaW5kb3dTaGVsbDo6b3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKQogICAgIHJldHVy
biBoZWFwLmFsbG9jYXRlKHNpemUpOwogfQogCi1KU0RPTVdpbmRvd1NoZWxsKiBKU0RPTVdpbmRv
d1NoZWxsOjpjcmVhdGUoUGFzc1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywgSlNDOjpTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkKLXsKLSAgICBKU0RPTVdpbmRv
d1NoZWxsKiBzaGVsbCA9IG5ldyBKU0RPTVdpbmRvd1NoZWxsKHN0cnVjdHVyZSwgd29ybGQpOwot
ICAgIHNoZWxsLT5maW5pc2hDcmVhdGlvbigqd29ybGQtPmdsb2JhbERhdGEoKSwgd2luZG93KTsK
LSAgICByZXR1cm4gc2hlbGw7IAotfQotCiAvLyAtLS0tCiAvLyBDb252ZXJzaW9uIG1ldGhvZHMK
IC8vIC0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93U2hlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwu
aAppbmRleCA1MzRlYTJhY2YyNjZiMWMwNTFlM2Q5MmU1ZDM1MDI4ZTk3NTI3ZWIwLi44N2QwMjZk
YmUwNThjZmZjMTg2ZTU5NTI1MDNiODI1OTMwNTczZDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCkBAIC01NSw3ICs1NSwxMiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgRE9NV2luZG93KiBpbXBsKCkgY29uc3Q7CiAKLSAgICAg
ICAgc3RhdGljIEpTRE9NV2luZG93U2hlbGwqIGNyZWF0ZShQYXNzUmVmUHRyPERPTVdpbmRvdz4s
IEpTQzo6U3RydWN0dXJlKiwgRE9NV3JhcHBlcldvcmxkKik7CisgICAgICAgIHN0YXRpYyBKU0RP
TVdpbmRvd1NoZWxsKiBjcmVhdGUoUGFzc1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywgSlNDOjpT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkgCisgICAgICAgIHsK
KyAgICAgICAgICAgIEpTRE9NV2luZG93U2hlbGwqIHNoZWxsID0gbmV3IEpTRE9NV2luZG93U2hl
bGwoc3RydWN0dXJlLCB3b3JsZCk7CisgICAgICAgICAgICBzaGVsbC0+ZmluaXNoQ3JlYXRpb24o
KndvcmxkLT5nbG9iYWxEYXRhKCksIHdpbmRvdyk7CisgICAgICAgICAgICByZXR1cm4gc2hlbGw7
IAorICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1
Y3R1cmUoSlNDOjpKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTQzo6SlNWYWx1ZSBwcm90b3R5
cGUpIAogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdyYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5o
CmluZGV4IDZhMWI0Mzg5MzhmYTE0MWI0ODBjMDFlYjhkZjQwMTdmOTZmMTNlOWIuLjJkYTNmYTAz
NGQ2ZjYxYjk4ZmEwOGNkODM1NmE2ZDM1MzRiMzg3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV3JhcHBlci5oCkBAIC01OSw3ICs1OSw2IEBAIHByb3RlY3RlZDoKICAgICAg
ICAgLy8gbmV3IEphdmFTY3JpcHQgb2JqZWN0cyBvbiBkZXRhY2hlZCB3aW5kb3dzIGR1ZSB0byBE
T01XaW5kb3c6OmRvY3VtZW50KCkKICAgICAgICAgLy8gbmVlZGluZyB0byByZWFjaCB0aHJvdWdo
IHRoZSBmcmFtZSB0byBnZXQgdG8gdGhlIERvY3VtZW50Ki4gIFNlZSBidWcgMjc2NDAuCiAgICAg
ICAgIC8vIEFTU0VSVChnbG9iYWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0g
ICAgICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpKTsKICAgICB9
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCmluZGV4IDAwNDNjYmQxZDkxZDM1NjI2YzAwZTU5MzkxNWRiZDNmOTcyYTFjYTku
LjFmMjRiOTRkMjc5Mzk2MzkyMTNhNGEyNzk1MTY5MjM4MDA5ZTdkZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNTE0
LDIwICsxNTE0LDI0IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIEFkZElu
Y2x1ZGVzRm9yVHlwZUluSW1wbCgiSlNET01XaW5kb3dTaGVsbCIpOwogICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiR7Y2xhc3NOYW1lfTo6JGNsYXNzTmFtZShKU0dsb2JhbERhdGEmIGdsb2Jh
bERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPCRpbXBsVHlwZT4gaW1wbCwg
SlNET01XaW5kb3dTaGVsbCogc2hlbGwpXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgOiAkcGFyZW50Q2xhc3NOYW1lKGdsb2JhbERhdGEsIHN0cnVjdHVyZSwgaW1wbCwgc2hl
bGwpXG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICB9IGVsc2lm
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJc1dvcmtlckNvbnRleHQifSkgewog
ICAgICAgICBBZGRJbmNsdWRlc0ZvclR5cGVJbkltcGwoJGludGVyZmFjZU5hbWUpOwogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiR7Y2xhc3NOYW1lfTo6JGNsYXNzTmFtZShKU0dsb2JhbERh
dGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPCRpbXBsVHlw
ZT4gaW1wbClcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICA6ICRwYXJlbnRD
bGFzc05hbWUoZ2xvYmFsRGF0YSwgc3RydWN0dXJlLCBpbXBsKVxuIik7CisgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAie1xuIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIke2NsYXNzTmFtZX06OiRjbGFzc05hbWUoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFBhc3NSZWZQdHI8JGltcGxUeXBlPiBpbXBs
KVxuIik7CiAgICAgICAgIGlmICgkaGFzUGFyZW50KSB7CiAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICA6ICRwYXJlbnRDbGFzc05hbWUoc3RydWN0dXJlLCBnbG9iYWxPYmplY3Qs
IGltcGwpXG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICA6ICRwYXJl
bnRDbGFzc05hbWUoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpXG4iKTsKICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgICwgbV9pbXBsKGltcGwpXG4iKTsKKyAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAie1xuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSk7XG4iKTsKICAg
ICAgICAgfQogICAgIH0KLSAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7XG4iKTsKICAgICBp
ZiAoJG51bUNhY2hlZEF0dHJpYnV0ZXMgPiAwKSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIGZvciAodW5zaWduZWQgaSA9IEJhc2U6OkFub255bW91c1Nsb3RDb3VudDsgaSA8IEFu
b255bW91c1Nsb3RDb3VudDsgaSsrKVxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGM1
NjZmYTk3OGNmZmU5NWNhNTUzYWIyMGQwZTc3OTNlZmRlZDIyZmIuLjI2ZGUxODNmZWI3YzZhNDNj
YWVkYjljZWRlYzRmMmE0MGRlNmZiYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC0xNDYs
NiArMTQ2LDcgQEAgSlNUZXN0SW50ZXJmYWNlOjpKU1Rlc3RJbnRlcmZhY2UoU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWwKICAgICA6IEpTRE9NV3JhcHBlcihz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKICAgICAsIG1faW1wbChpbXBsKQogeworICAgIGZpbmlz
aENyZWF0aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpKTsKICAgICBBU1NFUlQoaW5oZXJp
dHMoJnNfaW5mbykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5jcHAKaW5kZXggN2QzZDkwMjFkNjUwMDc0NzFiZGNlZGEwYWE2ZTM4OTZlYTAzZmU4YS4u
NGI1ODU2ZWRlNDA2MmY5MDA0ODBmYWM5OWIyNzAwMmQwODg1YTM4NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAtMTQyLDYgKzE0Miw3IEBAIEpT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIo
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsCiAgICAgOiBKU0RPTVdyYXBwZXIoc3RydWN0dXJlLCBnbG9i
YWxPYmplY3QpCiAgICAgLCBtX2ltcGwoaW1wbCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9i
YWxPYmplY3QtPmdsb2JhbERhdGEoKSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmNwcAppbmRleCAzYTNmYTU3NTM4MDVhZDc1OGM2ZDJiMWI5M2RmMTdiZDdmNjNl
MzU0Li5kMmQ2MzdlOGFlZjA0NTYyNzYzOWJmZDRjMWYwYzNhMGUwNWU1MDk3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cApAQCAtMjk3LDYgKzI5Nyw3IEBAIEpTVGVzdE9iajo6SlNUZXN0T2JqKFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQYXNzCiAgICAgOiBKU0RP
TVdyYXBwZXIoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiAgICAgLCBtX2ltcGwoaW1wbCkKIHsK
KyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSk7CiAgICAgQVNT
RVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAppbmRleCAyMjFjYTRkZmU2NTc5MjNm
ZjQ1M2NkMDg1MTBlMjMxZmMxNzgwZmRjLi5iMDc5MzM5ODFiYzgzNjA2MDJmZTIzOWE3MWZkYjNj
ZTkwNWFiM2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlLmNwcApAQCAtMTMyLDYgKzEzMiw3IEBAIEpTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZTo6SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
KFN0cnVjCiAgICAgOiBKU0RPTVdyYXBwZXIoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCiAgICAg
LCBtX2ltcGwoaW1wbCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPmdsb2Jh
bERhdGEoKSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwCmluZGV4IGM2M2U1ODZkMjFjMWUyYWM2
Njc5MjYzMTg2MzMyYjBjNTAxMTU4YzYuLmI0NjBhOTE0NTJmNjU2YjAzMzk3ODM1NzQ2ODVhY2Yw
ZGUyMWQxNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHAK
QEAgLTQwLDYgKzQwLDEyIEBAIGNvbnN0IENsYXNzSW5mbyBDUnVudGltZU9iamVjdDo6c19pbmZv
ID0geyAiQ1J1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVjdDo6c19pCiBDUnVudGltZU9iamVj
dDo6Q1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxDSW5zdGFuY2U+IGluc3Rh
bmNlKQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwg
aW5zdGFuY2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKK30KKwordm9p
ZCBDUnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOwogICAgIEFT
U0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVu
dGltZU9iamVjdC5oCmluZGV4IDZmZTdkZmFmNzdmYzBkMThjMGQwYzE1MWMxN2Y1YTdhM2ZkYjM3
OGMuLmVmMTljOGE2ZWIzMmUzNGU4N2E2MTA3OGI4NDVlMGU2MDBlN2IzMzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuaApAQCAtNjEsNiArNjEsNyBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgQ1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmpl
Y3QqLCBTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPENJbnN0YW5jZT4pOworICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmNwcAppbmRleCBmZmZlODU2ZGEw
ZDVlNTFiNjgyOGYyNmY1ZGExMWUxNmE3MTU4ZmQ0Li5kNjg0YWIwMmUzOTcwMjlmMTFmNWEyNTE0
YWNiMGFkMzEzZGIwZWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pz
Yy9KYXZhUnVudGltZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9q
c2MvSmF2YVJ1bnRpbWVPYmplY3QuY3BwCkBAIC0zOCw2ICszOCwxMiBAQCBjb25zdCBDbGFzc0lu
Zm8gSmF2YVJ1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsgIkphdmFSdW50aW1lT2JqZWN0IiwgJlJ1
bnRpbWVPYmplYwogSmF2YVJ1bnRpbWVPYmplY3Q6OkphdmFSdW50aW1lT2JqZWN0KEV4ZWNTdGF0
ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIFBhc3NSZWZQdHI8SmF2YUluc3RhbmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRpbWVPYmpl
Y3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZpbmlz
aENyZWF0aW9uKGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgSmF2YVJ1bnRpbWVPYmplY3Q6OmZp
bmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5m
bykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZh
UnVudGltZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRp
bWVPYmplY3QuaAppbmRleCA3MGEzY2U5ODEyNmU2MTNlMDY0YjYzODFhYzdiM2Q3YTc2OTkzMDdj
Li5iYjE3OTM4NjRiYTMzNTIwMWZlODAxMzllYWZhZDMzZGY3Mjc2MTM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmgKQEAgLTU5LDYg
KzU5LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIEphdmFSdW50aW1lT2JqZWN0KEV4ZWNT
dGF0ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgUGFzc1JlZlB0cjxKYXZhSW5zdGFu
Y2U+KTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVj
dC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaAppbmRl
eCBiZmExZjkxYzNiODM1YTM5NDZhOWJjOWEyOWE3ZmU2YmZjMWJjMDI3Li4wMzQwYzA1MWJlOWIx
MGNlYjE0OGY1ODQwMmZmZGNmZmJiMmJkMTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9vYmpjL09iakNSdW50aW1lT2JqZWN0LmgKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogCiBw
cml2YXRlOgogICAgIE9iakNSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0
KiwgUGFzc1JlZlB0cjxPYmpjSW5zdGFuY2U+LCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5tbSBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tCmluZGV4IGVhODYyNjMyZGVjNGNmZTdh
ZWRkNjFkZTU4NGJiMmQ1YzBlYjhmYTkuLmM1MWJkNGQyMGM5M2I2YWM4MDg4ZGRjZGRiYTI4Y2Yy
MGQ4Nzg5NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50
aW1lT2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1l
T2JqZWN0Lm1tCkBAIC0zOCw2ICszOCwxMiBAQCBjb25zdCBDbGFzc0luZm8gT2JqQ1J1bnRpbWVP
YmplY3Q6OnNfaW5mbyA9IHsgIk9iakNSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplYwogT2Jq
Q1J1bnRpbWVPYmplY3Q6Ok9iakNSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUGFzc1JlZlB0cjxPYmpjSW5zdGFuY2U+IGluc3RhbmNl
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZpbmlzaENyZWF0aW9uKGdsb2Jh
bE9iamVjdCk7Cit9CisKK3ZvaWQgT2JqQ1J1bnRpbWVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
Z2xvYmFsT2JqZWN0KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCmluZGV4IDVmNjFhZGZkNzE3NmRm
YWVlYjlmNGRjZjMxZTkyM2U5M2JmYjJkMTQuLjM0NjQ4NDhhYmRmMjYyOTgyMzFkZjJiNzZmYjU4
ZjUyN2ExOWQwZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNf
cnVudGltZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5o
CkBAIC05OCw3ICs5OCw5IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBkZXBy
ZWNhdGVkR2V0RE9NU3RydWN0dXJlIHVzZXMgdGhlIHByb3RvdHlwZSBvZmYgb2YgdGhlIHdyb25n
IGdsb2JhbCBvYmplY3QKICAgICAgICAgU3RydWN0dXJlKiBkb21TdHJ1Y3R1cmUgPSBXZWJDb3Jl
OjpkZXByZWNhdGVkR2V0RE9NU3RydWN0dXJlPE9iamNGYWxsYmFja09iamVjdEltcD4oZXhlYyk7
Ci0gICAgICAgIHJldHVybiBuZXcgKGFsbG9jYXRlQ2VsbDxPYmpjRmFsbGJhY2tPYmplY3RJbXA+
KCpleGVjLT5oZWFwKCkpKSBPYmpjRmFsbGJhY2tPYmplY3RJbXAoZ2xvYmFsT2JqZWN0LCBkb21T
dHJ1Y3R1cmUsIGluc3RhbmNlLCBwcm9wZXJ0eU5hbWUpOworICAgICAgICBPYmpjRmFsbGJhY2tP
YmplY3RJbXAqIGZhbGxiYWNrT2JqZWN0ID0gbmV3IChhbGxvY2F0ZUNlbGw8T2JqY0ZhbGxiYWNr
T2JqZWN0SW1wPigqZXhlYy0+aGVhcCgpKSkgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wKGdsb2JhbE9i
amVjdCwgZG9tU3RydWN0dXJlLCBpbnN0YW5jZSwgcHJvcGVydHlOYW1lKTsKKyAgICAgICAgZmFs
bGJhY2tPYmplY3QtPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVy
biBmYWxsYmFja09iamVjdDsKICAgICB9CiAKICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNf
aW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGlt
ZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbQppbmRleCA0
ZjlkNTA1NDkwNWU2NDMyZmI2Mjg1ODY1ZjRlZjk4OTFkYzA5OTZmLi4zMmMxNmJlZjdjY2M3ZjYy
ZjUyNDM3MGQ3ODVkNjc1Y2Q4ZWM2YjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvb2JqYy9vYmpjX3J1bnRpbWUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMv
b2JqY19ydW50aW1lLm1tCkBAIC0yMDEsOCArMjAxLDYgQEAgT2JqY0ZhbGxiYWNrT2JqZWN0SW1w
OjpPYmpjRmFsbGJhY2tPYmplY3RJbXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3Ry
dWMKICAgICAsIF9pbnN0YW5jZShpKQogICAgICwgX2l0ZW0ocHJvcGVydHlOYW1lKQogewotICAg
IGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7Ci0gICAgQVNTRVJUKHN0cnVjdHVyZS0+Z2xv
YmFsT2JqZWN0KCkgPT0gZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9pZCBPYmpjRmFsbGJhY2tPYmpl
Y3RJbXA6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcAppbmRleCA5ODk5MTYwZDE4MTA1NDlm
YTg1NDFjNzZlODVkYTY4NTZlOWRkMDAxLi5mYzFhMzQ2M2M4MDQxZmQzOTgwY2Y0Yzg1ZWJlNTFh
YTYzYWJhNDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFu
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAKQEAg
LTg1LDYgKzg1LDcgQEAgY29uc3QgQ2xhc3NJbmZvIFF0UnVudGltZU9iamVjdDo6c19pbmZvID0g
eyAiUXRSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplY3Q6OnMKIFF0UnVudGltZU9iamVjdDo6
UXRSdW50aW1lT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SW5zdGFuY2U+IGluc3RhbmNl
KQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgaW5z
dGFuY2UpCiB7CisgICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogLy8gUXRJ
bnN0YW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1
bnRpbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3Bw
CmluZGV4IDg3OWFjN2Q3ZWEyMDFlOGY1OTQzNjQ3NWZhOGRkNTJmNjVlYjYxOTQuLjY4NzQxYjQ5
YmRkODVhMjkzOWVkZWMzMzNmNDY4ODY0MGU5MTU2Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9xdC9xdF9waXhtYXBydW50aW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcXQvcXRfcGl4bWFwcnVudGltZS5jcHAKQEAgLTIyNCw2ICsyMjQsNyBAQCBwcml2YXRl
OgogUXRQaXhtYXBSdW50aW1lT2JqZWN0OjpRdFBpeG1hcFJ1bnRpbWVPYmplY3QoRXhlY1N0YXRl
KiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgUGFzc1JlZlB0cjxJbnN0YW5jZT4gaW5zdGFuY2UpCiAgICAgOiBSdW50aW1lT2JqZWN0KGV4
ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5jZSkKIHsKKyAgICBmaW5pc2hDcmVh
dGlvbihnbG9iYWxPYmplY3QpOwogfQogCiBjb25zdCBDbGFzc0luZm8gUXRQaXhtYXBSdW50aW1l
T2JqZWN0OjpzX2luZm8gPSB7ICJRdFBpeG1hcFJ1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVj
dDo6c19pbmZvLCAwLCAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQv
cXRfcnVudGltZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAK
aW5kZXggZDY2NWI2MWNmOTY3YTNmZTdmNzMzMzdhNWUwMzdmMjhiNmU1OWU5My4uNTgxZTQ0M2Q1
M2U3NjE1YzM0OWRlNTAyYzkyYjRiNTE2ZWZmNjEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9x
dC9xdF9ydW50aW1lLmNwcApAQCAtMTAwNiwxMiArMTAwNiwxOCBAQCBKU1ZhbHVlIGNvbnZlcnRR
VmFyaWFudFRvVmFsdWUoRXhlY1N0YXRlKiBleGVjLCBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+IHJv
b3QsIGNvbgogCiBjb25zdCBDbGFzc0luZm8gUXRSdW50aW1lTWV0aG9kOjpzX2luZm8gPSB7ICJR
dFJ1bnRpbWVNZXRob2QiLCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pbmZvLCAwLCAwIH07CiAKLVF0
UnVudGltZU1ldGhvZDo6UXRSdW50aW1lTWV0aG9kKFF0UnVudGltZU1ldGhvZERhdGEqIGRkLCBF
eGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBp
ZGVudCwgUGFzc1JlZlB0cjxRdEluc3RhbmNlPiBpbnN0KQotICAgIDogSW50ZXJuYWxGdW5jdGlv
bigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIHN0cnVj
dHVyZSwgaWRlbnQpCitRdFJ1bnRpbWVNZXRob2Q6OlF0UnVudGltZU1ldGhvZChRdFJ1bnRpbWVN
ZXRob2REYXRhKiBkZCwgRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29u
c3QgSWRlbnRpZmllciYgaWRlbnRpZmllciwgUGFzc1JlZlB0cjxRdEluc3RhbmNlPiBpbnN0YW5j
ZSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBz
dHJ1Y3R1cmUpCiAgICAgLCBkX3B0cihkZCkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLCBp
ZGVudGlmaWVyLCBpbnN0YW5jZSk7Cit9CisKK3ZvaWQgUXRSdW50aW1lTWV0aG9kOjpmaW5pc2hD
cmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIFBh
c3NSZWZQdHI8UXRJbnN0YW5jZT4gaW5zdGFuY2UpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24oZXhlYy0+Z2xvYmFsRGF0YSgpLCBpZGVudGlmaWVyKTsKICAgICBRV19EKFF0UnVudGltZU1l
dGhvZCk7Ci0gICAgZC0+bV9pbnN0YW5jZSA9IGluc3Q7CisgICAgZC0+bV9pbnN0YW5jZSA9IGlu
c3RhbmNlOwogICAgIGQtPm1fZmluYWxpemVyLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMs
IGQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGlt
ZS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuaAppbmRleCBkZWE2N2Qz
ZGVjZTM1ZDU1ZWY5ODFhMzA2ODM4ZGRlYzYwZDg3OGUzLi44YjZmMDM0ZGMzMWY1MGQ5OWJkMWUy
ZDhlM2ZlYzg2YTYyMmYxZWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQv
cXRfcnVudGltZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgK
QEAgLTE0NCw2ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6CisgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUGFzc1JlZlB0
cjxRdEluc3RhbmNlPik7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1l
cyB8IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzVmlzaXRDaGls
ZHJlbjsKIAogICAgIFF0UnVudGltZU1ldGhvZERhdGEgKmRfZnVuYygpIGNvbnN0IHtyZXR1cm4g
ZF9wdHI7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXku
Y3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwCmluZGV4IGUwMWEx
NWYzN2NjOTFjNDU4ZWRhMTQxYzc0ODZkOGMyNjljNmRjYjAuLjhhMDM3ZjkyNGRjYWE4MjA5Yzcx
ODE3MmUxYThjOGRjNzQ1M2MzM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9y
dW50aW1lX2FycmF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJh
eS5jcHAKQEAgLTM3LDEwICszNyw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjb25zdCBDbGFzc0lu
Zm8gUnVudGltZUFycmF5OjpzX2luZm8gPSB7ICJSdW50aW1lQXJyYXkiLCAmSlNBcnJheTo6c19p
bmZvLCAwLCAwIH07CiAKLVJ1bnRpbWVBcnJheTo6UnVudGltZUFycmF5KEV4ZWNTdGF0ZSogZXhl
YywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEJpbmRpbmdzOjpBcnJheSogYXJyYXkpCitSdW50aW1l
QXJyYXk6OlJ1bnRpbWVBcnJheShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogICAgIDogSlNBcnJheShleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKIHsKLSAgICBm
aW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGFycmF5KTsKIH0KIAogdm9pZCBSdW50
aW1lQXJyYXk6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgQmluZGlu
Z3M6OkFycmF5KiBhcnJheSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX2FycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCmluZGV4
IDEwMjFlN2QyMDYzZDBlNmYzNTljY2U4ZmI3ZDhlNTliODY1YThiMjMuLjZjYjhlYjMzZDdkYzY1
YjBkNDM2YTBhYmNmYTBmZmFkOGZhYzg4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9ydW50aW1lX2FycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVf
YXJyYXkuaApAQCAtNDEsNyArNDEsOSBAQCBwdWJsaWM6CiAgICAgICAgIC8vIEZJWE1FOiBkZXBy
ZWNhdGVkR2V0RE9NU3RydWN0dXJlIHVzZXMgdGhlIHByb3RvdHlwZSBvZmYgb2YgdGhlIHdyb25n
IGdsb2JhbCBvYmplY3QKICAgICAgICAgLy8gV2UgbmVlZCB0byBwYXNzIGluIHRoZSByaWdodCBn
bG9iYWwgb2JqZWN0IGZvciAiYXJyYXkiLgogICAgICAgICBTdHJ1Y3R1cmUqIGRvbVN0cnVjdHVy
ZSA9IFdlYkNvcmU6OmRlcHJlY2F0ZWRHZXRET01TdHJ1Y3R1cmU8UnVudGltZUFycmF5PihleGVj
KTsKLSAgICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFJ1bnRpbWVBcnJheT4oKmV4ZWMt
PmhlYXAoKSkpIFJ1bnRpbWVBcnJheShleGVjLCBkb21TdHJ1Y3R1cmUsIGFycmF5KTsKKyAgICAg
ICAgUnVudGltZUFycmF5KiBydW50aW1lQXJyYXkgPSBuZXcgKGFsbG9jYXRlQ2VsbDxSdW50aW1l
QXJyYXk+KCpleGVjLT5oZWFwKCkpKSBSdW50aW1lQXJyYXkoZXhlYywgZG9tU3RydWN0dXJlKTsK
KyAgICAgICAgcnVudGltZUFycmF5LT5maW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCks
IGFycmF5KTsKKyAgICAgICAgcmV0dXJuIHJ1bnRpbWVBcnJheTsKICAgICB9CiAKICAgICB0eXBl
ZGVmIEJpbmRpbmdzOjpBcnJheSBCaW5kaW5nc0FycmF5OwpAQCAtNzksNyArODEsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJp
ZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTQXJy
YXk6OlN0cnVjdHVyZUZsYWdzOwogCiBwcml2YXRlOgotICAgIFJ1bnRpbWVBcnJheShFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmUqLCBCaW5kaW5nczo6QXJyYXkqKTsKKyAgICBSdW50aW1lQXJyYXkoRXhl
Y1N0YXRlKiwgU3RydWN0dXJlKik7CiAgICAgc3RhdGljIEpTVmFsdWUgbGVuZ3RoR2V0dGVyKEV4
ZWNTdGF0ZSosIEpTVmFsdWUsIGNvbnN0IElkZW50aWZpZXImKTsKICAgICBzdGF0aWMgSlNWYWx1
ZSBpbmRleEdldHRlcihFeGVjU3RhdGUqLCBKU1ZhbHVlLCB1bnNpZ25lZCk7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAKaW5kZXggMjhmYmQzZjljMGQ5MTgwNjFl
NjlmYjE0NGFkYmU5YmI1ODRmMTM5Yy4uY2YyMzU1NTFkMzg0NjUwOWQxMTZmODJhZDdmYmUxNGIy
NWRmMjY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9k
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwCkBAIC00
NSw5ICs0NSwxNSBAQCBjb25zdCBDbGFzc0luZm8gUnVudGltZU1ldGhvZDo6c19pbmZvID0geyAi
UnVudGltZU1ldGhvZCIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzXwogCiBSdW50aW1lTWV0aG9kOjpS
dW50aW1lTWV0aG9kKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBCaW5kaW5n
czo6TWV0aG9kTGlzdCYgbSkKICAgICAvLyBDYWxsZXJzIHdpbGwgbmVlZCB0byBwYXNzIGluIHRo
ZSByaWdodCBnbG9iYWwgb2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBuYXRpdmUgb2JqZWN0
ICJtIi4KLSAgICA6IEludGVybmFsRnVuY3Rpb24oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50KQorICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSkKICAgICAsIF9tZXRob2RMaXN0KGFkb3B0UHRyKG5ldyBNZXRob2RM
aXN0KG0pKSkKIHsKKyAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIGlkZW50
KTsKK30KKwordm9pZCBSdW50aW1lTWV0aG9kOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIGNvbnN0IElkZW50aWZpZXImIGlkZW50KQoreworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKGdsb2JhbERhdGEsIGlkZW50KTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5m
bykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRo
b2QuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5oCmluZGV4IGNmODIw
NzNkZWE3YjBlMjRlNmUwMWQwYzI3MzE5MDkxNDFmNzExN2YuLjQ0YjA4N2FkMmI3ZDgyYWNlZGFh
ODJmYWQwM2RkMWI2OGUyODU5NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9y
dW50aW1lX21ldGhvZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhv
ZC5oCkBAIC01OCw2ICs1OCw3IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIFJ1bnRpbWVN
ZXRob2QoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBjb25zdCBJZGVu
dGlmaWVyJiBuYW1lLCBCaW5kaW5nczo6TWV0aG9kTGlzdCYpOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oSlNHbG9iYWxEYXRhJiwgY29uc3QgSWRlbnRpZmllciYpOwogICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8
IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdzOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5jcHAKaW5kZXggYmExZTdlNTMxYmM4OWFkMjNjZjAx
MDYzOTVkNzJiOGE5NGRkMWQxNy4uNWZmZjVlMzAyN2I3NWI0YWRhZmE0NGVhMTQwY2UwMWYyZTNm
NGRiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCkBAIC00MSw4
ICs0MSw2IEBAIFJ1bnRpbWVPYmplY3Q6OlJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlCiAgICAgOiBKU05vbkZpbmFsT2JqZWN0
KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCiAgICAgLCBtX2luc3RhbmNl
KGluc3RhbmNlKQogewotICAgIEFTU0VSVChzdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpID09IGds
b2JhbE9iamVjdCk7Ci0gICAgZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0KTsKIH0KIAogdm9p
ZCBSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaAppbmRleCBiMTJlODYxMWU1
MGIzNzNhM2IwMTYzZDljZTZkMjFiNmE3NWRlZDJkLi44N2I3ZjcwNjY3OWEyNjVjMjg1ZTdhNjVh
OWI2YTlhODRjMDYyZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGlt
ZV9vYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaApA
QCAtMzgsNyArMzgsOSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgUnVudGltZU9iamVjdCogY3Jl
YXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8SW5zdGFuY2U+IGluc3RhbmNlKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIG5ldyAoYWxsb2NhdGVDZWxsPFJ1bnRpbWVPYmplY3Q+KCpleGVjLT5oZWFw
KCkpKSBSdW50aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBpbnN0YW5j
ZSk7CisgICAgICAgIFJ1bnRpbWVPYmplY3QqIG9iamVjdCA9IG5ldyAoYWxsb2NhdGVDZWxsPFJ1
bnRpbWVPYmplY3Q+KCpleGVjLT5oZWFwKCkpKSBSdW50aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9i
amVjdCwgc3RydWN0dXJlLCBpbnN0YW5jZSk7CisgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRp
b24oZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICB9CiAKICAgICB2
aXJ0dWFsIH5SdW50aW1lT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMzM2NTI4MzYzYTc4
YzI1ZWZhYTMxZGJkZDRjMGJhZWQ3YzY1NDBmNS4uZDUzOTUxY2JhNjYyYjViMTBmNWJmYTkzODYy
NjRmY2JjOTc0ZmIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTA5
LTA5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAg
VW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBKU0NlbGwgaGll
cmFyY2h5ICg1LzcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NzQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIENvbXBsZXRlZCB0aGUgZmlmdGggbGV2ZWwgb2YgdGhlIHJlZmFjdG9yaW5nIHRvIGFkZCBm
aW5pc2hDcmVhdGlvbigpIAorICAgICAgICBtZXRob2RzIHRvIGFsbCBjbGFzc2VzIHdpdGhpbiB0
aGUgSlNDZWxsIGhpZXJhcmNoeSB3aXRoIG5vbi10cml2aWFsIAorICAgICAgICBjb25zdHJ1Y3Rv
ciBib2RpZXMuCisKKyAgICAgICAgVGhpcyBwcmltYXJpbHkgY29uc2lzdHMgb2YgcHVzaGluZyB0
aGUgY2FsbHMgdG8gZmluaXNoQ3JlYXRpb24oKSBkb3duIAorICAgICAgICBpbnRvIHRoZSBjb25z
dHJ1Y3RvcnMgb2YgdGhlIHN1YmNsYXNzZXMgb2YgdGhlIHNlY29uZCBsZXZlbCBvZiB0aGUgaGll
cmFyY2h5IAorICAgICAgICBhcyB3ZWxsIGFzIHB1bGxpbmcgdGhlIGZpbmlzaENyZWF0aW9uKCkg
Y2FsbHMgb3V0IGludG8gdGhlIGNsYXNzJ3MgY29ycmVzcG9uZGluZworICAgICAgICBjcmVhdGUo
KSBtZXRob2QgaWYgaXQgaGFzIG9uZS4gIERvaW5nIGJvdGggc2ltdWx0YW5lb3VzbHkgYWxsb3dz
IHVzIHRvIAorICAgICAgICBtYWludGFpbiB0aGUgaW52YXJpYW50IHRoYXQgdGhlIGZpbmlzaENy
ZWF0aW9uKCkgbWV0aG9kIGNoYWluIGlzIGNhbGxlZCBleGFjdGx5IAorICAgICAgICBvbmNlIGR1
cmluZyB0aGUgY3JlYXRpb24gb2YgYW4gb2JqZWN0LCBzaW5jZSBjYWxsaW5nIGl0IGFueSBvdGhl
ciBudW1iZXIgb2YgCisgICAgICAgIHRpbWVzICgwLCAyLCBvciBtb3JlKSB3aWxsIGNhdXNlIGFu
IGFzc2VydGlvbiBmYWlsdXJlLgorCisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50
aW1lT2JqZWN0Lmg6CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0
Lm1tOgorICAgICAgICAoV2ViS2l0OjpQcm94eVJ1bnRpbWVPYmplY3Q6OlByb3h5UnVudGltZU9i
amVjdCk6CisgICAgICAgIChXZWJLaXQ6OlByb3h5UnVudGltZU9iamVjdDo6ZmluaXNoQ3JlYXRp
b24pOgorCiAyMDExLTA5LTA4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmVtb3ZlIHRoZSBDb21wbGV0aW9uIG9iamVjdCBmcm9tIEpTQywgSSBoYXZlIG5ldmVyIGxp
a2VkIGl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94
eVJ1bnRpbWVPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5
UnVudGltZU9iamVjdC5oCmluZGV4IDMxMzcxNWFlYTRiNDNlY2YwMGVkZWRlY2VhMmQ5ZjY0OTVj
Mzk1YjAuLjVhZTk4Mzg1MDQwNGY1MWM2NDZlODJmYjcyODZjNzVhOTVkZDczNTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVj
dC5oCkBAIC01OSw2ICs1OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgSlNDOjpDbGFz
c0luZm8gc19pbmZvOwogcHJpdmF0ZToKICAgICBQcm94eVJ1bnRpbWVPYmplY3QoSlNDOjpFeGVj
U3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRy
PFByb3h5SW5zdGFuY2U+KTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6SlNHbG9iYWxP
YmplY3QqKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
SG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
SG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbQppbmRleCA4YTY0ODFlM2Q0NTJjYjNmYjZmODFi
MWVmMDM1NjkzMDFiYjMwYzRjLi41Y2IyNzQ5YzkyODgzOWE4NTNhNDFiZDk1NDA1Mzg1NDVmYWU1
ODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eVJ1
bnRpbWVPYmplY3QubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJv
eHlSdW50aW1lT2JqZWN0Lm1tCkBAIC0zOSw2ICszOSwxMiBAQCBjb25zdCBDbGFzc0luZm8gUHJv
eHlSdW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJQcm94eVJ1bnRpbWVPYmplY3QiLCAmUnVudGlt
ZU9iagogUHJveHlSdW50aW1lT2JqZWN0OjpQcm94eVJ1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
UGFzc1JlZlB0cjxQcm94eUluc3RhbmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1bnRpbWVPYmplY3Qo
ZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQogeworICAgIGZpbmlzaENy
ZWF0aW9uKGdsb2JhbE9iamVjdCk7Cit9CisKK3ZvaWQgUHJveHlSdW50aW1lT2JqZWN0OjpmaW5p
c2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8p
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDkwMmJjZDBkNmZjZTY3N2U3ZGU5MTU3NTE2NWMxZmU0ZWMw
MDNkNDUuLmJiOWVlYTQxNWQ3MWZiODc5NjJjZGI2YjBjZDA1OGM4ZjU5OWJiYjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMS0wOS0wOSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5l
bmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFu
ZCBjb25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNS83KQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV0ZWQgdGhlIGZpZnRoIGxldmVs
IG9mIHRoZSByZWZhY3RvcmluZyB0byBhZGQgZmluaXNoQ3JlYXRpb24oKSAKKyAgICAgICAgbWV0
aG9kcyB0byBhbGwgY2xhc3NlcyB3aXRoaW4gdGhlIEpTQ2VsbCBoaWVyYXJjaHkgd2l0aCBub24t
dHJpdmlhbCAKKyAgICAgICAgY29uc3RydWN0b3IgYm9kaWVzLgorCisgICAgICAgIFRoaXMgcHJp
bWFyaWx5IGNvbnNpc3RzIG9mIHB1c2hpbmcgdGhlIGNhbGxzIHRvIGZpbmlzaENyZWF0aW9uKCkg
ZG93biAKKyAgICAgICAgaW50byB0aGUgY29uc3RydWN0b3JzIG9mIHRoZSBzdWJjbGFzc2VzIG9m
IHRoZSBzZWNvbmQgbGV2ZWwgb2YgdGhlIGhpZXJhcmNoeSAKKyAgICAgICAgYXMgd2VsbCBhcyBw
dWxsaW5nIHRoZSBmaW5pc2hDcmVhdGlvbigpIGNhbGxzIG91dCBpbnRvIHRoZSBjbGFzcydzIGNv
cnJlc3BvbmRpbmcKKyAgICAgICAgY3JlYXRlKCkgbWV0aG9kIGlmIGl0IGhhcyBvbmUuICBEb2lu
ZyBib3RoIHNpbXVsdGFuZW91c2x5IGFsbG93cyB1cyB0byAKKyAgICAgICAgbWFpbnRhaW4gdGhl
IGludmFyaWFudCB0aGF0IHRoZSBmaW5pc2hDcmVhdGlvbigpIG1ldGhvZCBjaGFpbiBpcyBjYWxs
ZWQgZXhhY3RseSAKKyAgICAgICAgb25jZSBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIGFuIG9iamVj
dCwgc2luY2UgY2FsbGluZyBpdCBhbnkgb3RoZXIgbnVtYmVyIG9mIAorICAgICAgICB0aW1lcyAo
MCwgMiwgb3IgbW9yZSkgd2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6SlNOUE1ldGhvZDo6SlNOUE1ldGhvZCk6CisgICAgICAgIChXZWJLaXQ6OkpTTlBN
ZXRob2Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvSlNOUE1ldGhvZC5oOgorICAgICAgICAoV2ViS2l0OjpKU05QTWV0aG9kOjpjcmVhdGUp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6SlNOUE9iamVjdDo6SlNOUE9iamVjdCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaDoKKyAgICAgICAgKFdlYktpdDo6
SlNOUE9iamVjdDo6Y3JlYXRlKToKKwogMjAxMS0wOS0wOCAgTWFyayBSb3dlICA8bXJvd2VAYXBw
bGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85NzQyMzkzPiBTcGVsbCBjaGVja2lu
ZyBhIHRleHQgYXJlYSBjYXVzZXMgdGhlIHBhZ2UgdG8gcmVsb2FkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5jcHAK
aW5kZXggOGJiNTk2OWYxMDc2OGRiMzVmOWFkMGRiOTQ3OWNmOGE2NmVmYTVhMy4uNDEwYjIwMDYz
MGRkNGY2MWYyY2Q5NzY3N2JjNTU2ZGU1MjAwNWI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcApAQCAt
MzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Vycm9yLmg+CiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9KU0dsb2JhbE9iamVjdC5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2Jq
ZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9KU0hUTUxFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdElt
cGxlbWVudGVkLmg+CkBAIC00MSwxNyArNDIsMTcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNv
bnN0IENsYXNzSW5mbyBKU05QTWV0aG9kOjpzX2luZm8gPSB7ICJOUE1ldGhvZCIsICZJbnRlcm5h
bEZ1bmN0aW9uOjpzX2luZm8sIDAsIDAgfTsKIAotSlNOUE1ldGhvZDo6SlNOUE1ldGhvZChFeGVj
U3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUsIE5QSWRlbnRpZmllciBucElkZW50aWZpZXIsIFN0cnVjdHVyZSogc3RydWN0dXJl
KQotICAgIDogSW50ZXJuYWxGdW5jdGlvbigmZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmpl
Y3QsIHN0cnVjdHVyZSwgbmFtZSkKK0pTTlBNZXRob2Q6OkpTTlBNZXRob2QoRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Y29uc3QgSWRlbnRpZmllciYgbmFtZSwgTlBJZGVudGlmaWVyIG5wSWRlbnRpZmllcikKKyAgICA6
IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBtX25wSWRl
bnRpZmllcihucElkZW50aWZpZXIpCiB7Ci0gICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsK
KyAgICBmaW5pc2hDcmVhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIG5hbWUpOwogfQogCi1KU05Q
TWV0aG9kKiBKU05QTWV0aG9kOjpjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgTlBJZGVudGlmaWVyIG5w
SWRlbnQpCit2b2lkIEpTTlBNZXRob2Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgY29uc3QgSWRlbnRpZmllciYgbmFtZSkKIHsKLSAgICBKU0M6OlN0cnVjdHVyZSog
c3RydWN0dXJlID0gY3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2Jq
ZWN0LCBnbG9iYWxPYmplY3QtPmZ1bmN0aW9uUHJvdG90eXBlKCkpOwotICAgIHJldHVybiBuZXcg
KEpTQzo6YWxsb2NhdGVDZWxsPEpTTlBNZXRob2Q+KCpleGVjLT5oZWFwKCkpKSBKU05QTWV0aG9k
KGV4ZWMsIGdsb2JhbE9iamVjdCwgaWRlbnQsIG5wSWRlbnQsIHN0cnVjdHVyZSk7CisgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSwgbmFtZSk7CisgICAgQVNTRVJUKGluaGVyaXRz
KCZzX2luZm8pKTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2Fs
bE1ldGhvZChFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuaAppbmRleCBlZjljZTk0NWRjOTVi
MzczZDE5MGExOWE1MWEyOGJlMGI0MDYzOTdkLi5kYzViZTdjNzk4YWEzMDZjZjFlYWQwYTU0ZDJj
YTE0YTc0ZDNjYTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmgKQEAgLTI2LDcgKzI2LDkgQEAKICNpZm5kZWYg
SlNOUE1ldGhvZF9oCiAjZGVmaW5lIEpTTlBNZXRob2RfaAogCisjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnRl
cm5hbEZ1bmN0aW9uLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNHbG9iYWxPYmplY3Qu
aD4KIAogdHlwZWRlZiB2b2lkKiBOUElkZW50aWZpZXI7CiAKQEAgLTM3LDE0ICszOSwyMSBAQCBj
bGFzcyBKU05QTWV0aG9kIDogcHVibGljIEpTQzo6SW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6
CiAgICAgdHlwZWRlZiBKU0M6OkludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBK
U05QTWV0aG9kKiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
Y29uc3QgSlNDOjpJZGVudGlmaWVyJiwgTlBJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgSlNOUE1l
dGhvZCogY3JlYXRlKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgaWRlbnQsIE5QSWRlbnRpZmllciBu
cElkZW50KQorICAgIHsKKyAgICAgICAgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNyZWF0
ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0
LT5mdW5jdGlvblByb3RvdHlwZSgpKTsKKyAgICAgICAgcmV0dXJuIG5ldyAoSlNDOjphbGxvY2F0
ZUNlbGw8SlNOUE1ldGhvZD4oKmV4ZWMtPmhlYXAoKSkpIEpTTlBNZXRob2QoZXhlYywgZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50LCBucElkZW50KTsKKyAgICB9CiAKICAgICBzdGF0aWMg
Y29uc3QgSlNDOjpDbGFzc0luZm8gc19pbmZvOwogCiAgICAgTlBJZGVudGlmaWVyIG5wSWRlbnRp
ZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fbnBJZGVudGlmaWVyOyB9CiAKK3Byb3RlY3RlZDoKKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6SlNHbG9iYWxEYXRhJiwgY29uc3QgSlNDOjpJZGVu
dGlmaWVyJiBuYW1lKTsKKwogcHJpdmF0ZTogICAgCi0gICAgSlNOUE1ldGhvZChKU0M6OkV4ZWNT
dGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBKU0M6OklkZW50aWZpZXImLCBOUElk
ZW50aWZpZXIsIEpTQzo6U3RydWN0dXJlKik7CisgICAgSlNOUE1ldGhvZChKU0M6OkV4ZWNTdGF0
ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlN0cnVjdHVyZSosIGNvbnN0IEpTQzo6SWRl
bnRpZmllciYsIE5QSWRlbnRpZmllcik7CiAKICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNy
ZWF0ZVN0cnVjdHVyZShKU0M6OkpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05Q
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9K
U05QT2JqZWN0LmNwcAppbmRleCBiYmFmMDRmODhmMjZjM2VmNzAxZjU2ZjIxNjAyMDcxZTkzNTc0
NmI5Li40NDNkYWIxYzA3NmU0YjBiY2Q0ZTI0YzI4ZDY1OTA1MDc2NmU3MjYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBP
YmplY3QuY3BwCkBAIC01MCwxMyArNTAsMTIgQEAgc3RhdGljIE5QSWRlbnRpZmllciBucElkZW50
aWZpZXJGcm9tSWRlbnRpZmllcihjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyKQogCiBjb25z
dCBDbGFzc0luZm8gSlNOUE9iamVjdDo6c19pbmZvID0geyAiTlBPYmplY3QiLCAmSlNOb25GaW5h
bE9iamVjdDo6c19pbmZvLCAwLCAwIH07CiAKLUpTTlBPYmplY3Q6OkpTTlBPYmplY3QoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTlBSdW50aW1lT2JqZWN0TWFwKiBvYmplY3RNYXAsIE5Q
T2JqZWN0KiBucE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitKU05QT2JqZWN0OjpKU05Q
T2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwgTlBPYmplY3QqIG5wT2JqZWN0KQogICAg
IDogSlNOb25GaW5hbE9iamVjdChnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJl
KQogICAgICwgbV9vYmplY3RNYXAob2JqZWN0TWFwKQogICAgICwgbV9ucE9iamVjdChucE9iamVj
dCkKIHsKICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0ID09IHN0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0
KCkpOwotICAgIGZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdCk7CiB9CiAKIHZvaWQgSlNOUE9i
amVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKQEAgLTcw
LDEyICs2OSw2IEBAIHZvaWQgSlNOUE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKICAgICByZXRhaW5OUE9iamVjdChtX25wT2JqZWN0KTsKIH0KIAot
SlNOUE9iamVjdCogSlNOUE9iamVjdDo6Y3JlYXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgTlBSdW50aW1lT2JqZWN0TWFwKiBvYmplY3RNYXAsIE5QT2JqZWN0KiBucE9iamVj
dCkKLXsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNyZWF0ZVN0cnVjdHVyZShnbG9iYWxP
YmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFBy
b3RvdHlwZSgpKTsKLSAgICByZXR1cm4gbmV3IChKU0M6OmFsbG9jYXRlQ2VsbDxKU05QT2JqZWN0
PihnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKS5oZWFwKSkgSlNOUE9iamVjdChnbG9iYWxPYmpl
Y3QsIG9iamVjdE1hcCwgbnBPYmplY3QsIHN0cnVjdHVyZSk7Ci19Ci0KIEpTTlBPYmplY3Q6On5K
U05QT2JqZWN0KCkKIHsKICAgICBBU1NFUlQoIW1fbnBPYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKaW5k
ZXggZjA2MWU5ZjMxNzAwZTEwMTE2MGFjMjQxMjRhMjk1NDhkMzdkYjMzOC4uYjZlZGZhNWE3NjUw
NGRjMDE5OWU2ZmQwZTllYWExYmM1Y2Y2MDk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oCkBAIC0yNiw3ICsy
Niw5IEBACiAjaWZuZGVmIEpTTlBPYmplY3RfaAogI2RlZmluZSBKU05QT2JqZWN0X2gKIAorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTR2xvYmFsT2JqZWN0Lmg+CiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNPYmplY3QuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9PYmplY3RQcm90
b3R5cGUuaD4KIAogdHlwZWRlZiB2b2lkKiBOUElkZW50aWZpZXI7CiBzdHJ1Y3QgTlBPYmplY3Q7
CkBAIC00MSw3ICs0MywxNCBAQCBjbGFzcyBKU05QT2JqZWN0IDogcHVibGljIEpTQzo6SlNOb25G
aW5hbE9iamVjdCB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0M6OkpTTm9uRmluYWxPYmplY3Qg
QmFzZTsKIAotICAgIHN0YXRpYyBKU05QT2JqZWN0KiBjcmVhdGUoSlNDOjpKU0dsb2JhbE9iamVj
dCosIE5QUnVudGltZU9iamVjdE1hcCosIE5QT2JqZWN0Kik7CisgICAgc3RhdGljIEpTTlBPYmpl
Y3QqIGNyZWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE5QUnVudGltZU9i
amVjdE1hcCogb2JqZWN0TWFwLCBOUE9iamVjdCogbnBPYmplY3QpCisgICAgeworICAgICAgICBK
U0M6OlN0cnVjdHVyZSogc3RydWN0dXJlID0gY3JlYXRlU3RydWN0dXJlKGdsb2JhbE9iamVjdC0+
Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBl
KCkpOworICAgICAgICBKU05QT2JqZWN0KiBvYmplY3QgPSBuZXcgKEpTQzo6YWxsb2NhdGVDZWxs
PEpTTlBPYmplY3Q+KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLmhlYXApKSBKU05QT2JqZWN0
KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBvYmplY3RNYXAsIG5wT2JqZWN0KTsKKyAgICAgICAg
b2JqZWN0LT5maW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gb2Jq
ZWN0OworICAgIH0KKwogICAgIH5KU05QT2JqZWN0KCk7CiAKICAgICB2b2lkIGludmFsaWRhdGUo
KTsKQEAgLTYxLDcgKzcwLDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
SlNDOjpKU0dsb2JhbE9iamVjdCopOwogCiBwcml2YXRlOgotICAgIEpTTlBPYmplY3QoSlNDOjpK
U0dsb2JhbE9iamVjdCosIE5QUnVudGltZU9iamVjdE1hcCosIE5QT2JqZWN0KiwgSlNDOjpTdHJ1
Y3R1cmUqKTsKKyAgICBKU05QT2JqZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlN0cnVj
dHVyZSosIE5QUnVudGltZU9iamVjdE1hcCosIE5QT2JqZWN0Kik7CiAKICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5
U2xvdCB8IEpTQzo6T3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTT2JqZWN0OjpTdHJ1Y3R1
cmVGbGFnczsKICAgICAK
</data>

          </attachment>
      

    </bug>

</bugzilla>