<?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>127941</bug_id>
          
          <creation_ts>2014-01-30 13:07:34 -0800</creation_ts>
          <short_desc>Web Inspector: Add Console support to JSContext Inspection</short_desc>
          <delta_ts>2014-02-06 15:41:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mark.lam</cc>
    
    <cc>oliver</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>973937</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-30 13:07:34 -0800</bug_when>
    <thetext>We need the ConsoleAgent in JavaScriptCore for JSContext inspection for things like:

    - backend sending console messages to frontend on exceptions
    - eventually hooking into $1..$9 CommandLineAPI support in a non-Web context (DOM Nodes / Profiles Nodes)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973938</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-01-30 13:08:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/15949979&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975957</commentid>
    <comment_count>2</comment_count>
      <attachid>223006</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-03 12:09:07 -0800</bug_when>
    <thetext>Created attachment 223006
[PATCH] Proposed Fix

One test is failing after this, so cq- while I work on that. Also, I expect to see triage other port build issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975958</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-03 12:09:44 -0800</bug_when>
    <thetext>This doesn&apos;t send messages on exceptions yet. This is just all the machinery (ConsoleAgent) needed to make that possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975959</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-03 12:11:37 -0800</bug_when>
    <thetext>Attachment 223006 did not pass style-queue:


ERROR: Source/WebCore/inspector/WebConsoleAgent.cpp:110:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebCore/inspector/CommandLineAPIHost.h:67:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
ERROR: Source/WebCore/inspector/InspectorConsoleInstrumentation.h:190:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py:69:  blank line at end of file  [pep8/W391] [5]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:32:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:39:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/workers/WorkerMessagingProxy.cpp:49:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:227:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:407:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 10 in 147 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975964</commentid>
    <comment_count>5</comment_count>
      <attachid>223006</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-02-03 12:30:23 -0800</bug_when>
    <thetext>Comment on attachment 223006
[PATCH] Proposed Fix

r=me, once the build works</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975984</commentid>
    <comment_count>6</comment_count>
      <attachid>223014</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-03 13:13:47 -0800</bug_when>
    <thetext>Created attachment 223014
[PATCH] For Bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975987</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-03 13:17:50 -0800</bug_when>
    <thetext>Attachment 223014 did not pass style-queue:


ERROR: Source/WebCore/inspector/InspectorConsoleInstrumentation.h:190:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py:69:  blank line at end of file  [pep8/W391] [5]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:32:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:39:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:227:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:407:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 7 in 147 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976032</commentid>
    <comment_count>8</comment_count>
      <attachid>223023</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-03 14:48:21 -0800</bug_when>
    <thetext>Created attachment 223023
[PATCH] For Bots 2

This patch fixes the test and actually gets a test progression. I haven&apos;t yet run all tests though, just inspector related ones.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976061</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-03 15:34:27 -0800</bug_when>
    <thetext>Attachment 223023 did not pass style-queue:


ERROR: Source/WebCore/inspector/InspectorConsoleInstrumentation.h:190:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py:69:  blank line at end of file  [pep8/W391] [5]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:32:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:39:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:227:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:407:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 7 in 149 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976127</commentid>
    <comment_count>10</comment_count>
      <attachid>223049</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-03 17:26:09 -0800</bug_when>
    <thetext>Created attachment 223049
[PATCH] For Bots 3

Fixed a Windows and GTK issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976128</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-03 17:29:19 -0800</bug_when>
    <thetext>Attachment 223049 did not pass style-queue:


ERROR: Source/WebCore/inspector/InspectorConsoleInstrumentation.h:190:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py:69:  blank line at end of file  [pep8/W391] [5]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:32:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:39:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:227:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:407:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 7 in 149 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976227</commentid>
    <comment_count>12</comment_count>
      <attachid>223077</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-03 23:53:11 -0800</bug_when>
    <thetext>Created attachment 223077
[PATCH] For Bots 4

Try the bots again, same patch rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976228</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-03 23:56:00 -0800</bug_when>
    <thetext>Attachment 223077 did not pass style-queue:


ERROR: Source/WebCore/inspector/InspectorConsoleInstrumentation.h:190:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py:69:  blank line at end of file  [pep8/W391] [5]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:32:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:39:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:227:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:407:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 7 in 149 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976474</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-04 12:35:59 -0800</bug_when>
    <thetext>Mac bots are yellow, meaning that there are a lot of flakes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976483</commentid>
    <comment_count>15</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-04 13:08:08 -0800</bug_when>
    <thetext>I think it might have a legitimate issue with:
http/tests/inspector-protocol/loading-iframe-document-node.html

But I&apos;m not sure if this patch introduced it. I feel like that is a separate issue (listing isolated contexts they somehow have the same ExecState as the main context)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977030</commentid>
    <comment_count>16</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-05 12:16:26 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; I think it might have a legitimate issue with:
&gt; http/tests/inspector-protocol/loading-iframe-document-node.html
&gt; 
&gt; But I&apos;m not sure if this patch introduced it. I feel like that is a separate issue (listing isolated contexts they somehow have the same ExecState as the main context)?

Well, I verified this is caused by my patch. I&apos;ll debug it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977468</commentid>
    <comment_count>17</comment_count>
      <attachid>223360</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-06 12:00:51 -0800</bug_when>
    <thetext>Created attachment 223360
[PATCH] For Bots 5

Fixed the test failure. I have a good feeling about this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977469</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-06 12:04:31 -0800</bug_when>
    <thetext>Attachment 223360 did not pass style-queue:


ERROR: Source/WebCore/loader/ImageLoader.cpp:298:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
ERROR: Source/WebCore/inspector/InspectorConsoleInstrumentation.h:190:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py:69:  blank line at end of file  [pep8/W391] [5]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:32:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:39:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:227:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:407:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 8 in 151 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977512</commentid>
    <comment_count>19</comment_count>
      <attachid>223374</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-06 13:24:59 -0800</bug_when>
    <thetext>Created attachment 223374
[PATCH] For Bots 6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977513</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-06 13:27:43 -0800</bug_when>
    <thetext>Attachment 223374 did not pass style-queue:


ERROR: Source/WebCore/inspector/InspectorConsoleInstrumentation.h:190:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py:69:  blank line at end of file  [pep8/W391] [5]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:32:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/inspector/ConsoleTypes.h:39:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:227:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
ERROR: Source/WebCore/inspector/InspectorInstrumentation.h:407:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 7 in 151 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977574</commentid>
    <comment_count>21</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-06 15:41:38 -0800</bug_when>
    <thetext>&lt;http://trac.webkit.org/changeset/163568&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223006</attachid>
            <date>2014-02-03 12:09:07 -0800</date>
            <delta_ts>2014-02-03 12:30:23 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>console.patch</filename>
            <type>text/plain</type>
            <size>378416</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">Y29tbWl0IGQ4MWE1MDY5YWU2ZmQ3NzMxYzZkYjQ4NTRhYzhmMWNkNmZkM2M0ODYKQXV0aG9yOiBK
b3NlcGggUGVjb3Jhcm8gPHBlY29yYXJvQGFwcGxlLmNvbT4KRGF0ZTogICBNb24gRmViIDMgMTI6
MDU6MDEgMjAxNCAtMDgwMAoKICAgIFBST0dSRVNTOiBDb25zb2xlQWdlbnQKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWM4NDczMy4uMDMxNzMwYiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjI3LDcgKzIyNyw5IEBAIHNldChKYXZhU2NyaXB0
Q29yZV9TT1VSQ0VTCiAgICAgaGVhcC9Xcml0ZUJhcnJpZXJCdWZmZXIuY3BwCiAgICAgaGVhcC9X
cml0ZUJhcnJpZXJTdXBwb3J0LmNwcAogCisgICAgaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNw
cAogICAgIGluc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmNwcAorICAgIGluc3BlY3Rv
ci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwCiAgICAgaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNw
cAogICAgIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEJhc2UuY3BwCiAgICAgaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTI0MSw4ICsyNDMsMTMgQEAgc2V0KEphdmFTY3JpcHRD
b3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAogICAg
IGluc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwCiAgICAgaW5zcGVj
dG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCisgICAgaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50
cy5jcHAKKyAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcAorICAgIGluc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2suY3BwCisgICAgaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3Rvcnku
Y3BwCiAgICAgaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcAogICAgIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCisgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmNwcAogICAgIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcAog
CkBAIC03OTUsNiArODAyLDcgQEAgQUREX1NPVVJDRV9ERVBFTkRFTkNJRVMoJHtDTUFLRV9DVVJS
RU5UX1NPVVJDRV9ESVJ9L3BhcnNlci9MZXhlci5jcHAgJHtERVJJVkVEX1MKIHNldChKYXZhU2Ny
aXB0Q29yZV9JTlNQRUNUT1JfU0NSSVBUU19ESVIgIiR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNw
ZWN0b3Ivc2NyaXB0cyIpCiAKIHNldChKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfRE9NQUlOUwor
ICAgIGluc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9j
b2wvRGVidWdnZXIuanNvbgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9HZW5lcmljVHlwZXMuanNv
bgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKaW5kZXggNDg4ZTRiNS4uMGY0ZWIyYiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBw
b3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2o6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgQWRkIG5ldyBmaWxlcy4KKworICAgICAgICAqIGluc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwLgorICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6IEFkZGVkLgorICAgICAgICBO
ZXcgYWdlbnQgbW92ZWQgZnJvbSBXZWJDb3JlLiBSZW5hbWUgYSBtZXRob2QgdG8gd29yayBpbiBK
UyBvbmx5IGNvbnRleHQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIpOgor
ICAgICAgICBJbnN0YW50aWF0ZSBDb25zb2xlQWdlbnQuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
YWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmguCisgICAgICAgICogaW5z
cGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHA6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmguCisgICAg
ICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50OjpKU0dsb2JhbE9iamVj
dENvbnNvbGVBZ2VudCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0Q29uc29s
ZUFnZW50OjpzZXRNb25pdG9yaW5nWEhSRW5hYmxlZCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpT
R2xvYmFsT2JqZWN0Q29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKToKKyAgICAgICAgKElu
c3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZEhlYXBPYmpl
Y3QpOgorICAgICAgICBKU0dsb2JhbE9iamVjdCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAq
IGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwOgorICAg
ICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OkpTR2xvYmFsT2Jq
ZWN0RGVidWdnZXJBZ2VudCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0RGVi
dWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyk6CisgICAgICAgIFVzZSBDb25zb2xlQWdl
bnQgdG8gcmVwb3J0IGxvZ3MuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2Uu
Y3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdl
LmNwcC4KKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oLgorICAgICAgICAqIGlu
c3BlY3Rvci9Db25zb2xlVHlwZXMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbnNvbGVBUElUeXBlcy5oLgorICAgICAgICAqIGluc3BlY3Rvci9JZGVudGlmaWVyc0Zh
Y3RvcnkuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZp
ZXJzRmFjdG9yeS5jcHAuCisgICAgICAgICogaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5o
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9y
eS5oLgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5jcHAuCisgICAgICAg
ICogaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oLgorICAgICAgICAqIGluc3BlY3Rvci9TY3Jp
cHRDYWxsRnJhbWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Nj
cmlwdENhbGxGcmFtZS5jcHAuCisgICAgICAgICogaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5o
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5o
LgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAuCisgICAgICAgICog
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oLgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwLgorICAgICAgICAqIGluc3BlY3Rvci9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmguCisgICAgICAgICogaW5zcGVjdG9yL3Byb3Rv
Y29sL0NvbnNvbGUuanNvbjogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9w
cm90b2NvbC9Db25zb2xlLmpzb24uCisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJh
dGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHk6CisKIDIwMTQtMDEtMjUgIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3AgdXNpbmcgVW5pY29kZS5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDExNTZlOTcuLjYwMjc0
NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC04Myw2
ICs4Myw3IEBAIHVkaXM4Nl9pdGFiLmg6ICQoSmF2YVNjcmlwdENvcmUpL2Rpc2Fzc2VtYmxlci91
ZGlzODYvaXRhYi5weSAkKEphdmFTY3JpcHRDb3JlKS9kCiAjIEluc3BlY3RvciBpbnRlcmZhY2Vz
CiAKIElOU1BFQ1RPUl9ET01BSU5TID0gXAorICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rv
ci9wcm90b2NvbC9Db25zb2xlLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rv
ci9wcm90b2NvbC9EZWJ1Z2dlci5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0
b3IvcHJvdG9jb2wvR2VuZXJpY1R5cGVzLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2lu
c3BlY3Rvci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbiBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
R05VbWFrZWZpbGUuYW0KaW5kZXggZmU1NDQ4ZC4uY2MzYmMxOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjAyLDYgKzIwMiw3IEBAIEVYVFJBX0RJU1QgKz0gXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvTElDRU5TRSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ljdS9SRUFETUUgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuanMgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9j
b2wvQ29uc29sZS5qc29uIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL0RlYnVnZ2VyLmpzb24gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJv
dG9jb2wvR2VuZXJpY1R5cGVzLmpzb24gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvSW5zcGVjdG9yRG9tYWluLmpzb24gXApAQCAtMjQzLDYgKzI0NCw3IEBAIGVu
ZGlmCiAjIEluc3BlY3RvciBJbnRlcmZhY2VzCiAKIEphdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9E
T01BSU5TIDo9IFwKKyAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29u
c29sZS5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvRGVi
dWdnZXIuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0dl
bmVyaWNUeXBlcy5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9j
b2wvSW5zcGVjdG9yRG9tYWluLmpzb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQppbmRleCBmNjU4ZThjLi43NzQyMzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNjMwLDggKzYzMCwxMyBAQCBqYXZhc2NyaXB0Y29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdXRmX29s
ZC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdXR5cGVzLmggXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dmVyc2lvbi5oIFwKKwlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcCBcCisJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIFwKKwlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaCBcCisJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwIFwKKwlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcCBcCiAJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0QmFzZS5jcHAgXApAQCAtNjYyLDE2ICs2Njcs
MjYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAorCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcCBcCisJU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRCcmVha3BvaW50LmggXAorCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCisJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaCBcCisJU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z0xpc3RlbmVyLmggXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmggXAotCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmggXAogCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcCBcCi0J
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JBZ2VudC5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JDb25zb2xlQWdlbnQuY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgXAotCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oIFwK
KwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclJ1bnRpbWVBZ2VudC5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvQWJzdHJhY3RQQy5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9BYnN0cmFjdFBDLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5k
ZXggYzg0NGUzNy4uMmU3NzAwOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qCkBAIC00NzYsNyArNDc2LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGhlYXBc
V2Vha1NldC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxoZWFwXFdyaXRlQmFy
cmllckJ1ZmZlci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxoZWFwXFdyaXRl
QmFycmllclN1cHBvcnQuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXENvbnNvbGVNZXNzYWdlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxDb250ZW50U2VhcmNoVXRpbGl0aWVzLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0LmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdEJhc2UuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0SG9z
dC5jcHAiIC8+CkBAIC00OTAsOCArNDkyLDEzIEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3Bw
IiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEphdmFTY3JpcHRDYWxs
RnJhbWUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlw
dEFyZ3VtZW50cy5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
U2NyaXB0Q2FsbEZyYW1lLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxTY3JpcHRDYWxsU3RhY2suY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdERlYnVnU2VydmVyLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuY3BwIiAv
PgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XGFnZW50c1xJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCIgLz4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGludGVycHJldGVyXEFic3RyYWN0UEMuY3BwIiAv
PgpAQCAtMTA1Myw3ICsxMDYwLDEwIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxoZWFw
XFdlYWtTZXRJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxoZWFwXFdy
aXRlQmFycmllckJ1ZmZlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caGVhcFxX
cml0ZUJhcnJpZXJTdXBwb3J0LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcQ29uc29sZU1lc3NhZ2UuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxDb25zb2xlVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxDb250ZW50U2VhcmNoVXRpbGl0aWVzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHQuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdEJhc2UuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdEhvc3QuaCIgLz4K
QEAgLTEwNzEsMTAgKzEwODEsMTUgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiIC8+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QnJlYWtwb2lu
dC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdENhbGxG
cmFtZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdENh
bGxTdGFjay5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxTY3JpcHREZWJ1Z0xpc3RlbmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcU2NyaXB0RGVidWdTZXJ2ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQ29uc29sZUFnZW50Lmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3Rv
clxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnRlcnByZXRlclxBYnN0cmFjdFBDLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDgxYmQzMmYuLjQxMDJmYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0xMDA2LDYgKzEwMDYsMjMgQEAKIAkJQTVDRUVFMTQxODdGM0JBRDAwRTU1Qzk5IC8q
IEluc3BlY3RvckFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1Q0VFRTEyMTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5jcHAg
Ki87IH07CiAJCUE1Q0VFRTE1MTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDRUVFMTMxODdG
M0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTVEMEExQkIxODYyMzAxQjAwQzdCNDk2IC8qIElu
c3BlY3RvckVudmlyb25tZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNUQwQTFCQTE4NjIzMDFCMDBDN0I0OTYgLyogSW5zcGVjdG9yRW52aXJvbm1l
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlB
NUZEMDA2NzE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDY1MTg5QUZFOUMwMDYz
MzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovOyB9OworCQlBNUZEMDA2ODE4OUFGRTlDMDA2
MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2NjE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1l
bnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTVGRDAwNkQxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2OTE4OUIwMEE5MDA2
MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLzsgfTsKKwkJQTVGRDAwNkUxODlCMDBBQTAw
NjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNkExODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENhbGxG
cmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE1RkQwMDZGMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNkIxODlCMDBBOTAw
NjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi87IH07CisJCUE1RkQwMDcwMTg5QjAwQUEw
MDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDZDMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxs
U3RhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlBNUZEMDA3NDE4OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3MTE4OUIwMzhDMDA2MzMy
MzEgLyogQ29uc29sZVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNzUxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFj
dG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NUZEMDA3MjE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCAqLzsgfTsK
KwkJQTVGRDAwNzYxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNzMxODlCMDM4
QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDc5MTg5QjA1MTAwMDYzMzIzMSAvKiBD
b25zb2xlTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNUZEMDA3NzE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwICov
OyB9OworCQlBNUZEMDA3QTE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDc4MTg5QjA1
MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDdEMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1RkQwMDdCMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmNwcCAqLzsgfTsKKwkJQTVGRDAwN0UxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENh
bGxTdGFja0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVG
RDAwODExODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3RjE4OUIxOTFB
MDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCAqLzsgfTsKKwkJQTVGRDAwODIx
ODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwODAxODlCMTkxQTAwNjMzMjMx
IC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDg1MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2Jh
bE9iamVjdENvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNUZEMDA4MzE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RD
b25zb2xlQWdlbnQuY3BwICovOyB9OworCQlBNUZEMDA4NjE4OUIxQjdFMDA2MzMyMzEgLyogSlNH
bG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1RkQwMDg0MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVj
dENvbnNvbGVBZ2VudC5oICovOyB9OwogCQlBNzAwODczOTE3Q0JFODUzMDBDM0U2NDMgLyogTWFw
Q29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTcwMDg3MzcxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0cnVjdG9yLmNwcCAqLzsg
fTsKIAkJQTcwMDg3M0ExN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0cnVjdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzAwODczODE3Q0JFODUz
MDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCAqLzsgfTsKIAkJQTcwMDg3M0QxN0NCRThEMzAw
QzNFNjQzIC8qIE1hcFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNzAwODczQjE3Q0JFOEQzMDBDM0U2NDMgLyogTWFwUHJvdG90eXBl
LmNwcCAqLzsgfTsKQEAgLTI0NDQsNiArMjQ2MSwyMyBAQAogCQlBNUNFRUUxMjE4N0YzQkFEMDBF
NTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5zcGVjdG9yQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNUNFRUUxMzE4N0YzQkFEMDBFNTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTVEMEExQkExODYyMzAxQjAwQzdCNDk2IC8qIEluc3BlY3RvckVudmly
b25tZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckVudmly
b25tZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDY1MTg5QUZFOUMw
MDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU2NyaXB0QXJndW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTVGRDAwNjYxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRBcmd1bWVudHMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNjkxODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENh
bGxGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRD
YWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA2QTE4OUIw
MEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNjcmlwdENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNUZEMDA2QjE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdENhbGxTdGFjay5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDZDMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3Jp
cHRDYWxsU3RhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q2Fs
bFN0YWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDcxMTg5QjAzOEMw
MDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ29uc29sZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDcy
MTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSWRlbnRpZmllcnNGYWN0b3J5LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzMxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZp
ZXJzRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJZGVudGlmaWVy
c0ZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzcxODlCMDUx
MDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENvbnNvbGVNZXNzYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTVGRDAwNzgxODlCMDUxMDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVNZXNzYWdlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDdCMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxs
U3RhY2tGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNj
cmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NUZEMDA3QzE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDdGMTg5QjE5MUEwMDYzMzIzMSAvKiBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTVGRDAwODAxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JDb25zb2xlQWdlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwODMxODlCMUI3RTAwNjMzMjMx
IC8qIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwODQxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFs
T2JqZWN0Q29uc29sZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
R2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3MDA4NzM3MTdDQkU4NTMwMEMzRTY0MyAvKiBNYXBDb25zdHJ1Y3Rvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXBDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MDA4NzM4MTdDQkU4NTMwMEMzRTY0MyAvKiBNYXBDb25z
dHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXBDb25zdHJ1Y3Rv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzAwODczQjE3Q0JFOEQzMDBDM0U2
NDMgLyogTWFwUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1hcFByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NDU3
LDEwICs0NDkxLDE0IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQlBNUNFRUUxMjE4N0YzQkFEMDBF
NTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuY3BwICovLAogCQkJCUE1Q0VFRTEzMTg3RjNCQUQwMEU1
NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5oICovLAorCQkJCUE1RkQwMDdGMTg5QjE5MUEwMDYzMzIz
MSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwICovLAorCQkJCUE1RkQwMDgwMTg5QjE5MUEw
MDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlBNTdEMjNFMzE4OTBD
RUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgKi8sCiAJCQkJQTU3RDIz
RTQxODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCAqLywKIAkJCQlB
NTBFNEI1RDE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCAqLywK
IAkJCQlBNTBFNEI1RTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50Lmgg
Ki8sCisJCQkJQTVGRDAwODMxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2JqZWN0Q29uc29s
ZUFnZW50LmNwcCAqLywKKwkJCQlBNUZEMDA4NDE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxP
YmplY3RDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlBNTdEMjNFNzE4OTFCMDc3MDAzMUM3RkEgLyog
SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcCAqLywKIAkJCQlBNTdEMjNFODE4OTFCMDc3
MDAzMUM3RkEgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmggKi8sCiAJCQkJQTUwRTRC
NUYxODgwOURENTAwNjhBNDZEIC8qIEpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmNwcCAqLywK
QEAgLTQ1MDMsMTAgKzQ1NDEsMTUgQEAKIAkJCQlBNTEzRTVDQzE4NUZCOTkyMDA3RTk1QUQgLyog
YWdlbnRzICovLAogCQkJCUE1QkExNUUwMTgyMzQwOUQwMEE4MkU2OSAvKiByZW1vdGUgKi8sCiAJ
CQkJQTUzMjQzOEUxODU2OTZDRTAwMkVENjkyIC8qIHNjcmlwdHMgKi8sCisJCQkJQTVGRDAwNzcx
ODlCMDUxMDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmNwcCAqLywKKwkJCQlBNUZEMDA3ODE4
OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuaCAqLywKKwkJCQlBNUZEMDA3MTE4OUIw
MzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggKi8sCiAJCQkJQTU3RDIzRUYxODkxQjVCNDAw
MzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwICovLAogCQkJCUE1N0QyM0YwMTg5
MUI1QjQwMDMxQzdGQSAvKiBDb250ZW50U2VhcmNoVXRpbGl0aWVzLmggKi8sCiAJCQkJQTU0OTgy
MDExODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5jcHAgKi8sCiAJCQkJQTU0OTgyMDIxODkx
RDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5oICovLAorCQkJCUE1RkQwMDcyMTg5QjAzOEMwMDYz
MzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovLAorCQkJCUE1RkQwMDczMTg5QjAzOEMw
MDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuaCAqLywKIAkJCQlBNTEzRTVCNTE4NUI4QkQz
MDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuY3BwICovLAogCQkJCUE1MTNFNUI2MTg1QjhCRDMw
MDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5oICovLAogCQkJCUE1MTRCMkMwMTg1QTY4NDQwMEYz
QzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuY3BwICovLApAQCAtNDU0Miw3ICs0NTg1LDE1IEBA
CiAJCQkJQTUwM0ZBMTgxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVBy
b3RvdHlwZS5oICovLAogCQkJCUE1MDNGQTEzMTg4RTBGQUYwMDExMEYxNCAvKiBKYXZhU2NyaXB0
Q2FsbEZyYW1lLmNwcCAqLywKIAkJCQlBNTAzRkExNDE4OEUwRkFGMDAxMTBGMTQgLyogSmF2YVNj
cmlwdENhbGxGcmFtZS5oICovLAorCQkJCUE1RkQwMDY1MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3Jp
cHRBcmd1bWVudHMuY3BwICovLAorCQkJCUE1RkQwMDY2MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3Jp
cHRBcmd1bWVudHMuaCAqLywKIAkJCQlBNTAzRkExRjE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0
QnJlYWtwb2ludC5oICovLAorCQkJCUE1RkQwMDY5MTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRD
YWxsRnJhbWUuY3BwICovLAorCQkJCUE1RkQwMDZBMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRD
YWxsRnJhbWUuaCAqLywKKwkJCQlBNUZEMDA2QjE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bFN0YWNrLmNwcCAqLywKKwkJCQlBNUZEMDA2QzE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bFN0YWNrLmggKi8sCisJCQkJQTVGRDAwN0IxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuY3BwICovLAorCQkJCUE1RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmggKi8sCiAJCQkJQTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0IC8q
IFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLywKIAkJCQlBNTAzRkEyMzE4OEVGRkZEMDAxMTBGMTQg
LyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovLAogCQkJCUE1MDNGQTI0MTg4RUZGRkQwMDExMEYx
NCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5oICovLApAQCAtNDY5OCw2ICs0NzQ5LDcgQEAKIAkJCQkw
RjZCMUNDNjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5mby5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQzIyMzlEMTgxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlWaXNpdG9yLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDMjIzOUQxOTE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3JJbmxpbmVz
LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA3QTE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29s
ZU1lc3NhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyMThEMTQwMTY1NUNGRDUwMDYyQkI4MSAv
KiBDb3B5V29ya0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTVERTZFNUIzMEUxNzI4RUMwMDE4
MDQwNyAvKiBjcmVhdGVfaGFzaF90YWJsZSBpbiBIZWFkZXJzICovLAogCQkJCTBGNDI2QTRCMTQ2
MENENkUwMDEzMUY4RiAvKiBEYXRhRm9ybWF0LmggaW4gSGVhZGVycyAqLywKQEAgLTQ3MzQsNiAr
NDc4Niw3IEBACiAJCQkJMEZGQjkyMUExNkQwMkVDNTAwNTVBNURCIC8qIERGR0Jhc2ljQmxvY2tJ
bmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzBCMDgzMzE3QTBCNzlCMDBEQUYxNEIgLyog
REZHQmluYXJ5U3dpdGNoLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q4OUNGNDE3QTBCOENDMDA3
NzNBRDggLyogREZHQmxvY2tJbnNlcnRpb25TZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQw
MDZFMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGODM2NEI3MTY0QjBDMTEwMDUzMzI5QSAvKiBERkdCcmFuY2hEaXJlY3Rpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExQTAwOUMwMTgzMUEyMkQwMENGODcxMSAvKiBNYWNyb0Fzc2VtYmxl
ckFSTTY0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NkVDOURDNTEzMjhERjgyMDAyQjJBRDcgLyog
REZHQnl0ZUNvZGVQYXJzZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNDc1MSw2ICs0ODA0LDcgQEAK
IAkJCQlBNTAzRkExRTE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjM4QjAxQTE3Q0ZFNzU1MDBCMTQ0RDMgLyog
REZHQ29tcGlsYXRpb25Nb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjNCM0ExQjE1M0U2OEY0
MDAzRUQwRkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE1RkQwMDgyMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGQkUwRjczMTZDMURCMDUwMDgyQzVFOCAvKiBERkdDUFNSZXRocmVh
ZGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q4OUNGNjE3QTBCOENDMDA3NzNBRDgg
LyogREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZG
RkM5NUExNEVGOTBBOTAwQzcyNTMyIC8qIERGR0NTRVBoYXNlLmggaW4gSGVhZGVycyAqLywKQEAg
LTQ3OTgsNiArNDg1Miw3IEBACiAJCQkJMEYyQkRDNDUxNTIyODAxQjAwQ0Q4OTEwIC8qIERGR01p
bmlmaWVkR3JhcGguaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkU4OTJEMTZEMDJCQUYwMDlFNEZE
MiAvKiBERkdNaW5pZmllZElELmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCREM0NjE1MjI4MDIw
MDBDRDg5MTAgLyogREZHTWluaWZpZWROb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA2
ODE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNzM3ODEwRTE3OTlFQTJFMDA4MTc1MzMgLyogREZHTmF0dXJhbExvb3BzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NkVDQTNFQTEzMkRFRjFDMDAyQjJBRDcgLyogREZHTm9kZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEZGQjkyMUIxNkQwMkYwMTAwNTVBNURCIC8qIERGR05vZGVBbGxvY2F0b3Iu
aCBpbiBIZWFkZXJzICovLApAQCAtNDg0Niw2ICs0OTAxLDcgQEAKIAkJCQkwRjJCREM0ODE1MjI4
MDI5MDBDRDg5MTAgLyogREZHVmFsdWVTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjIw
MTc0MTQzRkNEMzMwMDY4Qjc3QyAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGRERCRkI2MTY2NkVFREEwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0Rh
dGFEdW1wLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA3NDE4OUIwMzhDMDA2MzMyMzEgLyog
Q29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCREM0OTE1MjI4MDk2MDBDRDg5
MTAgLyogREZHVmFyaWFibGVFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyQkRDNEIxNTIy
ODA5RDAwQ0Q4OTEwIC8qIERGR1ZhcmlhYmxlRXZlbnRTdHJlYW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCUE1MTRCMkMzMTg1QTY4NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuaCBpbiBI
ZWFkZXJzICovLApAQCAtNDg5NSw2ICs0OTUxLDcgQEAKIAkJCQkwRkVBMEEyNDE3MDk2MDY5MDBC
QjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZF
QTBBMEUxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTEpJVENvZGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE3OEE5NzgxMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE1RkQwMDc2MTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3Rvcnku
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGNUE2Mjg0MTg4Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1
ZVJhbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjhGMkI5NjE3MkUwNEEzMDA3REJEQTUgLyog
RlRMTGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDRUZBRTAxODA3MzhDMDAwNDcyQ0U0IC8q
IEZUTExvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTQ5OTIsNiArNTA0OSw3IEBACiAJCQkJ
QTdBNEFFMTAxNzk3M0I0RDAwNTYxMkIxIC8qIEpJVFN0dWJzWDg2Q29tbW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjVFRjkxRjE2ODc4RjdEMDAzRTVDMjUgLyogSklUVGh1bmtzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRkM3MTJFMzE3Q0Q4NzkzMDA4Q0M5M0MgLyogSklUVG9ERkdEZWZlcnJl
ZENvbXBpbGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDcwMTg5QjAw
QUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUE3NkY1
NEEzMTNCMjhBQUIwMEVGMkJDRSAvKiBKSVRXcml0ZUJhcnJpZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDMThDNDE2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0FjdGl2YXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNkIxQ0I5MTg2MTI0NEMwMDg0NUQ5NyAvKiBBcml0eUNoZWNrTW9kZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC01MTY4LDYgKzUyMjYsNyBAQAogCQkJCUJDMDJFOTExMEUxODM5REIw
MDBGOTI5NyAvKiBOYXRpdmVFcnJvckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzAyRTkxMzBFMTgzOURCMDAwRjkyOTcgLyogTmF0aXZlRXJyb3JQcm90b3R5cGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGRkI5MjIwMTZEMDMzQjcwMDU1QTVEQiAvKiBOb2RlQ29uc3RydWN0b3Jz
LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA3RTE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAw
QUE3QzkzIC8qIE5vZGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNE
MDBCMzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCkBAIC01MzE2LDYg
KzUzNzUsNyBAQAogCQkJCUE3QThBRjQxMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50MTZBcnJheS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODY2NzM5RDMxM0JGREU3MTAwMjNEODdDIC8qIFVpbnQxNldp
dGhGcmFjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdBOEFGNDIxN0FEQjVGMzAwNUFCMTc0
IC8qIFVpbnQzMkFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA4NjE4OUIxQjdFMDA2
MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE3QThBRjNGMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OEFycmF5LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBN0E4QUY0MDE3QURCNUYzMDA1QUIxNzQgLyogVWludDhDbGFtcGVkQXJyYXkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGNUYwOENGMTQ2Qzc2MzMwMDA0NzJBOSAvKiBVbmNvbmRpdGlvbmFs
RmluYWxpemVyLmggaW4gSGVhZGVycyAqLywKQEAgLTU3ODksNiArNTg0OSw3IEBACiAJCQkJQTc5
MERENkYxODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEY2Mzk0NTQxNUQwNzA1NTAwNkE1OTdDIC8qIEFycmF5UHJvZmlsZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxNDdGMzlDMDEwN0VDMzc2MDA0MjdBNDggLyogQXJyYXlQcm90b3R5cGUu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwNkQxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlw
dENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjI0RTU0MDE3RUE5RjU5MDBBQkIy
MTcgLyogQXNzZW1ibHlIZWxwZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0ODE2RTFCMTU0
Q0M1NkMwMEI4MDU0QyAvKiBCbG9ja0FsbG9jYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
NDI4MDg2MzEwN0VDMTFBMDAxM0U3QjIgLyogQm9vbGVhbkNvbnN0cnVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtNTk0Miw2ICs2MDAzLDcgQEAKIAkJCQkxNDdGMzlDODEwN0VDMzc2MDA0MjdB
NDggLyogRXJyb3JDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDdGMzlDOTEw
N0VDMzc2MDA0MjdBNDggLyogRXJyb3JJbnN0YW5jZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
NDdGMzlDQTEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3JQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJQTVGRDAwNjcxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxNDI5RDg3ODBFRDIxQUNEMDBCODk2MTkgLyogRXhjZXB0aW9u
SGVscGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NkNBMDMyRTEwMzhFODQ0MDAyOEE2MDkg
LyogRXhlY3V0YWJsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0I0OEY0OTBFRTg5MzZGMDBE
Q0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTU5NzAs
NiArNjAzMiw3IEBACiAJCQkJQTc4QTk3ODAxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFs
aXplci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjhGMkI5NTE3MkUwNEEwMDA3REJEQTUgLyog
RlRMTGluay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzRERUY5NTE4MkQ5OTE0MDA1MjJDMjIg
LyogSlNNYXBJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA4MTE4OUIxOTFB
MDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGQ0VGQURGMTgwNzM4QzAwMDQ3MkNFNCAvKiBGVExMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRkVBMEEwRjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0xMVk0uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVu
dHJ5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjA1OSw3ICs2MTIyLDkgQEAKIAkJCQk4NkUzQzYx
NjE2N0JBQkVFMDA2RDc2MEEgLyogSlNDb250ZXh0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRC
RDVBMzAwQTNFOTFGNjAwQkFGNTlDIC8qIEpTQ29udGV4dFJlZi5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBNzIwMjhCNjE3OTc2MDFFMDA5ODAyOEMgLyogSlNDVGVzdFJ1bm5lclV0aWxzLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE1RkQwMDc1MTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVy
c0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjU5Rjg5MzkxODkxRjI5RjAwRDVDQ0RD
IC8qIFVubGlua2VkSW5zdHJ1Y3Rpb25TdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVG
RDAwNkYxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjJCNjZFQjE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmlldy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjJCNjZFRDE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmlld1Byb3Rv
dHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5Nzg4MDE0MDE0NzFBRDkyMDA0MUIwMTYgLyog
SlNEYXRlTWF0aC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTYxNjgsNiArNjIzMyw3IEBACiAJCQkJ
MTQ4RjIxQkMxMDdFQzU0RDAwNDJFQzJDIC8qIFBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5MzA1MkMzNDBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY5RkM4QzMxNEUxQjVGRTAwRDUyQUUwIC8qIFBvbHltb3JwaGljUHV0QnlJZExp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwODUxODlCMUI3RTAwNjMzMjMxIC8qIEpT
R2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOTgyMDYw
MTZCRkUzODEwMDI0MEQwMiAvKiBQcmVjaXNlSnVtcFRhcmdldHMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTU3NDJGNjUwREQxMUY1QTAwMDkxN0ZCIC8qIFByb2ZpbGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEZDOTdGMzUxODIwMjBENzAwMkM5QjI2IC8qIFByb2ZpbGVkQ29kZUJsb2NrSmV0
dGlzb25pbmdXYXRjaHBvaW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjIxNSw2ICs2MjgxLDcg
QEAKIAkJCQlDMjI1NDk0MzE1RjdEQkFBMDA2NUU4OTggLyogU2xvdFZpc2l0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTMzMDQwMkMwRTZBNzY0MDAwNzg2RTZBIC8qIFNtYWxsU3RyaW5ncy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjhGMkI5RTE3MzA2QzhEMDA3REJEQTUgLyogU291cmNl
Q29kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA3OTE4OUIwNTEwMDA2MzMyMzEgLyog
Q29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0OTNBRkExNkQwQ0FEMzAw
ODQ1MDhCIC8qIFNvdXJjZVByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0OURDMTZC
MTJFRjI5M0UwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGNkIxQ0M5MTg2NDFERjgwMDg0NUQ5NyAvKiBBcml0eUNoZWNrRmFpbFJldHVyblRo
dW5rcy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTYyMzcsNiArNjMwNCw3IEBACiAJCQkJQzJERjQ0
MkYxNzA3QUMwMTAwQTVDQTk2IC8qIFN1cGVyUmVnaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGOTE5RDI4MTU4NTY3NzMwMDRBNEU3RCAvKiBTeW1ib2xUYWJsZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRkMzMTQxMzE4MTQ1NTkxMDAwMzMyMzIgLyogVGVtcFJlZ2lzdGVyU2V0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE1RkQwMDdEMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxs
U3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQTJDMTdCMTdEN0NGODQwMDlE
MDE1RiAvKiBUZXN0UnVubmVyVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTczODY1NTUx
MTg2OTdCNDAwNTQwMjc5IC8qIFRodW5rR2VuZXJhdG9ycy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjJCNjcwNzE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29s
ZU1lc3NhZ2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVz
c2FnZS5jcHAKc2ltaWxhcml0eSBpbmRleCA3MCUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAKaW5kZXggZDNiOTNhYy4uNTk3YjE2ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4LCAyMDE0
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBN
YXR0IExpbGVrIDx3ZWJraXRAbWF0dGxpbGVrLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwOSwg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTMzLDIxICszMywx
NyBAQAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotI2luY2x1ZGUgIkNvbnNvbGUuaCIKICNp
bmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKKyNpbmNsdWRlICJJbmplY3RlZFNjcmlwdC5o
IgorI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIkluc3BlY3Rv
clZhbHVlcy5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIlNjcmlw
dENhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNj
cmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKLSNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5o
PgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oPgotI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaD4KLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yVmFsdWVzLmg+Ci0jaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNsdWRlICJTY3Jp
cHRWYWx1ZS5oIgogCi11c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogQ29uc29sZU1lc3NhZ2U6OkNvbnNvbGVN
ZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKICAgICA6IG1fc291cmNlKHNvdXJj
ZSkKQEAgLTExNiwxNSArMTEyLDE2IEBAIENvbnNvbGVNZXNzYWdlOjp+Q29uc29sZU1lc3NhZ2Uo
KQogewogfQogCi12b2lkIENvbnNvbGVNZXNzYWdlOjphdXRvZ2VuZXJhdGVNZXRhZGF0YShib29s
IGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUpCisvLyBGSVhNRTog
UmVtb3ZlIHRoZSBnZW5lcmF0ZSB3aXRob3V0IEV4ZWNTdGF0ZSBwYXRoLiBUaGUgY2FsbGVyIHNo
b3VsZCBhbHdheXMgcHJvdmlkZSBhbiBFeGVjU3RhdGUuCit2b2lkIENvbnNvbGVNZXNzYWdlOjph
dXRvZ2VuZXJhdGVNZXRhZGF0YShib29sIC8qY2FuR2VuZXJhdGVDYWxsU3RhY2sqLywgSlNDOjpF
eGVjU3RhdGUqIHN0YXRlKQogewotICAgIGlmIChtX3R5cGUgPT0gRW5kR3JvdXBNZXNzYWdlVHlw
ZSkKKyAgICBpZiAobV90eXBlID09IE1lc3NhZ2VUeXBlOjpFbmRHcm91cCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgaWYgKHN0YXRlKQogICAgICAgICBtX2NhbGxTdGFjayA9IGNyZWF0ZVNjcmlw
dENhbGxTdGFja0ZvckNvbnNvbGUoc3RhdGUpOwotICAgIGVsc2UgaWYgKGNhbkdlbmVyYXRlQ2Fs
bFN0YWNrKQotICAgICAgICBtX2NhbGxTdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhTY3Jp
cHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpOworICAgIC8vIGVs
c2UgaWYgKGNhbkdlbmVyYXRlQ2FsbFN0YWNrKQorICAgIC8vICAgICBtX2NhbGxTdGFjayA9IGNy
ZWF0ZVNjcmlwdENhbGxTdGFjayhTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0Nh
cHR1cmUsIHRydWUpOwogICAgIGVsc2UKICAgICAgICAgcmV0dXJuOwogCkBAIC0xMzksMjAgKzEz
NiwxOSBAQCB2b2lkIENvbnNvbGVNZXNzYWdlOjphdXRvZ2VuZXJhdGVNZXRhZGF0YShib29sIGNh
bkdlbmVyYXRlQ2FsbFN0YWNrLCBKU0M6OkV4ZWNTdAogICAgIG1fY2FsbFN0YWNrLmNsZWFyKCk7
CiB9CiAKLS8vIEtlZXAgaW4gc3luYyB3aXRoIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZp
ZXcuanMKIHN0YXRpYyBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVz
c2FnZTo6U291cmNlOjpFbnVtIG1lc3NhZ2VTb3VyY2VWYWx1ZShNZXNzYWdlU291cmNlIHNvdXJj
ZSkKIHsKICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJjZTog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpT
b3VyY2U6OlhNTDsKLSAgICBjYXNlIEpTTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkphdmFzY3JpcHQ7
Ci0gICAgY2FzZSBOZXR3b3JrTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1
aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok5ldHdvcms7Ci0gICAgY2Fz
ZSBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkNvbnNvbGVBUEk7Ci0gICAgY2FzZSBT
dG9yYWdlTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNv
bGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlN0b3JhZ2U7Ci0gICAgY2FzZSBBcHBDYWNoZU1l
c3NhZ2VTb3VyY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25z
b2xlTWVzc2FnZTo6U291cmNlOjpBcHBjYWNoZTsKLSAgICBjYXNlIFJlbmRlcmluZ01lc3NhZ2VT
b3VyY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVz
c2FnZTo6U291cmNlOjpSZW5kZXJpbmc7Ci0gICAgY2FzZSBDU1NNZXNzYWdlU291cmNlOiByZXR1
cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJj
ZTo6Q1NTOwotICAgIGNhc2UgU2VjdXJpdHlNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U2VjdXJpdHk7
Ci0gICAgY2FzZSBPdGhlck1lc3NhZ2VTb3VyY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWls
ZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpPdGhlcjsKKyAgICBjYXNlIE1l
c3NhZ2VTb3VyY2U6OlhNTDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlhNTDsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkpT
OiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6
OlNvdXJjZTo6SmF2YXNjcmlwdDsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcms6IHJl
dHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291
cmNlOjpOZXR3b3JrOworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSTogcmV0dXJu
IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6
OkNvbnNvbGVBUEk7CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpTdG9yYWdlOiByZXR1cm4gSW5z
cGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U3Rv
cmFnZTsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlOiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6QXBwY2FjaGU7
CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpSZW5kZXJpbmc6IHJldHVybiBJbnNwZWN0b3I6OlR5
cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpSZW5kZXJpbmc7Cisg
ICAgY2FzZSBNZXNzYWdlU291cmNlOjpDU1M6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVy
OjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpDU1M7CisgICAgY2FzZSBNZXNzYWdl
U291cmNlOjpTZWN1cml0eTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlNlY3VyaXR5OworICAgIGNhc2UgTWVzc2FnZVNvdXJj
ZTo6T3RoZXI6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xl
TWVzc2FnZTo6U291cmNlOjpPdGhlcjsKICAgICB9CiAgICAgcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok90aGVyOwogfQpAQCAt
MTYwLDE5ICsxNTYsMTkgQEAgc3RhdGljIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkVudW0gbWVzc2FnZVNvdXIKIHN0YXRpYyBJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6RW51bSBtZXNz
YWdlVHlwZVZhbHVlKE1lc3NhZ2VUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7Ci0g
ICAgY2FzZSBMb2dNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpMb2c7Ci0gICAgY2FzZSBDbGVhck1lc3NhZ2VU
eXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlR5cGU6OkNsZWFyOwotICAgIGNhc2UgRGlyTWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6RGlyOwotICAg
IGNhc2UgRGlyWE1MTWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6RGlyWE1MOwotICAgIGNhc2UgVGFibGVNZXNz
YWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpUeXBlOjpUYWJsZTsKLSAgICBjYXNlIFRyYWNlTWVzc2FnZVR5cGU6IHJldHVybiBJ
bnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6VHJh
Y2U7Ci0gICAgY2FzZSBTdGFydEdyb3VwTWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5
cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6U3RhcnRHcm91cDsKLSAg
ICBjYXNlIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpTdGFydEdyb3VwQ29s
bGFwc2VkOwotICAgIGNhc2UgRW5kR3JvdXBNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpFbmRHcm91cDsKLSAg
ICBjYXNlIEFzc2VydE1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkFzc2VydDsKLSAgICBjYXNlIFRpbWluZ01l
c3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29s
ZU1lc3NhZ2U6OlR5cGU6OlRpbWluZzsKLSAgICBjYXNlIFByb2ZpbGVNZXNzYWdlVHlwZTogcmV0
dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBl
OjpQcm9maWxlOwotICAgIGNhc2UgUHJvZmlsZUVuZE1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVj
dG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlByb2ZpbGVF
bmQ7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6TG9nOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVp
bGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkxvZzsKKyAgICBjYXNlIE1lc3Nh
Z2VUeXBlOjpDbGVhcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNv
bnNvbGVNZXNzYWdlOjpUeXBlOjpDbGVhcjsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpEaXI6IHJl
dHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlw
ZTo6RGlyOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkRpclhNTDogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpEaXJYTUw7CisgICAg
Y2FzZSBNZXNzYWdlVHlwZTo6VGFibGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6VGFibGU7CisgICAgY2FzZSBNZXNzYWdlVHlw
ZTo6VHJhY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xl
TWVzc2FnZTo6VHlwZTo6VHJhY2U7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6U3RhcnRHcm91cDog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpU
eXBlOjpTdGFydEdyb3VwOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OlN0YXJ0R3JvdXBDb2xsYXBz
ZWQ6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2Fn
ZTo6VHlwZTo6U3RhcnRHcm91cENvbGxhcHNlZDsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpFbmRH
cm91cDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpUeXBlOjpFbmRHcm91cDsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpBc3NlcnQ6IHJldHVy
biBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6
QXNzZXJ0OworICAgIGNhc2UgTWVzc2FnZVR5cGU6OlRpbWluZzogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpUaW1pbmc7CisgICAg
Y2FzZSBNZXNzYWdlVHlwZTo6UHJvZmlsZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpQcm9maWxlOworICAgIGNhc2UgTWVzc2Fn
ZVR5cGU6OlByb2ZpbGVFbmQ6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xl
OjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6UHJvZmlsZUVuZDsKICAgICB9CiAgICAgcmV0dXJuIElu
c3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpMb2c7
CiB9CkBAIC0xODAsMTAgKzE3NiwxMCBAQCBzdGF0aWMgSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkVudW0gbWVzc2FnZVR5cGVWYQogc3RhdGlj
IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6
RW51bSBtZXNzYWdlTGV2ZWxWYWx1ZShNZXNzYWdlTGV2ZWwgbGV2ZWwpCiB7CiAgICAgc3dpdGNo
IChsZXZlbCkgewotICAgIGNhc2UgRGVidWdNZXNzYWdlTGV2ZWw6IHJldHVybiBJbnNwZWN0b3I6
OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkRlYnVnOwotICAg
IGNhc2UgTG9nTWVzc2FnZUxldmVsOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29u
c29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpMb2c7Ci0gICAgY2FzZSBXYXJuaW5nTWVzc2Fn
ZUxldmVsOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1l
c3NhZ2U6OkxldmVsOjpXYXJuaW5nOwotICAgIGNhc2UgRXJyb3JNZXNzYWdlTGV2ZWw6IHJldHVy
biBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6
OkVycm9yOworICAgIGNhc2UgTWVzc2FnZUxldmVsOjpMb2c6IHJldHVybiBJbnNwZWN0b3I6OlR5
cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkxvZzsKKyAgICBjYXNl
IE1lc3NhZ2VMZXZlbDo6V2FybmluZzogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6V2FybmluZzsKKyAgICBjYXNlIE1lc3NhZ2VM
ZXZlbDo6RXJyb3I6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25z
b2xlTWVzc2FnZTo6TGV2ZWw6OkVycm9yOworICAgIGNhc2UgTWVzc2FnZUxldmVsOjpEZWJ1Zzog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpM
ZXZlbDo6RGVidWc7CiAgICAgfQogICAgIHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkxvZzsKIH0KQEAgLTE5NCwxOSArMTkwLDIy
IEBAIHZvaWQgQ29uc29sZU1lc3NhZ2U6OmFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yQ29uc29sZUZy
b250ZW5kRGlzcGF0Y2hlciogY29uc29sZUZyCiAgICAgICAgIC5zZXRTb3VyY2UobWVzc2FnZVNv
dXJjZVZhbHVlKG1fc291cmNlKSkKICAgICAgICAgLnNldExldmVsKG1lc3NhZ2VMZXZlbFZhbHVl
KG1fbGV2ZWwpKQogICAgICAgICAuc2V0VGV4dChtX21lc3NhZ2UpOworCiAgICAgLy8gRklYTUU6
IG9ubHkgc2VuZCBvdXQgdHlwZSBmb3IgQ29uc29sZUFQSSBzb3VyY2UgbWVzc2FnZXMuCiAgICAg
anNvbk9iai0+c2V0VHlwZShtZXNzYWdlVHlwZVZhbHVlKG1fdHlwZSkpOwogICAgIGpzb25PYmot
PnNldExpbmUoc3RhdGljX2Nhc3Q8aW50PihtX2xpbmUpKTsKICAgICBqc29uT2JqLT5zZXRDb2x1
bW4oc3RhdGljX2Nhc3Q8aW50PihtX2NvbHVtbikpOwogICAgIGpzb25PYmotPnNldFVybChtX3Vy
bCk7CiAgICAganNvbk9iai0+c2V0UmVwZWF0Q291bnQoc3RhdGljX2Nhc3Q8aW50PihtX3JlcGVh
dENvdW50KSk7Ci0gICAgaWYgKG1fc291cmNlID09IE5ldHdvcmtNZXNzYWdlU291cmNlICYmICFt
X3JlcXVlc3RJZC5pc0VtcHR5KCkpCisKKyAgICBpZiAobV9zb3VyY2UgPT0gTWVzc2FnZVNvdXJj
ZTo6TmV0d29yayAmJiAhbV9yZXF1ZXN0SWQuaXNFbXB0eSgpKQogICAgICAgICBqc29uT2JqLT5z
ZXROZXR3b3JrUmVxdWVzdElkKG1fcmVxdWVzdElkKTsKKwogICAgIGlmIChtX2FyZ3VtZW50cyAm
JiBtX2FyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgpKSB7CiAgICAgICAgIEluamVjdGVkU2NyaXB0
IGluamVjdGVkU2NyaXB0ID0gaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEZv
cihtX2FyZ3VtZW50cy0+Z2xvYmFsU3RhdGUoKSk7CiAgICAgICAgIGlmICghaW5qZWN0ZWRTY3Jp
cHQuaGFzTm9WYWx1ZSgpKSB7CiAgICAgICAgICAgICBSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVp
bGRlcjo6QXJyYXk8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0
Pj4ganNvbkFyZ3MgPSBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5
cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+OjpjcmVhdGUoKTsKLSAgICAgICAgICAg
IGlmIChtX3R5cGUgPT0gVGFibGVNZXNzYWdlVHlwZSAmJiBnZW5lcmF0ZVByZXZpZXcgJiYgbV9h
cmd1bWVudHMtPmFyZ3VtZW50Q291bnQoKSkgeworICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBN
ZXNzYWdlVHlwZTo6VGFibGUgJiYgZ2VuZXJhdGVQcmV2aWV3ICYmIG1fYXJndW1lbnRzLT5hcmd1
bWVudENvdW50KCkpIHsKICAgICAgICAgICAgICAgICBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSB0
YWJsZSA9IG1fYXJndW1lbnRzLT5hcmd1bWVudEF0KDApOwogICAgICAgICAgICAgICAgIERlcHJl
Y2F0ZWQ6OlNjcmlwdFZhbHVlIGNvbHVtbnMgPSBtX2FyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgp
ID4gMSA/IG1fYXJndW1lbnRzLT5hcmd1bWVudEF0KDEpIDogRGVwcmVjYXRlZDo6U2NyaXB0VmFs
dWUoKTsKICAgICAgICAgICAgICAgICBSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UnVu
dGltZTo6UmVtb3RlT2JqZWN0PiBpbnNwZWN0b3JWYWx1ZSA9IGluamVjdGVkU2NyaXB0LndyYXBU
YWJsZSh0YWJsZSwgY29sdW1ucyk7CkBAIC0yMjgsOCArMjI3LDEwIEBAIHZvaWQgQ29uc29sZU1l
c3NhZ2U6OmFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yQ29uc29sZUZyb250ZW5kRGlzcGF0Y2hlciog
Y29uc29sZUZyCiAgICAgICAgICAgICBqc29uT2JqLT5zZXRQYXJhbWV0ZXJzKGpzb25BcmdzKTsK
ICAgICAgICAgfQogICAgIH0KKwogICAgIGlmIChtX2NhbGxTdGFjaykKICAgICAgICAganNvbk9i
ai0+c2V0U3RhY2tUcmFjZShtX2NhbGxTdGFjay0+YnVpbGRJbnNwZWN0b3JBcnJheSgpKTsKKwog
ICAgIGNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXItPm1lc3NhZ2VBZGRlZChqc29uT2JqKTsKIH0K
IApAQCAtMjQzLDYgKzI0NCw3IEBAIGJvb2wgQ29uc29sZU1lc3NhZ2U6OmlzRXF1YWwoQ29uc29s
ZU1lc3NhZ2UqIG1zZykgY29uc3QKICAgICBpZiAobV9hcmd1bWVudHMpIHsKICAgICAgICAgaWYg
KCFtX2FyZ3VtZW50cy0+aXNFcXVhbChtc2ctPm1fYXJndW1lbnRzLmdldCgpKSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICAvLyBOZXZlciB0cmVhdCBvYmplY3RzIGFzIGVx
dWFsIC0gdGhlaXIgcHJvcGVydGllcyBtaWdodCBjaGFuZ2Ugb3ZlciB0aW1lLgogICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCk7ICsraSkg
ewogICAgICAgICAgICAgaWYgKG1fYXJndW1lbnRzLT5hcmd1bWVudEF0KGkpLmlzT2JqZWN0KCkp
CkBAIC0yNjcsMjQgKzI2OSwyNyBAQCBib29sIENvbnNvbGVNZXNzYWdlOjppc0VxdWFsKENvbnNv
bGVNZXNzYWdlKiBtc2cpIGNvbnN0CiAgICAgICAgICYmIG1zZy0+bV9yZXF1ZXN0SWQgPT0gbV9y
ZXF1ZXN0SWQ7CiB9CiAKLXZvaWQgQ29uc29sZU1lc3NhZ2U6OndpbmRvd0NsZWFyZWQoRE9NV2lu
ZG93KiB3aW5kb3cpCit2b2lkIENvbnNvbGVNZXNzYWdlOjpzY3JpcHRTdGF0ZUNsZWFyZWQoSlND
OjpFeGVjU3RhdGUqIGV4ZWNTdGF0ZSkKIHsKICAgICBpZiAoIW1fYXJndW1lbnRzKQogICAgICAg
ICByZXR1cm47Ci0gICAgaWYgKGRvbVdpbmRvd0Zyb21FeGVjU3RhdGUobV9hcmd1bWVudHMtPmds
b2JhbFN0YXRlKCkpICE9IHdpbmRvdykKKworICAgIGlmIChtX2FyZ3VtZW50cy0+Z2xvYmFsU3Rh
dGUoKSAhPSBleGVjU3RhdGUpCiAgICAgICAgIHJldHVybjsKKwogICAgIGlmICghbV9tZXNzYWdl
KQotICAgICAgICBtX21lc3NhZ2UgPSAiPG1lc3NhZ2UgY29sbGVjdGVkPiI7CisgICAgICAgIG1f
bWVzc2FnZSA9IEFTQ0lJTGl0ZXJhbCgiPG1lc3NhZ2UgY29sbGVjdGVkPiIpOwogICAgIG1fYXJn
dW1lbnRzLmNsZWFyKCk7CiB9CiAKLXVuc2lnbmVkIENvbnNvbGVNZXNzYWdlOjphcmd1bWVudENv
dW50KCkKK3Vuc2lnbmVkIENvbnNvbGVNZXNzYWdlOjphcmd1bWVudENvdW50KCkgY29uc3QKIHsK
ICAgICBpZiAobV9hcmd1bWVudHMpCiAgICAgICAgIHJldHVybiBtX2FyZ3VtZW50cy0+YXJndW1l
bnRDb3VudCgpOworCiAgICAgcmV0dXJuIDA7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
K30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCnNpbWlsYXJp
dHkgaW5kZXggODQlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xl
TWVzc2FnZS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmgKaW5kZXggMWExZWFhMS4uOTg0NTJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0zMSwyNyArMzEsMjUgQEAKICNpZm5k
ZWYgQ29uc29sZU1lc3NhZ2VfaAogI2RlZmluZSBDb25zb2xlTWVzc2FnZV9oCiAKLSNpbmNsdWRl
ICJDb25zb2xlQVBJVHlwZXMuaCIKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAjaW5jbHVkZSAi
Q29uc29sZVR5cGVzLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVy
cy5oIgotI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySlNGcm9u
dGVuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworY2xhc3MgRXhlY1N0YXRlOworfQogCiBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKKwogY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwotY2xh
c3MgSW5zcGVjdG9yT2JqZWN0OwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERP
TVdpbmRvdzsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKLWNsYXNzIFNjcmlwdENhbGxGcmFtZTsK
IGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAotY2xhc3MgQ29uc29sZU1lc3NhZ2UgewotICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBDb25zb2xlTWVzc2FnZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3Rh
Y2ssIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogICAgIENv
bnNvbGVNZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiB1cmwsIHVuc2lnbmVkIGxpbmUsIHVuc2lnbmVkIGNvbHVtbiwgSlNDOjpFeGVjU3RhdGUq
ID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwpAQCAtNTks
MTggKzU3LDIwIEBAIHB1YmxpYzoKICAgICBDb25zb2xlTWVzc2FnZShib29sIGNhbkdlbmVyYXRl
Q2FsbFN0YWNrLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgSlNDOjpFeGVj
U3RhdGUqLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAgICAgfkNvbnNv
bGVNZXNzYWdlKCk7CiAKLSAgICB2b2lkIGFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yOjpJbnNwZWN0
b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKiwgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdE1h
bmFnZXIqLCBib29sIGdlbmVyYXRlUHJldmlldyk7Ci0gICAgdm9pZCB1cGRhdGVSZXBlYXRDb3Vu
dEluQ29uc29sZShJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXIq
KTsKLSAgICB2b2lkIGluY3JlbWVudENvdW50KCkgeyArK21fcmVwZWF0Q291bnQ7IH0KLSAgICBi
b29sIGlzRXF1YWwoQ29uc29sZU1lc3NhZ2UqIG1zZykgY29uc3Q7CisgICAgdm9pZCBhZGRUb0Zy
b250ZW5kKEluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXIqLCBJbmplY3RlZFNjcmlw
dE1hbmFnZXIqLCBib29sIGdlbmVyYXRlUHJldmlldyk7CisgICAgdm9pZCB1cGRhdGVSZXBlYXRD
b3VudEluQ29uc29sZShJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKik7CiAKICAg
ICBNZXNzYWdlU291cmNlIHNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlOyB9CiAgICAg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9CiAgICAg
TWVzc2FnZVR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogCi0gICAgdm9pZCB3
aW5kb3dDbGVhcmVkKERPTVdpbmRvdyopOworICAgIHZvaWQgaW5jcmVtZW50Q291bnQoKSB7ICsr
bV9yZXBlYXRDb3VudDsgfQogCi0gICAgdW5zaWduZWQgYXJndW1lbnRDb3VudCgpOworICAgIHVu
c2lnbmVkIGFyZ3VtZW50Q291bnQoKSBjb25zdDsKKworICAgIGJvb2wgaXNFcXVhbChDb25zb2xl
TWVzc2FnZSogbXNnKSBjb25zdDsKKworICAgIHZvaWQgc2NyaXB0U3RhdGVDbGVhcmVkKEpTQzo6
RXhlY1N0YXRlKik7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBhdXRvZ2VuZXJhdGVNZXRhZGF0YShi
b29sIGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogPSBudWxscHRyKTsKQEAg
LTg4LDYgKzg4LDggQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9yZXF1ZXN0SWQ7CiB9OwogCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlm
IC8vIENvbnNvbGVNZXNzYWdlX2gKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oCnNpbWlsYXJpdHkgaW5k
ZXggNjQlCmNvcHkgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVz
LmgKY29weSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5o
CmluZGV4IDExZjY1ZWMuLjFjOTQwOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Db25zb2xlQVBJVHlwZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0NvbnNvbGVUeXBlcy5oCkBAIC0xLDQgKzEsNSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAg
LTIyLDI3ICsyMyw1MiBAQAogICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBDb25zb2xlQVBJVHlwZXNf
aAotI2RlZmluZSBDb25zb2xlQVBJVHlwZXNfaAorI2lmbmRlZiBDb25zb2xlVHlwZXNfaAorI2Rl
ZmluZSBDb25zb2xlVHlwZXNfaAogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAotZW51bSBNZXNzYWdlVHlwZSB7Ci0gICAgTG9nTWVzc2FnZVR5cGUsCi0gICAg
RGlyTWVzc2FnZVR5cGUsCi0gICAgRGlyWE1MTWVzc2FnZVR5cGUsCi0gICAgVGFibGVNZXNzYWdl
VHlwZSwKLSAgICBUcmFjZU1lc3NhZ2VUeXBlLAotICAgIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZSwK
LSAgICBTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUsCi0gICAgRW5kR3JvdXBNZXNzYWdl
VHlwZSwKLSAgICBDbGVhck1lc3NhZ2VUeXBlLAotICAgIEFzc2VydE1lc3NhZ2VUeXBlLAotICAg
IFRpbWluZ01lc3NhZ2VUeXBlLAotICAgIFByb2ZpbGVNZXNzYWdlVHlwZSwKLSAgICBQcm9maWxl
RW5kTWVzc2FnZVR5cGUKK2VudW0gY2xhc3MgTWVzc2FnZVNvdXJjZSB7CisgICAgWE1MLAorICAg
IEpTLAorICAgIE5ldHdvcmssCisgICAgQ29uc29sZUFQSSwKKyAgICBTdG9yYWdlLAorICAgIEFw
cENhY2hlLAorICAgIFJlbmRlcmluZywKKyAgICBDU1MsCisgICAgU2VjdXJpdHksCisgICAgT3Ro
ZXIsCiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCitlbnVtIGNsYXNzIE1lc3NhZ2VUeXBl
IHsKKyAgICBMb2csCisgICAgRGlyLAorICAgIERpclhNTCwKKyAgICBUYWJsZSwKKyAgICBUcmFj
ZSwKKyAgICBTdGFydEdyb3VwLAorICAgIFN0YXJ0R3JvdXBDb2xsYXBzZWQsCisgICAgRW5kR3Jv
dXAsCisgICAgQ2xlYXIsCisgICAgQXNzZXJ0LAorICAgIFRpbWluZywKKyAgICBQcm9maWxlLAor
ICAgIFByb2ZpbGVFbmQsCit9OworCitlbnVtIGNsYXNzIE1lc3NhZ2VMZXZlbCB7CisgICAgTG9n
ID0gMSwKKyAgICBXYXJuaW5nID0gMiwKKyAgICBFcnJvciA9IDMsCisgICAgRGVidWcgPSA0LAor
fTsKKworfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCisKKy8vIFRoZXNlIHdpbGwgbGlrZWx5IG1v
dmUgb3V0IG9mIHRoZSBpbnNwZWN0b3IgbmFtZXNwYWNlLgordXNpbmcgSW5zcGVjdG9yOjpNZXNz
YWdlU291cmNlOwordXNpbmcgSW5zcGVjdG9yOjpNZXNzYWdlVHlwZTsKK3VzaW5nIEluc3BlY3Rv
cjo6TWVzc2FnZUxldmVsOwogCi0jZW5kaWYgLy8gQ29uc29sZUFQSVR5cGVzX2gKKyNlbmRpZiAv
LyBDb25zb2xlVHlwZXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lk
ZW50aWZpZXJzRmFjdG9yeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lk
ZW50aWZpZXJzRmFjdG9yeS5jcHAKc2ltaWxhcml0eSBpbmRleCA5MyUKcmVuYW1lIGZyb20gU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAKcmVuYW1lIHRvIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcAppbmRl
eCBkY2UyYTI4Li40ZmJiMzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SWRlbnRpZmllcnNGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKQEAgLTI0LDI5ICsyNSwyNSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIK
IAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWls
ZGVyLmg+CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBu
YW1lc3BhY2Ugewogc3RhdGljIGxvbmcgc19sYXN0VXNlZElkZW50aWZpZXIgPSAwOwogfQogCi0v
LyBzdGF0aWMKLWxvbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpzX3Byb2Nlc3NJZDsKK2xvbmcgSWRl
bnRpZmllcnNGYWN0b3J5OjpzX3Byb2Nlc3NJZCA9IDA7CiAKLS8vIHN0YXRpYwogU3RyaW5nIElk
ZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpCiB7CiAgICAgcmV0dXJuIGFkZFBy
b2Nlc3NJZFByZWZpeFRvKFN0cmluZzo6bnVtYmVyKCsrc19sYXN0VXNlZElkZW50aWZpZXIpKTsK
IH0KIAotLy8gc3RhdGljCiBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQodW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyKQogewogICAgIGlmIChpZGVudGlmaWVyKQpAQCAtNTQsNyAr
NTEsNiBAQCBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotLy8gc3RhdGljCiBTdHJp
bmcgSWRlbnRpZmllcnNGYWN0b3J5OjphZGRQcm9jZXNzSWRQcmVmaXhUbyhjb25zdCBTdHJpbmcm
IGlkKQogewogICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKQEAgLTY0LDYgKzYwLDYgQEAgU3Ry
aW5nIElkZW50aWZpZXJzRmFjdG9yeTo6YWRkUHJvY2Vzc0lkUHJlZml4VG8oY29uc3QgU3RyaW5n
JiBpZCkKICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwogfQogCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmll
cnNGYWN0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJz
RmFjdG9yeS5oCnNpbWlsYXJpdHkgaW5kZXggOTUlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaApyZW5hbWUgdG8gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaAppbmRleCBiMWE5YzQ4Li5iMjg0
YWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0
b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0Zh
Y3RvcnkuaApAQCAtMjYsMjQgKzI2LDI1IEBACiAjaWZuZGVmIElkZW50aWZpZXJzRmFjdG9yeV9o
CiAjZGVmaW5lIElkZW50aWZpZXJzRmFjdG9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KLQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsK
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotY2xhc3MgSWRlbnRpZmllcnNGYWN0
b3J5IHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBJ
ZGVudGlmaWVyc0ZhY3RvcnkgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNldFByb2Nlc3NJ
ZChsb25nIHByb2Nlc3NJZCkgeyBzX3Byb2Nlc3NJZCA9IHByb2Nlc3NJZDsgfQogICAgIHN0YXRp
YyBTdHJpbmcgY3JlYXRlSWRlbnRpZmllcigpOwogICAgIHN0YXRpYyBTdHJpbmcgcmVxdWVzdElk
KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CisKIHByaXZhdGU6CiAgICAgc3RhdGljIFN0cmlu
ZyBhZGRQcm9jZXNzSWRQcmVmaXhUbyhjb25zdCBTdHJpbmcmIGlkKTsKIAogICAgIHN0YXRpYyBs
b25nIHNfcHJvY2Vzc0lkOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyAhZGVmaW5lZChJZGVudGlmaWVyc0ZhY3Rvcnlf
aCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDQyNGE4
N2YuLjc1ZGJkYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
QEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIgogI2luY2x1ZGUgIkpTR2xv
YmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCIKICNp
bmNsdWRlICJKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaCIKICNpbmNsdWRlICJKU0dsb2Jh
bE9iamVjdFJ1bnRpbWVBZ2VudC5oIgogCkBAIC01Myw3ICs1NCwxMSBAQCBKU0dsb2JhbE9iamVj
dEluc3BlY3RvckNvbnRyb2xsZXI6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcihK
U0dsb2JhbE9iagogICAgIEluc3BlY3RvclJ1bnRpbWVBZ2VudCogcnVudGltZUFnZW50ID0gcnVu
dGltZUFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUocnVudGlt
ZUFnZW50UHRyKSk7CiAKLSAgICBhdXRvIGRlYnVnZ2VyQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5p
cXVlPEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudD4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIu
Z2V0KCksIG1fZ2xvYmFsT2JqZWN0KTsKKyAgICBhdXRvIGNvbnNvbGVBZ2VudFB0ciA9IHN0ZDo6
bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ+KG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmdldCgpKTsKKyAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9
IGNvbnNvbGVBZ2VudFB0ci5nZXQoKTsKKyAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptb3ZlKGNv
bnNvbGVBZ2VudFB0cikpOworCisgICAgYXV0byBkZWJ1Z2dlckFnZW50UHRyID0gc3RkOjptYWtl
X3VuaXF1ZTxKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ+KG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmdldCgpLCBtX2dsb2JhbE9iamVjdCwgY29uc29sZUFnZW50KTsKICAgICBJbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50KiBkZWJ1Z2dlckFnZW50ID0gZGVidWdnZXJBZ2VudFB0ci5nZXQoKTsKICAg
ICBtX2FnZW50cy5hcHBlbmQoc3RkOjptb3ZlKGRlYnVnZ2VyQWdlbnRQdHIpKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5jcHAKc2ltaWxhcml0
eSBpbmRleCA5MCUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFy
Z3VtZW50cy5jcHAKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2Ny
aXB0QXJndW1lbnRzLmNwcAppbmRleCA5ZTY1ZjdlLi4xNWYxNGRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5jcHAKQEAgLTEsMTAgKzEsMTEg
QEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICAqIG1ldDoKLSAq
IAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xNCw3ICsxNSw3IEBA
CiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMxLDE3ICszMiwxNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgogCi0jaW5jbHVkZSA8YmluZGlu
Z3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlICJTY3JpcHRWYWx1ZS5oIgogCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+IFNjcmlwdEFyZ3VtZW50czo6Y3JlYXRlKEpTQzo6RXhlY1N0YXRlKiBzY3JpcHRTdGF0
ZSwgVmVjdG9yPERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlPiYgYXJndW1lbnRzKQogewogICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgU2NyaXB0QXJndW1lbnRzKHNjcmlwdFN0YXRlLCBhcmd1bWVudHMp
KTsKIH0KIAotU2NyaXB0QXJndW1lbnRzOjpTY3JpcHRBcmd1bWVudHMoSlNDOjpFeGVjU3RhdGUq
IHNjcmlwdFN0YXRlLCBWZWN0b3I8RGVwcmVjYXRlZDo6U2NyaXB0VmFsdWU+JiBhcmd1bWVudHMp
Ci0gICAgOiBtX2dsb2JhbE9iamVjdChzY3JpcHRTdGF0ZS0+dm0oKSwgc2NyaXB0U3RhdGUtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSkKK1NjcmlwdEFyZ3VtZW50czo6U2NyaXB0QXJndW1lbnRzKEpT
Qzo6RXhlY1N0YXRlKiBleGVjU3RhdGUsIFZlY3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4m
IGFyZ3VtZW50cykKKyAgICA6IG1fZ2xvYmFsT2JqZWN0KGV4ZWNTdGF0ZS0+dm0oKSwgZXhlY1N0
YXRlLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpCiB7CiAgICAgbV9hcmd1bWVudHMuc3dhcChhcmd1
bWVudHMpOwogfQpAQCAtNjAsNiArNjEsNyBAQCBKU0M6OkV4ZWNTdGF0ZSogU2NyaXB0QXJndW1l
bnRzOjpnbG9iYWxTdGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYgKG1fZ2xvYmFsT2JqZWN0KQogICAg
ICAgICByZXR1cm4gY29uc3RfY2FzdDxKU0M6OkpTR2xvYmFsT2JqZWN0Kj4obV9nbG9iYWxPYmpl
Y3QuZ2V0KCkpLT5nbG9iYWxFeGVjKCk7CisKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApAQCAt
OTUsNyArOTcsOCBAQCBib29sIFNjcmlwdEFyZ3VtZW50czo6aXNFcXVhbChTY3JpcHRBcmd1bWVu
dHMqIG90aGVyKSBjb25zdAogICAgICAgICBpZiAoIW1fYXJndW1lbnRzW2ldLmlzRXF1YWwob3Ro
ZXItPmdsb2JhbFN0YXRlKCksIG90aGVyLT5tX2FyZ3VtZW50c1tpXSkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQorCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaApzaW1pbGFyaXR5IGluZGV4IDkwJQpyZW5h
bWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmgKcmVuYW1l
IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmgKaW5k
ZXggNDdhOTYyMy4uNTMzN2UwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1NjcmlwdEFyZ3VtZW50cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
U2NyaXB0QXJndW1lbnRzLmgKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAt
NDYsMTIgKzQ3LDExIEBAIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIEpTR2xvYmFsT2JqZWN0Owog
fQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAotY2xhc3Mg
U2NyaXB0QXJndW1lbnRzIDogcHVibGljIFJlZkNvdW50ZWQ8U2NyaXB0QXJndW1lbnRzPiB7Citj
bGFzcyBKU19FWFBPUlRfUFJJVkFURSBTY3JpcHRBcmd1bWVudHMgOiBwdWJsaWMgUmVmQ291bnRl
ZDxTY3JpcHRBcmd1bWVudHM+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIFZlY3RvcjxEZXByZWNhdGVkOjpT
Y3JpcHRWYWx1ZT4mIGFyZ3VtZW50cyk7Ci0KICAgICB+U2NyaXB0QXJndW1lbnRzKCk7CiAKICAg
ICBjb25zdCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSYgYXJndW1lbnRBdChzaXplX3QpIGNvbnN0
OwpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAKICAgICBKU0M6OkV4ZWNTdGF0ZSogZ2xvYmFs
U3RhdGUoKSBjb25zdDsKIAotICAgIGJvb2wgZ2V0Rmlyc3RBcmd1bWVudEFzU3RyaW5nKFdURjo6
U3RyaW5nJiByZXN1bHQsIGJvb2wgY2hlY2tGb3JOdWxsT3JVbmRlZmluZWQgPSBmYWxzZSk7Cisg
ICAgYm9vbCBnZXRGaXJzdEFyZ3VtZW50QXNTdHJpbmcoU3RyaW5nJiByZXN1bHQsIGJvb2wgY2hl
Y2tGb3JOdWxsT3JVbmRlZmluZWQgPSBmYWxzZSk7CiAgICAgYm9vbCBpc0VxdWFsKFNjcmlwdEFy
Z3VtZW50cyopIGNvbnN0OwogCiBwcml2YXRlOgpAQCAtNjksNiArNjksNiBAQCBwcml2YXRlOgog
ICAgIFZlY3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4gbV9hcmd1bWVudHM7CiB9OwogCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlm
IC8vIFNjcmlwdEFyZ3VtZW50c19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbEZyYW1lLmNwcApzaW1pbGFyaXR5IGluZGV4IDkyJQpyZW5hbWUgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcApyZW5hbWUgdG8gU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCmluZGV4IDY5YzI4
ZjkuLmM3YTgyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRD
YWxsRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0
Q2FsbEZyYW1lLmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQogICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKQEAgLTE0LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot
ICogCisgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAt
MzEsMTMgKzMyLDEwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2Fs
bEZyYW1lLmgiCiAKLSNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgi
Ci0jaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgotI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KKyNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKKyNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogU2NyaXB0Q2FsbEZyYW1lOjpTY3JpcHRD
YWxsRnJhbWUoY29uc3QgU3RyaW5nJiBmdW5jdGlvbk5hbWUsIGNvbnN0IFN0cmluZyYgc2NyaXB0
TmFtZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uKQogICAgIDogbV9mdW5j
dGlvbk5hbWUoZnVuY3Rpb25OYW1lKQpAQCAtNzEsNCArNjksNCBAQCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNhbGxGcmFtZT4gU2NyaXB0Q2FsbEZyYW1lOjpi
dWlsZElucwogfQogI2VuZGlmCiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Njcmlw
dENhbGxGcmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxs
RnJhbWUuaApzaW1pbGFyaXR5IGluZGV4IDkzJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKaW5kZXggZDZkY2ZhMy4uMDA1MjRkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKQEAgLTEs
MTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICAq
IG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xNCw3
ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMxLDIwICszMiwxNiBAQAogI2lm
bmRlZiBTY3JpcHRDYWxsRnJhbWVfaAogI2RlZmluZSBTY3JpcHRDYWxsRnJhbWVfaAogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLSNpbmNsdWRlICJJbnNwZWN0b3JXZWJUeXBlQnVpbGRlcnMuaCIK
LSNlbmRpZgotCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisjaW5jbHVkZSAiSW5zcGVjdG9y
SlNUeXBlQnVpbGRlcnMuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKLWNsYXNz
IEluc3BlY3Rvck9iamVjdDsKLX0KIAotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBTY3Jp
cHRDYWxsRnJhbWUgIHsKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFNjcmlwdENhbGxGcmFtZSAg
ewogcHVibGljOgogICAgIFNjcmlwdENhbGxGcmFtZShjb25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFt
ZSwgY29uc3QgU3RyaW5nJiBzY3JpcHROYW1lLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25l
ZCBjb2x1bW4pOwogICAgIH5TY3JpcHRDYWxsRnJhbWUoKTsKQEAgLTY3LDYgKzY0LDYgQEAgcHJp
dmF0ZToKICAgICB1bnNpZ25lZCBtX2NvbHVtbjsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gU2NyaXB0Q2FsbEZyYW1l
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2su
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3Bw
CnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2suY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKaW5kZXggYzRhZjFiNC4uMmRkMjg1ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwCkBAIC0x
LDEwICsxLDExIEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwOCwgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQog
ICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKQEAgLTE0
LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgogICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMTIgKzMyLDkgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKIAotI2luY2x1
ZGUgIkluc3BlY3RvcldlYlR5cGVCdWlsZGVycy5oIgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuaD4KKyNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKIAotdXNpbmcgbmFt
ZXNwYWNlIEluc3BlY3RvcjsKLQotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CiAKIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBTY3JpcHRDYWxsU3RhY2s6OmNy
ZWF0ZShWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiYgZnJhbWVzKQogewpAQCAtNTIsNyArNTAsNyBA
QCBTY3JpcHRDYWxsU3RhY2s6On5TY3JpcHRDYWxsU3RhY2soKQogewogfQogCi1jb25zdCBTY3Jp
cHRDYWxsRnJhbWUgJlNjcmlwdENhbGxTdGFjazo6YXQoc2l6ZV90IGluZGV4KSBjb25zdAorY29u
c3QgU2NyaXB0Q2FsbEZyYW1lJiBTY3JpcHRDYWxsU3RhY2s6OmF0KHNpemVfdCBpbmRleCkgY29u
c3QKIHsKICAgICBBU1NFUlQobV9mcmFtZXMuc2l6ZSgpID4gaW5kZXgpOwogICAgIHJldHVybiBt
X2ZyYW1lc1tpbmRleF07CkBAIC05MCw0ICs4OCw0IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6QXJyYXk8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q2FsbEZy
CiB9CiAjZW5kaWYKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5z
cGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0
YWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5o
CnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2suaApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2suaAppbmRleCAxOTc1ZGE1Yy4uZGRhYTJiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTEsMTAgKzEs
MTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDA4LCAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICAq
IG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xNCw3
ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMxLDE4ICszMiwxOCBAQAogI2lm
bmRlZiBTY3JpcHRDYWxsU3RhY2tfaAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tfaAogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLSNpbmNsdWRlICJJbnNwZWN0b3JXZWJUeXBlQnVpbGRlcnMuaCIK
LSNlbmRpZgotCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisjaW5j
bHVkZSAiSW5zcGVjdG9ySlNUeXBlQnVpbGRlcnMuaCIKKyNlbmRpZgogCi1jbGFzcyBTY3JpcHRD
YWxsU3RhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRDYWxsU3RhY2s+IHsKK25hbWVzcGFj
ZSBJbnNwZWN0b3IgeworCitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBTY3JpcHRDYWxsU3RhY2sg
OiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRDYWxsU3RhY2s+IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgY29uc3Qgc2l6ZV90IG1heENhbGxTdGFja1NpemVUb0NhcHR1cmUgPSAyMDA7CiAgICAgCkBA
IC01MCw3ICs1MSw3IEBAIHB1YmxpYzoKIAogICAgIH5TY3JpcHRDYWxsU3RhY2soKTsKIAotICAg
IGNvbnN0IFNjcmlwdENhbGxGcmFtZSAmYXQoc2l6ZV90KSBjb25zdDsKKyAgICBjb25zdCBTY3Jp
cHRDYWxsRnJhbWUmIGF0KHNpemVfdCkgY29uc3Q7CiAgICAgc2l6ZV90IHNpemUoKSBjb25zdDsK
IAogICAgIGJvb2wgaXNFcXVhbChTY3JpcHRDYWxsU3RhY2sqKSBjb25zdDsKQEAgLTY1LDYgKzY2
LDYgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBtX2ZyYW1lczsKIH07
CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAj
ZW5kaWYgLy8gU2NyaXB0Q2FsbFN0YWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcApzaW1pbGFyaXR5IGluZGV4
IDcwJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5LmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcAppbmRleCA3ZDY5NWE0Li4zNWE1MzNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuY3BwCkBAIC0xLDExICsxLDEyIEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEyIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogCisgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAgKiBtZXQ6Ci0gKiAKKyAqCiAgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAogICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgogICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQpAQCAtMTUsNyArMTYsNyBAQAogICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCkBAIC0zMiw3OCArMzMsMzAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAKLSNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCIKLSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKLSNpbmNsdWRlICJKU01haW5U
aHJlYWRFeGVjU3RhdGUuaCIKKyNpbmNsdWRlICJBcmdMaXN0LmgiCisjaW5jbHVkZSAiQ2FsbEZy
YW1lLmgiCisjaW5jbHVkZSAiQ2FsbEZyYW1lSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pTVmFs
dWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRz
LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0
YWNrLmgiCi0jaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KLSNpbmNsdWRlIDxpbnRl
cnByZXRlci9DYWxsRnJhbWUuaD4KLSNpbmNsdWRlIDxpbnRlcnByZXRlci9DYWxsRnJhbWVJbmxp
bmVzLmg+Ci0jaW5jbHVkZSA8aW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmg+Ci0jaW5jbHVkZSA8
cnVudGltZS9BcmdMaXN0Lmg+Ci0jaW5jbHVkZSA8cnVudGltZS9KU0NKU1ZhbHVlLmg+Ci0jaW5j
bHVkZSA8cnVudGltZS9KU0Z1bmN0aW9uLmg+Ci0jaW5jbHVkZSA8cnVudGltZS9WTS5oPgorI2lu
Y2x1ZGUgIlNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSAiU3RhY2tWaXNpdG9yLmgiCisjaW5jbHVk
ZSAiVk0uaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZEFycmF5Lmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK25hbWVzcGFjZSBJbnNw
ZWN0b3IgewogCiBjbGFzcyBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIHsKIHB1YmxpYzoK
LSAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yKFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+
JiBmcmFtZXMsICBzaXplX3QgcmVtYWluaW5nQ2FwYWNpdHkpCi0gICAgICAgIDogbV9mcmFtZXMo
ZnJhbWVzKQotICAgICAgICAsIG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUocmVt
YWluaW5nQ2FwYWNpdHkpCi0gICAgewotICAgIH0KLQotICAgIFN0YWNrVmlzaXRvcjo6U3RhdHVz
IG9wZXJhdG9yKCkoU3RhY2tWaXNpdG9yJiB2aXNpdG9yKQotICAgIHsKLSAgICAgICAgaWYgKG1f
cmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUpIHsKLSAgICAgICAgICAgIHVuc2lnbmVk
IGxpbmU7Ci0gICAgICAgICAgICB1bnNpZ25lZCBjb2x1bW47Ci0gICAgICAgICAgICB2aXNpdG9y
LT5jb21wdXRlTGluZUFuZENvbHVtbihsaW5lLCBjb2x1bW4pOwotICAgICAgICAgICAgbV9mcmFt
ZXMuYXBwZW5kKFNjcmlwdENhbGxGcmFtZSh2aXNpdG9yLT5mdW5jdGlvbk5hbWUoKSwgdmlzaXRv
ci0+c291cmNlVVJMKCksIGxpbmUsIGNvbHVtbikpOwotCi0gICAgICAgICAgICBtX3JlbWFpbmlu
Z0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlLS07Ci0gICAgICAgICAgICByZXR1cm4gU3RhY2tWaXNp
dG9yOjpDb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gU3RhY2tWaXNpdG9yOjpE
b25lOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiYgbV9m
cmFtZXM7Ci0gICAgc2l6ZV90IG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmU7Ci19
OwotCi1QYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHNp
emVfdCBtYXhTdGFja1NpemUsIGJvb2wgZW1wdHlJc0FsbG93ZWQpCi17Ci0gICAgVmVjdG9yPFNj
cmlwdENhbGxGcmFtZT4gZnJhbWVzOwotICAgIGlmIChKU0M6OkV4ZWNTdGF0ZSogZXhlYyA9IEpT
TWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCkpIHsKLSAgICAgICAgQ2FsbEZyYW1l
KiBmcmFtZSA9IGV4ZWMtPnZtKCkudG9wQ2FsbEZyYW1lOwotICAgICAgICBDcmVhdGVTY3JpcHRD
YWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IoZnJhbWVzLCBtYXhTdGFja1NpemUpOwotICAgICAgICBm
cmFtZS0+aXRlcmF0ZShmdW5jdG9yKTsKLSAgICB9Ci0gICAgaWYgKGZyYW1lcy5pc0VtcHR5KCkg
JiYgIWVtcHR5SXNBbGxvd2VkKSB7Ci0gICAgICAgIC8vIE5vIGZyYW1lcyBmb3VuZC4gSXQgbWF5
IGhhcHBlbiBpbiB0aGUgY2FzZSB3aGVyZQotICAgICAgICAvLyBhIGJvdW5kIGZ1bmN0aW9uIGlz
IGNhbGxlZCBmcm9tIG5hdGl2ZSBjb2RlIGZvciBleGFtcGxlLgotICAgICAgICAvLyBGYWxsYmFj
ayB0byBzZXR0aW5nIGxpbmVOdW1iZXIgdG8gMCwgYW5kIHNvdXJjZSBhbmQgZnVuY3Rpb24gbmFt
ZSB0byAidW5kZWZpbmVkIi4KLSAgICAgICAgZnJhbWVzLmFwcGVuZChTY3JpcHRDYWxsRnJhbWUo
InVuZGVmaW5lZCIsICJ1bmRlZmluZWQiLCAwLCAwKSk7Ci0gICAgfQotICAgIHJldHVybiBTY3Jp
cHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOwotfQotCi1jbGFzcyBDcmVhdGVTY3JpcHRDYWxs
U3RhY2tGb3JDb25zb2xlRnVuY3RvciB7Ci1wdWJsaWM6Ci0gICAgQ3JlYXRlU2NyaXB0Q2FsbFN0
YWNrRm9yQ29uc29sZUZ1bmN0b3IoYm9vbCBuZWVkVG9Ta2lwQUZyYW1lLCAgc2l6ZV90IHJlbWFp
bmluZ0NhcGFjaXR5LCBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiYgZnJhbWVzKQorICAgIENyZWF0
ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IoYm9vbCBuZWVkVG9Ta2lwQUZyYW1lLCBWZWN0b3I8U2Ny
aXB0Q2FsbEZyYW1lPiYgZnJhbWVzLCBzaXplX3QgcmVtYWluaW5nQ2FwYWNpdHkpCiAgICAgICAg
IDogbV9uZWVkVG9Ta2lwQUZyYW1lKG5lZWRUb1NraXBBRnJhbWUpCi0gICAgICAgICwgbV9yZW1h
aW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZShyZW1haW5pbmdDYXBhY2l0eSkKICAgICAgICAg
LCBtX2ZyYW1lcyhmcmFtZXMpCisgICAgICAgICwgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1l
Q2FwdHVyZShyZW1haW5pbmdDYXBhY2l0eSkKICAgICB7CiAgICAgfQogCkBAIC0xMTUsMTIgKzY4
LDYgQEAgcHVibGljOgogICAgICAgICB9CiAKICAgICAgICAgaWYgKG1fcmVtYWluaW5nQ2FwYWNp
dHlGb3JGcmFtZUNhcHR1cmUpIHsKLSAgICAgICAgICAgIC8vIFRoaXMgZWFybHkgZXhpdCBpcyBu
ZWNlc3NhcnkgdG8gbWFpbnRhaW4gb3VyIG9sZCBiZWhhdmlvdXIKLSAgICAgICAgICAgIC8vIGJ1
dCB0aGUgc3RhY2sgdHJhY2Ugd2UgcHJvZHVjZSBub3cgaXMgY29tcGxldGUgYW5kIGhhbmRsZXMg
YWxsCi0gICAgICAgICAgICAvLyB3YXlzIGluIHdoaWNoIGNvZGUgbWF5IGJlIHJ1bm5pbmcKLSAg
ICAgICAgICAgIGlmICghdmlzaXRvci0+Y2FsbGVlKCkgJiYgbV9mcmFtZXMuc2l6ZSgpKQotICAg
ICAgICAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkRvbmU7Ci0KICAgICAgICAgICAgIHVu
c2lnbmVkIGxpbmU7CiAgICAgICAgICAgICB1bnNpZ25lZCBjb2x1bW47CiAgICAgICAgICAgICB2
aXNpdG9yLT5jb21wdXRlTGluZUFuZENvbHVtbihsaW5lLCBjb2x1bW4pOwpAQCAtMTI5LDI2ICs3
Niw0OSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX3JlbWFpbmluZ0NhcGFjaXR5Rm9yRnJhbWVD
YXB0dXJlLS07CiAgICAgICAgICAgICByZXR1cm4gU3RhY2tWaXNpdG9yOjpDb250aW51ZTsKICAg
ICAgICAgfQorCiAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkRvbmU7CiAgICAgfQogCiBw
cml2YXRlOgogICAgIGJvb2wgbV9uZWVkVG9Ta2lwQUZyYW1lOwotICAgIHNpemVfdCBtX3JlbWFp
bmluZ0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlOwogICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+
JiBtX2ZyYW1lczsKKyAgICBzaXplX3QgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVy
ZTsKIH07CiAKK1Bhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3Rh
Y2soSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBtYXhTdGFja1NpemUsIGJvb2wgZW1wdHlJ
c0FsbG93ZWQpCit7CisgICAgVmVjdG9yPFNjcmlwdENhbGxGcmFtZT4gZnJhbWVzOworCisgICAg
aWYgKGV4ZWMpIHsKKyAgICAgICAgQ2FsbEZyYW1lKiBmcmFtZSA9IGV4ZWMtPnZtKCkudG9wQ2Fs
bEZyYW1lOworICAgICAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IoZmFs
c2UsIGZyYW1lcywgbWF4U3RhY2tTaXplKTsKKyAgICAgICAgZnJhbWUtPml0ZXJhdGUoZnVuY3Rv
cik7CisgICAgfQorCisgICAgaWYgKGZyYW1lcy5pc0VtcHR5KCkgJiYgIWVtcHR5SXNBbGxvd2Vk
KSB7CisgICAgICAgIC8vIE5vIGZyYW1lcyBmb3VuZC4gSXQgbWF5IGhhcHBlbiBpbiB0aGUgY2Fz
ZSB3aGVyZQorICAgICAgICAvLyBhIGJvdW5kIGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIG5hdGl2
ZSBjb2RlIGZvciBleGFtcGxlLgorICAgICAgICAvLyBGYWxsYmFjayB0byBzZXR0aW5nIGxpbmVO
dW1iZXIgdG8gMCwgYW5kIHNvdXJjZSBhbmQgZnVuY3Rpb24gbmFtZSB0byAidW5kZWZpbmVkIi4K
KyAgICAgICAgZnJhbWVzLmFwcGVuZChTY3JpcHRDYWxsRnJhbWUoQVNDSUlMaXRlcmFsKCJ1bmRl
ZmluZWQiKSwgQVNDSUlMaXRlcmFsKCJ1bmRlZmluZWQiKSwgMCwgMCkpOworICAgIH0KKworICAg
IHJldHVybiBTY3JpcHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOworfQorCiBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTQzo6RXhlY1N0YXRlKiBl
eGVjLCBzaXplX3QgbWF4U3RhY2tTaXplKQogewogICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+
IGZyYW1lczsKLSAgICBBU1NFUlQoZXhlYyk7CisKICAgICBDYWxsRnJhbWUqIGZyYW1lID0gZXhl
Yy0+dm0oKS50b3BDYWxsRnJhbWU7Ci0gICAgQ3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29s
ZUZ1bmN0b3IgZnVuY3Rvcih0cnVlLCBtYXhTdGFja1NpemUsIGZyYW1lcyk7CisgICAgQ3JlYXRl
U2NyaXB0Q2FsbFN0YWNrRnVuY3RvciBmdW5jdG9yKHRydWUsIGZyYW1lcywgbWF4U3RhY2tTaXpl
KTsKICAgICBmcmFtZS0+aXRlcmF0ZShmdW5jdG9yKTsKKwogICAgIGlmIChmcmFtZXMuaXNFbXB0
eSgpKSB7Ci0gICAgICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGVGdW5jdG9yIGZ1
bmN0b3IoZmFsc2UsIG1heFN0YWNrU2l6ZSwgZnJhbWVzKTsKKyAgICAgICAgQ3JlYXRlU2NyaXB0
Q2FsbFN0YWNrRnVuY3RvciBmdW5jdG9yKGZhbHNlLCBmcmFtZXMsIG1heFN0YWNrU2l6ZSk7CiAg
ICAgICAgIGZyYW1lLT5pdGVyYXRlKGZ1bmN0b3IpOwogICAgIH0KKwogICAgIHJldHVybiBTY3Jp
cHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOwogfQogCkBAIC0xNjAsMTAgKzEzMCwxMCBAQCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRnJvbUV4Y2Vw
dGlvbihKU0M6OkV4ZWNTdGF0ZSogZQogICAgICAgICBpZiAoIXN0YWNrVHJhY2VbaV0uY2FsbGVl
ICYmIGZyYW1lcy5zaXplKCkpCiAgICAgICAgICAgICBicmVhazsKIAotICAgICAgICBTdHJpbmcg
ZnVuY3Rpb25OYW1lID0gc3RhY2tUcmFjZVtpXS5mcmllbmRseUZ1bmN0aW9uTmFtZShleGVjKTsK
ICAgICAgICAgdW5zaWduZWQgbGluZTsKICAgICAgICAgdW5zaWduZWQgY29sdW1uOwogICAgICAg
ICBzdGFja1RyYWNlW2ldLmNvbXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUsIGNvbHVtbik7CisgICAg
ICAgIFN0cmluZyBmdW5jdGlvbk5hbWUgPSBzdGFja1RyYWNlW2ldLmZyaWVuZGx5RnVuY3Rpb25O
YW1lKGV4ZWMpOwogICAgICAgICBmcmFtZXMuYXBwZW5kKFNjcmlwdENhbGxGcmFtZShmdW5jdGlv
bk5hbWUsIHN0YWNrVHJhY2VbaV0uc291cmNlVVJMLCBsaW5lLCBjb2x1bW4pKTsKICAgICB9CiAK
QEAgLTE4OCwxMiArMTU4LDggQEAgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNj
cmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqIGUKIAogUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGUoSlNDOjpF
eGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgc2l6ZV90IG1heFN0YWNrU2l6ZSA9IDE7Ci0gICAgaWYg
KEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKLSAgICAgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9IGpzQ2FzdDxKU0RP
TUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsKLSAgICAgICAgaWYgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29u
c29sZUFnZW50RW5hYmxlZChzY3JpcHRFeGVjdXRpb25Db250ZXh0KSkKLSAgICAgICAgICAgIG1h
eFN0YWNrU2l6ZSA9IFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZTsK
LSAgICB9CisgICAgLy8gRklYTUU6IENhbGxlciBzaG91bGQgdXNlIGNyZWF0ZVNjcmlwdENhbGxT
dGFjayBhbHRlcm5hdGl2ZSB3aXRoIHRoZSBleGVjIGFuZCBhcHByb3ByaWF0ZSBtYXguCisgICAg
c2l6ZV90IG1heFN0YWNrU2l6ZSA9IDEwOwogICAgIHJldHVybiBjcmVhdGVTY3JpcHRDYWxsU3Rh
Y2soZXhlYywgbWF4U3RhY2tTaXplKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKc2ltaWxhcml0eSBpbmRleCA2
OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFja0ZhY3RvcnkuaAppbmRleCAyOThiYmJkLi5mYmE4YWMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgK
QEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKICAqIG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBA
IC0xNCw3ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMyLDI1ICszMywyNCBA
QAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRBcnJheS5oPgogCiBuYW1lc3BhY2UgSlND
IHsKIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIEpTVmFsdWU7Ci1zdHJ1Y3QgU3RhY2tGcmFtZTsK
IH0KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIGNsYXNz
IFNjcmlwdEFyZ3VtZW50czsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAotUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzaXplX3QgbWF4U3RhY2tTaXpl
LCBib29sIGVtcHR5U3RhY2tJc0FsbG93ZWQpOwotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSosIHNpemVfdCBtYXhTdGFja1Np
emUpOwotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zy
b21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUmIGV4Y2VwdGlvbiwgc2l6
ZV90IG1heFN0YWNrU2l6ZSk7Ci1QYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2Ny
aXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSopOwotUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhKU0M6OkV4ZWNTdGF0ZSosIHVuc2ln
bmVkIHNraXBBcmd1bWVudENvdW50KTsKKy8vIEZJWE1FOiBUaGUgc3VidGxlIGRpZmZlcmVuY2Vz
IGJldHdlZW4gdGhlc2Ugc2hvdWxkIGJlIGVsaW1pbmF0ZWQuCitKU19FWFBPUlRfUFJJVkFURSBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTQzo6RXhl
Y1N0YXRlKiwgc2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0eUlzQWxsb3dlZCk7CitKU19F
WFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2Fs
bFN0YWNrKEpTQzo6RXhlY1N0YXRlKiwgc2l6ZV90IG1heFN0YWNrU2l6ZSk7CitKU19FWFBPUlRf
UFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNr
RnJvbUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSYgZXhjZXB0aW9uLCBz
aXplX3QgbWF4U3RhY2tTaXplKTsKK0pTX0VYUE9SVF9QUklWQVRFIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlKEpTQzo6RXhlY1N0YXRl
Kik7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gY3JlYXRl
U2NyaXB0QXJndW1lbnRzKEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgc2tpcEFyZ3VtZW50Q291
bnQpOwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IK
IAogI2VuZGlmIC8vIFNjcmlwdENhbGxTdGFja0ZhY3RvcnlfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCnNp
bWlsYXJpdHkgaW5kZXggNjIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCmluZGV4IDhhNDZkNjku
LmRiNmY5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dApAQCAtMjIsNjcgKzIzLDY2IEBACiAgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0KICNpbmNsdWRlICJj
b25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JD
b25zb2xlQWdlbnQuaCIKIAotI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5oIgotI2luY2x1
ZGUgIkNvbnNvbGUuaCIKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAjaW5jbHVkZSAiQ29uc29s
ZU1lc3NhZ2UuaCIKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JX
ZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCi0jaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5o
IgotI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKLSNpbmNsdWRlICJSZXNv
dXJjZUVycm9yLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgIklu
amVjdGVkU2NyaXB0TWFuYWdlci5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgogI2lu
Y2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgog
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKLSNpbmNsdWRlICJTY3JpcHRQcm9m
aWxlci5oIgotI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdE9iamVjdC5oPgorI2luY2x1ZGUgIlNj
cmlwdE9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAot
dXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKLQotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNw
YWNlIEluc3BlY3RvciB7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhpbXVtQ29uc29sZU1l
c3NhZ2VzID0gMTAwMDsKIHN0YXRpYyBjb25zdCBpbnQgZXhwaXJlQ29uc29sZU1lc3NhZ2VzU3Rl
cCA9IDEwMDsKIAotSW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgUGFnZUluamVjdGVkU2Ny
aXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQotICAgIDogSW5zcGVjdG9yQWdlbnRC
YXNlKEFTQ0lJTGl0ZXJhbCgiQ29uc29sZSIpLCBpbnN0cnVtZW50aW5nQWdlbnRzKQorSW5zcGVj
dG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoQVND
SUlMaXRlcmFsKCJDb25zb2xlIikpCiAgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcihpbmpl
Y3RlZFNjcmlwdE1hbmFnZXIpCiAgICAgLCBtX3ByZXZpb3VzTWVzc2FnZShudWxscHRyKQogICAg
ICwgbV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCgwKQogICAgICwgbV9lbmFibGVkKGZhbHNl
KQotICAgICwgbV9tb25pdG9yaW5nWEhSRW5hYmxlZChmYWxzZSkKIHsKLSAgICBtX2luc3RydW1l
bnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNvbnNvbGVBZ2VudCh0aGlzKTsKIH0KIAogSW5zcGVj
dG9yQ29uc29sZUFnZW50Ojp+SW5zcGVjdG9yQ29uc29sZUFnZW50KCkKIHsKLSAgICBtX2luc3Ry
dW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNvbnNvbGVBZ2VudChudWxscHRyKTsKLSAgICBt
X2luc3RydW1lbnRpbmdBZ2VudHMgPSBudWxscHRyOwotICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyID0gbnVsbHB0cjsKK30KKwordm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCog
ZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3Bh
dGNoZXIpCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAg
bV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3RvckNvbnNvbGVCYWNrZW5kRGlzcGF0Y2hlcjo6
Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKK30KKwordm9pZCBJbnNwZWN0b3JDb25z
b2xlQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3RvckRpc2Nvbm5l
Y3RSZWFzb24pCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBudWxscHRyOworICAgIG1f
YmFja2VuZERpc3BhdGNoZXIuY2xlYXIoKTsKKworICAgIFN0cmluZyBlcnJvclN0cmluZzsKKyAg
ICBkaXNhYmxlKCZlcnJvclN0cmluZyk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50
OjplbmFibGUoRXJyb3JTdHJpbmcqKQogewogICAgIGlmIChtX2VuYWJsZWQpCiAgICAgICAgIHJl
dHVybjsKKwogICAgIG1fZW5hYmxlZCA9IHRydWU7CiAKICAgICBpZiAobV9leHBpcmVkQ29uc29s
ZU1lc3NhZ2VDb3VudCkgewotICAgICAgICBDb25zb2xlTWVzc2FnZSBleHBpcmVkTWVzc2FnZSgh
aXNXb3JrZXJBZ2VudCgpLCBPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJu
aW5nTWVzc2FnZUxldmVsLCBTdHJpbmc6OmZvcm1hdCgiJWQgY29uc29sZSBtZXNzYWdlcyBhcmUg
bm90IHNob3duLiIsIG1fZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQpKTsKKyAgICAgICAgQ29u
c29sZU1lc3NhZ2UgZXhwaXJlZE1lc3NhZ2UoIWlzV29ya2VyQWdlbnQoKSwgTWVzc2FnZVNvdXJj
ZTo6T3RoZXIsIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgU3RyaW5n
Ojpmb3JtYXQoIiVkIGNvbnNvbGUgbWVzc2FnZXMgYXJlIG5vdCBzaG93bi4iLCBtX2V4cGlyZWRD
b25zb2xlTWVzc2FnZUNvdW50KSk7CiAgICAgICAgIGV4cGlyZWRNZXNzYWdlLmFkZFRvRnJvbnRl
bmQobV9mcm9udGVuZERpc3BhdGNoZXIuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLCBm
YWxzZSk7CiAgICAgfQogCkBAIC05NSw2ICs5NSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFn
ZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKIHsKICAgICBpZiAoIW1fZW5hYmxlZCkKICAgICAg
ICAgcmV0dXJuOworCiAgICAgbV9lbmFibGVkID0gZmFsc2U7CiB9CiAKQEAgLTEwMyw3ICsxMDQs
OSBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJNZXNzYWdlcyhFcnJvclN0cmlu
ZyopCiAgICAgbV9jb25zb2xlTWVzc2FnZXMuY2xlYXIoKTsKICAgICBtX2V4cGlyZWRDb25zb2xl
TWVzc2FnZUNvdW50ID0gMDsKICAgICBtX3ByZXZpb3VzTWVzc2FnZSA9IG51bGxwdHI7Ci0gICAg
bV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVhc2VPYmplY3RHcm91cCgiY29uc29sZSIpOwor
CisgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVhc2VPYmplY3RHcm91cChBU0NJSUxp
dGVyYWwoImNvbnNvbGUiKSk7CisKICAgICBpZiAobV9mcm9udGVuZERpc3BhdGNoZXIgJiYgbV9l
bmFibGVkKQogICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+bWVzc2FnZXNDbGVhcmVkKCk7
CiB9CkBAIC0xMTIsMzEgKzExNSwxNyBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6cmVz
ZXQoKQogewogICAgIEVycm9yU3RyaW5nIGVycm9yOwogICAgIGNsZWFyTWVzc2FnZXMoJmVycm9y
KTsKKwogICAgIG1fdGltZXMuY2xlYXIoKTsKICAgICBtX2NvdW50cy5jbGVhcigpOwogfQogCi12
b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKElu
c3BlY3Rvcjo6SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKLXsKLSAgICBtX2Zyb250
ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQ29uc29sZUZyb250ZW5k
RGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKLSAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0g
SW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNo
ZXIsIHRoaXMpOwotfQotCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6d2lsbERlc3Ryb3lG
cm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbikKLXsKLSAgICBtX2Zy
b250ZW5kRGlzcGF0Y2hlciA9IG51bGxwdHI7Ci0gICAgbV9iYWNrZW5kRGlzcGF0Y2hlci5jbGVh
cigpOwotCi0gICAgU3RyaW5nIGVycm9yU3RyaW5nOwotICAgIGRpc2FibGUoJmVycm9yU3RyaW5n
KTsKLX0KLQogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAgIGlmICghbV9p
bnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJh
c0VuYWJsZWQoKSkKKyAgICBpZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JF
bnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaWYgKHR5cGUgPT0gQ2xlYXJNZXNzYWdlVHlwZSkgeworICAgIGlmICh0eXBlID09IE1l
c3NhZ2VUeXBlOjpDbGVhcikgewogICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAgICAgICAg
Y2xlYXJNZXNzYWdlcygmZXJyb3IpOwogICAgIH0KQEAgLTE0NiwxMCArMTM1LDEwIEBAIHZvaWQg
SW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlVHlwCiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNz
YWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqIHN0
YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzLCB1bnNpZ25lZCBsb25n
IHJlcXVlc3RJZGVudGlmaWVyKQogewotICAgIGlmICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5p
bnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKKyAgICBpZiAo
IW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHR5cGUgPT0gQ2xl
YXJNZXNzYWdlVHlwZSkgeworICAgIGlmICh0eXBlID09IE1lc3NhZ2VUeXBlOjpDbGVhcikgewog
ICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAgICAgICAgY2xlYXJNZXNzYWdlcygmZXJyb3Ip
OwogICAgIH0KQEAgLTE1OSwxMCArMTQ4LDEwIEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50
OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwCiAK
IHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3JpcHRJRCwgdW5zaWduZWQgbGluZU51
bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIHVuc2ln
bmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgaWYgKCFtX2luc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQor
ICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCku
ZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAodHlw
ZSA9PSBDbGVhck1lc3NhZ2VUeXBlKSB7CisgICAgaWYgKHR5cGUgPT0gTWVzc2FnZVR5cGU6OkNs
ZWFyKSB7CiAgICAgICAgIEVycm9yU3RyaW5nIGVycm9yOwogICAgICAgICBjbGVhck1lc3NhZ2Vz
KCZlcnJvcik7CiAgICAgfQpAQCAtMTcxLDcgKzE2MCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29s
ZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
VHlwCiAgICAgYWRkQ29uc29sZU1lc3NhZ2UoYWRvcHRQdHIobmV3IENvbnNvbGVNZXNzYWdlKGNh
bkdlbmVyYXRlQ2FsbFN0YWNrLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzY3JpcHRJ
RCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpKSk7
CiB9CiAKLVZlY3Rvcjx1bnNpZ25lZD4gSW5zcGVjdG9yQ29uc29sZUFnZW50Ojpjb25zb2xlTWVz
c2FnZUFyZ3VtZW50Q291bnRzKCkKK1ZlY3Rvcjx1bnNpZ25lZD4gSW5zcGVjdG9yQ29uc29sZUFn
ZW50Ojpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkgY29uc3QKIHsKICAgICBWZWN0b3I8
dW5zaWduZWQ+IHJlc3VsdChtX2NvbnNvbGVNZXNzYWdlcy5zaXplKCkpOwogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9jb25zb2xlTWVzc2FnZXMuc2l6ZSgpOyBpKyspCkBAIC0yMDUsNyAr
MTk0LDcgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnN0b3BUaW1pbmcoY29uc3QgU3Ry
aW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWwKIAogICAgIGRvdWJsZSBlbGFwc2VkID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzdGFydFRpbWU7CiAgICAgU3RyaW5nIG1l
c3NhZ2UgPSB0aXRsZSArIFN0cmluZzo6Zm9ybWF0KCI6ICUuM2ZtcyIsIGVsYXBzZWQgKiAxMDAw
KTsKLSAgICBhZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNzYWdlU291cmNlLCBUaW1p
bmdNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjayk7Cisg
ICAgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdl
VHlwZTo6VGltaW5nLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdlLCBjYWxsU3RhY2spOwog
fQogCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y291bnQoSlNDOjpFeGVjU3RhdGUqIHN0
YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpAQCAtMjMwLDY4ICsy
MTksMTkgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmNvdW50KEpTQzo6RXhlY1N0YXRl
KiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWUKICAgICBtX2NvdW50cy5hZGQoaWRlbnRp
ZmllciwgY291bnQpOwogCiAgICAgU3RyaW5nIG1lc3NhZ2UgPSB0aXRsZSArICI6ICIgKyBTdHJp
bmc6Om51bWJlcihjb3VudCk7Ci0gICAgYWRkTWVzc2FnZVRvQ29uc29sZShDb25zb2xlQVBJTWVz
c2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBj
YWxsU3RhY2spOwotfQotCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZnJhbWVXaW5kb3dE
aXNjYXJkZWQoRE9NV2luZG93KiB3aW5kb3cpCi17Ci0gICAgc2l6ZV90IG1lc3NhZ2VDb3VudCA9
IG1fY29uc29sZU1lc3NhZ2VzLnNpemUoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1l
c3NhZ2VDb3VudDsgKytpKQotICAgICAgICBtX2NvbnNvbGVNZXNzYWdlc1tpXS0+d2luZG93Q2xl
YXJlZCh3aW5kb3cpOwotICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5kaXNjYXJkSW5qZWN0
ZWRTY3JpcHRzRm9yKHdpbmRvdyk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50Ojpk
aWRGaW5pc2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2lnbmVkIHNlbmRMaW5lTnVt
YmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKQotewotICAgIGlmICghbV9pbnN0cnVtZW50
aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQo
KSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChtX2Zyb250ZW5kRGlzcGF0Y2hlciAmJiBtX21v
bml0b3JpbmdYSFJFbmFibGVkKSB7Ci0gICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlhIUiBmaW5p
c2hlZCBsb2FkaW5nOiBcIiIgKyB1cmwgKyAiXCIuIjsKLSAgICAgICAgYWRkTWVzc2FnZVRvQ29u
c29sZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxl
dmVsLCBtZXNzYWdlLCBzZW5kVVJMLCBzZW5kTGluZU51bWJlciwgc2VuZENvbHVtbk51bWJlciwg
bnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOwotICAgIH0KLX0KLQotdm9pZCBJbnNwZWN0b3JD
b25zb2xlQWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLXsKLSAgICBpZiAoIW1f
aW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRy
YXNFbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChyZXNwb25zZS5odHRwU3Rh
dHVzQ29kZSgpID49IDQwMCkgewotICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJGYWlsZWQgdG8g
bG9hZCByZXNvdXJjZTogdGhlIHNlcnZlciByZXNwb25kZWQgd2l0aCBhIHN0YXR1cyBvZiAiICsg
U3RyaW5nOjpudW1iZXIocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSkgKyAiICgiICsgcmVzcG9u
c2UuaHR0cFN0YXR1c1RleHQoKSArICcpJzsKLSAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShO
ZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBt
ZXNzYWdlLCByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgMCwgMCwgbnVsbHB0ciwgcmVxdWVzdElk
ZW50aWZpZXIpOwotICAgIH0KLX0KLQotdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZEZh
aWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNl
RXJyb3ImIGVycm9yKQotewotICAgIGlmICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0
b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJu
OwotICAgIGlmIChlcnJvci5pc0NhbmNlbGxhdGlvbigpKSAvLyBSZXBvcnQgZmFpbHVyZXMgb25s
eS4KLSAgICAgICAgcmV0dXJuOwotICAgIFN0cmluZ0J1aWxkZXIgbWVzc2FnZTsKLSAgICBtZXNz
YWdlLmFwcGVuZExpdGVyYWwoIkZhaWxlZCB0byBsb2FkIHJlc291cmNlIik7Ci0gICAgaWYgKCFl
cnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLmlzRW1wdHkoKSkgewotICAgICAgICBtZXNzYWdl
LmFwcGVuZExpdGVyYWwoIjogIik7Ci0gICAgICAgIG1lc3NhZ2UuYXBwZW5kKGVycm9yLmxvY2Fs
aXplZERlc2NyaXB0aW9uKCkpOwotICAgIH0KLSAgICBhZGRNZXNzYWdlVG9Db25zb2xlKE5ldHdv
cmtNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UudG9TdHJpbmcoKSwgZXJyb3IuZmFpbGluZ1VSTCgpLCAwLCAwLCBudWxscHRyLCByZXF1ZXN0
SWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpzZXRNb25pdG9y
aW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkKLXsKLSAgICBtX21vbml0
b3JpbmdYSFJFbmFibGVkID0gZW5hYmxlZDsKKyAgICBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3Nh
Z2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6RGVi
dWcsIG1lc3NhZ2UsIGNhbGxTdGFjayk7CiB9CiAKIHN0YXRpYyBib29sIGlzR3JvdXBNZXNzYWdl
KE1lc3NhZ2VUeXBlIHR5cGUpCiB7Ci0gICAgcmV0dXJuIHR5cGUgPT0gU3RhcnRHcm91cE1lc3Nh
Z2VUeXBlCi0gICAgICAgIHx8IHR5cGUgPT0gIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlw
ZQotICAgICAgICB8fCB0eXBlID09IEVuZEdyb3VwTWVzc2FnZVR5cGU7CisgICAgcmV0dXJuIHR5
cGUgPT0gTWVzc2FnZVR5cGU6OlN0YXJ0R3JvdXAKKyAgICAgICAgfHwgdHlwZSA9PSBNZXNzYWdl
VHlwZTo6U3RhcnRHcm91cENvbGxhcHNlZAorICAgICAgICB8fCB0eXBlID09IE1lc3NhZ2VUeXBl
OjpFbmRHcm91cDsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZENvbnNvbGVN
ZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3NhZ2U+IGNvbnNvbGVNZXNzYWdlKQogewotICAg
IEFTU0VSVChtX2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2
ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQobV9pbmplY3RlZFNjcmlwdE1hbmFn
ZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKTsKICAg
ICBBU1NFUlRfQVJHKGNvbnNvbGVNZXNzYWdlLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICBpZiAo
bV9wcmV2aW91c01lc3NhZ2UgJiYgIWlzR3JvdXBNZXNzYWdlKG1fcHJldmlvdXNNZXNzYWdlLT50
eXBlKCkpICYmIG1fcHJldmlvdXNNZXNzYWdlLT5pc0VxdWFsKGNvbnNvbGVNZXNzYWdlLmdldCgp
KSkgewpAQCAtMzExLDIzICsyNTEsNiBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRk
Q29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxDb25zb2xlTWVzc2FnZT4gY29uc29sZQogICAgIH0K
IH0KIAotY2xhc3MgSW5zcGVjdGFibGVIZWFwT2JqZWN0IGZpbmFsIDogcHVibGljIENvbW1hbmRM
aW5lQVBJSG9zdDo6SW5zcGVjdGFibGVPYmplY3QgewotcHVibGljOgotICAgIGV4cGxpY2l0IElu
c3BlY3RhYmxlSGVhcE9iamVjdChpbnQgaGVhcE9iamVjdElkKSA6IG1faGVhcE9iamVjdElkKGhl
YXBPYmplY3RJZCkgeyB9Ci0gICAgdmlydHVhbCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSBnZXQo
SlNDOjpFeGVjU3RhdGUqKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgcmV0dXJuIFNjcmlwdFBy
b2ZpbGVyOjpvYmplY3RCeUhlYXBPYmplY3RJZChtX2hlYXBPYmplY3RJZCk7Ci0gICAgfQotcHJp
dmF0ZToKLSAgICBpbnQgbV9oZWFwT2JqZWN0SWQ7Ci19OwotCi12b2lkIEluc3BlY3RvckNvbnNv
bGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyosIGludCBpbnNwZWN0
ZWRIZWFwT2JqZWN0SWQpCi17Ci0gICAgaWYgKENvbW1hbmRMaW5lQVBJSG9zdCogY29tbWFuZExp
bmVBUElIb3N0ID0gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmNvbW1hbmRMaW5lQVBJSG9zdCgp
KQotICAgICAgICBjb21tYW5kTGluZUFQSUhvc3QtPmFkZEluc3BlY3RlZE9iamVjdChhZG9wdFB0
cihuZXcgSW5zcGVjdGFibGVIZWFwT2JqZWN0KGluc3BlY3RlZEhlYXBPYmplY3RJZCkpKTsKLX0K
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWE3OWU2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29s
ZUFnZW50LmgKQEAgLTAsMCArMSwxMDMgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisq
IGFyZSBtZXQ6CisqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFO
WQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OCisqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorKi8KKworI2lmbmRlZiBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAorI2RlZmlu
ZSBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKworI2lu
Y2x1ZGUgIkluc3BlY3RvckpTQmFja2VuZERpc3BhdGNoZXJzLmgiCisjaW5jbHVkZSAiSW5zcGVj
dG9ySlNGcm9udGVuZERpc3BhdGNoZXJzLmgiCisjaW5jbHVkZSAiaW5zcGVjdG9yL0NvbnNvbGVU
eXBlcy5oIgorI2luY2x1ZGUgImluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2UuaCIKKyNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBFeGVjU3RhdGU7
Cit9CisKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCitjbGFzcyBDb25zb2xlTWVzc2FnZTsKK2Ns
YXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNzIFNjcmlwdEFyZ3VtZW50czsKK2NsYXNz
IFNjcmlwdENhbGxTdGFjazsKK3R5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBK
U19FWFBPUlRfUFJJVkFURSBJbnNwZWN0b3JDb25zb2xlQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9y
QWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRjaGVySGFuZGxl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQ29uc29sZUFnZW50KTsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JDb25zb2xl
QWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAgdmlydHVhbCB+SW5zcGVjdG9yQ29u
c29sZUFnZW50KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
Kikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOworCisgICAgdmlydHVhbCB2
b2lkIGVuYWJsZShFcnJvclN0cmluZyopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaXNh
YmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyTWVzc2Fn
ZXMoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TW9uaXRvcmlu
Z1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgYWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyosIGludCBp
bnNwZWN0ZWRIZWFwT2JqZWN0SWQpID0gMDsKKworICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFn
ZW50KCkgY29uc3QgPSAwOworCisgICAgYm9vbCBlbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9l
bmFibGVkOyB9CisgICAgdm9pZCByZXNldCgpOworCisgICAgdm9pZCBhZGRNZXNzYWdlVG9Db25z
b2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4s
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFkZE1lc3Nh
Z2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlwdElELCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIs
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFkZE1lc3Nh
Z2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKworICAgIFZlY3Rvcjx1bnNpZ25lZD4gY29u
c29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpIGNvbnN0OworCisgICAgdm9pZCBzdGFydFRpbWlu
Zyhjb25zdCBTdHJpbmcmIHRpdGxlKTsKKyAgICB2b2lkIHN0b3BUaW1pbmcoY29uc3QgU3RyaW5n
JiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICB2b2lkIGNvdW50KEpT
Qzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKKworcHJvdGVjdGVk
OgorICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxDb25zb2xlTWVzc2FnZT4p
OworCisgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQ29uc29sZUZyb250ZW5kRGlzcGF0Y2hlcj4g
bV9mcm9udGVuZERpc3BhdGNoZXI7CisgICAgUmVmUHRyPEluc3BlY3RvckNvbnNvbGVCYWNrZW5k
RGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKKyAgICBDb25zb2xlTWVzc2FnZSogbV9w
cmV2aW91c01lc3NhZ2U7CisgICAgVmVjdG9yPE93blB0cjxDb25zb2xlTWVzc2FnZT4+IG1fY29u
c29sZU1lc3NhZ2VzOworICAgIGludCBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50OworICAg
IEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV9jb3VudHM7CisgICAgSGFzaE1hcDxTdHJpbmcs
IGRvdWJsZT4gbV90aW1lczsKKyAgICBib29sIG1fZW5hYmxlZDsKK307CisKK30gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKKworI2VuZGlmIC8v
ICFkZWZpbmVkKEluc3BlY3RvckNvbnNvbGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcApz
aW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VJbmplY3RlZFNjcmlwdEhvc3QuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcAppbmRleCA2NTgyMTg4
Li4xZmUyZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVj
dGVkU2NyaXB0SG9zdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMjUgKzIzLDMzIEBACiAgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKLSNpZm5kZWYgUGFnZUluamVjdGVkU2NyaXB0SG9zdF9oCi0jZGVmaW5lIFBh
Z2VJbmplY3RlZFNjcmlwdEhvc3RfaAorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpT
R2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCi0j
aW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oPgorbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50
OjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVj
dGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckNvbnNvbGVBZ2VudChpbmplY3RlZFNj
cmlwdE1hbmFnZXIpCit7Cit9CiAKLWNsYXNzIFBhZ2VJbmplY3RlZFNjcmlwdEhvc3QgZmluYWwg
OiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdEhvc3QgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Q+IGNyZWF0ZSgpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0KTsgfQordm9pZCBKU0dsb2JhbE9i
amVjdENvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqIGVy
cm9yU3RyaW5nLCBib29sKQoreworICAgICplcnJvclN0cmluZyA9IEFTQ0lJTGl0ZXJhbCgiTm90
IHN1cHBvcnRlZCBmb3IgSmF2YVNjcmlwdCBjb250ZXh0Iik7Cit9CiAKLSAgICB2aXJ0dWFsIEpT
Qzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKSBvdmVycmlkZTsK
LSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29sbGVjdGlvbihKU0M6OkpTVmFsdWUpIG92ZXJy
aWRlOwotfTsKK3ZvaWQgSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZE5v
ZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQpCit7CisgICAgKmVycm9yU3RyaW5nID0g
QVNDSUlMaXRlcmFsKCJOb3Qgc3VwcG9ydGVkIGZvciBKYXZhU2NyaXB0IGNvbnRleHQiKTsKK30K
IAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQordm9pZCBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2Vu
dDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCkK
K3sKKyAgICAqZXJyb3JTdHJpbmcgPSBBU0NJSUxpdGVyYWwoIk5vdCBzdXBwb3J0ZWQgZm9yIEph
dmFTY3JpcHQgY29udGV4dCIpOworfQorCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KLSNlbmRpZiAvLyAhZGVmaW5lZChQYWdlSW5qZWN0
ZWRTY3JpcHRIb3N0X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFn
ZUluamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaApzaW1pbGFyaXR5IGluZGV4IDU4JQpj
b3B5IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3Qu
aApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFs
T2JqZWN0Q29uc29sZUFnZW50LmgKaW5kZXggNjU4MjE4OC4uZTU4NWViZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNv
bGVBZ2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yMywyNSArMjMsMzMgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBQYWdl
SW5qZWN0ZWRTY3JpcHRIb3N0X2gKLSNkZWZpbmUgUGFnZUluamVjdGVkU2NyaXB0SG9zdF9oCisj
aWZuZGVmIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50X2gKKyNkZWZpbmUgSlNHbG9iYWxPYmpl
Y3RDb25zb2xlQWdlbnRfaAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaD4KKyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xl
QWdlbnQuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmgiCiAK
LW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCi1jbGFzcyBQYWdl
SW5qZWN0ZWRTY3JpcHRIb3N0IGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3Jp
cHRIb3N0IHsKK2NsYXNzIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50IGZpbmFsIDogcHVibGlj
IEluc3BlY3RvckNvbnNvbGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNHbG9i
YWxPYmplY3RDb25zb2xlQWdlbnQpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Q+IGNyZWF0
ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0KTsgfQorICAg
IEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciopOworICAg
IHZpcnR1YWwgfkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFs
IEpTQzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKSBvdmVycmlk
ZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29sbGVjdGlvbihKU0M6OkpTVmFsdWUpIG92
ZXJyaWRlOworICAgIC8vIEZJWE1FOiBYSFJzIGFuZCBOb2RlcyBvbmx5IG1ha2VzIHNlbnNlIGRl
YnVnZ2luZyBhIFdlYiBjb250ZXh0LiBDYW4gdGhpcyBiZSBtb3ZlZCB0byBhIGRpZmZlcmVudCBh
Z2VudD8KKyAgICB2aXJ0dWFsIHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJp
bmcqLCBib29sIGVuYWJsZWQpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0
ZWROb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJyb3JTdHJpbmcqLCBpbnQgaW5zcGVjdGVkSGVh
cE9iamVjdElkKSBvdmVycmlkZTsKKworICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIAot
I2VuZGlmIC8vICFkZWZpbmVkKFBhZ2VJbmplY3RlZFNjcmlwdEhvc3RfaCkKKyNlbmRpZiAvLyAh
ZGVmaW5lZChKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFn
ZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFs
T2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKaW5kZXggZDRjMzJkNy4uMGVhNWVkYiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RE
ZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwCkBAIC0yOSwxNSArMjksMTggQEAK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiSlNHbG9i
YWxPYmplY3QuaCIKKyNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKIAogdXNpbmcgbmFtZXNw
YWNlIEpTQzsKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKLUpTR2xvYmFsT2JqZWN0RGVidWdn
ZXJBZ2VudDo6SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdl
ciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLCBKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QpCitKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OkpTR2xvYmFsT2JqZWN0RGVidWdnZXJB
Z2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwgSlNDOjpK
U0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudCkKICAgICA6IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQoaW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKQogICAgICwgbV9zY3JpcHREZWJ1Z1NlcnZlcihnbG9iYWxPYmplY3QpCisgICAgLCBtX2Nv
bnNvbGVBZ2VudChjb25zb2xlQWdlbnQpCiB7CiB9CiAKQEAgLTYyLDYgKzY1LDExIEBAIEluamVj
dGVkU2NyaXB0IEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudDo6aW5qZWN0ZWRTY3JpcHRGb3JF
dmFsKEVycm9yU3RyaW5nKiBlCiAgICAgcmV0dXJuIGluamVjdGVkU2NyaXB0TWFuYWdlcigpLT5p
bmplY3RlZFNjcmlwdEZvcihleGVjKTsKIH0KIAordm9pZCBKU0dsb2JhbE9iamVjdERlYnVnZ2Vy
QWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UpCit7CisgICAgbV9jb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVz
c2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6TG9nLCBtZXNz
YWdlLCBudWxscHRyLCBudWxscHRyLCAwKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9y
CiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERl
YnVnZ2VyQWdlbnQuaAppbmRleCBhOWZkNjc5Li40NDNiZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdl
bnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2Jh
bE9iamVjdERlYnVnZ2VyQWdlbnQuaApAQCAtMzMsMTEgKzMzLDEzIEBACiAKIG5hbWVzcGFjZSBJ
bnNwZWN0b3IgewogCitjbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdlbnQ7CisKIGNsYXNzIEpTR2xv
YmFsT2JqZWN0RGVidWdnZXJBZ2VudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdl
bnQpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIEpTR2xvYmFs
T2JqZWN0RGVidWdnZXJBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBKU0M6OkpTR2xvYmFs
T2JqZWN0Jik7CisgICAgSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50KEluamVjdGVkU2NyaXB0
TWFuYWdlciosIEpTQzo6SlNHbG9iYWxPYmplY3QmLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqKTsK
ICAgICB2aXJ0dWFsIH5KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQoKSB7IH0KIAogICAgIHZp
cnR1YWwgSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlciYgc2NyaXB0RGVidWdTZXJ2ZXIo
KSBvdmVycmlkZSB7IHJldHVybiBtX3NjcmlwdERlYnVnU2VydmVyOyB9CkBAIC00Niw4ICs0OCw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3RvcExpc3RlbmluZ1NjcmlwdERlYnVnU2Vy
dmVyKGJvb2wgaXNCZWluZ0Rlc3Ryb3llZCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBJbmplY3Rl
ZFNjcmlwdCBpbmplY3RlZFNjcmlwdEZvckV2YWwoRXJyb3JTdHJpbmcqLCBjb25zdCBpbnQqIGV4
ZWN1dGlvbkNvbnRleHRJZCkgb3ZlcnJpZGU7CiAKLSAgICAvLyBGSVhNRTogVGhpcyBuZWVkcyBh
IENvbnNvbGVBZ2VudCB0byBzZW5kIGEgbG9nIHRvLgotICAgIHZpcnR1YWwgdm9pZCBicmVha3Bv
aW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGUgZmlu
YWwgeyB9CisgICAgdmlydHVhbCB2b2lkIGJyZWFrcG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3Rh
dGUqLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZSBmaW5hbDsKIAogICAgIC8vIEZJWE1FOiBKYXZh
U2NyaXB0IGluc3BlY3RvciBkb2VzIG5vdCB5ZXQgaGF2ZSBhIGNvbnNvbGUgb2JqZWN0IHRvIG11
dGUuCiAgICAgdmlydHVhbCB2b2lkIG11dGVDb25zb2xlKCkgb3ZlcnJpZGUgeyB9CkBAIC01NSw2
ICs1Niw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBKU0dsb2JhbE9iamVjdFNjcmlwdERl
YnVnU2VydmVyIG1fc2NyaXB0RGVidWdTZXJ2ZXI7CisgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50
KiBtX2NvbnNvbGVBZ2VudDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbiBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCnNpbWls
YXJpdHkgaW5kZXggODYlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90
b2NvbC9Db25zb2xlLmpzb24KcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCmluZGV4IDM1YmQxMWEuLmZjM2M5MDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24KKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24KQEAg
LTMsNiArMywxNiBAQAogICAgICJkZXNjcmlwdGlvbiI6ICJDb25zb2xlIGRvbWFpbiBkZWZpbmVz
IG1ldGhvZHMgYW5kIGV2ZW50cyBmb3IgaW50ZXJhY3Rpb24gd2l0aCB0aGUgSmF2YVNjcmlwdCBj
b25zb2xlLiBDb25zb2xlIGNvbGxlY3RzIG1lc3NhZ2VzIGNyZWF0ZWQgYnkgbWVhbnMgb2YgdGhl
IDxhIGhyZWY9J2h0dHA6Ly9nZXRmaXJlYnVnLmNvbS93aWtpL2luZGV4LnBocC9Db25zb2xlX0FQ
SSc+SmF2YVNjcmlwdCBDb25zb2xlIEFQSTwvYT4uIE9uZSBuZWVkcyB0byBlbmFibGUgdGhpcyBk
b21haW4gdXNpbmcgPGNvZGU+ZW5hYmxlPC9jb2RlPiBjb21tYW5kIGluIG9yZGVyIHRvIHN0YXJ0
IHJlY2VpdmluZyB0aGUgY29uc29sZSBtZXNzYWdlcy4gQnJvd3NlciBjb2xsZWN0cyBtZXNzYWdl
cyBpc3N1ZWQgd2hpbGUgY29uc29sZSBkb21haW4gaXMgbm90IGVuYWJsZWQgYXMgd2VsbCBhbmQg
cmVwb3J0cyB0aGVtIHVzaW5nIDxjb2RlPm1lc3NhZ2VBZGRlZDwvY29kZT4gbm90aWZpY2F0aW9u
IHVwb24gZW5hYmxpbmcuIiwKICAgICAidHlwZXMiOiBbCiAgICAgICAgIHsKKyAgICAgICAgICAg
ICJpZCI6ICJDb25zb2xlTmV0d29ya1JlcXVlc3RJZCIsCisgICAgICAgICAgICAidHlwZSI6ICJz
dHJpbmciLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuaXF1ZSByZXF1ZXN0IGlkZW50
aWZpZXIuIEZJWE1FOiBEdXBsaWNhdGUgb2YgTmV0d29yay5SZXF1ZXN0SWQgPGh0dHBzOi8vd2Vi
a2l0Lm9yZy9iLzEyNTY2ND4gV2ViIEluc3BlY3RvcjogRklYIFR5cGUgRGVwZW5kZW5jeSBJc3N1
ZXMiCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJpZCI6ICJDb25zb2xlRE9N
Tm9kZUlkIiwKKyAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAorICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIlVuaXF1ZSBET00gbm9kZSBpZGVudGlmaWVyLiBGSVhNRTogRHVwbGljYXRl
IG9mIERPTS5Ob2RlSWQgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyNTY2ND4gV2ViIEluc3BlY3Rv
cjogRklYIFR5cGUgRGVwZW5kZW5jeSBJc3N1ZXMiCisgICAgICAgIH0sCisgICAgICAgIHsKICAg
ICAgICAgICAgICJpZCI6ICJDb25zb2xlTWVzc2FnZSIsCiAgICAgICAgICAgICAidHlwZSI6ICJv
YmplY3QiLAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnNvbGUgbWVzc2FnZS4iLApA
QCAtMTcsNyArMjcsNyBAQAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVwZWF0Q291bnQi
LCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlJl
cGVhdCBjb3VudCBmb3IgcmVwZWF0ZWQgbWVzc2FnZXMuIiB9LAogICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAicGFyYW1ldGVycyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6
ICJSdW50aW1lLlJlbW90ZU9iamVjdCIgfSwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9u
IjogIk1lc3NhZ2UgcGFyYW1ldGVycyBpbiBjYXNlIG9mIHRoZSBmb3JtYXR0ZWQgbWVzc2FnZS4i
IH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzdGFja1RyYWNlIiwgIiRyZWYiOiAiU3Rh
Y2tUcmFjZSIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJKYXZhU2NyaXB0IHN0
YWNrIHRyYWNlIGZvciBhc3NlcnRpb25zIGFuZCBlcnJvciBtZXNzYWdlcy4iIH0sCi0gICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJuZXR3b3JrUmVxdWVzdElkIiwgIiRyZWYiOiAiTmV0d29yay5S
ZXF1ZXN0SWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiSWRlbnRpZmllciBv
ZiB0aGUgbmV0d29yayByZXF1ZXN0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1lc3NhZ2UuIiB9Cisg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJuZXR3b3JrUmVxdWVzdElkIiwgIiRyZWYiOiAiQ29u
c29sZU5ldHdvcmtSZXF1ZXN0SWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAi
SWRlbnRpZmllciBvZiB0aGUgbmV0d29yayByZXF1ZXN0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1l
c3NhZ2UuIiB9CiAgICAgICAgICAgICBdCiAgICAgICAgIH0sCiAgICAgICAgIHsKQEAgLTYxLDcg
KzcxLDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgIm5hbWUiOiAiYWRkSW5zcGVjdGVkTm9k
ZSIsCiAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1l
IjogIm5vZGVJZCIsICIkcmVmIjogIkRPTS5Ob2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiRE9NIG5v
ZGUgaWQgdG8gYmUgYWNjZXNzaWJsZSBieSBtZWFucyBvZiAkeCBjb21tYW5kIGxpbmUgQVBJLiIg
fQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiQ29uc29sZURP
TU5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJET00gbm9kZSBpZCB0byBiZSBhY2Nlc3NpYmxlIGJ5
IG1lYW5zIG9mICR4IGNvbW1hbmQgbGluZSBBUEkuIiB9CiAgICAgICAgICAgICBdLAogICAgICAg
ICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgY29uc29sZSB0byByZWZlciB0byB0aGUgbm9k
ZSB3aXRoIGdpdmVuIGlkIHZpYSAkeCAoc2VlIENvbW1hbmQgTGluZSBBUEkgZm9yIG1vcmUgZGV0
YWlscyAkeCBmdW5jdGlvbnMpLiIKICAgICAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3It
anNvbi5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0
ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weQppbmRleCBkYjE2M2JmLi41MzY2MDMxIDEwMDc1
NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUt
Y29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5CkBAIC02
NiwzICs2Niw0IEBAIGZvciBmaWxlIGluIGZpbGVzOgogCiAgICAgcHJpbnQoc3RyaW5nLnJzdHJp
cCgpKQogcHJpbnQoIl19IikKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0ODcxZDY2Li5lMGU5
MDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNzYxLDcgKzc2MSw2IEBAIHNldChXZWJDb3Jl
X0lOU1BFQ1RPUl9ET01BSU5TCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0FwcGxpY2F0aW9uQ2Fj
aGUuanNvbgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9DU1MuanNvbgogICAgIGluc3BlY3Rvci9w
cm90b2NvbC9DYW52YXMuanNvbgotICAgIGluc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24K
ICAgICBpbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9jb2wv
RE9NRGVidWdnZXIuanNvbgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9ET01TdG9yYWdlLmpzb24K
QEAgLTE1NjgsMTYgKzE1NjcsMTMgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogCiAgICAgaW5zcGVj
dG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKICAgICBpbnNwZWN0b3IvQ29tbWFuZExpbmVBUElN
b2R1bGUuY3BwCi0gICAgaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAogICAgIGluc3BlY3Rv
ci9ET01FZGl0b3IuY3BwCiAgICAgaW5zcGVjdG9yL0RPTVBhdGNoU3VwcG9ydC5jcHAKLSAgICBp
bnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcAogICAgIGluc3BlY3Rvci9JbmplY3RlZFNj
cmlwdENhbnZhc01vZHVsZS5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKICAgICBp
bnNwZWN0b3IvSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
ckNsaWVudC5jcHAKLSAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JDb3VudGVycy5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0x
NjExLDEwICsxNjA3LDggQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9QYWdl
SW5qZWN0ZWRTY3JpcHRIb3N0LmNwcAogICAgIGluc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmNwcAogICAgIGluc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNwcAotICAgIGluc3Bl
Y3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCi0gICAgaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5j
cHAKLSAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcAogICAgIGluc3BlY3Rvci9UaW1l
bGluZVJlY29yZEZhY3RvcnkuY3BwCisgICAgaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAK
ICAgICBpbnNwZWN0b3IvV2ViRGVidWdnZXJBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvV29ya2Vy
Q29uc29sZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDkyMGE2MjEuLmQzYjc0YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNzQg
QEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJ
bnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAgIC0gTW92ZSBJbnNwZWN0b3JDb25zb2xlQWdlbnQgYW5kIGRlcGVuZGVuY2llcyB0byBKYXZh
U2NyaXB0Q29yZQorICAgICAgICAgICAgYW5kIGludG8gdGhlIEluc3BlY3RvciBuYW1lc3BhY2Uu
CisgICAgICAgICAgLSBVcGRhdGUgQ29uc29sZSBNZXNzYWdlIGVudW0gdHlwZXMgdG8gZW51bSBj
bGFzc2VzIGFuZCB1cGRhdGUKKyAgICAgICAgICAgIGFsbCB1c2VycyB0byB0aGUgbmV3LCBzaW1w
bGVyIG5hbWVzLgorICAgICAgICAgIC0gU2luY2Ugd2UgYXJlIHVwZGF0aW5nIGFkZENvbnNvbGVN
ZXNzYWdlIGNhbGxzaXRlcyBhbnl3YXlzLCBhZGQKKyAgICAgICAgICAgIEFTQ0lJTGl0ZXJhbCB3
aGVyZSBhcHByb3ByaWF0ZS4KKyAgICAgICAgICAtIEFkZCBXZWJDb25zb2xlQWdlbnQgYmFzZSBv
ZiBQYWdlL1dvcmtlciBDb25zb2xlQWdlbnQgdG8gaW1wbGVtZW50CisgICAgICAgICAgICB3aGF0
IGNvdWxkIG5vdCBiZSBwdXNoZWQgaW50byBKYXZhU2NyaXB0Q29yZS4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
Rm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmg6IEFkZGVkLgorICAg
ICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlVHlwZXMuaDogQWRkZWQu
CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9y
eS5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0
QXJndW1lbnRzLmg6IEFkZGVkLgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rv
ci9TY3JpcHRDYWxsRnJhbWUuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMv
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5n
SGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oOiBBZGRlZC4KKyAgICAg
ICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5oOiBBZGRlZC4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5saXN0LmFtOgorICAgICAgICBBZGQgLyByZW1vdmUgZmlsZXMgZnJvbSBidWlsZHMu
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
Q29uc29sZUFnZW50OjpXZWJDb25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29u
c29sZUFnZW50OjpzZXRNb25pdG9yaW5nWEhSRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJDb25zb2xlQWdlbnQ6OmZyYW1lV2luZG93RGlzY2FyZGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkNvbnNvbGVBZ2VudDo6ZGlkRmluaXNoWEhSTG9hZGluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJDb25zb2xlQWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJDb25zb2xlQWdlbnQ6OmRpZEZhaWxMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdCk6CisgICAgICAgIEltcGxlbWVu
dCB3aGF0IGNvdWxkIG5vdCBiZSBwdXNoZWQgZG93biBpbnRvIEphdmFTY3JpcHRDb3JlLgorCisg
ICAgICAgICogaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNv
cmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OndlYkNvbnNvbGVBZ2VudCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpzZXRXZWJDb25zb2xlQWdlbnQpOgorICAgICAgICBI
b2xkIGEgV2ViQ29uc29sZUFnZW50IGluc3RlYWQgb2YgSW5zcGVjdG9yQ29uc29sZUFnZW50Lgor
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcDoKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHA6CisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAqIE1vZHVsZXMvcXVvdGEvRE9NV2lu
ZG93UXVvdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93UXVvdGE6OndlYmtpdFN0
b3JhZ2VJbmZvKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNl
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6Omxvb3Bp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpzZXRMb29waW5n
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
bm5lck5vZGU6OnNldFBhbm5pbmdNb2RlbCk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZUJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VCYXNlOjpsb2dF
cnJvck1lc3NhZ2UpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5h
Z2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlTWFuYWdlcjo6bG9nRXJyb3JNZXNz
YWdlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlNvY2tldDo6Y29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJT
b2NrZXQ6OnNlbmQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpjbG9zZSk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OnNldEJpbmFyeVR5cGUpOgorICAgICAgICAqIE1vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlNvY2tldENoYW5uZWw6OmZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5l
bDo6ZGlkRmFpbFNvY2tldFN0cmVhbSk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldEhhbmRzaGFrZS5jcHA6CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAg
ICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQXVkaW9Db250ZXh0Q29uc3RydWN0b3I6
OmNvbnN0cnVjdEpTQXVkaW9Db250ZXh0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0N1c3Rv
bVhQYXRoTlNSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0N1c3RvbVhQYXRoTlNS
ZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9t
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTU3VidGxlQ3J5cHRvOjplbmNyeXB0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkpTU3VidGxlQ3J5cHRvOjpkZWNyeXB0KToKKyAgICAgICAgKFdlYkNvcmU6
OkpTU3VidGxlQ3J5cHRvOjpzaWduKToKKyAgICAgICAgKFdlYkNvcmU6OkpTU3VidGxlQ3J5cHRv
Ojp2ZXJpZnkpOgorICAgICAgICAoV2ViQ29yZTo6SlNTdWJ0bGVDcnlwdG86OndyYXBLZXkpOgor
ICAgICAgICAoV2ViQ29yZTo6SlNTdWJ0bGVDcnlwdG86OnVud3JhcEtleSk6CisgICAgICAgICog
YmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRDb250cm9sbGVyOjpjYW5FeGVjdXRlU2NyaXB0cyk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUNhbGxXaXRoKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAg
KiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bG9nRXJy
b3IpOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRk
UmVzb2x1dGlvbldhcm5pbmdNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29s
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cHJvY2Vzc0h0dHBFcXVpdik6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YWRkTWVzc2FnZSk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RWxlbWVudDo6ZXhlY3V0ZVNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRFbGVtZW50Ojpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuY3BwOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6Cisg
ICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZp
ZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwpOgorICAgICAgICAoV2ViQ29yZTo6cmVwb3J0Vmlld3Bv
cnRXYXJuaW5nKToKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2IuY3BwOgorICAgICAgICAqIGZpbGVh
cGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9s
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBdXRvZm9jdXMpOgorICAgICAg
ICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3Jt
RWxlbWVudDo6dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJh
bWVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJRnJhbWVFbGVtZW50OjpwYXJz
ZUF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpnZXRJbWFnZURhdGEpOgorICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnByaW50V2FybmluZ1RvQ29uc29sZSk6CisgICAgICAg
ICogaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU1NBdWRp
dG9yOjppbml0KToKKyAgICAgICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdCk6
CisgICAgICAgICogaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q29tbWFu
ZExpbmVBUElIb3N0Ojppbml0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlv
bi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNz
YWdlVG9Db25zb2xlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6Y29uc29sZUNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6c3RvcENvbnNvbGVUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpjb25zb2xlVGltZVN0YW1wKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6YWRkUHJvZmlsZSk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJv
bGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lV2luZG93RGlz
Y2FyZGVkSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxMb2FkaW5nSW1wbCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpbmlzaFhIUkxvYWRpbmdJbXBsKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ29tbWl0TG9h
ZEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6aXNDb25zb2xlQXNzZXJ0TWVzc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNv
bGVJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29u
c29sZUNvdW50SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OnN0YXJ0Q29uc29sZVRpbWluZ0ltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpzdG9wQ29uc29sZVRpbWluZ0ltcGwpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQWdlbnRFbmFibGVkKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50
OjphZGRQcm9maWxlRmluaXNoZWRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29s
ZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpidWlsZEluaXRpYXRvck9iamVjdCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Ry
dW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zdHJ1bWVudGluZ0FnZW50czo6cmVzZXQpOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlQ29u
c29sZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlQWdlbnQ6OlBhZ2VD
b25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbnNvbGVBZ2VudDo6Y2xlYXJN
ZXNzYWdlcyk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ29uc29sZUFnZW50OjphZGRJbnNwZWN0
ZWROb2RlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyk6CisgICAgICAgICogaW5zcGVj
dG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZUlu
amVjdGVkU2NyaXB0TWFuYWdlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGluZVJlY29y
ZEZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5Ojpj
cmVhdGVHZW5lcmljUmVjb3JkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2VudDo6
fldlYkNvbnNvbGVBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb25zb2xlQWdlbnQ6OldvcmtlckNvbnNv
bGVBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb25zb2xlQWdlbnQ6OmFkZEluc3Bl
Y3RlZE5vZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJEZWJ1Z2dlckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVy
KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3VibWl0Rm9y
bSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpoYW5kbGVCZWZvcmVVbmxvYWRFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0TG9hZEZv
clhGcmFtZU9wdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlV2luZG93KToKKyAgICAg
ICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2Fk
ZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBsb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNaXhlZENvbnRlbnRDaGVja2VyOjpsb2dXYXJuaW5n
KToKKyAgICAgICAgKiBsb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja0xvYWRlcjo6Y29yc1BvbGljeVByZXZlbnRlZExvYWQpOgorICAgICAgICAq
IGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjphYm9ydCk6CisgICAgICAgIChXZWJDb3JlOjpB
cHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJD
b3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGYWlsKToKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZU1hbmlmZXN0UmVzcG9uc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5n
TWFuaWZlc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpjaGVj
a0lmTG9hZElzQ29tcGxldGUpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJp
bnRBY2Nlc3NEZW5pZWRNZXNzYWdlKToKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgor
ICAgICAgICAqIHBhZ2UvQ29uc29sZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbnRlcm5hbEFk
ZE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6ZGVidWcpOgorICAgICAgICAo
V2ViQ29yZTo6Q29uc29sZTo6ZXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6bG9n
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Ondhcm4pOgorICAgICAgICAoV2ViQ29yZTo6
Q29uc29sZTo6ZGlyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmRpcnhtbCk6CisgICAg
ICAgIChXZWJDb3JlOjpDb25zb2xlOjp0YWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xl
OjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjp0cmFjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDb25zb2xlOjphc3NlcnRDb25kaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29u
c29sZTo6Z3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6Z3JvdXBDb2xsYXBzZWQp
OgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6Z3JvdXBFbmQpOgorICAgICAgICAqIHBhZ2Uv
Q29uc29sZS5oOgorICAgICAgICAqIHBhZ2UvQ29uc29sZVR5cGVzLmg6IFJlbW92ZWQuCisgICAg
ICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRWaW9sYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0NvbnNvbGUpOgorICAgICAgICAqIHBhZ2Uv
RE9NU2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93OjpkaXNwYXRjaE1lc3NhZ2VFdmVudFdpdGhPcmlnaW5DaGVjayk6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6cHJpbnRFcnJvck1lc3NhZ2UpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6Cisg
ICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNv
dXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNl
OjpkaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25zb2xl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VB
bmRMZXZlbFByZWZpeCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ29uc29sZTo6YWRkTWVzc2Fn
ZSk6CisgICAgICAgICogcGFnZS9QYWdlQ29uc29sZS5oOgorICAgICAgICAqIHBhZ2UvUG9pbnRl
ckxvY2tDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvaW50ZXJMb2NrQ29udHJv
bGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9Dcm9zc1RocmVh
ZENvcGllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zaGFwZXMvU2hhcGVJbmZvLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNoZWNrU2hhcGVJbWFnZU9yaWdpbik6CisgICAgICAgICogc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRNZXNzYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVwb3J0V2Fybmlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlcG9ydEVycm9y
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OmNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMpOgorICAgICAgICAqIHdvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOgorICAgICAgICAqIHdvcmtlcnMv
U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkV29y
a2VyR2xvYmFsU2NvcGU6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZSk6CisgICAgICAgICogd29ya2Vy
cy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmFkZE1l
c3NhZ2VUb1dvcmtlckNvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5Lmg6CisgICAgICAgICogeG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxvZ0NvbnNvbGVFcnJvcik6CisgICAg
ICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6c2VuZCk6CisgICAgICAgICogeG1sL1hTTFRQ
cm9jZXNzb3JMaWJ4c2x0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTTFRQcm9jZXNzb3I6OnBh
cnNlRXJyb3JGdW5jKToKKwogMjAxNC0wMi0wMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBDYWNoZWRJbWFnZU1hbnVhbCBjbGFzcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNzkxYThjNy4uYWEzNGUzYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMDk5LDcgKzEwOTksNiBAQCBJTlNQRUNUT1JfRE9NQUlO
UyA9IFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9BcHBsaWNhdGlvbkNhY2hl
Lmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uIFwKICAg
ICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9DYW52YXMuanNvbiBcCi0gICAgJChXZWJD
b3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9wcm90b2NvbC9ET00uanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJv
dG9jb2wvRE9NRGVidWdnZXIuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9j
b2wvRE9NU3RvcmFnZS5qc29uIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRp
bmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvRm9y
d2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q1N2QxNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0w
LDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9Db25zb2xlTWVzc2FnZV9oCisjZGVmaW5l
IFdlYkNvcmVfRldEX0NvbnNvbGVNZXNzYWdlX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9D
b25zb2xlTWVzc2FnZS5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3
YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9G
b3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uN2I3MjlkNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlVHlwZXMuaApAQCAtMCww
ICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfQ29uc29sZVR5cGVzX2gKKyNkZWZpbmUgV2Vi
Q29yZV9GV0RfQ29uc29sZVR5cGVzX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xl
VHlwZXMuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvRm9y
d2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMTM1YjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5
LmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0lkZW50aWZpZXJzRmFjdG9y
eV9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0lkZW50aWZpZXJzRmFjdG9yeV9oCisjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVu
dHMuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRB
cmd1bWVudHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWE2Zjk4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVj
dG9yL1NjcmlwdEFyZ3VtZW50cy5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZX
RF9TY3JpcHRBcmd1bWVudHNfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHRBcmd1bWVudHNf
aAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEFyZ3VtZW50cy5oPgorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0
b3IvU2NyaXB0Q2FsbEZyYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MDc2Nzg1OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFk
ZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYg
V2ViQ29yZV9GV0RfU2NyaXB0Q2FsbEZyYW1lX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0
Q2FsbEZyYW1lX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsRnJhbWUuaD4K
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjdkOTdmN2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3
YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTAsMCArMSw0IEBA
CisjaWZuZGVmIFdlYkNvcmVfRldEX1NjcmlwdENhbGxTdGFja19oCisjZGVmaW5lIFdlYkNvcmVf
RldEX1NjcmlwdENhbGxTdGFja19oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2Fs
bFN0YWNrLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdI
ZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MWU3YzQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeV9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVy
cy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdl
bnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmVjZWFhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2Vi
Q29yZV9GV0RfSW5zcGVjdG9yQ29uc29sZUFnZW50X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfSW5z
cGVjdG9yQ29uc29sZUFnZW50X2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAyM2M4OTRkLi42
NGI1ODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMzM5LDcgKzMzOSw2IEBAIFdlYkNvcmVf
SU5TUEVDVE9SX0RPTUFJTlMgOj0gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29s
L0FwcGxpY2F0aW9uQ2FjaGUuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9j
b2wvQ1NTLmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZhcy5q
c29uIFwKLSAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24gXAog
ICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uIFwKICAgICAkKFdlYkNv
cmUpL2luc3BlY3Rvci9wcm90b2NvbC9ET01EZWJ1Z2dlci5qc29uIFwKICAgICAkKFdlYkNvcmUp
L2luc3BlY3Rvci9wcm90b2NvbC9ET01TdG9yYWdlLmpzb24gXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KaW5kZXggMzFkNDQyYS4uMWRkZGE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC0zNzQ5LDE1ICszNzQ5LDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuaCBcCi0JU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3Nh
Z2UuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0RPTVBhdGNoU3VwcG9ydC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01Q
YXRjaFN1cHBvcnQuaCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFj
dG9yeS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3Rvcnku
aCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9k
dWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuY3BwIFwKQEAgLTM3NjksOCArMzc2NCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggXAotCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb3VudGVycy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb3VudGVycy5oIFwKQEAgLTM4NDMsMTQgKzM4MzYsMTAgQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0
TWFuYWdlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmggXAotCVNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwIFwKLQlTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmggXAotCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmggXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3Rh
Y2suY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggXAog
CVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggXAorCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9XZWJEZWJ1Z2dlckFnZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkRl
YnVnZ2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVB
Z2VudC5jcHAgXApAQCAtNDA1OSw3ICs0MDQ4LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnNvbGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaCBcCi0JU291cmNl
L1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZW50U2VjdXJpdHlQb2xpY3kuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50Lmgg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKaW5k
ZXggZjZlYTMwZS4uOTFhNzdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQ3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJDdXJzb3IuY3BwCkBAIC0zNyw4ICszNyw4IEBACiAjaW5jbHVkZSAiSURCUmVxdWVz
dC5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgot
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVk
ZSA8bGltaXRzPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKaW5kZXggNDAxMTE5YS4uODNlNDdkZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNw
cApAQCAtNDQsOSArNDQsOSBAQAogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCiAjaW5jbHVk
ZSAiSURCVmVyc2lvbkNoYW5nZUV2ZW50LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1
ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKICNpbmNsdWRlIDxhdG9taWM+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5oPgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAK
aW5kZXggNWQyZjNmOC4uYTUwYTAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1
ZGUgIklEQk9wZW5EQlJlcXVlc3QuaCIKICNpbmNsdWRlICJJREJQZW5kaW5nVHJhbnNhY3Rpb25N
b25pdG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFj
ay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5k
b3dRdW90YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3Rh
LmNwcAppbmRleCBlYTNkNjU5Li5hM2YxZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcApAQCAtNzUsNyArNzUsNyBAQCBTdG9yYWdlSW5m
byogRE9NV2luZG93UXVvdGE6OndlYmtpdFN0b3JhZ2VJbmZvKERPTVdpbmRvdyogd2luZG93KQog
U3RvcmFnZUluZm8qIERPTVdpbmRvd1F1b3RhOjp3ZWJraXRTdG9yYWdlSW5mbygpIGNvbnN0CiB7
CiAgICAgaWYgKCFtX3N0b3JhZ2VJbmZvICYmIGZyYW1lKCkpIHsKLSAgICAgICAgZnJhbWUoKS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVz
c2FnZUxldmVsLCAid2luZG93LndlYmtpdFN0b3JhZ2VJbmZvIGlzIGRlcHJlY2F0ZWQuIFVzZSBu
YXZpZ2F0b3Iud2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBvciBuYXZpZ2F0b3Iud2Via2l0UGVyc2lz
dGVudFN0b3JhZ2UgaW5zdGVhZC4iKTsKKyAgICAgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywg
IndpbmRvdy53ZWJraXRTdG9yYWdlSW5mbyBpcyBkZXByZWNhdGVkLiBVc2UgbmF2aWdhdG9yLndl
YmtpdFRlbXBvcmFyeVN0b3JhZ2Ugb3IgbmF2aWdhdG9yLndlYmtpdFBlcnNpc3RlbnRTdG9yYWdl
IGluc3RlYWQuIik7CiAgICAgICAgIG1fc3RvcmFnZUluZm8gPSBTdG9yYWdlSW5mbzo6Y3JlYXRl
KCk7CiAgICAgfQogICAgIHJldHVybiBtX3N0b3JhZ2VJbmZvLmdldCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUu
Y3BwCmluZGV4IDhlZTZkNjEuLjk5NTE4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKQEAgLTMyLDEw
ICszMiwxMCBAQAogI2luY2x1ZGUgIkF1ZGlvTm9kZU91dHB1dC5oIgogI2luY2x1ZGUgIkF1ZGlv
VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCi0jaW5jbHVkZSAiU2Ny
aXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CisjaW5jbHVk
ZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CkBAIC00NjAsNyArNDYwLDcgQEAgYm9vbCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6Omxv
b3BpbmcoKQogewogICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9IHRydWU7CiAgICAgaWYgKGZp
cnN0VGltZSAmJiBjb250ZXh0KCkgJiYgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpIHsKLSAgICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENv
bnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlv
QnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2Ug
J2xvb3AnIGluc3RlYWQuIik7CisgICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVs
OjpXYXJuaW5nLCAiQXVkaW9CdWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMg
ZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4iKTsKICAgICAgICAgZmlyc3RUaW1lID0g
ZmFsc2U7CiAgICAgfQogCkBAIC00NzEsNyArNDcxLDcgQEAgdm9pZCBBdWRpb0J1ZmZlclNvdXJj
ZU5vZGU6OnNldExvb3BpbmcoYm9vbCBsb29waW5nKQogewogICAgIHN0YXRpYyBib29sIGZpcnN0
VGltZSA9IHRydWU7CiAgICAgaWYgKGZpcnN0VGltZSAmJiBjb250ZXh0KCkgJiYgY29udGV4dCgp
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgY29udGV4dCgpLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2Fy
bmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmli
dXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7CisgICAgICAgIGNvbnRl
eHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
ICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4i
KTsKICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggNDg1NGZmMC4uYWMy
MjUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Nv
bnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmNwcApAQCAtNTUsNyArNTUsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQ
YW5uZXJOb2RlLmgiCiAjaW5jbHVkZSAiUGVyaW9kaWNXYXZlLmgiCi0jaW5jbHVkZSAiU2NyaXB0
Q2FsbFN0YWNrLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2lu
Y2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9jZXNzb3JOb2Rl
LmgiCiAjaW5jbHVkZSAiV2F2ZVNoYXBlck5vZGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCmluZGV4IDE3YmYxMzAuLjkwMjc2NTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcApAQCAtMjA1
LDcgKzIwNSw3IEBAIGJvb2wgUGFubmVyTm9kZTo6c2V0UGFubmluZ01vZGVsKHVuc2lnbmVkIG1v
ZGVsKQogICAgICAgICBicmVhazsKICAgICBjYXNlIFNPVU5ERklFTEQ6CiAgICAgICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQgc291bmQgZmllbGQgbW9kZWwuIFNlZSAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjcuCi0gICAgICAgIGNvbnRleHQoKS0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdh
cm5pbmdNZXNzYWdlTGV2ZWwsICInc291bmRmaWVsZCcgcGFubmluZyBtb2RlbCBub3QgaW1wbGVt
ZW50ZWQuIik7CisgICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5n
LCAiJ3NvdW5kZmllbGQnIHBhbm5pbmcgbW9kZWwgbm90IGltcGxlbWVudGVkLiIpOwogICAgICAg
ICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAKaW5kZXgg
YWYyMzc3YS4uNWYxMGJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcApAQCAtNDYsNyArNDYsNyBAQCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBEYXRhYmFzZUJhc2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAog
CiB2b2lkIERhdGFiYXNlQmFzZTo6bG9nRXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKIHsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKFN0
b3JhZ2VNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpT
dG9yYWdlLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IDBiNjBjOTYuLjFmMDI1YWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5j
cHAKQEAgLTQ2Nyw3ICs0NjcsNyBAQCB2b2lkIERhdGFiYXNlTWFuYWdlcjo6aW50ZXJydXB0QWxs
RGF0YWJhc2VzRm9yQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogCiB2b2lkIERh
dGFiYXNlTWFuYWdlcjo6bG9nRXJyb3JNZXNzYWdlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBjb250ZXh0LT5hZGRDb25zb2xl
TWVzc2FnZShTdG9yYWdlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2Up
OworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlN0b3JhZ2Us
IE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3Bw
CmluZGV4IDcyYjE5MmEuLjgzNGMwNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC00OCwxMiArNDgsMTIgQEAKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIK
LSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNlY3Vy
aXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCIKICNp
bmNsdWRlICJXZWJTb2NrZXRDaGFubmVsLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDxy
dW50aW1lL0FycmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC0y
MTQsMjYgKzIxNCwyNiBAQCB2b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29scywgRXhjZQogICAgIG1fdXJsID0gVVJM
KFVSTCgpLCB1cmwpOwogCiAgICAgaWYgKCFtX3VybC5pc1ZhbGlkKCkpIHsKLSAgICAgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IEVycm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwu
c3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOworICAgICAgICBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5n
Q2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwog
ICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBp
ZiAoIW1fdXJsLnByb3RvY29sSXMoIndzIikgJiYgIW1fdXJsLnByb3RvY29sSXMoIndzcyIpKSB7
Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVybCBzY2hlbWUgZm9yIFdl
YlNvY2tldCAiICsgbV91cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOworICAg
ICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiV3JvbmcgdXJsIHNjaGVtZSBmb3IgV2Vi
U29ja2V0ICIgKyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAgICAg
ICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICBpZiAobV91cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpIHsK
LSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiVVJMIGhhcyBmcmFnbWVudCBjb21wb25l
bnQgIiArIG1fdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpKTsKKyAgICAgICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIlVSTCBoYXMgZnJhZ21lbnQgY29tcG9uZW50ICIg
KyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAgICAgICAgIG1fc3Rh
dGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICBpZiAoIXBvcnRBbGxvd2VkKG1fdXJsKSkgewotICAgICAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcG9ydCAiICsgU3RyaW5nOjpudW1iZXIobV91cmwucG9y
dCgpKSArICIgYmxvY2tlZCIpOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAi
V2ViU29ja2V0IHBvcnQgIiArIFN0cmluZzo6bnVtYmVyKG1fdXJsLnBvcnQoKSkgKyAiIGJsb2Nr
ZWQiKTsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgZWMgPSBTRUNVUklUWV9F
UlI7CiAgICAgICAgIHJldHVybjsKQEAgLTI2NCw3ICsyNjQsNyBAQCB2b2lkIFdlYlNvY2tldDo6
Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29s
cywgRXhjZQogICAgIC8vIGNvbXBseSB3aXRoIFdlYlNvY2tldCBBUEkgc3BlY2lmaWNhdGlvbiwg
YnV0IGl0IHNlZW1zIHRvIGJlIHRoZSBvbmx5IHJlYXNvbmFibGUgd2F5IHRvIGhhbmRsZSB0aGlz
IGNvbmZsaWN0LgogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvdG9jb2xzLnNpemUoKTsg
KytpKSB7CiAgICAgICAgIGlmICghaXNWYWxpZFByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkp
IHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3RvY29sIGZv
ciBXZWJTb2NrZXQgJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsgIici
KTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJXcm9uZyBwcm90b2Nv
bCBmb3IgV2ViU29ja2V0ICciICsgZW5jb2RlUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ldKSAr
ICInIik7CiAgICAgICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICAgICAgZWMgPSBT
WU5UQVhfRVJSOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjczLDcgKzI3Myw3IEBAIHZvaWQg
V2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgSGFzaFNldDxTdHJpbmc+IHZpc2l0ZWQ7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBwcm90b2NvbHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYg
KCF2aXNpdGVkLmFkZChwcm90b2NvbHNbaV0pLmlzTmV3RW50cnkpIHsKLSAgICAgICAgICAgIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBwcm90b2NvbHMgY29udGFpbiBkdXBsaWNh
dGVzOiAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkgKyAiJyIpOworICAg
ICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldlYlNvY2tldCBwcm90b2NvbHMg
Y29udGFpbiBkdXBsaWNhdGVzOiAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tp
XSkgKyAiJyIpOwogICAgICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgICAgIGVj
ID0gU1lOVEFYX0VSUjsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTMwNSw3ICszMDUsNyBAQCB2
b2lkIFdlYlNvY2tldDo6c2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogICAgIEFTU0VSVChtX2NoYW5uZWwpOwogICAgIFRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsOjpTZW5kUmVzdWx0IHJlc3VsdCA9IG1fY2hhbm5lbC0+c2VuZChtZXNzYWdlKTsKICAgICBp
ZiAocmVzdWx0ID09IFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpJbnZhbGlkTWVzc2FnZSkg
ewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJzb2NrZXQgbWVzc2FnZSBjb250
YWlucyBpbnZhbGlkIGNoYXJhY3RlcihzKS4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVs
OjpFcnJvciwgIldlYnNvY2tldCBtZXNzYWdlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyKHMp
LiIpOwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC0zNzgsNyArMzc4LDcgQEAgdm9pZCBXZWJTb2NrZXQ6OmNsb3NlKGludCBjb2RlLCBjb25zdCBT
dHJpbmcmIHJlYXNvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIH0KICAgICAgICAgQ1N0
cmluZyB1dGY4ID0gcmVhc29uLnV0ZjgoU3RyaWN0Q29udmVyc2lvblJlcGxhY2luZ1VucGFpcmVk
U3Vycm9nYXRlc1dpdGhGRkZEKTsKICAgICAgICAgaWYgKHV0ZjgubGVuZ3RoKCkgPiBtYXhSZWFz
b25TaXplSW5CeXRlcykgewotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2Vi
U29ja2V0IGNsb3NlIG1lc3NhZ2UgaXMgdG9vIGxvbmcuIik7CisgICAgICAgICAgICBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBN
ZXNzYWdlTGV2ZWw6OkVycm9yLCAiV2ViU29ja2V0IGNsb3NlIG1lc3NhZ2UgaXMgdG9vIGxvbmcu
Iik7CiAgICAgICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KQEAgLTQ0Myw3ICs0NDMsNyBAQCB2b2lkIFdlYlNvY2tldDo6c2V0QmluYXJ5VHlw
ZShjb25zdCBTdHJpbmcmIGJpbmFyeVR5cGUpCiAgICAgICAgIG1fYmluYXJ5VHlwZSA9IEJpbmFy
eVR5cGVBcnJheUJ1ZmZlcjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICInIiArIGJpbmFyeVR5cGUgKyAiJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBm
b3IgYmluYXJ5VHlwZTsgYmluYXJ5VHlwZSByZW1haW5zIHVuY2hhbmdlZC4iKTsKKyAgICBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpT
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiJyIgKyBiaW5hcnlUeXBlICsgIicgaXMgbm90IGEgdmFs
aWQgdmFsdWUgZm9yIGJpbmFyeVR5cGU7IGJpbmFyeVR5cGUgcmVtYWlucyB1bmNoYW5nZWQuIik7
CiB9CiAKIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIFdlYlNvY2tldDo6ZXZlbnRUYXJnZXRJbnRlcmZh
Y2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IDcxNjRlZGMuLjgxYzZmNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5j
cHAKQEAgLTQ4LDE0ICs0OCwxMiBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQcm9n
cmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNpbmNsdWRlICJT
Y3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAj
aW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTb2NrZXRTdHJlYW1FcnJvci5oIgogI2lu
Y2x1ZGUgIlNvY2tldFN0cmVhbUhhbmRsZS5oIgogI2luY2x1ZGUgIldlYlNvY2tldENoYW5uZWxD
bGllbnQuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRIYW5kc2hha2UuaCIKLQogI2luY2x1ZGUgPHJ1
bnRpbWUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3
dGYvRmFzdE1hbGxvYy5oPgpAQCAtMTk4LDcgKzE5Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5l
bDo6ZmFpbChjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBBU1NFUlQoIW1fc3VzcGVuZGVkKTsK
ICAgICBpZiAobV9kb2N1bWVudCkgewogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKG1fZG9jdW1lbnQsIG1faWRlbnRpZmllciwg
cmVhc29uKTsKLSAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTmV0d29ya01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8g
JyIgKyBtX2hhbmRzaGFrZS0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkg
KyAiJyBmYWlsZWQ6ICIgKyByZWFzb24pOworICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiV2Vi
U29ja2V0IGNvbm5lY3Rpb24gdG8gJyIgKyBtX2hhbmRzaGFrZS0+dXJsKCkuc3RyaW5nQ2VudGVy
RWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBmYWlsZWQ6ICIgKyByZWFzb24pOwogICAgIH0KIAog
ICAgIC8vIEh5YmktMTAgc3BlY2lmaWNhdGlvbiBleHBsaWNpdGx5IHN0YXRlcyB3ZSBtdXN0IG5v
dCBjb250aW51ZSB0byBoYW5kbGUgaW5jb21pbmcgZGF0YQpAQCAtMzM1LDcgKzMzMyw3IEBAIHZv
aWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkRmFpbFNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5k
bGUqIGhhbmRsZSwgY29uc3QgU29jCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1lc3NhZ2Ug
PSAiV2ViU29ja2V0IG5ldHdvcmsgZXJyb3I6ICIgKyBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlv
bigpOwogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2Nr
ZXRGcmFtZUVycm9yKG1fZG9jdW1lbnQsIG1faWRlbnRpZmllciwgbWVzc2FnZSk7Ci0gICAgICAg
IG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcmssIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3Nh
Z2UpOwogICAgIH0KICAgICBtX3Nob3VsZERpc2NhcmRSZWNlaXZlZERhdGEgPSB0cnVlOwogICAg
IGhhbmRsZS0+ZGlzY29ubmVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcAppbmRleCBlNjc4MmNmLi42ODZm
NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0SGFuZHNoYWtlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0SGFuZHNoYWtlLmNwcApAQCAtNDQsNyArNDQsNiBAQAogI2luY2x1ZGUgIlVSTC5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlIDx3dGYvQ3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZGZjYWY1
NS4uOTViMjk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI3NzgsNyArMjc3OCw2IEBAIF9f
Wk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjI2c2V0SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRFTlN0M19fMTEwdW5pcXVlX3B0CiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIz
OXNldFJlc291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0VpaQogX19aTjdXZWJDb3Jl
MTlJbnNwZWN0b3JDb250cm9sbGVyNHNob3dFdgogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250
cm9sbGVyNWNsb3NlRXYKLV9fWk43V2ViQ29yZTIxSW5zcGVjdG9yQ29uc29sZUFnZW50Mjhjb25z
b2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzRXYKIF9fWk43V2ViQ29yZTIyaW5zdHJ1bWVudGF0aW9u
Rm9yUGFnZUVQTlNfNFBhZ2VFCiBfX1pON1dlYkNvcmUyNEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjE3c19mcm9udGVuZENvdW50ZXJFCiBfX1pON1dlYkNvcmUyNEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjI2aW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2VFUE5TXzRQYWdlRQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggNWI5ZjBhZi4uNWMy
OGZhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qCkBAIC0xNzIxNiwyMCArMTcyMTYsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIj4K
LSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8
L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlw
dENvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KQEAgLTE3NTA2LDE0ICsxNzQ5Miw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmNwcCI+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVs
ZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9D
bENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NRWRpdG9y
LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpA
QCAtMTc1MzAsMTQgKzE3NTA4LDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmNwcCI+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENv
bXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3Jp
cHRDYW52YXNNb2R1bGUuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CkBAIC0xNzU3OCwxNCArMTc1NDgsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVj
dGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVj
dGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb25zb2xlQWdlbnQu
Y3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0g
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxJbnNwZWN0b3JDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTc4NTgsMzAgKzE3ODIwLDYgQEAKICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENv
bXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1l
bnRzLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcU2NyaXB0Q2FsbEZyYW1lLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWly
b3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258
eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmNwcCI+Ci0gICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAg
PC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcVGltZWxp
bmVSZWNvcmRGYWN0b3J5LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgpAQCAtMTc4OTAsNiArMTc4MjgsMTQgQEAKICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Cisg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViQ29uc29sZUFnZW50LmNwcCI+
CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Cisg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgor
ICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
V2ViRGVidWdnZXJBZ2VudC5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KQEAgLTE4NDk2LDYgKzE4NDQyLDkgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcU2xvdFZpc2l0b3IuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcU3Ryb25nSW5saW5l
cy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVh
cFxXZWFrLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xpbnNwZWN0b3JcQ29uc29sZU1lc3NhZ2UuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxDb25zb2xlVHlwZXMuaCIgLz4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJZGVudGlm
aWVyc0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdI
ZWFkZXJzXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluamVjdGVkU2NyaXB0QmFzZS5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVj
dG9yXEluamVjdGVkU2NyaXB0SG9zdC5oIiAvPgpAQCAtMTg1MTEsNyArMTg0NjAsMTQgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJbnNw
ZWN0b3JKU1R5cGVCdWlsZGVycy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluc3BlY3RvclR5cGVCdWlsZGVyLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcSW5zcGVj
dG9yVmFsdWVzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0QnJlYWtwb2ludC5oIiAv
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9y
XFNjcmlwdENhbGxGcmFtZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxTdGFjay5oIiAvPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFk
ZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuaCIgLz4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9y
Q29uc29sZUFnZW50LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5n
SGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2Vu
dHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xtYXNtXFg4NkFzc2VtYmxlci5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccGFyc2VyXFNvdXJjZUNvZGUuaCIgLz4K
QEAgLTE4NzY1LDcgKzE4NzIxLDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2Vc
Q2hyb21lQ2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXGFuaW1h
dGlvblxDb21wb3NpdGVBbmltYXRpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBhZ2VcQ29uc29sZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxDb25z
b2xlVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGVudFNl
Y3VyaXR5UG9saWN5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnRl
eHRNZW51Q2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnRl
eHRNZW51Q29udHJvbGxlci5oIiAvPgpAQCAtMjA1NDEsNyArMjA0OTYsNiBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcUGFnZVNjcmlwdERlYnVnU2VydmVyLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY2hlZHVsZWRBY3Rpb24u
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENhY2hl
ZEZyYW1lRGF0YS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNc
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcU2NyaXB0Q29udHJvbGxlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0SGVhcFNuYXBzaG90LmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRHbG9iYWxPYmplY3QuaCIgLz4KQEAgLTIw
ODQ1LDE5ICsyMDc5OSwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYnJpZGdlXHJ1
bnRpbWVfbWV0aG9kLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxicmlkZ2VccnVu
dGltZV9vYmplY3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJyaWRnZVxydW50
aW1lX3Jvb3QuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb25z
b2xlQVBJVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxD
b21tYW5kTGluZUFQSUhvc3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxDb21tYW5kTGluZUFQSU1vZHVsZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcRE9NRWRpdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcRE9NUGF0Y2hTdXBwb3J0LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JDYW52YXNBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXEluc3BlY3RvckNhbnZhc0luc3RydW1lbnRhdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNsaWVudC5oIiAvPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVJbnN0cnVt
ZW50YXRpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JDb250cm9sbGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcSW5zcGVjdG9yQ291bnRlcnMuaCIgLz4KQEAgLTIwODk4LDEwICsyMDg0OCw4IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcUGFnZUluamVjdGVkU2NyaXB0SG9zdC5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFBhZ2VJbmplY3RlZFNj
cmlwdE1hbmFnZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQ
YWdlUnVudGltZUFnZW50LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcU2NyaXB0QXJndW1lbnRzLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcU2NyaXB0Q2FsbEZyYW1lLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgiIC8+CisgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViQ29uc29sZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdvcmtlckNvbnNvbGVBZ2VudC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdvcmtlckRlYnVnZ2VyQWdlbnQuaCIg
Lz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycwppbmRleCBjMDkyYTk0Li43ODQ4MDk0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00
NDk0LDkgKzQ0OTQsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNc
U2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9G
aWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5k
aW5nc1xqc1xTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCI+Ci0gICAgICA8RmlsdGVyPmJpbmRp
bmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmJp
bmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC00NzI1LDE4ICs0NzIyLDEy
IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29tbWFuZExpbmVBUElN
b2R1bGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29uc29sZU1lc3Nh
Z2UuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBp
bGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NRWRpdG9yLmNwcCI+
CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXERPTVBhdGNoU3VwcG9ydC5jcHAiPgog
ICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuY3BwIj4K
LSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1
bGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBp
bGU+CkBAIC00NzUyLDkgKzQ3NDMsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXEluc3BlY3RvckNsaWVudC5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0Zp
bHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9y
PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcSW5zcGVjdG9yQ29udHJvbGxlci5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0
b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ4NTQsMTggKzQ4NDIsMTIgQEAKICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQYWdlUnVudGltZUFnZW50LmNwcCI+
CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdEFyZ3VtZW50cy5jcHAiPgot
ICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsRnJhbWUuY3BwIj4KLSAg
ICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmNwcCI+Ci0gICAg
ICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAiPgog
ICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25zb2xlQWdlbnQuY3BwIj4KKyAg
ICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5jcHAiPgogICAg
ICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTc0OTMs
OSArNzQ3NSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnNvbGUuaCI+
CiAgICAgICA8RmlsdGVyPnBhZ2U8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29uc29sZVR5cGVzLmgiPgotICAgICAgPEZpbHRlcj5w
YWdlPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxwYWdlXENvbnRlbnRTZWN1cml0eVBvbGljeS5oIj4KICAgICAgIDxGaWx0ZXI+cGFnZTwvRmls
dGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTEzNTQsOSArMTEzMzMsNiBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgiPgog
ICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5oIj4KLSAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVk
ZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENvbnRyb2xs
ZXIuaCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1
ZGU+CkBAIC0xMjA5Miw2ICsxMjA2OCwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxTdHJvbmcuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRp
bmdIZWFkZXJzXGhlYXA8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxDb25zb2xlTWVzc2FnZS5o
Ij4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+Cisg
ICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xpbnNwZWN0b3JcQ29uc29sZVR5cGVzLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5n
SGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJZGVudGlmaWVyc0Zh
Y3RvcnkuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmls
dGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluamVjdGVkU2NyaXB0LmgiPgogICAgICAgPEZpbHRlcj5G
b3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAg
LTEyMTM3LDkgKzEyMTIyLDMwIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJk
aW5nSGVhZGVyc1xpbnNwZWN0b3JcSW5zcGVjdG9yVmFsdWVzLmgiPgogICAgICAgPEZpbHRlcj5G
b3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxTY3Jp
cHRBcmd1bWVudHMuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
cjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdEJyZWFrcG9pbnQuaCI+CisgICAgICA8
RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNs
dWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVj
dG9yXFNjcmlwdENhbGxGcmFtZS5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNc
aW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiPgor
ICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8
L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvclxTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiPgorICAgICAgPEZpbHRlcj5Gb3J3
YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNc
SW5zcGVjdG9yQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3Bl
Y3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JDb25zb2xlQWdl
bnQuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVy
PgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGlu
Z0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgiPgorICAg
ICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0Ns
SW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGlu
c3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiPgogICAgICAgPEZpbHRlcj5G
b3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAg
LTEyMjU3LDIxICsxMjI2MywxMiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXENvbW1hbmRMaW5lQVBJTW9kdWxlLmgiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0Zp
bHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxDb25zb2xlQVBJVHlwZXMuaCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVy
PgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XENvbnNvbGVNZXNzYWdlLmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAg
ICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxET01F
ZGl0b3IuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXERPTVBhdGNoU3VwcG9y
dC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5
LmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdENhbnZh
c01vZHVsZS5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+CkBAIC0xMjI4Nyw5ICsxMjI4NCw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcSW5zcGVjdG9yQ2xpZW50LmgiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8
L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3Rv
cjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCI+CiAgICAgICA8Rmls
dGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTI0MTAsMTggKzEy
NDA0LDEyIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcUGFnZVJ1bnRp
bWVBZ2VudC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1l
bnRzLmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVk
ZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsRnJhbWUu
aCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgot
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdENhbGxTdGFjay5oIj4K
LSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5Lmgi
PgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25zb2xlQWdlbnQuaCI+Cisg
ICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdlYkRlYnVnZ2VyQWdlbnQuaCI+CiAgICAg
ICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDA0ZmZh
NDcuLmEyMTRjMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTEwNTcsNyArMTA1Nyw2IEBACiAJCTJEOUYwRTEzMTRGRjFDQkYw
MEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0Iu
aWNjICovOyB9OwogCQkyREJBREUwQjE4OEU1OTE1MDA0RDc5ODEgLyogV2ViQ29yZUNBTGF5ZXJF
eHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
QkFERTA5MTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJEQkFERTBDMTg4RTU5
MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQkFERTBBMTg4RTU5MTUwMDRENzk4MSAvKiBX
ZWJDb3JlQ0FMYXllckV4dHJhcy5tbSAqLzsgfTsKLQkJMkRGMkU5RDUxNjZFMzk3NTAwMzVCRUYy
IC8qIENvbnNvbGVBUElUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkRGMkU5RDQxNjZFMzk3NDAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJFMDg4
OEQ0MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAv
KiBKU0RPTUZvcm1EYXRhLmNwcCAqLzsgfTsKIAkJMkUwODg4RDUxMTQ4ODQ4QTAwQUY0MjY1IC8q
IEpTRE9NRm9ybURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi87IH07
CiAJCTJFMDg4OEU2MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEU1MTE0
ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCAqLzsgfTsKQEAgLTEzMzks
MTAgKzEzMzgsNiBAQAogCQk0MTY3RUJGNTEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE2N0VCRjMxMDI5NjJCQTAwM0QyNTJBIC8qIERlZmF1bHRTaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5LmNwcCAqLzsgfTsKIAkJNDE2N0VCRjYxMDI5NjJCQTAwM0QyNTJBIC8qIERl
ZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTY3RUJGNDEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuaCAqLzsgfTsKIAkJNDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRF
IC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0
aW5nUHJveHkuaCAqLzsgfTsKLQkJNDE2RTc1QkUwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENh
bGxTdGFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE2RTc1QkMwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFjay5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQxNkU3NUJGMEVERjhGRDcw
MDM2MEUxRCAvKiBTY3JpcHRDYWxsU3RhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1QkQwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENh
bGxTdGFjay5jcHAgKi87IH07Ci0JCTQxNkU3NUNCMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRD
YWxsRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxNkU3NUM5MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0MTZFNzVDQzBFREY5MEM3
MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRD
YWxsRnJhbWUuY3BwICovOyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLzsgfTsK
IAkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRDRjEzNzM0MzI2MDA3QzU3
RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTEzODIsOCArMTM3Nyw2IEBACiAJCTQxRTFC
MUQxMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0IwRkY1OTg2OTAwNTc2QjNCIC8q
IEFic3RyYWN0V29ya2VyLmggKi87IH07CiAJCTQxRTFCMUQzMEZGNTk4NjkwMDU3NkIzQiAvKiBT
aGFyZWRXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFFMUIxQ0QwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5jcHAgKi87IH07
CiAJCTQxRTFCMUQ0MEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTFCMUNFMEZGNTk4NjkwMDU3
NkIzQiAvKiBTaGFyZWRXb3JrZXIuaCAqLzsgfTsKLQkJNDFGMDYxOEUwRjVGMDY5ODAwQTA3RUFD
IC8qIENvbnNvbGVNZXNzYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuaCAq
LzsgfTsKLQkJNDFGMDYxOEYwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MThEMEY1
RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi87IH07CiAJCTQxRjA2MjE0MEY1
RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjIxMjBGNUYxOTI2MDBBMDdF
QUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oICovOyB9OwogCQk0MUYwNjIxNTBGNUYx
OTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjIxMzBGNUYxOTI2MDBBMDdF
QUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgKi87IH07CiAJCTQxRjA2NkU0MEY2
NEJDRjYwMEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2NkUyMEY2NEJDRjYwMEEwN0VBQyAvKiBT
Y3JpcHRHbG9iYWxPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTk4NCw4ICsxOTc3LDYgQEAKIAkJNTkwNUFEQzAxMzAyRjNDRTAwRjEx
NkRGIC8qIFhNTFRyZWVWaWV3ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU5MDVBREJFMTMwMkYzQ0UwMEYxMTZERiAvKiBYTUxUcmVlVmlld2VyLmgg
Ki87IH07CiAJCTU5MEUxQjQ5MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbkRh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MEUx
QjQ4MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbkRhdGEuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1OTBFMUI0QjExRTRFRjcw
MDA2OUY3ODQgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MEUxQjRBMTFFNEVGNzAwMDY5
Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwICovOyB9OwotCQk1OTEz
QTI0MTEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MTNBMjNGMTNENDlFQkEwMEY1
QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovOyB9OwotCQk1OTEzQTI0MjEzRDQ5RUJB
MDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTEzQTI0MDEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRp
ZmllcnNGYWN0b3J5LmggKi87IH07CiAJCTU5MzA5QTExMTFGNEFFNTgwMDI1MDYwMyAvKiBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTkzMDlBMTAxMUY0QUU1ODAwMjUwNjAzIC8qIERldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9jay5jcHAgKi87IH07CiAJCTU5MzA5QTEzMTFGNEFFNkEwMDI1MDYwMyAv
KiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MzA5QTEyMTFGNEFFNkEwMDI1MDYwMyAvKiBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1OTgzNjVERDEzNTVGNTU3MDAxQjE4NUQgLyogSlNQb3NpdGlvbkNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
OTgzNjVEQzEzNTVGNTNDMDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNrLmggKi87IH07CkBA
IC0zNjI5LDYgKzM2MjAsOCBAQAogCQlBNTQxNkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHVi
ZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTU0MTZGRTQxODgxMEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRv
d0VsZW1lbnQuaCAqLzsgfTsKIAkJQTU0QTgyRUMxNTIyOEQyRjAwQzcyQkE2IC8qIERPTU5vZGVQ
cml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NTRBODJFQTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCAqLzsgfTsKIAkJQTU0
QTgyRjExNTIyOERGNjAwQzcyQkE2IC8qIERPTU5vZGVQcml2YXRlLmggaW4gQ29weSBHZW5lcmF0
ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTRBODJFQTE1
MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCAqLzsgfTsKKwkJQTU2QzVCOUExODlG
MzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTZDNUI5ODE4OUYzNDU3MDA4MkQxM0MgLyogV2Vi
Q29uc29sZUFnZW50LmNwcCAqLzsgfTsKKwkJQTU2QzVCOUIxODlGMzQ1NzAwODJEMTNDIC8qIFdl
YkNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTU2QzVCOTkxODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5oICovOyB9
OwogCQlBNTczMkIwQTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3MzJCMDgxMzZBMTYx
RDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmNwcCAqLzsgfTsKIAkJQTU3MzJCMEIxMzZBMTYx
RDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNTczMkIwOTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBv
bmVudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlBNTg0MEUxQzE4N0I3NEQ1MDA4NDNCMTAgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
ODQwRTFBMTg3Qjc0RDUwMDg0M0IxMCAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUu
Y3BwICovOyB9OwpAQCAtNTIzNiw3ICs1MjI5LDYgQEAKIAkJQkNFNDQxMzMxMkY3NDhFMjAwOUI4
NEI4IC8qIFJlbmRlckNvbWJpbmVUZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTQ0MTMxMTJGNzQ4RTIwMDlCODRCOCAvKiBSZW5kZXJDb21i
aW5lVGV4dC5jcHAgKi87IH07CiAJCUJDRTQ0MTM0MTJGNzQ4RTIwMDlCODRCOCAvKiBSZW5kZXJD
b21iaW5lVGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNFNDQxMzIxMkY3NDhFMjAwOUI4NEI4IC8qIFJlbmRlckNvbWJpbmVUZXh0LmggKi87IH07
CiAJCUJDRTQ0MTM2MTJGNzQ5MEIwMDlCODRCOCAvKiBGb250V2lkdGhWYXJpYW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U0NDEzNTEyRjc0OTBC
MDA5Qjg0QjggLyogRm9udFdpZHRoVmFyaWFudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJDRTU2NDRFMTM3QTM0RDYwMDdEMjkzNCAvKiBDb25z
b2xlVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDRTU2NDREMTM3QTM0RDYwMDdEMjkzNCAvKiBDb25zb2xlVHlwZXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0U2NThGRjBFQTkyNDhBMDA3
RTQ1MzMgLyogVGhlbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRTY1OEZFMEVBOTI0OEEwMDdFNDUzMyAvKiBUaGVtZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRTY1OUE5MEVBOTI3QjkwMDdF
NDUzMyAvKiBUaGVtZVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQ0U2NTlBODBFQTkyN0I5MDA3RTQ1MzMgLyogVGhlbWVUeXBlcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRTY1OUU2MEVB
OTJGQjIwMDdFNDUzMyAvKiBUaGVtZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNFNjU5RTUwRUE5MkZCMjAwN0U0NTMzIC8qIFRoZW1lTWFjLmgg
Ki87IH07CkBAIC02MDI0LDggKzYwMTYsNiBAQAogCQlGMjkzQjI3RTU2QzExMkYzNzNGRkYyN0Ug
LyogRE5TUmVzb2x2ZVF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDNjAxMjgwNjAwNzhCQjcwRTM2N0E5NSAvKiBETlNSZXNvbHZlUXVldWUu
Y3BwICovOyB9OwogCQlGMzI1QTQwQTE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRl
cnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjMy
NUE0MDgxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50ZXJzLmNwcCAqLzsgfTsKIAkJ
RjMyNUE0MEIxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50ZXJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzI1QTQwOTE0RUUzNkZBMDA3
MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQlGMzMzNUJGODEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVj
dG9yQ29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEYzMzM1QkY2MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdl
bnQuY3BwICovOyB9OwotCQlGMzMzNUJGOTEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29u
c29sZUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGMzMzNUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi87
IH07CiAJCUYzM0YwMjgyMTIwOTQ3RjIwMEU1NzQzQSAvKiBTY3JpcHRQcm9maWxlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzM0YwMjgxMTIwOTQ3
RjIwMEU1NzQzQSAvKiBTY3JpcHRQcm9maWxlLmNwcCAqLzsgfTsKIAkJRjM0NEM3MTQxMTI1Qjgy
QzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzQ0QzcxMjExMjVCODJDMDBGMjZFRUUgLyog
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlGMzQ0Qzc1MzExMjk0RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjM0NEM3NTIxMTI5NEQ5RDAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNjA1MiwxMCArNjA0Miw2IEBACiAJCUYzODIwODk3MTQ3RDM1RjkwMDEwQkMwNiAv
KiBXb3JrZXJDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYzODIwODhGMTQ3RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJDb25zb2xlQWdl
bnQuaCAqLzsgfTsKIAkJRjM4MjA4OTgxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVB
Z2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
MzgyMDg5MDE0N0QzNUY5MDAxMEJDMDYgLyogV29ya2VyUnVudGltZUFnZW50LmNwcCAqLzsgfTsK
IAkJRjM4MjA4OTkxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM4MjA4OTExNDdEMzVG
OTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oICovOyB9OwotCQlGMzkyMjQ5QzEyNkYx
MUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QTEyNkYxMUFFMDBBOTI2RDkg
LyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgKi87IH07Ci0JCUYzOTIyNDlEMTI2RjExQUUw
MEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QjEyNkYxMUFFMDBBOTI2RDkgLyogU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovOyB9OwotCQlGMzlCRTk1QjEyNjczQkY0MDBFMEE2NzQg
LyogU2NyaXB0QXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYzOUJFOTU5MTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMu
Y3BwICovOyB9OwotCQlGMzlCRTk1QzEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzlCRTk1
QTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggKi87IH07CiAJCUYzQUJGRTBD
MTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0FCRkUwQjEzMEU5REEwMDBFN0Y3RDEg
LyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovOyB9OwogCQlGM0Q0NjE0ODExNjFENTMyMDBDQTBE
MDkgLyogSlNFcnJvckhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjNENDYxNDYxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVy
LmNwcCAqLzsgfTsKIAkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0Q0NjE0
NzExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLzsgfTsKQEAgLTc4NjIsNyAr
Nzg0OCw2IEBACiAJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBh
dGggPSBsaW5lYXJTUkdCLmljYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRCQURF
MDkxODhFNTkxNTAwNEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVDQUxheWVyRXh0cmFzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJEQkFERTBBMTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FM
YXllckV4dHJhcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdl
YkNvcmVDQUxheWVyRXh0cmFzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkyREYy
RTlENDE2NkUzOTc0MDAzNUJFRjIgLyogQ29uc29sZUFQSVR5cGVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVBUElUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01Gb3JtRGF0YS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAv
KiBKU0RPTUZvcm1EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9N
Rm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTgxNjksMTAgKzgxNTQs
NiBAQAogCQk0MTY3RUJGMzEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtlclJl
cG9zaXRvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOyBwYXRoID0gd29ya2Vycy9EZWZhdWx0U2hhcmVk
V29ya2VyUmVwb3NpdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNjdF
QkY0MTAyOTYyQkEwMDNEMjUyQSAvKiBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3Np
dG9yeS5oOyBwYXRoID0gd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyog
V29ya2VyUmVwb3J0aW5nUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V29ya2VyUmVwb3J0aW5nUHJveHkuaDsgcGF0aCA9IHdvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJv
eHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE2RTc1QkMwRURGOEZENzAwMzYw
RTFEIC8qIFNjcmlwdENhbGxTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTY3JpcHRDYWxsU3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE2RTc1
QkQwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk0MTZFNzVDOTBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZy
YW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxGcmFtZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTZFNzVDQTBFREY5MEM3MDAzNjBFMUQg
LyogU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNjcmlwdENhbGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
NzI1M0E4MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAv
KiBNZWRpYUNvbnRyb2xFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNZWRpYUNvbnRyb2xFbGVtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTdEQTRDRTEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEludGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtODIxOCw4ICs4MTk5LDYgQEAKIAkJNDFFMUIxQ0QwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJl
ZFdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTaGFyZWRX
b3JrZXIuY3BwOyBwYXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MUUxQjFDRTBGRjU5ODY5MDA1NzZCM0IgLyogU2hhcmVkV29ya2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNoYXJlZFdvcmtlci5oOyBwYXRo
ID0gd29ya2Vycy9TaGFyZWRXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDFFMUIxQ0YwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBuYW1lID0gU2hhcmVkV29ya2VyLmlkbDsgcGF0aCA9IHdvcmtlcnMvU2hhcmVkV29ya2Vy
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFGMDYxOEMwRjVGMDY5ODAwQTA3
RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENvbnNvbGVNZXNzYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxRjA2MThE
MEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDb25zb2xlTWVzc2FnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxRjA2MjEyMEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFz
ZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckRh
dGFiYXNlUmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFGMDYyMTMw
RjVGMTkyNjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRjA2NkUyMEY2NEJDRjYwMEEwN0VB
QyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU2NyaXB0R2xvYmFsT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04
ODkyLDggKzg4NzEsNiBAQAogCQk1OTA1QURCRTEzMDJGM0NFMDBGMTE2REYgLyogWE1MVHJlZVZp
ZXdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBYTUxUcmVlVmlld2VyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MEUxQjQ4MTFFNEVGNEIwMDY5Rjc4NCAv
KiBEZXZpY2VPcmllbnRhdGlvbkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRGV2aWNlT3JpZW50YXRpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTU5MEUxQjRBMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTkx
M0EyM0YxM0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1OTEzQTI0MDEzRDQ5RUJBMDBGNUIwNUMgLyogSWRl
bnRpZmllcnNGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElkZW50
aWZpZXJzRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTMwOUExMDEx
RjRBRTU4MDAyNTA2MDMgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9j
ay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MzA5QTEyMTFGNEFFNkEwMDI1
MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTU5NThGMUNCMTM0MzkxN0MwMDgwQjMxRiAvKiBYTUxWaWV3ZXIu
Y3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBhdGggPSBYTUxWaWV3ZXIuY3NzOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTA1OTMsNiArMTA1NzAsOCBAQAogCQlBNTQxNkZFMzE4ODEw
RUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBZb3VUdWJlRW1iZWRTaGFkb3dFbGVtZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU0MTZGRTQxODgxMEVGODAwMDlGQzVGIC8q
IFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBNTRBODJFQTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTm9kZVByaXZhdGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU2QzVCOTgxODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNv
bGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb25z
b2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTZDNUI5OTE4OUYz
NDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYkNvbnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZUNvbXBvbmVudHMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBNTczMkIwOTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNv
bXBvbmVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZUNvbXBvbmVu
dHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU4NDBFMUExODdCNzRENTAwODQz
QjEwIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI0MzgsNyArMTI0MTcsNiBAQAogCQlC
Q0U0NDEzMTEyRjc0OEUyMDA5Qjg0QjggLyogUmVuZGVyQ29tYmluZVRleHQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyQ29tYmluZVRleHQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U0NDEzMjEyRjc0OEUyMDA5Qjg0QjggLyogUmVu
ZGVyQ29tYmluZVRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVy
Q29tYmluZVRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFNDQxMzUxMkY3
NDkwQjAwOUI4NEI4IC8qIEZvbnRXaWR0aFZhcmlhbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRm9udFdpZHRoVmFyaWFudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlCQ0U1NjQ0RDEzN0EzNEQ2MDA3RDI5MzQgLyogQ29uc29sZVR5cGVzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQ0U2NThGRTBFQTkyNDhBMDA3RTQ1MzMgLyogVGhlbWUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQkNFNjU5QTgwRUE5MjdCOTAwN0U0NTMzIC8qIFRoZW1lVHlwZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWVUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQ0U2NTlFNTBFQTkyRkIyMDA3RTQ1MzMgLyogVGhlbWVNYWMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWVNYWMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTEzMzQwLDggKzEzMzE4LDYgQEAKIAkJRjEyMTcxRjQxNkE4QkM2MzAw
MDA1M0NBIC8qIFdlYlZUVEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViVlRURWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzI1QTQw
ODE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQ291bnRlcnMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGMzI1QTQwOTE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9y
Q291bnRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ291
bnRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjMzMzVCRjYxMkUwN0RDMzAw
RDMzMDExIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlGMzMzNUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29u
c29sZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckNv
bnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzNGMDI4MTEyMDk0
N0YyMDBFNTc0M0EgLyogU2NyaXB0UHJvZmlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTY3JpcHRQcm9maWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjM0NEM3MTIxMTI1QjgyQzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzNDRDNzUyMTEyOTREOUQwMEYy
NkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzY4LDEwICsxMzM0NCw2IEBACiAJCUYzODIwODhGMTQ3
RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJDb25zb2xlQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV29ya2VyQ29uc29sZUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUYzODIwODkwMTQ3RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJSdW50aW1lQWdlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV29ya2VyUnVudGltZUFn
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM4MjA4OTExNDdEMzVGOTAw
MTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXb3JrZXJSdW50aW1lQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJRjM5MjI0OUExMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbFN0YWNrRmFj
dG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUYzOTIyNDlCMTI2RjExQUUw
MEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJRjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRBcmd1bWVudHMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzlCRTk1QTEyNjczQkY0MDBFMEE2
NzQgLyogU2NyaXB0QXJndW1lbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNjcmlwdEFyZ3VtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGM0FCRkUw
QjEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbnN0cnVtZW50aW5nQWdlbnRzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUYzRDQ2MTQ2MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFuZGxl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Vycm9ySGFuZGxl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRDQ2MTQ3MTE2MUQ1MzIwMENB
MEQwOSAvKiBKU0Vycm9ySGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0Vycm9ySGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ3ODcs
MTUgKzE0NzU5LDEwIEBACiAJCQkJQTU4NEZFMjkxODYzODcwRjAwODQzQjEwIC8qIENvbW1hbmRM
aW5lQVBJTW9kdWxlLmNwcCAqLywKIAkJCQlBNTg0RkUyQTE4NjM4NzBGMDA4NDNCMTAgLyogQ29t
bWFuZExpbmVBUElNb2R1bGUuaCAqLywKIAkJCQlBNTg0RkUyNzE4NjM3RENBMDA4NDNCMTAgLyog
Q29tbWFuZExpbmVBUElNb2R1bGVTb3VyY2UuanMgKi8sCi0JCQkJMkRGMkU5RDQxNjZFMzk3NDAw
MzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oICovLAotCQkJCTQxRjA2MThEMEY1RjA2OTgwMEEw
N0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi8sCi0JCQkJNDFGMDYxOEMwRjVGMDY5ODAwQTA3
RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggKi8sCiAJCQkJN0FBQkEyNTcxNEJDNjEzMzAwQUE5QTEx
IC8qIERPTUVkaXRvci5jcHAgKi8sCiAJCQkJN0FBQkEyNTgxNEJDNjEzMzAwQUE5QTExIC8qIERP
TUVkaXRvci5oICovLAogCQkJCTdBNTQ4ODE2MTRFNDMyQTEwMDZBRTA1QSAvKiBET01QYXRjaFN1
cHBvcnQuY3BwICovLAogCQkJCTdBNTQ4ODE1MTRFNDMyQTEwMDZBRTA1QSAvKiBET01QYXRjaFN1
cHBvcnQuaCAqLywKLQkJCQk1OTEzQTIzRjEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNG
YWN0b3J5LmNwcCAqLywKLQkJCQk1OTEzQTI0MDEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmll
cnNGYWN0b3J5LmggKi8sCiAJCQkJQUE3MzE4M0MxNTkyNTVCOTAwQTkzRTZFIC8qIEluamVjdGVk
U2NyaXB0Q2FudmFzTW9kdWxlLmNwcCAqLywKIAkJCQlBQTczMTgzRDE1OTI1NUI5MDBBOTNFNkUg
LyogSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuaCAqLywKIAkJCQlBQTkwMzBGRTE1N0UxNkEw
MDAyNzYyNDcgLyogSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3VyY2UuanMgKi8sCkBAIC0x
NDgwNiw4ICsxNDc3Myw2IEBACiAJCQkJQUFENzY2RUExNTdFNTAyRjAwRTg1NDIzIC8qIEluc3Bl
Y3RvckNhbnZhc0luc3RydW1lbnRhdGlvbi5oICovLAogCQkJCTdBMUYyQjUxMTI2QzYxQjIwMDA2
QTdFNiAvKiBJbnNwZWN0b3JDbGllbnQuY3BwICovLAogCQkJCTFDODFCOTU4MEU5NzMzMDgwMDI2
NkUwNyAvKiBJbnNwZWN0b3JDbGllbnQuaCAqLywKLQkJCQlGMzMzNUJGNjEyRTA3REMzMDBEMzMw
MTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCAqLywKLQkJCQlGMzMzNUJGNzEyRTA3REMz
MDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8sCiAJCQkJRjNGNUNGMTAxMkVE
ODFBODAwODRDNTY5IC8qIEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCAqLywKIAkJ
CQkxQzgxQjk1NzBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi8s
CiAJCQkJMUM4MUI5NTYwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuaCAq
LywKQEAgLTE0ODg2LDE2ICsxNDg1MSwxMiBAQAogCQkJCUE1ODRGRTJFMTg2NENCODQwMDg0M0Ix
MCAvKiBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggKi8sCiAJCQkJRjM4MjA4OEMxNDdEMzVG
OTAwMTBCQzA2IC8qIFBhZ2VSdW50aW1lQWdlbnQuY3BwICovLAogCQkJCUYzODIwODhEMTQ3RDM1
RjkwMDEwQkMwNiAvKiBQYWdlUnVudGltZUFnZW50LmggKi8sCi0JCQkJRjM5QkU5NTkxMjY3M0JG
NDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8sCi0JCQkJRjM5QkU5NUExMjY3M0JG
NDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5oICovLAotCQkJCTQxNkU3NUNBMEVERjkwQzcw
MDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovLAotCQkJCTQxNkU3NUM5MEVERjkwQzcw
MDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLywKLQkJCQk0MTZFNzVCRDBFREY4RkQ3MDAz
NjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLywKLQkJCQk0MTZFNzVCQzBFREY4RkQ3MDAz
NjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmggKi8sCiAJCQkJOUZBMzdFRUYxMTcyRkQ0MTAwQzRD
RDU1IC8qIFNjcmlwdFByb2ZpbGUuaWRsICovLAogCQkJCTlGQTM3RUYwMTE3MkZENDEwMEM0Q0Q1
NSAvKiBTY3JpcHRQcm9maWxlTm9kZS5pZGwgKi8sCiAJCQkJNzU1M0NGRTcxMDhGNDczRjAwRUEy
ODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgKi8sCiAJCQkJNzU1M0NGRTYxMDhGNDcz
RjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oICovLAorCQkJCUE1NkM1Qjk4MTg5
RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuY3BwICovLAorCQkJCUE1NkM1Qjk5MTg5
RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlBNUU2MTY3MTE4OTQ1
ODFGMDA5QURGNTAgLyogV2ViRGVidWdnZXJBZ2VudC5jcHAgKi8sCiAJCQkJQTVFNjE2NzIxODk0
NTgxRjAwOUFERjUwIC8qIFdlYkRlYnVnZ2VyQWdlbnQuaCAqLywKIAkJCQlGMzgyMDg4RTE0N0Qz
NUY5MDAxMEJDMDYgLyogV29ya2VyQ29uc29sZUFnZW50LmNwcCAqLywKQEAgLTE2MDQ3LDcgKzE2
MDA4LDYgQEAKIAkJCQlCQzBCMzZBMTBDRDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5jcHAgKi8s
CiAJCQkJQkMwQjM2QTIwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUuaCAqLywKIAkJCQlCQzBC
MzZBMzBDRDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5pZGwgKi8sCi0JCQkJQkNFNTY0NEQxMzdB
MzRENjAwN0QyOTM0IC8qIENvbnNvbGVUeXBlcy5oICovLAogCQkJCTk3QzQ3MUQ5MTJGOTI1QkMw
MDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuY3BwICovLAogCQkJCTk3QzQ3MURBMTJG
OTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCAqLywKIAkJCQkwNjVBRDRG
MjBCMEMyRURBMDA1QTJCMUQgLyogQ29udGV4dE1lbnVDbGllbnQuaCAqLywKQEAgLTIwMTY5LDgg
KzIwMTI5LDYgQEAKIAkJCQlCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0
aW9uLmggKi8sCiAJCQkJNDFGMUQyMUUwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENhY2hlZEZy
YW1lRGF0YS5jcHAgKi8sCiAJCQkJNDFGMUQyMUQwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENh
Y2hlZEZyYW1lRGF0YS5oICovLAotCQkJCUYzOTIyNDlBMTI2RjExQUUwMEE5MjZEOSAvKiBTY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmNwcCAqLywKLQkJCQlGMzkyMjQ5QjEyNkYxMUFFMDBBOTI2RDkg
LyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovLAogCQkJCTkzQjcwRDUzMDlFQjBDN0MwMDlE
ODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCAqLywKIAkJCQk5M0I3MEQ1NDA5RUIwQzdDMDA5
RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5oICovLAogCQkJCUE4M0UxQzcyMEU0OTA0MkIwMDE0
MEI5QyAvKiBTY3JpcHRDb250cm9sbGVyTWFjLm1tICovLApAQCAtMjI4NzEsMTAgKzIyODI5LDcg
QEAKIAkJCQlGRDMxNjA4RjEyQjAyNkY3MDBDMUEzNTkgLyogQ29uZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNjVDOTdBRjMwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkMwQjM2QTUwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUuaCBpbiBIZWFkZXJzICov
LAotCQkJCTJERjJFOUQ1MTY2RTM5NzUwMDM1QkVGMiAvKiBDb25zb2xlQVBJVHlwZXMuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTQxRjA2MThFMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2Fn
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDczQUI0QjMxN0Y4QkFDQTAwNkUwRDZGIC8qIEFsbFZp
ZGVvQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0U1NjQ0RTEzN0EzNEQ2MDA3
RDI5MzQgLyogQ29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIxQzA5NzdE
M0MwMDA1ODI2RDkgLyogQ29udGFpbmVyTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBMTQ3
MDgxMTEwMkIxNTAwRUVDMEYzIC8qIENvbnRhaW5lck5vZGVBbGdvcml0aG1zLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwNzhFMDkxRDE3RDE0RDFDMDA0MjBBQTEgLyogTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKQEAgLTIzNzg4LDYgKzIzNzQzLDcgQEAK
IAkJCQk5MzMwOURFNjA5OUU2NDkyMDA1NkU1ODEgLyogSFRNTEludGVyY2hhbmdlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBODEzNjlFNDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTEtleWdlbkVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2OUUyMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1M
TGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTZDNUI5QjE4OUYzNDU3MDA4MkQx
M0MgLyogV2ViQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODEzNjlFMDA5NzM3
NEY2MDBENzQ0NjMgLyogSFRNTExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
RUE3OUY2MEExOTE2REYwMEE4RUY1RiAvKiBIVE1MTElFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBODcxREMyMDBBMTUyMDU3MDBCMTJBNjggLyogSFRNTExpbmtFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKQEAgLTIzODcyLDcgKzIzODI4LDYgQEAKIAkJCQkwNzhFMDkyMTE3RDE0RDFDMDA0
MjBBQTEgLyogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcy
NzdFNTExN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1FdmVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUE3MUQ1N0MwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50aWZpZXJSZXAuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTU5MTNBMjQyMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0Zh
Y3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUM1MEVGODZENDcwMDlEMENBRiAvKiBJ
ZGVudGl0eVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4NTYx
ODJDMEY4MzAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCUE1ODRGRTI2MTg2MzdEQUIwMDg0M0IxMCAvKiBDb21tYW5kTGluZUFQSU1vZHVsZVNv
dXJjZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzkyNSw3ICsyMzg4MCw2IEBACiAJCQkJQUFENzY2
RUMxNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3RvckNhbnZhc0FnZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBQUQ3NjZFRDE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yQ2FudmFzSW5zdHJ1
bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzgxQjk1QzBFOTczMzA4MDAyNjZFMDcg
LyogSW5zcGVjdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzMzNUJGOTEyRTA3REMz
MDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlG
M0Y1Q0YxMTEyRUQ4MUE4MDA4NEM1NjkgLyogSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUM4MUI5NUEwRTk3MzMwODAwMjY2RTA3IC8qIEluc3Bl
Y3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzMjVBNDBCMTRFRTM2RkEwMDcz
MjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTExMCwxMSAr
MjUwNjQsNyBAQAogCQkJCTlCRDBCRjkzMTJBNDJCRjUwMDcyRkQ0MyAvKiBTY29wZWRFdmVudFF1
ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VDMDFCRTBDMjc0REFDMDA5RjRFQzkgLyogU2Ny
ZWVuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODREODJDMTExRDM0NzQ4MDA5NzI5OTAgLyogU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzlCRTk1QzEyNjcz
QkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUYx
RDIxRjBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk0MTZFNzVDQjBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmgg
aW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNzVCRTBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2Fs
bFN0YWNrLmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzkyMjQ5RDEyNkYxMUFFMDBBOTI2RDkgLyog
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNCNzBENzAwOUVC
MEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5
OThBRUQyMTNGQjIyNEQwMDkwQjFBQSAvKiBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTA4QTQ4NDc4MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2NDc4LDcgKzI2NDI4LDYgQEAKIAkJCQlGRDMxNjA4
RTEyQjAyNkY3MDBDMUEzNTkgLyogQ29uZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTQ2RkU2
RjE4NDQyMEFBMDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDMEIzNkE0MENEM0M2N0MwMEFDN0VCNSAvKiBDb25zb2xlLmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCTQxRjA2MThGMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBODE4NzIxRjA5NzdEM0MwMDA1ODI2RDkgLyogQ29udGFp
bmVyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0E3OENENTE1MzJCQTYyMDA2QzIxRTQg
LyogQ29udGFpbmVyTm9kZUFsZ29yaXRobXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1RUI5
ODAwRTgyMDcyNTAwQjI1OTY1IC8qIENvbnRlbnREYXRhLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MjcyMTQsNyArMjcxNjMsNiBAQAogCQkJCUM1ODVBNjYyMTFENEZBQzUwMDRDM0U0QiAvKiBJREJC
aW5kaW5nVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNzFENTdCMEYzMzgxOTAw
MEY5Q0U0RSAvKiBJZGVudGlmaWVyUmVwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MDU4NTMx
MTdGREU2RDkwMDVGMkJDQiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50LmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTU5MTNBMjQxMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3Rvcnku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3QTQxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFy
Z2V0T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3QTYxNUIwMDYzRjAwMjc2
RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Mjc1MzU2RjBCMDUzODE0MDAyQ0U2NEYgLyogSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0y
NzI1OCw3ICsyNzIwNiw2IEBACiAJCQkJRTFGODBCOEExODMxNzJBMjAwNzg4NUMzIC8qIEpTQ3J5
cHRvS2V5UGFpckN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBQUQ3NjZFQjE1N0U1MDJG
MDBFODU0MjMgLyogSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0ExRjJCNTIxMjZDNjFCMjAwMDZBN0U2IC8qIEluc3BlY3RvckNsaWVudC5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQlGMzMzNUJGODEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFDODFCOTVCMEU5NzMzMDgwMDI2NkUwNyAvKiBJ
bnNwZWN0b3JDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUYzMjVBNDBBMTRFRTM2
RkEwMDczMjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4
MkFCMTc0MzEyNEI5OUVDMDBDNTA2OUQgLyogSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC0yODQyMiwxMSArMjgzNjksNyBAQAogCQkJCTlCRDBCRjk0MTJBNDJCRjUwMDcy
RkQ0MyAvKiBTY29wZWRFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUMwMUJE
MEMyNzREQUMwMDlGNEVDOSAvKiBTY3JlZW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg0RDgy
QzIxMUQzNDc0ODAwOTcyOTkwIC8qIFNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQlGMzlCRTk1QjEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRjFEMjIwMEVGMzVDMkEwMERBODc1MyAvKiBTY3Jp
cHRDYWNoZWRGcmFtZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE2RTc1Q0MwRURGOTBD
NzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTZF
NzVCRjBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUYzOTIyNDlDMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzQjcwRDZGMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3Jp
cHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4M0UxQzc0MEU0OTA0MkMwMDE0
MEI5QyAvKiBTY3JpcHRDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk5OEFF
RDExM0ZCMjI0RDAwOTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTI4NTk5LDYgKzI4NTQyLDcgQEAKIAkJCQkzMUE3OTVDODE4ODhCQ0I1
MDAzODJGOTAgLyogQU5HTEVJbnN0YW5jZWRBcnJheXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTU4NDBFMjQxODdCOEFDMjAwODQzQjEwIC8qIFBhZ2VJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThDNEE3RkUwOUQ1NjMyNzAwMDNBQzhEIC8qIFN0eWxlZEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTU2QzVCOUExODlGMzQ1NzAwODJEMTNDIC8qIFdl
YkNvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVFQjhCODBFODIwMUJEMDBC
MjU5NjUgLyogU3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUFBNEMzQTc2MEIyQjE2NzkwMDIzMzRBMiAvKiBJbmxpbmVTdHlsZVNoZWV0T3duZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE5QUUwNjMxNDJENkIyNDAwNjU2M0ExIC8qIFN0eWxl
RmlsdGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcAppbmRleCBlMTk1ZGRmLi5hYjU4ZDRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnRleHRD
dXN0b20uY3BwCkBAIC03Myw3ICs3Myw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
SlNBdWRpb0NvbnRleHRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNBdWRpb0NvbnRleHQoCiAjaWYg
RU5BQkxFKExFR0FDWV9XRUJfQVVESU8pCiAgICAgICAgIC8vIENvbnN0cnVjdG9yIGZvciBvZmZs
aW5lIChyZW5kZXItdGFyZ2V0KSBBdWRpb0NvbnRleHQgd2hpY2ggcmVuZGVycyBpbnRvIGFuIEF1
ZGlvQnVmZmVyLgogICAgICAgICAvLyBuZXcgQXVkaW9Db250ZXh0KGluIHVuc2lnbmVkIGxvbmcg
bnVtYmVyT2ZDaGFubmVscywgaW4gdW5zaWduZWQgbG9uZyBudW1iZXJPZkZyYW1lcywgaW4gZmxv
YXQgc2FtcGxlUmF0ZSk7Ci0gICAgICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwKKyAgICAgICAgZG9jdW1lbnQuYWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywKICAg
ICAgICAgICAgICJEZXByZWNhdGVkIEF1ZGlvQ29udGV4dCBjb25zdHJ1Y3RvcjogdXNlIE9mZmxp
bmVBdWRpb0NvbnRleHQgaW5zdGVhZCIpOwogCiAgICAgICAgIGlmIChleGVjLT5hcmd1bWVudENv
dW50KCkgPCAzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0
b21YUGF0aE5TUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0
b21YUGF0aE5TUmVzb2x2ZXIuY3BwCmluZGV4IGYxYjYzZjguLjRjMTBlMDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5j
cHAKQEAgLTgxLDcgKzgxLDcgQEAgU3RyaW5nIEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29r
dXBOYW1lc3BhY2VVUkkoY29uc3QgU3RyaW5nJiBwcmVmaXgpCiAgICAgICAgIGlmIChjYWxsVHlw
ZSA9PSBDYWxsVHlwZU5vbmUpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtp
dC5vcmcvYi8xMTQzMTI+IEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VV
UkkgQ29uc29sZSBNZXNzYWdlIHNob3VsZCBpbmNsdWRlIExpbmUsIENvbHVtbiwgYW5kIFNvdXJj
ZVVSTAogICAgICAgICAgICAgaWYgKFBhZ2VDb25zb2xlKiBjb25zb2xlID0gbV9nbG9iYWxPYmpl
Y3QtPmltcGwoKS5wYWdlQ29uc29sZSgpKQotICAgICAgICAgICAgICAgIGNvbnNvbGUtPmFkZE1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlhQYXRoTlNSZXNvbHZl
ciBkb2VzIG5vdCBoYXZlIGEgbG9va3VwTmFtZXNwYWNlVVJJIG1ldGhvZC4iKTsKKyAgICAgICAg
ICAgICAgICBjb25zb2xlLT5hZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2
ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIlhQYXRoTlNSZXNvbHZlciBkb2VzIG5vdCBoYXZlIGEg
bG9va3VwTmFtZXNwYWNlVVJJIG1ldGhvZC4iKSk7CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5n
KCk7CiAgICAgICAgIH0KICAgICAgICAgZnVuY3Rpb24gPSBtX2N1c3RvbVJlc29sdmVyLmdldCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKaW5kZXggNTgy
MjFkMC4uNTYzMzg5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01CaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRp
bmcuY3BwCkBAIC0zNCw4ICszNCw4IEBACiAjaW5jbHVkZSAiSlNET01XaW5kb3dDdXN0b20uaCIK
ICNpbmNsdWRlICJKU0V4Y2VwdGlvbkJhc2UuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5o
IgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5j
bHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDxpbnRl
cnByZXRlci9JbnRlcnByZXRlci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmg+
CiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgpAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUg
PHd0Zi9NYXRoRXh0cmFzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7Cit1c2luZyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAppbmRleCAxOWE3ODAw
Li5jMTViY2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRs
ZUNyeXB0b0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0
bGVDcnlwdG9DdXN0b20uY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNy
eXB0bzo6ZW5jcnlwdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVF
cnJvcihleGVjKTsKIAogICAgIGlmICgha2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VFbmNyeXB0
KSkgewotICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRl
ICdlbmNyeXB0JyIpOworICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwo
IktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ2VuY3J5cHQnIikpOwogICAgICAgICBzZXRET01F
eGNlcHRpb24oZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKICAgICB9CkBAIC0yMDIsNyArMjAyLDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0
bzo6ZGVjcnlwdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJv
cihleGVjKTsKIAogICAgIGlmICgha2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VEZWNyeXB0KSkg
ewotICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICdk
ZWNyeXB0JyIpOworICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktl
eSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ2RlY3J5cHQnIikpOwogICAgICAgICBzZXRET01FeGNl
cHRpb24oZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRlZmlu
ZWQoKTsKICAgICB9CkBAIC0yNTMsNyArMjUzLDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6
c2lnbihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVj
KTsKIAogICAgIGlmICgha2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VTaWduKSkgewotICAgICAg
ICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICdzaWduJyIpOwor
ICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktleSB1c2FnZXMgZG8g
bm90IGluY2x1ZGUgJ3NpZ24nIikpOwogICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgTk9U
X1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICB9CkBA
IC0zMDQsNyArMzA0LDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6dmVyaWZ5KEV4ZWNTdGF0
ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYg
KCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZVZlcmlmeSkpIHsKLSAgICAgICAgbV9pbXBsLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAndmVyaWZ5JyIpOworICAgICAgICBt
X2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBN
ZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktleSB1c2FnZXMgZG8gbm90IGluY2x1
ZGUgJ3ZlcmlmeSciKSk7CiAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBOT1RfU1VQUE9S
VEVEX0VSUik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0KQEAgLTYzOSw3
ICs2MzksNyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjp3cmFwS2V5KEV4ZWNTdGF0ZSogZXhl
YykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCF3cmFw
cGluZ0tleS0+YWxsb3dzKENyeXB0b0tleVVzYWdlV3JhcEtleSkpIHsKLSAgICAgICAgbV9pbXBs
LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCAiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAnd3JhcEtleSciKTsKKyAgICAg
ICAgbV9pbXBsLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpK
UywgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJLZXkgdXNhZ2VzIGRvIG5vdCBp
bmNsdWRlICd3cmFwS2V5JyIpKTsKICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIE5PVF9T
VVBQT1JURURfRVJSKTsKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgfQpAQCAt
NzE4LDcgKzcxOCw3IEBAIEpTVmFsdWUgSlNTdWJ0bGVDcnlwdG86OnVud3JhcEtleShFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjKTsKIAogICAgIGlm
ICghdW53cmFwcGluZ0tleS0+YWxsb3dzKENyeXB0b0tleVVzYWdlVW53cmFwS2V5KSkgewotICAg
ICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd1bndyYXBL
ZXknIik7CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVz
YWdlcyBkbyBub3QgaW5jbHVkZSAndW53cmFwS2V5JyIpKTsKICAgICAgICAgc2V0RE9NRXhjZXB0
aW9uKGV4ZWMsIE5PVF9TVVBQT1JURURfRVJSKTsKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVk
KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9s
bGVyLmNwcAppbmRleCBiZDU4YjgyLi5kYWRlYjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQbHVnaW5WaWV3
LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNl
Q29kZS5oIgogI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUg
IlNldHRpbmdzLmgiCkBAIC01MCw2ICs0OSw3IEBACiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0
VmFsdWUuaD4KICNpbmNsdWRlIDxkZWJ1Z2dlci9EZWJ1Z2dlci5oPgogI2luY2x1ZGUgPGhlYXAv
U3Ryb25nSW5saW5lcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4K
ICNpbmNsdWRlIDxydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaD4KICNpbmNsdWRlIDxydW50
aW1lL0pTTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KQEAgLTQ4Miw3ICs0ODIs
NyBAQCBib29sIFNjcmlwdENvbnRyb2xsZXI6OmNhbkV4ZWN1dGVTY3JpcHRzKFJlYXNvbkZvckNh
bGxpbmdDYW5FeGVjdXRlU2NyaXB0cyByZWFzbwogICAgIGlmIChtX2ZyYW1lLmRvY3VtZW50KCkg
JiYgbV9mcmFtZS5kb2N1bWVudCgpLT5pc1NhbmRib3hlZChTYW5kYm94U2NyaXB0cykpIHsKICAg
ICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25z
b2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAzMjc0IGV4aXN0cy4KICAgICAgICAgaWYgKHJlYXNvbiA9PSBBYm91dFRvRXhlY3V0
ZVNjcmlwdCkKLSAgICAgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgc2Ny
aXB0IGV4ZWN1dGlvbiBpbiAnIiArIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nQ2Vu
dGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIHRoZSBkb2N1bWVudCdzIGZyYW1l
IGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBz
ZXQuIik7CisgICAgICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQmxvY2tlZCBz
Y3JpcHQgZXhlY3V0aW9uIGluICciICsgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmdD
ZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgdGhlIGRvY3VtZW50J3MgZnJh
bWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90
IHNldC4iKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAxY2U1NDRh
Li5jNDc0ZGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzAzNiw5ICszMDM2LDkgQEAgc3ViIEdlbmVyYXRlQ2FsbFdp
dGgKICAgICAgICAgcHVzaChAY2FsbFdpdGhBcmdzLCAic2NyaXB0Q29udGV4dCIpOwogICAgIH0K
ICAgICBpZiAoJGZ1bmN0aW9uIGFuZCAkY29kZUdlbmVyYXRvci0+RXh0ZW5kZWRBdHRyaWJ1dGVD
b250YWlucygkY2FsbFdpdGgsICJTY3JpcHRBcmd1bWVudHMiKSkgewotICAgICAgICBwdXNoKEAk
b3V0cHV0QXJyYXksICIgICAgUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gc2NyaXB0QXJndW1lbnRz
KGNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhleGVjLCAiIC4gQHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9
IC4gIikpO1xuIik7Ci0gICAgICAgICRpbXBsSW5jbHVkZXN7IlNjcmlwdEFyZ3VtZW50cy5oIn0g
PSAxOwotICAgICAgICAkaW1wbEluY2x1ZGVzeyJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgifSA9
IDE7CisgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSZWZQdHI8SW5zcGVjdG9yOjpT
Y3JpcHRBcmd1bWVudHM+IHNjcmlwdEFyZ3VtZW50cyhJbnNwZWN0b3I6OmNyZWF0ZVNjcmlwdEFy
Z3VtZW50cyhleGVjLCAiIC4gQHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9IC4gIikpO1xuIik7Cisg
ICAgICAgICRpbXBsSW5jbHVkZXN7IjxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+In0gPSAx
OworICAgICAgICAkaW1wbEluY2x1ZGVzeyI8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuaD4ifSA9IDE7CiAgICAgICAgIHB1c2goQGNhbGxXaXRoQXJncywgInNjcmlwdEFyZ3VtZW50
cy5yZWxlYXNlKCkiKTsKICAgICB9CiAgICAgcmV0dXJuIEBjYWxsV2l0aEFyZ3M7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3Bw
CmluZGV4IDI4ZjUyNzguLjc3OTJiNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC00NCwxNCArNDQsMTQgQEAK
ICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5jbHVk
ZSAiU1ZHU3RhdGljUHJvcGVydHlUZWFyT2ZmLmgiCi0jaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRz
LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlw
dFByb2ZpbGUuaCIKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRlc3RPYmouaCIKICNpbmNsdWRlICJVUkwuaCIKICNp
bmNsdWRlICJib29sLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oPgor
I2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8
cnVudGltZS9FcnJvci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNBcnJheS5oPgogI2luY2x1ZGUg
PHJ1bnRpbWUvSlNTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggODM3ZDBh
Mi4uMTc0MmU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTExNDg4LDcgKzExNDg4
LDcgQEAgdm9pZCBDU1NQYXJzZXI6OmxvZ0Vycm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50
IGxpbmVOdW1iZXIpCiB7CiAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDMx
Mz4gQ1NTIHBhcnNlciBjb25zb2xlIG1lc3NhZ2UgZXJyb3JzIHNob3VsZCBpbmNsdWRlIGNvbHVt
biBudW1iZXJzLgogICAgIFBhZ2VDb25zb2xlJiBjb25zb2xlID0gbV9zdHlsZVNoZWV0LT5zaW5n
bGVPd25lckRvY3VtZW50KCktPnBhZ2UoKS0+Y29uc29sZSgpOwotICAgIGNvbnNvbGUuYWRkTWVz
c2FnZShDU1NNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBtX3N0
eWxlU2hlZXQtPmJhc2VVUkwoKS5zdHJpbmcoKSwgbGluZU51bWJlciArIDEsIDApOworICAgIGNv
bnNvbGUuYWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpDU1MsIE1lc3NhZ2VMZXZlbDo6V2Fybmlu
ZywgbWVzc2FnZSwgbV9zdHlsZVNoZWV0LT5iYXNlVVJMKCkuc3RyaW5nKCksIGxpbmVOdW1iZXIg
KyAxLCAwKTsKIH0KIAogUGFzc1JlZlB0cjxTdHlsZVJ1bGVLZXlmcmFtZXM+IENTU1BhcnNlcjo6
Y3JlYXRlS2V5ZnJhbWVzUnVsZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8VmVjdG9y
PFJlZlB0cjxTdHlsZUtleWZyYW1lPj4+IHBvcEtleWZyYW1lcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlz
dC5jcHAKaW5kZXggMjBmOTI4ZC4uM2NhMTFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAK
QEAgLTMxMCw3ICszMTAsNyBAQCBzdGF0aWMgdm9pZCBhZGRSZXNvbHV0aW9uV2FybmluZ01lc3Nh
Z2VUb0NvbnNvbGUoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbgogCiAgICAgbWVzc2Fn
ZS5hcHBlbmQoc2VyaWFsaXplZEV4cHJlc3Npb24pOwogCi0gICAgZG9jdW1lbnQtPmFkZENvbnNv
bGVNZXNzYWdlKENTU01lc3NhZ2VTb3VyY2UsIERlYnVnTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsK
KyAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6Q1NTLCBNZXNz
YWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdlKTsKIH0KIAogdm9pZCByZXBvcnRNZWRpYVF1ZXJ5V2Fy
bmluZ0lmTmVlZGVkKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgTWVkaWFRdWVyeVNldCogbWVk
aWFRdWVyeVNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDJhZTE2NWYuLmRmMjhiYjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjAsOSArNjAsNiBAQAogI2luY2x1ZGUgIkZy
YW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKLSNpbmNsdWRlICJIYXNoQ2hhbmdlRXZlbnQuaCIKLSNpbmNsdWRlICJIaXN0
b2dyYW1TdXBwb3J0LmgiCi0jaW5jbHVkZSAiSGlzdG9yeS5oIgogI2luY2x1ZGUgIkhUTUxBbGxD
b2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKICNpbmNsdWRlICJI
VE1MQmFzZUVsZW1lbnQuaCIKQEAgLTg2LDYgKzgzLDkgQEAKICNpbmNsdWRlICJIVE1MU3R5bGVF
bGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRpdGxlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUVFBQ
YXJzZXJzLmgiCisjaW5jbHVkZSAiSGFzaENoYW5nZUV2ZW50LmgiCisjaW5jbHVkZSAiSGlzdG9n
cmFtU3VwcG9ydC5oIgorI2luY2x1ZGUgIkhpc3RvcnkuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVz
dWx0LmgiCiAjaW5jbHVkZSAiSWNvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJJbWFnZUxvYWRl
ci5oIgpAQCAtMTIyLDcgKzEyMiw2IEBACiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oIgogI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2NvcGVkRXZlbnRR
dWV1ZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRSdW5uZXIuaCIKICNpbmNsdWRlICJTY3JpcHRT
b3VyY2VDb2RlLmgiCkBAIC0xNDksNiArMTQ4LDcgQEAKICNpbmNsdWRlICJYUGF0aE5TUmVzb2x2
ZXIuaCIKICNpbmNsdWRlICJYUGF0aFJlc3VsdC5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgi
CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9D
dXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9UZW1wb3JhcnlDaGFuZ2UuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdCdWZmZXIuaD4KQEAgLTI1NzYsOSArMjU3Niw5IEBAIEV2ZW50VGFy
Z2V0KiBEb2N1bWVudDo6ZXJyb3JFdmVudFRhcmdldCgpCiAgICAgcmV0dXJuIG1fZG9tV2luZG93
LmdldCgpOwogfQogCi12b2lkIERvY3VtZW50Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3Qg
U3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51
bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxT
dGFjaykKK3ZvaWQgRG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcm
IGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBp
bnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiBj
YWxsU3RhY2spCiB7Ci0gICAgYWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVy
LCBjYWxsU3RhY2spOworICAgIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VM
ZXZlbDo6RXJyb3IsIGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5O
dW1iZXIsIGNhbGxTdGFjayk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnNldFVSTChjb25zdCBVUkwm
IHVybCkKQEAgLTI4NDMsNyArMjg0Myw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1
aXYoY29uc3QgU3RyaW5nJiBlcXVpdiwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogICAgICAgICAg
ICAgICAgIC8vIGludGVudCwgd2UgbXVzdCBuYXZpZ2F0ZSBhd2F5IGZyb20gdGhlIHBvc3NpYmx5
IHBhcnRpYWxseS1yZW5kZXJlZCBkb2N1bWVudCB0byBhIGxvY2F0aW9uIHRoYXQKICAgICAgICAg
ICAgICAgICAvLyBkb2Vzbid0IGluaGVyaXQgdGhlIHBhcmVudCdzIFNlY3VyaXR5T3JpZ2luLgog
ICAgICAgICAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCkuc2NoZWR1bGVMb2Nh
dGlvbkNoYW5nZShzZWN1cml0eU9yaWdpbigpLCBTZWN1cml0eU9yaWdpbjo6dXJsV2l0aFVuaXF1
ZVNlY3VyaXR5T3JpZ2luKCksIFN0cmluZygpKTsKLSAgICAgICAgICAgICAgICBhZGRDb25zb2xl
TWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdl
LCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgYWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UsIHJl
cXVlc3RJZGVudGlmaWVyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UoZXF1aXYsICJjb250ZW50LXNlY3VyaXR5LXBvbGljeSIpKQpA
QCAtNDgzOSw3ICs0ODM5LDcgQEAgdm9pZCBEb2N1bWVudDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QKICAgICAgICAgcGFn
ZS0+Y29uc29sZSgpLmFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgcmVxdWVzdElk
ZW50aWZpZXIsIHRoaXMpOwogfQogCi12b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNv
bHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgSlNDOjpF
eGVjU3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9pZCBE
b2N1bWVudDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNp
Z25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCB1
bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewogICAgIGlmICghaXNDb250ZXh0VGhy
ZWFkKCkpIHsKICAgICAgICAgcG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUo
c291cmNlLCBsZXZlbCwgbWVzc2FnZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAzMWIwNjc5
Li4zNmQ2YTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTE0Myw3ICsxMTQzLDcgQEAgcHVi
bGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0
KCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pIG92
ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJl
ciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFj
az4pIG92ZXJyaWRlOwogCiAgICAgdm9pZCBpbml0RE5TUHJlZmV0Y2goKTsKIApAQCAtMTI2Niw3
ICsxMjY2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVmU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpIG92ZXJyaWRlIHsgcmVmKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9CiAKLSAgICB2aXJ0dWFs
IHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBKU0M6
OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1
bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGRvdWJs
ZSBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RWxlbWVudC5jcHAKaW5kZXggZDdiMmI3NC4uZGZkN2Q2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFbGVtZW50LmNwcApAQCAtMjQsOSArMjQsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlNjcmlwdEVsZW1lbnQuaCIKIAotI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5o
IgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiQ29u
dGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9s
LmgiCiAjaW5jbHVkZSAiQ3VycmVudFNjcmlwdEluY3JlbWVudGVyLmgiCkBAIC0zOCw3ICszOCw2
IEBACiAjaW5jbHVkZSAiSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCIK
ICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1
ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJTY3JpcHRSdW5uZXIuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCkBA
IC00Nyw2ICs0Niw3IEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJUZXh0Tm9k
ZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+CisjaW5jbHVk
ZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSGFzaC5oPgpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgU2NyaXB0RWxlbWVu
dDo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQogCiAj
aWYgRU5BQkxFKE5PU05JRkYpCiAgICAgaWYgKG1faXNFeHRlcm5hbFNjcmlwdCAmJiBtX2NhY2hl
ZFNjcmlwdCAmJiAhbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBlQWxsb3dlZEJ5Tm9zbmlmZigpKSB7
Ci0gICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0
eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiUmVmdXNlZCB0byBleGVjdXRlIHNj
cmlwdCBmcm9tICciICsgbV9jYWNoZWRTY3JpcHQtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6
ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSBpdHMgTUlNRSB0eXBlICgnIiArIG1fY2FjaGVkU2Ny
aXB0LT5taW1lVHlwZSgpICsgIicpIGlzIG5vdCBleGVjdXRhYmxlLCBhbmQgc3RyaWN0IE1JTUUg
dHlwZSBjaGVja2luZyBpcyBlbmFibGVkLiIpOworICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50
KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZl
bDo6RXJyb3IsICJSZWZ1c2VkIHRvIGV4ZWN1dGUgc2NyaXB0IGZyb20gJyIgKyBtX2NhY2hlZFNj
cmlwdC0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNl
IGl0cyBNSU1FIHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBlKCkgKyAiJykgaXMg
bm90IGV4ZWN1dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNoZWNraW5nIGlzIGVuYWJsZWQu
Iik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKQEAgLTM1MSw3ICszNTEsNyBAQCB2
b2lkIFNjcmlwdEVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJj
ZSkKIAogICAgICAgICBkaXNwYXRjaEVycm9yRXZlbnQoKTsKICAgICAgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJDcm9zcy1vcmln
aW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBv
bGljeS4iKSkpOwotICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOwor
ICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGNvbnNvbGVNZXNzYWdlKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuY3BwCmluZGV4IGNhNjA0MWYuLjM2NjUyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTMzLDEwICszMywxMCBAQAogI2luY2x1
ZGUgIkVycm9yRXZlbnQuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUgIlB1
YmxpY1VSTE1hbmFnZXIuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAi
V29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgog
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogCkBAIC01
MSw2ICs1MSw4IEBACiAjaW5jbHVkZSAiRGF0YWJhc2VDb250ZXh0LmgiCiAjZW5kaWYKIAordXNp
bmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQ
cm9jZXNzTWVzc2FnZXNTb29uVGFzayA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpU
YXNrIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4
IDFjN2YwZGEuLmI1YmY4MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaApAQCAtMjksMTAgKzI5LDEwIEBACiAjZGVmaW5lIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRfaAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5jbHVkZSAiQ29uc29s
ZVR5cGVzLmgiCi0jaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlDb250ZXh0Lmgi
CiAjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKyNpbmNsdWRlICJVUkwuaCIKKyNpbmNsdWRl
IDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC00MCw2ICs0MCwxMCBAQCBjbGFzcyBFeGVjU3RhdGU7CiBjbGFz
cyBWTTsKIH0KIAorbmFtZXNwYWNlIEluc3BlY3RvciB7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2s7
Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkU2NyaXB0OwpAQCAtNDks
NyArNTMsNiBAQCBjbGFzcyBFdmVudExpc3RlbmVyOwogY2xhc3MgRXZlbnRRdWV1ZTsKIGNsYXNz
IEV2ZW50VGFyZ2V0OwogY2xhc3MgTWVzc2FnZVBvcnQ7Ci1jbGFzcyBTY3JpcHRDYWxsU3RhY2s7
CiAKICNpZiBFTkFCTEUoQkxPQikKIGNsYXNzIFB1YmxpY1VSTE1hbmFnZXI7CkBAIC03NSw3ICs3
OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2FuaXRpemVTY3JpcHRFcnJvcihTdHJpbmcmIGVy
cm9yTWVzc2FnZSwgaW50JiBsaW5lTnVtYmVyLCBpbnQmIGNvbHVtbk51bWJlciwgU3RyaW5nJiBz
b3VyY2VVUkwsIENhY2hlZFNjcmlwdCogPSAwKTsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJr
aXQub3JnL2IvMTE0MzE1PiBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGxvZyBleGNlcHRpb24gc2hv
dWxkIGluY2x1ZGUgYSBjb2x1bW4gbnVtYmVyCi0gICAgdm9pZCByZXBvcnRFeGNlcHRpb24oY29u
c3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBD
YWNoZWRTY3JpcHQqID0gMCk7CisgICAgdm9pZCByZXBvcnRFeGNlcHRpb24oY29uc3QgU3RyaW5n
JiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBT
dHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4s
IENhY2hlZFNjcmlwdCogPSAwKTsKIAogICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIs
IEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAw
KTsKICAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIgPSAwKSA9IDA7CkBAIC0xNzcsOSArMTgwLDkgQEAgcHJvdGVjdGVkOgogICAgIEFj
dGl2ZURPTU9iamVjdDo6UmVhc29uRm9yU3VzcGVuc2lvbiByZWFzb25Gb3JTdXNwZW5kaW5nQWN0
aXZlRE9NT2JqZWN0cygpIGNvbnN0IHsgcmV0dXJuIG1fcmVhc29uRm9yU3VzcGVuZGluZ0FjdGl2
ZURPTU9iamVjdHM7IH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51
bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1
bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5z
aWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNr
PiwgSlNDOjpFeGVjU3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDApID0gMDsKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCkgPSAw
OwotICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBl
cnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50
IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVt
YmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPikgPSAwOwogICAgIGJv
b2wgZGlzcGF0Y2hFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGlu
ZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIENhY2hl
ZFNjcmlwdCopOwogCiAgICAgdm9pZCBjbG9zZU1lc3NhZ2VQb3J0cygpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKaW5kZXggMmM5NTM5ZC4uMGY2YzA4MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCkBAIC00NDgsMTUgKzQ0OCwxNSBA
QCBzdGF0aWMgTWVzc2FnZUxldmVsIHZpZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwoVmlld3BvcnRF
cnJvckNvZGUgZXJyb3JDb2RlKQogewogICAgIHN3aXRjaCAoZXJyb3JDb2RlKSB7CiAgICAgY2Fz
ZSBUcnVuY2F0ZWRWaWV3cG9ydEFyZ3VtZW50VmFsdWVFcnJvcjoKLSAgICAgICAgcmV0dXJuIFdh
cm5pbmdNZXNzYWdlTGV2ZWw7CisgICAgICAgIHJldHVybiBNZXNzYWdlTGV2ZWw6Oldhcm5pbmc7
CiAgICAgY2FzZSBVbnJlY29nbml6ZWRWaWV3cG9ydEFyZ3VtZW50S2V5RXJyb3I6CiAgICAgY2Fz
ZSBVbnJlY29nbml6ZWRWaWV3cG9ydEFyZ3VtZW50VmFsdWVFcnJvcjoKICAgICBjYXNlIE1heGlt
dW1TY2FsZVRvb0xhcmdlRXJyb3I6Ci0gICAgICAgIHJldHVybiBFcnJvck1lc3NhZ2VMZXZlbDsK
KyAgICAgICAgcmV0dXJuIE1lc3NhZ2VMZXZlbDo6RXJyb3I7CiAgICAgfQogCiAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEVycm9yTWVzc2FnZUxldmVsOworICAgIHJldHVy
biBNZXNzYWdlTGV2ZWw6OkVycm9yOwogfQogCiB2b2lkIHJlcG9ydFZpZXdwb3J0V2FybmluZyhE
b2N1bWVudCogZG9jdW1lbnQsIFZpZXdwb3J0RXJyb3JDb2RlIGVycm9yQ29kZSwgY29uc3QgU3Ry
aW5nJiByZXBsYWNlbWVudDEsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnQyKQpAQCAtNDc1LDcg
KzQ3NSw3IEBAIHZvaWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1bWVudCwg
Vmlld3BvcnRFcnJvckNvZGUgZXJyb3JDb2RlLCBjb25zCiAgICAgICAgIG1lc3NhZ2UuYXBwZW5k
KCIgTm90ZSB0aGF0ICc7JyBpcyBub3QgYSBzZXBhcmF0b3IgaW4gdmlld3BvcnQgdmFsdWVzLiBU
aGUgbGlzdCBzaG91bGQgYmUgY29tbWEtc2VwYXJhdGVkLiIpOwogCiAgICAgLy8gRklYTUU6IFRo
aXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlv
biB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0
cy4KLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJj
ZSwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdlKTsKKyAgICBk
b2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6UmVuZGVyaW5nLCB2aWV3
cG9ydEVycm9yTWVzc2FnZUxldmVsKGVycm9yQ29kZSksIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAppbmRleCA2NzI2YmY0Li42MzQx
ZDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRl
ICJCbG9iVVJMLmgiCiAjaW5jbHVkZSAiRmlsZS5oIgogI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBv
cnQuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oIgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJL
aXRCbG9iQnVpbGRlci5jcHAKaW5kZXggYzQ3ZWIxZi4uOGE0NTgwNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICAq
LwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KICNpbmNsdWRlICJXZWJLaXRCbG9iQnVpbGRlci5o
IgogCiAjaW5jbHVkZSAiQmxvYi5oIgpAQCAtMzgsNyArMzcsNiBAQAogI2luY2x1ZGUgIkZpbGUu
aCIKICNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiTGluZUVuZGluZy5o
IgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlRleHRFbmNvZGluZy5o
IgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDxydW50aW1lL0Fy
cmF5QnVmZmVyVmlldy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9s
RWxlbWVudC5jcHAKaW5kZXggZTYxMDIyOS4uNjM4ODEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0xODAsNyArMTgwLDcgQEAgc3Rh
dGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGVsZW1lbnQp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZWxlbWVudC0+ZG9jdW1lbnQoKS5pc1Nh
bmRib3hlZChTYW5kYm94QXV0b21hdGljRmVhdHVyZXMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBU
aGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRp
b24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlz
dHMuCi0gICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJp
dHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXV0b2ZvY3VzaW5n
IG9uIGEgZm9ybSBjb250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQg
YW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAgICAg
ICBlbGVtZW50LT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNl
Y3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgYXV0b2Zv
Y3VzaW5nIG9uIGEgZm9ybSBjb250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5k
Ym94ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpKTsK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBpZiAoZWxlbWVudC0+aGFzQXV0b2Zv
Y3VzZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCAxMzJl
ZDkxLi42MGExMzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBA
IC0yNTMsNyArMjUzLDcgQEAgYm9vbCBIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3Rp
dmVseShFdmVudCogZXZlbnQpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAg
ICBTdHJpbmcgbWVzc2FnZSgiQW4gaW52YWxpZCBmb3JtIGNvbnRyb2wgd2l0aCBuYW1lPSclbmFt
ZScgaXMgbm90IGZvY3VzYWJsZS4iKTsKICAgICAgICAgICAgIG1lc3NhZ2UucmVwbGFjZSgiJW5h
bWUiLCBjb250cm9sLm5hbWUoKSk7Ci0gICAgICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVN
ZXNzYWdlKFJlbmRlcmluZ01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdl
KTsKKyAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZTo6UmVuZGVyaW5nLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKICAgICAgICAgfQog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAppbmRleCBh
MmY5ZDEwLi40MTgxMzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJh
bWVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50
LmNwcApAQCAtODEsNyArODEsNyBAQCB2b2lkIEhUTUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdAogICAgICAgICBT
dHJpbmcgaW52YWxpZFRva2VuczsKICAgICAgICAgc2V0U2FuZGJveEZsYWdzKHZhbHVlLmlzTnVs
bCgpID8gU2FuZGJveE5vbmUgOiBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeSh2
YWx1ZSwgaW52YWxpZFRva2VucykpOwogICAgICAgICBpZiAoIWludmFsaWRUb2tlbnMuaXNOdWxs
KCkpCi0gICAgICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2Fn
ZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciB3aGlsZSBwYXJzaW5nIHRoZSAnc2Fu
ZGJveCcgYXR0cmlidXRlOiAiICsgaW52YWxpZFRva2Vucyk7CisgICAgICAgICAgICBkb2N1bWVu
dCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6
OkVycm9yLCAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTogIiAr
IGludmFsaWRUb2tlbnMpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBzZWFtbGVzc0F0dHIpIHsK
ICAgICAgICAgLy8gSWYgd2UncmUgYWRkaW5nIG9yIHJlbW92aW5nIHRoZSBzZWFtbGVzcyBhdHRy
aWJ1dGUsIHdlIG5lZWQgdG8gZm9yY2UgdGhlIGNvbnRlbnQgZG9jdW1lbnQgdG8gcmVjYWxjdWxh
dGUgaXRzIFN0eWxlUmVzb2x2ZXIuCiAgICAgICAgIGlmIChjb250ZW50RG9jdW1lbnQoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDlmOTk3YjAuLmMyY2Qx
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjc0Nyw3
ICsyNzQ3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRHZW5lcmF0ZUtleVJlcXVl
c3QoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWYKICNpZiBFTkFCTEUoRU5DUllQVEVE
X01FRElBX1YyKQogICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9IHRydWU7CiAgICAgaWYgKGZp
cnN0VGltZSAmJiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5p
bmdNZXNzYWdlTGV2ZWwsICInSFRNTE1lZGlhRWxlbWVudC53ZWJraXRHZW5lcmF0ZUtleVJlcXVl
c3QoKScgaXMgZGVwcmVjYXRlZC4gIFVzZSAnTWVkaWFLZXlzLmNyZWF0ZVNlc3Npb24oKScgaW5z
dGVhZC4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVz
c2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBBU0NJSUxpdGVy
YWwoIidIVE1MTWVkaWFFbGVtZW50LndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgpJyBpcyBkZXBy
ZWNhdGVkLiAgVXNlICdNZWRpYUtleXMuY3JlYXRlU2Vzc2lvbigpJyBpbnN0ZWFkLiIpKTsKICAg
ICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAgfQogI2VuZGlmCkBAIC0yNzgzLDcgKzI3ODMs
NyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdEFkZEtleShjb25zdCBTdHJpbmcmIGtl
eVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50OEFycgogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUFf
VjIpCiAgICAgc3RhdGljIGJvb2wgZmlyc3RUaW1lID0gdHJ1ZTsKICAgICBpZiAoZmlyc3RUaW1l
ICYmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3Nh
Z2VMZXZlbCwgIidIVE1MTWVkaWFFbGVtZW50LndlYmtpdEFkZEtleSgpJyBpcyBkZXByZWNhdGVk
LiAgVXNlICdNZWRpYUtleVNlc3Npb24udXBkYXRlKCknIGluc3RlYWQuIik7CisgICAgICAgIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6
SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgQVNDSUlMaXRlcmFsKCInSFRNTE1lZGlhRWxlbWVu
dC53ZWJraXRBZGRLZXkoKScgaXMgZGVwcmVjYXRlZC4gIFVzZSAnTWVkaWFLZXlTZXNzaW9uLnVw
ZGF0ZSgpJyBpbnN0ZWFkLiIpKTsKICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAgfQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAppbmRleCA0N2Q4N2VkLi5lYWVkNzg0IDEwMDc1NQotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHAKQEAgLTE4NDgsNyArMTg0OCw3IEBAIFBhc3NSZWZQdHI8SW1hZ2VEYXRhPiBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ6OmdldEltYWdlRGF0YShJbWFnZUJ1ZmZlcjo6Q29vcmRpCiB7CiAgICAg
aWYgKCFjYW52YXMoKS0+b3JpZ2luQ2xlYW4oKSkgewogICAgICAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIlVuYWJsZSB0byBnZXQg
aW1hZ2UgZGF0YSBmcm9tIGNhbnZhcyBiZWNhdXNlIHRoZSBjYW52YXMgaGFzIGJlZW4gdGFpbnRl
ZCBieSBjcm9zcy1vcmlnaW4gZGF0YS4iKSkpOwotICAgICAgICBjYW52YXMoKS0+ZG9jdW1lbnQo
KS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxl
dmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLmFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9y
LCBjb25zb2xlTWVzc2FnZSk7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCAzODEwMzk5Li5hN2ZlZmI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAK
QEAgLTU1MjgsNyArNTUyOCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpwcmludFdh
cm5pbmdUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIGlmICghY2FudmFz
KCkpCiAgICAgICAgIHJldHVybjsKLSAgICBjYW52YXMoKS0+ZG9jdW1lbnQoKS5hZGRDb25zb2xl
TWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNz
YWdlKTsKKyAgICBjYW52YXMoKS0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpSZW5kZXJpbmcsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgbWVzc2FnZSk7CiB9CiAK
IGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUZyYW1lYnVmZmVyRnVuY1BhcmFt
ZXRlcnMoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVt
IGF0dGFjaG1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NB
dWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwCmlu
ZGV4IDFiZjVhMDkuLjExYmM1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL1hTU0F1ZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1
ZGl0b3IuY3BwCkBAIC0yODgsNyArMjg4LDcgQEAgdm9pZCBYU1NBdWRpdG9yOjppbml0KERvY3Vt
ZW50KiBkb2N1bWVudCwgWFNTQXVkaXRvckRlbGVnYXRlKiBhdWRpdG9yRGVsZWdhdGUpCiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKHhzc1Byb3RlY3Rpb25IZWFkZXIgPT0g
Q29udGVudFNlY3VyaXR5UG9saWN5OjpSZWZsZWN0ZWRYU1NJbnZhbGlkKQotICAgICAgICAgICAg
ZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJFcnJvciBwYXJzaW5nIGhlYWRlciBYLVhTUy1Qcm90ZWN0aW9uOiAiICsg
aGVhZGVyVmFsdWUgKyAiOiAiICArIGVycm9yRGV0YWlscyArICIgYXQgY2hhcmFjdGVyIHBvc2l0
aW9uICIgKyBTdHJpbmc6OmZvcm1hdCgiJXUiLCBlcnJvclBvc2l0aW9uKSArICIuIFRoZSBkZWZh
dWx0IHByb3RlY3Rpb25zIHdpbGwgYmUgYXBwbGllZC4iKTsKKyAgICAgICAgICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVs
OjpFcnJvciwgIkVycm9yIHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246ICIgKyBoZWFk
ZXJWYWx1ZSArICI6ICIgICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIgcG9zaXRpb24g
IiArIFN0cmluZzo6Zm9ybWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhlIGRlZmF1bHQg
cHJvdGVjdGlvbnMgd2lsbCBiZSBhcHBsaWVkLiIpOwogCiAgICAgICAgIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6UmVmbGVjdGVkWFNTRGlzcG9zaXRpb24gY3NwSGVhZGVyID0gZG9jdW1lbnQtPmNv
bnRlbnRTZWN1cml0eVBvbGljeSgpLT5yZWZsZWN0ZWRYU1NEaXNwb3NpdGlvbigpOwogICAgICAg
ICBtX2RpZFNlbmRWYWxpZENTUEhlYWRlciA9IGNzcEhlYWRlciAhPSBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OlJlZmxlY3RlZFhTU1Vuc2V0ICYmIGNzcEhlYWRlciAhPSBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OlJlZmxlY3RlZFhTU0ludmFsaWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcAppbmRleCBkMDYwNjliLi45Y2JhMDY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAK
QEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBYU1NBdWRpdG9yRGVsZWdhdGU6OmRpZEJsb2NrU2NyaXB0
KGNvbnN0IFhTU0luZm8mIHhzc0luZm8pCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
IAotICAgIG1fZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgYnVpbGRDb25zb2xlRXJyb3IoeHNzSW5mbywgbV9kb2N1bWVudC51cmwo
KS5zdHJpbmcoKSkpOworICAgIG1fZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGJ1aWxkQ29uc29sZUVycm9yKHhzc0luZm8s
IG1fZG9jdW1lbnQudXJsKCkuc3RyaW5nKCkpKTsKIAogICAgIEZyYW1lTG9hZGVyJiBmcmFtZUxv
YWRlciA9IG1fZG9jdW1lbnQuZnJhbWUoKS0+bG9hZGVyKCk7CiAgICAgaWYgKHhzc0luZm8ubV9k
aWRCbG9ja0VudGlyZVBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29tbWFuZExpbmVBUElIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5k
TGluZUFQSUhvc3QuY3BwCmluZGV4IDkyZjFkMjcuLmY0MDRhNTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCkBAIC0zOCw3ICszOCw2IEBA
CiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1l
bnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JD
b25zb2xlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRhdGFiYXNl
QWdlbnQuaCIKQEAgLTQ5LDYgKzQ4LDcgQEAKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1
ZS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDxp
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50Lmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29tbWFuZExpbmVBUElIb3N0LmgKaW5kZXggNmY5MDI1Zi4uNjUzZDYxMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaApAQCAtMzAsOCArMzAs
OCBAQAogI2lmbmRlZiBDb21tYW5kTGluZUFQSUhvc3RfaAogI2RlZmluZSBDb21tYW5kTGluZUFQ
SUhvc3RfaAogCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3Rh
dGUuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CkBAIC00Miw2ICs0Miw3IEBAIGNsYXNzIFNjcmlwdFZhbHVlOwogCiBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKIGNsYXNzIEluc3BlY3RvckFnZW50OworY2xhc3MgSW5zcGVj
dG9yQ29uc29sZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9y
VmFsdWU7CiB9CkBAIC00OSw3ICs1MCw2IEBAIGNsYXNzIEluc3BlY3RvclZhbHVlOwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBEYXRhYmFzZTsKLWNsYXNzIEluc3BlY3RvckNvbnNvbGVB
Z2VudDsKIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKQEAgLTY0LDcgKzY0LDcgQEAg
cHVibGljOgogICAgIH5Db21tYW5kTGluZUFQSUhvc3QoKTsKIAogICAgIHZvaWQgaW5pdChJbnNw
ZWN0b3I6Okluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JBZ2VudAotICAgICAgICAgICAgLCBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudAorICAgICAgICAgICAgLCBJbnNwZWN0b3I6
Okluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50CiAgICAgICAgICAgICAsIEluc3Bl
Y3RvckRPTUFnZW50KiBkb21BZ2VudAogICAgICAgICAgICAgLCBJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQqIGRvbVN0b3JhZ2VBZ2VudAogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCkBAIC0xMDgs
NyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICBDb21tYW5kTGluZUFQSUhvc3QoKTsKIAogICAgIElu
c3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7Ci0gICAgSW5zcGVjdG9y
Q29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKKyAgICBJbnNwZWN0b3I6Okluc3BlY3RvckNv
bnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1fZG9t
QWdlbnQ7CiAgICAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBtX2RvbVN0b3JhZ2VBZ2VudDsK
ICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBbGxJbk9uZS5jcHAKaW5kZXggZjcyNTIyMy4uYzVjN2E3OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCkBAIC03NCw2ICs3NCw3
IEBACiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmNwcCIKICNpbmNsdWRlICJTY3JpcHRDYWxs
U3RhY2suY3BwIgogI2luY2x1ZGUgIlRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAiCisjaW5jbHVk
ZSAiV2ViQ29uc29sZUFnZW50LmNwcCIKICNpbmNsdWRlICJXZWJEZWJ1Z2dlckFnZW50LmNwcCIK
ICNpbmNsdWRlICJXb3JrZXJDb25zb2xlQWdlbnQuY3BwIgogI2luY2x1ZGUgIldvcmtlckRlYnVn
Z2VyQWdlbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnNvbGVBZ2VudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDliYWQ4Li4wMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
aAorKysgL2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVm
IEluc3BlY3RvckNvbnNvbGVBZ2VudF9oCi0jZGVmaW5lIEluc3BlY3RvckNvbnNvbGVBZ2VudF9o
Ci0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCi0jaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgi
Ci0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViQWdlbnRC
YXNlLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViQmFja2VuZERpc3BhdGNoZXJzLmgiCi0jaW5j
bHVkZSAiSW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVycy5oIgotI2luY2x1ZGUgIlNjcmlw
dFN0YXRlLmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotY2xhc3MgQ29uc29sZU1lc3NhZ2U7Ci1jbGFzcyBET01XaW5kb3c7Ci1jbGFzcyBJbnN0
cnVtZW50aW5nQWdlbnRzOwotY2xhc3MgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlcjsKLWNsYXNz
IFJlc291cmNlRXJyb3I7Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwotY2xhc3MgU2NyaXB0QXJn
dW1lbnRzOwotY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwotY2xhc3MgU2NyaXB0UHJvZmlsZTsKLQot
dHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7Ci0KLWNsYXNzIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dCA6IHB1YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2UsIHB1YmxpYyBJbnNwZWN0b3I6Okluc3BlY3Rv
ckNvbnNvbGVCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckNvbnNvbGVBZ2VudCk7Ci1wdWJsaWM6Ci0gICAgSW5zcGVjdG9yQ29uc29s
ZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7
Ci0gICAgdmlydHVhbCB+SW5zcGVjdG9yQ29uc29sZUFnZW50KCk7Ci0KLSAgICB2aXJ0dWFsIHZv
aWQgZW5hYmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRpc2Fi
bGUoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgY2xlYXJNZXNzYWdl
cyhFcnJvclN0cmluZyopIG92ZXJyaWRlOwotICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fZW5hYmxlZDsgfQotICAgIHZvaWQgcmVzZXQoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBk
aWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JGcm9udGVuZENo
YW5uZWwqLCBJbnNwZWN0b3I6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7
Ci0gICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rv
cjo6SW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7Ci0KLSAgICB2b2lkIGFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwotICAgIHZv
aWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2NyaXB0SUQsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3RhdGUq
ID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwotCi0gICAg
Ly8gRklYTUU6IFJlbW92ZSBvbmNlIHdlIG5vIGxvbmdlciBnZW5lcmF0ZSBzdGFja3Mgb3V0c2lk
ZSBvZiBJbnNwZWN0b3IuCi0gICAgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFz
c1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
ID0gMCk7Ci0KLSAgICBWZWN0b3I8dW5zaWduZWQ+IGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3Vu
dHMoKTsKLQotICAgIHZvaWQgc3RhcnRUaW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSk7Ci0gICAg
dm9pZCBzdG9wVGltaW5nKGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2Fs
bFN0YWNrPik7Ci0gICAgdm9pZCBjb3VudChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPik7Ci0KLSAgICB2b2lkIGZyYW1lV2luZG93RGlzY2FyZGVkKERPTVdpbmRv
dyopOwotCi0gICAgdm9pZCBkaWRGaW5pc2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVu
c2lnbmVkIHNlbmRMaW5lTnVtYmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKTsKLSAgICB2
b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgdm9pZCBkaWRGYWlsTG9hZGluZyh1bnNpZ25l
ZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJik7Ci0gICAgdm9p
ZCBhZGRQcm9maWxlRmluaXNoZWRNZXNzYWdlVG9Db25zb2xlKFBhc3NSZWZQdHI8U2NyaXB0UHJv
ZmlsZT4sIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwpOwotICAgIHZvaWQgYWRkU3RhcnRQcm9maWxpbmdNZXNzYWdlVG9D
b25zb2xlKGNvbnN0IFN0cmluZyYgdGl0bGUsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVk
IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwotICAgIHZpcnR1YWwgdm9p
ZCBzZXRNb25pdG9yaW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkgb3Zl
cnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcqLCBp
bnQgbm9kZUlkKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZEhlYXBPYmplY3Qo
RXJyb3JTdHJpbmcqLCBpbnQgaW5zcGVjdGVkSGVhcE9iamVjdElkKSBvdmVycmlkZTsKLQotICAg
IHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgPSAwOwotCi1wcm90ZWN0ZWQ6Ci0gICAgdm9p
ZCBhZGRDb25zb2xlTWVzc2FnZShQYXNzT3duUHRyPENvbnNvbGVNZXNzYWdlPik7Ci0KLSAgICBQ
YWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsKLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNwYXRj
aGVyPiBtX2Zyb250ZW5kRGlzcGF0Y2hlcjsKLSAgICBSZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0
b3JDb25zb2xlQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7Ci0gICAgQ29u
c29sZU1lc3NhZ2UqIG1fcHJldmlvdXNNZXNzYWdlOwotICAgIFZlY3RvcjxPd25QdHI8Q29uc29s
ZU1lc3NhZ2U+PiBtX2NvbnNvbGVNZXNzYWdlczsKLSAgICBpbnQgbV9leHBpcmVkQ29uc29sZU1l
c3NhZ2VDb3VudDsKLSAgICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1fY291bnRzOwotICAg
IEhhc2hNYXA8U3RyaW5nLCBkb3VibGU+IG1fdGltZXM7Ci0gICAgYm9vbCBtX2VuYWJsZWQ7Ci0g
ICAgYm9vbCBtX21vbml0b3JpbmdYSFJFbmFibGVkOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQotI2VuZGlmIC8vICFkZWZpbmVk
KEluc3BlY3RvckNvbnNvbGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggZWVlNzg3
Yy4uMTQ2MGFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNk
ZWZpbmUgSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbl9oCiAKICNpbmNsdWRlICJJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCisj
aW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oPgorI2luY2x1ZGUgPGluc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYWdlLCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVz
c2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVx
dWVzdElkZW50aWZpZXIpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQ
YXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQpAQCAtNTUsNyArNTUsNyBAQCBpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVz
c2FnZVNvdQogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYWdlLCBNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFy
Z3VtZW50cywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKK2lubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYWdlLCBN
ZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0
cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzLCB1bnNpZ25lZCBsb25nIHJl
cXVlc3RJZGVudGlmaWVyKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yUGFnZShwYWdlKSkKQEAgLTkxLDcgKzkxLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VTb3UK
ICNlbmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1l
c3NhZ2VUb0NvbnNvbGUoV29ya2VyR2xvYmFsU2NvcGUqIHdvcmtlckdsb2JhbFNjb3BlLCBNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3Rh
Y2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCitpbmxpbmUgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2VyR2xvYmFsU2NvcGUq
IHdvcmtlckdsb2JhbFNjb3BlLCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlw
ZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8
SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1
ZXN0SWRlbnRpZmllcikKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
cldvcmtlckdsb2JhbFNjb3BlKHdvcmtlckdsb2JhbFNjb3BlKSkKQEAgLTEyNiw3ICsxMjYsNyBA
QCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNv
bGUoV29ya2VyR2xvYmFsU2NvcGUqIHdvcgogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZUNvdW50KFBhZ2UqIHBhZ2UsIEpTQzo6RXhlY1N0
YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKK2lubGlu
ZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZUNvdW50KFBhZ2UqIHBhZ2Us
IEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3Vt
ZW50cz4gYXJndW1lbnRzKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yUGFnZShwYWdlKSkKQEAgLTE0OSw3ICsxNDksNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OnN0YXJ0Q29uc29sZVRpbWluZyhGcmFtZSogZnJhbWUsIGNvbnN0IFN0
cgogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3Rv
cENvbnNvbGVUaW1pbmcoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXNzUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2spCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiB0
aXRsZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gc3RhY2spCiB7CiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCkBAIC0x
NjEsNyArMTYxLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdG9w
Q29uc29sZVRpbWluZyhGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmkKICNlbmRpZgogfQogCi1pbmxp
bmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVUaW1lU3RhbXAoRnJhbWUq
IGZyYW1lLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQoraW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlVGltZVN0YW1wKEZyYW1lKiBmcmFt
ZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewog
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZv
aWQoKSk7CkBAIC0xODcsNyArMTg3LDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjphZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGEKICNlbmRp
ZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZFByb2ZpbGUo
UGFnZSogcGFnZSwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHByb2ZpbGUsIFBhc3NSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmFkZFByb2ZpbGUoUGFnZSogcGFnZSwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHByb2Zp
bGUsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXgg
MjMzYjAzOC4uOTQ0MjQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkNvbW1hbmRM
aW5lQVBJSG9zdC5oIgogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkdy
YXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckNTU0FnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2FudmFzQWdlbnQuaCIKQEAgLTcyLDYg
KzcxLDcgQEAKICNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCiAjaW5jbHVk
ZSAiUGFnZVJ1bnRpbWVBZ2VudC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSA8
aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yQWdlbnQuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgpAQCAtMTQxLDggKzE0
MSw5IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSYgcGFn
ZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgbV9yZXNvdXJjZUFnZW50ID0gcmVz
b3VyY2VBZ2VudFB0ci5nZXQoKTsKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptb3ZlKHJlc291
cmNlQWdlbnRQdHIpKTsKIAotICAgIGF1dG8gY29uc29sZUFnZW50UHRyID0gc3RkOjptYWtlX3Vu
aXF1ZTxQYWdlQ29uc29sZUFnZW50PihtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1faW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpLCBtX2RvbUFnZW50KTsKLSAgICBJbnNwZWN0b3JDb25z
b2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGNvbnNvbGVBZ2VudFB0ci5nZXQoKTsKKyAgICBhdXRv
IGNvbnNvbGVBZ2VudFB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZUNvbnNvbGVBZ2VudD4obV9p
bmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCksIG1fZG9tQWdlbnQpOworICAgIFdlYkNvbnNvbGVB
Z2VudCogY29uc29sZUFnZW50ID0gY29uc29sZUFnZW50UHRyLmdldCgpOworICAgIG1faW5zdHJ1
bWVudGluZ0FnZW50cy0+c2V0V2ViQ29uc29sZUFnZW50KGNvbnNvbGVBZ2VudFB0ci5nZXQoKSk7
CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bW92ZShjb25zb2xlQWdlbnRQdHIpKTsKIAogICAg
IGF1dG8gZGVidWdnZXJBZ2VudFB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZURlYnVnZ2VyQWdl
bnQ+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpLCBtX2luc3RydW1lbnRpbmdBZ2VudHMu
Z2V0KCksIHBhZ2VBZ2VudCwgbV9vdmVybGF5LmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IGYyNGNhYWEuLmJmMDNlMTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAt
NjMsNyArNjMsNiBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxUZW1w
bGF0ZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCi0jaW5jbHVkZSAiSWRl
bnRpZmllcnNGYWN0b3J5LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySGlzdG9yeS5oIgogI2luY2x1
ZGUgIkluc3BlY3Rvck5vZGVGaW5kZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5Lmgi
CkBAIC05MSw2ICs5MCw3IEBACiAjaW5jbHVkZSAiWFBhdGhSZXN1bHQuaCIKICNpbmNsdWRlICJo
dG1sZWRpdGluZy5oIgogI2luY2x1ZGUgIm1hcmt1cC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9J
ZGVudGlmaWVyc0ZhY3RvcnkuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQu
aD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuaAppbmRleCA5ZGM2N2IwLi5hYjBlN2QzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCkBAIC0yOSw3ICsyOSw2
IEBACiAjaWZuZGVmIEluc3BlY3RvckZyb250ZW5kSG9zdF9oCiAjZGVmaW5lIEluc3BlY3RvckZy
b250ZW5kSG9zdF9oCiAKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJDb250
ZXh0TWVudS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51UHJvdmlkZXIuaCIKICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCAyMzVlY2NlLi5mMTU4OTIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcApAQCAtMzUsOCArMzUsNiBAQAogCiAjaW5jbHVkZSAiQ1NTUnVsZS5oIgogI2luY2x1ZGUg
IkNTU1N0eWxlUnVsZS5oIgotI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUg
IkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRPTVdy
YXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCkBAIC00Niw3ICs0NCw2IEBACiAj
aW5jbHVkZSAiSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yQ1NTQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDYW52YXNBZ2VudC5oIgotI2lu
Y2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFn
ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIgpAQCAtNjQsMTYgKzYxLDE4IEBACiAjaW5jbHVk
ZSAiUGFnZVJ1bnRpbWVBZ2VudC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1
ZGUgIlJlbmRlclZpZXcuaCIKLSNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKLSNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNs
dWRlICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKICNpbmNsdWRl
ICJXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlclJ1bnRpbWVBZ2VudC5oIgog
I2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0LmgiCisj
aW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9T
Y3JpcHRBcmd1bWVudHMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+
CiAjaW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg+CiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KQEAgLTE4Myw3ICsxODIsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
SW52YWxpZGF0ZVN0eWxlQXR0ckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaQogCiB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVXaW5kb3dEaXNjYXJkZWRJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIERPTVdpbmRvdyogd2luZG93KQogewot
ICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRp
bmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdl
bnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgp
KQogICAgICAgICBjb25zb2xlQWdlbnQtPmZyYW1lV2luZG93RGlzY2FyZGVkKHdpbmRvdyk7CiB9
CiAKQEAgLTYwMCw3ICs1OTksNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
UmVjZWl2ZVJlc291cmNlUmVzcG9uc2VJbXBsKGNvbnN0IEluc3BlY3RvcklucwogICAgIEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBjb29raWUuaW5zdHJ1bWVudGlu
Z0FnZW50cygpOwogICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50
ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQogICAgICAg
ICByZXNvdXJjZUFnZW50LT5kaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgbG9hZGVyLCBy
ZXNwb25zZSwgcmVzb3VyY2VMb2FkZXIpOwotICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQq
IGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2Vu
dCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRp
bmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPmRpZFJl
Y2VpdmVSZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25zZSk7IC8vIFRoaXMgc2hvdWxkIGNvbWUg
QUZURVIgcmVzb3VyY2Ugbm90aWZpY2F0aW9uLCBmcm9udC1lbmQgcmVsaWVzIG9uIHRoaXMuCiB9
CiAKQEAgLTY0NSw3ICs2NDQsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RmFpbExvYWRpbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbgogICAgICAgICB0
aW1lbGluZUFnZW50LT5kaWRGaW5pc2hMb2FkaW5nUmVzb3VyY2UoaWRlbnRpZmllciwgdHJ1ZSwg
MCwgbG9hZGVyLT5mcmFtZSgpKTsKICAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVz
b3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclJlc291cmNlQWdlbnQo
KSkKICAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkRmFpbExvYWRpbmcoaWRlbnRpZmllciwgbG9h
ZGVyLCBlcnJvcik7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50
ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgaWYg
KFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+d2Vi
Q29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlkRmFpbExvYWRpbmcoaWRl
bnRpZmllciwgZXJyb3IpOyAvLyBUaGlzIHNob3VsZCBjb21lIEFGVEVSIHJlc291cmNlIG5vdGlm
aWNhdGlvbiwgZnJvbnQtZW5kIHJlbGllcyBvbiB0aGlzLgogfQogCkBAIC02NjksNyArNjY4LDcg
QEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxYSFJMb2FkaW5nSW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnUKIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZEZpbmlzaFhIUkxvYWRpbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZywgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IFN0cmluZyYgc2VuZFVSTCwgdW5zaWduZWQgc2VuZExpbmVOdW1iZXIsIHVuc2ln
bmVkIHNlbmRDb2x1bW5OdW1iZXIpCiB7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCog
Y29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50
KCkpCisgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGlu
Z0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlkRmlu
aXNoWEhSTG9hZGluZyhpZGVudGlmaWVyLCB1cmwsIHNlbmRVUkwsIHNlbmRMaW5lTnVtYmVyLCBz
ZW5kQ29sdW1uTnVtYmVyKTsKICAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3Vy
Y2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkK
ICAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkRmluaXNoWEhSTG9hZGluZyhjbGllbnQsIGlkZW50
aWZpZXIsIHNvdXJjZVN0cmluZyk7CkBAIC03NTIsNyArNzUxLDcgQEAgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnQKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGxvYWRlci0+ZnJhbWUoKS0+aXNN
YWluRnJhbWUoKSkgewotICAgICAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xl
QWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAg
ICAgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgICAgICBjb25zb2xlQWdlbnQtPnJlc2V0
KCk7CiAKICAgICAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQg
PSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCkBAIC04NjIs
MTMgKzg2MSwxMyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkV3JpdGVIVE1M
SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25DbwogLy8gSmF2YVNjcmlwdENvcmUg
SW5zcGVjdG9yRGVidWdnZXJBZ2VudCBzaG91bGQga25vdyBDb25zb2xlIE1lc3NhZ2VUeXBlcy4K
IHN0YXRpYyBib29sIGlzQ29uc29sZUFzc2VydE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VUeXBlIHR5cGUpCiB7Ci0gICAgcmV0dXJuIHNvdXJjZSA9PSBDb25zb2xlQVBJTWVz
c2FnZVNvdXJjZSAmJiB0eXBlID09IEFzc2VydE1lc3NhZ2VUeXBlOworICAgIHJldHVybiBzb3Vy
Y2UgPT0gTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSAmJiB0eXBlID09IE1lc3NhZ2VUeXBlOjpB
c3NlcnQ7CiB9CiAKIC8vIEZJWE1FOiBEcm9wIHRoaXMgb25jZSB3ZSBubyBsb25nZXIgZ2VuZXJh
dGUgc3RhY2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBN
ZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikK
IHsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29s
ZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdl
bnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5hZGRNZXNzYWdlVG9Db25zb2xlKHNvdXJjZSwg
dHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOwogICAg
IC8vIEZJWE1FOiBUaGlzIHNob3VsZCBqdXN0IHBhc3MgdGhlIG1lc3NhZ2Ugb24gdG8gdGhlIGRl
YnVnZ2VyIGFnZW50LiBKYXZhU2NyaXB0Q29yZSBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHNob3Vs
ZCBrbm93IENvbnNvbGUgTWVzc2FnZVR5cGVzLgogICAgIGlmIChJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50KiBkZWJ1Z2dlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCgpKSB7CkBAIC04NzksNyArODc4LDcgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3QK
IAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3Vt
ZW50cz4gYXJndW1lbnRzLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAg
IGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQq
IGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQog
ICAgICAgICBjb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSwgc3RhdGUsIGFyZ3VtZW50cywgcmVxdWVzdElkZW50aWZpZXIpOwogICAg
IC8vIEZJWE1FOiBUaGlzIHNob3VsZCBqdXN0IHBhc3MgdGhlIG1lc3NhZ2Ugb24gdG8gdGhlIGRl
YnVnZ2VyIGFnZW50LiBKYXZhU2NyaXB0Q29yZSBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHNob3Vs
ZCBrbm93IENvbnNvbGUgTWVzc2FnZVR5cGVzLgogICAgIGlmIChJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50KiBkZWJ1Z2dlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCgpKSB7CkBAIC04OTAsMTMgKzg4OSwxMyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dAogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgTWVzc2FnZVNvdXJj
ZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlwdElELCB1bnNpZ25lZCBsaW5lTnVtYmVy
LCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgdW5zaWduZWQg
bG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50
KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdl
bnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50
aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5hZGRN
ZXNzYWdlVG9Db25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNjcmlwdElELCBs
aW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAK
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQ291bnRJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwg
UGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpZiAoSW5zcGVj
dG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNw
ZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdl
bnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29u
c29sZUFnZW50LT5jb3VudChzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIApAQCAtOTA0LDEzICs5MDMs
MTMgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0YXJ0Q29uc29sZVRpbWluZ0lt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHIKIHsKICAgICBpZiAoSW5zcGVjdG9yVGltZWxp
bmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclRp
bWVsaW5lQWdlbnQoKSkKICAgICAgICAgdGltZWxpbmVBZ2VudC0+dGltZShmcmFtZSwgdGl0bGUp
OwotICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1l
bnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xl
QWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2Vu
dCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPnN0YXJ0VGltaW5nKHRpdGxlKTsKIH0KIAogdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBGcmFtZSogZnJhbWUsIGNvbnN0IFN0
cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFjaykKIHsKLSAgICBp
ZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdl
bnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBj
b25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAg
ICAgICAgY29uc29sZUFnZW50LT5zdG9wVGltaW5nKHRpdGxlLCBzdGFjayk7CiAgICAgaWYgKElu
c3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRz
LT5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPnRpbWVF
bmQoZnJhbWUsIHRpdGxlKTsKQEAgLTEwNzIsNyArMTA3MSw3IEBAIGJvb2wgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpjYW52YXNBZ2VudEVuYWJsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0CiBib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZUFnZW50RW5hYmxl
ZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQogewogICAg
IEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yQ29udGV4dChzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICBJbnNwZWN0b3JD
b25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMgPyBpbnN0cnVt
ZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSA6IG51bGxwdHI7CisgICAgSW5z
cGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzID8g
aW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkgOiBudWxscHRyOwogICAgIHJl
dHVybiBjb25zb2xlQWdlbnQgJiYgY29uc29sZUFnZW50LT5lbmFibGVkKCk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApp
bmRleCBlNWYxYjQwLi5jMTY4NTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0zMiw4ICszMiw2IEBACiAjZGVmaW5l
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbl9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgot
I2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgog
I2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJGb3JtRGF0YS5oIgogI2luY2x1ZGUgIkZy
YW1lLmgiCkBAIC00NCwxMiArNDIsMTggQEAKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogI2lu
Y2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0RnJhbWUuaCIKKyNpbmNs
dWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
CiBuYW1lc3BhY2UgRGVwcmVjYXRlZCB7CiBjbGFzcyBTY3JpcHRPYmplY3Q7CiB9CiAKK25hbWVz
cGFjZSBJbnNwZWN0b3IgeworY2xhc3MgU2NyaXB0QXJndW1lbnRzOworY2xhc3MgU2NyaXB0Q2Fs
bFN0YWNrOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENTU1J1bGU7CkBAIC03
Nyw4ICs4MSw2IEBAIGNsYXNzIFJlbmRlckxheWVyQmFja2luZzsKIGNsYXNzIFJlbmRlck9iamVj
dDsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci1jbGFz
cyBTY3JpcHRBcmd1bWVudHM7Ci1jbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5T3Jp
Z2luOwpAQCAtMjAzLDE4ICsyMDUsMTggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFdy
aXRlSFRNTChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCB1bnNpZ25lZCBl
bmRMaW5lKTsKIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSB3ZSBubyBsb25nZXIgZ2VuZXJh
dGUgc3RhY2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgotICAgIHN0YXRpYyB2b2lkIGFkZE1lc3Nh
Z2VUb0NvbnNvbGUoUGFnZSosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1
bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgc3RhdGljIHZvaWQgYWRk
TWVzc2FnZVRvQ29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQ
dHI8U2NyaXB0QXJndW1lbnRzPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAp
OworICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSosIE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFz
c1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIgPSAwKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBh
Z2UqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlw
dEFyZ3VtZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKICAgICBz
dGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBNZXNzYWdlU291cmNlLCBNZXNz
YWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgc2NyaXB0SUQsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwg
SlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApOwogCiAgICAgLy8gRklYTUU6IENvbnZlcnQgdG8gU2NyaXB0QXJndW1lbnRzIHRvIG1h
dGNoIG5vbi13b3JrZXIgY29udGV4dC4KLSAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25z
b2xlKFdvcmtlckdsb2JhbFNjb3BlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICBzdGF0aWMgdm9p
ZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiwgTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVm
UHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllciA9IDApOwogICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2Vy
R2xvYmFsU2NvcGUqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2NyaXB0SUQsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0
ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogCi0gICAgc3RhdGljIHZv
aWQgY29uc29sZUNvdW50KFBhZ2UqLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPik7CisgICAgc3RhdGljIHZvaWQgY29uc29sZUNvdW50KFBhZ2UqLCBKU0M6OkV4
ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKICAgICBz
dGF0aWMgdm9pZCBzdGFydENvbnNvbGVUaW1pbmcoRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxl
KTsKLSAgICBzdGF0aWMgdm9pZCBzdG9wQ29uc29sZVRpbWluZyhGcmFtZSosIGNvbnN0IFN0cmlu
ZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7Ci0gICAgc3RhdGljIHZvaWQg
Y29uc29sZVRpbWVTdGFtcChGcmFtZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Cisg
ICAgc3RhdGljIHZvaWQgc3RvcENvbnNvbGVUaW1pbmcoRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRp
dGxlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGlj
IHZvaWQgY29uc29sZVRpbWVTdGFtcChGcmFtZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3Jp
cHRBcmd1bWVudHM+KTsKIAogICAgIHN0YXRpYyB2b2lkIGRpZFJlcXVlc3RBbmltYXRpb25GcmFt
ZShEb2N1bWVudCosIGludCBjYWxsYmFja0lkKTsKICAgICBzdGF0aWMgdm9pZCBkaWRDYW5jZWxB
bmltYXRpb25GcmFtZShEb2N1bWVudCosIGludCBjYWxsYmFja0lkKTsKQEAgLTIyMiw3ICsyMjQs
NyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkRmlyZUFuaW1hdGlvbkZyYW1lKGNvbnN0
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogCiAgICAgc3RhdGljIHZvaWQgYWRk
U3RhcnRQcm9maWxpbmdNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBjb25zdCBTdHJpbmcmIHRpdGxl
LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMKTsKLSAgICBzdGF0aWMgdm9pZCBhZGRQcm9maWxlKFBhZ2UqLCBSZWZQdHI8
U2NyaXB0UHJvZmlsZT4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGlj
IHZvaWQgYWRkUHJvZmlsZShQYWdlKiwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+LCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CiAgICAgc3RhdGljIFN0cmluZyBnZXRDdXJy
ZW50VXNlckluaXRpYXRlZFByb2ZpbGVOYW1lKFBhZ2UqLCBib29sIGluY3JlbWVudFByb2ZpbGVO
dW1iZXIpOwogICAgIHN0YXRpYyBib29sIHByb2ZpbGVyRW5hYmxlZChQYWdlKik7CiAKQEAgLTM4
NSwxNiArMzg3LDE2IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZSB3aWxsV3JpdGVIVE1MSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgdW5zaWdu
ZWQgc3RhcnRMaW5lLCBGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFdyaXRlSFRNTEltcGwo
Y29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwgdW5zaWduZWQgZW5kTGluZSk7
CiAKLSAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1l
bnRzPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgc3RhdGljIHZvaWQg
YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlND
OjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiwgdW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgc3RhdGljIHZvaWQgYWRkTWVzc2Fn
ZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBzY3JpcHRJRCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBK
U0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpOwogCiAgICAg
Ly8gRklYTUU6IFJlbW92ZSBvbmNlIHdlIG5vIGxvbmdlciBnZW5lcmF0ZSBzdGFja3Mgb3V0c2lk
ZSBvZiBJbnNwZWN0b3IuCi0gICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdl
TGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRN
ZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVm
UHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllcik7CiAKLSAgICBzdGF0aWMgdm9pZCBjb25zb2xlQ291bnRJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMqLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7
CisgICAgc3RhdGljIHZvaWQgY29uc29sZUNvdW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
SlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7
CiAgICAgc3RhdGljIHZvaWQgc3RhcnRDb25zb2xlVGltaW5nSW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzKiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSAgICBzdGF0aWMgdm9pZCBzdG9w
Q29uc29sZVRpbWluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgY29uc3QgU3Ry
aW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKLSAgICBzdGF0aWMgdm9p
ZCBjb25zb2xlVGltZVN0YW1wSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOworICAgIHN0YXRpYyB2b2lkIHN0b3BDb25zb2xlVGlt
aW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxl
LCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGljIHZv
aWQgY29uc29sZVRpbWVTdGFtcEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgUGFz
c1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwogCiAgICAgc3RhdGljIHZvaWQg
ZGlkUmVxdWVzdEFuaW1hdGlvbkZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgaW50IGNh
bGxiYWNrSWQsIEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkQ2FuY2VsQW5pbWF0aW9uRnJh
bWVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBpbnQgY2FsbGJhY2tJZCwgRnJhbWUqKTsKQEAg
LTQwMiw3ICs0MDQsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRpZEZpcmVBbmltYXRp
b25GcmFtZUltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAKICAg
ICBzdGF0aWMgdm9pZCBhZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCB1bnNpZ25lZCBsaW5lTnVtYmVy
LCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAgICBz
dGF0aWMgdm9pZCBhZGRQcm9maWxlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUmVmUHRyPFNj
cmlwdFByb2ZpbGU+LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgIHN0YXRpYyB2
b2lkIGFkZFByb2ZpbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBSZWZQdHI8U2NyaXB0UHJv
ZmlsZT4sIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKICAgICBzdGF0
aWMgU3RyaW5nIGdldEN1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWVJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqLCBib29sIGluY3JlbWVudFByb2ZpbGVOdW1iZXIpOwogICAgIHN0YXRpYyBi
b29sIHByb2ZpbGVyRW5hYmxlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcApp
bmRleCA0YzFmMDA2Li4zM2FmZjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2lu
Y2x1ZGUgIkluc3BlY3RvckxheWVyVHJlZUFnZW50LmgiCiAKLSNpbmNsdWRlICJJZGVudGlmaWVy
c0ZhY3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvcldlYkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5n
QWdlbnRzLmgiCkBAIC00NCw2ICs0Myw3IEBACiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJCYWNraW5n
LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVy
Vmlldy5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaD4KIAogdXNp
bmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yUGFnZUFnZW50LmNwcAppbmRleCBmMjc5MzBjLi5jZmVlNWQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtMjksMTEg
KzI5LDEwIEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgogCisjaWYgRU5BQkxFKElO
U1BFQ1RPUikKKwogI2luY2x1ZGUgIkNhY2hlZENTU1N0eWxlU2hlZXQuaCIKICNpbmNsdWRlICJD
YWNoZWRGb250LmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKQEAgLTUzLDcgKzUyLDYgQEAK
ICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3Rvcnku
aCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCkBAIC03Myw2ICs3MSw3IEBACiAjaW5j
bHVkZSAiVXNlckdlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRW
YWx1ZS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmg+Cisj
aW5jbHVkZSA8aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNp
bmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcAppbmRleCBlODQwN2VlLi5jNTJjNjZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdl
bnQuY3BwCkBAIC0yOCwyOSArMjgsMjcgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0K
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dC5oIgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJ
SG9zdC5oIgogI2luY2x1ZGUgIkNvbnNvbGUuaCIKLSNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMu
aCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xl
QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAj
aW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCiAjaW5j
bHVkZSAiUGFnZVNjcmlwdERlYnVnU2VydmVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0SGVhcFNuYXBz
aG90LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2Zp
bGVyLmgiCisjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0RGVidWdTZXJ2
ZXIuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRPYmplY3QuaD4KKyNpbmNsdWRlIDxpbnNw
ZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg+CiAjaW5jbHVkZSA8d3RmL0N1
cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0NvbmNhdGVuYXRlLmg+CkBAIC0xNTYsMTQgKzE1NCwxNCBAQCB2b2lkIEluc3BlY3Rv
clByb2ZpbGVyQWdlbnQ6OmFkZFByb2ZpbGVGaW5pc2hlZE1lc3NhZ2VUb0NvbnNvbGUoUGFzc1Jl
ZlB0cjxTY3JpcAogICAgICAgICByZXR1cm47CiAgICAgUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHBy
b2ZpbGUgPSBwcnBQcm9maWxlOwogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZyhwcm9m
aWxlLT50aXRsZSgpLCAnIycsIFN0cmluZzo6bnVtYmVyKHByb2ZpbGUtPnVpZCgpKSk7Ci0gICAg
bV9jb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoQ29uc29sZUFQSU1lc3NhZ2VTb3Vy
Y2UsIFByb2ZpbGVFbmRNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHNv
dXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICBtX2NvbnNvbGVBZ2VudC0+
YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdlVHlw
ZTo6UHJvZmlsZUVuZCwgTWVzc2FnZUxldmVsOjpEZWJ1ZywgbWVzc2FnZSwgc291cmNlVVJMLCBs
aW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpOwogfQogCiB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQ6OmFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZShjb25zdCBTdHJpbmcmIHRpdGxl
LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMKQogewogICAgIGlmICghbV9mcm9udGVuZERpc3BhdGNoZXIpCiAgICAgICAg
IHJldHVybjsKLSAgICBtX2NvbnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShDb25zb2xl
QVBJTWVzc2FnZVNvdXJjZSwgUHJvZmlsZU1lc3NhZ2VUeXBlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwg
dGl0bGUsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICBtX2NvbnNv
bGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBN
ZXNzYWdlVHlwZTo6UHJvZmlsZSwgTWVzc2FnZUxldmVsOjpEZWJ1ZywgdGl0bGUsIHNvdXJjZVVS
TCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JQcm9maWxl
ckFnZW50Ojpjb2xsZWN0R2FyYmFnZShXZWJDb3JlOjpFcnJvclN0cmluZyopCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBiOWI2
MDMxLi43ZGZlMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQcm9maWxlckFnZW50LmgKQEAgLTQzLDEyICs0MywxMiBAQAogCiBuYW1lc3BhY2UgSW5zcGVj
dG9yIHsKIGNsYXNzIEluc3BlY3RvckFycmF5OworY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50
OwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CiBj
bGFzcyBQYWdlOwogY2xhc3MgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlcjsKQEAgLTYxLDggKzYx
LDggQEAgdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiBjbGFzcyBJbnNwZWN0b3JQcm9maWxl
ckFnZW50IDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6SW5z
cGVjdG9yUHJvZmlsZXJCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclByb2ZpbGVy
QWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yQ29uc29sZUFnZW50
KiwgUGFnZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKLSAgICBzdGF0aWMgc3RkOjp1
bmlxdWVfcHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdl
bnRzKiwgSW5zcGVjdG9yQ29uc29sZUFnZW50KiwgV29ya2VyR2xvYmFsU2NvcGUqLCBQYWdlSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0
b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3Rvcjo6
SW5zcGVjdG9yQ29uc29sZUFnZW50KiwgUGFnZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIq
KTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNy
ZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdl
bnQqLCBXb3JrZXJHbG9iYWxTY29wZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKIAog
ICAgIHZpcnR1YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKIApAQCAtMTAxLDcgKzEwMSw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2V0SGVhcE9iamVjdElkKEVycm9yU3RyaW5n
KiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgU3RyaW5nKiBoZWFwU25hcHNob3RPYmplY3RJZCkg
b3ZlcnJpZGU7CiAKIHByb3RlY3RlZDoKLSAgICBJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3Ry
dW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBQYWdlSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKik7CisgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnN0cnVtZW50aW5nQWdl
bnRzKiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBQYWdlSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKik7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0UHJvZmlsaW5nKGNvbnN0IFN0cmlu
ZyYgdGl0bGUpID0gMDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3Rv
cFByb2ZpbGluZyhjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7CiAKQEAgLTExNSw3ICsxMTUsNyBA
QCBwcml2YXRlOgogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UHJvZmls
ZXI6OlByb2ZpbGVIZWFkZXI+IGNyZWF0ZVByb2ZpbGVIZWFkZXIoY29uc3QgU2NyaXB0UHJvZmls
ZSYpOwogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UHJvZmlsZXI6OlBy
b2ZpbGVIZWFkZXI+IGNyZWF0ZVNuYXBzaG90SGVhZGVyKGNvbnN0IFNjcmlwdEhlYXBTbmFwc2hv
dCYpOwogCi0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKKyAgICBJ
bnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7CiAgICAgUGFn
ZUluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yUHJvZmlsZXJGcm9udGVuZERpc3BhdGNo
ZXI+IG1fZnJvbnRlbmREaXNwYXRjaGVyOwogICAgIFJlZlB0cjxJbnNwZWN0b3I6Okluc3BlY3Rv
clByb2ZpbGVyQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5k
ZXggNjVmOGRiMS4uNDgwYmRlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtMjksMTEgKzI5LDEwIEBACiAgKi8KIAog
I2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUg
Ikluc3BlY3RvclJlc291cmNlQWdlbnQuaCIKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKICNp
bmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgi
CiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTQ0LDExICs0MywxMSBAQAog
I2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgogI2lu
Y2x1ZGUgIkljb25Db250cm9sbGVyLmgiCi0jaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFn
ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVycy5oIgogI2lu
Y2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVj
U3RhdGUuaCIKICNpbmNsdWRlICJNZW1vcnlDYWNoZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNv
dXJjZXNEYXRhLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtNTgsMTUgKzU3LDE2IEBACiAjaW5j
bHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgi
Ci0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdGFi
bGVEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3Vi
cmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRG
cmFtZS5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0LmgiCisjaW5jbHVkZSA8aW5zcGVjdG9y
L0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1
ZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5jbHVkZSA8
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvSGV4TnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RI
YXNoU2V0Lmg+CkBAIC00MzksNyArNDM5LDcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50
OjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbihEb2N1bWVudCogZG9jdW1lbnQpCiAKIFBh
c3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9yPiBJbnNw
ZWN0b3JSZXNvdXJjZUFnZW50OjpidWlsZEluaXRpYXRvck9iamVjdChEb2N1bWVudCogZG9jdW1l
bnQpCiB7Ci0gICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0ZVNj
cmlwdENhbGxTdGFjayhTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUs
IHRydWUpOworICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrVHJhY2UgPSBjcmVhdGVT
Y3JpcHRDYWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSwgU2Ny
aXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0cnVlKTsKICAgICBpZiAo
c3RhY2tUcmFjZSAmJiBzdGFja1RyYWNlLT5zaXplKCkgPiAwKSB7CiAgICAgICAgIFJlZlB0cjxJ
bnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpOZXR3b3JrOjpJbml0aWF0b3I+IGluaXRpYXRvck9iamVj
dCA9IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcjo6Y3JlYXRlKCkK
ICAgICAgICAgICAgIC5zZXRUeXBlKEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6Ok5ldHdvcms6Oklu
aXRpYXRvcjo6VHlwZTo6U2NyaXB0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCA4YWVjNjhlLi40YTBjZWZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJGcmFt
ZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9y
eS5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNv
dW50ZXJzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCkBAIC01Myw2
ICs1Miw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNjcmlw
dFByb2ZpbGVyLmgiCiAjaW5jbHVkZSAiVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgiCisjaW5jbHVk
ZSA8aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50
VGltZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCmluZGV4IDk4ZTZiZGQuLmIyMmM3
YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdl
bnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50
cy5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAgSW5zdHJ1bWVudGluZ0FnZW50czo6SW5zdHJ1bWVudGlu
Z0FnZW50cyhJbnNwZWN0b3JFbnZpcm9ubWVudCYgZW52aXJvbm1lbnQpCiAgICAgLCBtX2luc3Bl
Y3RvclBhZ2VBZ2VudChudWxscHRyKQogICAgICwgbV9pbnNwZWN0b3JDU1NBZ2VudChudWxscHRy
KQogICAgICwgbV9pbnNwZWN0b3JMYXllclRyZWVBZ2VudChudWxscHRyKQotICAgICwgbV9pbnNw
ZWN0b3JDb25zb2xlQWdlbnQobnVsbHB0cikKKyAgICAsIG1fd2ViQ29uc29sZUFnZW50KG51bGxw
dHIpCiAgICAgLCBtX2luc3BlY3RvckRPTUFnZW50KG51bGxwdHIpCiAgICAgLCBtX2luc3BlY3Rv
clJlc291cmNlQWdlbnQobnVsbHB0cikKICAgICAsIG1fcGFnZVJ1bnRpbWVBZ2VudChudWxscHRy
KQpAQCAtNzUsNyArNzUsNyBAQCB2b2lkIEluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KCkKICAg
ICBtX2luc3BlY3RvclBhZ2VBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9pbnNwZWN0b3JDU1NBZ2Vu
dCA9IG51bGxwdHI7CiAgICAgbV9pbnNwZWN0b3JMYXllclRyZWVBZ2VudCA9IG51bGxwdHI7Ci0g
ICAgbV9pbnNwZWN0b3JDb25zb2xlQWdlbnQgPSBudWxscHRyOworICAgIG1fd2ViQ29uc29sZUFn
ZW50ID0gbnVsbHB0cjsKICAgICBtX2luc3BlY3RvckRPTUFnZW50ID0gbnVsbHB0cjsKICAgICBt
X2luc3BlY3RvclJlc291cmNlQWdlbnQgPSBudWxscHRyOwogICAgIG1fcGFnZVJ1bnRpbWVBZ2Vu
dCA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1
bWVudGluZ0FnZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdB
Z2VudHMuaAppbmRleCBjOTlkMjY5Li4zN2ZhYjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTQ3LDcgKzQ3LDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OwogY2xhc3Mg
SW5zcGVjdG9yQ1NTQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JDYW52YXNBZ2VudDsKLWNsYXNzIElu
c3BlY3RvckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDsK
QEAgLTYyLDYgKzYxLDcgQEAgY2xhc3MgSW5zcGVjdG9yV29ya2VyQWdlbnQ7CiBjbGFzcyBQYWdl
OwogY2xhc3MgUGFnZURlYnVnZ2VyQWdlbnQ7CiBjbGFzcyBQYWdlUnVudGltZUFnZW50OworY2xh
c3MgV2ViQ29uc29sZUFnZW50OwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiBjbGFzcyBXb3Jr
ZXJSdW50aW1lQWdlbnQ7CiAKQEAgLTg3LDggKzg3LDggQEAgcHVibGljOgogICAgIEluc3BlY3Rv
ckNTU0FnZW50KiBpbnNwZWN0b3JDU1NBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9y
Q1NTQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvckNTU0FnZW50KEluc3BlY3RvckNTU0Fn
ZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckNTU0FnZW50ID0gYWdlbnQ7IH0KIAotICAgIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudCogaW5zcGVjdG9yQ29uc29sZUFnZW50KCkgY29uc3QgeyByZXR1cm4g
bV9pbnNwZWN0b3JDb25zb2xlQWdlbnQ7IH0KLSAgICB2b2lkIHNldEluc3BlY3RvckNvbnNvbGVB
Z2VudChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yQ29uc29sZUFn
ZW50ID0gYWdlbnQ7IH0KKyAgICBXZWJDb25zb2xlQWdlbnQqIHdlYkNvbnNvbGVBZ2VudCgpIGNv
bnN0IHsgcmV0dXJuIG1fd2ViQ29uc29sZUFnZW50OyB9CisgICAgdm9pZCBzZXRXZWJDb25zb2xl
QWdlbnQoV2ViQ29uc29sZUFnZW50KiBhZ2VudCkgeyBtX3dlYkNvbnNvbGVBZ2VudCA9IGFnZW50
OyB9CiAKICAgICBJbnNwZWN0b3JET01BZ2VudCogaW5zcGVjdG9yRE9NQWdlbnQoKSBjb25zdCB7
IHJldHVybiBtX2luc3BlY3RvckRPTUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JET01B
Z2VudChJbnNwZWN0b3JET01BZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JET01BZ2VudCA9IGFn
ZW50OyB9CkBAIC0xNDksNyArMTQ5LDcgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JQYWdlQWdl
bnQqIG1faW5zcGVjdG9yUGFnZUFnZW50OwogICAgIEluc3BlY3RvckNTU0FnZW50KiBtX2luc3Bl
Y3RvckNTU0FnZW50OwogICAgIEluc3BlY3RvckxheWVyVHJlZUFnZW50KiBtX2luc3BlY3Rvckxh
eWVyVHJlZUFnZW50OwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9pbnNwZWN0b3JDb25z
b2xlQWdlbnQ7CisgICAgV2ViQ29uc29sZUFnZW50KiBtX3dlYkNvbnNvbGVBZ2VudDsKICAgICBJ
bnNwZWN0b3JET01BZ2VudCogbV9pbnNwZWN0b3JET01BZ2VudDsKICAgICBJbnNwZWN0b3JSZXNv
dXJjZUFnZW50KiBtX2luc3BlY3RvclJlc291cmNlQWdlbnQ7CiAgICAgUGFnZVJ1bnRpbWVBZ2Vu
dCogbV9wYWdlUnVudGltZUFnZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1BhZ2VDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VD
b25zb2xlQWdlbnQuY3BwCmluZGV4IDFhZGI0NDkuLjcxNTljZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCi0j
aW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNp
bmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5oIgpA
QCAtNDMsMjEgKzQyLDE3IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotUGFnZUNvbnNvbGVBZ2VudDo6UGFnZUNvbnNvbGVBZ2VudChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIsIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkK
LSAgICA6IEluc3BlY3RvckNvbnNvbGVBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBpbmplY3Rl
ZFNjcmlwdE1hbmFnZXIpCitQYWdlQ29uc29sZUFnZW50OjpQYWdlQ29uc29sZUFnZW50KFBhZ2VJ
bmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwgSW5zcGVjdG9yRE9N
QWdlbnQqIGRvbUFnZW50KQorICAgIDogV2ViQ29uc29sZUFnZW50KGluamVjdGVkU2NyaXB0TWFu
YWdlcikKICAgICAsIG1faW5zcGVjdG9yRE9NQWdlbnQoZG9tQWdlbnQpCiB7CiB9CiAKLVBhZ2VD
b25zb2xlQWdlbnQ6On5QYWdlQ29uc29sZUFnZW50KCkKLXsKLSAgICBtX2luc3BlY3RvckRPTUFn
ZW50ID0gbnVsbHB0cjsKLX0KLQogdm9pZCBQYWdlQ29uc29sZUFnZW50OjpjbGVhck1lc3NhZ2Vz
KEVycm9yU3RyaW5nKiBlcnJvclN0cmluZykKIHsKICAgICBtX2luc3BlY3RvckRPTUFnZW50LT5y
ZWxlYXNlRGFuZ2xpbmdOb2RlcygpOwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJN
ZXNzYWdlcyhlcnJvclN0cmluZyk7CisKKyAgICBXZWJDb25zb2xlQWdlbnQ6OmNsZWFyTWVzc2Fn
ZXMoZXJyb3JTdHJpbmcpOwogfQogCiBjbGFzcyBJbnNwZWN0YWJsZU5vZGUgZmluYWwgOiBwdWJs
aWMgQ29tbWFuZExpbmVBUElIb3N0OjpJbnNwZWN0YWJsZU9iamVjdCB7CkBAIC03OSw3ICs3NCw3
IEBAIHZvaWQgUGFnZUNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyog
ZXJyb3JTdHJpbmcsIGludCBub2RlSWQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBp
ZiAoQ29tbWFuZExpbmVBUElIb3N0KiBjb21tYW5kTGluZUFQSUhvc3QgPSBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElIb3N0KCkpCisgICAgaWYgKENvbW1hbmRMaW5lQVBJ
SG9zdCogY29tbWFuZExpbmVBUElIb3N0ID0gc3RhdGljX2Nhc3Q8UGFnZUluamVjdGVkU2NyaXB0
TWFuYWdlcio+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKS0+Y29tbWFuZExpbmVBUElIb3N0KCkp
CiAgICAgICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+YWRkSW5zcGVjdGVkT2JqZWN0KGFkb3B0UHRy
KG5ldyBJbnNwZWN0YWJsZU5vZGUobm9kZSkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9QYWdlQ29uc29sZUFnZW50LmgKaW5kZXggZDU1N2YxYS4uZDBiNTU2NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oCkBAIC0zMSw4ICszMSw3IEBA
CiAjaWZuZGVmIFBhZ2VDb25zb2xlQWdlbnRfaAogI2RlZmluZSBQYWdlQ29uc29sZUFnZW50X2gK
IAotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgotI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CisjaW5jbHVkZSAiV2ViQ29uc29sZUFnZW50LmgiCiAKICNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogCkBAIC00MCwxMyArMzksMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBJbnNwZWN0b3JET01BZ2VudDsKIAotY2xhc3MgUGFnZUNvbnNvbGVBZ2VudCA6IHB1YmxpYyBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQgeworY2xhc3MgUGFnZUNvbnNvbGVBZ2VudCBmaW5hbCA6IHB1
YmxpYyBXZWJDb25zb2xlQWdlbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25z
b2xlQWdlbnQpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFBh
Z2VDb25zb2xlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhZ2VJbmplY3RlZFNjcmlwdE1h
bmFnZXIqLCBJbnNwZWN0b3JET01BZ2VudCopOwotICAgIHZpcnR1YWwgflBhZ2VDb25zb2xlQWdl
bnQoKTsKKyAgICBQYWdlQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBJ
bnNwZWN0b3JET01BZ2VudCopOworICAgIHZpcnR1YWwgflBhZ2VDb25zb2xlQWdlbnQoKSB7IH0K
IAotICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgb3ZlcnJpZGUgeyByZXR1cm4gZmFs
c2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIGZhbHNlOyB9CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyTWVzc2Fn
ZXMoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
UGFnZURlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IDY3ZjQ5NTEuLjUyNmJiMWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcApAQCAtMTE1LDcgKzEx
NSw3IEBAIHZvaWQgUGFnZURlYnVnZ2VyQWdlbnQ6OnVubXV0ZUNvbnNvbGUoKQogCiB2b2lkIFBh
Z2VEZWJ1Z2dlckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIG1fcGFnZUFnZW50LT5wYWdlKCktPmNvbnNvbGUo
KS5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsK
KyAgICBtX3BhZ2VBZ2VudC0+cGFnZSgpLT5jb25zb2xlKCkuYWRkTWVzc2FnZShNZXNzYWdlU291
cmNlOjpKUywgTWVzc2FnZUxldmVsOjpMb2csIG1lc3NhZ2UpOwogfQogCiBJbmplY3RlZFNjcmlw
dCBQYWdlRGVidWdnZXJBZ2VudDo6aW5qZWN0ZWRTY3JpcHRGb3JFdmFsKEVycm9yU3RyaW5nKiBl
cnJvclN0cmluZywgY29uc3QgaW50KiBleGVjdXRpb25Db250ZXh0SWQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaAppbmRleCA2NTgyMTg4
Li5hZmJjNmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVj
dGVkU2NyaXB0SG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0
ZWRTY3JpcHRIb3N0LmgKQEAgLTMyLDYgKzMyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CisvLyBGSVhNRTogUmVuYW1lIHRvIFdlYkluamVjdGVkU2NyaXB0SG9zdC4KIGNsYXNzIFBhZ2VJ
bmplY3RlZFNjcmlwdEhvc3QgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlw
dEhvc3QgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNjcmlw
dEhvc3Q+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3JpcHRI
b3N0KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmgKaW5kZXggMWY4NzA3ZS4uZTI3NGU2MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5oCkBAIC0zNCw2
ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NV2luZG93OwogCisvLyBG
SVhNRTogUmVuYW1lIHRvIFdlYkluamVjdGVkU2NyaXB0TWFuYWdlci4KIGNsYXNzIFBhZ2VJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlw
dE1hbmFnZXIgewogcHVibGljOgogICAgIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIoSW5zcGVj
dG9yOjpJbnNwZWN0b3JFbnZpcm9ubWVudCYsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpJbmplY3Rl
ZFNjcmlwdEhvc3Q+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1l
bGluZVJlY29yZEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5l
UmVjb3JkRmFjdG9yeS5jcHAKaW5kZXggMTc1OTNiOC4uZDlkYTc0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKQEAgLTM3LDEz
ICszNywxNCBAQAogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAj
aW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgog
I2luY2x1ZGUgIkxheW91dFJlY3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgi
Ci0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdFBy
b2ZpbGUuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CisjaW5jbHVk
ZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIHVz
aW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CkBAIC01Niw3ICs1Nyw3IEBAIFBhc3NSZWZQdHI8SW5z
cGVjdG9yT2JqZWN0PiBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQo
ZG91YmxlIHN0CiAgICAgcmVjb3JkLT5zZXROdW1iZXIoInN0YXJ0VGltZSIsIHN0YXJ0VGltZSk7
CiAKICAgICBpZiAobWF4Q2FsbFN0YWNrRGVwdGgpIHsKLSAgICAgICAgUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhtYXhDYWxsU3RhY2tE
ZXB0aCwgdHJ1ZSk7CisgICAgICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrVHJhY2Ug
PSBjcmVhdGVTY3JpcHRDYWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3Rh
dGUoKSwgbWF4Q2FsbFN0YWNrRGVwdGgsIHRydWUpOwogICAgICAgICBpZiAoc3RhY2tUcmFjZSAm
JiBzdGFja1RyYWNlLT5zaXplKCkpCiAgICAgICAgICAgICByZWNvcmQtPnNldFZhbHVlKCJzdGFj
a1RyYWNlIiwgc3RhY2tUcmFjZS0+YnVpbGRJbnNwZWN0b3JBcnJheSgpKTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhZmQ1MDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcApAQCAtMCwwICsxLDEyNyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvbnNvbGVB
Z2VudC5oIgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKworI2luY2x1ZGUgIkNvbW1hbmRMaW5l
QVBJSG9zdC5oIgorI2luY2x1ZGUgIkNvbnNvbGUuaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIK
KyNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiUmVzb3Vy
Y2VFcnJvci5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJTY3Jp
cHRQcm9maWxlci5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSA8aW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworV2ViQ29uc29sZUFnZW50OjpXZWJDb25zb2xlQWdlbnQoUGFn
ZUluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIDogSW5z
cGVjdG9yQ29uc29sZUFnZW50KGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICAsIG1fbW9uaXRv
cmluZ1hIUkVuYWJsZWQoZmFsc2UpCit7Cit9CisKK3ZvaWQgV2ViQ29uc29sZUFnZW50OjpzZXRN
b25pdG9yaW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkKK3sKKyAgICBt
X21vbml0b3JpbmdYSFJFbmFibGVkID0gZW5hYmxlZDsKK30KKwordm9pZCBXZWJDb25zb2xlQWdl
bnQ6OmZyYW1lV2luZG93RGlzY2FyZGVkKERPTVdpbmRvdyogd2luZG93KQoreworICAgIEpTQzo6
RXhlY1N0YXRlKiBzY3JpcHRTdGF0ZSA9IG1haW5Xb3JsZEV4ZWNTdGF0ZSh3aW5kb3ctPmZyYW1l
KCkpOworICAgIHNpemVfdCBtZXNzYWdlQ291bnQgPSBtX2NvbnNvbGVNZXNzYWdlcy5zaXplKCk7
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtZXNzYWdlQ291bnQ7ICsraSkKKyAgICAgICAg
bV9jb25zb2xlTWVzc2FnZXNbaV0tPnNjcmlwdFN0YXRlQ2xlYXJlZChzY3JpcHRTdGF0ZSk7CisK
KyAgICBzdGF0aWNfY2FzdDxQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKj4obV9pbmplY3RlZFNj
cmlwdE1hbmFnZXIpLT5kaXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKHdpbmRvdyk7Cit9CisKK3Zv
aWQgV2ViQ29uc29sZUFnZW50OjpkaWRGaW5pc2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVx
dWVzdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkws
IHVuc2lnbmVkIHNlbmRMaW5lTnVtYmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKQorewor
ICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCku
ZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9m
cm9udGVuZERpc3BhdGNoZXIgJiYgbV9tb25pdG9yaW5nWEhSRW5hYmxlZCkgeworICAgICAgICBT
dHJpbmcgbWVzc2FnZSA9ICJYSFIgZmluaXNoZWQgbG9hZGluZzogXCIiICsgdXJsICsgIlwiLiI7
CisgICAgICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZTo6TmV0d29yaywgTWVz
c2FnZVR5cGU6OkxvZywgTWVzc2FnZUxldmVsOjpEZWJ1ZywgbWVzc2FnZSwgc2VuZFVSTCwgc2Vu
ZExpbmVOdW1iZXIsIHNlbmRDb2x1bW5OdW1iZXIsIG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVy
KTsKKyAgICB9Cit9CisKK3ZvaWQgV2ViQ29uc29sZUFnZW50OjpkaWRSZWNlaXZlUmVzcG9uc2Uo
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UpCit7CisgICAgaWYgKCFtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5zcGVjdG9y
RW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmIChyZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID49IDQwMCkgeworICAgICAgICBT
dHJpbmcgbWVzc2FnZSA9ICJGYWlsZWQgdG8gbG9hZCByZXNvdXJjZTogdGhlIHNlcnZlciByZXNw
b25kZWQgd2l0aCBhIHN0YXR1cyBvZiAiICsgU3RyaW5nOjpudW1iZXIocmVzcG9uc2UuaHR0cFN0
YXR1c0NvZGUoKSkgKyAiICgiICsgcmVzcG9uc2UuaHR0cFN0YXR1c1RleHQoKSArICcpJzsKKyAg
ICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdl
VHlwZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLCByZXNwb25zZS51cmwoKS5z
dHJpbmcoKSwgMCwgMCwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOworICAgIH0KK30KKwor
dm9pZCBXZWJDb25zb2xlQWdlbnQ6OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQoreworICAgIGlmICghbV9p
bmplY3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBSZXBvcnQgZmFpbHVyZXMg
b25seS4KKyAgICBpZiAoZXJyb3IuaXNDYW5jZWxsYXRpb24oKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgU3RyaW5nQnVpbGRlciBtZXNzYWdlOworICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgi
RmFpbGVkIHRvIGxvYWQgcmVzb3VyY2UiKTsKKyAgICBpZiAoIWVycm9yLmxvY2FsaXplZERlc2Ny
aXB0aW9uKCkuaXNFbXB0eSgpKSB7CisgICAgICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiOiAi
KTsKKyAgICAgICAgbWVzc2FnZS5hcHBlbmQoZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSk7
CisgICAgfQorCisgICAgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpOZXR3b3Jr
LCBNZXNzYWdlVHlwZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLnRvU3RyaW5n
KCksIGVycm9yLmZhaWxpbmdVUkwoKSwgMCwgMCwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIp
OworfQorCitjbGFzcyBJbnNwZWN0YWJsZUhlYXBPYmplY3QgZmluYWwgOiBwdWJsaWMgQ29tbWFu
ZExpbmVBUElIb3N0OjpJbnNwZWN0YWJsZU9iamVjdCB7CitwdWJsaWM6CisgICAgZXhwbGljaXQg
SW5zcGVjdGFibGVIZWFwT2JqZWN0KGludCBoZWFwT2JqZWN0SWQpIDogbV9oZWFwT2JqZWN0SWQo
aGVhcE9iamVjdElkKSB7IH0KKyAgICB2aXJ0dWFsIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlIGdl
dChKU0M6OkV4ZWNTdGF0ZSopIG92ZXJyaWRlCisgICAgeworICAgICAgICByZXR1cm4gU2NyaXB0
UHJvZmlsZXI6Om9iamVjdEJ5SGVhcE9iamVjdElkKG1faGVhcE9iamVjdElkKTsKKyAgICB9Citw
cml2YXRlOgorICAgIGludCBtX2hlYXBPYmplY3RJZDsKK307CisKK3ZvaWQgV2ViQ29uc29sZUFn
ZW50OjphZGRJbnNwZWN0ZWRIZWFwT2JqZWN0KEVycm9yU3RyaW5nKiwgaW50IGluc3BlY3RlZEhl
YXBPYmplY3RJZCkKK3sKKyAgICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBjb21tYW5kTGluZUFQ
SUhvc3QgPSBzdGF0aWNfY2FzdDxQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKj4obV9pbmplY3Rl
ZFNjcmlwdE1hbmFnZXIpLT5jb21tYW5kTGluZUFQSUhvc3QoKSkKKyAgICAgICAgY29tbWFuZExp
bmVBUElIb3N0LT5hZGRJbnNwZWN0ZWRPYmplY3QoYWRvcHRQdHIobmV3IEluc3BlY3RhYmxlSGVh
cE9iamVjdChpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV2ViQ29uc29sZUFnZW50LmgKc2ltaWxhcml0eSBpbmRleCA1MSUKcmVuYW1lIGZyb20g
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oCnJlbmFtZSB0byBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmgKaW5kZXggMTFmNjVlYy4uNGRl
YmZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBl
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuaApAQCAt
MSw1ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjIsMjcgKzIz
LDQzIEBACiAgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIENvbnNvbGVBUElUeXBlc19oCi0jZGVmaW5l
IENvbnNvbGVBUElUeXBlc19oCisjaWZuZGVmIFdlYkNvbnNvbGVBZ2VudF9oCisjZGVmaW5lIFdl
YkNvbnNvbGVBZ2VudF9oCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCisjaW5jbHVkZSA8aW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1lbnVtIE1lc3NhZ2VUeXBlIHsKLSAgICBMb2dNZXNzYWdlVHlwZSwKLSAgICBEaXJN
ZXNzYWdlVHlwZSwKLSAgICBEaXJYTUxNZXNzYWdlVHlwZSwKLSAgICBUYWJsZU1lc3NhZ2VUeXBl
LAotICAgIFRyYWNlTWVzc2FnZVR5cGUsCi0gICAgU3RhcnRHcm91cE1lc3NhZ2VUeXBlLAotICAg
IFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSwKLSAgICBFbmRHcm91cE1lc3NhZ2VUeXBl
LAotICAgIENsZWFyTWVzc2FnZVR5cGUsCi0gICAgQXNzZXJ0TWVzc2FnZVR5cGUsCi0gICAgVGlt
aW5nTWVzc2FnZVR5cGUsCi0gICAgUHJvZmlsZU1lc3NhZ2VUeXBlLAotICAgIFByb2ZpbGVFbmRN
ZXNzYWdlVHlwZQorY2xhc3MgRE9NV2luZG93OworY2xhc3MgUGFnZUluamVjdGVkU2NyaXB0TWFu
YWdlcjsKK2NsYXNzIFJlc291cmNlRXJyb3I7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwordHlw
ZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIFdlYkNvbnNvbGVBZ2VudCA6IHB1Ymxp
YyBJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV2ViQ29uc29sZUFnZW50KTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKKyAgICBXZWJDb25zb2xlQWdlbnQoUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOwor
ICAgIHZpcnR1YWwgfldlYkNvbnNvbGVBZ2VudCgpIHsgfQorCisgICAgdmlydHVhbCB2b2lkIHNl
dE1vbml0b3JpbmdYSFJFbmFibGVkKEVycm9yU3RyaW5nKiwgYm9vbCBlbmFibGVkKSBvdmVycmlk
ZSBmaW5hbDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0
cmluZyosIGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpIG92ZXJyaWRlIGZpbmFsOworCisgICAg
dm9pZCBmcmFtZVdpbmRvd0Rpc2NhcmRlZChET01XaW5kb3cqKTsKKworICAgIHZvaWQgZGlkRmlu
aXNoWEhSTG9hZGluZyh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgU3RyaW5nJiBzZW5kVVJMLCB1bnNpZ25lZCBzZW5kTGluZU51bWJlciwg
dW5zaWduZWQgc2VuZENvbHVtbk51bWJlcik7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2Uo
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYp
OworICAgIHZvaWQgZGlkRmFpbExvYWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciwgY29uc3QgUmVzb3VyY2VFcnJvciYpOworCitwcm90ZWN0ZWQ6CisgICAgYm9vbCBtX21vbml0
b3JpbmdYSFJFbmFibGVkOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gQ29uc29sZUFQSVR5cGVzX2gKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQorCisjZW5k
aWYgLy8gIWRlZmluZWQoV2ViQ29uc29sZUFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwCmluZGV4IDlmMTA1NmQuLjI1OGE4ZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwCkBA
IC0zOCwxOCArMzgsMTQgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1Xb3JrZXJDb25zb2xlQWdlbnQ6OldvcmtlckNvbnNvbGVBZ2VudChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBQYWdlSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCi0gICAgOiBJbnNwZWN0b3JDb25zb2xlQWdl
bnQoaW5zdHJ1bWVudGluZ0FnZW50cywgaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQotewotfQotCi1X
b3JrZXJDb25zb2xlQWdlbnQ6On5Xb3JrZXJDb25zb2xlQWdlbnQoKQorV29ya2VyQ29uc29sZUFn
ZW50OjpXb3JrZXJDb25zb2xlQWdlbnQoUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyKQorICAgIDogV2ViQ29uc29sZUFnZW50KGluamVjdGVkU2NyaXB0TWFu
YWdlcikKIHsKIH0KIAogdm9pZCBXb3JrZXJDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZE5vZGUo
RXJyb3JTdHJpbmcqIGVycm9yLCBpbnQpCiB7Ci0gICAgKmVycm9yID0gImFkZEluc3BlY3RlZE5v
ZGUgaXMgbm90IHN1cHBvcnRlZCBmb3Igd29ya2VycyI7CisgICAgKmVycm9yID0gQVNDSUlMaXRl
cmFsKCJhZGRJbnNwZWN0ZWROb2RlIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHdvcmtlcnMiKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dv
cmtlckNvbnNvbGVBZ2VudC5oCmluZGV4IDk5YWQ1NjIuLjg3NmE2Y2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmgKQEAgLTMxLDIwICszMSwyMCBA
QAogI2lmbmRlZiBXb3JrZXJDb25zb2xlQWdlbnRfaAogI2RlZmluZSBXb3JrZXJDb25zb2xlQWdl
bnRfaAogCi0jaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCi0jaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKIAogI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgV29ya2VyQ29uc29s
ZUFnZW50IDogcHVibGljIEluc3BlY3RvckNvbnNvbGVBZ2VudCB7CitjbGFzcyBXb3JrZXJDb25z
b2xlQWdlbnQgZmluYWwgOiBwdWJsaWMgV2ViQ29uc29sZUFnZW50IHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShXb3JrZXJDb25zb2xlQWdlbnQpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgotICAgIFdvcmtlckNvbnNvbGVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOwotICAgIHZpcnR1YWwgfldvcmtlckNvbnNv
bGVBZ2VudCgpOworICAgIFdvcmtlckNvbnNvbGVBZ2VudChQYWdlSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKik7CisgICAgdmlydHVhbCB+V29ya2VyQ29uc29sZUFnZW50KCkgeyB9CiAKLSAgICB2aXJ0
dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpIG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2
aXJ0dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7
IH0KIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkTm9kZShFcnJvclN0
cmluZyosIGludCBub2RlSWQpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IDUwNTNhNGMuLmE3MWVmZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAKQEAg
LTEyOSw3ICsxMjksNyBAQCB2b2lkIFdvcmtlckRlYnVnZ2VyQWdlbnQ6OnN0b3BMaXN0ZW5pbmdT
Y3JpcHREZWJ1Z1NlcnZlcihib29sIGlzQmVpbmdEZXN0cm95ZWQpCiAKIHZvaWQgV29ya2VyRGVi
dWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSkKIHsKLSAgICBtX2luc3BlY3RlZFdvcmtlckdsb2JhbFNjb3BlLT5hZGRD
b25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7
CisgICAgbV9pbnNwZWN0ZWRXb3JrZXJHbG9iYWxTY29wZS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6TG9nLCBtZXNzYWdlKTsKIH0KIAogV29ya2Vy
U2NyaXB0RGVidWdTZXJ2ZXImIFdvcmtlckRlYnVnZ2VyQWdlbnQ6OnNjcmlwdERlYnVnU2VydmVy
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmNwcAppbmRleCBkMGE5ZjVhLi43YzAxNWE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0z
Niw3ICszNiw2IEBACiAKICNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JDbGllbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JGb3J3YXJkaW5nLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySGVh
cFByb2ZpbGVyQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIK
QEAgLTkwLDcgKzg5LDkgQEAgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6V29ya2VySW5zcGVj
dG9yQ29udHJvbGxlcihXb3JrZXJHbG9iYWxTY29wZSYgd29ya2VyR2wKICAgICBtX2luc3RydW1l
bnRpbmdBZ2VudHMtPnNldFdvcmtlclJ1bnRpbWVBZ2VudChtX3J1bnRpbWVBZ2VudCk7CiAgICAg
bV9hZ2VudHMuYXBwZW5kKHN0ZDo6bW92ZShydW50aW1lQWdlbnQpKTsKIAotICAgIGF1dG8gY29u
c29sZUFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJDb25zb2xlQWdlbnQ+KG1faW5zdHJ1
bWVudGluZ0FnZW50cy5nZXQoKSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpOworICAg
IGF1dG8gY29uc29sZUFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJDb25zb2xlQWdlbnQ+
KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKTsKKyAgICBtX2luc3RydW1lbnRpbmdBZ2Vu
dHMtPnNldFdlYkNvbnNvbGVBZ2VudChjb25zb2xlQWdlbnQuZ2V0KCkpOworCiAgICAgYXV0byBk
ZWJ1Z2dlckFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJEZWJ1Z2dlckFnZW50PihtX2lu
amVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSwgbV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCAm
d29ya2VyR2xvYmFsU2NvcGUpOwogICAgIG1fcnVudGltZUFnZW50LT5zZXRTY3JpcHREZWJ1Z1Nl
cnZlcigmZGVidWdnZXJBZ2VudC0+c2NyaXB0RGVidWdTZXJ2ZXIoKSk7CiAgICAgbV9hZ2VudHMu
YXBwZW5kKHN0ZDo6bW92ZShkZWJ1Z2dlckFnZW50KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmNwcAppbmRleCA1ZDBhMDg1Li41MDA2ZjFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTYxNCw3ICs2MTQsNyBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgY29u
c3QgUmVzb3VyY2VSZQogICAgICAgICBpZiAoZnJhbWVMb2FkZXIoKS0+c2hvdWxkSW50ZXJydXB0
TG9hZEZvclhGcmFtZU9wdGlvbnMoY29udGVudCwgcmVzcG9uc2UudXJsKCksIGlkZW50aWZpZXIp
KSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVlQWZ0ZXJY
RnJhbWVPcHRpb25zRGVuaWVkKG1fZnJhbWUsIHRoaXMsIGlkZW50aWZpZXIsIHJlc3BvbnNlKTsK
ICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlJlZnVzZWQgdG8gZGlzcGxheSAnIiArIHJl
c3BvbnNlLnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgaW4gYSBm
cmFtZSBiZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0byAnIiArIGNvbnRlbnQgKyAi
Jy4iOwotICAgICAgICAgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
U2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgaWRlbnRp
Zmllcik7CisgICAgICAgICAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSwg
aWRlbnRpZmllcik7CiAgICAgICAgICAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT5lbmZvcmNlU2Fu
ZGJveEZsYWdzKFNhbmRib3hPcmlnaW4pOwogICAgICAgICAgICAgaWYgKEhUTUxGcmFtZU93bmVy
RWxlbWVudCogb3duZXJFbGVtZW50ID0gZnJhbWUoKS0+b3duZXJFbGVtZW50KCkpCiAgICAgICAg
ICAgICAgICAgb3duZXJFbGVtZW50LT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLmxvYWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAppbmRleCBkNTI5Yzc4Li5hYzMxY2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKQEAgLTk1LDcgKzk1LDYgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRs
ZS5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlNjaGVtZVJlZ2lz
dHJ5LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTY3Jv
bGxBbmltYXRvci5oIgpAQCAtMzc2LDcgKzM3NSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN1Ym1p
dEZvcm0oUGFzc1JlZlB0cjxGb3JtU3VibWlzc2lvbj4gc3VibWlzc2lvbikKIAogICAgIGlmIChp
c0RvY3VtZW50U2FuZGJveGVkKCZtX2ZyYW1lLCBTYW5kYm94Rm9ybXMpKSB7CiAgICAgICAgIC8v
IEZJWE1FOiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNl
IGEgc29sdXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MzI3NCBleGlzdHMuCi0gICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgZm9y
bSBzdWJtaXNzaW9uIHRvICciICsgc3VibWlzc2lvbi0+YWN0aW9uKCkuc3RyaW5nQ2VudGVyRWxs
aXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJv
eGVkIGFuZCB0aGUgJ2FsbG93LWZvcm1zJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAg
ICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6
U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJCbG9ja2VkIGZvcm0gc3VibWlzc2lvbiB0
byAnIiArIHN1Ym1pc3Npb24tPmFjdGlvbigpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0
aCgpICsgIicgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdh
bGxvdy1mb3JtcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCkBAIC0xNDg1LDcgKzE0ODQsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpyZXBvcnRMb2Nh
bExvYWRGYWlsZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHVybCkKICAgICBpZiAoIWZy
YW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk5vdCBh
bGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1cmwpOworICAgIGZyYW1lLT5kb2N1
bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgIk5vdCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1
cmwpOwogfQogCiBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIEZyYW1lTG9hZGVyOjppbml0aWFsUmVx
dWVzdCgpIGNvbnN0CkBAIC0yODQ4LDcgKzI4NDcsNyBAQCBib29sIEZyYW1lTG9hZGVyOjpoYW5k
bGVCZWZvcmVVbmxvYWRFdmVudChDaHJvbWUmIGNocm9tZSwgRnJhbWVMb2FkZXIqIGZyYW1lTG9h
ZAogICAgIC8vIElmIHRoZSBuYXZpZ2F0aW5nIEZyYW1lTG9hZGVyIGhhcyBhbHJlYWR5IHNob3du
IGEgYmVmb3JldW5sb2FkIGNvbmZpcm1hdGlvbiBwYW5lbCBmb3IgdGhlIGN1cnJlbnQgbmF2aWdh
dGlvbiBhdHRlbXB0LAogICAgIC8vIHRoaXMgZnJhbWUgaXMgbm90IGFsbG93ZWQgdG8gY2F1c2Ug
YW5vdGhlciBvbmUgdG8gYmUgc2hvd24uCiAgICAgaWYgKGZyYW1lTG9hZGVyQmVpbmdOYXZpZ2F0
ZWQtPm1fY3VycmVudE5hdmlnYXRpb25IYXNTaG93bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCkg
ewotICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXR0ZW1wdCB0byBzaG93IG11bHRpcGxlIGJlZm9y
ZXVubG9hZCBjb25maXJtYXRpb24gZGlhbG9ncyBmb3IgdGhlIHNhbWUgbmF2aWdhdGlvbi4iKTsK
KyAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBN
ZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgYXR0ZW1wdCB0byBzaG93
IG11bHRpcGxlIGJlZm9yZXVubG9hZCBjb25maXJtYXRpb24gZGlhbG9ncyBmb3IgdGhlIHNhbWUg
bmF2aWdhdGlvbi4iKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtMjg2MSw3
ICsyODYwLDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6aGFuZGxlQmVmb3JlVW5sb2FkRXZlbnQoQ2hy
b21lJiBjaHJvbWUsIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWQKICAgICAgICAgICAgIGlmICghcGFy
ZW50RG9jdW1lbnQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICBp
ZiAoIW1fZnJhbWUuZG9jdW1lbnQoKSB8fCAhbV9mcmFtZS5kb2N1bWVudCgpLT5zZWN1cml0eU9y
aWdpbigpLT5jYW5BY2Nlc3MocGFyZW50RG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkpKSB7Ci0g
ICAgICAgICAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIGF0dGVtcHQgdG8gc2hvdyBiZWZvcmV1bmxv
YWQgY29uZmlybWF0aW9uIGRpYWxvZyBvbiBiZWhhbGYgb2YgYSBmcmFtZSB3aXRoIGRpZmZlcmVu
dCBzZWN1cml0eSBvcmlnaW4uIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0
Y2guIik7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQg
YXR0ZW1wdCB0byBzaG93IGJlZm9yZXVubG9hZCBjb25maXJtYXRpb24gZGlhbG9nIG9uIGJlaGFs
ZiBvZiBhIGZyYW1lIHdpdGggZGlmZmVyZW50IHNlY3VyaXR5IG9yaWdpbi4gUHJvdG9jb2xzLCBk
b21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4iKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTMwNzEsMTAgKzMwNzAsMTAg
QEAgYm9vbCBGcmFtZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0TG9hZEZvclhGcmFtZU9wdGlvbnMo
Y29uc3QgU3RyaW5nJiBjb250ZW50LCBjb24KICAgICBjYXNlIFhGcmFtZU9wdGlvbnNBbGxvd0Fs
bDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2UgWEZyYW1lT3B0aW9uc0NvbmZsaWN0
OgotICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJNdWx0aXBsZSAnWC1GcmFtZS1PcHRpb25zJyBo
ZWFkZXJzIHdpdGggY29uZmxpY3RpbmcgdmFsdWVzICgnIiArIGNvbnRlbnQgKyAiJykgZW5jb3Vu
dGVyZWQgd2hlbiBsb2FkaW5nICciICsgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0
aCgpICsgIicuIEZhbGxpbmcgYmFjayB0byAnREVOWScuIiwgcmVxdWVzdElkZW50aWZpZXIpOwor
ICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiTXVsdGlwbGUgJ1gtRnJhbWUtT3B0aW9ucycg
aGVhZGVycyB3aXRoIGNvbmZsaWN0aW5nIHZhbHVlcyAoJyIgKyBjb250ZW50ICsgIicpIGVuY291
bnRlcmVkIHdoZW4gbG9hZGluZyAnIiArIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5n
dGgoKSArICInLiBGYWxsaW5nIGJhY2sgdG8gJ0RFTlknLiIsIHJlcXVlc3RJZGVudGlmaWVyKTsK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgY2FzZSBYRnJhbWVPcHRpb25zSW52YWxpZDoKLSAg
ICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCAnWC1GcmFtZS1PcHRpb25zJyBoZWFkZXIg
ZW5jb3VudGVyZWQgd2hlbiBsb2FkaW5nICciICsgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRU
b0xlbmd0aCgpICsgIic6ICciICsgY29udGVudCArICInIGlzIG5vdCBhIHJlY29nbml6ZWQgZGly
ZWN0aXZlLiBUaGUgaGVhZGVyIHdpbGwgYmUgaWdub3JlZC4iLCByZXF1ZXN0SWRlbnRpZmllcik7
CisgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJJbnZhbGlkICdYLUZyYW1lLU9wdGlvbnMn
IGhlYWRlciBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcgJyIgKyB1cmwuc3RyaW5nQ2VudGVyRWxs
aXBzaXplZFRvTGVuZ3RoKCkgKyAiJzogJyIgKyBjb250ZW50ICsgIicgaXMgbm90IGEgcmVjb2du
aXplZCBkaXJlY3RpdmUuIFRoZSBoZWFkZXIgd2lsbCBiZSBpZ25vcmVkLiIsIHJlcXVlc3RJZGVu
dGlmaWVyKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMzQ2Niw3ICszNDY1LDcgQEAgUGFzc1JlZlB0cjxGcmFt
ZT4gY3JlYXRlV2luZG93KEZyYW1lKiBvcGVuZXJGcmFtZSwgRnJhbWUqIGxvb2t1cEZyYW1lLCBj
b25zdCBGcmEKICAgICAvLyBTYW5kYm94ZWQgZnJhbWVzIGNhbm5vdCBvcGVuIG5ldyBhdXhpbGlh
cnkgYnJvd3NpbmcgY29udGV4dHMuCiAgICAgaWYgKGlzRG9jdW1lbnRTYW5kYm94ZWQob3BlbmVy
RnJhbWUsIFNhbmRib3hQb3B1cHMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG1lc3NhZ2Ug
c2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24gdG8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMuCi0gICAgICAg
IG9wZW5lckZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBvcGVuaW5nICciICsgcmVxdWVz
dC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgo
KSArICInIGluIGEgbmV3IHdpbmRvdyBiZWNhdXNlIHRoZSByZXF1ZXN0IHdhcyBtYWRlIGluIGEg
c2FuZGJveGVkIGZyYW1lIHdob3NlICdhbGxvdy1wb3B1cHMnIHBlcm1pc3Npb24gaXMgbm90IHNl
dC4iKTsKKyAgICAgICAgb3BlbmVyRnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQmxvY2tlZCBv
cGVuaW5nICciICsgcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJF
bGxpcHNpemVkVG9MZW5ndGgoKSArICInIGluIGEgbmV3IHdpbmRvdyBiZWNhdXNlIHRoZSByZXF1
ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJveGVkIGZyYW1lIHdob3NlICdhbGxvdy1wb3B1cHMnIHBl
cm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCAxM2MzMmZmLi40NWRhMTQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNs
dWRlICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIK
ICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgor
I2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgogCiAjaWYgRU5BQkxFKFNWRykKQEAgLTI5Niw3ICsyOTYsNyBAQCB2b2lkIElt
YWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAg
ICAgIGVycm9yRXZlbnRTZW5kZXIoKS5kaXNwYXRjaEV2ZW50U29vbih0aGlzKTsKIAogICAgICAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVy
YWwoIkNyb3NzLW9yaWdpbiBpbWFnZSBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3Vy
Y2UgU2hhcmluZyBwb2xpY3kuIikpKTsKLSAgICAgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLmFk
ZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLmFkZENvbnNv
bGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBj
b25zb2xlTWVzc2FnZSk7CiAKICAgICAgICAgQVNTRVJUKCFtX2hhc1BlbmRpbmdMb2FkRXZlbnQp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKaW5k
ZXggZTUwN2FhNi4uMTdmMzRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01p
eGVkQ29udGVudENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENv
bnRlbnRDaGVja2VyLmNwcApAQCAtOTQsNyArOTQsNyBAQCBib29sIE1peGVkQ29udGVudENoZWNr
ZXI6OmNhblJ1bkluc2VjdXJlQ29udGVudChTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4s
CiB2b2lkIE1peGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmcoYm9vbCBhbGxvd2VkLCBjb25z
dCBTdHJpbmcmIGFjdGlvbiwgY29uc3QgVVJMJiB0YXJnZXQpIGNvbnN0CiB7CiAgICAgU3RyaW5n
IG1lc3NhZ2UgPSBtYWtlU3RyaW5nKChhbGxvd2VkID8gIiIgOiAiW2Jsb2NrZWRdICIpLCAiVGhl
IHBhZ2UgYXQgIiwgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNp
emVkVG9MZW5ndGgoKSwgIiAiLCBhY3Rpb24sICIgaW5zZWN1cmUgY29udGVudCBmcm9tICIsIHRh
cmdldC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSwgIi5cbiIpOwotICAgIG1fZnJh
bWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBX
YXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6Oldh
cm5pbmcsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCmluZGV4IDM1ZDc4OGMuLjVmMGJhM2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCkBAIC0zNiw3ICszNiw2
IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VCdWZmZXIuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNs
dWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlRleHRUcmFja0N1ZS5oIgogI2luY2x1
ZGUgIldlYlZUVFBhcnNlci5oIgpAQCAtMTE4LDcgKzExNyw3IEBAIHZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpjb3JzUG9saWN5UHJldmVudGVkTG9hZCgpCiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJDcm9zcy1vcmlnaW4gdGV4
dCB0cmFjayBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xp
Y3kuIikpKTsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSB0b0RvY3VtZW50KG1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCk7Ci0gICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICBk
b2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIGNvbnNvbGVNZXNzYWdlKTsKICAgICBtX3N0YXRlID0gRmFpbGVkOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDE3NjNmMDYuLmU4NzcxODIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAu
Y3BwCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKQEAgLTQ3MSw3ICs0NzEsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
YWJvcnQoRnJhbWUqIGZyYW1lKQogICAgIGlmIChtX2NvbXBsZXRpb25UeXBlICE9IE5vbmUpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgRGVidWdNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBD
YWNoZSBkb3dubG9hZCBwcm9jZXNzIHdhcyBhYm9ydGVkLiIpOworICAgIGZyYW1lLT5kb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlTGV2
ZWw6OkRlYnVnLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIGRvd25sb2FkIHByb2Nl
c3Mgd2FzIGFib3J0ZWQuIikpOwogICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiB9CiAKQEAgLTU0
Nyw3ICs1NDcsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlcwogCiAgICAgaWYgKHJlc3BvbnNl
Lmh0dHBTdGF0dXNDb2RlKCkgLyAxMDAgIT0gMiB8fCByZXNwb25zZS51cmwoKSAhPSBtX2N1cnJl
bnRIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpKSB7CiAgICAgICAgIGlmICgodHlwZSAmIEFw
cGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6RXhwbGljaXQpIHx8ICh0eXBlICYgQXBwbGljYXRpb25D
YWNoZVJlc291cmNlOjpGYWxsYmFjaykpIHsKLSAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKEFwcENhY2hlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyBtX2N1
cnJlbnRIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRU
b0xlbmd0aCgpICsKKyAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQXBw
bGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgbV9jdXJyZW50SGFuZGxl
LT5maXJzdFJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSAr
CiAgICAgICAgICAgICAgICAgKChyZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpIC8gMTAwICE9IDIp
ID8gIiBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iIDogIiB3YXMgcmVkaXJlY3RlZC4iKSk7CiAgICAg
ICAgICAgICAvLyBOb3RlIHRoYXQgY2FjaGVVcGRhdGVGYWlsZWQoKSBjYW4gY2F1c2UgdGhlIGNh
Y2hlIGdyb3VwIHRvIGJlIGRlbGV0ZWQuCiAgICAgICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgp
OwpAQCAtNjI2LDcgKzYyNiw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5p
c2hMb2FkaW5nKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGRvdWJsZSBmaW5pCiAgICAgLy8gRklY
TUU6IFNob3VsZCB3ZSBicmVhayBlYXJsaWVyIGFuZCBwcmV2ZW50IHJlZG93bmxvYWRpbmcgb24g
bGF0ZXIgcGFnZSBsb2Fkcz8KICAgICBpZiAobV9vcmlnaW5RdW90YUV4Y2VlZGVkUHJldmlvdXNs
eSAmJiBtX2F2YWlsYWJsZVNwYWNlSW5RdW90YSA8IG1fY2FjaGVCZWluZ1VwZGF0ZWQtPmVzdGlt
YXRlZFNpemVJblN0b3JhZ2UoKSkgewogICAgICAgICBtX2N1cnJlbnRSZXNvdXJjZSA9IDA7Ci0g
ICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEFwcENhY2hlTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUg
ZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIpOworICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpBcHBDYWNo
ZSwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlvbiBDYWNoZSB1
cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIpKTsKICAgICAg
ICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY2MSw3
ICs2NjEsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmFpbChSZXNvdXJjZUhh
bmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZUVycm9yJgogICAgIG1fcGVuZGluZ0VudHJpZXMu
cmVtb3ZlKHVybCk7CiAKICAgICBpZiAoKHR5cGUgJiBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6
OkV4cGxpY2l0KSB8fCAodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6RmFsbGJhY2sp
KSB7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEFwcENh
Y2hlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1
cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyB1cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVu
Z3RoKCkgKyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1
bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpBcHBDYWNoZSwgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ug
IiArIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICIgY291bGQgbm90IGJl
IGZldGNoZWQuIik7CiAgICAgICAgIC8vIE5vdGUgdGhhdCBjYWNoZVVwZGF0ZUZhaWxlZCgpIGNh
biBjYXVzZSB0aGUgY2FjaGUgZ3JvdXAgdG8gYmUgZGVsZXRlZC4KICAgICAgICAgY2FjaGVVcGRh
dGVGYWlsZWQoKTsKICAgICB9IGVsc2UgewpAQCAtNjkwLDEzICs2OTAsMTMgQEAgdm9pZCBBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVNYW5pZmVzdFJlc3BvbnNlKGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHIKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHJlc3BvbnNlLmh0dHBT
dGF0dXNDb2RlKCkgLyAxMDAgIT0gMikgewotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAi
QXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuIik7CisgICAg
ICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6
Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENh
Y2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpKTsKICAgICAgICAgY2FjaGVVcGRh
dGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChyZXNwb25zZS51
cmwoKSAhPSBtX21hbmlmZXN0SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKSkgewotICAgICAg
ICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQg
bm90IGJlIGZldGNoZWQsIGJlY2F1c2UgYSByZWRpcmVjdGlvbiB3YXMgYXR0ZW1wdGVkLiIpOwor
ICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlv
biBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVzZSBhIHJlZGlyZWN0
aW9uIHdhcyBhdHRlbXB0ZWQuIikpOwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtNzE2LDcgKzcxNiw3IEBAIHZvaWQgQXBwbGljYXRpb25D
YWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nTWFuaWZlc3QoKQogCiAgICAgaWYgKCFpc1VwZ3Jh
ZGVBdHRlbXB0ICYmICFtX21hbmlmZXN0UmVzb3VyY2UpIHsKICAgICAgICAgLy8gVGhlIHNlcnZl
ciByZXR1cm5lZCAzMDQgTm90IE1vZGlmaWVkIGV2ZW4gdGhvdWdoIHdlIGRpZG4ndCBzZW5kIGEg
Y29uZGl0aW9uYWwgcmVxdWVzdC4KLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxp
Y2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkIGJlY2F1c2Ugb2YgYW4g
dW5leHBlY3RlZCAzMDQgTm90IE1vZGlmaWVkIHNlcnZlciByZXNwb25zZS4iKTsKKyAgICAgICAg
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3Ro
ZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUg
bWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQgYmVjYXVzZSBvZiBhbiB1bmV4cGVjdGVkIDMw
NCBOb3QgTW9kaWZpZWQgc2VydmVyIHJlc3BvbnNlLiIpKTsKICAgICAgICAgY2FjaGVVcGRhdGVG
YWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTc0Miw3ICs3NDIsNyBAQCB2b2lk
IEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KCkKICAgICBN
YW5pZmVzdCBtYW5pZmVzdDsKICAgICBpZiAoIXBhcnNlTWFuaWZlc3QobV9tYW5pZmVzdFVSTCwg
bV9tYW5pZmVzdFJlc291cmNlLT5kYXRhKCktPmRhdGEoKSwgbV9tYW5pZmVzdFJlc291cmNlLT5k
YXRhKCktPnNpemUoKSwgbWFuaWZlc3QpKSB7CiAgICAgICAgIC8vIEF0IHRoZSB0aW1lIG9mIHRo
aXMgd3JpdGluZywgbGFjayBvZiAiQ0FDSEUgTUFOSUZFU1QiIHNpZ25hdHVyZSBpcyB0aGUgb25s
eSByZWFzb24gZm9yIHBhcnNlTWFuaWZlc3QgdG8gZmFpbC4KLSAgICAgICAgbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBwYXJzZWQu
IERvZXMgaXQgc3RhcnQgd2l0aCBDQUNIRSBNQU5JRkVTVD8iKTsKKyAgICAgICAgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3Qg
Y291bGQgbm90IGJlIHBhcnNlZC4gRG9lcyBpdCBzdGFydCB3aXRoIENBQ0hFIE1BTklGRVNUPyIp
KTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
QEAgLTkyOSw3ICs5MjksNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxv
YWRJc0NvbXBsZXRlKCkKICAgICAgICAgICAgICAgICAvLyBXZSByYW4gb3V0IG9mIHNwYWNlIGZv
ciB0aGlzIG9yaWdpbi4gRmFsbCBkb3duIHRvIHRoZSBub3JtYWwgZXJyb3IgaGFuZGxpbmcKICAg
ICAgICAgICAgICAgICAvLyBhZnRlciByZWNvcmRpbmcgdGhpcyBzdGF0ZS4KICAgICAgICAgICAg
ICAgICBtX29yaWdpblF1b3RhRXhjZWVkZWRQcmV2aW91c2x5ID0gdHJ1ZTsKLSAgICAgICAgICAg
ICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxl
ZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNlZWRlZC4iKTsKKyAgICAgICAgICAgICAgICBt
X2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhl
ciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlvbiBDYWNoZSB1
cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIpKTsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgaWYgKGZhaWx1cmVSZWFzb24gPT0gQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2U6OlRvdGFsUXVvdGFSZWFjaGVkICYmICFtX2NhbGxlZFJlYWNoZWRNYXhBcHBD
YWNoZVNpemUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDY2YjhhMDkuLjliZmRiNjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAt
NjQyLDcgKzY0Miw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVu
aWVkTWVzc2FnZShjb25zdCBVUkwmIHVybCkgY29uc3QKICAgICBlbHNlCiAgICAgICAgIG1lc3Nh
Z2UgPSAiVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgIiArIHVybC5zdHJpbmdDZW50ZXJFbGxp
cHNpemVkVG9MZW5ndGgoKSArICIgZnJvbSBmcmFtZSB3aXRoIFVSTCAiICsgbV9kb2N1bWVudC0+
dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiLiBEb21haW5zLCBwcm90
b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guXG4iOwogCi0gICAgZnJhbWUoKS0+ZG9jdW1lbnQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgbWVzc2FnZSk7CisgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2Up
OwogfQogCiB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpzZXRBdXRvTG9hZEltYWdlcyhib29s
IGVuYWJsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGFlNWI2ZDEuLmY2ZDVk
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMjMsOCArMjMsNiBAQAogI2Rl
ZmluZSBDaHJvbWVDbGllbnRfaAogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgotI2luY2x1
ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1
ZGUgIkN1cnNvci5oIgogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiRnJh
bWVMb2FkZXIuaCIKQEAgLTM3LDYgKzM1LDcgQEAKICNpbmNsdWRlICJTY3JvbGxpbmdDb29yZGlu
YXRvci5oIgogI2luY2x1ZGUgIlNlYXJjaFBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYkNvcmVL
ZXlib2FyZFVJTW9kZS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25z
b2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKaW5kZXggZTIxYjg2Mi4u
ZTczYTZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCkBAIC0zMSw4ICszMSw2IEBACiAKICNp
bmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKLSNpbmNsdWRlICJD
b25zb2xlQVBJVHlwZXMuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIK
QEAgLTQyLDE4ICs0MCwyMSBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ29u
c29sZS5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgotI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50
cy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0UHJvZmlsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+Cisj
aW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9T
Y3JpcHRBcmd1bWVudHMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+
CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRl
IDxzdGRpby5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAordXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBDb25zb2xlOjpDb25zb2xlKEZyYW1lKiBmcmFtZSkKQEAgLTgxLDEz
ICs4MiwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlcm5hbEFkZE1lc3NhZ2UoUGFnZSogcGFnZSwgTWVz
c2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLAogCiAgICAgU3RyaW5nIG1lc3NhZ2U7
CiAgICAgYm9vbCBnb3RNZXNzYWdlID0gYXJndW1lbnRzLT5nZXRGaXJzdEFyZ3VtZW50QXNTdHJp
bmcobWVzc2FnZSk7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9D
b25zb2xlKHBhZ2UsIENvbnNvbGVBUElNZXNzYWdlU291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2Fn
ZSwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRN
ZXNzYWdlVG9Db25zb2xlKHBhZ2UsIE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIHR5cGUsIGxl
dmVsLCBtZXNzYWdlLCBzdGF0ZSwgYXJndW1lbnRzKTsKIAogICAgIGlmIChwYWdlLT5zZXR0aW5n
cygpLnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KGdvdE1lc3NhZ2UpCi0gICAgICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLmFkZE1lc3NhZ2VU
b0NvbnNvbGUoQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBs
YXN0Q2FsbGVyLmxpbmVOdW1iZXIoKSwgbGFzdENhbGxlci5jb2x1bW5OdW1iZXIoKSwgbGFzdENh
bGxlci5zb3VyY2VVUkwoKSk7CisgICAgICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLmFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSwgdHlwZSwgbGV2ZWwsIG1l
c3NhZ2UsIGxhc3RDYWxsZXIubGluZU51bWJlcigpLCBsYXN0Q2FsbGVyLmNvbHVtbk51bWJlcigp
LCBsYXN0Q2FsbGVyLnNvdXJjZVVSTCgpKTsKIAogICAgIGlmICghcGFnZS0+c2V0dGluZ3MoKS5s
b2dzUGFnZU1lc3NhZ2VzVG9TeXN0ZW1Db25zb2xlRW5hYmxlZCgpICYmICFQYWdlQ29uc29sZTo6
c2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTk2LDcgKzk3LDcg
QEAgc3RhdGljIHZvaWQgaW50ZXJuYWxBZGRNZXNzYWdlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VUeXBl
IHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwKIAogICAgIHByaW50ZigiOiAiKTsKIAotICAgIFBh
Z2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChDb25zb2xlQVBJTWVz
c2FnZVNvdXJjZSwgbGV2ZWwsIHByaW50VHJhY2UpOworICAgIFBhZ2VDb25zb2xlOjpwcmludE1l
c3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBsZXZl
bCwgcHJpbnRUcmFjZSk7CiAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFyZ3VtZW50cy0+
YXJndW1lbnRDb3VudCgpOyArK2kpIHsKICAgICAgICAgU3RyaW5nIGFyZ0FzU3RyaW5nID0gYXJn
dW1lbnRzLT5hcmd1bWVudEF0KGkpLnRvU3RyaW5nKGFyZ3VtZW50cy0+Z2xvYmFsU3RhdGUoKSk7
CkBAIC0xMjUsMTIgKzEyNiwxMiBAQCBzdGF0aWMgdm9pZCBpbnRlcm5hbEFkZE1lc3NhZ2UoUGFn
ZSogcGFnZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLAogCiB2b2lkIENv
bnNvbGU6OmRlYnVnKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBMb2dN
ZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGlu
dGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6
RGVidWcsIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6OmVycm9yKEpTQzo6
RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykK
IHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShw
YWdlKCksIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIHN0YXRlLCBhcmd1
bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6OmluZm8oSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpAQCAtMTQwLDM3ICsxNDEsMzcg
QEAgdm9pZCBDb25zb2xlOjppbmZvKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAogdm9pZCBDb25zb2xlOjpsb2coSlNDOjpFeGVj
U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewot
ICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIExvZ01lc3NhZ2VUeXBlLCBMb2dNZXNzYWdl
TGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCks
IE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRzKTsK
IH0KIAogdm9pZCBDb25zb2xlOjp3YXJuKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2Uo
cGFnZSgpLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3Vt
ZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkxvZywg
TWVzc2FnZUxldmVsOjpXYXJuaW5nLCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25z
b2xlOjpkaXIoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4gYXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIERpck1lc3Nh
Z2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFs
QWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpEaXIsIE1lc3NhZ2VMZXZlbDo6TG9nLCBz
dGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25zb2xlOjpkaXJ4bWwoSlNDOjpFeGVjU3Rh
dGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAg
IGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIERpclhNTE1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdl
TGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCks
IE1lc3NhZ2VUeXBlOjpEaXJYTUwsIE1lc3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRz
KTsKIH0KIAogdm9pZCBDb25zb2xlOjp0YWJsZShKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NS
ZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNz
YWdlKHBhZ2UoKSwgVGFibGVNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJn
dW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6VGFi
bGUsIE1lc3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25z
b2xlOjpjbGVhcihKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1l
bnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgQ2xlYXJN
ZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlKTsKKyAg
ICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6Q2xlYXIsIE1lc3NhZ2VM
ZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlKTsKIH0KIAogdm9pZCBDb25zb2xlOjp0
cmFjZShKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgVHJhY2VNZXNzYWdl
VHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlLCB0cnVlKTsKKyAg
ICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6VHJhY2UsIE1lc3NhZ2VM
ZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlLCB0cnVlKTsKIH0KIAogdm9pZCBDb25z
b2xlOjphc3NlcnRDb25kaXRpb24oSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNj
cmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzLCBib29sIGNvbmRpdGlvbikKQEAgLTE3OCw3ICsxNzks
NyBAQCB2b2lkIENvbnNvbGU6OmFzc2VydENvbmRpdGlvbihKU0M6OkV4ZWNTdGF0ZSogc3RhdGUs
IFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPgogICAgIGlmIChjb25kaXRpb24pCiAgICAgICAg
IHJldHVybjsKIAotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIEFzc2VydE1lc3NhZ2VU
eXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSk7CisgICAgaW50
ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkFzc2VydCwgTWVzc2FnZUxldmVs
OjpFcnJvciwgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6Y291
bnQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJn
dW1lbnRzKQpAQCAtMjQzLDE3ICsyNDQsMTcgQEAgdm9pZCBDb25zb2xlOjp0aW1lU3RhbXAoUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAogdm9pZCBDb25zb2xlOjpncm91
cChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1
bWVudHMpCiB7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25z
b2xlKHBhZ2UoKSwgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIFN0YXJ0R3JvdXBNZXNzYWdlVHlw
ZSwgTG9nTWVzc2FnZUxldmVsLCBTdHJpbmcoKSwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UoKSwgTWVzc2Fn
ZVNvdXJjZTo6Q29uc29sZUFQSSwgTWVzc2FnZVR5cGU6OlN0YXJ0R3JvdXAsIE1lc3NhZ2VMZXZl
bDo6TG9nLCBTdHJpbmcoKSwgc3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6
Z3JvdXBDb2xsYXBzZWQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFy
Z3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRk
TWVzc2FnZVRvQ29uc29sZShwYWdlKCksIENvbnNvbGVBUElNZXNzYWdlU291cmNlLCBTdGFydEdy
b3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgU3RyaW5nKCksIHN0YXRl
LCBhcmd1bWVudHMpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRv
Q29uc29sZShwYWdlKCksIE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpT
dGFydEdyb3VwQ29sbGFwc2VkLCBNZXNzYWdlTGV2ZWw6OkxvZywgU3RyaW5nKCksIHN0YXRlLCBh
cmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6Omdyb3VwRW5kKCkKIHsKLSAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSgpLCBDb25zb2xlQVBJ
TWVzc2FnZVNvdXJjZSwgRW5kR3JvdXBNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBTdHJp
bmcoKSwgU3RyaW5nKCksIDAsIDApOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRk
TWVzc2FnZVRvQ29uc29sZShwYWdlKCksIE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3Nh
Z2VUeXBlOjpFbmRHcm91cCwgTWVzc2FnZUxldmVsOjpMb2csIFN0cmluZygpLCBTdHJpbmcoKSwg
MCwgMCk7CiB9CiAKIFBhZ2UqIENvbnNvbGU6OnBhZ2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUu
aAppbmRleCA2NGVhYzFhLi45OGU0YjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnNvbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaApAQCAtMzcsMTEg
KzM3LDE0IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgogCituYW1lc3BhY2UgSW5zcGVjdG9yIHsKK2NsYXNzIFNjcmlwdEFyZ3VtZW50
czsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIFBhZ2U7
Ci1jbGFzcyBTY3JpcHRBcmd1bWVudHM7CiAKIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxTY3JpcHRQ
cm9maWxlPj4gUHJvZmlsZXNBcnJheTsKIApAQCAtNTAsMjYgKzUzLDI2IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxDb25zb2xlPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVy
biBhZG9wdFJlZihuZXcgQ29uc29sZShmcmFtZSkpOyB9CiAgICAgdmlydHVhbCB+Q29uc29sZSgp
OwogCi0gICAgdm9pZCBkZWJ1ZyhKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPik7Ci0gICAgdm9pZCBlcnJvcihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBpbmZvKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGxvZyhKU0M6OkV4ZWNTdGF0ZSosIFBhc3NS
ZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBjbGVhcihKU0M6OkV4ZWNTdGF0ZSos
IFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCB3YXJuKEpTQzo6RXhlY1N0
YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGRpcihKU0M6OkV4
ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBkaXJ4bWwo
SlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQg
dGFibGUoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAg
IHZvaWQgdHJhY2UoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4p
OwotICAgIHZvaWQgYXNzZXJ0Q29uZGl0aW9uKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+LCBib29sIGNvbmRpdGlvbik7Ci0gICAgdm9pZCBjb3VudChKU0M6OkV4
ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBkZWJ1ZyhK
U0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsK
KyAgICB2b2lkIGVycm9yKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNj
cmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgaW5mbyhKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGxvZyhKU0M6OkV4ZWNT
dGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lk
IGNsZWFyKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3Vt
ZW50cz4pOworICAgIHZvaWQgd2FybihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGRpcihKU0M6OkV4ZWNTdGF0ZSosIFBh
c3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGRpcnhtbChK
U0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsK
KyAgICB2b2lkIHRhYmxlKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNj
cmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgdHJhY2UoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVm
UHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBhc3NlcnRDb25kaXRp
b24oSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRz
PiwgYm9vbCBjb25kaXRpb24pOworICAgIHZvaWQgY291bnQoSlNDOjpFeGVjU3RhdGUqLCBQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAgICAgY29uc3QgUHJvZmlsZXNB
cnJheSYgcHJvZmlsZXMoKSBjb25zdCB7IHJldHVybiBtX3Byb2ZpbGVzOyB9CiAgICAgdm9pZCBw
cm9maWxlKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiA9IFN0cmluZygpKTsKICAgICB2
b2lkIHByb2ZpbGVFbmQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmID0gU3RyaW5nKCkp
OwogICAgIHZvaWQgdGltZShjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHRpbWVFbmQoSlNDOjpF
eGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIHRpbWVTdGFtcChQYXNzUmVmUHRy
PFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgZ3JvdXAoSlNDOjpFeGVjU3RhdGUqLCBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgZ3JvdXBDb2xsYXBzZWQoSlNDOjpF
eGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgdGltZVN0
YW1wKFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGdy
b3VwKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50
cz4pOworICAgIHZvaWQgZ3JvdXBDb2xsYXBzZWQoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAgICAgdm9pZCBncm91cEVuZCgpOwogCiBw
cml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDgwNGExNjcuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25z
b2xlVHlwZXMuaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aWZuZGVmIENvbnNvbGVUeXBlc19oCi0jZGVmaW5lIENvbnNvbGVUeXBlc19oCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotZW51bSBNZXNzYWdlU291cmNlIHsKLSAgICBYTUxNZXNzYWdlU291cmNl
LAotICAgIEpTTWVzc2FnZVNvdXJjZSwKLSAgICBOZXR3b3JrTWVzc2FnZVNvdXJjZSwKLSAgICBD
b25zb2xlQVBJTWVzc2FnZVNvdXJjZSwKLSAgICBTdG9yYWdlTWVzc2FnZVNvdXJjZSwKLSAgICBB
cHBDYWNoZU1lc3NhZ2VTb3VyY2UsCi0gICAgUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwKLSAgICBD
U1NNZXNzYWdlU291cmNlLAotICAgIFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwKLSAgICBPdGhlck1l
c3NhZ2VTb3VyY2UsCi19OwotCi1lbnVtIE1lc3NhZ2VMZXZlbCB7Ci0gICAgRGVidWdNZXNzYWdl
TGV2ZWwgPSA0LAotICAgIExvZ01lc3NhZ2VMZXZlbCA9IDEsCi0gICAgV2FybmluZ01lc3NhZ2VM
ZXZlbCA9IDIsCi0gICAgRXJyb3JNZXNzYWdlTGV2ZWwgPSAzCi19OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBDb25zb2xlVHlwZXNfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4IDBhZWE5YWEuLmUwNzRhYWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKQEAgLTM1
LDE3ICszNSwxOCBAQAogI2luY2x1ZGUgIkZvcm1EYXRhTGlzdC5oIgogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiVVJM
LmgiCisjaW5jbHVkZSAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiUGluZ0xv
YWRlci5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJT
Y2hlbWVSZWdpc3RyeS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2luY2x1ZGUg
IlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogI2lu
Y2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3lWaW9sYXRp
b25FdmVudC5oIgogI2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgorI2luY2x1ZGUgIlVSTC5oIgog
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0
b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1RleHRQb3NpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMTc4
OCw3ICsxNzg5LDcgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydFZpb2xhdGlv
bihjb25zdCBTdHJpbmcmIGRpcmVjdGl2ZVRleHQsIGNvbnN0IFMKICAgICBjc3BSZXBvcnQtPnNl
dFN0cmluZygib3JpZ2luYWwtcG9saWN5IiwgaGVhZGVyKTsKICAgICBjc3BSZXBvcnQtPnNldFN0
cmluZygiYmxvY2tlZC11cmkiLCBzdHJpcFVSTEZvclVzZUluUmVwb3J0KGRvY3VtZW50LCBibG9j
a2VkVVJMKSk7CiAKLSAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFjayA9IGNyZWF0ZVNj
cmlwdENhbGxTdGFjaygyLCBmYWxzZSk7CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3Rh
Y2sgPSBjcmVhdGVTY3JpcHRDYWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50
U3RhdGUoKSwgMiwgZmFsc2UpOwogICAgIGlmIChzdGFjaykgewogICAgICAgICBjb25zdCBTY3Jp
cHRDYWxsRnJhbWUmIGNhbGxGcmFtZSA9IGdldEZpcnN0Tm9uTmF0aXZlRnJhbWUoc3RhY2spOwog
CkBAIC0xODk5LDcgKzE5MDAsNyBAQCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0
TWlzc2luZ1JlcG9ydFVSSShjb25zdCBTdHJpbmcmIHBvbGljeSkgY29uc3QKIHZvaWQgQ29udGVu
dFNlY3VyaXR5UG9saWN5Ojpsb2dUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExp
bmUsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6
Ly93ZWJraXQub3JnL2IvMTE0MzE3PiBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmxvZ1RvQ29uc29s
ZSBzaG91bGQgaW5jbHVkZSBhIGNvbHVtbiBudW1iZXIKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLm9uZUJhc2VkSW50KCks
IDAsIHN0YXRlKTsKKyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdl
LCBjb250ZXh0VVJMLCBjb250ZXh0TGluZS5vbmVCYXNlZEludCgpLCAwLCBzdGF0ZSk7CiB9CiAK
IHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRCbG9ja2VkU2NyaXB0RXhlY3V0aW9u
VG9JbnNwZWN0b3IoY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0KSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcAppbmRleCA3YTI2NGVlLi45OTRjOTZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcApAQCAtMzAsNyArMzAs
NiBAQAogI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSAi
RE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2Fs
bFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDc1MzNiMDAuLjNkZjJjYzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
ICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtNjksNyArNjksNyBAQAogI2luY2x1ZGUg
IkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpc3RvcnkuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJVUkwuaCIKKyNpbmNsdWRl
ICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJMb2NhdGlvbi5oIgogI2luY2x1
ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0LmgiCkBAIC04NSw4ICs4
NSw2IEBACiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNj
aGVkdWxlZEFjdGlvbi5oIgogI2luY2x1ZGUgIlNjcmVlbi5oIgotI2luY2x1ZGUgIlNjcmlwdENh
bGxTdGFjay5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRl
ICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNs
dWRlICJTZWN1cml0eVBvbGljeS5oIgpAQCAtOTgsMTAgKzk2LDEzIEBACiAjaW5jbHVkZSAiU3R5
bGVNZWRpYS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJTdWRkZW5U
ZXJtaW5hdGlvbi5oIgorI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIldlYktpdFBvaW50Lmgi
CiAjaW5jbHVkZSAiV2luZG93RmVhdHVyZXMuaCIKICNpbmNsdWRlICJXaW5kb3dGb2N1c0FsbG93
ZWRJbmRpY2F0b3IuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CisjaW5jbHVkZSA8aW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tG
YWN0b3J5Lmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01h
aW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpAQCAtMTI0LDYgKzEyNSw4
IEBACiAjaW5jbHVkZSAiV0tDb250ZW50T2JzZXJ2YXRpb24uaCIKICNlbmRpZgogCit1c2luZyBu
YW1lc3BhY2UgSW5zcGVjdG9yOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBvc3RN
ZXNzYWdlVGltZXIgOiBwdWJsaWMgVGltZXJCYXNlIHsKQEAgLTg0Myw3ICs4NDYsNyBAQCB2b2lk
IERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
IG1lc3NhZ2UsIGNvbnN0IE1lcwogICAgIC8vIENhcHR1cmUgc3RhY2sgdHJhY2Ugb25seSB3aGVu
IGluc3BlY3RvciBmcm9udC1lbmQgaXMgbG9hZGVkIGFzIGl0IG1heSBiZSB0aW1lIGNvbnN1bWlu
Zy4KICAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFja1RyYWNlOwogICAgIGlmIChJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVBZ2VudEVuYWJsZWQoc291cmNlRG9jdW1lbnQp
KQotICAgICAgICBzdGFja1RyYWNlID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKFNjcmlwdENhbGxT
dGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7CisgICAgICAgIHN0YWNrVHJh
Y2UgPSBjcmVhdGVTY3JpcHRDYWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50
U3RhdGUoKSwgU2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0cnVl
KTsKIAogICAgIC8vIFNjaGVkdWxlIHRoZSBtZXNzYWdlLgogICAgIFBvc3RNZXNzYWdlVGltZXIq
IHRpbWVyID0gbmV3IFBvc3RNZXNzYWdlVGltZXIodGhpcywgbWVzc2FnZSwgc291cmNlT3JpZ2lu
LCAmc291cmNlLCBjaGFubmVscy5yZWxlYXNlKCksIHRhcmdldC5nZXQoKSwgc3RhY2tUcmFjZS5y
ZWxlYXNlKCkpOwpAQCAtODY3LDcgKzg3MCw3IEBAIHZvaWQgRE9NV2luZG93OjpkaXNwYXRjaE1l
c3NhZ2VFdmVudFdpdGhPcmlnaW5DaGVjayhTZWN1cml0eU9yaWdpbiogaW50ZW5kZWRUYXJnCiAg
ICAgICAgIGlmICghaW50ZW5kZWRUYXJnZXRPcmlnaW4tPmlzU2FtZVNjaGVtZUhvc3RQb3J0KGRv
Y3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKSB7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2Fn
ZSA9ICJVbmFibGUgdG8gcG9zdCBtZXNzYWdlIHRvICIgKyBpbnRlbmRlZFRhcmdldE9yaWdpbi0+
dG9TdHJpbmcoKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIuIFJlY2lwaWVudCBo
YXMgb3JpZ2luICIgKyBkb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpICsg
Ii5cbiI7Ci0gICAgICAgICAgICBwYWdlQ29uc29sZSgpLT5hZGRNZXNzYWdlKFNlY3VyaXR5TWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHN0YWNrVHJhY2UpOworICAg
ICAgICAgICAgcGFnZUNvbnNvbGUoKS0+YWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0
eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSwgc3RhY2tUcmFjZSk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC05NjYsNyArOTY5LDcgQEAgdm9pZCBET01X
aW5kb3c6OmNsb3NlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAgYm9vbCBh
bGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cyA9IG1fZnJhbWUtPnNldHRpbmdzKCkuYWxsb3dTY3Jp
cHRzVG9DbG9zZVdpbmRvd3MoKTsKIAogICAgIGlmICghKHBhZ2UtPm9wZW5lZEJ5RE9NKCkgfHwg
cGFnZS0+YmFja0ZvcndhcmQoKS5jb3VudCgpIDw9IDEgfHwgYWxsb3dTY3JpcHRzVG9DbG9zZVdp
bmRvd3MpKSB7Ci0gICAgICAgIHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBBU0NJSUxpdGVyYWwoIkNhbid0IGNsb3NlIHRoZSB3
aW5kb3cgc2luY2UgaXQgd2FzIG5vdCBvcGVuZWQgYnkgSmF2YVNjcmlwdCIpKTsKKyAgICAgICAg
cGFnZUNvbnNvbGUoKS0+YWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVs
OjpXYXJuaW5nLCBBU0NJSUxpdGVyYWwoIkNhbid0IGNsb3NlIHRoZSB3aW5kb3cgc2luY2UgaXQg
d2FzIG5vdCBvcGVuZWQgYnkgSmF2YVNjcmlwdCIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtMTkzNiw3ICsxOTM5LDcgQEAgdm9pZCBET01XaW5kb3c6OnByaW50RXJyb3JNZXNzYWdl
KGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICBpZiAobWVzc2FnZS5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgcGFnZUNvbnNvbGUoKS0+YWRk
TWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSk7
CiB9CiAKIFN0cmluZyBET01XaW5kb3c6OmNyb3NzRG9tYWluQWNjZXNzRXJyb3JNZXNzYWdlKGNv
bnN0IERPTVdpbmRvdyYgYWN0aXZlV2luZG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXgg
OTI5NzgxYS4uZWZhMTBlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0zNCw2ICszNCwx
MCBAQAogI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4K
IAorbmFtZXNwYWNlIEluc3BlY3RvciB7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2s7Cit9CisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEJhclByb3A7CkBAIC02NSw3ICs2OSw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQb3N0TWVzc2FnZVRpbWVyOwogICAgIGNs
YXNzIFNjaGVkdWxlZEFjdGlvbjsKICAgICBjbGFzcyBTY3JlZW47Ci0gICAgY2xhc3MgU2NyaXB0
Q2FsbFN0YWNrOwogICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNsYXNzIFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBTdG9yYWdlOwpAQCAtMjM5LDcgKzI0Miw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gTmVlZGVkIGZvciBPYmplY3RpdmUtQyBiaW5k
aW5ncyAoc2VlIGJ1ZyAyODc3NCkuCiAgICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUGFzc1JlZlB0
cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2UsIE1lc3NhZ2VQb3J0KiwgY29uc3QgU3Ry
aW5nJiB0YXJnZXRPcmlnaW4sIERPTVdpbmRvdyYgc291cmNlLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgICAgIHZvaWQgcG9zdE1lc3NhZ2VUaW1lckZpcmVkKFBhc3NPd25QdHI8UG9zdE1lc3NhZ2VU
aW1lcj4pOwotICAgICAgICB2b2lkIGRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNr
KFNlY3VyaXR5T3JpZ2luKiBpbnRlbmRlZFRhcmdldE9yaWdpbiwgUGFzc1JlZlB0cjxFdmVudD4s
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgICAgIHZvaWQgZGlzcGF0Y2hNZXNz
YWdlRXZlbnRXaXRoT3JpZ2luQ2hlY2soU2VjdXJpdHlPcmlnaW4qIGludGVuZGVkVGFyZ2V0T3Jp
Z2luLCBQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxT
dGFjaz4pOwogCiAgICAgICAgIHZvaWQgc2Nyb2xsQnkoaW50IHgsIGludCB5KSBjb25zdDsKICAg
ICAgICAgdm9pZCBzY3JvbGxUbyhpbnQgeCwgaW50IHkpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmNwcAppbmRleCA0Y2NmYmUzLi5lMWQ5NTFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmNwcApAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUgIlJlc291cmNlRXJyb3Iu
aCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3Bv
bnNlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRl
ICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtMjI4LDcgKzIyNyw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6
OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwCiAgICAgICAgICAgICBtZXNzYWdlLmFwcGVuZChjaGFyc2V0KTsKICAgICAgICAgICAg
IG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiXCIpIHRoYXQgaXMgbm90IFVURi04LiBBYm9ydGluZyB0
aGUgY29ubmVjdGlvbi4iKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlzc2luZyB0
aGUgc291cmNlIGxpbmUuCi0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UudG9TdHJpbmcoKSk7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBt
ZXNzYWdlLnRvU3RyaW5nKCkpOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8g
VG8ga2VlcCB0aGUgc2lnbmFsLXRvLW5vaXNlIHJhdGlvIGxvdywgd2Ugb25seSBsb2cgMjAwLXJl
c3BvbnNlIHdpdGggYW4gaW52YWxpZCBNSU1FIHR5cGUuCkBAIC0yMzgsNyArMjM3LDcgQEAgdm9p
ZCBFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIHJlc3AKICAgICAgICAgICAgIG1lc3NhZ2UuYXBwZW5kKHJlc3BvbnNl
Lm1pbWVUeXBlKCkpOwogICAgICAgICAgICAgbWVzc2FnZS5hcHBlbmRMaXRlcmFsKCJcIikgdGhh
dCBpcyBub3QgXCJ0ZXh0L2V2ZW50LXN0cmVhbVwiLiBBYm9ydGluZyB0aGUgY29ubmVjdGlvbi4i
KTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlzc2luZyB0aGUgc291cmNlIGxpbmUu
Ci0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UudG9TdHJpbmcoKSk7
CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLnRvU3RyaW5n
KCkpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0yOTAsNyArMjg5LDcgQEAgdm9pZCBFdmVudFNv
dXJjZTo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIHZvaWQgRXZlbnRTb3Vy
Y2U6OmRpZEZhaWxBY2Nlc3NDb250cm9sQ2hlY2soY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3Ip
CiB7CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBtYWtlU3RyaW5nKCJFdmVudFNvdXJjZSBjYW5ub3Qg
bG9hZCAiLCBlcnJvci5mYWlsaW5nVVJMKCksICIuICIsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0
aW9uKCkpOwotICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywg
TWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSk7CiAKICAgICBhYm9ydENvbm5lY3Rpb25BdHRl
bXB0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCmluZGV4IDI5MTRjYmIuLmNj
M2Q2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCkBAIC0zMSwyNCArMzEsMjUg
QEAKIAogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgotI2lu
Y2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIlBhZ2Uu
aCIKLSNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3Rh
Y2suaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRl
IDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlw
ZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+CisjaW5jbHVkZSA8
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRD
YWxsU3RhY2tGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKK3VzaW5nIG5h
bWVzcGFjZSBJbnNwZWN0b3I7CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIHsK
QEAgLTgwLDM0ICs4MSwzNCBAQCB2b2lkIFBhZ2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VB
bmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZQogewogICAgIGNvbnN0
IGNoYXIqIHNvdXJjZVN0cmluZzsKICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgIGNhc2UgWE1M
TWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlhNTDoKICAgICAgICAgc291
cmNlU3RyaW5nID0gIlhNTCI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSlNNZXNzYWdlU291
cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6SlM6CiAgICAgICAgIHNvdXJjZVN0cmluZyA9
ICJKUyI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgTmV0d29ya01lc3NhZ2VTb3VyY2U6Cisg
ICAgY2FzZSBNZXNzYWdlU291cmNlOjpOZXR3b3JrOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAi
TkVUV09SSyI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29uc29sZUFQSU1lc3NhZ2VTb3Vy
Y2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJOgogICAgICAgICBzb3VyY2VT
dHJpbmcgPSAiQ09OU09MRSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3RvcmFnZU1lc3Nh
Z2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpTdG9yYWdlOgogICAgICAgICBzb3Vy
Y2VTdHJpbmcgPSAiU1RPUkFHRSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQXBwQ2FjaGVN
ZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGU6CiAgICAgICAg
IHNvdXJjZVN0cmluZyA9ICJBUFBDQUNIRSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUmVu
ZGVyaW5nTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlJlbmRlcmluZzoK
ICAgICAgICAgc291cmNlU3RyaW5nID0gIlJFTkRFUklORyI7CiAgICAgICAgIGJyZWFrOwotICAg
IGNhc2UgQ1NTTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkNTUzoKICAg
ICAgICAgc291cmNlU3RyaW5nID0gIkNTUyI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgU2Vj
dXJpdHlNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHk6CiAg
ICAgICAgIHNvdXJjZVN0cmluZyA9ICJTRUNVUklUWSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNh
c2UgT3RoZXJNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6T3RoZXI6CiAg
ICAgICAgIHNvdXJjZVN0cmluZyA9ICJPVEhFUiI7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1
bHQ6CkBAIC0xMTgsMTYgKzExOSwxNiBAQCB2b2lkIFBhZ2VDb25zb2xlOjpwcmludE1lc3NhZ2VT
b3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZQogCiAgICAg
Y29uc3QgY2hhciogbGV2ZWxTdHJpbmc7CiAgICAgc3dpdGNoIChsZXZlbCkgewotICAgIGNhc2Ug
RGVidWdNZXNzYWdlTGV2ZWw6CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkRlYnVnOgogICAgICAg
ICBsZXZlbFN0cmluZyA9ICJERUJVRyI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgTG9nTWVz
c2FnZUxldmVsOgorICAgIGNhc2UgTWVzc2FnZUxldmVsOjpMb2c6CiAgICAgICAgIGxldmVsU3Ry
aW5nID0gIkxPRyI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgV2FybmluZ01lc3NhZ2VMZXZl
bDoKKyAgICBjYXNlIE1lc3NhZ2VMZXZlbDo6V2FybmluZzoKICAgICAgICAgbGV2ZWxTdHJpbmcg
PSAiV0FSTiI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgRXJyb3JNZXNzYWdlTGV2ZWw6Cisg
ICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkVycm9yOgogICAgICAgICBsZXZlbFN0cmluZyA9ICJFUlJP
UiI7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC0xNzIsMTUgKzE3MywxNSBAQCB2
b2lkIFBhZ2VDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
TGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cgogCiB2b2lkIFBhZ2VDb25zb2xlOjphZGRNZXNzYWdlKE1l
c3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiB1cmwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNv
bHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgSlNDOjpF
eGVjU3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAg
IGlmIChtdXRlQ291bnQgJiYgc291cmNlICE9IENvbnNvbGVBUElNZXNzYWdlU291cmNlKQorICAg
IGlmIChtdXRlQ291bnQgJiYgc291cmNlICE9IE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEkpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGlmIChjYWxsU3RhY2spCi0gICAgICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSgmbV9wYWdlLCBzb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBsZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7
CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSgm
bV9wYWdlLCBzb3VyY2UsIE1lc3NhZ2VUeXBlOjpMb2csIGxldmVsLCBtZXNzYWdlLCBjYWxsU3Rh
Y2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICBlbHNlCi0gICAgICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSgmbV9wYWdlLCBzb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBsZXZlbCwgbWVzc2FnZSwgdXJsLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHN0
YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6YWRkTWVzc2FnZVRvQ29uc29sZSgmbV9wYWdlLCBzb3VyY2UsIE1lc3NhZ2VUeXBlOjpMb2cs
IGxldmVsLCBtZXNzYWdlLCB1cmwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc3RhdGUsIHJl
cXVlc3RJZGVudGlmaWVyKTsKIAotICAgIGlmIChzb3VyY2UgPT0gQ1NTTWVzc2FnZVNvdXJjZSkK
KyAgICBpZiAoc291cmNlID09IE1lc3NhZ2VTb3VyY2U6OkNTUykKICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKG1fcGFnZS5zZXR0aW5ncygpLnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUNvbnNvbGUuaAppbmRleCA5YTcwZTU0Li41YWI3MTIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlQ29uc29sZS5oCkBAIC0yOSw4ICsyOSw4IEBACiAjaWZuZGVmIFBhZ2VDb25zb2xl
X2gKICNkZWZpbmUgUGFnZUNvbnNvbGVfaAogCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCi0j
aW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVU
eXBlcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTUxLDgg
KzUxLDggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHByaW50U291cmNlVVJMQW5kUG9zaXRp
b24oY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVk
IGNvbHVtbk51bWJlciA9IDApOwogICAgIHN0YXRpYyB2b2lkIHByaW50TWVzc2FnZVNvdXJjZUFu
ZExldmVsUHJlZml4KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgYm9vbCBzaG93QXNUcmFj
ZSA9IGZhbHNlKTsKIAotICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdl
TGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+ID0gMCwgSlNDOjpFeGVjU3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1
ZXN0SWRlbnRpZmllciA9IDApOwotICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+KTsKKyAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25l
ZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9y
OjpTY3JpcHRDYWxsU3RhY2s+ID0gMCwgSlNDOjpFeGVjU3RhdGUqID0gMCwgdW5zaWduZWQgbG9u
ZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291
cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxJbnNw
ZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4pOwogICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291
cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllciA9IDAsIERvY3VtZW50KiA9IDApOwogCiAgICAgc3RhdGljIHZvaWQg
bXV0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3Bw
CmluZGV4IDVkNmY1YTUuLjI1OTZmZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UG9pbnRlckxvY2tDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50
ZXJMb2NrQ29udHJvbGxlci5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgdm9pZCBQb2ludGVyTG9ja0Nv
bnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayhFbGVtZW50KiB0YXJnZXQpCiAKICAgICBpZiAo
dGFyZ2V0LT5kb2N1bWVudCgpLmlzU2FuZGJveGVkKFNhbmRib3hQb2ludGVyTG9jaykpIHsKICAg
ICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25z
b2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgdGFyZ2V0LT5kb2N1bWVudCgpLmFkZENvbnNv
bGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9j
a2VkIHBvaW50ZXIgbG9jayBvbiBhbiBlbGVtZW50IGJlY2F1c2UgdGhlIGVsZW1lbnQncyBmcmFt
ZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctcG9pbnRlci1sb2NrJyBwZXJtaXNzaW9uIGlz
IG5vdCBzZXQuIik7CisgICAgICAgIHRhcmdldC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRl
cmFsKCJCbG9ja2VkIHBvaW50ZXIgbG9jayBvbiBhbiBlbGVtZW50IGJlY2F1c2UgdGhlIGVsZW1l
bnQncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctcG9pbnRlci1sb2NrJyBwZXJt
aXNzaW9uIGlzIG5vdCBzZXQuIikpOwogICAgICAgICBlbnF1ZXVlRXZlbnQoZXZlbnROYW1lcygp
LndlYmtpdHBvaW50ZXJsb2NrZXJyb3JFdmVudCwgdGFyZ2V0KTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nyb3NzVGhyZWFkQ29w
aWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oCmluZGV4
IDNmODFjYTAuLmNhZjI3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Ny
b3NzVGhyZWFkQ29waWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Jvc3NUaHJl
YWRDb3BpZXIuaApAQCAtNjYsOCArNjYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
ICAgICB0eXBlZGVmIFQgVHlwZTsKICAgICAgICAgfTsKIAotICAgICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBzdHJ1Y3QgSXNDb252ZXJ0aWJsZVRvSW50ZWdlciB7Ci0gICAgICAgICAgICBzdGF0
aWMgY29uc3QgYm9vbCB2YWx1ZSA9IHN0ZDo6aXNfaW50ZWdyYWw8VD46OnZhbHVlIHx8IHN0ZDo6
aXNfY29udmVydGlibGU8VCwgbG9uZyBkb3VibGU+Ojp2YWx1ZTsKKyAgICAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IElzRW51bU9yQ29udmVydGlibGVUb0ludGVnZXIgeworICAgICAg
ICAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBzdGQ6OmlzX2ludGVncmFsPFQ+Ojp2YWx1
ZSB8fCBzdGQ6OmlzX2VudW08VD46OnZhbHVlIHx8IHN0ZDo6aXNfY29udmVydGlibGU8VCwgbG9u
ZyBkb3VibGU+Ojp2YWx1ZTsKICAgICAgICAgfTsKIAogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgSXNUaHJlYWRTYWZlUmVmQ291bnRlZFBvaW50ZXIgewpAQCAtODMsNyArODMs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIH0KICAgICB9OwogCi0gICAgdGVtcGxh
dGU8Ym9vbCBpc0NvbnZlcnRpYmxlVG9JbnRlZ2VyLCBib29sIGlzVGhyZWFkU2FmZVJlZkNvdW50
ZWQsIHR5cGVuYW1lIFQ+IHN0cnVjdCBDcm9zc1RocmVhZENvcGllckJhc2U7CisgICAgdGVtcGxh
dGU8Ym9vbCBpc0VudW1PckNvbnZlcnRpYmxlVG9JbnRlZ2VyLCBib29sIGlzVGhyZWFkU2FmZVJl
ZkNvdW50ZWQsIHR5cGVuYW1lIFQ+IHN0cnVjdCBDcm9zc1RocmVhZENvcGllckJhc2U7CiAKICAg
ICAvLyBJbnRlZ2VycyBnZXQgcGFzc2VkIHRocm91Z2ggd2l0aG91dCBhbnkgY2hhbmdlcy4KICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPHRydWUs
IGZhbHNlLCBUPiA6IHB1YmxpYyBDcm9zc1RocmVhZENvcGllclBhc3NUaHJvdWdoPFQ+IHsKQEAg
LTE5OSw3ICsxOTksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+Ci0gICAgc3RydWN0IENyb3NzVGhyZWFkQ29waWVyIDogcHVibGljIENy
b3NzVGhyZWFkQ29waWVyQmFzZTxDcm9zc1RocmVhZENvcGllckJhc2VIZWxwZXI6OklzQ29udmVy
dGlibGVUb0ludGVnZXI8VD46OnZhbHVlLCBDcm9zc1RocmVhZENvcGllckJhc2VIZWxwZXI6Oklz
VGhyZWFkU2FmZVJlZkNvdW50ZWRQb2ludGVyPFQ+Ojp2YWx1ZSwgVD4geworICAgIHN0cnVjdCBD
cm9zc1RocmVhZENvcGllciA6IHB1YmxpYyBDcm9zc1RocmVhZENvcGllckJhc2U8Q3Jvc3NUaHJl
YWRDb3BpZXJCYXNlSGVscGVyOjpJc0VudW1PckNvbnZlcnRpYmxlVG9JbnRlZ2VyPFQ+Ojp2YWx1
ZSwgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlSGVscGVyOjpJc1RocmVhZFNhZmVSZWZDb3VudGVkUG9p
bnRlcjxUPjo6dmFsdWUsIFQ+IHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3NXcmFwcGVyIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zaGFwZXMvU2hhcGVJbmZvLmNwcAppbmRleCA3OGRmZjk5Li5kZmRlMjUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlSW5mby5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZUluZm8uY3BwCkBAIC01
MCw3ICs1MCw3IEBAIGJvb2wgY2hlY2tTaGFwZUltYWdlT3JpZ2luKERvY3VtZW50JiBkb2N1bWVu
dCwgQ2FjaGVkSW1hZ2UmIGNhY2hlZEltYWdlKQogCiAgICAgY29uc3QgVVJMJiB1cmwgPSBjYWNo
ZWRJbWFnZS51cmwoKTsKICAgICBTdHJpbmcgdXJsU3RyaW5nID0gdXJsLmlzTnVsbCgpID8gIicn
IiA6IHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKTsKLSAgICBkb2N1bWVudC5h
ZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgIiArIHVybFN0cmluZyArICIuIik7CisgICAg
ZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsICJVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCAiICsgdXJsU3RyaW5n
ICsgIi4iKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAKaW5kZXggNjU1YjJhMS4uYTYwNWU1NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAKQEAgLTEzMywxNyArMTMz
LDE3IEBAIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpkaXNwYXRjaFNWR0xvYWRFdmVudFRv
T3V0ZXJtb3N0U1ZHRWxlbWVudHMoKQogc3RhdGljIHZvaWQgcmVwb3J0TWVzc2FnZShEb2N1bWVu
dCogZG9jdW1lbnQsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQog
ewogICAgIGlmIChkb2N1bWVudC0+ZnJhbWUoKSkKLSAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNv
bGVNZXNzYWdlKFJlbmRlcmluZ01lc3NhZ2VTb3VyY2UsIGxldmVsLCBtZXNzYWdlKTsKKyAgICAg
ICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlJlbmRlcmluZywg
bGV2ZWwsIG1lc3NhZ2UpOwogfQogCiB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVwb3J0
V2FybmluZyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAgcmVwb3J0TWVzc2FnZShtX2Rv
Y3VtZW50LCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiV2FybmluZzogIiArIG1lc3NhZ2UpOworICAg
IHJlcG9ydE1lc3NhZ2UobV9kb2N1bWVudCwgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiV2Fybmlu
ZzogIiArIG1lc3NhZ2UpOwogfQogCiB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVwb3J0
RXJyb3IoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIHJlcG9ydE1lc3NhZ2UobV9kb2N1
bWVudCwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvcjogIiArIG1lc3NhZ2UpOworICAgIHJlcG9y
dE1lc3NhZ2UobV9kb2N1bWVudCwgTWVzc2FnZUxldmVsOjpFcnJvciwgIkVycm9yOiAiICsgbWVz
c2FnZSk7CiB9CiAKIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjphZGRQZW5kaW5nUmVzb3Vy
Y2UoY29uc3QgQXRvbWljU3RyaW5nJiBpZCwgRWxlbWVudCogZWxlbWVudCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA3ZDhlZmM1Li42ZjYyZDVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC01Nyw3ICs1Nyw2IEBACiAjaW5jbHVkZSAiSGlzdG9y
eUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckNsaWVudC5oIgotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb3VudGVycy5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckZvcndhcmRpbmcuaCIKQEAgLTY1LDggKzY0LDggQEAKICNp
bmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJJbnNwZWN0b3JP
dmVybGF5LmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgotI2luY2x1ZGUgIklu
dGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSAiSW50ZXJu
YWxTZXR0aW5ncy5oIgogI2luY2x1ZGUgIkxhbmd1YWdlLmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1l
LmgiCiAjaW5jbHVkZSAiTWFsbG9jU3RhdGlzdGljcy5oIgpAQCAtOTUsNiArOTQsNyBAQAogI2lu
Y2x1ZGUgIlRyZWVTY29wZS5oIgogI2luY2x1ZGUgIlR5cGVDb252ZXJzaW9ucy5oIgogI2luY2x1
ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCisjaW5jbHVkZSAiV2ViQ29uc29sZUFnZW50LmgiCiAj
aW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSA8Ynl0ZWNvZGUvQ29kZUJsb2NrLmg+
CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oPgpAQCAtMTQyNyw5ICsx
NDI3LDExIEBAIFZlY3RvcjxTdHJpbmc+IEludGVybmFsczo6Y29uc29sZU1lc3NhZ2VBcmd1bWVu
dENvdW50cygpIGNvbnN0CiAgICAgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0Fn
ZW50cyA9IGluc3RydW1lbnRhdGlvbkZvclBhZ2UoZG9jdW1lbnQtPnBhZ2UoKSk7CiAgICAgaWYg
KCFpbnN0cnVtZW50aW5nQWdlbnRzKQogICAgICAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsK
LSAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpOworCisgICAgSW5zcGVjdG9yQ29uc29sZUFn
ZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQo
KTsKICAgICBpZiAoIWNvbnNvbGVBZ2VudCkKICAgICAgICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+
KCk7CisKICAgICBWZWN0b3I8dW5zaWduZWQ+IGNvdW50cyA9IGNvbnNvbGVBZ2VudC0+Y29uc29s
ZU1lc3NhZ2VBcmd1bWVudENvdW50cygpOwogICAgIFZlY3RvcjxTdHJpbmc+IHJlc3VsdChjb3Vu
dHMuc2l6ZSgpKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50cy5zaXplKCk7IGkr
KykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29y
a2VyUmVwb3NpdG9yeS5jcHAKaW5kZXggYTY0YTRjOS4uZDNhMzY5ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5j
cHAKQEAgLTQ0LDcgKzQ0LDYgQEAKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1
ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgotI2luY2x1
ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5j
bHVkZSAiU2VjdXJpdHlPcmlnaW5IYXNoLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCkBA
IC01Niw2ICs1NSw3IEBACiAjaW5jbHVkZSAiV29ya2VyUmVwb3J0aW5nUHJveHkuaCIKICNpbmNs
dWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXJD
bGllbnQuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVk
ZSA8bXV0ZXg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
aW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckds
b2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFs
U2NvcGUuY3BwCmluZGV4IDEzOGJmYWMuLjIzZjJmYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0zOCw5ICszOCw5IEBA
CiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAj
aW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJUaHJlYWQu
aCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtODAsMTAgKzgwLDEwIEBAIFNoYXJlZFdvcmtlclRocmVhZCogU2hhcmVk
V29ya2VyR2xvYmFsU2NvcGU6OnRocmVhZCgpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNoYXJl
ZFdvcmtlclRocmVhZCo+KEJhc2U6OnRocmVhZCgpKTsKIH0KIAotdm9pZCBTaGFyZWRXb3JrZXJH
bG9iYWxTY29wZTo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNz
YWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5O
dW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCit2b2lkIFNoYXJl
ZFdvcmtlckdsb2JhbFNjb3BlOjpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBl
cnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50
IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrKQogewogICAgIFdvcmtlckdsb2JhbFNjb3BlOjpsb2dFeGNlcHRpb25Ub0NvbnNvbGUo
ZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2FsbFN0
YWNrKTsKLSAgICBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1
bW5OdW1iZXIsIGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShNZXNz
YWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgZXJyb3JNZXNzYWdlLCBzb3VyY2VV
UkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2FsbFN0YWNrKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRX
b3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJH
bG9iYWxTY29wZS5oCmluZGV4IGNlNjg3MDIuLmMxNDcxN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTYwLDcgKzYwLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgcHJpdmF0ZToKICAgICAgICAgU2hhcmVkV29ya2Vy
R2xvYmFsU2NvcGUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgc3RkOjp1bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+LCBTaGFyZWRXb3JrZXJU
aHJlYWQqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pIG92
ZXJyaWRlOworICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0
IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVO
dW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxs
U3RhY2s+KSBvdmVycmlkZTsKIAogICAgICAgICBTdHJpbmcgbV9uYW1lOwogICAgIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDI4ODkyMzYu
LmFiMTk5OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCkBAIC0yMSwxMiArMjEsMTEgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKgogICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKLQogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAKICNpbmNs
dWRlICJBY3RpdmVET01PYmplY3QuaCIKQEAgLTM5LDEzICszOCwxMiBAQAogI2luY2x1ZGUgIkV2
ZW50RXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJVUkwuaCIKICNpbmNs
dWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVk
ZSAiU2NoZWR1bGVkQWN0aW9uLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5j
bHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisj
aW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgog
I2luY2x1ZGUgIldvcmtlckxvY2F0aW9uLmgiCiAjaW5jbHVkZSAiV29ya2VyTmF2aWdhdG9yLmgi
CkBAIC01NSwxMiArNTMsMTUgQEAKICNpbmNsdWRlICJXb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgi
CiAjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCIKICNpbmNsdWRlIDxiaW5kaW5n
cy9TY3JpcHRWYWx1ZS5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4K
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRl
ci5oIgogI2VuZGlmCiAKK3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgQ2xvc2VXb3JrZXJHbG9iYWxTY29wZVRhc2sgOiBwdWJsaWMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7CkBAIC0yNzUsOSArMjc2LDkgQEAgdm9pZCBXb3Jr
ZXJHbG9iYWxTY29wZTo6YWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShNZXNzYWdlU291cmNlIHNv
dXJjZSwgTWVzc2FnZUwKIHsKICAgICBBU1NFUlQoaXNDb250ZXh0VGhyZWFkKCkpOwogICAgIGlm
IChjYWxsU3RhY2spCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2Fn
ZVRvQ29uc29sZSh0aGlzLCBzb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBsZXZlbCwgbWVzc2FnZSwg
Y2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSh0aGlzLCBzb3VyY2UsIE1lc3NhZ2VUeXBlOjpM
b2csIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICBl
bHNlCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29s
ZSh0aGlzLCBzb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJM
LCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7Cisg
ICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSh0aGlz
LCBzb3VyY2UsIE1lc3NhZ2VUeXBlOjpMb2csIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxp
bmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAog
Ym9vbCBXb3JrZXJHbG9iYWxTY29wZTo6aXNDb250ZXh0VGhyZWFkKCkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA1ODE5OTY1Li5lNGUxYjg3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBAIC0xMzks
OCArMTM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBXb3JrZXJHbG9iYWxTY29w
ZShjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgc3RkOjp1bmlxdWVfcHRyPEdy
b3VwU2V0dGluZ3M+LCBXb3JrZXJUaHJlYWQqLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0
b3BPcmlnaW4pOwogICAgICAgICB2b2lkIGFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5RnJvbVN0
cmluZyhjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5
UG9saWN5OjpIZWFkZXJUeXBlKTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9u
VG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPikgb3ZlcnJpZGU7Ci0gICAgICAgIHZvaWQgYWRkTWVzc2FnZVRvV29ya2VyQ29u
c29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNv
bHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSog
PSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAgICAgIHZpcnR1
YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2Us
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJl
ciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4pIG92ZXJyaWRlOworICAg
ICAgICB2b2lkIGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1
bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAKICAgICBwcml2YXRlOgogICAgICAgICB2aXJ0
dWFsIHZvaWQgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIG92ZXJyaWRlIHsgcmVmKCk7IH0K
QEAgLTE0OSw3ICsxNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCByZWZFdmVudFRhcmdldCgpIG92ZXJyaWRlIGZpbmFsIHsgcmVmKCk7IH0KICAgICAgICAg
dmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IGRlcmVmKCk7
IH0KIAotICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVl
c3RJZGVudGlmaWVyID0gMCkgb3ZlcnJpZGU7CisgICAgICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29s
dW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgSlNDOjpF
eGVjU3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApIG92ZXJy
aWRlOwogCiAgICAgICAgIHZpcnR1YWwgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSBv
dmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1By
b3h5LmNwcAppbmRleCAzMjRjZDg5Li4zYWQxNGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtMjYsMTQgKzI2LDEzIEBACiAgKi8K
IAogI2luY2x1ZGUgImNvbmZpZy5oIgotCiAjaW5jbHVkZSAiV29ya2VyTWVzc2FnaW5nUHJveHku
aCIKIAogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkNyb3Nz
VGhyZWFkVGFzay5oIgorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgi
Ci0jaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKQEAgLTQzLDExICs0MiwxMiBAQAog
I2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAj
aW5jbHVkZSAiUGFnZUdyb3VwLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldvcmtlci5oIgogI2lu
Y2x1ZGUgIldvcmtlckRlYnVnZ2VyQWdlbnQuaCIKICNpbmNsdWRlICJXb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgorI2lu
Y2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5z
cGVjdG9yQWdlbnRCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oCmluZGV4IDYxYTY2MTEu
LjAwM2QwZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0
aW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1By
b3h5LmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpZm5kZWYgV29ya2VyUmVwb3J0aW5nUHJveHlfaAog
I2RlZmluZSBXb3JrZXJSZXBvcnRpbmdQcm94eV9oCiAKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMu
aCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKaW5kZXggYzRhY2JlNy4uODE2Nzc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuY3BwCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAiUGFyc2VkQ29udGVudFR5
cGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1
ZXN0LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgpAQCAtMTYwLDcgKzE1OSw3IEBAIHN0YXRpYyB2b2lkIGxvZ0NvbnNvbGVFcnJvcihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG1lc3NhCiAgICAgICAg
IHJldHVybjsKICAgICAvLyBGSVhNRTogSXQncyBub3QgZ29vZCB0byByZXBvcnQgdGhlIGJhZCB1
c2FnZSB3aXRob3V0IGluZGljYXRpbmcgd2hhdCBzb3VyY2UgbGluZSBpdCBjYW1lIGZyb20uCiAg
ICAgLy8gV2Ugc2hvdWxkIHBhc3MgYWRkaXRpb25hbCBwYXJhbWV0ZXJzIHNvIHdlIGNhbiB0ZWxs
IHRoZSBjb25zb2xlIHdoZXJlIHRoZSBtaXN0YWtlIG9jY3VycmVkLgotICAgIGNvbnRleHQtPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UpOworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBN
ZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKIH0KIAogUGFzc1JlZlB0cjxYTUxIdHRwUmVx
dWVzdD4gWE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0KQpAQCAtNzEzLDcgKzcxMiw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNlbmQoRE9NRm9y
bURhdGEqIGJvZHksIEV4Y2VwdGlvbkNvZGUmIGVjKQogdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2Vu
ZChBcnJheUJ1ZmZlciogYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgU3RyaW5nIGNv
bnNvbGVNZXNzYWdlKCJBcnJheUJ1ZmZlciBpcyBkZXByZWNhdGVkIGluIFhNTEh0dHBSZXF1ZXN0
LnNlbmQoKS4gVXNlIEFycmF5QnVmZmVyVmlldyBpbnN0ZWFkLiIpOwotICAgIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5n
TWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpX
YXJuaW5nLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dy
YW1FbnVtZXJhdGlvbigiV2ViQ29yZS5YSFIuc2VuZC5BcnJheUJ1ZmZlck9yVmlldyIsIFhNTEh0
dHBSZXF1ZXN0U2VuZEFycmF5QnVmZmVyLCBYTUxIdHRwUmVxdWVzdFNlbmRBcnJheUJ1ZmZlck9y
Vmlld01heCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29y
TGlieHNsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3Bw
CmluZGV4IDgwOTMxMTguLjFjMGQ3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9Y
U0xUUHJvY2Vzc29yTGlieHNsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9j
ZXNzb3JMaWJ4c2x0LmNwcApAQCAtODYsMjAgKzg2LDIwIEBAIHZvaWQgWFNMVFByb2Nlc3Nvcjo6
cGFyc2VFcnJvckZ1bmModm9pZCogdXNlckRhdGEsIHhtbEVycm9yKiBlcnJvcikKICAgICBNZXNz
YWdlTGV2ZWwgbGV2ZWw7CiAgICAgc3dpdGNoIChlcnJvci0+bGV2ZWwpIHsKICAgICBjYXNlIFhN
TF9FUlJfTk9ORToKLSAgICAgICAgbGV2ZWwgPSBEZWJ1Z01lc3NhZ2VMZXZlbDsKKyAgICAgICAg
bGV2ZWwgPSBNZXNzYWdlTGV2ZWw6OkRlYnVnOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFhN
TF9FUlJfV0FSTklORzoKLSAgICAgICAgbGV2ZWwgPSBXYXJuaW5nTWVzc2FnZUxldmVsOworICAg
ICAgICBsZXZlbCA9IE1lc3NhZ2VMZXZlbDo6V2FybmluZzsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBYTUxfRVJSX0VSUk9SOgogICAgIGNhc2UgWE1MX0VSUl9GQVRBTDoKICAgICBkZWZhdWx0
OgotICAgICAgICBsZXZlbCA9IEVycm9yTWVzc2FnZUxldmVsOworICAgICAgICBsZXZlbCA9IE1l
c3NhZ2VMZXZlbDo6RXJyb3I7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIC8vIHhtbEVy
cm9yLT5pbnQyIGlzIHRoZSBjb2x1bW4gbnVtYmVyIG9mIHRoZSBlcnJvciBvciAwIGlmIE4vQS4K
LSAgICBjb25zb2xlLT5hZGRNZXNzYWdlKFhNTE1lc3NhZ2VTb3VyY2UsIGxldmVsLCBlcnJvci0+
bWVzc2FnZSwgZXJyb3ItPmZpbGUsIGVycm9yLT5saW5lLCBlcnJvci0+aW50Mik7CisgICAgY29u
c29sZS0+YWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpYTUwsIGxldmVsLCBlcnJvci0+bWVzc2Fn
ZSwgZXJyb3ItPmZpbGUsIGVycm9yLT5saW5lLCBlcnJvci0+aW50Mik7CiB9CiAKIC8vIEZJWE1F
OiBUaGVyZSBzZWVtcyB0byBiZSBubyB3YXkgdG8gY29udHJvbCB0aGUgY3R4dCBwb2ludGVyIGZv
ciBsb2FkaW5nIGhlcmUsIHRodXMgd2UgaGF2ZSBnbG9iYWxzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VM
b2cKaW5kZXggZTMwZjNhMC4uMzQ4ZGZhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxl
LmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpT
Q29udGV4dCBJbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvSW5zcGVjdG9ySlNCYWNrZW5kQ29tbWFuZHMuanM6
CisgICAgICAgICogVXNlckludGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanM6
CisgICAgICAgIENvbnNvbGVBZ2VudCBtb3ZlZCB0byBKYXZhU2NyaXB0IHNlY3Rpb24uCisKIDIw
MTQtMDEtMzAgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAg
IFNob3cgcHJvZmlsZSBkYXRhIGluIHRoZSBkaXNjcmV0ZSBTY3JpcHRzIHRpbWVsaW5lIHZpZXcu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0
b3JKU0JhY2tlbmRDb21tYW5kcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0luc3BlY3RvckpTQmFja2VuZENvbW1hbmRzLmpzCmluZGV4IDIzNGJkNjkuLmYzOGRmZWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3Rv
ckpTQmFja2VuZENvbW1hbmRzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0luc3BlY3RvckpTQmFja2VuZENvbW1hbmRzLmpzCkBAIC02LDYgKzYsMjEgQEAKIC8v
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKIAorLy8gQ29uc29sZS4KK0luc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJDb25zb2xlRGlzcGF0Y2hlciA9IEluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVjdG9yQmFja2VuZCwgIkNvbnNvbGUiKTsKK0lu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDb25zb2xlLkNvbnNvbGVNZXNzYWdlU291cmNl
Iiwge1hNTDogInhtbCIsIEphdmFzY3JpcHQ6ICJqYXZhc2NyaXB0IiwgTmV0d29yazogIm5ldHdv
cmsiLCBDb25zb2xlQVBJOiAiY29uc29sZS1hcGkiLCBTdG9yYWdlOiAic3RvcmFnZSIsIEFwcGNh
Y2hlOiAiYXBwY2FjaGUiLCBSZW5kZXJpbmc6ICJyZW5kZXJpbmciLCBDU1M6ICJjc3MiLCBTZWN1
cml0eTogInNlY3VyaXR5IiwgT3RoZXI6ICJvdGhlciJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJFbnVtKCJDb25zb2xlLkNvbnNvbGVNZXNzYWdlTGV2ZWwiLCB7TG9nOiAibG9nIiwgV2Fy
bmluZzogIndhcm5pbmciLCBFcnJvcjogImVycm9yIiwgRGVidWc6ICJkZWJ1ZyJ9KTsKK0luc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDb25zb2xlLkNvbnNvbGVNZXNzYWdlVHlwZSIsIHtM
b2c6ICJsb2ciLCBEaXI6ICJkaXIiLCBEaXJYTUw6ICJkaXJ4bWwiLCBUYWJsZTogInRhYmxlIiwg
VHJhY2U6ICJ0cmFjZSIsIENsZWFyOiAiY2xlYXIiLCBTdGFydEdyb3VwOiAic3RhcnRHcm91cCIs
IFN0YXJ0R3JvdXBDb2xsYXBzZWQ6ICJzdGFydEdyb3VwQ29sbGFwc2VkIiwgRW5kR3JvdXA6ICJl
bmRHcm91cCIsIEFzc2VydDogImFzc2VydCIsIFRpbWluZzogInRpbWluZyIsIFByb2ZpbGU6ICJw
cm9maWxlIiwgUHJvZmlsZUVuZDogInByb2ZpbGVFbmQifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZUFkZGVkIiwgWyJtZXNzYWdlIl0pOworSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJDb25zb2xlLm1lc3NhZ2VSZXBlYXRDb3VudFVwZGF0
ZWQiLCBbImNvdW50Il0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJDb25zb2xl
Lm1lc3NhZ2VzQ2xlYXJlZCIsIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5k
KCJDb25zb2xlLmVuYWJsZSIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29t
bWFuZCgiQ29uc29sZS5kaXNhYmxlIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJDb21tYW5kKCJDb25zb2xlLmNsZWFyTWVzc2FnZXMiLCBbXSwgW10pOworSW5zcGVjdG9yQmFj
a2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQiLCBb
eyJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogZmFsc2V9
XSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuYWRkSW5z
cGVjdGVkTm9kZSIsIFt7Im5hbWUiOiAibm9kZUlkIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlv
bmFsIjogZmFsc2V9XSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNv
bnNvbGUuYWRkSW5zcGVjdGVkSGVhcE9iamVjdCIsIFt7Im5hbWUiOiAiaGVhcE9iamVjdElkIiwg
InR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOworCiAvLyBEZWJ1Z2dl
ci4KIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEZWJ1Z2dlckRpc3BhdGNoZXIgPSBJbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hlci5iaW5kKEluc3BlY3RvckJhY2tlbmQs
ICJEZWJ1Z2dlciIpOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkRlYnVnZ2VyLkJy
ZWFrcG9pbnRBY3Rpb25UeXBlIiwge0xvZzogImxvZyIsIEV2YWx1YXRlOiAiZXZhbHVhdGUiLCBT
b3VuZDogInNvdW5kIiwgUHJvYmU6ICJwcm9iZSJ9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRD
b21tYW5kcy5qcwppbmRleCAxYjNhMzE1Li44NjQxNjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFj
a2VuZENvbW1hbmRzLmpzCkBAIC02MywyMSArNjMsNiBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyQ29tbWFuZCgiQ2FudmFzLnJlcGxheVRyYWNlTG9nIiwgW3sibmFtZSI6ICJ0cmFjZUxvZ0lk
IgogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNhbnZhcy5nZXRSZXNvdXJjZUlu
Zm8iLCBbeyJuYW1lIjogInJlc291cmNlSWQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwi
OiBmYWxzZX1dLCBbInJlc291cmNlSW5mbyJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJD
b21tYW5kKCJDYW52YXMuZ2V0UmVzb3VyY2VTdGF0ZSIsIFt7Im5hbWUiOiAidHJhY2VMb2dJZCIs
ICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJuYW1lIjogInJlc291cmNl
SWQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbInJlc291cmNlU3Rh
dGUiXSk7CiAKLS8vIENvbnNvbGUuCi1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29uc29sZURp
c3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hlci5iaW5k
KEluc3BlY3RvckJhY2tlbmQsICJDb25zb2xlIik7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
RW51bSgiQ29uc29sZS5Db25zb2xlTWVzc2FnZVNvdXJjZSIsIHtYTUw6ICJ4bWwiLCBKYXZhc2Ny
aXB0OiAiamF2YXNjcmlwdCIsIE5ldHdvcms6ICJuZXR3b3JrIiwgQ29uc29sZUFQSTogImNvbnNv
bGUtYXBpIiwgU3RvcmFnZTogInN0b3JhZ2UiLCBBcHBjYWNoZTogImFwcGNhY2hlIiwgUmVuZGVy
aW5nOiAicmVuZGVyaW5nIiwgQ1NTOiAiY3NzIiwgU2VjdXJpdHk6ICJzZWN1cml0eSIsIE90aGVy
OiAib3RoZXIifSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiQ29uc29sZS5Db25z
b2xlTWVzc2FnZUxldmVsIiwge0xvZzogImxvZyIsIFdhcm5pbmc6ICJ3YXJuaW5nIiwgRXJyb3I6
ICJlcnJvciIsIERlYnVnOiAiZGVidWcifSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51
bSgiQ29uc29sZS5Db25zb2xlTWVzc2FnZVR5cGUiLCB7TG9nOiAibG9nIiwgRGlyOiAiZGlyIiwg
RGlyWE1MOiAiZGlyeG1sIiwgVGFibGU6ICJ0YWJsZSIsIFRyYWNlOiAidHJhY2UiLCBDbGVhcjog
ImNsZWFyIiwgU3RhcnRHcm91cDogInN0YXJ0R3JvdXAiLCBTdGFydEdyb3VwQ29sbGFwc2VkOiAi
c3RhcnRHcm91cENvbGxhcHNlZCIsIEVuZEdyb3VwOiAiZW5kR3JvdXAiLCBBc3NlcnQ6ICJhc3Nl
cnQiLCBUaW1pbmc6ICJ0aW1pbmciLCBQcm9maWxlOiAicHJvZmlsZSIsIFByb2ZpbGVFbmQ6ICJw
cm9maWxlRW5kIn0pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJDb25zb2xlLm1l
c3NhZ2VBZGRlZCIsIFsibWVzc2FnZSJdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVu
dCgiQ29uc29sZS5tZXNzYWdlUmVwZWF0Q291bnRVcGRhdGVkIiwgWyJjb3VudCJdKTsKLUluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiQ29uc29sZS5tZXNzYWdlc0NsZWFyZWQiLCBbXSk7
Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5lbmFibGUiLCBbXSwg
W10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuZGlzYWJsZSIs
IFtdLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5jbGVh
ck1lc3NhZ2VzIiwgW10sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJD
b25zb2xlLnNldE1vbml0b3JpbmdYSFJFbmFibGVkIiwgW3sibmFtZSI6ICJlbmFibGVkIiwgInR5
cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKLUluc3BlY3RvckJhY2tl
bmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmFkZEluc3BlY3RlZE5vZGUiLCBbeyJuYW1lIjog
Im5vZGVJZCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKLUlu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmFkZEluc3BlY3RlZEhlYXBP
YmplY3QiLCBbeyJuYW1lIjogImhlYXBPYmplY3RJZCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRp
b25hbCI6IGZhbHNlfV0sIFtdKTsKLQogLy8gRE9NLgogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckRPTURpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hl
ci5iaW5kKEluc3BlY3RvckJhY2tlbmQsICJET00iKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJFdmVudCgiRE9NLmRvY3VtZW50VXBkYXRlZCIsIFtdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBi
ZWZjZWFkLi4zZDEwODZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQt
MDItMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNs
aWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisKIDIwMTQtMDEtMzEgIFphbiBEb2JlcnNlayAg
PHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeGluZyB0aGUg
R1RLIGJ1aWxkIGFmdGVyIHIxNjMyMzIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAppbmRleCBmNjFmOWRhLi5hZWUxYjllIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRH
dGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEd0ay5jcHAKQEAgLTM2Miw3ICszNjIsNyBAQCBib29sIENocm9tZUNsaWVudDo6cnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBXZWJDbwogICAg
IHJldHVybiBydW5KYXZhU2NyaXB0Q29uZmlybShmcmFtZSwgbWVzc2FnZSk7CiB9CiAKLXZvaWQg
Q2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBt
ZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0
IFdURjo6U3RyaW5nJiBzb3VyY2VJZCkKK3ZvaWQgQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9D
b25zb2xlKEluc3BlY3Rvcjo6TWVzc2FnZVNvdXJjZSBzb3VyY2UsIEluc3BlY3Rvcjo6TWVzc2Fn
ZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51
bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSWQp
CiB7CiAgICAgZ2Jvb2xlYW4gcmV0dmFsOwogICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShtX3dl
YlZpZXcsICJjb25zb2xlLW1lc3NhZ2UiLCBtZXNzYWdlLnV0ZjgoKS5kYXRhKCksIGxpbmVOdW1i
ZXIsIHNvdXJjZUlkLnV0ZjgoKS5kYXRhKCksICZyZXR2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4
IDZiODU5MTQuLjJlNGM3NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
NC0wMi0wMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoc3RyaW5nRm9yTWVzc2FnZVNvdXJjZSk6Cisg
ICAgICAgIChzdHJpbmdGb3JNZXNzYWdlTGV2ZWwpOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50
OjphZGRNZXNzYWdlVG9Db25zb2xlKToKKwogMjAxNC0wMS0zMSAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgaW5saW5lIG1lbWJlciBmdW5jdGlvbnMg
b2YgRnJhbWVTZWxlY3Rpb24gdGhhdCBhY2Nlc3MgbV9zZWxlY3Rpb24KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMzNhNzQw
NC4uMjg2ZWY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKQEAgLTcsMTMgKzcsMTMgQEAKICAqIGFyZSBtZXQ6CiAgKgogICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
ICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUi
KSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisgKiAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC0z
NSw5ICszNSw2IEBACiAjaW1wb3J0IDx3dGYvUGxhdGZvcm0uaD4KICNpbXBvcnQgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogI2ltcG9ydCA8V2ViQ29yZS9DaHJvbWUuaD4KLQotdXNpbmcgV2ViQ29y
ZTo6TWVzc2FnZUxldmVsOwotdXNpbmcgV2ViQ29yZTo6TWVzc2FnZVNvdXJjZTsKICNlbmRpZgog
CiBAY2xhc3MgV2ViVmlldzsKQEAgLTgyLDcgKzc5LDcgQEAgcHVibGljOgogICAgIAogICAgIHZp
cnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgb3ZlcnJpZGU7CiAgICAgCi0gICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29y
ZTo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGlu
ZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNl
VVJMKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShJbnNw
ZWN0b3I6Ok1lc3NhZ2VTb3VyY2UsIEluc3BlY3Rvcjo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6
OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVt
YmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlVVJMKSBvdmVycmlkZTsKIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdURjo6U3RyaW5n
JiBtZXNzYWdlLCBXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IDc4NzM5MTcu
LjRmMjMxNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQubW0KQEAgLTcsMTMgKzcsMTMgQEAKICAqIGFyZSBtZXQ6CiAgKgogICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
ICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUi
KSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisgKiAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC0z
NzAsMjUgKzM3MCwyNSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0UmVzaXphYmxlKGJvb2wg
YikKIGlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VTb3VyY2UoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UpCiB7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIFhNTE1l
c3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpYTUw6CiAgICAgICAgIHJldHVy
biBXZWJDb25zb2xlTWVzc2FnZVhNTE1lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBKU01lc3NhZ2VT
b3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpKUzoKICAgICAgICAgcmV0dXJuIFdlYkNv
bnNvbGVNZXNzYWdlSlNNZXNzYWdlU291cmNlOwotICAgIGNhc2UgTmV0d29ya01lc3NhZ2VTb3Vy
Y2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpOZXR3b3JrOgogICAgICAgICByZXR1cm4gV2Vi
Q29uc29sZU1lc3NhZ2VOZXR3b3JrTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIENvbnNvbGVBUElN
ZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSToKICAgICAg
ICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2U7Ci0gICAg
Y2FzZSBTdG9yYWdlTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlN0b3Jh
Z2U6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVN0b3JhZ2VNZXNzYWdlU291cmNl
OwotICAgIGNhc2UgQXBwQ2FjaGVNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJj
ZTo6QXBwQ2FjaGU6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUFwcENhY2hlTWVz
c2FnZVNvdXJjZTsKLSAgICBjYXNlIFJlbmRlcmluZ01lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBN
ZXNzYWdlU291cmNlOjpSZW5kZXJpbmc6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2Fn
ZVJlbmRlcmluZ01lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBDU1NNZXNzYWdlU291cmNlOgorICAg
IGNhc2UgTWVzc2FnZVNvdXJjZTo6Q1NTOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3Nh
Z2VDU1NNZXNzYWdlU291cmNlOwotICAgIGNhc2UgU2VjdXJpdHlNZXNzYWdlU291cmNlOgorICAg
IGNhc2UgTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHk6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xl
TWVzc2FnZVNlY3VyaXR5TWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIE90aGVyTWVzc2FnZVNvdXJj
ZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6Ok90aGVyOgogICAgICAgICByZXR1cm4gV2ViQ29u
c29sZU1lc3NhZ2VPdGhlck1lc3NhZ2VTb3VyY2U7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwpAQCAtMzk4LDIwICszOTgsMjAgQEAgaW5saW5lIHN0YXRpYyBOU1N0cmluZyAqc3Ry
aW5nRm9yTWVzc2FnZVNvdXJjZShNZXNzYWdlU291cmNlIHNvdXJjZSkKIGlubGluZSBzdGF0aWMg
TlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VMZXZlbChNZXNzYWdlTGV2ZWwgbGV2ZWwpCiB7CiAg
ICAgc3dpdGNoIChsZXZlbCkgewotICAgIGNhc2UgRGVidWdNZXNzYWdlTGV2ZWw6CisgICAgY2Fz
ZSBNZXNzYWdlTGV2ZWw6OkRlYnVnOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VE
ZWJ1Z01lc3NhZ2VMZXZlbDsKLSAgICBjYXNlIExvZ01lc3NhZ2VMZXZlbDoKKyAgICBjYXNlIE1l
c3NhZ2VMZXZlbDo6TG9nOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VMb2dNZXNz
YWdlTGV2ZWw7Ci0gICAgY2FzZSBXYXJuaW5nTWVzc2FnZUxldmVsOgorICAgIGNhc2UgTWVzc2Fn
ZUxldmVsOjpXYXJuaW5nOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VXYXJuaW5n
TWVzc2FnZUxldmVsOwotICAgIGNhc2UgRXJyb3JNZXNzYWdlTGV2ZWw6CisgICAgY2FzZSBNZXNz
YWdlTGV2ZWw6OkVycm9yOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VFcnJvck1l
c3NhZ2VMZXZlbDsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJu
IEAiIjsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVz
c2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9D
b25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIGlk
IGRlbGVnYXRlID0gW21fd2ViVmlldyBVSURlbGVnYXRlXTsKQEAgLTQzMiw3ICs0MzIsNyBAQCB2
b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNv
dXJjZSwgTWVzc2FnZUxldmVsIGxldgogICAgICAgICByZXNwb25kc1RvTmV3U2VsZWN0b3IgPSBZ
RVM7CiAgICAgZWxzZSB7CiAgICAgICAgIC8vIFRoZSBvbGQgc2VsZWN0b3Igb25seSB0YWtlcyBK
U01lc3NhZ2VTb3VyY2UgbWVzc2FnZXMuCi0gICAgICAgIGlmIChzb3VyY2UgIT0gSlNNZXNzYWdl
U291cmNlKQorICAgICAgICBpZiAoc291cmNlICE9IE1lc3NhZ2VTb3VyY2U6OkpTKQogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICBzZWxlY3RvciA9IEBzZWxlY3Rvcih3ZWJWaWV3OmFkZE1l
c3NhZ2VUb0NvbnNvbGU6KTsKICAgICAgICAgaWYgKCFbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVj
dG9yOnNlbGVjdG9yXSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA4MTNhOWZiLi4wM2UyZTY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQZWNvcmFy
byAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgQ29u
c29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oOgorCiAyMDE0LTAyLTAzICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBUcnkgdG8gZml4IHRoZSBXaW5DYWlybyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggOGFkYjkxMS4u
ZTY1Y2Q5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9D
b25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29u
c3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNv
bHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHVybCk7CisgICAgdmlydHVhbCB2b2lkIGFk
ZE1lc3NhZ2VUb0NvbnNvbGUoSW5zcGVjdG9yOjpNZXNzYWdlU291cmNlLCBJbnNwZWN0b3I6Ok1l
c3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHVybCk7CiAKICAg
ICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgdmly
dHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYg
bWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqIGZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luY2UvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKaW5kZXgg
ODdkNjQ0YS4uODhjYzk1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxNC0wMi0wMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3Bl
Y3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
Nzk0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaDoKKwogMjAxNC0wMS0zMCAgQW5kcmVp
IEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdGhlIEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HIGZsYWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAppbmRleCAxYWM5MDYyLi43NTk4ZGIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dFdpbkNFLmgKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRXaW5DRS5oCkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9p
ZCBzZXRSZXNpemFibGUoYm9vbCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVz
c2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2
ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCkgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoSW5zcGVjdG9yOjpNZXNzYWdl
U291cmNlLCBJbnNwZWN0b3I6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgV1RG
OjpTdHJpbmcmIHNvdXJjZUlEKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5C
ZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgcnVu
QmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBXZWJD
b3JlOjpGcmFtZSopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDQ1MTA1ZmIuLjE1MWIxNDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNC0wMi0wMyAgSm9zZXBoIFBlY29yYXJvICA8
cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBDb25zb2xl
IHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaDoKKwogMjAxNC0wMi0wMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgVHJ5IHRvIGZpeCAzMi1iaXQgTWFjIGJ1aWxkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKaW5kZXggYjc1MzFkMS4uNDdjY2Y1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC05
MCw3ICs5MCw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJs
ZShib29sKSBvdmVycmlkZTsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQg
YWRkTWVzc2FnZVRvQ29uc29sZShJbnNwZWN0b3I6Ok1lc3NhZ2VTb3VyY2UsIEluc3BlY3Rvcjo6
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkgb3ZlcnJpZGU7
CiAgICAgCiAgICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgp
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwo
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwo=
</data>
<flag name="review"
          id="247022"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="247023"
          type_id="3"
          status="-"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223014</attachid>
            <date>2014-02-03 13:13:47 -0800</date>
            <delta_ts>2014-02-03 14:48:21 -0800</delta_ts>
            <desc>[PATCH] For Bots</desc>
            <filename>for-bots-1.patch</filename>
            <type>text/plain</type>
            <size>380163</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">Y29tbWl0IDdlZDA1ZWNjYWVmMTU1NjlmODhmNWFkNDYxZWZiOWZmZjZkYWQ3NGUKQXV0aG9yOiBK
b3NlcGggUGVjb3Jhcm8gPHBlY29yYXJvQGFwcGxlLmNvbT4KRGF0ZTogICBNb24gRmViIDMgMTI6
MDU6MDEgMjAxNCAtMDgwMAoKICAgIFBST0dSRVNTOiBDb25zb2xlQWdlbnQKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWM4NDczMy4uMDMxNzMwYiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjI3LDcgKzIyNyw5IEBAIHNldChKYXZhU2NyaXB0
Q29yZV9TT1VSQ0VTCiAgICAgaGVhcC9Xcml0ZUJhcnJpZXJCdWZmZXIuY3BwCiAgICAgaGVhcC9X
cml0ZUJhcnJpZXJTdXBwb3J0LmNwcAogCisgICAgaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNw
cAogICAgIGluc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmNwcAorICAgIGluc3BlY3Rv
ci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwCiAgICAgaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNw
cAogICAgIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEJhc2UuY3BwCiAgICAgaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTI0MSw4ICsyNDMsMTMgQEAgc2V0KEphdmFTY3JpcHRD
b3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAogICAg
IGluc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwCiAgICAgaW5zcGVj
dG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCisgICAgaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50
cy5jcHAKKyAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcAorICAgIGluc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2suY3BwCisgICAgaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3Rvcnku
Y3BwCiAgICAgaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcAogICAgIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCisgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmNwcAogICAgIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcAog
CkBAIC03OTUsNiArODAyLDcgQEAgQUREX1NPVVJDRV9ERVBFTkRFTkNJRVMoJHtDTUFLRV9DVVJS
RU5UX1NPVVJDRV9ESVJ9L3BhcnNlci9MZXhlci5jcHAgJHtERVJJVkVEX1MKIHNldChKYXZhU2Ny
aXB0Q29yZV9JTlNQRUNUT1JfU0NSSVBUU19ESVIgIiR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNw
ZWN0b3Ivc2NyaXB0cyIpCiAKIHNldChKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfRE9NQUlOUwor
ICAgIGluc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9j
b2wvRGVidWdnZXIuanNvbgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9HZW5lcmljVHlwZXMuanNv
bgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKaW5kZXggNDg4ZTRiNS4uMGY0ZWIyYiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBw
b3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2o6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgQWRkIG5ldyBmaWxlcy4KKworICAgICAgICAqIGluc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwLgorICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6IEFkZGVkLgorICAgICAgICBO
ZXcgYWdlbnQgbW92ZWQgZnJvbSBXZWJDb3JlLiBSZW5hbWUgYSBtZXRob2QgdG8gd29yayBpbiBK
UyBvbmx5IGNvbnRleHQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIpOgor
ICAgICAgICBJbnN0YW50aWF0ZSBDb25zb2xlQWdlbnQuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
YWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmguCisgICAgICAgICogaW5z
cGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHA6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmguCisgICAg
ICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50OjpKU0dsb2JhbE9iamVj
dENvbnNvbGVBZ2VudCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0Q29uc29s
ZUFnZW50OjpzZXRNb25pdG9yaW5nWEhSRW5hYmxlZCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpT
R2xvYmFsT2JqZWN0Q29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKToKKyAgICAgICAgKElu
c3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZEhlYXBPYmpl
Y3QpOgorICAgICAgICBKU0dsb2JhbE9iamVjdCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAq
IGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwOgorICAg
ICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OkpTR2xvYmFsT2Jq
ZWN0RGVidWdnZXJBZ2VudCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0RGVi
dWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyk6CisgICAgICAgIFVzZSBDb25zb2xlQWdl
bnQgdG8gcmVwb3J0IGxvZ3MuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2Uu
Y3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdl
LmNwcC4KKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oLgorICAgICAgICAqIGlu
c3BlY3Rvci9Db25zb2xlVHlwZXMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbnNvbGVBUElUeXBlcy5oLgorICAgICAgICAqIGluc3BlY3Rvci9JZGVudGlmaWVyc0Zh
Y3RvcnkuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZp
ZXJzRmFjdG9yeS5jcHAuCisgICAgICAgICogaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5o
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9y
eS5oLgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5jcHAuCisgICAgICAg
ICogaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oLgorICAgICAgICAqIGluc3BlY3Rvci9TY3Jp
cHRDYWxsRnJhbWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Nj
cmlwdENhbGxGcmFtZS5jcHAuCisgICAgICAgICogaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5o
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5o
LgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAuCisgICAgICAgICog
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oLgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwLgorICAgICAgICAqIGluc3BlY3Rvci9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmguCisgICAgICAgICogaW5zcGVjdG9yL3Byb3Rv
Y29sL0NvbnNvbGUuanNvbjogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9w
cm90b2NvbC9Db25zb2xlLmpzb24uCisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJh
dGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHk6CisKIDIwMTQtMDEtMjUgIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3AgdXNpbmcgVW5pY29kZS5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDExNTZlOTcuLjYwMjc0
NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC04Myw2
ICs4Myw3IEBAIHVkaXM4Nl9pdGFiLmg6ICQoSmF2YVNjcmlwdENvcmUpL2Rpc2Fzc2VtYmxlci91
ZGlzODYvaXRhYi5weSAkKEphdmFTY3JpcHRDb3JlKS9kCiAjIEluc3BlY3RvciBpbnRlcmZhY2Vz
CiAKIElOU1BFQ1RPUl9ET01BSU5TID0gXAorICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rv
ci9wcm90b2NvbC9Db25zb2xlLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rv
ci9wcm90b2NvbC9EZWJ1Z2dlci5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0
b3IvcHJvdG9jb2wvR2VuZXJpY1R5cGVzLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2lu
c3BlY3Rvci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbiBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
R05VbWFrZWZpbGUuYW0KaW5kZXggZmU1NDQ4ZC4uY2MzYmMxOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjAyLDYgKzIwMiw3IEBAIEVYVFJBX0RJU1QgKz0gXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvTElDRU5TRSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ljdS9SRUFETUUgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuanMgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9j
b2wvQ29uc29sZS5qc29uIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL0RlYnVnZ2VyLmpzb24gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJv
dG9jb2wvR2VuZXJpY1R5cGVzLmpzb24gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvSW5zcGVjdG9yRG9tYWluLmpzb24gXApAQCAtMjQzLDYgKzI0NCw3IEBAIGVu
ZGlmCiAjIEluc3BlY3RvciBJbnRlcmZhY2VzCiAKIEphdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9E
T01BSU5TIDo9IFwKKyAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29u
c29sZS5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvRGVi
dWdnZXIuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0dl
bmVyaWNUeXBlcy5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9j
b2wvSW5zcGVjdG9yRG9tYWluLmpzb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQppbmRleCBmNjU4ZThjLi43NzQyMzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNjMwLDggKzYzMCwxMyBAQCBqYXZhc2NyaXB0Y29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdXRmX29s
ZC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdXR5cGVzLmggXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dmVyc2lvbi5oIFwKKwlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcCBcCisJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIFwKKwlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaCBcCisJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwIFwKKwlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcCBcCiAJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0QmFzZS5jcHAgXApAQCAtNjYyLDE2ICs2Njcs
MjYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAorCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcCBcCisJU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRCcmVha3BvaW50LmggXAorCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCisJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaCBcCisJU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z0xpc3RlbmVyLmggXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmggXAotCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmggXAogCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcCBcCi0J
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JBZ2VudC5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JDb25zb2xlQWdlbnQuY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgXAotCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oIFwK
KwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclJ1bnRpbWVBZ2VudC5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvQWJzdHJhY3RQQy5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9BYnN0cmFjdFBDLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5k
ZXggYzg0NGUzNy4uMmU3NzAwOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qCkBAIC00NzYsNyArNDc2LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGhlYXBc
V2Vha1NldC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxoZWFwXFdyaXRlQmFy
cmllckJ1ZmZlci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxoZWFwXFdyaXRl
QmFycmllclN1cHBvcnQuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXENvbnNvbGVNZXNzYWdlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxDb250ZW50U2VhcmNoVXRpbGl0aWVzLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0LmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdEJhc2UuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0SG9z
dC5jcHAiIC8+CkBAIC00OTAsOCArNDkyLDEzIEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3Bw
IiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEphdmFTY3JpcHRDYWxs
RnJhbWUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlw
dEFyZ3VtZW50cy5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
U2NyaXB0Q2FsbEZyYW1lLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxTY3JpcHRDYWxsU3RhY2suY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdERlYnVnU2VydmVyLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuY3BwIiAv
PgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XGFnZW50c1xJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCIgLz4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGludGVycHJldGVyXEFic3RyYWN0UEMuY3BwIiAv
PgpAQCAtMTA1Myw3ICsxMDYwLDEwIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxoZWFw
XFdlYWtTZXRJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxoZWFwXFdy
aXRlQmFycmllckJ1ZmZlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caGVhcFxX
cml0ZUJhcnJpZXJTdXBwb3J0LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcQ29uc29sZU1lc3NhZ2UuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxDb25zb2xlVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxDb250ZW50U2VhcmNoVXRpbGl0aWVzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHQuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdEJhc2UuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdEhvc3QuaCIgLz4K
QEAgLTEwNzEsMTAgKzEwODEsMTUgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiIC8+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QnJlYWtwb2lu
dC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdENhbGxG
cmFtZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdENh
bGxTdGFjay5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxTY3JpcHREZWJ1Z0xpc3RlbmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcU2NyaXB0RGVidWdTZXJ2ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQ29uc29sZUFnZW50Lmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3Rv
clxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnRlcnByZXRlclxBYnN0cmFjdFBDLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDgxYmQzMmYuLjQxMDJmYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0xMDA2LDYgKzEwMDYsMjMgQEAKIAkJQTVDRUVFMTQxODdGM0JBRDAwRTU1Qzk5IC8q
IEluc3BlY3RvckFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1Q0VFRTEyMTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5jcHAg
Ki87IH07CiAJCUE1Q0VFRTE1MTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDRUVFMTMxODdG
M0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTVEMEExQkIxODYyMzAxQjAwQzdCNDk2IC8qIElu
c3BlY3RvckVudmlyb25tZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNUQwQTFCQTE4NjIzMDFCMDBDN0I0OTYgLyogSW5zcGVjdG9yRW52aXJvbm1l
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlB
NUZEMDA2NzE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDY1MTg5QUZFOUMwMDYz
MzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovOyB9OworCQlBNUZEMDA2ODE4OUFGRTlDMDA2
MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2NjE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1l
bnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTVGRDAwNkQxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2OTE4OUIwMEE5MDA2
MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLzsgfTsKKwkJQTVGRDAwNkUxODlCMDBBQTAw
NjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNkExODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENhbGxG
cmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE1RkQwMDZGMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNkIxODlCMDBBOTAw
NjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi87IH07CisJCUE1RkQwMDcwMTg5QjAwQUEw
MDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDZDMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxs
U3RhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlBNUZEMDA3NDE4OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3MTE4OUIwMzhDMDA2MzMy
MzEgLyogQ29uc29sZVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNzUxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFj
dG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NUZEMDA3MjE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCAqLzsgfTsK
KwkJQTVGRDAwNzYxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNzMxODlCMDM4
QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDc5MTg5QjA1MTAwMDYzMzIzMSAvKiBD
b25zb2xlTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNUZEMDA3NzE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwICov
OyB9OworCQlBNUZEMDA3QTE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDc4MTg5QjA1
MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDdEMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1RkQwMDdCMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmNwcCAqLzsgfTsKKwkJQTVGRDAwN0UxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENh
bGxTdGFja0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVG
RDAwODExODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3RjE4OUIxOTFB
MDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCAqLzsgfTsKKwkJQTVGRDAwODIx
ODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwODAxODlCMTkxQTAwNjMzMjMx
IC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDg1MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2Jh
bE9iamVjdENvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNUZEMDA4MzE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RD
b25zb2xlQWdlbnQuY3BwICovOyB9OworCQlBNUZEMDA4NjE4OUIxQjdFMDA2MzMyMzEgLyogSlNH
bG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1RkQwMDg0MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVj
dENvbnNvbGVBZ2VudC5oICovOyB9OwogCQlBNzAwODczOTE3Q0JFODUzMDBDM0U2NDMgLyogTWFw
Q29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTcwMDg3MzcxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0cnVjdG9yLmNwcCAqLzsg
fTsKIAkJQTcwMDg3M0ExN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0cnVjdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzAwODczODE3Q0JFODUz
MDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCAqLzsgfTsKIAkJQTcwMDg3M0QxN0NCRThEMzAw
QzNFNjQzIC8qIE1hcFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNzAwODczQjE3Q0JFOEQzMDBDM0U2NDMgLyogTWFwUHJvdG90eXBl
LmNwcCAqLzsgfTsKQEAgLTI0NDQsNiArMjQ2MSwyMyBAQAogCQlBNUNFRUUxMjE4N0YzQkFEMDBF
NTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5zcGVjdG9yQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNUNFRUUxMzE4N0YzQkFEMDBFNTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTVEMEExQkExODYyMzAxQjAwQzdCNDk2IC8qIEluc3BlY3RvckVudmly
b25tZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckVudmly
b25tZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDY1MTg5QUZFOUMw
MDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU2NyaXB0QXJndW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTVGRDAwNjYxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRBcmd1bWVudHMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNjkxODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENh
bGxGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRD
YWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA2QTE4OUIw
MEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNjcmlwdENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNUZEMDA2QjE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdENhbGxTdGFjay5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDZDMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3Jp
cHRDYWxsU3RhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q2Fs
bFN0YWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDcxMTg5QjAzOEMw
MDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ29uc29sZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDcy
MTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSWRlbnRpZmllcnNGYWN0b3J5LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzMxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZp
ZXJzRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJZGVudGlmaWVy
c0ZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzcxODlCMDUx
MDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENvbnNvbGVNZXNzYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTVGRDAwNzgxODlCMDUxMDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVNZXNzYWdlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDdCMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxs
U3RhY2tGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNj
cmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NUZEMDA3QzE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDdGMTg5QjE5MUEwMDYzMzIzMSAvKiBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTVGRDAwODAxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JDb25zb2xlQWdlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwODMxODlCMUI3RTAwNjMzMjMx
IC8qIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwODQxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFs
T2JqZWN0Q29uc29sZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
R2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3MDA4NzM3MTdDQkU4NTMwMEMzRTY0MyAvKiBNYXBDb25zdHJ1Y3Rvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXBDb25zdHJ1Y3Rvci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MDA4NzM4MTdDQkU4NTMwMEMzRTY0MyAvKiBNYXBDb25z
dHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXBDb25zdHJ1Y3Rv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzAwODczQjE3Q0JFOEQzMDBDM0U2
NDMgLyogTWFwUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1hcFByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NDU3
LDEwICs0NDkxLDE0IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQlBNUNFRUUxMjE4N0YzQkFEMDBF
NTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuY3BwICovLAogCQkJCUE1Q0VFRTEzMTg3RjNCQUQwMEU1
NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5oICovLAorCQkJCUE1RkQwMDdGMTg5QjE5MUEwMDYzMzIz
MSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwICovLAorCQkJCUE1RkQwMDgwMTg5QjE5MUEw
MDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlBNTdEMjNFMzE4OTBD
RUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgKi8sCiAJCQkJQTU3RDIz
RTQxODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCAqLywKIAkJCQlB
NTBFNEI1RDE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCAqLywK
IAkJCQlBNTBFNEI1RTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVudGltZUFnZW50Lmgg
Ki8sCisJCQkJQTVGRDAwODMxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2JqZWN0Q29uc29s
ZUFnZW50LmNwcCAqLywKKwkJCQlBNUZEMDA4NDE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxP
YmplY3RDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlBNTdEMjNFNzE4OTFCMDc3MDAzMUM3RkEgLyog
SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcCAqLywKIAkJCQlBNTdEMjNFODE4OTFCMDc3
MDAzMUM3RkEgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmggKi8sCiAJCQkJQTUwRTRC
NUYxODgwOURENTAwNjhBNDZEIC8qIEpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmNwcCAqLywK
QEAgLTQ1MDMsMTAgKzQ1NDEsMTUgQEAKIAkJCQlBNTEzRTVDQzE4NUZCOTkyMDA3RTk1QUQgLyog
YWdlbnRzICovLAogCQkJCUE1QkExNUUwMTgyMzQwOUQwMEE4MkU2OSAvKiByZW1vdGUgKi8sCiAJ
CQkJQTUzMjQzOEUxODU2OTZDRTAwMkVENjkyIC8qIHNjcmlwdHMgKi8sCisJCQkJQTVGRDAwNzcx
ODlCMDUxMDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmNwcCAqLywKKwkJCQlBNUZEMDA3ODE4
OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuaCAqLywKKwkJCQlBNUZEMDA3MTE4OUIw
MzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggKi8sCiAJCQkJQTU3RDIzRUYxODkxQjVCNDAw
MzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwICovLAogCQkJCUE1N0QyM0YwMTg5
MUI1QjQwMDMxQzdGQSAvKiBDb250ZW50U2VhcmNoVXRpbGl0aWVzLmggKi8sCiAJCQkJQTU0OTgy
MDExODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5jcHAgKi8sCiAJCQkJQTU0OTgyMDIxODkx
RDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5oICovLAorCQkJCUE1RkQwMDcyMTg5QjAzOEMwMDYz
MzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovLAorCQkJCUE1RkQwMDczMTg5QjAzOEMw
MDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuaCAqLywKIAkJCQlBNTEzRTVCNTE4NUI4QkQz
MDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuY3BwICovLAogCQkJCUE1MTNFNUI2MTg1QjhCRDMw
MDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5oICovLAogCQkJCUE1MTRCMkMwMTg1QTY4NDQwMEYz
QzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuY3BwICovLApAQCAtNDU0Miw3ICs0NTg1LDE1IEBA
CiAJCQkJQTUwM0ZBMTgxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVBy
b3RvdHlwZS5oICovLAogCQkJCUE1MDNGQTEzMTg4RTBGQUYwMDExMEYxNCAvKiBKYXZhU2NyaXB0
Q2FsbEZyYW1lLmNwcCAqLywKIAkJCQlBNTAzRkExNDE4OEUwRkFGMDAxMTBGMTQgLyogSmF2YVNj
cmlwdENhbGxGcmFtZS5oICovLAorCQkJCUE1RkQwMDY1MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3Jp
cHRBcmd1bWVudHMuY3BwICovLAorCQkJCUE1RkQwMDY2MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3Jp
cHRBcmd1bWVudHMuaCAqLywKIAkJCQlBNTAzRkExRjE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0
QnJlYWtwb2ludC5oICovLAorCQkJCUE1RkQwMDY5MTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRD
YWxsRnJhbWUuY3BwICovLAorCQkJCUE1RkQwMDZBMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRD
YWxsRnJhbWUuaCAqLywKKwkJCQlBNUZEMDA2QjE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bFN0YWNrLmNwcCAqLywKKwkJCQlBNUZEMDA2QzE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bFN0YWNrLmggKi8sCisJCQkJQTVGRDAwN0IxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuY3BwICovLAorCQkJCUE1RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmggKi8sCiAJCQkJQTUwM0ZBMjAxODhFRkY2ODAwMTEwRjE0IC8q
IFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLywKIAkJCQlBNTAzRkEyMzE4OEVGRkZEMDAxMTBGMTQg
LyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovLAogCQkJCUE1MDNGQTI0MTg4RUZGRkQwMDExMEYx
NCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5oICovLApAQCAtNDY5OCw2ICs0NzQ5LDcgQEAKIAkJCQkw
RjZCMUNDNjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5mby5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQzIyMzlEMTgxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlWaXNpdG9yLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDMjIzOUQxOTE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3JJbmxpbmVz
LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA3QTE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29s
ZU1lc3NhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyMThEMTQwMTY1NUNGRDUwMDYyQkI4MSAv
KiBDb3B5V29ya0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTVERTZFNUIzMEUxNzI4RUMwMDE4
MDQwNyAvKiBjcmVhdGVfaGFzaF90YWJsZSBpbiBIZWFkZXJzICovLAogCQkJCTBGNDI2QTRCMTQ2
MENENkUwMDEzMUY4RiAvKiBEYXRhRm9ybWF0LmggaW4gSGVhZGVycyAqLywKQEAgLTQ3MzQsNiAr
NDc4Niw3IEBACiAJCQkJMEZGQjkyMUExNkQwMkVDNTAwNTVBNURCIC8qIERGR0Jhc2ljQmxvY2tJ
bmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzBCMDgzMzE3QTBCNzlCMDBEQUYxNEIgLyog
REZHQmluYXJ5U3dpdGNoLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q4OUNGNDE3QTBCOENDMDA3
NzNBRDggLyogREZHQmxvY2tJbnNlcnRpb25TZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQw
MDZFMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGODM2NEI3MTY0QjBDMTEwMDUzMzI5QSAvKiBERkdCcmFuY2hEaXJlY3Rpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExQTAwOUMwMTgzMUEyMkQwMENGODcxMSAvKiBNYWNyb0Fzc2VtYmxl
ckFSTTY0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NkVDOURDNTEzMjhERjgyMDAyQjJBRDcgLyog
REZHQnl0ZUNvZGVQYXJzZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNDc1MSw2ICs0ODA0LDcgQEAK
IAkJCQlBNTAzRkExRTE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjM4QjAxQTE3Q0ZFNzU1MDBCMTQ0RDMgLyog
REZHQ29tcGlsYXRpb25Nb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjNCM0ExQjE1M0U2OEY0
MDAzRUQwRkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE1RkQwMDgyMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGQkUwRjczMTZDMURCMDUwMDgyQzVFOCAvKiBERkdDUFNSZXRocmVh
ZGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q4OUNGNjE3QTBCOENDMDA3NzNBRDgg
LyogREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZG
RkM5NUExNEVGOTBBOTAwQzcyNTMyIC8qIERGR0NTRVBoYXNlLmggaW4gSGVhZGVycyAqLywKQEAg
LTQ3OTgsNiArNDg1Miw3IEBACiAJCQkJMEYyQkRDNDUxNTIyODAxQjAwQ0Q4OTEwIC8qIERGR01p
bmlmaWVkR3JhcGguaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkU4OTJEMTZEMDJCQUYwMDlFNEZE
MiAvKiBERkdNaW5pZmllZElELmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCREM0NjE1MjI4MDIw
MDBDRDg5MTAgLyogREZHTWluaWZpZWROb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA2
ODE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNzM3ODEwRTE3OTlFQTJFMDA4MTc1MzMgLyogREZHTmF0dXJhbExvb3BzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NkVDQTNFQTEzMkRFRjFDMDAyQjJBRDcgLyogREZHTm9kZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEZGQjkyMUIxNkQwMkYwMTAwNTVBNURCIC8qIERGR05vZGVBbGxvY2F0b3Iu
aCBpbiBIZWFkZXJzICovLApAQCAtNDg0Niw2ICs0OTAxLDcgQEAKIAkJCQkwRjJCREM0ODE1MjI4
MDI5MDBDRDg5MTAgLyogREZHVmFsdWVTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjIw
MTc0MTQzRkNEMzMwMDY4Qjc3QyAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGRERCRkI2MTY2NkVFREEwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0Rh
dGFEdW1wLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA3NDE4OUIwMzhDMDA2MzMyMzEgLyog
Q29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCREM0OTE1MjI4MDk2MDBDRDg5
MTAgLyogREZHVmFyaWFibGVFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyQkRDNEIxNTIy
ODA5RDAwQ0Q4OTEwIC8qIERGR1ZhcmlhYmxlRXZlbnRTdHJlYW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCUE1MTRCMkMzMTg1QTY4NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuaCBpbiBI
ZWFkZXJzICovLApAQCAtNDg5NSw2ICs0OTUxLDcgQEAKIAkJCQkwRkVBMEEyNDE3MDk2MDY5MDBC
QjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZF
QTBBMEUxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTEpJVENvZGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE3OEE5NzgxMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE1RkQwMDc2MTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3Rvcnku
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGNUE2Mjg0MTg4Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1
ZVJhbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjhGMkI5NjE3MkUwNEEzMDA3REJEQTUgLyog
RlRMTGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDRUZBRTAxODA3MzhDMDAwNDcyQ0U0IC8q
IEZUTExvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTQ5OTIsNiArNTA0OSw3IEBACiAJCQkJ
QTdBNEFFMTAxNzk3M0I0RDAwNTYxMkIxIC8qIEpJVFN0dWJzWDg2Q29tbW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjVFRjkxRjE2ODc4RjdEMDAzRTVDMjUgLyogSklUVGh1bmtzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRkM3MTJFMzE3Q0Q4NzkzMDA4Q0M5M0MgLyogSklUVG9ERkdEZWZlcnJl
ZENvbXBpbGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDcwMTg5QjAw
QUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUE3NkY1
NEEzMTNCMjhBQUIwMEVGMkJDRSAvKiBKSVRXcml0ZUJhcnJpZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDMThDNDE2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0FjdGl2YXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNkIxQ0I5MTg2MTI0NEMwMDg0NUQ5NyAvKiBBcml0eUNoZWNrTW9kZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC01MTY4LDYgKzUyMjYsNyBAQAogCQkJCUJDMDJFOTExMEUxODM5REIw
MDBGOTI5NyAvKiBOYXRpdmVFcnJvckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzAyRTkxMzBFMTgzOURCMDAwRjkyOTcgLyogTmF0aXZlRXJyb3JQcm90b3R5cGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGRkI5MjIwMTZEMDMzQjcwMDU1QTVEQiAvKiBOb2RlQ29uc3RydWN0b3Jz
LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA3RTE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAw
QUE3QzkzIC8qIE5vZGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNE
MDBCMzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCkBAIC01MzE2LDYg
KzUzNzUsNyBAQAogCQkJCUE3QThBRjQxMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50MTZBcnJheS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODY2NzM5RDMxM0JGREU3MTAwMjNEODdDIC8qIFVpbnQxNldp
dGhGcmFjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdBOEFGNDIxN0FEQjVGMzAwNUFCMTc0
IC8qIFVpbnQzMkFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA4NjE4OUIxQjdFMDA2
MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE3QThBRjNGMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OEFycmF5LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBN0E4QUY0MDE3QURCNUYzMDA1QUIxNzQgLyogVWludDhDbGFtcGVkQXJyYXkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGNUYwOENGMTQ2Qzc2MzMwMDA0NzJBOSAvKiBVbmNvbmRpdGlvbmFs
RmluYWxpemVyLmggaW4gSGVhZGVycyAqLywKQEAgLTU3ODksNiArNTg0OSw3IEBACiAJCQkJQTc5
MERENkYxODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEY2Mzk0NTQxNUQwNzA1NTAwNkE1OTdDIC8qIEFycmF5UHJvZmlsZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxNDdGMzlDMDEwN0VDMzc2MDA0MjdBNDggLyogQXJyYXlQcm90b3R5cGUu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwNkQxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlw
dENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjI0RTU0MDE3RUE5RjU5MDBBQkIy
MTcgLyogQXNzZW1ibHlIZWxwZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0ODE2RTFCMTU0
Q0M1NkMwMEI4MDU0QyAvKiBCbG9ja0FsbG9jYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
NDI4MDg2MzEwN0VDMTFBMDAxM0U3QjIgLyogQm9vbGVhbkNvbnN0cnVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtNTk0Miw2ICs2MDAzLDcgQEAKIAkJCQkxNDdGMzlDODEwN0VDMzc2MDA0MjdB
NDggLyogRXJyb3JDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDdGMzlDOTEw
N0VDMzc2MDA0MjdBNDggLyogRXJyb3JJbnN0YW5jZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
NDdGMzlDQTEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3JQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJQTVGRDAwNjcxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxNDI5RDg3ODBFRDIxQUNEMDBCODk2MTkgLyogRXhjZXB0aW9u
SGVscGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NkNBMDMyRTEwMzhFODQ0MDAyOEE2MDkg
LyogRXhlY3V0YWJsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0I0OEY0OTBFRTg5MzZGMDBE
Q0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTU5NzAs
NiArNjAzMiw3IEBACiAJCQkJQTc4QTk3ODAxNzk3MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFs
aXplci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjhGMkI5NTE3MkUwNEEwMDA3REJEQTUgLyog
RlRMTGluay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzRERUY5NTE4MkQ5OTE0MDA1MjJDMjIg
LyogSlNNYXBJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA4MTE4OUIxOTFB
MDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGQ0VGQURGMTgwNzM4QzAwMDQ3MkNFNCAvKiBGVExMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRkVBMEEwRjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMTG93ZXJERkdUb0xMVk0uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVu
dHJ5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjA1OSw3ICs2MTIyLDkgQEAKIAkJCQk4NkUzQzYx
NjE2N0JBQkVFMDA2RDc2MEEgLyogSlNDb250ZXh0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRC
RDVBMzAwQTNFOTFGNjAwQkFGNTlDIC8qIEpTQ29udGV4dFJlZi5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBNzIwMjhCNjE3OTc2MDFFMDA5ODAyOEMgLyogSlNDVGVzdFJ1bm5lclV0aWxzLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE1RkQwMDc1MTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVy
c0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjU5Rjg5MzkxODkxRjI5RjAwRDVDQ0RD
IC8qIFVubGlua2VkSW5zdHJ1Y3Rpb25TdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVG
RDAwNkYxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjJCNjZFQjE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmlldy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjJCNjZFRDE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmlld1Byb3Rv
dHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5Nzg4MDE0MDE0NzFBRDkyMDA0MUIwMTYgLyog
SlNEYXRlTWF0aC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTYxNjgsNiArNjIzMyw3IEBACiAJCQkJ
MTQ4RjIxQkMxMDdFQzU0RDAwNDJFQzJDIC8qIFBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5MzA1MkMzNDBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY5RkM4QzMxNEUxQjVGRTAwRDUyQUUwIC8qIFBvbHltb3JwaGljUHV0QnlJZExp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwODUxODlCMUI3RTAwNjMzMjMxIC8qIEpT
R2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOTgyMDYw
MTZCRkUzODEwMDI0MEQwMiAvKiBQcmVjaXNlSnVtcFRhcmdldHMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTU3NDJGNjUwREQxMUY1QTAwMDkxN0ZCIC8qIFByb2ZpbGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEZDOTdGMzUxODIwMjBENzAwMkM5QjI2IC8qIFByb2ZpbGVkQ29kZUJsb2NrSmV0
dGlzb25pbmdXYXRjaHBvaW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjIxNSw2ICs2MjgxLDcg
QEAKIAkJCQlDMjI1NDk0MzE1RjdEQkFBMDA2NUU4OTggLyogU2xvdFZpc2l0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTMzMDQwMkMwRTZBNzY0MDAwNzg2RTZBIC8qIFNtYWxsU3RyaW5ncy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjhGMkI5RTE3MzA2QzhEMDA3REJEQTUgLyogU291cmNl
Q29kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA3OTE4OUIwNTEwMDA2MzMyMzEgLyog
Q29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0OTNBRkExNkQwQ0FEMzAw
ODQ1MDhCIC8qIFNvdXJjZVByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0OURDMTZC
MTJFRjI5M0UwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGNkIxQ0M5MTg2NDFERjgwMDg0NUQ5NyAvKiBBcml0eUNoZWNrRmFpbFJldHVyblRo
dW5rcy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTYyMzcsNiArNjMwNCw3IEBACiAJCQkJQzJERjQ0
MkYxNzA3QUMwMTAwQTVDQTk2IC8qIFN1cGVyUmVnaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGOTE5RDI4MTU4NTY3NzMwMDRBNEU3RCAvKiBTeW1ib2xUYWJsZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRkMzMTQxMzE4MTQ1NTkxMDAwMzMyMzIgLyogVGVtcFJlZ2lzdGVyU2V0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE1RkQwMDdEMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxs
U3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQTJDMTdCMTdEN0NGODQwMDlE
MDE1RiAvKiBUZXN0UnVubmVyVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTczODY1NTUx
MTg2OTdCNDAwNTQwMjc5IC8qIFRodW5rR2VuZXJhdG9ycy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjJCNjcwNzE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29s
ZU1lc3NhZ2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVz
c2FnZS5jcHAKc2ltaWxhcml0eSBpbmRleCA3MCUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAKaW5kZXggZDNiOTNhYy4uNTk3YjE2ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4LCAyMDE0
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBN
YXR0IExpbGVrIDx3ZWJraXRAbWF0dGxpbGVrLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwOSwg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTMzLDIxICszMywx
NyBAQAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotI2luY2x1ZGUgIkNvbnNvbGUuaCIKICNp
bmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKKyNpbmNsdWRlICJJbmplY3RlZFNjcmlwdC5o
IgorI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIkluc3BlY3Rv
clZhbHVlcy5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIlNjcmlw
dENhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNj
cmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKLSNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5o
PgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oPgotI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaD4KLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yVmFsdWVzLmg+Ci0jaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNsdWRlICJTY3Jp
cHRWYWx1ZS5oIgogCi11c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogQ29uc29sZU1lc3NhZ2U6OkNvbnNvbGVN
ZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKICAgICA6IG1fc291cmNlKHNvdXJj
ZSkKQEAgLTExNiwxNSArMTEyLDE2IEBAIENvbnNvbGVNZXNzYWdlOjp+Q29uc29sZU1lc3NhZ2Uo
KQogewogfQogCi12b2lkIENvbnNvbGVNZXNzYWdlOjphdXRvZ2VuZXJhdGVNZXRhZGF0YShib29s
IGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUpCisvLyBGSVhNRTog
UmVtb3ZlIHRoZSBnZW5lcmF0ZSB3aXRob3V0IEV4ZWNTdGF0ZSBwYXRoLiBUaGUgY2FsbGVyIHNo
b3VsZCBhbHdheXMgcHJvdmlkZSBhbiBFeGVjU3RhdGUuCit2b2lkIENvbnNvbGVNZXNzYWdlOjph
dXRvZ2VuZXJhdGVNZXRhZGF0YShib29sIC8qY2FuR2VuZXJhdGVDYWxsU3RhY2sqLywgSlNDOjpF
eGVjU3RhdGUqIHN0YXRlKQogewotICAgIGlmIChtX3R5cGUgPT0gRW5kR3JvdXBNZXNzYWdlVHlw
ZSkKKyAgICBpZiAobV90eXBlID09IE1lc3NhZ2VUeXBlOjpFbmRHcm91cCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgaWYgKHN0YXRlKQogICAgICAgICBtX2NhbGxTdGFjayA9IGNyZWF0ZVNjcmlw
dENhbGxTdGFja0ZvckNvbnNvbGUoc3RhdGUpOwotICAgIGVsc2UgaWYgKGNhbkdlbmVyYXRlQ2Fs
bFN0YWNrKQotICAgICAgICBtX2NhbGxTdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhTY3Jp
cHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpOworICAgIC8vIGVs
c2UgaWYgKGNhbkdlbmVyYXRlQ2FsbFN0YWNrKQorICAgIC8vICAgICBtX2NhbGxTdGFjayA9IGNy
ZWF0ZVNjcmlwdENhbGxTdGFjayhTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0Nh
cHR1cmUsIHRydWUpOwogICAgIGVsc2UKICAgICAgICAgcmV0dXJuOwogCkBAIC0xMzksMjAgKzEz
NiwxOSBAQCB2b2lkIENvbnNvbGVNZXNzYWdlOjphdXRvZ2VuZXJhdGVNZXRhZGF0YShib29sIGNh
bkdlbmVyYXRlQ2FsbFN0YWNrLCBKU0M6OkV4ZWNTdAogICAgIG1fY2FsbFN0YWNrLmNsZWFyKCk7
CiB9CiAKLS8vIEtlZXAgaW4gc3luYyB3aXRoIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZp
ZXcuanMKIHN0YXRpYyBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVz
c2FnZTo6U291cmNlOjpFbnVtIG1lc3NhZ2VTb3VyY2VWYWx1ZShNZXNzYWdlU291cmNlIHNvdXJj
ZSkKIHsKICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJjZTog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpT
b3VyY2U6OlhNTDsKLSAgICBjYXNlIEpTTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkphdmFzY3JpcHQ7
Ci0gICAgY2FzZSBOZXR3b3JrTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1
aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok5ldHdvcms7Ci0gICAgY2Fz
ZSBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkNvbnNvbGVBUEk7Ci0gICAgY2FzZSBT
dG9yYWdlTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNv
bGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlN0b3JhZ2U7Ci0gICAgY2FzZSBBcHBDYWNoZU1l
c3NhZ2VTb3VyY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25z
b2xlTWVzc2FnZTo6U291cmNlOjpBcHBjYWNoZTsKLSAgICBjYXNlIFJlbmRlcmluZ01lc3NhZ2VT
b3VyY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVz
c2FnZTo6U291cmNlOjpSZW5kZXJpbmc7Ci0gICAgY2FzZSBDU1NNZXNzYWdlU291cmNlOiByZXR1
cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJj
ZTo6Q1NTOwotICAgIGNhc2UgU2VjdXJpdHlNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U2VjdXJpdHk7
Ci0gICAgY2FzZSBPdGhlck1lc3NhZ2VTb3VyY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWls
ZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpPdGhlcjsKKyAgICBjYXNlIE1l
c3NhZ2VTb3VyY2U6OlhNTDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlhNTDsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkpT
OiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6
OlNvdXJjZTo6SmF2YXNjcmlwdDsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcms6IHJl
dHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291
cmNlOjpOZXR3b3JrOworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSTogcmV0dXJu
IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6
OkNvbnNvbGVBUEk7CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpTdG9yYWdlOiByZXR1cm4gSW5z
cGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U3Rv
cmFnZTsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlOiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6QXBwY2FjaGU7
CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpSZW5kZXJpbmc6IHJldHVybiBJbnNwZWN0b3I6OlR5
cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpSZW5kZXJpbmc7Cisg
ICAgY2FzZSBNZXNzYWdlU291cmNlOjpDU1M6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVy
OjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpDU1M7CisgICAgY2FzZSBNZXNzYWdl
U291cmNlOjpTZWN1cml0eTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlNlY3VyaXR5OworICAgIGNhc2UgTWVzc2FnZVNvdXJj
ZTo6T3RoZXI6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xl
TWVzc2FnZTo6U291cmNlOjpPdGhlcjsKICAgICB9CiAgICAgcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok90aGVyOwogfQpAQCAt
MTYwLDE5ICsxNTYsMTkgQEAgc3RhdGljIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkVudW0gbWVzc2FnZVNvdXIKIHN0YXRpYyBJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6RW51bSBtZXNz
YWdlVHlwZVZhbHVlKE1lc3NhZ2VUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7Ci0g
ICAgY2FzZSBMb2dNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpMb2c7Ci0gICAgY2FzZSBDbGVhck1lc3NhZ2VU
eXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlR5cGU6OkNsZWFyOwotICAgIGNhc2UgRGlyTWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6RGlyOwotICAg
IGNhc2UgRGlyWE1MTWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6RGlyWE1MOwotICAgIGNhc2UgVGFibGVNZXNz
YWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpUeXBlOjpUYWJsZTsKLSAgICBjYXNlIFRyYWNlTWVzc2FnZVR5cGU6IHJldHVybiBJ
bnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6VHJh
Y2U7Ci0gICAgY2FzZSBTdGFydEdyb3VwTWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5
cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6U3RhcnRHcm91cDsKLSAg
ICBjYXNlIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpTdGFydEdyb3VwQ29s
bGFwc2VkOwotICAgIGNhc2UgRW5kR3JvdXBNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpFbmRHcm91cDsKLSAg
ICBjYXNlIEFzc2VydE1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkFzc2VydDsKLSAgICBjYXNlIFRpbWluZ01l
c3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29s
ZU1lc3NhZ2U6OlR5cGU6OlRpbWluZzsKLSAgICBjYXNlIFByb2ZpbGVNZXNzYWdlVHlwZTogcmV0
dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBl
OjpQcm9maWxlOwotICAgIGNhc2UgUHJvZmlsZUVuZE1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVj
dG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlByb2ZpbGVF
bmQ7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6TG9nOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVp
bGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkxvZzsKKyAgICBjYXNlIE1lc3Nh
Z2VUeXBlOjpDbGVhcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNv
bnNvbGVNZXNzYWdlOjpUeXBlOjpDbGVhcjsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpEaXI6IHJl
dHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlw
ZTo6RGlyOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkRpclhNTDogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpEaXJYTUw7CisgICAg
Y2FzZSBNZXNzYWdlVHlwZTo6VGFibGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6VGFibGU7CisgICAgY2FzZSBNZXNzYWdlVHlw
ZTo6VHJhY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xl
TWVzc2FnZTo6VHlwZTo6VHJhY2U7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6U3RhcnRHcm91cDog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpU
eXBlOjpTdGFydEdyb3VwOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OlN0YXJ0R3JvdXBDb2xsYXBz
ZWQ6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2Fn
ZTo6VHlwZTo6U3RhcnRHcm91cENvbGxhcHNlZDsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpFbmRH
cm91cDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpUeXBlOjpFbmRHcm91cDsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpBc3NlcnQ6IHJldHVy
biBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6
QXNzZXJ0OworICAgIGNhc2UgTWVzc2FnZVR5cGU6OlRpbWluZzogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpUaW1pbmc7CisgICAg
Y2FzZSBNZXNzYWdlVHlwZTo6UHJvZmlsZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpQcm9maWxlOworICAgIGNhc2UgTWVzc2Fn
ZVR5cGU6OlByb2ZpbGVFbmQ6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xl
OjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6UHJvZmlsZUVuZDsKICAgICB9CiAgICAgcmV0dXJuIElu
c3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpMb2c7
CiB9CkBAIC0xODAsMTAgKzE3NiwxMCBAQCBzdGF0aWMgSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkVudW0gbWVzc2FnZVR5cGVWYQogc3RhdGlj
IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6
RW51bSBtZXNzYWdlTGV2ZWxWYWx1ZShNZXNzYWdlTGV2ZWwgbGV2ZWwpCiB7CiAgICAgc3dpdGNo
IChsZXZlbCkgewotICAgIGNhc2UgRGVidWdNZXNzYWdlTGV2ZWw6IHJldHVybiBJbnNwZWN0b3I6
OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkRlYnVnOwotICAg
IGNhc2UgTG9nTWVzc2FnZUxldmVsOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29u
c29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpMb2c7Ci0gICAgY2FzZSBXYXJuaW5nTWVzc2Fn
ZUxldmVsOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1l
c3NhZ2U6OkxldmVsOjpXYXJuaW5nOwotICAgIGNhc2UgRXJyb3JNZXNzYWdlTGV2ZWw6IHJldHVy
biBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6
OkVycm9yOworICAgIGNhc2UgTWVzc2FnZUxldmVsOjpMb2c6IHJldHVybiBJbnNwZWN0b3I6OlR5
cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkxvZzsKKyAgICBjYXNl
IE1lc3NhZ2VMZXZlbDo6V2FybmluZzogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6V2FybmluZzsKKyAgICBjYXNlIE1lc3NhZ2VM
ZXZlbDo6RXJyb3I6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25z
b2xlTWVzc2FnZTo6TGV2ZWw6OkVycm9yOworICAgIGNhc2UgTWVzc2FnZUxldmVsOjpEZWJ1Zzog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpM
ZXZlbDo6RGVidWc7CiAgICAgfQogICAgIHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkxvZzsKIH0KQEAgLTE5NCwxOSArMTkwLDIy
IEBAIHZvaWQgQ29uc29sZU1lc3NhZ2U6OmFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yQ29uc29sZUZy
b250ZW5kRGlzcGF0Y2hlciogY29uc29sZUZyCiAgICAgICAgIC5zZXRTb3VyY2UobWVzc2FnZVNv
dXJjZVZhbHVlKG1fc291cmNlKSkKICAgICAgICAgLnNldExldmVsKG1lc3NhZ2VMZXZlbFZhbHVl
KG1fbGV2ZWwpKQogICAgICAgICAuc2V0VGV4dChtX21lc3NhZ2UpOworCiAgICAgLy8gRklYTUU6
IG9ubHkgc2VuZCBvdXQgdHlwZSBmb3IgQ29uc29sZUFQSSBzb3VyY2UgbWVzc2FnZXMuCiAgICAg
anNvbk9iai0+c2V0VHlwZShtZXNzYWdlVHlwZVZhbHVlKG1fdHlwZSkpOwogICAgIGpzb25PYmot
PnNldExpbmUoc3RhdGljX2Nhc3Q8aW50PihtX2xpbmUpKTsKICAgICBqc29uT2JqLT5zZXRDb2x1
bW4oc3RhdGljX2Nhc3Q8aW50PihtX2NvbHVtbikpOwogICAgIGpzb25PYmotPnNldFVybChtX3Vy
bCk7CiAgICAganNvbk9iai0+c2V0UmVwZWF0Q291bnQoc3RhdGljX2Nhc3Q8aW50PihtX3JlcGVh
dENvdW50KSk7Ci0gICAgaWYgKG1fc291cmNlID09IE5ldHdvcmtNZXNzYWdlU291cmNlICYmICFt
X3JlcXVlc3RJZC5pc0VtcHR5KCkpCisKKyAgICBpZiAobV9zb3VyY2UgPT0gTWVzc2FnZVNvdXJj
ZTo6TmV0d29yayAmJiAhbV9yZXF1ZXN0SWQuaXNFbXB0eSgpKQogICAgICAgICBqc29uT2JqLT5z
ZXROZXR3b3JrUmVxdWVzdElkKG1fcmVxdWVzdElkKTsKKwogICAgIGlmIChtX2FyZ3VtZW50cyAm
JiBtX2FyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgpKSB7CiAgICAgICAgIEluamVjdGVkU2NyaXB0
IGluamVjdGVkU2NyaXB0ID0gaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEZv
cihtX2FyZ3VtZW50cy0+Z2xvYmFsU3RhdGUoKSk7CiAgICAgICAgIGlmICghaW5qZWN0ZWRTY3Jp
cHQuaGFzTm9WYWx1ZSgpKSB7CiAgICAgICAgICAgICBSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVp
bGRlcjo6QXJyYXk8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0
Pj4ganNvbkFyZ3MgPSBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5
cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+OjpjcmVhdGUoKTsKLSAgICAgICAgICAg
IGlmIChtX3R5cGUgPT0gVGFibGVNZXNzYWdlVHlwZSAmJiBnZW5lcmF0ZVByZXZpZXcgJiYgbV9h
cmd1bWVudHMtPmFyZ3VtZW50Q291bnQoKSkgeworICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBN
ZXNzYWdlVHlwZTo6VGFibGUgJiYgZ2VuZXJhdGVQcmV2aWV3ICYmIG1fYXJndW1lbnRzLT5hcmd1
bWVudENvdW50KCkpIHsKICAgICAgICAgICAgICAgICBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSB0
YWJsZSA9IG1fYXJndW1lbnRzLT5hcmd1bWVudEF0KDApOwogICAgICAgICAgICAgICAgIERlcHJl
Y2F0ZWQ6OlNjcmlwdFZhbHVlIGNvbHVtbnMgPSBtX2FyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgp
ID4gMSA/IG1fYXJndW1lbnRzLT5hcmd1bWVudEF0KDEpIDogRGVwcmVjYXRlZDo6U2NyaXB0VmFs
dWUoKTsKICAgICAgICAgICAgICAgICBSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UnVu
dGltZTo6UmVtb3RlT2JqZWN0PiBpbnNwZWN0b3JWYWx1ZSA9IGluamVjdGVkU2NyaXB0LndyYXBU
YWJsZSh0YWJsZSwgY29sdW1ucyk7CkBAIC0yMjgsOCArMjI3LDEwIEBAIHZvaWQgQ29uc29sZU1l
c3NhZ2U6OmFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yQ29uc29sZUZyb250ZW5kRGlzcGF0Y2hlciog
Y29uc29sZUZyCiAgICAgICAgICAgICBqc29uT2JqLT5zZXRQYXJhbWV0ZXJzKGpzb25BcmdzKTsK
ICAgICAgICAgfQogICAgIH0KKwogICAgIGlmIChtX2NhbGxTdGFjaykKICAgICAgICAganNvbk9i
ai0+c2V0U3RhY2tUcmFjZShtX2NhbGxTdGFjay0+YnVpbGRJbnNwZWN0b3JBcnJheSgpKTsKKwog
ICAgIGNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXItPm1lc3NhZ2VBZGRlZChqc29uT2JqKTsKIH0K
IApAQCAtMjQzLDYgKzI0NCw3IEBAIGJvb2wgQ29uc29sZU1lc3NhZ2U6OmlzRXF1YWwoQ29uc29s
ZU1lc3NhZ2UqIG1zZykgY29uc3QKICAgICBpZiAobV9hcmd1bWVudHMpIHsKICAgICAgICAgaWYg
KCFtX2FyZ3VtZW50cy0+aXNFcXVhbChtc2ctPm1fYXJndW1lbnRzLmdldCgpKSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICAvLyBOZXZlciB0cmVhdCBvYmplY3RzIGFzIGVx
dWFsIC0gdGhlaXIgcHJvcGVydGllcyBtaWdodCBjaGFuZ2Ugb3ZlciB0aW1lLgogICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCk7ICsraSkg
ewogICAgICAgICAgICAgaWYgKG1fYXJndW1lbnRzLT5hcmd1bWVudEF0KGkpLmlzT2JqZWN0KCkp
CkBAIC0yNjcsMjQgKzI2OSwyNyBAQCBib29sIENvbnNvbGVNZXNzYWdlOjppc0VxdWFsKENvbnNv
bGVNZXNzYWdlKiBtc2cpIGNvbnN0CiAgICAgICAgICYmIG1zZy0+bV9yZXF1ZXN0SWQgPT0gbV9y
ZXF1ZXN0SWQ7CiB9CiAKLXZvaWQgQ29uc29sZU1lc3NhZ2U6OndpbmRvd0NsZWFyZWQoRE9NV2lu
ZG93KiB3aW5kb3cpCit2b2lkIENvbnNvbGVNZXNzYWdlOjpzY3JpcHRTdGF0ZUNsZWFyZWQoSlND
OjpFeGVjU3RhdGUqIGV4ZWNTdGF0ZSkKIHsKICAgICBpZiAoIW1fYXJndW1lbnRzKQogICAgICAg
ICByZXR1cm47Ci0gICAgaWYgKGRvbVdpbmRvd0Zyb21FeGVjU3RhdGUobV9hcmd1bWVudHMtPmds
b2JhbFN0YXRlKCkpICE9IHdpbmRvdykKKworICAgIGlmIChtX2FyZ3VtZW50cy0+Z2xvYmFsU3Rh
dGUoKSAhPSBleGVjU3RhdGUpCiAgICAgICAgIHJldHVybjsKKwogICAgIGlmICghbV9tZXNzYWdl
KQotICAgICAgICBtX21lc3NhZ2UgPSAiPG1lc3NhZ2UgY29sbGVjdGVkPiI7CisgICAgICAgIG1f
bWVzc2FnZSA9IEFTQ0lJTGl0ZXJhbCgiPG1lc3NhZ2UgY29sbGVjdGVkPiIpOwogICAgIG1fYXJn
dW1lbnRzLmNsZWFyKCk7CiB9CiAKLXVuc2lnbmVkIENvbnNvbGVNZXNzYWdlOjphcmd1bWVudENv
dW50KCkKK3Vuc2lnbmVkIENvbnNvbGVNZXNzYWdlOjphcmd1bWVudENvdW50KCkgY29uc3QKIHsK
ICAgICBpZiAobV9hcmd1bWVudHMpCiAgICAgICAgIHJldHVybiBtX2FyZ3VtZW50cy0+YXJndW1l
bnRDb3VudCgpOworCiAgICAgcmV0dXJuIDA7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
K30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCnNpbWlsYXJp
dHkgaW5kZXggODQlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xl
TWVzc2FnZS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmgKaW5kZXggMWExZWFhMS4uOTg0NTJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0zMSwyNyArMzEsMjUgQEAKICNpZm5k
ZWYgQ29uc29sZU1lc3NhZ2VfaAogI2RlZmluZSBDb25zb2xlTWVzc2FnZV9oCiAKLSNpbmNsdWRl
ICJDb25zb2xlQVBJVHlwZXMuaCIKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAjaW5jbHVkZSAi
Q29uc29sZVR5cGVzLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVy
cy5oIgotI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySlNGcm9u
dGVuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworY2xhc3MgRXhlY1N0YXRlOworfQogCiBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKKwogY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwotY2xh
c3MgSW5zcGVjdG9yT2JqZWN0OwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERP
TVdpbmRvdzsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKLWNsYXNzIFNjcmlwdENhbGxGcmFtZTsK
IGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAotY2xhc3MgQ29uc29sZU1lc3NhZ2UgewotICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBDb25zb2xlTWVzc2FnZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3Rh
Y2ssIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogICAgIENv
bnNvbGVNZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiB1cmwsIHVuc2lnbmVkIGxpbmUsIHVuc2lnbmVkIGNvbHVtbiwgSlNDOjpFeGVjU3RhdGUq
ID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwpAQCAtNTks
MTggKzU3LDIwIEBAIHB1YmxpYzoKICAgICBDb25zb2xlTWVzc2FnZShib29sIGNhbkdlbmVyYXRl
Q2FsbFN0YWNrLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgSlNDOjpFeGVj
U3RhdGUqLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAgICAgfkNvbnNv
bGVNZXNzYWdlKCk7CiAKLSAgICB2b2lkIGFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yOjpJbnNwZWN0
b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKiwgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdE1h
bmFnZXIqLCBib29sIGdlbmVyYXRlUHJldmlldyk7Ci0gICAgdm9pZCB1cGRhdGVSZXBlYXRDb3Vu
dEluQ29uc29sZShJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXIq
KTsKLSAgICB2b2lkIGluY3JlbWVudENvdW50KCkgeyArK21fcmVwZWF0Q291bnQ7IH0KLSAgICBi
b29sIGlzRXF1YWwoQ29uc29sZU1lc3NhZ2UqIG1zZykgY29uc3Q7CisgICAgdm9pZCBhZGRUb0Zy
b250ZW5kKEluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXIqLCBJbmplY3RlZFNjcmlw
dE1hbmFnZXIqLCBib29sIGdlbmVyYXRlUHJldmlldyk7CisgICAgdm9pZCB1cGRhdGVSZXBlYXRD
b3VudEluQ29uc29sZShJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKik7CiAKICAg
ICBNZXNzYWdlU291cmNlIHNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlOyB9CiAgICAg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9CiAgICAg
TWVzc2FnZVR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogCi0gICAgdm9pZCB3
aW5kb3dDbGVhcmVkKERPTVdpbmRvdyopOworICAgIHZvaWQgaW5jcmVtZW50Q291bnQoKSB7ICsr
bV9yZXBlYXRDb3VudDsgfQogCi0gICAgdW5zaWduZWQgYXJndW1lbnRDb3VudCgpOworICAgIHVu
c2lnbmVkIGFyZ3VtZW50Q291bnQoKSBjb25zdDsKKworICAgIGJvb2wgaXNFcXVhbChDb25zb2xl
TWVzc2FnZSogbXNnKSBjb25zdDsKKworICAgIHZvaWQgc2NyaXB0U3RhdGVDbGVhcmVkKEpTQzo6
RXhlY1N0YXRlKik7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBhdXRvZ2VuZXJhdGVNZXRhZGF0YShi
b29sIGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogPSBudWxscHRyKTsKQEAg
LTg4LDYgKzg4LDggQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9yZXF1ZXN0SWQ7CiB9OwogCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlm
IC8vIENvbnNvbGVNZXNzYWdlX2gKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oCnNpbWlsYXJpdHkgaW5k
ZXggNjQlCmNvcHkgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVz
LmgKY29weSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5o
CmluZGV4IDExZjY1ZWMuLjFjOTQwOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Db25zb2xlQVBJVHlwZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0NvbnNvbGVUeXBlcy5oCkBAIC0xLDQgKzEsNSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAg
LTIyLDI3ICsyMyw1MiBAQAogICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBDb25zb2xlQVBJVHlwZXNf
aAotI2RlZmluZSBDb25zb2xlQVBJVHlwZXNfaAorI2lmbmRlZiBDb25zb2xlVHlwZXNfaAorI2Rl
ZmluZSBDb25zb2xlVHlwZXNfaAogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAotZW51bSBNZXNzYWdlVHlwZSB7Ci0gICAgTG9nTWVzc2FnZVR5cGUsCi0gICAg
RGlyTWVzc2FnZVR5cGUsCi0gICAgRGlyWE1MTWVzc2FnZVR5cGUsCi0gICAgVGFibGVNZXNzYWdl
VHlwZSwKLSAgICBUcmFjZU1lc3NhZ2VUeXBlLAotICAgIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZSwK
LSAgICBTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUsCi0gICAgRW5kR3JvdXBNZXNzYWdl
VHlwZSwKLSAgICBDbGVhck1lc3NhZ2VUeXBlLAotICAgIEFzc2VydE1lc3NhZ2VUeXBlLAotICAg
IFRpbWluZ01lc3NhZ2VUeXBlLAotICAgIFByb2ZpbGVNZXNzYWdlVHlwZSwKLSAgICBQcm9maWxl
RW5kTWVzc2FnZVR5cGUKK2VudW0gY2xhc3MgTWVzc2FnZVNvdXJjZSB7CisgICAgWE1MLAorICAg
IEpTLAorICAgIE5ldHdvcmssCisgICAgQ29uc29sZUFQSSwKKyAgICBTdG9yYWdlLAorICAgIEFw
cENhY2hlLAorICAgIFJlbmRlcmluZywKKyAgICBDU1MsCisgICAgU2VjdXJpdHksCisgICAgT3Ro
ZXIsCiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCitlbnVtIGNsYXNzIE1lc3NhZ2VUeXBl
IHsKKyAgICBMb2csCisgICAgRGlyLAorICAgIERpclhNTCwKKyAgICBUYWJsZSwKKyAgICBUcmFj
ZSwKKyAgICBTdGFydEdyb3VwLAorICAgIFN0YXJ0R3JvdXBDb2xsYXBzZWQsCisgICAgRW5kR3Jv
dXAsCisgICAgQ2xlYXIsCisgICAgQXNzZXJ0LAorICAgIFRpbWluZywKKyAgICBQcm9maWxlLAor
ICAgIFByb2ZpbGVFbmQsCit9OworCitlbnVtIGNsYXNzIE1lc3NhZ2VMZXZlbCB7CisgICAgTG9n
ID0gMSwKKyAgICBXYXJuaW5nID0gMiwKKyAgICBFcnJvciA9IDMsCisgICAgRGVidWcgPSA0LAor
fTsKKworfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCisKKy8vIFRoZXNlIHdpbGwgbGlrZWx5IG1v
dmUgb3V0IG9mIHRoZSBpbnNwZWN0b3IgbmFtZXNwYWNlLgordXNpbmcgSW5zcGVjdG9yOjpNZXNz
YWdlU291cmNlOwordXNpbmcgSW5zcGVjdG9yOjpNZXNzYWdlVHlwZTsKK3VzaW5nIEluc3BlY3Rv
cjo6TWVzc2FnZUxldmVsOwogCi0jZW5kaWYgLy8gQ29uc29sZUFQSVR5cGVzX2gKKyNlbmRpZiAv
LyBDb25zb2xlVHlwZXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lk
ZW50aWZpZXJzRmFjdG9yeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lk
ZW50aWZpZXJzRmFjdG9yeS5jcHAKc2ltaWxhcml0eSBpbmRleCA5MyUKcmVuYW1lIGZyb20gU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAKcmVuYW1lIHRvIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcAppbmRl
eCBkY2UyYTI4Li40ZmJiMzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SWRlbnRpZmllcnNGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKQEAgLTI0LDI5ICsyNSwyNSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIK
IAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWls
ZGVyLmg+CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBu
YW1lc3BhY2Ugewogc3RhdGljIGxvbmcgc19sYXN0VXNlZElkZW50aWZpZXIgPSAwOwogfQogCi0v
LyBzdGF0aWMKLWxvbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpzX3Byb2Nlc3NJZDsKK2xvbmcgSWRl
bnRpZmllcnNGYWN0b3J5OjpzX3Byb2Nlc3NJZCA9IDA7CiAKLS8vIHN0YXRpYwogU3RyaW5nIElk
ZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpCiB7CiAgICAgcmV0dXJuIGFkZFBy
b2Nlc3NJZFByZWZpeFRvKFN0cmluZzo6bnVtYmVyKCsrc19sYXN0VXNlZElkZW50aWZpZXIpKTsK
IH0KIAotLy8gc3RhdGljCiBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQodW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyKQogewogICAgIGlmIChpZGVudGlmaWVyKQpAQCAtNTQsNyAr
NTEsNiBAQCBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotLy8gc3RhdGljCiBTdHJp
bmcgSWRlbnRpZmllcnNGYWN0b3J5OjphZGRQcm9jZXNzSWRQcmVmaXhUbyhjb25zdCBTdHJpbmcm
IGlkKQogewogICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKQEAgLTY0LDYgKzYwLDYgQEAgU3Ry
aW5nIElkZW50aWZpZXJzRmFjdG9yeTo6YWRkUHJvY2Vzc0lkUHJlZml4VG8oY29uc3QgU3RyaW5n
JiBpZCkKICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwogfQogCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmll
cnNGYWN0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJz
RmFjdG9yeS5oCnNpbWlsYXJpdHkgaW5kZXggOTUlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaApyZW5hbWUgdG8gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaAppbmRleCBiMWE5YzQ4Li5iMjg0
YWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0
b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0Zh
Y3RvcnkuaApAQCAtMjYsMjQgKzI2LDI1IEBACiAjaWZuZGVmIElkZW50aWZpZXJzRmFjdG9yeV9o
CiAjZGVmaW5lIElkZW50aWZpZXJzRmFjdG9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KLQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsK
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotY2xhc3MgSWRlbnRpZmllcnNGYWN0
b3J5IHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBJ
ZGVudGlmaWVyc0ZhY3RvcnkgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNldFByb2Nlc3NJ
ZChsb25nIHByb2Nlc3NJZCkgeyBzX3Byb2Nlc3NJZCA9IHByb2Nlc3NJZDsgfQogICAgIHN0YXRp
YyBTdHJpbmcgY3JlYXRlSWRlbnRpZmllcigpOwogICAgIHN0YXRpYyBTdHJpbmcgcmVxdWVzdElk
KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CisKIHByaXZhdGU6CiAgICAgc3RhdGljIFN0cmlu
ZyBhZGRQcm9jZXNzSWRQcmVmaXhUbyhjb25zdCBTdHJpbmcmIGlkKTsKIAogICAgIHN0YXRpYyBs
b25nIHNfcHJvY2Vzc0lkOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyAhZGVmaW5lZChJZGVudGlmaWVyc0ZhY3Rvcnlf
aCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDQyNGE4
N2YuLjc1ZGJkYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
QEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIgogI2luY2x1ZGUgIkpTR2xv
YmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCIKICNp
bmNsdWRlICJKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaCIKICNpbmNsdWRlICJKU0dsb2Jh
bE9iamVjdFJ1bnRpbWVBZ2VudC5oIgogCkBAIC01Myw3ICs1NCwxMSBAQCBKU0dsb2JhbE9iamVj
dEluc3BlY3RvckNvbnRyb2xsZXI6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcihK
U0dsb2JhbE9iagogICAgIEluc3BlY3RvclJ1bnRpbWVBZ2VudCogcnVudGltZUFnZW50ID0gcnVu
dGltZUFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUocnVudGlt
ZUFnZW50UHRyKSk7CiAKLSAgICBhdXRvIGRlYnVnZ2VyQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5p
cXVlPEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudD4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIu
Z2V0KCksIG1fZ2xvYmFsT2JqZWN0KTsKKyAgICBhdXRvIGNvbnNvbGVBZ2VudFB0ciA9IHN0ZDo6
bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ+KG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmdldCgpKTsKKyAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9
IGNvbnNvbGVBZ2VudFB0ci5nZXQoKTsKKyAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptb3ZlKGNv
bnNvbGVBZ2VudFB0cikpOworCisgICAgYXV0byBkZWJ1Z2dlckFnZW50UHRyID0gc3RkOjptYWtl
X3VuaXF1ZTxKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ+KG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmdldCgpLCBtX2dsb2JhbE9iamVjdCwgY29uc29sZUFnZW50KTsKICAgICBJbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50KiBkZWJ1Z2dlckFnZW50ID0gZGVidWdnZXJBZ2VudFB0ci5nZXQoKTsKICAg
ICBtX2FnZW50cy5hcHBlbmQoc3RkOjptb3ZlKGRlYnVnZ2VyQWdlbnRQdHIpKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5jcHAKc2ltaWxhcml0
eSBpbmRleCA5MCUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFy
Z3VtZW50cy5jcHAKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2Ny
aXB0QXJndW1lbnRzLmNwcAppbmRleCA5ZTY1ZjdlLi4xNWYxNGRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5jcHAKQEAgLTEsMTAgKzEsMTEg
QEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICAqIG1ldDoKLSAq
IAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xNCw3ICsxNSw3IEBA
CiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMxLDE3ICszMiwxNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgogCi0jaW5jbHVkZSA8YmluZGlu
Z3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlICJTY3JpcHRWYWx1ZS5oIgogCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+IFNjcmlwdEFyZ3VtZW50czo6Y3JlYXRlKEpTQzo6RXhlY1N0YXRlKiBzY3JpcHRTdGF0
ZSwgVmVjdG9yPERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlPiYgYXJndW1lbnRzKQogewogICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgU2NyaXB0QXJndW1lbnRzKHNjcmlwdFN0YXRlLCBhcmd1bWVudHMp
KTsKIH0KIAotU2NyaXB0QXJndW1lbnRzOjpTY3JpcHRBcmd1bWVudHMoSlNDOjpFeGVjU3RhdGUq
IHNjcmlwdFN0YXRlLCBWZWN0b3I8RGVwcmVjYXRlZDo6U2NyaXB0VmFsdWU+JiBhcmd1bWVudHMp
Ci0gICAgOiBtX2dsb2JhbE9iamVjdChzY3JpcHRTdGF0ZS0+dm0oKSwgc2NyaXB0U3RhdGUtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSkKK1NjcmlwdEFyZ3VtZW50czo6U2NyaXB0QXJndW1lbnRzKEpT
Qzo6RXhlY1N0YXRlKiBleGVjU3RhdGUsIFZlY3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4m
IGFyZ3VtZW50cykKKyAgICA6IG1fZ2xvYmFsT2JqZWN0KGV4ZWNTdGF0ZS0+dm0oKSwgZXhlY1N0
YXRlLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpCiB7CiAgICAgbV9hcmd1bWVudHMuc3dhcChhcmd1
bWVudHMpOwogfQpAQCAtNjAsNiArNjEsNyBAQCBKU0M6OkV4ZWNTdGF0ZSogU2NyaXB0QXJndW1l
bnRzOjpnbG9iYWxTdGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYgKG1fZ2xvYmFsT2JqZWN0KQogICAg
ICAgICByZXR1cm4gY29uc3RfY2FzdDxKU0M6OkpTR2xvYmFsT2JqZWN0Kj4obV9nbG9iYWxPYmpl
Y3QuZ2V0KCkpLT5nbG9iYWxFeGVjKCk7CisKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApAQCAt
OTUsNyArOTcsOCBAQCBib29sIFNjcmlwdEFyZ3VtZW50czo6aXNFcXVhbChTY3JpcHRBcmd1bWVu
dHMqIG90aGVyKSBjb25zdAogICAgICAgICBpZiAoIW1fYXJndW1lbnRzW2ldLmlzRXF1YWwob3Ro
ZXItPmdsb2JhbFN0YXRlKCksIG90aGVyLT5tX2FyZ3VtZW50c1tpXSkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQorCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaApzaW1pbGFyaXR5IGluZGV4IDkwJQpyZW5h
bWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmgKcmVuYW1l
IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmgKaW5k
ZXggNDdhOTYyMy4uNTMzN2UwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1NjcmlwdEFyZ3VtZW50cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
U2NyaXB0QXJndW1lbnRzLmgKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAt
NDYsMTIgKzQ3LDExIEBAIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIEpTR2xvYmFsT2JqZWN0Owog
fQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAotY2xhc3Mg
U2NyaXB0QXJndW1lbnRzIDogcHVibGljIFJlZkNvdW50ZWQ8U2NyaXB0QXJndW1lbnRzPiB7Citj
bGFzcyBKU19FWFBPUlRfUFJJVkFURSBTY3JpcHRBcmd1bWVudHMgOiBwdWJsaWMgUmVmQ291bnRl
ZDxTY3JpcHRBcmd1bWVudHM+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIFZlY3RvcjxEZXByZWNhdGVkOjpT
Y3JpcHRWYWx1ZT4mIGFyZ3VtZW50cyk7Ci0KICAgICB+U2NyaXB0QXJndW1lbnRzKCk7CiAKICAg
ICBjb25zdCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSYgYXJndW1lbnRBdChzaXplX3QpIGNvbnN0
OwpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAKICAgICBKU0M6OkV4ZWNTdGF0ZSogZ2xvYmFs
U3RhdGUoKSBjb25zdDsKIAotICAgIGJvb2wgZ2V0Rmlyc3RBcmd1bWVudEFzU3RyaW5nKFdURjo6
U3RyaW5nJiByZXN1bHQsIGJvb2wgY2hlY2tGb3JOdWxsT3JVbmRlZmluZWQgPSBmYWxzZSk7Cisg
ICAgYm9vbCBnZXRGaXJzdEFyZ3VtZW50QXNTdHJpbmcoU3RyaW5nJiByZXN1bHQsIGJvb2wgY2hl
Y2tGb3JOdWxsT3JVbmRlZmluZWQgPSBmYWxzZSk7CiAgICAgYm9vbCBpc0VxdWFsKFNjcmlwdEFy
Z3VtZW50cyopIGNvbnN0OwogCiBwcml2YXRlOgpAQCAtNjksNiArNjksNiBAQCBwcml2YXRlOgog
ICAgIFZlY3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4gbV9hcmd1bWVudHM7CiB9OwogCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlm
IC8vIFNjcmlwdEFyZ3VtZW50c19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbEZyYW1lLmNwcApzaW1pbGFyaXR5IGluZGV4IDkyJQpyZW5hbWUgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcApyZW5hbWUgdG8gU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCmluZGV4IDY5YzI4
ZjkuLmM3YTgyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRD
YWxsRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0
Q2FsbEZyYW1lLmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQogICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKQEAgLTE0LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot
ICogCisgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAt
MzEsMTMgKzMyLDEwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2Fs
bEZyYW1lLmgiCiAKLSNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgi
Ci0jaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgotI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KKyNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKKyNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogU2NyaXB0Q2FsbEZyYW1lOjpTY3JpcHRD
YWxsRnJhbWUoY29uc3QgU3RyaW5nJiBmdW5jdGlvbk5hbWUsIGNvbnN0IFN0cmluZyYgc2NyaXB0
TmFtZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uKQogICAgIDogbV9mdW5j
dGlvbk5hbWUoZnVuY3Rpb25OYW1lKQpAQCAtNzEsNCArNjksNCBAQCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNhbGxGcmFtZT4gU2NyaXB0Q2FsbEZyYW1lOjpi
dWlsZElucwogfQogI2VuZGlmCiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Njcmlw
dENhbGxGcmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxs
RnJhbWUuaApzaW1pbGFyaXR5IGluZGV4IDkzJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKaW5kZXggZDZkY2ZhMy4uMDA1MjRkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKQEAgLTEs
MTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICAq
IG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xNCw3
ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMxLDIwICszMiwxNiBAQAogI2lm
bmRlZiBTY3JpcHRDYWxsRnJhbWVfaAogI2RlZmluZSBTY3JpcHRDYWxsRnJhbWVfaAogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLSNpbmNsdWRlICJJbnNwZWN0b3JXZWJUeXBlQnVpbGRlcnMuaCIK
LSNlbmRpZgotCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisjaW5jbHVkZSAiSW5zcGVjdG9y
SlNUeXBlQnVpbGRlcnMuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKLWNsYXNz
IEluc3BlY3Rvck9iamVjdDsKLX0KIAotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBTY3Jp
cHRDYWxsRnJhbWUgIHsKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFNjcmlwdENhbGxGcmFtZSAg
ewogcHVibGljOgogICAgIFNjcmlwdENhbGxGcmFtZShjb25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFt
ZSwgY29uc3QgU3RyaW5nJiBzY3JpcHROYW1lLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25l
ZCBjb2x1bW4pOwogICAgIH5TY3JpcHRDYWxsRnJhbWUoKTsKQEAgLTY3LDYgKzY0LDYgQEAgcHJp
dmF0ZToKICAgICB1bnNpZ25lZCBtX2NvbHVtbjsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gU2NyaXB0Q2FsbEZyYW1l
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2su
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3Bw
CnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2suY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKaW5kZXggYzRhZjFiNC4uMmRkMjg1ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwCkBAIC0x
LDEwICsxLDExIEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwOCwgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQog
ICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKQEAgLTE0
LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgogICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMTIgKzMyLDkgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKIAotI2luY2x1
ZGUgIkluc3BlY3RvcldlYlR5cGVCdWlsZGVycy5oIgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuaD4KKyNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKIAotdXNpbmcgbmFt
ZXNwYWNlIEluc3BlY3RvcjsKLQotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CiAKIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBTY3JpcHRDYWxsU3RhY2s6OmNy
ZWF0ZShWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiYgZnJhbWVzKQogewpAQCAtNTIsNyArNTAsNyBA
QCBTY3JpcHRDYWxsU3RhY2s6On5TY3JpcHRDYWxsU3RhY2soKQogewogfQogCi1jb25zdCBTY3Jp
cHRDYWxsRnJhbWUgJlNjcmlwdENhbGxTdGFjazo6YXQoc2l6ZV90IGluZGV4KSBjb25zdAorY29u
c3QgU2NyaXB0Q2FsbEZyYW1lJiBTY3JpcHRDYWxsU3RhY2s6OmF0KHNpemVfdCBpbmRleCkgY29u
c3QKIHsKICAgICBBU1NFUlQobV9mcmFtZXMuc2l6ZSgpID4gaW5kZXgpOwogICAgIHJldHVybiBt
X2ZyYW1lc1tpbmRleF07CkBAIC05MCw0ICs4OCw0IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6QXJyYXk8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q2FsbEZy
CiB9CiAjZW5kaWYKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5z
cGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0
YWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5o
CnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2suaApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2suaAppbmRleCAxOTc1ZGE1Yy4uZGRhYTJiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTEsMTAgKzEs
MTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDA4LCAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICAq
IG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xNCw3
ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMxLDE4ICszMiwxOCBAQAogI2lm
bmRlZiBTY3JpcHRDYWxsU3RhY2tfaAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tfaAogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLSNpbmNsdWRlICJJbnNwZWN0b3JXZWJUeXBlQnVpbGRlcnMuaCIK
LSNlbmRpZgotCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisjaW5j
bHVkZSAiSW5zcGVjdG9ySlNUeXBlQnVpbGRlcnMuaCIKKyNlbmRpZgogCi1jbGFzcyBTY3JpcHRD
YWxsU3RhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRDYWxsU3RhY2s+IHsKK25hbWVzcGFj
ZSBJbnNwZWN0b3IgeworCitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBTY3JpcHRDYWxsU3RhY2sg
OiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRDYWxsU3RhY2s+IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgY29uc3Qgc2l6ZV90IG1heENhbGxTdGFja1NpemVUb0NhcHR1cmUgPSAyMDA7CiAgICAgCkBA
IC01MCw3ICs1MSw3IEBAIHB1YmxpYzoKIAogICAgIH5TY3JpcHRDYWxsU3RhY2soKTsKIAotICAg
IGNvbnN0IFNjcmlwdENhbGxGcmFtZSAmYXQoc2l6ZV90KSBjb25zdDsKKyAgICBjb25zdCBTY3Jp
cHRDYWxsRnJhbWUmIGF0KHNpemVfdCkgY29uc3Q7CiAgICAgc2l6ZV90IHNpemUoKSBjb25zdDsK
IAogICAgIGJvb2wgaXNFcXVhbChTY3JpcHRDYWxsU3RhY2sqKSBjb25zdDsKQEAgLTY1LDYgKzY2
LDYgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBtX2ZyYW1lczsKIH07
CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAj
ZW5kaWYgLy8gU2NyaXB0Q2FsbFN0YWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcApzaW1pbGFyaXR5IGluZGV4
IDcwJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5LmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcAppbmRleCA3ZDY5NWE0Li4zNWE1MzNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuY3BwCkBAIC0xLDExICsxLDEyIEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEyIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogCisgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAgKiBtZXQ6Ci0gKiAKKyAqCiAgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAogICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgogICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQpAQCAtMTUsNyArMTYsNyBAQAogICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCkBAIC0zMiw3OCArMzMsMzAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAKLSNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCIKLSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKLSNpbmNsdWRlICJKU01haW5U
aHJlYWRFeGVjU3RhdGUuaCIKKyNpbmNsdWRlICJBcmdMaXN0LmgiCisjaW5jbHVkZSAiQ2FsbEZy
YW1lLmgiCisjaW5jbHVkZSAiQ2FsbEZyYW1lSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pTVmFs
dWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRz
LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0
YWNrLmgiCi0jaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KLSNpbmNsdWRlIDxpbnRl
cnByZXRlci9DYWxsRnJhbWUuaD4KLSNpbmNsdWRlIDxpbnRlcnByZXRlci9DYWxsRnJhbWVJbmxp
bmVzLmg+Ci0jaW5jbHVkZSA8aW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmg+Ci0jaW5jbHVkZSA8
cnVudGltZS9BcmdMaXN0Lmg+Ci0jaW5jbHVkZSA8cnVudGltZS9KU0NKU1ZhbHVlLmg+Ci0jaW5j
bHVkZSA8cnVudGltZS9KU0Z1bmN0aW9uLmg+Ci0jaW5jbHVkZSA8cnVudGltZS9WTS5oPgorI2lu
Y2x1ZGUgIlNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSAiU3RhY2tWaXNpdG9yLmgiCisjaW5jbHVk
ZSAiVk0uaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZEFycmF5Lmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK25hbWVzcGFjZSBJbnNw
ZWN0b3IgewogCiBjbGFzcyBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIHsKIHB1YmxpYzoK
LSAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yKFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+
JiBmcmFtZXMsICBzaXplX3QgcmVtYWluaW5nQ2FwYWNpdHkpCi0gICAgICAgIDogbV9mcmFtZXMo
ZnJhbWVzKQotICAgICAgICAsIG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUocmVt
YWluaW5nQ2FwYWNpdHkpCi0gICAgewotICAgIH0KLQotICAgIFN0YWNrVmlzaXRvcjo6U3RhdHVz
IG9wZXJhdG9yKCkoU3RhY2tWaXNpdG9yJiB2aXNpdG9yKQotICAgIHsKLSAgICAgICAgaWYgKG1f
cmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUpIHsKLSAgICAgICAgICAgIHVuc2lnbmVk
IGxpbmU7Ci0gICAgICAgICAgICB1bnNpZ25lZCBjb2x1bW47Ci0gICAgICAgICAgICB2aXNpdG9y
LT5jb21wdXRlTGluZUFuZENvbHVtbihsaW5lLCBjb2x1bW4pOwotICAgICAgICAgICAgbV9mcmFt
ZXMuYXBwZW5kKFNjcmlwdENhbGxGcmFtZSh2aXNpdG9yLT5mdW5jdGlvbk5hbWUoKSwgdmlzaXRv
ci0+c291cmNlVVJMKCksIGxpbmUsIGNvbHVtbikpOwotCi0gICAgICAgICAgICBtX3JlbWFpbmlu
Z0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlLS07Ci0gICAgICAgICAgICByZXR1cm4gU3RhY2tWaXNp
dG9yOjpDb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gU3RhY2tWaXNpdG9yOjpE
b25lOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiYgbV9m
cmFtZXM7Ci0gICAgc2l6ZV90IG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmU7Ci19
OwotCi1QYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHNp
emVfdCBtYXhTdGFja1NpemUsIGJvb2wgZW1wdHlJc0FsbG93ZWQpCi17Ci0gICAgVmVjdG9yPFNj
cmlwdENhbGxGcmFtZT4gZnJhbWVzOwotICAgIGlmIChKU0M6OkV4ZWNTdGF0ZSogZXhlYyA9IEpT
TWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCkpIHsKLSAgICAgICAgQ2FsbEZyYW1l
KiBmcmFtZSA9IGV4ZWMtPnZtKCkudG9wQ2FsbEZyYW1lOwotICAgICAgICBDcmVhdGVTY3JpcHRD
YWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IoZnJhbWVzLCBtYXhTdGFja1NpemUpOwotICAgICAgICBm
cmFtZS0+aXRlcmF0ZShmdW5jdG9yKTsKLSAgICB9Ci0gICAgaWYgKGZyYW1lcy5pc0VtcHR5KCkg
JiYgIWVtcHR5SXNBbGxvd2VkKSB7Ci0gICAgICAgIC8vIE5vIGZyYW1lcyBmb3VuZC4gSXQgbWF5
IGhhcHBlbiBpbiB0aGUgY2FzZSB3aGVyZQotICAgICAgICAvLyBhIGJvdW5kIGZ1bmN0aW9uIGlz
IGNhbGxlZCBmcm9tIG5hdGl2ZSBjb2RlIGZvciBleGFtcGxlLgotICAgICAgICAvLyBGYWxsYmFj
ayB0byBzZXR0aW5nIGxpbmVOdW1iZXIgdG8gMCwgYW5kIHNvdXJjZSBhbmQgZnVuY3Rpb24gbmFt
ZSB0byAidW5kZWZpbmVkIi4KLSAgICAgICAgZnJhbWVzLmFwcGVuZChTY3JpcHRDYWxsRnJhbWUo
InVuZGVmaW5lZCIsICJ1bmRlZmluZWQiLCAwLCAwKSk7Ci0gICAgfQotICAgIHJldHVybiBTY3Jp
cHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOwotfQotCi1jbGFzcyBDcmVhdGVTY3JpcHRDYWxs
U3RhY2tGb3JDb25zb2xlRnVuY3RvciB7Ci1wdWJsaWM6Ci0gICAgQ3JlYXRlU2NyaXB0Q2FsbFN0
YWNrRm9yQ29uc29sZUZ1bmN0b3IoYm9vbCBuZWVkVG9Ta2lwQUZyYW1lLCAgc2l6ZV90IHJlbWFp
bmluZ0NhcGFjaXR5LCBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiYgZnJhbWVzKQorICAgIENyZWF0
ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IoYm9vbCBuZWVkVG9Ta2lwQUZyYW1lLCBWZWN0b3I8U2Ny
aXB0Q2FsbEZyYW1lPiYgZnJhbWVzLCBzaXplX3QgcmVtYWluaW5nQ2FwYWNpdHkpCiAgICAgICAg
IDogbV9uZWVkVG9Ta2lwQUZyYW1lKG5lZWRUb1NraXBBRnJhbWUpCi0gICAgICAgICwgbV9yZW1h
aW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZShyZW1haW5pbmdDYXBhY2l0eSkKICAgICAgICAg
LCBtX2ZyYW1lcyhmcmFtZXMpCisgICAgICAgICwgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1l
Q2FwdHVyZShyZW1haW5pbmdDYXBhY2l0eSkKICAgICB7CiAgICAgfQogCkBAIC0xMTUsMTIgKzY4
LDYgQEAgcHVibGljOgogICAgICAgICB9CiAKICAgICAgICAgaWYgKG1fcmVtYWluaW5nQ2FwYWNp
dHlGb3JGcmFtZUNhcHR1cmUpIHsKLSAgICAgICAgICAgIC8vIFRoaXMgZWFybHkgZXhpdCBpcyBu
ZWNlc3NhcnkgdG8gbWFpbnRhaW4gb3VyIG9sZCBiZWhhdmlvdXIKLSAgICAgICAgICAgIC8vIGJ1
dCB0aGUgc3RhY2sgdHJhY2Ugd2UgcHJvZHVjZSBub3cgaXMgY29tcGxldGUgYW5kIGhhbmRsZXMg
YWxsCi0gICAgICAgICAgICAvLyB3YXlzIGluIHdoaWNoIGNvZGUgbWF5IGJlIHJ1bm5pbmcKLSAg
ICAgICAgICAgIGlmICghdmlzaXRvci0+Y2FsbGVlKCkgJiYgbV9mcmFtZXMuc2l6ZSgpKQotICAg
ICAgICAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkRvbmU7Ci0KICAgICAgICAgICAgIHVu
c2lnbmVkIGxpbmU7CiAgICAgICAgICAgICB1bnNpZ25lZCBjb2x1bW47CiAgICAgICAgICAgICB2
aXNpdG9yLT5jb21wdXRlTGluZUFuZENvbHVtbihsaW5lLCBjb2x1bW4pOwpAQCAtMTI5LDI2ICs3
Niw0OSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX3JlbWFpbmluZ0NhcGFjaXR5Rm9yRnJhbWVD
YXB0dXJlLS07CiAgICAgICAgICAgICByZXR1cm4gU3RhY2tWaXNpdG9yOjpDb250aW51ZTsKICAg
ICAgICAgfQorCiAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkRvbmU7CiAgICAgfQogCiBw
cml2YXRlOgogICAgIGJvb2wgbV9uZWVkVG9Ta2lwQUZyYW1lOwotICAgIHNpemVfdCBtX3JlbWFp
bmluZ0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlOwogICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+
JiBtX2ZyYW1lczsKKyAgICBzaXplX3QgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVy
ZTsKIH07CiAKK1Bhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3Rh
Y2soSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBtYXhTdGFja1NpemUsIGJvb2wgZW1wdHlJ
c0FsbG93ZWQpCit7CisgICAgVmVjdG9yPFNjcmlwdENhbGxGcmFtZT4gZnJhbWVzOworCisgICAg
aWYgKGV4ZWMpIHsKKyAgICAgICAgQ2FsbEZyYW1lKiBmcmFtZSA9IGV4ZWMtPnZtKCkudG9wQ2Fs
bEZyYW1lOworICAgICAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IoZmFs
c2UsIGZyYW1lcywgbWF4U3RhY2tTaXplKTsKKyAgICAgICAgZnJhbWUtPml0ZXJhdGUoZnVuY3Rv
cik7CisgICAgfQorCisgICAgaWYgKGZyYW1lcy5pc0VtcHR5KCkgJiYgIWVtcHR5SXNBbGxvd2Vk
KSB7CisgICAgICAgIC8vIE5vIGZyYW1lcyBmb3VuZC4gSXQgbWF5IGhhcHBlbiBpbiB0aGUgY2Fz
ZSB3aGVyZQorICAgICAgICAvLyBhIGJvdW5kIGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIG5hdGl2
ZSBjb2RlIGZvciBleGFtcGxlLgorICAgICAgICAvLyBGYWxsYmFjayB0byBzZXR0aW5nIGxpbmVO
dW1iZXIgdG8gMCwgYW5kIHNvdXJjZSBhbmQgZnVuY3Rpb24gbmFtZSB0byAidW5kZWZpbmVkIi4K
KyAgICAgICAgZnJhbWVzLmFwcGVuZChTY3JpcHRDYWxsRnJhbWUoQVNDSUlMaXRlcmFsKCJ1bmRl
ZmluZWQiKSwgQVNDSUlMaXRlcmFsKCJ1bmRlZmluZWQiKSwgMCwgMCkpOworICAgIH0KKworICAg
IHJldHVybiBTY3JpcHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOworfQorCiBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTQzo6RXhlY1N0YXRlKiBl
eGVjLCBzaXplX3QgbWF4U3RhY2tTaXplKQogewogICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+
IGZyYW1lczsKLSAgICBBU1NFUlQoZXhlYyk7CisKICAgICBDYWxsRnJhbWUqIGZyYW1lID0gZXhl
Yy0+dm0oKS50b3BDYWxsRnJhbWU7Ci0gICAgQ3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29s
ZUZ1bmN0b3IgZnVuY3Rvcih0cnVlLCBtYXhTdGFja1NpemUsIGZyYW1lcyk7CisgICAgQ3JlYXRl
U2NyaXB0Q2FsbFN0YWNrRnVuY3RvciBmdW5jdG9yKHRydWUsIGZyYW1lcywgbWF4U3RhY2tTaXpl
KTsKICAgICBmcmFtZS0+aXRlcmF0ZShmdW5jdG9yKTsKKwogICAgIGlmIChmcmFtZXMuaXNFbXB0
eSgpKSB7Ci0gICAgICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGVGdW5jdG9yIGZ1
bmN0b3IoZmFsc2UsIG1heFN0YWNrU2l6ZSwgZnJhbWVzKTsKKyAgICAgICAgQ3JlYXRlU2NyaXB0
Q2FsbFN0YWNrRnVuY3RvciBmdW5jdG9yKGZhbHNlLCBmcmFtZXMsIG1heFN0YWNrU2l6ZSk7CiAg
ICAgICAgIGZyYW1lLT5pdGVyYXRlKGZ1bmN0b3IpOwogICAgIH0KKwogICAgIHJldHVybiBTY3Jp
cHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOwogfQogCkBAIC0xNjAsMTAgKzEzMCwxMCBAQCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRnJvbUV4Y2Vw
dGlvbihKU0M6OkV4ZWNTdGF0ZSogZQogICAgICAgICBpZiAoIXN0YWNrVHJhY2VbaV0uY2FsbGVl
ICYmIGZyYW1lcy5zaXplKCkpCiAgICAgICAgICAgICBicmVhazsKIAotICAgICAgICBTdHJpbmcg
ZnVuY3Rpb25OYW1lID0gc3RhY2tUcmFjZVtpXS5mcmllbmRseUZ1bmN0aW9uTmFtZShleGVjKTsK
ICAgICAgICAgdW5zaWduZWQgbGluZTsKICAgICAgICAgdW5zaWduZWQgY29sdW1uOwogICAgICAg
ICBzdGFja1RyYWNlW2ldLmNvbXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUsIGNvbHVtbik7CisgICAg
ICAgIFN0cmluZyBmdW5jdGlvbk5hbWUgPSBzdGFja1RyYWNlW2ldLmZyaWVuZGx5RnVuY3Rpb25O
YW1lKGV4ZWMpOwogICAgICAgICBmcmFtZXMuYXBwZW5kKFNjcmlwdENhbGxGcmFtZShmdW5jdGlv
bk5hbWUsIHN0YWNrVHJhY2VbaV0uc291cmNlVVJMLCBsaW5lLCBjb2x1bW4pKTsKICAgICB9CiAK
QEAgLTE4OCwxMiArMTU4LDggQEAgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNj
cmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqIGUKIAogUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGUoSlNDOjpF
eGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgc2l6ZV90IG1heFN0YWNrU2l6ZSA9IDE7Ci0gICAgaWYg
KEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKLSAgICAgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9IGpzQ2FzdDxKU0RP
TUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsKLSAgICAgICAgaWYgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29u
c29sZUFnZW50RW5hYmxlZChzY3JpcHRFeGVjdXRpb25Db250ZXh0KSkKLSAgICAgICAgICAgIG1h
eFN0YWNrU2l6ZSA9IFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZTsK
LSAgICB9CisgICAgLy8gRklYTUU6IENhbGxlciBzaG91bGQgdXNlIGNyZWF0ZVNjcmlwdENhbGxT
dGFjayBhbHRlcm5hdGl2ZSB3aXRoIHRoZSBleGVjIGFuZCBhcHByb3ByaWF0ZSBtYXguCisgICAg
c2l6ZV90IG1heFN0YWNrU2l6ZSA9IDEwOwogICAgIHJldHVybiBjcmVhdGVTY3JpcHRDYWxsU3Rh
Y2soZXhlYywgbWF4U3RhY2tTaXplKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKc2ltaWxhcml0eSBpbmRleCA2
OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFja0ZhY3RvcnkuaAppbmRleCAyOThiYmJkLi5mYmE4YWMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgK
QEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKICAqIG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBA
IC0xNCw3ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMyLDI1ICszMywyNCBA
QAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRBcnJheS5oPgogCiBuYW1lc3BhY2UgSlND
IHsKIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIEpTVmFsdWU7Ci1zdHJ1Y3QgU3RhY2tGcmFtZTsK
IH0KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIGNsYXNz
IFNjcmlwdEFyZ3VtZW50czsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAotUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzaXplX3QgbWF4U3RhY2tTaXpl
LCBib29sIGVtcHR5U3RhY2tJc0FsbG93ZWQpOwotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSosIHNpemVfdCBtYXhTdGFja1Np
emUpOwotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zy
b21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUmIGV4Y2VwdGlvbiwgc2l6
ZV90IG1heFN0YWNrU2l6ZSk7Ci1QYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2Ny
aXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSopOwotUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhKU0M6OkV4ZWNTdGF0ZSosIHVuc2ln
bmVkIHNraXBBcmd1bWVudENvdW50KTsKKy8vIEZJWE1FOiBUaGUgc3VidGxlIGRpZmZlcmVuY2Vz
IGJldHdlZW4gdGhlc2Ugc2hvdWxkIGJlIGVsaW1pbmF0ZWQuCitKU19FWFBPUlRfUFJJVkFURSBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTQzo6RXhl
Y1N0YXRlKiwgc2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0eUlzQWxsb3dlZCk7CitKU19F
WFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2Fs
bFN0YWNrKEpTQzo6RXhlY1N0YXRlKiwgc2l6ZV90IG1heFN0YWNrU2l6ZSk7CitKU19FWFBPUlRf
UFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNr
RnJvbUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSYgZXhjZXB0aW9uLCBz
aXplX3QgbWF4U3RhY2tTaXplKTsKK0pTX0VYUE9SVF9QUklWQVRFIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlKEpTQzo6RXhlY1N0YXRl
Kik7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gY3JlYXRl
U2NyaXB0QXJndW1lbnRzKEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgc2tpcEFyZ3VtZW50Q291
bnQpOwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IK
IAogI2VuZGlmIC8vIFNjcmlwdENhbGxTdGFja0ZhY3RvcnlfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCnNp
bWlsYXJpdHkgaW5kZXggNjIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCmluZGV4IDhhNDZkNjku
LmRiNmY5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dApAQCAtMjIsNjcgKzIzLDY2IEBACiAgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0KICNpbmNsdWRlICJj
b25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JD
b25zb2xlQWdlbnQuaCIKIAotI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5oIgotI2luY2x1
ZGUgIkNvbnNvbGUuaCIKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAjaW5jbHVkZSAiQ29uc29s
ZU1lc3NhZ2UuaCIKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JX
ZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCi0jaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5o
IgotI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKLSNpbmNsdWRlICJSZXNv
dXJjZUVycm9yLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgIklu
amVjdGVkU2NyaXB0TWFuYWdlci5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgogI2lu
Y2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgog
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKLSNpbmNsdWRlICJTY3JpcHRQcm9m
aWxlci5oIgotI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdE9iamVjdC5oPgorI2luY2x1ZGUgIlNj
cmlwdE9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAot
dXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKLQotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNw
YWNlIEluc3BlY3RvciB7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhpbXVtQ29uc29sZU1l
c3NhZ2VzID0gMTAwMDsKIHN0YXRpYyBjb25zdCBpbnQgZXhwaXJlQ29uc29sZU1lc3NhZ2VzU3Rl
cCA9IDEwMDsKIAotSW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgUGFnZUluamVjdGVkU2Ny
aXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQotICAgIDogSW5zcGVjdG9yQWdlbnRC
YXNlKEFTQ0lJTGl0ZXJhbCgiQ29uc29sZSIpLCBpbnN0cnVtZW50aW5nQWdlbnRzKQorSW5zcGVj
dG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoQVND
SUlMaXRlcmFsKCJDb25zb2xlIikpCiAgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcihpbmpl
Y3RlZFNjcmlwdE1hbmFnZXIpCiAgICAgLCBtX3ByZXZpb3VzTWVzc2FnZShudWxscHRyKQogICAg
ICwgbV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCgwKQogICAgICwgbV9lbmFibGVkKGZhbHNl
KQotICAgICwgbV9tb25pdG9yaW5nWEhSRW5hYmxlZChmYWxzZSkKIHsKLSAgICBtX2luc3RydW1l
bnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNvbnNvbGVBZ2VudCh0aGlzKTsKIH0KIAogSW5zcGVj
dG9yQ29uc29sZUFnZW50Ojp+SW5zcGVjdG9yQ29uc29sZUFnZW50KCkKIHsKLSAgICBtX2luc3Ry
dW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNvbnNvbGVBZ2VudChudWxscHRyKTsKLSAgICBt
X2luc3RydW1lbnRpbmdBZ2VudHMgPSBudWxscHRyOwotICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyID0gbnVsbHB0cjsKK30KKwordm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCog
ZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3Bh
dGNoZXIpCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAg
bV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3RvckNvbnNvbGVCYWNrZW5kRGlzcGF0Y2hlcjo6
Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKK30KKwordm9pZCBJbnNwZWN0b3JDb25z
b2xlQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3RvckRpc2Nvbm5l
Y3RSZWFzb24pCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBudWxscHRyOworICAgIG1f
YmFja2VuZERpc3BhdGNoZXIuY2xlYXIoKTsKKworICAgIFN0cmluZyBlcnJvclN0cmluZzsKKyAg
ICBkaXNhYmxlKCZlcnJvclN0cmluZyk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50
OjplbmFibGUoRXJyb3JTdHJpbmcqKQogewogICAgIGlmIChtX2VuYWJsZWQpCiAgICAgICAgIHJl
dHVybjsKKwogICAgIG1fZW5hYmxlZCA9IHRydWU7CiAKICAgICBpZiAobV9leHBpcmVkQ29uc29s
ZU1lc3NhZ2VDb3VudCkgewotICAgICAgICBDb25zb2xlTWVzc2FnZSBleHBpcmVkTWVzc2FnZSgh
aXNXb3JrZXJBZ2VudCgpLCBPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJu
aW5nTWVzc2FnZUxldmVsLCBTdHJpbmc6OmZvcm1hdCgiJWQgY29uc29sZSBtZXNzYWdlcyBhcmUg
bm90IHNob3duLiIsIG1fZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQpKTsKKyAgICAgICAgQ29u
c29sZU1lc3NhZ2UgZXhwaXJlZE1lc3NhZ2UoIWlzV29ya2VyQWdlbnQoKSwgTWVzc2FnZVNvdXJj
ZTo6T3RoZXIsIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgU3RyaW5n
Ojpmb3JtYXQoIiVkIGNvbnNvbGUgbWVzc2FnZXMgYXJlIG5vdCBzaG93bi4iLCBtX2V4cGlyZWRD
b25zb2xlTWVzc2FnZUNvdW50KSk7CiAgICAgICAgIGV4cGlyZWRNZXNzYWdlLmFkZFRvRnJvbnRl
bmQobV9mcm9udGVuZERpc3BhdGNoZXIuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLCBm
YWxzZSk7CiAgICAgfQogCkBAIC05NSw2ICs5NSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFn
ZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKIHsKICAgICBpZiAoIW1fZW5hYmxlZCkKICAgICAg
ICAgcmV0dXJuOworCiAgICAgbV9lbmFibGVkID0gZmFsc2U7CiB9CiAKQEAgLTEwMyw3ICsxMDQs
OSBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJNZXNzYWdlcyhFcnJvclN0cmlu
ZyopCiAgICAgbV9jb25zb2xlTWVzc2FnZXMuY2xlYXIoKTsKICAgICBtX2V4cGlyZWRDb25zb2xl
TWVzc2FnZUNvdW50ID0gMDsKICAgICBtX3ByZXZpb3VzTWVzc2FnZSA9IG51bGxwdHI7Ci0gICAg
bV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVhc2VPYmplY3RHcm91cCgiY29uc29sZSIpOwor
CisgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVhc2VPYmplY3RHcm91cChBU0NJSUxp
dGVyYWwoImNvbnNvbGUiKSk7CisKICAgICBpZiAobV9mcm9udGVuZERpc3BhdGNoZXIgJiYgbV9l
bmFibGVkKQogICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+bWVzc2FnZXNDbGVhcmVkKCk7
CiB9CkBAIC0xMTIsMzEgKzExNSwxNyBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6cmVz
ZXQoKQogewogICAgIEVycm9yU3RyaW5nIGVycm9yOwogICAgIGNsZWFyTWVzc2FnZXMoJmVycm9y
KTsKKwogICAgIG1fdGltZXMuY2xlYXIoKTsKICAgICBtX2NvdW50cy5jbGVhcigpOwogfQogCi12
b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKElu
c3BlY3Rvcjo6SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKLXsKLSAgICBtX2Zyb250
ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQ29uc29sZUZyb250ZW5k
RGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKLSAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0g
SW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNo
ZXIsIHRoaXMpOwotfQotCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6d2lsbERlc3Ryb3lG
cm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbikKLXsKLSAgICBtX2Zy
b250ZW5kRGlzcGF0Y2hlciA9IG51bGxwdHI7Ci0gICAgbV9iYWNrZW5kRGlzcGF0Y2hlci5jbGVh
cigpOwotCi0gICAgU3RyaW5nIGVycm9yU3RyaW5nOwotICAgIGRpc2FibGUoJmVycm9yU3RyaW5n
KTsKLX0KLQogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAgIGlmICghbV9p
bnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJh
c0VuYWJsZWQoKSkKKyAgICBpZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JF
bnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaWYgKHR5cGUgPT0gQ2xlYXJNZXNzYWdlVHlwZSkgeworICAgIGlmICh0eXBlID09IE1l
c3NhZ2VUeXBlOjpDbGVhcikgewogICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAgICAgICAg
Y2xlYXJNZXNzYWdlcygmZXJyb3IpOwogICAgIH0KQEAgLTE0NiwxMCArMTM1LDEwIEBAIHZvaWQg
SW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlVHlwCiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNz
YWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqIHN0
YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzLCB1bnNpZ25lZCBsb25n
IHJlcXVlc3RJZGVudGlmaWVyKQogewotICAgIGlmICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5p
bnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKKyAgICBpZiAo
IW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHR5cGUgPT0gQ2xl
YXJNZXNzYWdlVHlwZSkgeworICAgIGlmICh0eXBlID09IE1lc3NhZ2VUeXBlOjpDbGVhcikgewog
ICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAgICAgICAgY2xlYXJNZXNzYWdlcygmZXJyb3Ip
OwogICAgIH0KQEAgLTE1OSwxMCArMTQ4LDEwIEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50
OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwCiAK
IHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3JpcHRJRCwgdW5zaWduZWQgbGluZU51
bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIHVuc2ln
bmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgaWYgKCFtX2luc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQor
ICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCku
ZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAodHlw
ZSA9PSBDbGVhck1lc3NhZ2VUeXBlKSB7CisgICAgaWYgKHR5cGUgPT0gTWVzc2FnZVR5cGU6OkNs
ZWFyKSB7CiAgICAgICAgIEVycm9yU3RyaW5nIGVycm9yOwogICAgICAgICBjbGVhck1lc3NhZ2Vz
KCZlcnJvcik7CiAgICAgfQpAQCAtMTcxLDcgKzE2MCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29s
ZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
VHlwCiAgICAgYWRkQ29uc29sZU1lc3NhZ2UoYWRvcHRQdHIobmV3IENvbnNvbGVNZXNzYWdlKGNh
bkdlbmVyYXRlQ2FsbFN0YWNrLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzY3JpcHRJ
RCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpKSk7
CiB9CiAKLVZlY3Rvcjx1bnNpZ25lZD4gSW5zcGVjdG9yQ29uc29sZUFnZW50Ojpjb25zb2xlTWVz
c2FnZUFyZ3VtZW50Q291bnRzKCkKK1ZlY3Rvcjx1bnNpZ25lZD4gSW5zcGVjdG9yQ29uc29sZUFn
ZW50Ojpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkgY29uc3QKIHsKICAgICBWZWN0b3I8
dW5zaWduZWQ+IHJlc3VsdChtX2NvbnNvbGVNZXNzYWdlcy5zaXplKCkpOwogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9jb25zb2xlTWVzc2FnZXMuc2l6ZSgpOyBpKyspCkBAIC0yMDUsNyAr
MTk0LDcgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnN0b3BUaW1pbmcoY29uc3QgU3Ry
aW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWwKIAogICAgIGRvdWJsZSBlbGFwc2VkID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzdGFydFRpbWU7CiAgICAgU3RyaW5nIG1l
c3NhZ2UgPSB0aXRsZSArIFN0cmluZzo6Zm9ybWF0KCI6ICUuM2ZtcyIsIGVsYXBzZWQgKiAxMDAw
KTsKLSAgICBhZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNzYWdlU291cmNlLCBUaW1p
bmdNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjayk7Cisg
ICAgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdl
VHlwZTo6VGltaW5nLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdlLCBjYWxsU3RhY2spOwog
fQogCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y291bnQoSlNDOjpFeGVjU3RhdGUqIHN0
YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpAQCAtMjMwLDY4ICsy
MTksMTkgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmNvdW50KEpTQzo6RXhlY1N0YXRl
KiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWUKICAgICBtX2NvdW50cy5hZGQoaWRlbnRp
ZmllciwgY291bnQpOwogCiAgICAgU3RyaW5nIG1lc3NhZ2UgPSB0aXRsZSArICI6ICIgKyBTdHJp
bmc6Om51bWJlcihjb3VudCk7Ci0gICAgYWRkTWVzc2FnZVRvQ29uc29sZShDb25zb2xlQVBJTWVz
c2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBj
YWxsU3RhY2spOwotfQotCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZnJhbWVXaW5kb3dE
aXNjYXJkZWQoRE9NV2luZG93KiB3aW5kb3cpCi17Ci0gICAgc2l6ZV90IG1lc3NhZ2VDb3VudCA9
IG1fY29uc29sZU1lc3NhZ2VzLnNpemUoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1l
c3NhZ2VDb3VudDsgKytpKQotICAgICAgICBtX2NvbnNvbGVNZXNzYWdlc1tpXS0+d2luZG93Q2xl
YXJlZCh3aW5kb3cpOwotICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5kaXNjYXJkSW5qZWN0
ZWRTY3JpcHRzRm9yKHdpbmRvdyk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50Ojpk
aWRGaW5pc2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2lnbmVkIHNlbmRMaW5lTnVt
YmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKQotewotICAgIGlmICghbV9pbnN0cnVtZW50
aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQo
KSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChtX2Zyb250ZW5kRGlzcGF0Y2hlciAmJiBtX21v
bml0b3JpbmdYSFJFbmFibGVkKSB7Ci0gICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlhIUiBmaW5p
c2hlZCBsb2FkaW5nOiBcIiIgKyB1cmwgKyAiXCIuIjsKLSAgICAgICAgYWRkTWVzc2FnZVRvQ29u
c29sZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxl
dmVsLCBtZXNzYWdlLCBzZW5kVVJMLCBzZW5kTGluZU51bWJlciwgc2VuZENvbHVtbk51bWJlciwg
bnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOwotICAgIH0KLX0KLQotdm9pZCBJbnNwZWN0b3JD
b25zb2xlQWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLXsKLSAgICBpZiAoIW1f
aW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRy
YXNFbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChyZXNwb25zZS5odHRwU3Rh
dHVzQ29kZSgpID49IDQwMCkgewotICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJGYWlsZWQgdG8g
bG9hZCByZXNvdXJjZTogdGhlIHNlcnZlciByZXNwb25kZWQgd2l0aCBhIHN0YXR1cyBvZiAiICsg
U3RyaW5nOjpudW1iZXIocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSkgKyAiICgiICsgcmVzcG9u
c2UuaHR0cFN0YXR1c1RleHQoKSArICcpJzsKLSAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShO
ZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBt
ZXNzYWdlLCByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgMCwgMCwgbnVsbHB0ciwgcmVxdWVzdElk
ZW50aWZpZXIpOwotICAgIH0KLX0KLQotdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZEZh
aWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNl
RXJyb3ImIGVycm9yKQotewotICAgIGlmICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0
b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJu
OwotICAgIGlmIChlcnJvci5pc0NhbmNlbGxhdGlvbigpKSAvLyBSZXBvcnQgZmFpbHVyZXMgb25s
eS4KLSAgICAgICAgcmV0dXJuOwotICAgIFN0cmluZ0J1aWxkZXIgbWVzc2FnZTsKLSAgICBtZXNz
YWdlLmFwcGVuZExpdGVyYWwoIkZhaWxlZCB0byBsb2FkIHJlc291cmNlIik7Ci0gICAgaWYgKCFl
cnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLmlzRW1wdHkoKSkgewotICAgICAgICBtZXNzYWdl
LmFwcGVuZExpdGVyYWwoIjogIik7Ci0gICAgICAgIG1lc3NhZ2UuYXBwZW5kKGVycm9yLmxvY2Fs
aXplZERlc2NyaXB0aW9uKCkpOwotICAgIH0KLSAgICBhZGRNZXNzYWdlVG9Db25zb2xlKE5ldHdv
cmtNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UudG9TdHJpbmcoKSwgZXJyb3IuZmFpbGluZ1VSTCgpLCAwLCAwLCBudWxscHRyLCByZXF1ZXN0
SWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpzZXRNb25pdG9y
aW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkKLXsKLSAgICBtX21vbml0
b3JpbmdYSFJFbmFibGVkID0gZW5hYmxlZDsKKyAgICBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3Nh
Z2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6RGVi
dWcsIG1lc3NhZ2UsIGNhbGxTdGFjayk7CiB9CiAKIHN0YXRpYyBib29sIGlzR3JvdXBNZXNzYWdl
KE1lc3NhZ2VUeXBlIHR5cGUpCiB7Ci0gICAgcmV0dXJuIHR5cGUgPT0gU3RhcnRHcm91cE1lc3Nh
Z2VUeXBlCi0gICAgICAgIHx8IHR5cGUgPT0gIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlw
ZQotICAgICAgICB8fCB0eXBlID09IEVuZEdyb3VwTWVzc2FnZVR5cGU7CisgICAgcmV0dXJuIHR5
cGUgPT0gTWVzc2FnZVR5cGU6OlN0YXJ0R3JvdXAKKyAgICAgICAgfHwgdHlwZSA9PSBNZXNzYWdl
VHlwZTo6U3RhcnRHcm91cENvbGxhcHNlZAorICAgICAgICB8fCB0eXBlID09IE1lc3NhZ2VUeXBl
OjpFbmRHcm91cDsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZENvbnNvbGVN
ZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3NhZ2U+IGNvbnNvbGVNZXNzYWdlKQogewotICAg
IEFTU0VSVChtX2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2
ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQobV9pbmplY3RlZFNjcmlwdE1hbmFn
ZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKTsKICAg
ICBBU1NFUlRfQVJHKGNvbnNvbGVNZXNzYWdlLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICBpZiAo
bV9wcmV2aW91c01lc3NhZ2UgJiYgIWlzR3JvdXBNZXNzYWdlKG1fcHJldmlvdXNNZXNzYWdlLT50
eXBlKCkpICYmIG1fcHJldmlvdXNNZXNzYWdlLT5pc0VxdWFsKGNvbnNvbGVNZXNzYWdlLmdldCgp
KSkgewpAQCAtMzExLDIzICsyNTEsNiBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRk
Q29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxDb25zb2xlTWVzc2FnZT4gY29uc29sZQogICAgIH0K
IH0KIAotY2xhc3MgSW5zcGVjdGFibGVIZWFwT2JqZWN0IGZpbmFsIDogcHVibGljIENvbW1hbmRM
aW5lQVBJSG9zdDo6SW5zcGVjdGFibGVPYmplY3QgewotcHVibGljOgotICAgIGV4cGxpY2l0IElu
c3BlY3RhYmxlSGVhcE9iamVjdChpbnQgaGVhcE9iamVjdElkKSA6IG1faGVhcE9iamVjdElkKGhl
YXBPYmplY3RJZCkgeyB9Ci0gICAgdmlydHVhbCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSBnZXQo
SlNDOjpFeGVjU3RhdGUqKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgcmV0dXJuIFNjcmlwdFBy
b2ZpbGVyOjpvYmplY3RCeUhlYXBPYmplY3RJZChtX2hlYXBPYmplY3RJZCk7Ci0gICAgfQotcHJp
dmF0ZToKLSAgICBpbnQgbV9oZWFwT2JqZWN0SWQ7Ci19OwotCi12b2lkIEluc3BlY3RvckNvbnNv
bGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyosIGludCBpbnNwZWN0
ZWRIZWFwT2JqZWN0SWQpCi17Ci0gICAgaWYgKENvbW1hbmRMaW5lQVBJSG9zdCogY29tbWFuZExp
bmVBUElIb3N0ID0gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmNvbW1hbmRMaW5lQVBJSG9zdCgp
KQotICAgICAgICBjb21tYW5kTGluZUFQSUhvc3QtPmFkZEluc3BlY3RlZE9iamVjdChhZG9wdFB0
cihuZXcgSW5zcGVjdGFibGVIZWFwT2JqZWN0KGluc3BlY3RlZEhlYXBPYmplY3RJZCkpKTsKLX0K
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWE3OWU2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29s
ZUFnZW50LmgKQEAgLTAsMCArMSwxMDMgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisq
IGFyZSBtZXQ6CisqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFO
WQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OCisqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorKi8KKworI2lmbmRlZiBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAorI2RlZmlu
ZSBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKworI2lu
Y2x1ZGUgIkluc3BlY3RvckpTQmFja2VuZERpc3BhdGNoZXJzLmgiCisjaW5jbHVkZSAiSW5zcGVj
dG9ySlNGcm9udGVuZERpc3BhdGNoZXJzLmgiCisjaW5jbHVkZSAiaW5zcGVjdG9yL0NvbnNvbGVU
eXBlcy5oIgorI2luY2x1ZGUgImluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2UuaCIKKyNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBFeGVjU3RhdGU7
Cit9CisKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCitjbGFzcyBDb25zb2xlTWVzc2FnZTsKK2Ns
YXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNzIFNjcmlwdEFyZ3VtZW50czsKK2NsYXNz
IFNjcmlwdENhbGxTdGFjazsKK3R5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBK
U19FWFBPUlRfUFJJVkFURSBJbnNwZWN0b3JDb25zb2xlQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9y
QWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRjaGVySGFuZGxl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQ29uc29sZUFnZW50KTsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JDb25zb2xl
QWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAgdmlydHVhbCB+SW5zcGVjdG9yQ29u
c29sZUFnZW50KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
Kikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOworCisgICAgdmlydHVhbCB2
b2lkIGVuYWJsZShFcnJvclN0cmluZyopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaXNh
YmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyTWVzc2Fn
ZXMoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TW9uaXRvcmlu
Z1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgYWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyosIGludCBp
bnNwZWN0ZWRIZWFwT2JqZWN0SWQpID0gMDsKKworICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFn
ZW50KCkgY29uc3QgPSAwOworCisgICAgYm9vbCBlbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9l
bmFibGVkOyB9CisgICAgdm9pZCByZXNldCgpOworCisgICAgdm9pZCBhZGRNZXNzYWdlVG9Db25z
b2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4s
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFkZE1lc3Nh
Z2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlwdElELCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIs
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFkZE1lc3Nh
Z2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKworICAgIFZlY3Rvcjx1bnNpZ25lZD4gY29u
c29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpIGNvbnN0OworCisgICAgdm9pZCBzdGFydFRpbWlu
Zyhjb25zdCBTdHJpbmcmIHRpdGxlKTsKKyAgICB2b2lkIHN0b3BUaW1pbmcoY29uc3QgU3RyaW5n
JiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICB2b2lkIGNvdW50KEpT
Qzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKKworcHJvdGVjdGVk
OgorICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxDb25zb2xlTWVzc2FnZT4p
OworCisgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQ29uc29sZUZyb250ZW5kRGlzcGF0Y2hlcj4g
bV9mcm9udGVuZERpc3BhdGNoZXI7CisgICAgUmVmUHRyPEluc3BlY3RvckNvbnNvbGVCYWNrZW5k
RGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKKyAgICBDb25zb2xlTWVzc2FnZSogbV9w
cmV2aW91c01lc3NhZ2U7CisgICAgVmVjdG9yPE93blB0cjxDb25zb2xlTWVzc2FnZT4+IG1fY29u
c29sZU1lc3NhZ2VzOworICAgIGludCBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50OworICAg
IEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV9jb3VudHM7CisgICAgSGFzaE1hcDxTdHJpbmcs
IGRvdWJsZT4gbV90aW1lczsKKyAgICBib29sIG1fZW5hYmxlZDsKK307CisKK30gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKKworI2VuZGlmIC8v
ICFkZWZpbmVkKEluc3BlY3RvckNvbnNvbGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcApz
aW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VJbmplY3RlZFNjcmlwdEhvc3QuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcAppbmRleCA2NTgyMTg4
Li4xZmUyZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVj
dGVkU2NyaXB0SG9zdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMjUgKzIzLDMzIEBACiAgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKLSNpZm5kZWYgUGFnZUluamVjdGVkU2NyaXB0SG9zdF9oCi0jZGVmaW5lIFBh
Z2VJbmplY3RlZFNjcmlwdEhvc3RfaAorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpT
R2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCi0j
aW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oPgorbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50
OjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVj
dGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckNvbnNvbGVBZ2VudChpbmplY3RlZFNj
cmlwdE1hbmFnZXIpCit7Cit9CiAKLWNsYXNzIFBhZ2VJbmplY3RlZFNjcmlwdEhvc3QgZmluYWwg
OiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdEhvc3QgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Q+IGNyZWF0ZSgpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0KTsgfQordm9pZCBKU0dsb2JhbE9i
amVjdENvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqIGVy
cm9yU3RyaW5nLCBib29sKQoreworICAgICplcnJvclN0cmluZyA9IEFTQ0lJTGl0ZXJhbCgiTm90
IHN1cHBvcnRlZCBmb3IgSmF2YVNjcmlwdCBjb250ZXh0Iik7Cit9CiAKLSAgICB2aXJ0dWFsIEpT
Qzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKSBvdmVycmlkZTsK
LSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29sbGVjdGlvbihKU0M6OkpTVmFsdWUpIG92ZXJy
aWRlOwotfTsKK3ZvaWQgSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZE5v
ZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQpCit7CisgICAgKmVycm9yU3RyaW5nID0g
QVNDSUlMaXRlcmFsKCJOb3Qgc3VwcG9ydGVkIGZvciBKYXZhU2NyaXB0IGNvbnRleHQiKTsKK30K
IAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQordm9pZCBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2Vu
dDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCkK
K3sKKyAgICAqZXJyb3JTdHJpbmcgPSBBU0NJSUxpdGVyYWwoIk5vdCBzdXBwb3J0ZWQgZm9yIEph
dmFTY3JpcHQgY29udGV4dCIpOworfQorCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KLSNlbmRpZiAvLyAhZGVmaW5lZChQYWdlSW5qZWN0
ZWRTY3JpcHRIb3N0X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFn
ZUluamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaApzaW1pbGFyaXR5IGluZGV4IDU4JQpj
b3B5IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3Qu
aApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFs
T2JqZWN0Q29uc29sZUFnZW50LmgKaW5kZXggNjU4MjE4OC4uZTU4NWViZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNv
bGVBZ2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yMywyNSArMjMsMzMgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBQYWdl
SW5qZWN0ZWRTY3JpcHRIb3N0X2gKLSNkZWZpbmUgUGFnZUluamVjdGVkU2NyaXB0SG9zdF9oCisj
aWZuZGVmIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50X2gKKyNkZWZpbmUgSlNHbG9iYWxPYmpl
Y3RDb25zb2xlQWdlbnRfaAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaD4KKyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xl
QWdlbnQuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmgiCiAK
LW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCi1jbGFzcyBQYWdl
SW5qZWN0ZWRTY3JpcHRIb3N0IGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3Jp
cHRIb3N0IHsKK2NsYXNzIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50IGZpbmFsIDogcHVibGlj
IEluc3BlY3RvckNvbnNvbGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNHbG9i
YWxPYmplY3RDb25zb2xlQWdlbnQpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Q+IGNyZWF0
ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0KTsgfQorICAg
IEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciopOworICAg
IHZpcnR1YWwgfkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFs
IEpTQzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKSBvdmVycmlk
ZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29sbGVjdGlvbihKU0M6OkpTVmFsdWUpIG92
ZXJyaWRlOworICAgIC8vIEZJWE1FOiBYSFJzIGFuZCBOb2RlcyBvbmx5IG1ha2VzIHNlbnNlIGRl
YnVnZ2luZyBhIFdlYiBjb250ZXh0LiBDYW4gdGhpcyBiZSBtb3ZlZCB0byBhIGRpZmZlcmVudCBh
Z2VudD8KKyAgICB2aXJ0dWFsIHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJp
bmcqLCBib29sIGVuYWJsZWQpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0
ZWROb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJyb3JTdHJpbmcqLCBpbnQgaW5zcGVjdGVkSGVh
cE9iamVjdElkKSBvdmVycmlkZTsKKworICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIAot
I2VuZGlmIC8vICFkZWZpbmVkKFBhZ2VJbmplY3RlZFNjcmlwdEhvc3RfaCkKKyNlbmRpZiAvLyAh
ZGVmaW5lZChKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFn
ZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFs
T2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKaW5kZXggZDRjMzJkNy4uMGVhNWVkYiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RE
ZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwCkBAIC0yOSwxNSArMjksMTggQEAK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiSlNHbG9i
YWxPYmplY3QuaCIKKyNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKIAogdXNpbmcgbmFtZXNw
YWNlIEpTQzsKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKLUpTR2xvYmFsT2JqZWN0RGVidWdn
ZXJBZ2VudDo6SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdl
ciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLCBKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QpCitKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OkpTR2xvYmFsT2JqZWN0RGVidWdnZXJB
Z2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwgSlNDOjpK
U0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudCkKICAgICA6IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQoaW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKQogICAgICwgbV9zY3JpcHREZWJ1Z1NlcnZlcihnbG9iYWxPYmplY3QpCisgICAgLCBtX2Nv
bnNvbGVBZ2VudChjb25zb2xlQWdlbnQpCiB7CiB9CiAKQEAgLTYyLDYgKzY1LDExIEBAIEluamVj
dGVkU2NyaXB0IEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudDo6aW5qZWN0ZWRTY3JpcHRGb3JF
dmFsKEVycm9yU3RyaW5nKiBlCiAgICAgcmV0dXJuIGluamVjdGVkU2NyaXB0TWFuYWdlcigpLT5p
bmplY3RlZFNjcmlwdEZvcihleGVjKTsKIH0KIAordm9pZCBKU0dsb2JhbE9iamVjdERlYnVnZ2Vy
QWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UpCit7CisgICAgbV9jb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVz
c2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6TG9nLCBtZXNz
YWdlLCBudWxscHRyLCBudWxscHRyLCAwKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9y
CiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERl
YnVnZ2VyQWdlbnQuaAppbmRleCBhOWZkNjc5Li40NDNiZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdl
bnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2Jh
bE9iamVjdERlYnVnZ2VyQWdlbnQuaApAQCAtMzMsMTEgKzMzLDEzIEBACiAKIG5hbWVzcGFjZSBJ
bnNwZWN0b3IgewogCitjbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdlbnQ7CisKIGNsYXNzIEpTR2xv
YmFsT2JqZWN0RGVidWdnZXJBZ2VudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdl
bnQpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIEpTR2xvYmFs
T2JqZWN0RGVidWdnZXJBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBKU0M6OkpTR2xvYmFs
T2JqZWN0Jik7CisgICAgSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50KEluamVjdGVkU2NyaXB0
TWFuYWdlciosIEpTQzo6SlNHbG9iYWxPYmplY3QmLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqKTsK
ICAgICB2aXJ0dWFsIH5KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQoKSB7IH0KIAogICAgIHZp
cnR1YWwgSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlciYgc2NyaXB0RGVidWdTZXJ2ZXIo
KSBvdmVycmlkZSB7IHJldHVybiBtX3NjcmlwdERlYnVnU2VydmVyOyB9CkBAIC00Niw4ICs0OCw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3RvcExpc3RlbmluZ1NjcmlwdERlYnVnU2Vy
dmVyKGJvb2wgaXNCZWluZ0Rlc3Ryb3llZCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBJbmplY3Rl
ZFNjcmlwdCBpbmplY3RlZFNjcmlwdEZvckV2YWwoRXJyb3JTdHJpbmcqLCBjb25zdCBpbnQqIGV4
ZWN1dGlvbkNvbnRleHRJZCkgb3ZlcnJpZGU7CiAKLSAgICAvLyBGSVhNRTogVGhpcyBuZWVkcyBh
IENvbnNvbGVBZ2VudCB0byBzZW5kIGEgbG9nIHRvLgotICAgIHZpcnR1YWwgdm9pZCBicmVha3Bv
aW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGUgZmlu
YWwgeyB9CisgICAgdmlydHVhbCB2b2lkIGJyZWFrcG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3Rh
dGUqLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZSBmaW5hbDsKIAogICAgIC8vIEZJWE1FOiBKYXZh
U2NyaXB0IGluc3BlY3RvciBkb2VzIG5vdCB5ZXQgaGF2ZSBhIGNvbnNvbGUgb2JqZWN0IHRvIG11
dGUuCiAgICAgdmlydHVhbCB2b2lkIG11dGVDb25zb2xlKCkgb3ZlcnJpZGUgeyB9CkBAIC01NSw2
ICs1Niw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBKU0dsb2JhbE9iamVjdFNjcmlwdERl
YnVnU2VydmVyIG1fc2NyaXB0RGVidWdTZXJ2ZXI7CisgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50
KiBtX2NvbnNvbGVBZ2VudDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbiBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCnNpbWls
YXJpdHkgaW5kZXggODYlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90
b2NvbC9Db25zb2xlLmpzb24KcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCmluZGV4IDM1YmQxMWEuLmZjM2M5MDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24KKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24KQEAg
LTMsNiArMywxNiBAQAogICAgICJkZXNjcmlwdGlvbiI6ICJDb25zb2xlIGRvbWFpbiBkZWZpbmVz
IG1ldGhvZHMgYW5kIGV2ZW50cyBmb3IgaW50ZXJhY3Rpb24gd2l0aCB0aGUgSmF2YVNjcmlwdCBj
b25zb2xlLiBDb25zb2xlIGNvbGxlY3RzIG1lc3NhZ2VzIGNyZWF0ZWQgYnkgbWVhbnMgb2YgdGhl
IDxhIGhyZWY9J2h0dHA6Ly9nZXRmaXJlYnVnLmNvbS93aWtpL2luZGV4LnBocC9Db25zb2xlX0FQ
SSc+SmF2YVNjcmlwdCBDb25zb2xlIEFQSTwvYT4uIE9uZSBuZWVkcyB0byBlbmFibGUgdGhpcyBk
b21haW4gdXNpbmcgPGNvZGU+ZW5hYmxlPC9jb2RlPiBjb21tYW5kIGluIG9yZGVyIHRvIHN0YXJ0
IHJlY2VpdmluZyB0aGUgY29uc29sZSBtZXNzYWdlcy4gQnJvd3NlciBjb2xsZWN0cyBtZXNzYWdl
cyBpc3N1ZWQgd2hpbGUgY29uc29sZSBkb21haW4gaXMgbm90IGVuYWJsZWQgYXMgd2VsbCBhbmQg
cmVwb3J0cyB0aGVtIHVzaW5nIDxjb2RlPm1lc3NhZ2VBZGRlZDwvY29kZT4gbm90aWZpY2F0aW9u
IHVwb24gZW5hYmxpbmcuIiwKICAgICAidHlwZXMiOiBbCiAgICAgICAgIHsKKyAgICAgICAgICAg
ICJpZCI6ICJDb25zb2xlTmV0d29ya1JlcXVlc3RJZCIsCisgICAgICAgICAgICAidHlwZSI6ICJz
dHJpbmciLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuaXF1ZSByZXF1ZXN0IGlkZW50
aWZpZXIuIEZJWE1FOiBEdXBsaWNhdGUgb2YgTmV0d29yay5SZXF1ZXN0SWQgPGh0dHBzOi8vd2Vi
a2l0Lm9yZy9iLzEyNTY2ND4gV2ViIEluc3BlY3RvcjogRklYIFR5cGUgRGVwZW5kZW5jeSBJc3N1
ZXMiCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJpZCI6ICJDb25zb2xlRE9N
Tm9kZUlkIiwKKyAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAorICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIlVuaXF1ZSBET00gbm9kZSBpZGVudGlmaWVyLiBGSVhNRTogRHVwbGljYXRl
IG9mIERPTS5Ob2RlSWQgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyNTY2ND4gV2ViIEluc3BlY3Rv
cjogRklYIFR5cGUgRGVwZW5kZW5jeSBJc3N1ZXMiCisgICAgICAgIH0sCisgICAgICAgIHsKICAg
ICAgICAgICAgICJpZCI6ICJDb25zb2xlTWVzc2FnZSIsCiAgICAgICAgICAgICAidHlwZSI6ICJv
YmplY3QiLAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnNvbGUgbWVzc2FnZS4iLApA
QCAtMTcsNyArMjcsNyBAQAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVwZWF0Q291bnQi
LCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlJl
cGVhdCBjb3VudCBmb3IgcmVwZWF0ZWQgbWVzc2FnZXMuIiB9LAogICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAicGFyYW1ldGVycyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6
ICJSdW50aW1lLlJlbW90ZU9iamVjdCIgfSwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9u
IjogIk1lc3NhZ2UgcGFyYW1ldGVycyBpbiBjYXNlIG9mIHRoZSBmb3JtYXR0ZWQgbWVzc2FnZS4i
IH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzdGFja1RyYWNlIiwgIiRyZWYiOiAiU3Rh
Y2tUcmFjZSIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJKYXZhU2NyaXB0IHN0
YWNrIHRyYWNlIGZvciBhc3NlcnRpb25zIGFuZCBlcnJvciBtZXNzYWdlcy4iIH0sCi0gICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJuZXR3b3JrUmVxdWVzdElkIiwgIiRyZWYiOiAiTmV0d29yay5S
ZXF1ZXN0SWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiSWRlbnRpZmllciBv
ZiB0aGUgbmV0d29yayByZXF1ZXN0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1lc3NhZ2UuIiB9Cisg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJuZXR3b3JrUmVxdWVzdElkIiwgIiRyZWYiOiAiQ29u
c29sZU5ldHdvcmtSZXF1ZXN0SWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAi
SWRlbnRpZmllciBvZiB0aGUgbmV0d29yayByZXF1ZXN0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1l
c3NhZ2UuIiB9CiAgICAgICAgICAgICBdCiAgICAgICAgIH0sCiAgICAgICAgIHsKQEAgLTYxLDcg
KzcxLDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgIm5hbWUiOiAiYWRkSW5zcGVjdGVkTm9k
ZSIsCiAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1l
IjogIm5vZGVJZCIsICIkcmVmIjogIkRPTS5Ob2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiRE9NIG5v
ZGUgaWQgdG8gYmUgYWNjZXNzaWJsZSBieSBtZWFucyBvZiAkeCBjb21tYW5kIGxpbmUgQVBJLiIg
fQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiQ29uc29sZURP
TU5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJET00gbm9kZSBpZCB0byBiZSBhY2Nlc3NpYmxlIGJ5
IG1lYW5zIG9mICR4IGNvbW1hbmQgbGluZSBBUEkuIiB9CiAgICAgICAgICAgICBdLAogICAgICAg
ICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgY29uc29sZSB0byByZWZlciB0byB0aGUgbm9k
ZSB3aXRoIGdpdmVuIGlkIHZpYSAkeCAoc2VlIENvbW1hbmQgTGluZSBBUEkgZm9yIG1vcmUgZGV0
YWlscyAkeCBmdW5jdGlvbnMpLiIKICAgICAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3It
anNvbi5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0
ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weQppbmRleCBkYjE2M2JmLi41MzY2MDMxIDEwMDc1
NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUt
Y29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5CkBAIC02
NiwzICs2Niw0IEBAIGZvciBmaWxlIGluIGZpbGVzOgogCiAgICAgcHJpbnQoc3RyaW5nLnJzdHJp
cCgpKQogcHJpbnQoIl19IikKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0ODcxZDY2Li5lMGU5
MDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNzYxLDcgKzc2MSw2IEBAIHNldChXZWJDb3Jl
X0lOU1BFQ1RPUl9ET01BSU5TCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0FwcGxpY2F0aW9uQ2Fj
aGUuanNvbgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9DU1MuanNvbgogICAgIGluc3BlY3Rvci9w
cm90b2NvbC9DYW52YXMuanNvbgotICAgIGluc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24K
ICAgICBpbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9jb2wv
RE9NRGVidWdnZXIuanNvbgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9ET01TdG9yYWdlLmpzb24K
QEAgLTE1NjgsMTYgKzE1NjcsMTMgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogCiAgICAgaW5zcGVj
dG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKICAgICBpbnNwZWN0b3IvQ29tbWFuZExpbmVBUElN
b2R1bGUuY3BwCi0gICAgaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAogICAgIGluc3BlY3Rv
ci9ET01FZGl0b3IuY3BwCiAgICAgaW5zcGVjdG9yL0RPTVBhdGNoU3VwcG9ydC5jcHAKLSAgICBp
bnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcAogICAgIGluc3BlY3Rvci9JbmplY3RlZFNj
cmlwdENhbnZhc01vZHVsZS5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKICAgICBp
bnNwZWN0b3IvSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
ckNsaWVudC5jcHAKLSAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JDb3VudGVycy5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0x
NjExLDEwICsxNjA3LDggQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9QYWdl
SW5qZWN0ZWRTY3JpcHRIb3N0LmNwcAogICAgIGluc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmNwcAogICAgIGluc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNwcAotICAgIGluc3Bl
Y3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCi0gICAgaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5j
cHAKLSAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcAogICAgIGluc3BlY3Rvci9UaW1l
bGluZVJlY29yZEZhY3RvcnkuY3BwCisgICAgaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAK
ICAgICBpbnNwZWN0b3IvV2ViRGVidWdnZXJBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvV29ya2Vy
Q29uc29sZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDkyMGE2MjEuLmQzYjc0YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNzQg
QEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJ
bnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAgIC0gTW92ZSBJbnNwZWN0b3JDb25zb2xlQWdlbnQgYW5kIGRlcGVuZGVuY2llcyB0byBKYXZh
U2NyaXB0Q29yZQorICAgICAgICAgICAgYW5kIGludG8gdGhlIEluc3BlY3RvciBuYW1lc3BhY2Uu
CisgICAgICAgICAgLSBVcGRhdGUgQ29uc29sZSBNZXNzYWdlIGVudW0gdHlwZXMgdG8gZW51bSBj
bGFzc2VzIGFuZCB1cGRhdGUKKyAgICAgICAgICAgIGFsbCB1c2VycyB0byB0aGUgbmV3LCBzaW1w
bGVyIG5hbWVzLgorICAgICAgICAgIC0gU2luY2Ugd2UgYXJlIHVwZGF0aW5nIGFkZENvbnNvbGVN
ZXNzYWdlIGNhbGxzaXRlcyBhbnl3YXlzLCBhZGQKKyAgICAgICAgICAgIEFTQ0lJTGl0ZXJhbCB3
aGVyZSBhcHByb3ByaWF0ZS4KKyAgICAgICAgICAtIEFkZCBXZWJDb25zb2xlQWdlbnQgYmFzZSBv
ZiBQYWdlL1dvcmtlciBDb25zb2xlQWdlbnQgdG8gaW1wbGVtZW50CisgICAgICAgICAgICB3aGF0
IGNvdWxkIG5vdCBiZSBwdXNoZWQgaW50byBKYXZhU2NyaXB0Q29yZS4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
Rm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmg6IEFkZGVkLgorICAg
ICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlVHlwZXMuaDogQWRkZWQu
CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9y
eS5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0
QXJndW1lbnRzLmg6IEFkZGVkLgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rv
ci9TY3JpcHRDYWxsRnJhbWUuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMv
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5n
SGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oOiBBZGRlZC4KKyAgICAg
ICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5oOiBBZGRlZC4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5saXN0LmFtOgorICAgICAgICBBZGQgLyByZW1vdmUgZmlsZXMgZnJvbSBidWlsZHMu
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
Q29uc29sZUFnZW50OjpXZWJDb25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29u
c29sZUFnZW50OjpzZXRNb25pdG9yaW5nWEhSRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJDb25zb2xlQWdlbnQ6OmZyYW1lV2luZG93RGlzY2FyZGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkNvbnNvbGVBZ2VudDo6ZGlkRmluaXNoWEhSTG9hZGluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJDb25zb2xlQWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJDb25zb2xlQWdlbnQ6OmRpZEZhaWxMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdCk6CisgICAgICAgIEltcGxlbWVu
dCB3aGF0IGNvdWxkIG5vdCBiZSBwdXNoZWQgZG93biBpbnRvIEphdmFTY3JpcHRDb3JlLgorCisg
ICAgICAgICogaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNv
cmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OndlYkNvbnNvbGVBZ2VudCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpzZXRXZWJDb25zb2xlQWdlbnQpOgorICAgICAgICBI
b2xkIGEgV2ViQ29uc29sZUFnZW50IGluc3RlYWQgb2YgSW5zcGVjdG9yQ29uc29sZUFnZW50Lgor
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcDoKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHA6CisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAqIE1vZHVsZXMvcXVvdGEvRE9NV2lu
ZG93UXVvdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93UXVvdGE6OndlYmtpdFN0
b3JhZ2VJbmZvKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNl
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6Omxvb3Bp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpzZXRMb29waW5n
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
bm5lck5vZGU6OnNldFBhbm5pbmdNb2RlbCk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZUJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VCYXNlOjpsb2dF
cnJvck1lc3NhZ2UpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5h
Z2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlTWFuYWdlcjo6bG9nRXJyb3JNZXNz
YWdlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlNvY2tldDo6Y29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJT
b2NrZXQ6OnNlbmQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpjbG9zZSk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OnNldEJpbmFyeVR5cGUpOgorICAgICAgICAqIE1vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlNvY2tldENoYW5uZWw6OmZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5l
bDo6ZGlkRmFpbFNvY2tldFN0cmVhbSk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldEhhbmRzaGFrZS5jcHA6CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAg
ICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQXVkaW9Db250ZXh0Q29uc3RydWN0b3I6
OmNvbnN0cnVjdEpTQXVkaW9Db250ZXh0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0N1c3Rv
bVhQYXRoTlNSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0N1c3RvbVhQYXRoTlNS
ZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9t
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTU3VidGxlQ3J5cHRvOjplbmNyeXB0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkpTU3VidGxlQ3J5cHRvOjpkZWNyeXB0KToKKyAgICAgICAgKFdlYkNvcmU6
OkpTU3VidGxlQ3J5cHRvOjpzaWduKToKKyAgICAgICAgKFdlYkNvcmU6OkpTU3VidGxlQ3J5cHRv
Ojp2ZXJpZnkpOgorICAgICAgICAoV2ViQ29yZTo6SlNTdWJ0bGVDcnlwdG86OndyYXBLZXkpOgor
ICAgICAgICAoV2ViQ29yZTo6SlNTdWJ0bGVDcnlwdG86OnVud3JhcEtleSk6CisgICAgICAgICog
YmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRDb250cm9sbGVyOjpjYW5FeGVjdXRlU2NyaXB0cyk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUNhbGxXaXRoKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAg
KiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bG9nRXJy
b3IpOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRk
UmVzb2x1dGlvbldhcm5pbmdNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29s
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cHJvY2Vzc0h0dHBFcXVpdik6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YWRkTWVzc2FnZSk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RWxlbWVudDo6ZXhlY3V0ZVNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRFbGVtZW50Ojpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuY3BwOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6Cisg
ICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZp
ZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwpOgorICAgICAgICAoV2ViQ29yZTo6cmVwb3J0Vmlld3Bv
cnRXYXJuaW5nKToKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2IuY3BwOgorICAgICAgICAqIGZpbGVh
cGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9s
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBdXRvZm9jdXMpOgorICAgICAg
ICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3Jt
RWxlbWVudDo6dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJh
bWVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJRnJhbWVFbGVtZW50OjpwYXJz
ZUF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpnZXRJbWFnZURhdGEpOgorICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnByaW50V2FybmluZ1RvQ29uc29sZSk6CisgICAgICAg
ICogaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU1NBdWRp
dG9yOjppbml0KToKKyAgICAgICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdCk6
CisgICAgICAgICogaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q29tbWFu
ZExpbmVBUElIb3N0Ojppbml0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlv
bi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNz
YWdlVG9Db25zb2xlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6Y29uc29sZUNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6c3RvcENvbnNvbGVUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpjb25zb2xlVGltZVN0YW1wKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6YWRkUHJvZmlsZSk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJv
bGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lV2luZG93RGlz
Y2FyZGVkSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxMb2FkaW5nSW1wbCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpbmlzaFhIUkxvYWRpbmdJbXBsKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ29tbWl0TG9h
ZEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6aXNDb25zb2xlQXNzZXJ0TWVzc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNv
bGVJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29u
c29sZUNvdW50SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OnN0YXJ0Q29uc29sZVRpbWluZ0ltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpzdG9wQ29uc29sZVRpbWluZ0ltcGwpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQWdlbnRFbmFibGVkKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50
OjphZGRQcm9maWxlRmluaXNoZWRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29s
ZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpidWlsZEluaXRpYXRvck9iamVjdCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Ry
dW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zdHJ1bWVudGluZ0FnZW50czo6cmVzZXQpOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlQ29u
c29sZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlQWdlbnQ6OlBhZ2VD
b25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbnNvbGVBZ2VudDo6Y2xlYXJN
ZXNzYWdlcyk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ29uc29sZUFnZW50OjphZGRJbnNwZWN0
ZWROb2RlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyk6CisgICAgICAgICogaW5zcGVj
dG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZUlu
amVjdGVkU2NyaXB0TWFuYWdlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGluZVJlY29y
ZEZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5Ojpj
cmVhdGVHZW5lcmljUmVjb3JkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2VudDo6
fldlYkNvbnNvbGVBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb25zb2xlQWdlbnQ6OldvcmtlckNvbnNv
bGVBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb25zb2xlQWdlbnQ6OmFkZEluc3Bl
Y3RlZE5vZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJEZWJ1Z2dlckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVy
KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3VibWl0Rm9y
bSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpoYW5kbGVCZWZvcmVVbmxvYWRFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0TG9hZEZv
clhGcmFtZU9wdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlV2luZG93KToKKyAgICAg
ICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2Fk
ZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBsb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNaXhlZENvbnRlbnRDaGVja2VyOjpsb2dXYXJuaW5n
KToKKyAgICAgICAgKiBsb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja0xvYWRlcjo6Y29yc1BvbGljeVByZXZlbnRlZExvYWQpOgorICAgICAgICAq
IGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjphYm9ydCk6CisgICAgICAgIChXZWJDb3JlOjpB
cHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJD
b3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGYWlsKToKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZU1hbmlmZXN0UmVzcG9uc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5n
TWFuaWZlc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpjaGVj
a0lmTG9hZElzQ29tcGxldGUpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJp
bnRBY2Nlc3NEZW5pZWRNZXNzYWdlKToKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgor
ICAgICAgICAqIHBhZ2UvQ29uc29sZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbnRlcm5hbEFk
ZE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6ZGVidWcpOgorICAgICAgICAo
V2ViQ29yZTo6Q29uc29sZTo6ZXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6bG9n
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Ondhcm4pOgorICAgICAgICAoV2ViQ29yZTo6
Q29uc29sZTo6ZGlyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmRpcnhtbCk6CisgICAg
ICAgIChXZWJDb3JlOjpDb25zb2xlOjp0YWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xl
OjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjp0cmFjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDb25zb2xlOjphc3NlcnRDb25kaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29u
c29sZTo6Z3JvdXApOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6Z3JvdXBDb2xsYXBzZWQp
OgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6Z3JvdXBFbmQpOgorICAgICAgICAqIHBhZ2Uv
Q29uc29sZS5oOgorICAgICAgICAqIHBhZ2UvQ29uc29sZVR5cGVzLmg6IFJlbW92ZWQuCisgICAg
ICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRWaW9sYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0NvbnNvbGUpOgorICAgICAgICAqIHBhZ2Uv
RE9NU2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93OjpkaXNwYXRjaE1lc3NhZ2VFdmVudFdpdGhPcmlnaW5DaGVjayk6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6cHJpbnRFcnJvck1lc3NhZ2UpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6Cisg
ICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNv
dXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNl
OjpkaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25zb2xl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VB
bmRMZXZlbFByZWZpeCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ29uc29sZTo6YWRkTWVzc2Fn
ZSk6CisgICAgICAgICogcGFnZS9QYWdlQ29uc29sZS5oOgorICAgICAgICAqIHBhZ2UvUG9pbnRl
ckxvY2tDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvaW50ZXJMb2NrQ29udHJv
bGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9Dcm9zc1RocmVh
ZENvcGllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zaGFwZXMvU2hhcGVJbmZvLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNoZWNrU2hhcGVJbWFnZU9yaWdpbik6CisgICAgICAgICogc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRNZXNzYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVwb3J0V2Fybmlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlcG9ydEVycm9y
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OmNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMpOgorICAgICAgICAqIHdvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOgorICAgICAgICAqIHdvcmtlcnMv
U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkV29y
a2VyR2xvYmFsU2NvcGU6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZSk6CisgICAgICAgICogd29ya2Vy
cy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmFkZE1l
c3NhZ2VUb1dvcmtlckNvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5Lmg6CisgICAgICAgICogeG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxvZ0NvbnNvbGVFcnJvcik6CisgICAg
ICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6c2VuZCk6CisgICAgICAgICogeG1sL1hTTFRQ
cm9jZXNzb3JMaWJ4c2x0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTTFRQcm9jZXNzb3I6OnBh
cnNlRXJyb3JGdW5jKToKKwogMjAxNC0wMi0wMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBDYWNoZWRJbWFnZU1hbnVhbCBjbGFzcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNzkxYThjNy4uYWEzNGUzYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMDk5LDcgKzEwOTksNiBAQCBJTlNQRUNUT1JfRE9NQUlO
UyA9IFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9BcHBsaWNhdGlvbkNhY2hl
Lmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uIFwKICAg
ICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9DYW52YXMuanNvbiBcCi0gICAgJChXZWJD
b3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9wcm90b2NvbC9ET00uanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJv
dG9jb2wvRE9NRGVidWdnZXIuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9j
b2wvRE9NU3RvcmFnZS5qc29uIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRp
bmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvRm9y
d2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q1N2QxNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0w
LDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9Db25zb2xlTWVzc2FnZV9oCisjZGVmaW5l
IFdlYkNvcmVfRldEX0NvbnNvbGVNZXNzYWdlX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9D
b25zb2xlTWVzc2FnZS5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3
YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9G
b3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uN2I3MjlkNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlVHlwZXMuaApAQCAtMCww
ICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfQ29uc29sZVR5cGVzX2gKKyNkZWZpbmUgV2Vi
Q29yZV9GV0RfQ29uc29sZVR5cGVzX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xl
VHlwZXMuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvRm9y
d2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMTM1YjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5
LmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0lkZW50aWZpZXJzRmFjdG9y
eV9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0lkZW50aWZpZXJzRmFjdG9yeV9oCisjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVu
dHMuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRB
cmd1bWVudHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWE2Zjk4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVj
dG9yL1NjcmlwdEFyZ3VtZW50cy5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZX
RF9TY3JpcHRBcmd1bWVudHNfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHRBcmd1bWVudHNf
aAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEFyZ3VtZW50cy5oPgorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0
b3IvU2NyaXB0Q2FsbEZyYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MDc2Nzg1OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFk
ZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYg
V2ViQ29yZV9GV0RfU2NyaXB0Q2FsbEZyYW1lX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0
Q2FsbEZyYW1lX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsRnJhbWUuaD4K
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjdkOTdmN2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3
YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTAsMCArMSw0IEBA
CisjaWZuZGVmIFdlYkNvcmVfRldEX1NjcmlwdENhbGxTdGFja19oCisjZGVmaW5lIFdlYkNvcmVf
RldEX1NjcmlwdENhbGxTdGFja19oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2Fs
bFN0YWNrLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdI
ZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MWU3YzQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeV9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVy
cy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdl
bnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmVjZWFhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2Vi
Q29yZV9GV0RfSW5zcGVjdG9yQ29uc29sZUFnZW50X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfSW5z
cGVjdG9yQ29uc29sZUFnZW50X2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAyM2M4OTRkLi42
NGI1ODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMzM5LDcgKzMzOSw2IEBAIFdlYkNvcmVf
SU5TUEVDVE9SX0RPTUFJTlMgOj0gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29s
L0FwcGxpY2F0aW9uQ2FjaGUuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9j
b2wvQ1NTLmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZhcy5q
c29uIFwKLSAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24gXAog
ICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uIFwKICAgICAkKFdlYkNv
cmUpL2luc3BlY3Rvci9wcm90b2NvbC9ET01EZWJ1Z2dlci5qc29uIFwKICAgICAkKFdlYkNvcmUp
L2luc3BlY3Rvci9wcm90b2NvbC9ET01TdG9yYWdlLmpzb24gXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KaW5kZXggMzFkNDQyYS4uMjUwNTJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC0yNDM5LDggKzI0MzksNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBcCi0JU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgXAotCVNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBcCiAJU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0SGVhcFNuYXBzaG90LmggXApAQCAtMzc0OSwxNSArMzc0NywxMCBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3Qu
aCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmggXAotCVNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaCBcCi0JU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0
b3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmggXAogCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvRE9NUGF0Y2hTdXBwb3J0LmggXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRl
bnRpZmllcnNGYWN0b3J5LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdENhbnZhc01vZHVsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdENhbnZhc01vZHVsZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcCBcCkBAIC0zNzY5LDggKzM3NjIsNiBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGll
bnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIFwKLQlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBcCi0JU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuaCBcCkBAIC0zODQzLDE0ICszODM0
LDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VSdW50aW1lQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRp
bWVBZ2VudC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNw
cCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIFwKLQlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCi0JU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRG
YWN0b3J5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFj
dG9yeS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcCBc
CisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV2ViRGVidWdnZXJBZ2VudC5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9XZWJEZWJ1Z2dlckFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwIFwKQEAgLTQwNTksNyArNDA0Niw2IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBcCiAJU291
cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db25z
b2xlLmggXAotCVNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNsaWVudC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJDdXJzb3IuY3BwCmluZGV4IGY2ZWEzMGUuLjkxYTc3ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcApAQCAtMzcsOCArMzcsOCBAQAogI2lu
Y2x1ZGUgIklEQlJlcXVlc3QuaCIKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbi5oIgogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFjay5oPgogI2luY2x1ZGUgPGxpbWl0cz4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCmluZGV4IDQw
MTExOWEuLjgzZTQ3ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZS5jcHAKQEAgLTQ0LDkgKzQ0LDkgQEAKICNpbmNsdWRlICJJREJUcmFuc2Fj
dGlvbi5oIgogI2luY2x1ZGUgIklEQlZlcnNpb25DaGFuZ2VFdmVudC5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSA8YXRvbWljPgorI2luY2x1ZGUgPGluc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL0F0
b21pY3MuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uY3BwCmluZGV4IDVkMmYzZjguLmE1MGEwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKQEAgLTM5LDcg
KzM5LDYgQEAKICNpbmNsdWRlICJJREJPcGVuREJSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSURCUGVu
ZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0Lmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90
YS9ET01XaW5kb3dRdW90YS5jcHAKaW5kZXggZWEzZDY1OS4uYTNmMWVlNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAKQEAgLTc1LDcgKzc1
LDcgQEAgU3RvcmFnZUluZm8qIERPTVdpbmRvd1F1b3RhOjp3ZWJraXRTdG9yYWdlSW5mbyhET01X
aW5kb3cqIHdpbmRvdykKIFN0b3JhZ2VJbmZvKiBET01XaW5kb3dRdW90YTo6d2Via2l0U3RvcmFn
ZUluZm8oKSBjb25zdAogewogICAgIGlmICghbV9zdG9yYWdlSW5mbyAmJiBmcmFtZSgpKSB7Ci0g
ICAgICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIndpbmRvdy53ZWJraXRTdG9yYWdlSW5mbyBpcyBk
ZXByZWNhdGVkLiBVc2UgbmF2aWdhdG9yLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2Ugb3IgbmF2aWdh
dG9yLndlYmtpdFBlcnNpc3RlbnRTdG9yYWdlIGluc3RlYWQuIik7CisgICAgICAgIGZyYW1lKCkt
PmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdl
TGV2ZWw6Oldhcm5pbmcsICJ3aW5kb3cud2Via2l0U3RvcmFnZUluZm8gaXMgZGVwcmVjYXRlZC4g
VXNlIG5hdmlnYXRvci53ZWJraXRUZW1wb3JhcnlTdG9yYWdlIG9yIG5hdmlnYXRvci53ZWJraXRQ
ZXJzaXN0ZW50U3RvcmFnZSBpbnN0ZWFkLiIpOwogICAgICAgICBtX3N0b3JhZ2VJbmZvID0gU3Rv
cmFnZUluZm86OmNyZWF0ZSgpOwogICAgIH0KICAgICByZXR1cm4gbV9zdG9yYWdlSW5mby5nZXQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZm
ZXJTb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9C
dWZmZXJTb3VyY2VOb2RlLmNwcAppbmRleCA4ZWU2ZDYxLi45OTUxODYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5v
ZGUuY3BwCkBAIC0zMiwxMCArMzIsMTAgQEAKICNpbmNsdWRlICJBdWRpb05vZGVPdXRwdXQuaCIK
ICNpbmNsdWRlICJBdWRpb1V0aWxpdGllcy5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5o
IgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSA8YWxn
b3JpdGhtPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgpAQCAtNDYwLDcgKzQ2MCw3IEBAIGJvb2wgQXVkaW9CdWZm
ZXJTb3VyY2VOb2RlOjpsb29waW5nKCkKIHsKICAgICBzdGF0aWMgYm9vbCBmaXJzdFRpbWUgPSB0
cnVlOwogICAgIGlmIChmaXJzdFRpbWUgJiYgY29udGV4dCgpICYmIGNvbnRleHQoKS0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKSB7Ci0gICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNz
YWdlTGV2ZWwsICJBdWRpb0J1ZmZlclNvdXJjZU5vZGUgJ2xvb3BpbmcnIGF0dHJpYnV0ZSBpcyBk
ZXByZWNhdGVkLiAgVXNlICdsb29wJyBpbnN0ZWFkLiIpOworICAgICAgICBjb250ZXh0KCktPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6
SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9vcGlu
ZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7CiAgICAg
ICAgIGZpcnN0VGltZSA9IGZhbHNlOwogICAgIH0KIApAQCAtNDcxLDcgKzQ3MSw3IEBAIHZvaWQg
QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpzZXRMb29waW5nKGJvb2wgbG9vcGluZykKIHsKICAgICBz
dGF0aWMgYm9vbCBmaXJzdFRpbWUgPSB0cnVlOwogICAgIGlmIChmaXJzdFRpbWUgJiYgY29udGV4
dCgpICYmIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7Ci0gICAgICAgIGNv
bnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsICJBdWRpb0J1ZmZlclNvdXJjZU5vZGUg
J2xvb3BpbmcnIGF0dHJpYnV0ZSBpcyBkZXByZWNhdGVkLiAgVXNlICdsb29wJyBpbnN0ZWFkLiIp
OworICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgIkF1ZGlv
QnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2Ug
J2xvb3AnIGluc3RlYWQuIik7CiAgICAgICAgIGZpcnN0VGltZSA9IGZhbHNlOwogICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmlu
ZGV4IDQ4NTRmZjAuLmFjMjI1MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTU1LDcgKzU1LDcgQEAKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiUGFubmVyTm9kZS5oIgogI2luY2x1ZGUgIlBlcmlvZGljV2F2ZS5oIgot
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRD
YWxsU3RhY2suaD4KICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0UHJvY2Vzc29yTm9kZS5oIgogI2luY2x1ZGUgIldhdmVTaGFwZXJOb2RlLmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcAppbmRleCAxN2JmMTMw
Li45MDI3NjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bh
bm5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVy
Tm9kZS5jcHAKQEAgLTIwNSw3ICsyMDUsNyBAQCBib29sIFBhbm5lck5vZGU6OnNldFBhbm5pbmdN
b2RlbCh1bnNpZ25lZCBtb2RlbCkKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTT1VOREZJRUxE
OgogICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHNvdW5kIGZpZWxkIG1vZGVsLiBTZWUgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzY3LgotICAgICAgICBj
b250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiJ3NvdW5kZmllbGQnIHBhbm5pbmcg
bW9kZWwgbm90IGltcGxlbWVudGVkLiIpOworICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3Nh
Z2VMZXZlbDo6V2FybmluZywgIidzb3VuZGZpZWxkJyBwYW5uaW5nIG1vZGVsIG5vdCBpbXBsZW1l
bnRlZC4iKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFz
ZUJhc2UuY3BwCmluZGV4IGFmMjM3N2EuLjVmMTBiZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAKQEAgLTQ2LDcgKzQ2LDcg
QEAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogRGF0YWJhc2VCYXNlOjpzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgY29uc3QKIAogdm9pZCBEYXRhYmFzZUJhc2U6OmxvZ0Vycm9yTWVzc2FnZShjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRD
b25zb2xlTWVzc2FnZShTdG9yYWdlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UpOworICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6U3RvcmFnZSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcAppbmRleCAwYjYwYzk2Li4xZjAy
NWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZU1hbmFnZXIuY3BwCkBAIC00NjcsNyArNDY3LDcgQEAgdm9pZCBEYXRhYmFzZU1hbmFn
ZXI6OmludGVycnVwdEFsbERhdGFiYXNlc0ZvckNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY28KIAogdm9pZCBEYXRhYmFzZU1hbmFnZXI6OmxvZ0Vycm9yTWVzc2FnZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAgY29u
dGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoU3RvcmFnZU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBtZXNzYWdlKTsKKyAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpTdG9yYWdlLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmNwcAppbmRleCA3MmIxOTJhLi44MzRjMDU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtNDgsMTIgKzQ4LDEy
IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAi
TWVzc2FnZUV2ZW50LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAi
U2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
ICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0Q2hhbm5lbC5oIgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVy
Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9BcnJheUJ1ZmZlclZpZXcuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgpAQCAtMjE0LDI2ICsyMTQsMjYgQEAgdm9pZCBXZWJTb2NrZXQ6OmNvbm5lY3Qo
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwcm90b2NvbHMsIEV4Y2UK
ICAgICBtX3VybCA9IFVSTChVUkwoKSwgdXJsKTsKIAogICAgIGlmICghbV91cmwuaXNWYWxpZCgp
KSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkludmFsaWQgdXJsIGZvciBXZWJT
b2NrZXQgIiArIG1fdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpKTsKKyAgICAg
ICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIkludmFsaWQgdXJsIGZvciBXZWJTb2NrZXQg
IiArIG1fdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpKTsKICAgICAgICAgbV9z
dGF0ZSA9IENMT1NFRDsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCiAgICAgaWYgKCFtX3VybC5wcm90b2NvbElzKCJ3cyIpICYmICFtX3VybC5wcm90
b2NvbElzKCJ3c3MiKSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENv
bnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXcm9uZyB1
cmwgc2NoZW1lIGZvciBXZWJTb2NrZXQgIiArIG1fdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRU
b0xlbmd0aCgpKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldyb25nIHVy
bCBzY2hlbWUgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRv
TGVuZ3RoKCkpOwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICBlYyA9IFNZTlRB
WF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKG1fdXJsLmhhc0ZyYWdtZW50
SWRlbnRpZmllcigpKSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVSTCBoYXMg
ZnJhZ21lbnQgY29tcG9uZW50ICIgKyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5n
dGgoKSk7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJVUkwgaGFzIGZyYWdt
ZW50IGNvbXBvbmVudCAiICsgbV91cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkp
OwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKCFwb3J0QWxsb3dlZChtX3VybCkpIHsKLSAg
ICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IHBvcnQgIiArIFN0cmluZzo6
bnVtYmVyKG1fdXJsLnBvcnQoKSkgKyAiIGJsb2NrZWQiKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgIldlYlNvY2tldCBwb3J0ICIgKyBTdHJpbmc6Om51bWJlcihtX3VybC5w
b3J0KCkpICsgIiBibG9ja2VkIik7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAg
IGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1cm47CkBAIC0yNjQsNyArMjY0LDcgQEAg
dm9pZCBXZWJTb2NrZXQ6OmNvbm5lY3QoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBwcm90b2NvbHMsIEV4Y2UKICAgICAvLyBjb21wbHkgd2l0aCBXZWJTb2NrZXQgQVBJ
IHNwZWNpZmljYXRpb24sIGJ1dCBpdCBzZWVtcyB0byBiZSB0aGUgb25seSByZWFzb25hYmxlIHdh
eSB0byBoYW5kbGUgdGhpcyBjb25mbGljdC4KICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBy
b3RvY29scy5zaXplKCk7ICsraSkgewogICAgICAgICBpZiAoIWlzVmFsaWRQcm90b2NvbFN0cmlu
Zyhwcm90b2NvbHNbaV0pKSB7Ci0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJX
cm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICciICsgZW5jb2RlUHJvdG9jb2xTdHJpbmcocHJv
dG9jb2xzW2ldKSArICInIik7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9y
LCAiV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAnIiArIGVuY29kZVByb3RvY29sU3RyaW5n
KHByb3RvY29sc1tpXSkgKyAiJyIpOwogICAgICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAg
ICAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTI3Myw3
ICsyNzMsNyBAQCB2b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29scywgRXhjZQogICAgIEhhc2hTZXQ8U3RyaW5nPiB2
aXNpdGVkOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvdG9jb2xzLnNpemUoKTsgKytp
KSB7CiAgICAgICAgIGlmICghdmlzaXRlZC5hZGQocHJvdG9jb2xzW2ldKS5pc05ld0VudHJ5KSB7
Ci0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcHJvdG9jb2xz
IGNvbnRhaW4gZHVwbGljYXRlczogJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNb
aV0pICsgIiciKTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJXZWJT
b2NrZXQgcHJvdG9jb2xzIGNvbnRhaW4gZHVwbGljYXRlczogJyIgKyBlbmNvZGVQcm90b2NvbFN0
cmluZyhwcm90b2NvbHNbaV0pICsgIiciKTsKICAgICAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7
CiAgICAgICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0z
MDUsNyArMzA1LDcgQEAgdm9pZCBXZWJTb2NrZXQ6OnNlbmQoY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBBU1NFUlQobV9jaGFubmVsKTsKICAgICBUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbDo6U2VuZFJlc3VsdCByZXN1bHQgPSBtX2NoYW5uZWwtPnNlbmQo
bWVzc2FnZSk7CiAgICAgaWYgKHJlc3VsdCA9PSBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6
SW52YWxpZE1lc3NhZ2UpIHsKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRD
b25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2Vic29j
a2V0IG1lc3NhZ2UgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIocykuIik7CisgICAgICAgIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6
SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJXZWJzb2NrZXQgbWVzc2FnZSBjb250YWlucyBpbnZh
bGlkIGNoYXJhY3RlcihzKS4iKTsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQpAQCAtMzc4LDcgKzM3OCw3IEBAIHZvaWQgV2ViU29ja2V0OjpjbG9zZShp
bnQgY29kZSwgY29uc3QgU3RyaW5nJiByZWFzb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAg
ICB9CiAgICAgICAgIENTdHJpbmcgdXRmOCA9IHJlYXNvbi51dGY4KFN0cmljdENvbnZlcnNpb25S
ZXBsYWNpbmdVbnBhaXJlZFN1cnJvZ2F0ZXNXaXRoRkZGRCk7CiAgICAgICAgIGlmICh1dGY4Lmxl
bmd0aCgpID4gbWF4UmVhc29uU2l6ZUluQnl0ZXMpIHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgIldlYlNvY2tldCBjbG9zZSBtZXNzYWdlIGlzIHRvbyBsb25nLiIpOworICAg
ICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldlYlNvY2tldCBjbG9zZSBtZXNz
YWdlIGlzIHRvbyBsb25nLiIpOwogICAgICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC00NDMsNyArNDQzLDcgQEAgdm9pZCBXZWJTb2Nr
ZXQ6OnNldEJpbmFyeVR5cGUoY29uc3QgU3RyaW5nJiBiaW5hcnlUeXBlKQogICAgICAgICBtX2Jp
bmFyeVR5cGUgPSBCaW5hcnlUeXBlQXJyYXlCdWZmZXI7CiAgICAgICAgIHJldHVybjsKICAgICB9
Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiJyIgKyBiaW5hcnlUeXBlICsgIicgaXMgbm90
IGEgdmFsaWQgdmFsdWUgZm9yIGJpbmFyeVR5cGU7IGJpbmFyeVR5cGUgcmVtYWlucyB1bmNoYW5n
ZWQuIik7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIiciICsgYmluYXJ5VHlwZSAr
ICInIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBiaW5hcnlUeXBlOyBiaW5hcnlUeXBlIHJlbWFp
bnMgdW5jaGFuZ2VkLiIpOwogfQogCiBFdmVudFRhcmdldEludGVyZmFjZSBXZWJTb2NrZXQ6OmV2
ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA3MTY0ZWRjLi44MWM2
Zjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwCkBAIC00OCwxNCArNDgsMTIgQEAKICNpbmNsdWRlICJQYWdlLmgi
CiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0
LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU29ja2V0U3Ry
ZWFtRXJyb3IuaCIKICNpbmNsdWRlICJTb2NrZXRTdHJlYW1IYW5kbGUuaCIKICNpbmNsdWRlICJX
ZWJTb2NrZXRDaGFubmVsQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlLmgi
Ci0KICNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVl
Lmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KQEAgLTE5OCw3ICsxOTYsNyBAQCB2b2lk
IFdlYlNvY2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgQVNTRVJU
KCFtX3N1c3BlbmRlZCk7CiAgICAgaWYgKG1fZG9jdW1lbnQpIHsKICAgICAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihtX2RvY3VtZW50
LCBtX2lkZW50aWZpZXIsIHJlYXNvbik7Ci0gICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tl
dCBjb25uZWN0aW9uIHRvICciICsgbV9oYW5kc2hha2UtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlw
c2l6ZWRUb0xlbmd0aCgpICsgIicgZmFpbGVkOiAiICsgcmVhc29uKTsKKyAgICAgICAgbV9kb2N1
bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6TmV0d29yaywgTWVzc2FnZUxl
dmVsOjpFcnJvciwgIldlYlNvY2tldCBjb25uZWN0aW9uIHRvICciICsgbV9oYW5kc2hha2UtPnVy
bCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgZmFpbGVkOiAiICsgcmVh
c29uKTsKICAgICB9CiAKICAgICAvLyBIeWJpLTEwIHNwZWNpZmljYXRpb24gZXhwbGljaXRseSBz
dGF0ZXMgd2UgbXVzdCBub3QgY29udGludWUgdG8gaGFuZGxlIGluY29taW5nIGRhdGEKQEAgLTMz
NSw3ICszMzMsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0o
U29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFNvYwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBtZXNzYWdlID0gIldlYlNvY2tldCBuZXR3b3JrIGVycm9yOiAiICsgZXJyb3IubG9j
YWxpemVkRGVzY3JpcHRpb24oKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihtX2RvY3VtZW50LCBtX2lkZW50aWZpZXIsIG1l
c3NhZ2UpOwotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShOZXR3b3JrTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICBtX2RvY3Vt
ZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlTGV2
ZWw6OkVycm9yLCBtZXNzYWdlKTsKICAgICB9CiAgICAgbV9zaG91bGREaXNjYXJkUmVjZWl2ZWRE
YXRhID0gdHJ1ZTsKICAgICBoYW5kbGUtPmRpc2Nvbm5lY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKaW5k
ZXggZTY3ODJjZi4uNjg2ZjRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKQEAgLTQ0LDcgKzQ0LDYgQEAK
ICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXF1ZXN0LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5j
bHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UK
aW5kZXggMmRiMGZiZC4uMTE2Mjk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlSlND
LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQpAQCAtMTU2LDcgKzE1Niw2
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL1BhZ2VTY3Jp
cHREZWJ1Z1NlcnZlci5jcHAKICAgICBiaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwCiAg
ICAgYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcAotICAgIGJpbmRpbmdzL2pz
L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0Q29udHJv
bGxlci5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmplY3QuY3BwCiAgICAgYmlu
ZGluZ3MvanMvU2NyaXB0UHJvZmlsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZGZjYWY1
NS4uOTViMjk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI3NzgsNyArMjc3OCw2IEBAIF9f
Wk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjI2c2V0SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRFTlN0M19fMTEwdW5pcXVlX3B0CiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIz
OXNldFJlc291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0VpaQogX19aTjdXZWJDb3Jl
MTlJbnNwZWN0b3JDb250cm9sbGVyNHNob3dFdgogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250
cm9sbGVyNWNsb3NlRXYKLV9fWk43V2ViQ29yZTIxSW5zcGVjdG9yQ29uc29sZUFnZW50Mjhjb25z
b2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzRXYKIF9fWk43V2ViQ29yZTIyaW5zdHJ1bWVudGF0aW9u
Rm9yUGFnZUVQTlNfNFBhZ2VFCiBfX1pON1dlYkNvcmUyNEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjE3c19mcm9udGVuZENvdW50ZXJFCiBfX1pON1dlYkNvcmUyNEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjI2aW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2VFUE5TXzRQYWdlRQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggNWI5ZjBhZi4uNWMy
OGZhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qCkBAIC0xNzIxNiwyMCArMTcyMTYsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIj4K
LSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8
L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlw
dENvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KQEAgLTE3NTA2LDE0ICsxNzQ5Miw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmNwcCI+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVs
ZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9D
bENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NRWRpdG9y
LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpA
QCAtMTc1MzAsMTQgKzE3NTA4LDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmNwcCI+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENv
bXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3Jp
cHRDYW52YXNNb2R1bGUuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CkBAIC0xNzU3OCwxNCArMTc1NDgsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVj
dGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVj
dGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb25zb2xlQWdlbnQu
Y3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0g
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxJbnNwZWN0b3JDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTc4NTgsMzAgKzE3ODIwLDYgQEAKICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENv
bXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1l
bnRzLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcU2NyaXB0Q2FsbEZyYW1lLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWly
b3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258
eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmNwcCI+Ci0gICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAg
PC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcVGltZWxp
bmVSZWNvcmRGYWN0b3J5LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgpAQCAtMTc4OTAsNiArMTc4MjgsMTQgQEAKICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Cisg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViQ29uc29sZUFnZW50LmNwcCI+
CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Cisg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgor
ICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
V2ViRGVidWdnZXJBZ2VudC5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KQEAgLTE4NDk2LDYgKzE4NDQyLDkgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcU2xvdFZpc2l0b3IuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcU3Ryb25nSW5saW5l
cy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVh
cFxXZWFrLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xpbnNwZWN0b3JcQ29uc29sZU1lc3NhZ2UuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxDb25zb2xlVHlwZXMuaCIgLz4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJZGVudGlm
aWVyc0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdI
ZWFkZXJzXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluamVjdGVkU2NyaXB0QmFzZS5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVj
dG9yXEluamVjdGVkU2NyaXB0SG9zdC5oIiAvPgpAQCAtMTg1MTEsNyArMTg0NjAsMTQgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJbnNw
ZWN0b3JKU1R5cGVCdWlsZGVycy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluc3BlY3RvclR5cGVCdWlsZGVyLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcSW5zcGVj
dG9yVmFsdWVzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0QnJlYWtwb2ludC5oIiAv
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9y
XFNjcmlwdENhbGxGcmFtZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxTdGFjay5oIiAvPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFk
ZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuaCIgLz4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9y
Q29uc29sZUFnZW50LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5n
SGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2Vu
dHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xtYXNtXFg4NkFzc2VtYmxlci5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccGFyc2VyXFNvdXJjZUNvZGUuaCIgLz4K
QEAgLTE4NzY1LDcgKzE4NzIxLDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2Vc
Q2hyb21lQ2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXGFuaW1h
dGlvblxDb21wb3NpdGVBbmltYXRpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBhZ2VcQ29uc29sZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxDb25z
b2xlVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGVudFNl
Y3VyaXR5UG9saWN5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnRl
eHRNZW51Q2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnRl
eHRNZW51Q29udHJvbGxlci5oIiAvPgpAQCAtMjA1NDEsNyArMjA0OTYsNiBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcUGFnZVNjcmlwdERlYnVnU2VydmVyLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY2hlZHVsZWRBY3Rpb24u
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENhY2hl
ZEZyYW1lRGF0YS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNc
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcU2NyaXB0Q29udHJvbGxlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0SGVhcFNuYXBzaG90LmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRHbG9iYWxPYmplY3QuaCIgLz4KQEAgLTIw
ODQ1LDE5ICsyMDc5OSwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYnJpZGdlXHJ1
bnRpbWVfbWV0aG9kLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxicmlkZ2VccnVu
dGltZV9vYmplY3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJyaWRnZVxydW50
aW1lX3Jvb3QuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb25z
b2xlQVBJVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxD
b21tYW5kTGluZUFQSUhvc3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxDb21tYW5kTGluZUFQSU1vZHVsZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcRE9NRWRpdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcRE9NUGF0Y2hTdXBwb3J0LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JDYW52YXNBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXEluc3BlY3RvckNhbnZhc0luc3RydW1lbnRhdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNsaWVudC5oIiAvPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVJbnN0cnVt
ZW50YXRpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JDb250cm9sbGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcSW5zcGVjdG9yQ291bnRlcnMuaCIgLz4KQEAgLTIwODk4LDEwICsyMDg0OCw4IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcUGFnZUluamVjdGVkU2NyaXB0SG9zdC5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFBhZ2VJbmplY3RlZFNj
cmlwdE1hbmFnZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQ
YWdlUnVudGltZUFnZW50LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcU2NyaXB0QXJndW1lbnRzLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcU2NyaXB0Q2FsbEZyYW1lLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgiIC8+CisgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViQ29uc29sZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdvcmtlckNvbnNvbGVBZ2VudC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdvcmtlckRlYnVnZ2VyQWdlbnQuaCIg
Lz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycwppbmRleCBjMDkyYTk0Li43ODQ4MDk0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00
NDk0LDkgKzQ0OTQsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNc
U2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9G
aWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5k
aW5nc1xqc1xTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCI+Ci0gICAgICA8RmlsdGVyPmJpbmRp
bmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmJp
bmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC00NzI1LDE4ICs0NzIyLDEy
IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29tbWFuZExpbmVBUElN
b2R1bGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29uc29sZU1lc3Nh
Z2UuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBp
bGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NRWRpdG9yLmNwcCI+
CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXERPTVBhdGNoU3VwcG9ydC5jcHAiPgog
ICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuY3BwIj4K
LSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1
bGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBp
bGU+CkBAIC00NzUyLDkgKzQ3NDMsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXEluc3BlY3RvckNsaWVudC5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0Zp
bHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9y
PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcSW5zcGVjdG9yQ29udHJvbGxlci5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0
b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ4NTQsMTggKzQ4NDIsMTIgQEAKICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQYWdlUnVudGltZUFnZW50LmNwcCI+
CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdEFyZ3VtZW50cy5jcHAiPgot
ICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsRnJhbWUuY3BwIj4KLSAg
ICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmNwcCI+Ci0gICAg
ICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAiPgog
ICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25zb2xlQWdlbnQuY3BwIj4KKyAg
ICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5jcHAiPgogICAg
ICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTc0OTMs
OSArNzQ3NSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnNvbGUuaCI+
CiAgICAgICA8RmlsdGVyPnBhZ2U8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29uc29sZVR5cGVzLmgiPgotICAgICAgPEZpbHRlcj5w
YWdlPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxwYWdlXENvbnRlbnRTZWN1cml0eVBvbGljeS5oIj4KICAgICAgIDxGaWx0ZXI+cGFnZTwvRmls
dGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTEzNTQsOSArMTEzMzMsNiBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgiPgog
ICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5oIj4KLSAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVk
ZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENvbnRyb2xs
ZXIuaCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1
ZGU+CkBAIC0xMjA5Miw2ICsxMjA2OCwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxTdHJvbmcuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRp
bmdIZWFkZXJzXGhlYXA8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxDb25zb2xlTWVzc2FnZS5o
Ij4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+Cisg
ICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xpbnNwZWN0b3JcQ29uc29sZVR5cGVzLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5n
SGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJZGVudGlmaWVyc0Zh
Y3RvcnkuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmls
dGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluamVjdGVkU2NyaXB0LmgiPgogICAgICAgPEZpbHRlcj5G
b3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAg
LTEyMTM3LDkgKzEyMTIyLDMwIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJk
aW5nSGVhZGVyc1xpbnNwZWN0b3JcSW5zcGVjdG9yVmFsdWVzLmgiPgogICAgICAgPEZpbHRlcj5G
b3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxTY3Jp
cHRBcmd1bWVudHMuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
cjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdEJyZWFrcG9pbnQuaCI+CisgICAgICA8
RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNs
dWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVj
dG9yXFNjcmlwdENhbGxGcmFtZS5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNc
aW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiPgor
ICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8
L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvclxTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiPgorICAgICAgPEZpbHRlcj5Gb3J3
YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNc
SW5zcGVjdG9yQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3Bl
Y3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JDb25zb2xlQWdl
bnQuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVy
PgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGlu
Z0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgiPgorICAg
ICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0Ns
SW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGlu
c3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiPgogICAgICAgPEZpbHRlcj5G
b3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAg
LTEyMjU3LDIxICsxMjI2MywxMiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXENvbW1hbmRMaW5lQVBJTW9kdWxlLmgiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0Zp
bHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxDb25zb2xlQVBJVHlwZXMuaCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVy
PgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XENvbnNvbGVNZXNzYWdlLmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAg
ICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxET01F
ZGl0b3IuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXERPTVBhdGNoU3VwcG9y
dC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5
LmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdENhbnZh
c01vZHVsZS5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+CkBAIC0xMjI4Nyw5ICsxMjI4NCw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcSW5zcGVjdG9yQ2xpZW50LmgiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8
L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3Rv
cjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCI+CiAgICAgICA8Rmls
dGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTI0MTAsMTggKzEy
NDA0LDEyIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcUGFnZVJ1bnRp
bWVBZ2VudC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1l
bnRzLmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVk
ZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsRnJhbWUu
aCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgot
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdENhbGxTdGFjay5oIj4K
LSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5Lmgi
PgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25zb2xlQWdlbnQuaCI+Cisg
ICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdlYkRlYnVnZ2VyQWdlbnQuaCI+CiAgICAg
ICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDA0ZmZh
NDcuLmEyMTRjMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTEwNTcsNyArMTA1Nyw2IEBACiAJCTJEOUYwRTEzMTRGRjFDQkYw
MEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0Iu
aWNjICovOyB9OwogCQkyREJBREUwQjE4OEU1OTE1MDA0RDc5ODEgLyogV2ViQ29yZUNBTGF5ZXJF
eHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
QkFERTA5MTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJEQkFERTBDMTg4RTU5
MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQkFERTBBMTg4RTU5MTUwMDRENzk4MSAvKiBX
ZWJDb3JlQ0FMYXllckV4dHJhcy5tbSAqLzsgfTsKLQkJMkRGMkU5RDUxNjZFMzk3NTAwMzVCRUYy
IC8qIENvbnNvbGVBUElUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkRGMkU5RDQxNjZFMzk3NDAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJFMDg4
OEQ0MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAv
KiBKU0RPTUZvcm1EYXRhLmNwcCAqLzsgfTsKIAkJMkUwODg4RDUxMTQ4ODQ4QTAwQUY0MjY1IC8q
IEpTRE9NRm9ybURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi87IH07
CiAJCTJFMDg4OEU2MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEU1MTE0
ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCAqLzsgfTsKQEAgLTEzMzks
MTAgKzEzMzgsNiBAQAogCQk0MTY3RUJGNTEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE2N0VCRjMxMDI5NjJCQTAwM0QyNTJBIC8qIERlZmF1bHRTaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5LmNwcCAqLzsgfTsKIAkJNDE2N0VCRjYxMDI5NjJCQTAwM0QyNTJBIC8qIERl
ZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTY3RUJGNDEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuaCAqLzsgfTsKIAkJNDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRF
IC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0
aW5nUHJveHkuaCAqLzsgfTsKLQkJNDE2RTc1QkUwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENh
bGxTdGFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE2RTc1QkMwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFjay5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQxNkU3NUJGMEVERjhGRDcw
MDM2MEUxRCAvKiBTY3JpcHRDYWxsU3RhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1QkQwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENh
bGxTdGFjay5jcHAgKi87IH07Ci0JCTQxNkU3NUNCMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRD
YWxsRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxNkU3NUM5MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0MTZFNzVDQzBFREY5MEM3
MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRD
YWxsRnJhbWUuY3BwICovOyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLzsgfTsK
IAkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRDRjEzNzM0MzI2MDA3QzU3
RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTEzODIsOCArMTM3Nyw2IEBACiAJCTQxRTFC
MUQxMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0IwRkY1OTg2OTAwNTc2QjNCIC8q
IEFic3RyYWN0V29ya2VyLmggKi87IH07CiAJCTQxRTFCMUQzMEZGNTk4NjkwMDU3NkIzQiAvKiBT
aGFyZWRXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFFMUIxQ0QwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5jcHAgKi87IH07
CiAJCTQxRTFCMUQ0MEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTFCMUNFMEZGNTk4NjkwMDU3
NkIzQiAvKiBTaGFyZWRXb3JrZXIuaCAqLzsgfTsKLQkJNDFGMDYxOEUwRjVGMDY5ODAwQTA3RUFD
IC8qIENvbnNvbGVNZXNzYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuaCAq
LzsgfTsKLQkJNDFGMDYxOEYwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MThEMEY1
RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi87IH07CiAJCTQxRjA2MjE0MEY1
RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjIxMjBGNUYxOTI2MDBBMDdF
QUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oICovOyB9OwogCQk0MUYwNjIxNTBGNUYx
OTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjIxMzBGNUYxOTI2MDBBMDdF
QUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgKi87IH07CiAJCTQxRjA2NkU0MEY2
NEJDRjYwMEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2NkUyMEY2NEJDRjYwMEEwN0VBQyAvKiBT
Y3JpcHRHbG9iYWxPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTk4NCw4ICsxOTc3LDYgQEAKIAkJNTkwNUFEQzAxMzAyRjNDRTAwRjEx
NkRGIC8qIFhNTFRyZWVWaWV3ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU5MDVBREJFMTMwMkYzQ0UwMEYxMTZERiAvKiBYTUxUcmVlVmlld2VyLmgg
Ki87IH07CiAJCTU5MEUxQjQ5MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbkRh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MEUx
QjQ4MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbkRhdGEuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1OTBFMUI0QjExRTRFRjcw
MDA2OUY3ODQgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MEUxQjRBMTFFNEVGNzAwMDY5
Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwICovOyB9OwotCQk1OTEz
QTI0MTEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MTNBMjNGMTNENDlFQkEwMEY1
QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovOyB9OwotCQk1OTEzQTI0MjEzRDQ5RUJB
MDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTEzQTI0MDEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRp
ZmllcnNGYWN0b3J5LmggKi87IH07CiAJCTU5MzA5QTExMTFGNEFFNTgwMDI1MDYwMyAvKiBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTkzMDlBMTAxMUY0QUU1ODAwMjUwNjAzIC8qIERldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9jay5jcHAgKi87IH07CiAJCTU5MzA5QTEzMTFGNEFFNkEwMDI1MDYwMyAv
KiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MzA5QTEyMTFGNEFFNkEwMDI1MDYwMyAvKiBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1OTgzNjVERDEzNTVGNTU3MDAxQjE4NUQgLyogSlNQb3NpdGlvbkNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
OTgzNjVEQzEzNTVGNTNDMDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNrLmggKi87IH07CkBA
IC0zNjI5LDYgKzM2MjAsOCBAQAogCQlBNTQxNkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHVi
ZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTU0MTZGRTQxODgxMEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRv
d0VsZW1lbnQuaCAqLzsgfTsKIAkJQTU0QTgyRUMxNTIyOEQyRjAwQzcyQkE2IC8qIERPTU5vZGVQ
cml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NTRBODJFQTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCAqLzsgfTsKIAkJQTU0
QTgyRjExNTIyOERGNjAwQzcyQkE2IC8qIERPTU5vZGVQcml2YXRlLmggaW4gQ29weSBHZW5lcmF0
ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTRBODJFQTE1
MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCAqLzsgfTsKKwkJQTU2QzVCOUExODlG
MzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTZDNUI5ODE4OUYzNDU3MDA4MkQxM0MgLyogV2Vi
Q29uc29sZUFnZW50LmNwcCAqLzsgfTsKKwkJQTU2QzVCOUIxODlGMzQ1NzAwODJEMTNDIC8qIFdl
YkNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTU2QzVCOTkxODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5oICovOyB9
OwogCQlBNTczMkIwQTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3MzJCMDgxMzZBMTYx
RDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmNwcCAqLzsgfTsKIAkJQTU3MzJCMEIxMzZBMTYx
RDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNTczMkIwOTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBv
bmVudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlBNTg0MEUxQzE4N0I3NEQ1MDA4NDNCMTAgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
ODQwRTFBMTg3Qjc0RDUwMDg0M0IxMCAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUu
Y3BwICovOyB9OwpAQCAtNTIzNiw3ICs1MjI5LDYgQEAKIAkJQkNFNDQxMzMxMkY3NDhFMjAwOUI4
NEI4IC8qIFJlbmRlckNvbWJpbmVUZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTQ0MTMxMTJGNzQ4RTIwMDlCODRCOCAvKiBSZW5kZXJDb21i
aW5lVGV4dC5jcHAgKi87IH07CiAJCUJDRTQ0MTM0MTJGNzQ4RTIwMDlCODRCOCAvKiBSZW5kZXJD
b21iaW5lVGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNFNDQxMzIxMkY3NDhFMjAwOUI4NEI4IC8qIFJlbmRlckNvbWJpbmVUZXh0LmggKi87IH07
CiAJCUJDRTQ0MTM2MTJGNzQ5MEIwMDlCODRCOCAvKiBGb250V2lkdGhWYXJpYW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U0NDEzNTEyRjc0OTBC
MDA5Qjg0QjggLyogRm9udFdpZHRoVmFyaWFudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJDRTU2NDRFMTM3QTM0RDYwMDdEMjkzNCAvKiBDb25z
b2xlVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDRTU2NDREMTM3QTM0RDYwMDdEMjkzNCAvKiBDb25zb2xlVHlwZXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0U2NThGRjBFQTkyNDhBMDA3
RTQ1MzMgLyogVGhlbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRTY1OEZFMEVBOTI0OEEwMDdFNDUzMyAvKiBUaGVtZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRTY1OUE5MEVBOTI3QjkwMDdF
NDUzMyAvKiBUaGVtZVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQ0U2NTlBODBFQTkyN0I5MDA3RTQ1MzMgLyogVGhlbWVUeXBlcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRTY1OUU2MEVB
OTJGQjIwMDdFNDUzMyAvKiBUaGVtZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNFNjU5RTUwRUE5MkZCMjAwN0U0NTMzIC8qIFRoZW1lTWFjLmgg
Ki87IH07CkBAIC02MDI0LDggKzYwMTYsNiBAQAogCQlGMjkzQjI3RTU2QzExMkYzNzNGRkYyN0Ug
LyogRE5TUmVzb2x2ZVF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDNjAxMjgwNjAwNzhCQjcwRTM2N0E5NSAvKiBETlNSZXNvbHZlUXVldWUu
Y3BwICovOyB9OwogCQlGMzI1QTQwQTE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRl
cnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjMy
NUE0MDgxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50ZXJzLmNwcCAqLzsgfTsKIAkJ
RjMyNUE0MEIxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50ZXJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzI1QTQwOTE0RUUzNkZBMDA3
MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQlGMzMzNUJGODEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVj
dG9yQ29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEYzMzM1QkY2MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdl
bnQuY3BwICovOyB9OwotCQlGMzMzNUJGOTEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29u
c29sZUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGMzMzNUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi87
IH07CiAJCUYzM0YwMjgyMTIwOTQ3RjIwMEU1NzQzQSAvKiBTY3JpcHRQcm9maWxlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzM0YwMjgxMTIwOTQ3
RjIwMEU1NzQzQSAvKiBTY3JpcHRQcm9maWxlLmNwcCAqLzsgfTsKIAkJRjM0NEM3MTQxMTI1Qjgy
QzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzQ0QzcxMjExMjVCODJDMDBGMjZFRUUgLyog
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlGMzQ0Qzc1MzExMjk0RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjM0NEM3NTIxMTI5NEQ5RDAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNjA1MiwxMCArNjA0Miw2IEBACiAJCUYzODIwODk3MTQ3RDM1RjkwMDEwQkMwNiAv
KiBXb3JrZXJDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYzODIwODhGMTQ3RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJDb25zb2xlQWdl
bnQuaCAqLzsgfTsKIAkJRjM4MjA4OTgxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVB
Z2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
MzgyMDg5MDE0N0QzNUY5MDAxMEJDMDYgLyogV29ya2VyUnVudGltZUFnZW50LmNwcCAqLzsgfTsK
IAkJRjM4MjA4OTkxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM4MjA4OTExNDdEMzVG
OTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oICovOyB9OwotCQlGMzkyMjQ5QzEyNkYx
MUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QTEyNkYxMUFFMDBBOTI2RDkg
LyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgKi87IH07Ci0JCUYzOTIyNDlEMTI2RjExQUUw
MEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QjEyNkYxMUFFMDBBOTI2RDkgLyogU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovOyB9OwotCQlGMzlCRTk1QjEyNjczQkY0MDBFMEE2NzQg
LyogU2NyaXB0QXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYzOUJFOTU5MTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMu
Y3BwICovOyB9OwotCQlGMzlCRTk1QzEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzlCRTk1
QTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggKi87IH07CiAJCUYzQUJGRTBD
MTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0FCRkUwQjEzMEU5REEwMDBFN0Y3RDEg
LyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovOyB9OwogCQlGM0Q0NjE0ODExNjFENTMyMDBDQTBE
MDkgLyogSlNFcnJvckhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjNENDYxNDYxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVy
LmNwcCAqLzsgfTsKIAkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0Q0NjE0
NzExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLzsgfTsKQEAgLTc4NjIsNyAr
Nzg0OCw2IEBACiAJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBh
dGggPSBsaW5lYXJTUkdCLmljYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRCQURF
MDkxODhFNTkxNTAwNEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVDQUxheWVyRXh0cmFzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJEQkFERTBBMTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FM
YXllckV4dHJhcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdl
YkNvcmVDQUxheWVyRXh0cmFzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkyREYy
RTlENDE2NkUzOTc0MDAzNUJFRjIgLyogQ29uc29sZUFQSVR5cGVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVBUElUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01Gb3JtRGF0YS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAv
KiBKU0RPTUZvcm1EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9N
Rm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTgxNjksMTAgKzgxNTQs
NiBAQAogCQk0MTY3RUJGMzEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtlclJl
cG9zaXRvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOyBwYXRoID0gd29ya2Vycy9EZWZhdWx0U2hhcmVk
V29ya2VyUmVwb3NpdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNjdF
QkY0MTAyOTYyQkEwMDNEMjUyQSAvKiBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3Np
dG9yeS5oOyBwYXRoID0gd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyog
V29ya2VyUmVwb3J0aW5nUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V29ya2VyUmVwb3J0aW5nUHJveHkuaDsgcGF0aCA9IHdvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJv
eHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE2RTc1QkMwRURGOEZENzAwMzYw
RTFEIC8qIFNjcmlwdENhbGxTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTY3JpcHRDYWxsU3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE2RTc1
QkQwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk0MTZFNzVDOTBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZy
YW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxGcmFtZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTZFNzVDQTBFREY5MEM3MDAzNjBFMUQg
LyogU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNjcmlwdENhbGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
NzI1M0E4MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAv
KiBNZWRpYUNvbnRyb2xFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNZWRpYUNvbnRyb2xFbGVtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTdEQTRDRTEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEludGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtODIxOCw4ICs4MTk5LDYgQEAKIAkJNDFFMUIxQ0QwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJl
ZFdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTaGFyZWRX
b3JrZXIuY3BwOyBwYXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MUUxQjFDRTBGRjU5ODY5MDA1NzZCM0IgLyogU2hhcmVkV29ya2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNoYXJlZFdvcmtlci5oOyBwYXRo
ID0gd29ya2Vycy9TaGFyZWRXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDFFMUIxQ0YwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBuYW1lID0gU2hhcmVkV29ya2VyLmlkbDsgcGF0aCA9IHdvcmtlcnMvU2hhcmVkV29ya2Vy
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFGMDYxOEMwRjVGMDY5ODAwQTA3
RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENvbnNvbGVNZXNzYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxRjA2MThE
MEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDb25zb2xlTWVzc2FnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxRjA2MjEyMEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFz
ZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckRh
dGFiYXNlUmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFGMDYyMTMw
RjVGMTkyNjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRjA2NkUyMEY2NEJDRjYwMEEwN0VB
QyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU2NyaXB0R2xvYmFsT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04
ODkyLDggKzg4NzEsNiBAQAogCQk1OTA1QURCRTEzMDJGM0NFMDBGMTE2REYgLyogWE1MVHJlZVZp
ZXdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBYTUxUcmVlVmlld2VyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MEUxQjQ4MTFFNEVGNEIwMDY5Rjc4NCAv
KiBEZXZpY2VPcmllbnRhdGlvbkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRGV2aWNlT3JpZW50YXRpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTU5MEUxQjRBMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTkx
M0EyM0YxM0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1OTEzQTI0MDEzRDQ5RUJBMDBGNUIwNUMgLyogSWRl
bnRpZmllcnNGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElkZW50
aWZpZXJzRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTMwOUExMDEx
RjRBRTU4MDAyNTA2MDMgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9j
ay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MzA5QTEyMTFGNEFFNkEwMDI1
MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTU5NThGMUNCMTM0MzkxN0MwMDgwQjMxRiAvKiBYTUxWaWV3ZXIu
Y3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBhdGggPSBYTUxWaWV3ZXIuY3NzOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTA1OTMsNiArMTA1NzAsOCBAQAogCQlBNTQxNkZFMzE4ODEw
RUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBZb3VUdWJlRW1iZWRTaGFkb3dFbGVtZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU0MTZGRTQxODgxMEVGODAwMDlGQzVGIC8q
IFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBNTRBODJFQTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTm9kZVByaXZhdGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU2QzVCOTgxODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNv
bGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb25z
b2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTZDNUI5OTE4OUYz
NDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYkNvbnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZUNvbXBvbmVudHMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBNTczMkIwOTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNv
bXBvbmVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZUNvbXBvbmVu
dHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU4NDBFMUExODdCNzRENTAwODQz
QjEwIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI0MzgsNyArMTI0MTcsNiBAQAogCQlC
Q0U0NDEzMTEyRjc0OEUyMDA5Qjg0QjggLyogUmVuZGVyQ29tYmluZVRleHQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyQ29tYmluZVRleHQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U0NDEzMjEyRjc0OEUyMDA5Qjg0QjggLyogUmVu
ZGVyQ29tYmluZVRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVy
Q29tYmluZVRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFNDQxMzUxMkY3
NDkwQjAwOUI4NEI4IC8qIEZvbnRXaWR0aFZhcmlhbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRm9udFdpZHRoVmFyaWFudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlCQ0U1NjQ0RDEzN0EzNEQ2MDA3RDI5MzQgLyogQ29uc29sZVR5cGVzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQ0U2NThGRTBFQTkyNDhBMDA3RTQ1MzMgLyogVGhlbWUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQkNFNjU5QTgwRUE5MjdCOTAwN0U0NTMzIC8qIFRoZW1lVHlwZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWVUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQ0U2NTlFNTBFQTkyRkIyMDA3RTQ1MzMgLyogVGhlbWVNYWMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWVNYWMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTEzMzQwLDggKzEzMzE4LDYgQEAKIAkJRjEyMTcxRjQxNkE4QkM2MzAw
MDA1M0NBIC8qIFdlYlZUVEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViVlRURWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzI1QTQw
ODE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQ291bnRlcnMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGMzI1QTQwOTE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9y
Q291bnRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ291
bnRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjMzMzVCRjYxMkUwN0RDMzAw
RDMzMDExIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlGMzMzNUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29u
c29sZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckNv
bnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzNGMDI4MTEyMDk0
N0YyMDBFNTc0M0EgLyogU2NyaXB0UHJvZmlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTY3JpcHRQcm9maWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjM0NEM3MTIxMTI1QjgyQzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzNDRDNzUyMTEyOTREOUQwMEYy
NkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzY4LDEwICsxMzM0NCw2IEBACiAJCUYzODIwODhGMTQ3
RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJDb25zb2xlQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV29ya2VyQ29uc29sZUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUYzODIwODkwMTQ3RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJSdW50aW1lQWdlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV29ya2VyUnVudGltZUFn
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM4MjA4OTExNDdEMzVGOTAw
MTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXb3JrZXJSdW50aW1lQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJRjM5MjI0OUExMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbFN0YWNrRmFj
dG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUYzOTIyNDlCMTI2RjExQUUw
MEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJRjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRBcmd1bWVudHMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzlCRTk1QTEyNjczQkY0MDBFMEE2
NzQgLyogU2NyaXB0QXJndW1lbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNjcmlwdEFyZ3VtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGM0FCRkUw
QjEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbnN0cnVtZW50aW5nQWdlbnRzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUYzRDQ2MTQ2MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFuZGxl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Vycm9ySGFuZGxl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRDQ2MTQ3MTE2MUQ1MzIwMENB
MEQwOSAvKiBKU0Vycm9ySGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0Vycm9ySGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ3ODcs
MTUgKzE0NzU5LDEwIEBACiAJCQkJQTU4NEZFMjkxODYzODcwRjAwODQzQjEwIC8qIENvbW1hbmRM
aW5lQVBJTW9kdWxlLmNwcCAqLywKIAkJCQlBNTg0RkUyQTE4NjM4NzBGMDA4NDNCMTAgLyogQ29t
bWFuZExpbmVBUElNb2R1bGUuaCAqLywKIAkJCQlBNTg0RkUyNzE4NjM3RENBMDA4NDNCMTAgLyog
Q29tbWFuZExpbmVBUElNb2R1bGVTb3VyY2UuanMgKi8sCi0JCQkJMkRGMkU5RDQxNjZFMzk3NDAw
MzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oICovLAotCQkJCTQxRjA2MThEMEY1RjA2OTgwMEEw
N0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi8sCi0JCQkJNDFGMDYxOEMwRjVGMDY5ODAwQTA3
RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggKi8sCiAJCQkJN0FBQkEyNTcxNEJDNjEzMzAwQUE5QTEx
IC8qIERPTUVkaXRvci5jcHAgKi8sCiAJCQkJN0FBQkEyNTgxNEJDNjEzMzAwQUE5QTExIC8qIERP
TUVkaXRvci5oICovLAogCQkJCTdBNTQ4ODE2MTRFNDMyQTEwMDZBRTA1QSAvKiBET01QYXRjaFN1
cHBvcnQuY3BwICovLAogCQkJCTdBNTQ4ODE1MTRFNDMyQTEwMDZBRTA1QSAvKiBET01QYXRjaFN1
cHBvcnQuaCAqLywKLQkJCQk1OTEzQTIzRjEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNG
YWN0b3J5LmNwcCAqLywKLQkJCQk1OTEzQTI0MDEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmll
cnNGYWN0b3J5LmggKi8sCiAJCQkJQUE3MzE4M0MxNTkyNTVCOTAwQTkzRTZFIC8qIEluamVjdGVk
U2NyaXB0Q2FudmFzTW9kdWxlLmNwcCAqLywKIAkJCQlBQTczMTgzRDE1OTI1NUI5MDBBOTNFNkUg
LyogSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuaCAqLywKIAkJCQlBQTkwMzBGRTE1N0UxNkEw
MDAyNzYyNDcgLyogSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3VyY2UuanMgKi8sCkBAIC0x
NDgwNiw4ICsxNDc3Myw2IEBACiAJCQkJQUFENzY2RUExNTdFNTAyRjAwRTg1NDIzIC8qIEluc3Bl
Y3RvckNhbnZhc0luc3RydW1lbnRhdGlvbi5oICovLAogCQkJCTdBMUYyQjUxMTI2QzYxQjIwMDA2
QTdFNiAvKiBJbnNwZWN0b3JDbGllbnQuY3BwICovLAogCQkJCTFDODFCOTU4MEU5NzMzMDgwMDI2
NkUwNyAvKiBJbnNwZWN0b3JDbGllbnQuaCAqLywKLQkJCQlGMzMzNUJGNjEyRTA3REMzMDBEMzMw
MTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCAqLywKLQkJCQlGMzMzNUJGNzEyRTA3REMz
MDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8sCiAJCQkJRjNGNUNGMTAxMkVE
ODFBODAwODRDNTY5IC8qIEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCAqLywKIAkJ
CQkxQzgxQjk1NzBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi8s
CiAJCQkJMUM4MUI5NTYwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuaCAq
LywKQEAgLTE0ODg2LDE2ICsxNDg1MSwxMiBAQAogCQkJCUE1ODRGRTJFMTg2NENCODQwMDg0M0Ix
MCAvKiBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggKi8sCiAJCQkJRjM4MjA4OEMxNDdEMzVG
OTAwMTBCQzA2IC8qIFBhZ2VSdW50aW1lQWdlbnQuY3BwICovLAogCQkJCUYzODIwODhEMTQ3RDM1
RjkwMDEwQkMwNiAvKiBQYWdlUnVudGltZUFnZW50LmggKi8sCi0JCQkJRjM5QkU5NTkxMjY3M0JG
NDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8sCi0JCQkJRjM5QkU5NUExMjY3M0JG
NDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5oICovLAotCQkJCTQxNkU3NUNBMEVERjkwQzcw
MDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovLAotCQkJCTQxNkU3NUM5MEVERjkwQzcw
MDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLywKLQkJCQk0MTZFNzVCRDBFREY4RkQ3MDAz
NjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLywKLQkJCQk0MTZFNzVCQzBFREY4RkQ3MDAz
NjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmggKi8sCiAJCQkJOUZBMzdFRUYxMTcyRkQ0MTAwQzRD
RDU1IC8qIFNjcmlwdFByb2ZpbGUuaWRsICovLAogCQkJCTlGQTM3RUYwMTE3MkZENDEwMEM0Q0Q1
NSAvKiBTY3JpcHRQcm9maWxlTm9kZS5pZGwgKi8sCiAJCQkJNzU1M0NGRTcxMDhGNDczRjAwRUEy
ODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgKi8sCiAJCQkJNzU1M0NGRTYxMDhGNDcz
RjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oICovLAorCQkJCUE1NkM1Qjk4MTg5
RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuY3BwICovLAorCQkJCUE1NkM1Qjk5MTg5
RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlBNUU2MTY3MTE4OTQ1
ODFGMDA5QURGNTAgLyogV2ViRGVidWdnZXJBZ2VudC5jcHAgKi8sCiAJCQkJQTVFNjE2NzIxODk0
NTgxRjAwOUFERjUwIC8qIFdlYkRlYnVnZ2VyQWdlbnQuaCAqLywKIAkJCQlGMzgyMDg4RTE0N0Qz
NUY5MDAxMEJDMDYgLyogV29ya2VyQ29uc29sZUFnZW50LmNwcCAqLywKQEAgLTE2MDQ3LDcgKzE2
MDA4LDYgQEAKIAkJCQlCQzBCMzZBMTBDRDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5jcHAgKi8s
CiAJCQkJQkMwQjM2QTIwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUuaCAqLywKIAkJCQlCQzBC
MzZBMzBDRDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5pZGwgKi8sCi0JCQkJQkNFNTY0NEQxMzdB
MzRENjAwN0QyOTM0IC8qIENvbnNvbGVUeXBlcy5oICovLAogCQkJCTk3QzQ3MUQ5MTJGOTI1QkMw
MDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuY3BwICovLAogCQkJCTk3QzQ3MURBMTJG
OTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCAqLywKIAkJCQkwNjVBRDRG
MjBCMEMyRURBMDA1QTJCMUQgLyogQ29udGV4dE1lbnVDbGllbnQuaCAqLywKQEAgLTIwMTY5LDgg
KzIwMTI5LDYgQEAKIAkJCQlCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0
aW9uLmggKi8sCiAJCQkJNDFGMUQyMUUwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENhY2hlZEZy
YW1lRGF0YS5jcHAgKi8sCiAJCQkJNDFGMUQyMUQwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENh
Y2hlZEZyYW1lRGF0YS5oICovLAotCQkJCUYzOTIyNDlBMTI2RjExQUUwMEE5MjZEOSAvKiBTY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmNwcCAqLywKLQkJCQlGMzkyMjQ5QjEyNkYxMUFFMDBBOTI2RDkg
LyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovLAogCQkJCTkzQjcwRDUzMDlFQjBDN0MwMDlE
ODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCAqLywKIAkJCQk5M0I3MEQ1NDA5RUIwQzdDMDA5
RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5oICovLAogCQkJCUE4M0UxQzcyMEU0OTA0MkIwMDE0
MEI5QyAvKiBTY3JpcHRDb250cm9sbGVyTWFjLm1tICovLApAQCAtMjI4NzEsMTAgKzIyODI5LDcg
QEAKIAkJCQlGRDMxNjA4RjEyQjAyNkY3MDBDMUEzNTkgLyogQ29uZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNjVDOTdBRjMwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkMwQjM2QTUwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUuaCBpbiBIZWFkZXJzICov
LAotCQkJCTJERjJFOUQ1MTY2RTM5NzUwMDM1QkVGMiAvKiBDb25zb2xlQVBJVHlwZXMuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTQxRjA2MThFMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2Fn
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDczQUI0QjMxN0Y4QkFDQTAwNkUwRDZGIC8qIEFsbFZp
ZGVvQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0U1NjQ0RTEzN0EzNEQ2MDA3
RDI5MzQgLyogQ29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIxQzA5NzdE
M0MwMDA1ODI2RDkgLyogQ29udGFpbmVyTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBMTQ3
MDgxMTEwMkIxNTAwRUVDMEYzIC8qIENvbnRhaW5lck5vZGVBbGdvcml0aG1zLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwNzhFMDkxRDE3RDE0RDFDMDA0MjBBQTEgLyogTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKQEAgLTIzNzg4LDYgKzIzNzQzLDcgQEAK
IAkJCQk5MzMwOURFNjA5OUU2NDkyMDA1NkU1ODEgLyogSFRNTEludGVyY2hhbmdlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBODEzNjlFNDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTEtleWdlbkVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2OUUyMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1M
TGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTZDNUI5QjE4OUYzNDU3MDA4MkQx
M0MgLyogV2ViQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODEzNjlFMDA5NzM3
NEY2MDBENzQ0NjMgLyogSFRNTExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
RUE3OUY2MEExOTE2REYwMEE4RUY1RiAvKiBIVE1MTElFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBODcxREMyMDBBMTUyMDU3MDBCMTJBNjggLyogSFRNTExpbmtFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKQEAgLTIzODcyLDcgKzIzODI4LDYgQEAKIAkJCQkwNzhFMDkyMTE3RDE0RDFDMDA0
MjBBQTEgLyogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcy
NzdFNTExN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1FdmVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUE3MUQ1N0MwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50aWZpZXJSZXAuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTU5MTNBMjQyMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0Zh
Y3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUM1MEVGODZENDcwMDlEMENBRiAvKiBJ
ZGVudGl0eVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4NTYx
ODJDMEY4MzAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCUE1ODRGRTI2MTg2MzdEQUIwMDg0M0IxMCAvKiBDb21tYW5kTGluZUFQSU1vZHVsZVNv
dXJjZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzkyNSw3ICsyMzg4MCw2IEBACiAJCQkJQUFENzY2
RUMxNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3RvckNhbnZhc0FnZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBQUQ3NjZFRDE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yQ2FudmFzSW5zdHJ1
bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzgxQjk1QzBFOTczMzA4MDAyNjZFMDcg
LyogSW5zcGVjdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzMzNUJGOTEyRTA3REMz
MDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlG
M0Y1Q0YxMTEyRUQ4MUE4MDA4NEM1NjkgLyogSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUM4MUI5NUEwRTk3MzMwODAwMjY2RTA3IC8qIEluc3Bl
Y3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzMjVBNDBCMTRFRTM2RkEwMDcz
MjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTExMCwxMSAr
MjUwNjQsNyBAQAogCQkJCTlCRDBCRjkzMTJBNDJCRjUwMDcyRkQ0MyAvKiBTY29wZWRFdmVudFF1
ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VDMDFCRTBDMjc0REFDMDA5RjRFQzkgLyogU2Ny
ZWVuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODREODJDMTExRDM0NzQ4MDA5NzI5OTAgLyogU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzlCRTk1QzEyNjcz
QkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUYx
RDIxRjBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk0MTZFNzVDQjBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmgg
aW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNzVCRTBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2Fs
bFN0YWNrLmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzkyMjQ5RDEyNkYxMUFFMDBBOTI2RDkgLyog
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNCNzBENzAwOUVC
MEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5
OThBRUQyMTNGQjIyNEQwMDkwQjFBQSAvKiBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTA4QTQ4NDc4MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2NDc4LDcgKzI2NDI4LDYgQEAKIAkJCQlGRDMxNjA4
RTEyQjAyNkY3MDBDMUEzNTkgLyogQ29uZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTQ2RkU2
RjE4NDQyMEFBMDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDMEIzNkE0MENEM0M2N0MwMEFDN0VCNSAvKiBDb25zb2xlLmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCTQxRjA2MThGMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBODE4NzIxRjA5NzdEM0MwMDA1ODI2RDkgLyogQ29udGFp
bmVyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0E3OENENTE1MzJCQTYyMDA2QzIxRTQg
LyogQ29udGFpbmVyTm9kZUFsZ29yaXRobXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1RUI5
ODAwRTgyMDcyNTAwQjI1OTY1IC8qIENvbnRlbnREYXRhLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MjcyMTQsNyArMjcxNjMsNiBAQAogCQkJCUM1ODVBNjYyMTFENEZBQzUwMDRDM0U0QiAvKiBJREJC
aW5kaW5nVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNzFENTdCMEYzMzgxOTAw
MEY5Q0U0RSAvKiBJZGVudGlmaWVyUmVwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MDU4NTMx
MTdGREU2RDkwMDVGMkJDQiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50LmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTU5MTNBMjQxMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3Rvcnku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3QTQxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFy
Z2V0T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3QTYxNUIwMDYzRjAwMjc2
RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Mjc1MzU2RjBCMDUzODE0MDAyQ0U2NEYgLyogSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0y
NzI1OCw3ICsyNzIwNiw2IEBACiAJCQkJRTFGODBCOEExODMxNzJBMjAwNzg4NUMzIC8qIEpTQ3J5
cHRvS2V5UGFpckN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBQUQ3NjZFQjE1N0U1MDJG
MDBFODU0MjMgLyogSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0ExRjJCNTIxMjZDNjFCMjAwMDZBN0U2IC8qIEluc3BlY3RvckNsaWVudC5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQlGMzMzNUJGODEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFDODFCOTVCMEU5NzMzMDgwMDI2NkUwNyAvKiBJ
bnNwZWN0b3JDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUYzMjVBNDBBMTRFRTM2
RkEwMDczMjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4
MkFCMTc0MzEyNEI5OUVDMDBDNTA2OUQgLyogSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC0yODQyMiwxMSArMjgzNjksNyBAQAogCQkJCTlCRDBCRjk0MTJBNDJCRjUwMDcy
RkQ0MyAvKiBTY29wZWRFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUMwMUJE
MEMyNzREQUMwMDlGNEVDOSAvKiBTY3JlZW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg0RDgy
QzIxMUQzNDc0ODAwOTcyOTkwIC8qIFNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQlGMzlCRTk1QjEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRjFEMjIwMEVGMzVDMkEwMERBODc1MyAvKiBTY3Jp
cHRDYWNoZWRGcmFtZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE2RTc1Q0MwRURGOTBD
NzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTZF
NzVCRjBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUYzOTIyNDlDMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzQjcwRDZGMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3Jp
cHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4M0UxQzc0MEU0OTA0MkMwMDE0
MEI5QyAvKiBTY3JpcHRDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk5OEFF
RDExM0ZCMjI0RDAwOTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTI4NTk5LDYgKzI4NTQyLDcgQEAKIAkJCQkzMUE3OTVDODE4ODhCQ0I1
MDAzODJGOTAgLyogQU5HTEVJbnN0YW5jZWRBcnJheXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTU4NDBFMjQxODdCOEFDMjAwODQzQjEwIC8qIFBhZ2VJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThDNEE3RkUwOUQ1NjMyNzAwMDNBQzhEIC8qIFN0eWxlZEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTU2QzVCOUExODlGMzQ1NzAwODJEMTNDIC8qIFdl
YkNvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVFQjhCODBFODIwMUJEMDBC
MjU5NjUgLyogU3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUFBNEMzQTc2MEIyQjE2NzkwMDIzMzRBMiAvKiBJbmxpbmVTdHlsZVNoZWV0T3duZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE5QUUwNjMxNDJENkIyNDAwNjU2M0ExIC8qIFN0eWxl
RmlsdGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcAppbmRleCBlMTk1ZGRmLi5hYjU4ZDRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnRleHRD
dXN0b20uY3BwCkBAIC03Myw3ICs3Myw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
SlNBdWRpb0NvbnRleHRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNBdWRpb0NvbnRleHQoCiAjaWYg
RU5BQkxFKExFR0FDWV9XRUJfQVVESU8pCiAgICAgICAgIC8vIENvbnN0cnVjdG9yIGZvciBvZmZs
aW5lIChyZW5kZXItdGFyZ2V0KSBBdWRpb0NvbnRleHQgd2hpY2ggcmVuZGVycyBpbnRvIGFuIEF1
ZGlvQnVmZmVyLgogICAgICAgICAvLyBuZXcgQXVkaW9Db250ZXh0KGluIHVuc2lnbmVkIGxvbmcg
bnVtYmVyT2ZDaGFubmVscywgaW4gdW5zaWduZWQgbG9uZyBudW1iZXJPZkZyYW1lcywgaW4gZmxv
YXQgc2FtcGxlUmF0ZSk7Ci0gICAgICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwKKyAgICAgICAgZG9jdW1lbnQuYWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywKICAg
ICAgICAgICAgICJEZXByZWNhdGVkIEF1ZGlvQ29udGV4dCBjb25zdHJ1Y3RvcjogdXNlIE9mZmxp
bmVBdWRpb0NvbnRleHQgaW5zdGVhZCIpOwogCiAgICAgICAgIGlmIChleGVjLT5hcmd1bWVudENv
dW50KCkgPCAzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5k
aW5nc0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NB
bGxJbk9uZS5jcHAKaW5kZXggMDQyOGU4My4uNzJlYzljZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0xNDMsNyArMTQzLDYg
QEAKICNpbmNsdWRlICJQYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIlNjaGVk
dWxlZEFjdGlvbi5jcHAiCiAjaW5jbHVkZSAiU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCIKICNpbmNsdWRlICJTY3JpcHRDb250
cm9sbGVyLmNwcCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5jcHAiCiAjaW5jbHVkZSAiU2Ny
aXB0U3RhdGUuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlND
dXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlND
dXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCmluZGV4IGYxYjYzZjguLjRjMTBlMDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZl
ci5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgU3RyaW5nIEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjps
b29rdXBOYW1lc3BhY2VVUkkoY29uc3QgU3RyaW5nJiBwcmVmaXgpCiAgICAgICAgIGlmIChjYWxs
VHlwZSA9PSBDYWxsVHlwZU5vbmUpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiA8aHR0cDovL3dl
YmtpdC5vcmcvYi8xMTQzMTI+IEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3Bh
Y2VVUkkgQ29uc29sZSBNZXNzYWdlIHNob3VsZCBpbmNsdWRlIExpbmUsIENvbHVtbiwgYW5kIFNv
dXJjZVVSTAogICAgICAgICAgICAgaWYgKFBhZ2VDb25zb2xlKiBjb25zb2xlID0gbV9nbG9iYWxP
YmplY3QtPmltcGwoKS5wYWdlQ29uc29sZSgpKQotICAgICAgICAgICAgICAgIGNvbnNvbGUtPmFk
ZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlhQYXRoTlNSZXNv
bHZlciBkb2VzIG5vdCBoYXZlIGEgbG9va3VwTmFtZXNwYWNlVVJJIG1ldGhvZC4iKTsKKyAgICAg
ICAgICAgICAgICBjb25zb2xlLT5hZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIlhQYXRoTlNSZXNvbHZlciBkb2VzIG5vdCBoYXZl
IGEgbG9va3VwTmFtZXNwYWNlVVJJIG1ldGhvZC4iKSk7CiAgICAgICAgICAgICByZXR1cm4gU3Ry
aW5nKCk7CiAgICAgICAgIH0KICAgICAgICAgZnVuY3Rpb24gPSBtX2N1c3RvbVJlc29sdmVyLmdl
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5n
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKaW5kZXgg
NTgyMjFkMC4uNTYzMzg5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01CaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJp
bmRpbmcuY3BwCkBAIC0zNCw4ICszNCw4IEBACiAjaW5jbHVkZSAiSlNET01XaW5kb3dDdXN0b20u
aCIKICNpbmNsdWRlICJKU0V4Y2VwdGlvbkJhc2UuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdp
bi5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+Cisj
aW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDxp
bnRlcnByZXRlci9JbnRlcnByZXRlci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvRGF0ZUluc3RhbmNl
Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgpAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1
ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7Cit1c2luZyBuYW1l
c3BhY2UgSW5zcGVjdG9yOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAppbmRleCAxOWE3
ODAwLi5jMTViY2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1
YnRsZUNyeXB0b0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNT
dWJ0bGVDcnlwdG9DdXN0b20uY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAgSlNWYWx1ZSBKU1N1YnRs
ZUNyeXB0bzo6ZW5jcnlwdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5
cGVFcnJvcihleGVjKTsKIAogICAgIGlmICgha2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VFbmNy
eXB0KSkgewotICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNs
dWRlICdlbmNyeXB0JyIpOworICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVy
YWwoIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ2VuY3J5cHQnIikpOwogICAgICAgICBzZXRE
T01FeGNlcHRpb24oZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKICAgICB9CkBAIC0yMDIsNyArMjAyLDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNy
eXB0bzo6ZGVjcnlwdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVF
cnJvcihleGVjKTsKIAogICAgIGlmICgha2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VEZWNyeXB0
KSkgewotICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRl
ICdkZWNyeXB0JyIpOworICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwo
IktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ2RlY3J5cHQnIikpOwogICAgICAgICBzZXRET01F
eGNlcHRpb24oZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKICAgICB9CkBAIC0yNTMsNyArMjUzLDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0
bzo6c2lnbihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihl
eGVjKTsKIAogICAgIGlmICgha2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VTaWduKSkgewotICAg
ICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICdzaWduJyIp
OworICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktleSB1c2FnZXMg
ZG8gbm90IGluY2x1ZGUgJ3NpZ24nIikpOwogICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywg
Tk9UX1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICB9
CkBAIC0zMDQsNyArMzA0LDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6dmVyaWZ5KEV4ZWNT
dGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAg
aWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZVZlcmlmeSkpIHsKLSAgICAgICAgbV9pbXBs
LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCAiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAndmVyaWZ5JyIpOworICAgICAg
ICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpT
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktleSB1c2FnZXMgZG8gbm90IGlu
Y2x1ZGUgJ3ZlcmlmeSciKSk7CiAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBOT1RfU1VQ
UE9SVEVEX0VSUik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0KQEAgLTYz
OSw3ICs2MzksNyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjp3cmFwS2V5KEV4ZWNTdGF0ZSog
ZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCF3
cmFwcGluZ0tleS0+YWxsb3dzKENyeXB0b0tleVVzYWdlV3JhcEtleSkpIHsKLSAgICAgICAgbV9p
bXBsLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAnd3JhcEtleSciKTsKKyAg
ICAgICAgbV9pbXBsLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJLZXkgdXNhZ2VzIGRvIG5v
dCBpbmNsdWRlICd3cmFwS2V5JyIpKTsKICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIE5P
VF9TVVBQT1JURURfRVJSKTsKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgfQpA
QCAtNzE4LDcgKzcxOCw3IEBAIEpTVmFsdWUgSlNTdWJ0bGVDcnlwdG86OnVud3JhcEtleShFeGVj
U3RhdGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjKTsKIAogICAg
IGlmICghdW53cmFwcGluZ0tleS0+YWxsb3dzKENyeXB0b0tleVVzYWdlVW53cmFwS2V5KSkgewot
ICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd1bndy
YXBLZXknIik7CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5
IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAndW53cmFwS2V5JyIpKTsKICAgICAgICAgc2V0RE9NRXhj
ZXB0aW9uKGV4ZWMsIE5PVF9TVVBQT1JURURfRVJSKTsKICAgICAgICAgcmV0dXJuIGpzVW5kZWZp
bmVkKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyLmNwcAppbmRleCBiZDU4YjgyLi5kYWRlYjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzgsNyArMzgsNiBAQAogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQbHVnaW5W
aWV3LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291
cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5oIgogI2luY2x1
ZGUgIlNldHRpbmdzLmgiCkBAIC01MCw2ICs0OSw3IEBACiAjaW5jbHVkZSA8YmluZGluZ3MvU2Ny
aXB0VmFsdWUuaD4KICNpbmNsdWRlIDxkZWJ1Z2dlci9EZWJ1Z2dlci5oPgogI2luY2x1ZGUgPGhl
YXAvU3Ryb25nSW5saW5lcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2su
aD4KICNpbmNsdWRlIDxydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaD4KICNpbmNsdWRlIDxy
dW50aW1lL0pTTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KQEAgLTQ4Miw3ICs0
ODIsNyBAQCBib29sIFNjcmlwdENvbnRyb2xsZXI6OmNhbkV4ZWN1dGVTY3JpcHRzKFJlYXNvbkZv
ckNhbGxpbmdDYW5FeGVjdXRlU2NyaXB0cyByZWFzbwogICAgIGlmIChtX2ZyYW1lLmRvY3VtZW50
KCkgJiYgbV9mcmFtZS5kb2N1bWVudCgpLT5pc1NhbmRib3hlZChTYW5kYm94U2NyaXB0cykpIHsK
ICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBj
b25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KICAgICAgICAgaWYgKHJlYXNvbiA9PSBBYm91dFRvRXhl
Y3V0ZVNjcmlwdCkKLSAgICAgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQg
c2NyaXB0IGV4ZWN1dGlvbiBpbiAnIiArIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5n
Q2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIHRoZSBkb2N1bWVudCdzIGZy
YW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5v
dCBzZXQuIik7CisgICAgICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQmxvY2tl
ZCBzY3JpcHQgZXhlY3V0aW9uIGluICciICsgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5zdHJp
bmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgdGhlIGRvY3VtZW50J3Mg
ZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMg
bm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAxY2U1
NDRhLi5jNDc0ZGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzAzNiw5ICszMDM2LDkgQEAgc3ViIEdlbmVyYXRlQ2Fs
bFdpdGgKICAgICAgICAgcHVzaChAY2FsbFdpdGhBcmdzLCAic2NyaXB0Q29udGV4dCIpOwogICAg
IH0KICAgICBpZiAoJGZ1bmN0aW9uIGFuZCAkY29kZUdlbmVyYXRvci0+RXh0ZW5kZWRBdHRyaWJ1
dGVDb250YWlucygkY2FsbFdpdGgsICJTY3JpcHRBcmd1bWVudHMiKSkgewotICAgICAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICIgICAgUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gc2NyaXB0QXJndW1l
bnRzKGNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhleGVjLCAiIC4gQHskZnVuY3Rpb24tPnBhcmFtZXRl
cnN9IC4gIikpO1xuIik7Ci0gICAgICAgICRpbXBsSW5jbHVkZXN7IlNjcmlwdEFyZ3VtZW50cy5o
In0gPSAxOwotICAgICAgICAkaW1wbEluY2x1ZGVzeyJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmgi
fSA9IDE7CisgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSZWZQdHI8SW5zcGVjdG9y
OjpTY3JpcHRBcmd1bWVudHM+IHNjcmlwdEFyZ3VtZW50cyhJbnNwZWN0b3I6OmNyZWF0ZVNjcmlw
dEFyZ3VtZW50cyhleGVjLCAiIC4gQHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9IC4gIikpO1xuIik7
CisgICAgICAgICRpbXBsSW5jbHVkZXN7IjxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+In0g
PSAxOworICAgICAgICAkaW1wbEluY2x1ZGVzeyI8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuaD4ifSA9IDE7CiAgICAgICAgIHB1c2goQGNhbGxXaXRoQXJncywgInNjcmlwdEFyZ3Vt
ZW50cy5yZWxlYXNlKCkiKTsKICAgICB9CiAgICAgcmV0dXJuIEBjYWxsV2l0aEFyZ3M7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2Jq
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmou
Y3BwCmluZGV4IDI4ZjUyNzguLjc3OTJiNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC00NCwxNCArNDQsMTQg
QEAKICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5j
bHVkZSAiU1ZHU3RhdGljUHJvcGVydHlUZWFyT2ZmLmgiCi0jaW5jbHVkZSAiU2NyaXB0QXJndW1l
bnRzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNj
cmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNs
dWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRlc3RPYmouaCIKICNpbmNsdWRlICJVUkwuaCIK
ICNpbmNsdWRlICJib29sLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5o
PgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CiAjaW5jbHVk
ZSA8cnVudGltZS9FcnJvci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNBcnJheS5oPgogI2luY2x1
ZGUgPHJ1bnRpbWUvSlNTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggODM3
ZDBhMi4uMTc0MmU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTExNDg4LDcgKzEx
NDg4LDcgQEAgdm9pZCBDU1NQYXJzZXI6OmxvZ0Vycm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
aW50IGxpbmVOdW1iZXIpCiB7CiAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzEx
NDMxMz4gQ1NTIHBhcnNlciBjb25zb2xlIG1lc3NhZ2UgZXJyb3JzIHNob3VsZCBpbmNsdWRlIGNv
bHVtbiBudW1iZXJzLgogICAgIFBhZ2VDb25zb2xlJiBjb25zb2xlID0gbV9zdHlsZVNoZWV0LT5z
aW5nbGVPd25lckRvY3VtZW50KCktPnBhZ2UoKS0+Y29uc29sZSgpOwotICAgIGNvbnNvbGUuYWRk
TWVzc2FnZShDU1NNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBt
X3N0eWxlU2hlZXQtPmJhc2VVUkwoKS5zdHJpbmcoKSwgbGluZU51bWJlciArIDEsIDApOworICAg
IGNvbnNvbGUuYWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpDU1MsIE1lc3NhZ2VMZXZlbDo6V2Fy
bmluZywgbWVzc2FnZSwgbV9zdHlsZVNoZWV0LT5iYXNlVVJMKCkuc3RyaW5nKCksIGxpbmVOdW1i
ZXIgKyAxLCAwKTsKIH0KIAogUGFzc1JlZlB0cjxTdHlsZVJ1bGVLZXlmcmFtZXM+IENTU1BhcnNl
cjo6Y3JlYXRlS2V5ZnJhbWVzUnVsZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8VmVj
dG9yPFJlZlB0cjxTdHlsZUtleWZyYW1lPj4+IHBvcEtleWZyYW1lcykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
TGlzdC5jcHAKaW5kZXggMjBmOTI4ZC4uM2NhMTFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5j
cHAKQEAgLTMxMCw3ICszMTAsNyBAQCBzdGF0aWMgdm9pZCBhZGRSZXNvbHV0aW9uV2FybmluZ01l
c3NhZ2VUb0NvbnNvbGUoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbgogCiAgICAgbWVz
c2FnZS5hcHBlbmQoc2VyaWFsaXplZEV4cHJlc3Npb24pOwogCi0gICAgZG9jdW1lbnQtPmFkZENv
bnNvbGVNZXNzYWdlKENTU01lc3NhZ2VTb3VyY2UsIERlYnVnTWVzc2FnZUxldmVsLCBtZXNzYWdl
KTsKKyAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6Q1NTLCBN
ZXNzYWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdlKTsKIH0KIAogdm9pZCByZXBvcnRNZWRpYVF1ZXJ5
V2FybmluZ0lmTmVlZGVkKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgTWVkaWFRdWVyeVNldCog
bWVkaWFRdWVyeVNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDJhZTE2NWYuLmRmMjhi
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjAsOSArNjAsNiBAQAogI2luY2x1ZGUg
IkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRl
ICJGcmFtZVZpZXcuaCIKLSNpbmNsdWRlICJIYXNoQ2hhbmdlRXZlbnQuaCIKLSNpbmNsdWRlICJI
aXN0b2dyYW1TdXBwb3J0LmgiCi0jaW5jbHVkZSAiSGlzdG9yeS5oIgogI2luY2x1ZGUgIkhUTUxB
bGxDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MQmFzZUVsZW1lbnQuaCIKQEAgLTg2LDYgKzgzLDkgQEAKICNpbmNsdWRlICJIVE1MU3R5
bGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRpdGxlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
VFBQYXJzZXJzLmgiCisjaW5jbHVkZSAiSGFzaENoYW5nZUV2ZW50LmgiCisjaW5jbHVkZSAiSGlz
dG9ncmFtU3VwcG9ydC5oIgorI2luY2x1ZGUgIkhpc3RvcnkuaCIKICNpbmNsdWRlICJIaXRUZXN0
UmVzdWx0LmgiCiAjaW5jbHVkZSAiSWNvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJJbWFnZUxv
YWRlci5oIgpAQCAtMTIyLDcgKzEyMiw2IEBACiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oIgogI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2NvcGVkRXZl
bnRRdWV1ZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlw
dENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRSdW5uZXIuaCIKICNpbmNsdWRlICJTY3Jp
cHRTb3VyY2VDb2RlLmgiCkBAIC0xNDksNiArMTQ4LDcgQEAKICNpbmNsdWRlICJYUGF0aE5TUmVz
b2x2ZXIuaCIKICNpbmNsdWRlICJYUGF0aFJlc3VsdC5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5n
LmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0
Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9UZW1wb3JhcnlDaGFuZ2UuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdCdWZmZXIuaD4KQEAgLTI1NzYsOSArMjU3Niw5IEBAIEV2ZW50
VGFyZ2V0KiBEb2N1bWVudDo6ZXJyb3JFdmVudFRhcmdldCgpCiAgICAgcmV0dXJuIG1fZG9tV2lu
ZG93LmdldCgpOwogfQogCi12b2lkIERvY3VtZW50Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29u
c3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGlu
ZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNh
bGxTdGFjaykKK3ZvaWQgRG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVy
LCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNr
PiBjYWxsU3RhY2spCiB7Ci0gICAgYWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVt
YmVyLCBjYWxsU3RhY2spOworICAgIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1
bW5OdW1iZXIsIGNhbGxTdGFjayk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnNldFVSTChjb25zdCBV
UkwmIHVybCkKQEAgLTI4NDMsNyArMjg0Myw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NIdHRw
RXF1aXYoY29uc3QgU3RyaW5nJiBlcXVpdiwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogICAgICAg
ICAgICAgICAgIC8vIGludGVudCwgd2UgbXVzdCBuYXZpZ2F0ZSBhd2F5IGZyb20gdGhlIHBvc3Np
Ymx5IHBhcnRpYWxseS1yZW5kZXJlZCBkb2N1bWVudCB0byBhIGxvY2F0aW9uIHRoYXQKICAgICAg
ICAgICAgICAgICAvLyBkb2Vzbid0IGluaGVyaXQgdGhlIHBhcmVudCdzIFNlY3VyaXR5T3JpZ2lu
LgogICAgICAgICAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCkuc2NoZWR1bGVM
b2NhdGlvbkNoYW5nZShzZWN1cml0eU9yaWdpbigpLCBTZWN1cml0eU9yaWdpbjo6dXJsV2l0aFVu
aXF1ZVNlY3VyaXR5T3JpZ2luKCksIFN0cmluZygpKTsKLSAgICAgICAgICAgICAgICBhZGRDb25z
b2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNz
YWdlLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgYWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2Us
IHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxz
ZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoZXF1aXYsICJjb250ZW50LXNlY3VyaXR5LXBvbGljeSIp
KQpAQCAtNDgzOSw3ICs0ODM5LDcgQEAgdm9pZCBEb2N1bWVudDo6YWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QKICAgICAgICAg
cGFnZS0+Y29uc29sZSgpLmFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgcmVxdWVz
dElkZW50aWZpZXIsIHRoaXMpOwogfQogCi12b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVk
IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgSlND
OjpFeGVjU3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9p
ZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVs
IGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1
bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgSlNDOjpFeGVjU3RhdGUqIHN0YXRl
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewogICAgIGlmICghaXNDb250ZXh0
VGhyZWFkKCkpIHsKICAgICAgICAgcG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVh
dGUoc291cmNlLCBsZXZlbCwgbWVzc2FnZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAzMWIw
Njc5Li4zNmQ2YTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTE0Myw3ICsxMTQzLDcgQEAg
cHVibGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFy
Z2V0KCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShj
b25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBs
aW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4p
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3Qg
U3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51
bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxT
dGFjaz4pIG92ZXJyaWRlOwogCiAgICAgdm9pZCBpbml0RE5TUHJlZmV0Y2goKTsKIApAQCAtMTI2
Niw3ICsxMjY2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVmU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpIG92ZXJyaWRlIHsgcmVmKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9CiAKLSAgICB2aXJ0
dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBK
U0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8
SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25l
ZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGRv
dWJsZSBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggZDdiMmI3NC4uZGZkN2Q2MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmNwcApAQCAtMjQsOSArMjQsOSBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIlNjcmlwdEVsZW1lbnQuaCIKIAotI2luY2x1ZGUgIkNhY2hlZFNjcmlw
dC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAi
Q29udGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250
cm9sLmgiCiAjaW5jbHVkZSAiQ3VycmVudFNjcmlwdEluY3JlbWVudGVyLmgiCkBAIC0zOCw3ICsz
OCw2IEBACiAjaW5jbHVkZSAiSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgotI2lu
Y2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJTY3JpcHRSdW5uZXIuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgi
CkBAIC00Nyw2ICs0Niw3IEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJUZXh0
Tm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+CisjaW5j
bHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJF
eHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgU2NyaXB0RWxl
bWVudDo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQog
CiAjaWYgRU5BQkxFKE5PU05JRkYpCiAgICAgaWYgKG1faXNFeHRlcm5hbFNjcmlwdCAmJiBtX2Nh
Y2hlZFNjcmlwdCAmJiAhbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBlQWxsb3dlZEJ5Tm9zbmlmZigp
KSB7Ci0gICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1
cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiUmVmdXNlZCB0byBleGVjdXRl
IHNjcmlwdCBmcm9tICciICsgbV9jYWNoZWRTY3JpcHQtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlw
c2l6ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSBpdHMgTUlNRSB0eXBlICgnIiArIG1fY2FjaGVk
U2NyaXB0LT5taW1lVHlwZSgpICsgIicpIGlzIG5vdCBleGVjdXRhYmxlLCBhbmQgc3RyaWN0IE1J
TUUgdHlwZSBjaGVja2luZyBpcyBlbmFibGVkLiIpOworICAgICAgICBtX2VsZW1lbnQtPmRvY3Vt
ZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VM
ZXZlbDo6RXJyb3IsICJSZWZ1c2VkIHRvIGV4ZWN1dGUgc2NyaXB0IGZyb20gJyIgKyBtX2NhY2hl
ZFNjcmlwdC0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNh
dXNlIGl0cyBNSU1FIHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBlKCkgKyAiJykg
aXMgbm90IGV4ZWN1dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNoZWNraW5nIGlzIGVuYWJs
ZWQuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKQEAgLTM1MSw3ICszNTEsNyBA
QCB2b2lkIFNjcmlwdEVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNv
dXJjZSkKIAogICAgICAgICBkaXNwYXRjaEVycm9yRXZlbnQoKTsKICAgICAgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJDcm9zcy1v
cmlnaW4gc2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5n
IHBvbGljeS4iKSkpOwotICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2Up
OworICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGNvbnNvbGVNZXNzYWdlKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuY3BwCmluZGV4IGNhNjA0MWYuLjM2NjUyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTMzLDEwICszMywxMCBAQAogI2lu
Y2x1ZGUgIkVycm9yRXZlbnQuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUg
IlB1YmxpY1VSTE1hbmFnZXIuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNs
dWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVk
ZSAiV29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5o
PgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogCkBA
IC01MSw2ICs1MSw4IEBACiAjaW5jbHVkZSAiRGF0YWJhc2VDb250ZXh0LmgiCiAjZW5kaWYKIAor
dXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBQcm9jZXNzTWVzc2FnZXNTb29uVGFzayA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OjpUYXNrIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmlu
ZGV4IDFjN2YwZGEuLmI1YmY4MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaApAQCAtMjksMTAgKzI5LDEwIEBACiAjZGVmaW5lIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRfaAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5jbHVkZSAiQ29u
c29sZVR5cGVzLmgiCi0jaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlDb250ZXh0
LmgiCiAjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKyNpbmNsdWRlICJVUkwuaCIKKyNpbmNs
dWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CkBAIC00MCw2ICs0MCwxMCBAQCBjbGFzcyBFeGVjU3RhdGU7CiBj
bGFzcyBWTTsKIH0KIAorbmFtZXNwYWNlIEluc3BlY3RvciB7CitjbGFzcyBTY3JpcHRDYWxsU3Rh
Y2s7Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkU2NyaXB0OwpAQCAt
NDksNyArNTMsNiBAQCBjbGFzcyBFdmVudExpc3RlbmVyOwogY2xhc3MgRXZlbnRRdWV1ZTsKIGNs
YXNzIEV2ZW50VGFyZ2V0OwogY2xhc3MgTWVzc2FnZVBvcnQ7Ci1jbGFzcyBTY3JpcHRDYWxsU3Rh
Y2s7CiAKICNpZiBFTkFCTEUoQkxPQikKIGNsYXNzIFB1YmxpY1VSTE1hbmFnZXI7CkBAIC03NSw3
ICs3OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2FuaXRpemVTY3JpcHRFcnJvcihTdHJpbmcm
IGVycm9yTWVzc2FnZSwgaW50JiBsaW5lTnVtYmVyLCBpbnQmIGNvbHVtbk51bWJlciwgU3RyaW5n
JiBzb3VyY2VVUkwsIENhY2hlZFNjcmlwdCogPSAwKTsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93
ZWJraXQub3JnL2IvMTE0MzE1PiBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGxvZyBleGNlcHRpb24g
c2hvdWxkIGluY2x1ZGUgYSBjb2x1bW4gbnVtYmVyCi0gICAgdm9pZCByZXBvcnRFeGNlcHRpb24o
Y29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
LCBDYWNoZWRTY3JpcHQqID0gMCk7CisgICAgdm9pZCByZXBvcnRFeGNlcHRpb24oY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFj
az4sIENhY2hlZFNjcmlwdCogPSAwKTsKIAogICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1i
ZXIsIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIg
PSAwKTsKICAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIgPSAwKSA9IDA7CkBAIC0xNzcsOSArMTgwLDkgQEAgcHJvdGVjdGVkOgogICAg
IEFjdGl2ZURPTU9iamVjdDo6UmVhc29uRm9yU3VzcGVuc2lvbiByZWFzb25Gb3JTdXNwZW5kaW5n
QWN0aXZlRE9NT2JqZWN0cygpIGNvbnN0IHsgcmV0dXJuIG1fcmVhc29uRm9yU3VzcGVuZGluZ0Fj
dGl2ZURPTU9iamVjdHM7IH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2Fn
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVt
bk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAw
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwg
dW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0
YWNrPiwgSlNDOjpFeGVjU3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApID0gMDsKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCkg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5n
JiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwg
aW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1u
TnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPikgPSAwOwogICAg
IGJvb2wgZGlzcGF0Y2hFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQg
bGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIENh
Y2hlZFNjcmlwdCopOwogCiAgICAgdm9pZCBjbG9zZU1lc3NhZ2VQb3J0cygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKaW5kZXggMmM5NTM5ZC4uMGY2YzA4MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCkBAIC00NDgsMTUgKzQ0OCwx
NSBAQCBzdGF0aWMgTWVzc2FnZUxldmVsIHZpZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwoVmlld3Bv
cnRFcnJvckNvZGUgZXJyb3JDb2RlKQogewogICAgIHN3aXRjaCAoZXJyb3JDb2RlKSB7CiAgICAg
Y2FzZSBUcnVuY2F0ZWRWaWV3cG9ydEFyZ3VtZW50VmFsdWVFcnJvcjoKLSAgICAgICAgcmV0dXJu
IFdhcm5pbmdNZXNzYWdlTGV2ZWw7CisgICAgICAgIHJldHVybiBNZXNzYWdlTGV2ZWw6Oldhcm5p
bmc7CiAgICAgY2FzZSBVbnJlY29nbml6ZWRWaWV3cG9ydEFyZ3VtZW50S2V5RXJyb3I6CiAgICAg
Y2FzZSBVbnJlY29nbml6ZWRWaWV3cG9ydEFyZ3VtZW50VmFsdWVFcnJvcjoKICAgICBjYXNlIE1h
eGltdW1TY2FsZVRvb0xhcmdlRXJyb3I6Ci0gICAgICAgIHJldHVybiBFcnJvck1lc3NhZ2VMZXZl
bDsKKyAgICAgICAgcmV0dXJuIE1lc3NhZ2VMZXZlbDo6RXJyb3I7CiAgICAgfQogCiAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEVycm9yTWVzc2FnZUxldmVsOworICAgIHJl
dHVybiBNZXNzYWdlTGV2ZWw6OkVycm9yOwogfQogCiB2b2lkIHJlcG9ydFZpZXdwb3J0V2Fybmlu
ZyhEb2N1bWVudCogZG9jdW1lbnQsIFZpZXdwb3J0RXJyb3JDb2RlIGVycm9yQ29kZSwgY29uc3Qg
U3RyaW5nJiByZXBsYWNlbWVudDEsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnQyKQpAQCAtNDc1
LDcgKzQ3NSw3IEBAIHZvaWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1bWVu
dCwgVmlld3BvcnRFcnJvckNvZGUgZXJyb3JDb2RlLCBjb25zCiAgICAgICAgIG1lc3NhZ2UuYXBw
ZW5kKCIgTm90ZSB0aGF0ICc7JyBpcyBub3QgYSBzZXBhcmF0b3IgaW4gdmlld3BvcnQgdmFsdWVz
LiBUaGUgbGlzdCBzaG91bGQgYmUgY29tbWEtc2VwYXJhdGVkLiIpOwogCiAgICAgLy8gRklYTUU6
IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1
dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4
aXN0cy4KLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNv
dXJjZSwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdlKTsKKyAg
ICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6UmVuZGVyaW5nLCB2
aWV3cG9ydEVycm9yTWVzc2FnZUxldmVsKGVycm9yQ29kZSksIG1lc3NhZ2UpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Js
b2IuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAppbmRleCA2NzI2YmY0Li42
MzQxZDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNs
dWRlICJCbG9iVVJMLmgiCiAjaW5jbHVkZSAiRmlsZS5oIgogI2luY2x1ZGUgIkhpc3RvZ3JhbVN1
cHBvcnQuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oIgog
I2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9X
ZWJLaXRCbG9iQnVpbGRlci5jcHAKaW5kZXggYzQ3ZWIxZi4uOGE0NTgwNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAKQEAgLTI5LDcgKzI5LDYgQEAK
ICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KICNpbmNsdWRlICJXZWJLaXRCbG9iQnVpbGRl
ci5oIgogCiAjaW5jbHVkZSAiQmxvYi5oIgpAQCAtMzgsNyArMzcsNiBAQAogI2luY2x1ZGUgIkZp
bGUuaCIKICNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiTGluZUVuZGlu
Zy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlRleHRFbmNvZGlu
Zy5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDxydW50aW1l
L0FycmF5QnVmZmVyVmlldy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250
cm9sRWxlbWVudC5jcHAKaW5kZXggZTYxMDIyOS4uNjM4ODEzZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0xODAsNyArMTgwLDcgQEAg
c3RhdGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGVsZW1l
bnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZWxlbWVudC0+ZG9jdW1lbnQoKS5p
c1NhbmRib3hlZChTYW5kYm94QXV0b21hdGljRmVhdHVyZXMpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29s
dXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBl
eGlzdHMuCi0gICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoU2Vj
dXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXV0b2ZvY3Vz
aW5nIG9uIGEgZm9ybSBjb250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94
ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAg
ICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6
OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgYXV0
b2ZvY3VzaW5nIG9uIGEgZm9ybSBjb250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBz
YW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIp
KTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBpZiAoZWxlbWVudC0+aGFzQXV0
b2ZvY3VzZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCAx
MzJlZDkxLi42MGExMzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
CkBAIC0yNTMsNyArMjUzLDcgQEAgYm9vbCBIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJh
Y3RpdmVseShFdmVudCogZXZlbnQpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
ICAgICBTdHJpbmcgbWVzc2FnZSgiQW4gaW52YWxpZCBmb3JtIGNvbnRyb2wgd2l0aCBuYW1lPScl
bmFtZScgaXMgbm90IGZvY3VzYWJsZS4iKTsKICAgICAgICAgICAgIG1lc3NhZ2UucmVwbGFjZSgi
JW5hbWUiLCBjb250cm9sLm5hbWUoKSk7Ci0gICAgICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNv
bGVNZXNzYWdlKFJlbmRlcmluZ01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNz
YWdlKTsKKyAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6UmVuZGVyaW5nLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKICAgICAgICAg
fQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAppbmRl
eCBhMmY5ZDEwLi40MTgxMzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
RnJhbWVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVt
ZW50LmNwcApAQCAtODEsNyArODEsNyBAQCB2b2lkIEhUTUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdAogICAgICAg
ICBTdHJpbmcgaW52YWxpZFRva2VuczsKICAgICAgICAgc2V0U2FuZGJveEZsYWdzKHZhbHVlLmlz
TnVsbCgpID8gU2FuZGJveE5vbmUgOiBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGlj
eSh2YWx1ZSwgaW52YWxpZFRva2VucykpOwogICAgICAgICBpZiAoIWludmFsaWRUb2tlbnMuaXNO
dWxsKCkpCi0gICAgICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciB3aGlsZSBwYXJzaW5nIHRoZSAn
c2FuZGJveCcgYXR0cmlidXRlOiAiICsgaW52YWxpZFRva2Vucyk7CisgICAgICAgICAgICBkb2N1
bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2
ZWw6OkVycm9yLCAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTog
IiArIGludmFsaWRUb2tlbnMpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBzZWFtbGVzc0F0dHIp
IHsKICAgICAgICAgLy8gSWYgd2UncmUgYWRkaW5nIG9yIHJlbW92aW5nIHRoZSBzZWFtbGVzcyBh
dHRyaWJ1dGUsIHdlIG5lZWQgdG8gZm9yY2UgdGhlIGNvbnRlbnQgZG9jdW1lbnQgdG8gcmVjYWxj
dWxhdGUgaXRzIFN0eWxlUmVzb2x2ZXIuCiAgICAgICAgIGlmIChjb250ZW50RG9jdW1lbnQoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDlmOTk3YjAuLmMy
Y2QxZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjc0
Nyw3ICsyNzQ3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRHZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWYKICNpZiBFTkFCTEUoRU5DUllQ
VEVEX01FRElBX1YyKQogICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9IHRydWU7CiAgICAgaWYg
KGZpcnN0VGltZSAmJiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdh
cm5pbmdNZXNzYWdlTGV2ZWwsICInSFRNTE1lZGlhRWxlbWVudC53ZWJraXRHZW5lcmF0ZUtleVJl
cXVlc3QoKScgaXMgZGVwcmVjYXRlZC4gIFVzZSAnTWVkaWFLZXlzLmNyZWF0ZVNlc3Npb24oKScg
aW5zdGVhZC4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBBU0NJSUxp
dGVyYWwoIidIVE1MTWVkaWFFbGVtZW50LndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgpJyBpcyBk
ZXByZWNhdGVkLiAgVXNlICdNZWRpYUtleXMuY3JlYXRlU2Vzc2lvbigpJyBpbnN0ZWFkLiIpKTsK
ICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAgfQogI2VuZGlmCkBAIC0yNzgzLDcgKzI3
ODMsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdEFkZEtleShjb25zdCBTdHJpbmcm
IGtleVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50OEFycgogI2lmIEVOQUJMRShFTkNSWVBURURfTUVE
SUFfVjIpCiAgICAgc3RhdGljIGJvb2wgZmlyc3RUaW1lID0gdHJ1ZTsKICAgICBpZiAoZmlyc3RU
aW1lICYmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewotICAgICAgICBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01l
c3NhZ2VMZXZlbCwgIidIVE1MTWVkaWFFbGVtZW50LndlYmtpdEFkZEtleSgpJyBpcyBkZXByZWNh
dGVkLiAgVXNlICdNZWRpYUtleVNlc3Npb24udXBkYXRlKCknIGluc3RlYWQuIik7CisgICAgICAg
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgQVNDSUlMaXRlcmFsKCInSFRNTE1lZGlhRWxl
bWVudC53ZWJraXRBZGRLZXkoKScgaXMgZGVwcmVjYXRlZC4gIFVzZSAnTWVkaWFLZXlTZXNzaW9u
LnVwZGF0ZSgpJyBpbnN0ZWFkLiIpKTsKICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAg
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcAppbmRleCA0N2Q4N2VkLi5lYWVkNzg0IDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5jcHAKQEAgLTE4NDgsNyArMTg0OCw3IEBAIFBhc3NSZWZQdHI8SW1hZ2VEYXRhPiBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmdldEltYWdlRGF0YShJbWFnZUJ1ZmZlcjo6Q29vcmRpCiB7CiAg
ICAgaWYgKCFjYW52YXMoKS0+b3JpZ2luQ2xlYW4oKSkgewogICAgICAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIlVuYWJsZSB0byBn
ZXQgaW1hZ2UgZGF0YSBmcm9tIGNhbnZhcyBiZWNhdXNlIHRoZSBjYW52YXMgaGFzIGJlZW4gdGFp
bnRlZCBieSBjcm9zcy1vcmlnaW4gZGF0YS4iKSkpOwotICAgICAgICBjYW52YXMoKS0+ZG9jdW1l
bnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLmFk
ZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCBjb25zb2xlTWVzc2FnZSk7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAg
ICByZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCAzODEwMzk5Li5hN2ZlZmI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5j
cHAKQEAgLTU1MjgsNyArNTUyOCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpwcmlu
dFdhcm5pbmdUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIGlmICghY2Fu
dmFzKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBjYW52YXMoKS0+ZG9jdW1lbnQoKS5hZGRDb25z
b2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBt
ZXNzYWdlKTsKKyAgICBjYW52YXMoKS0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlOjpSZW5kZXJpbmcsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgbWVzc2FnZSk7CiB9
CiAKIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUZyYW1lYnVmZmVyRnVuY1Bh
cmFtZXRlcnMoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBHQzNEZW51bSB0YXJnZXQsIEdDM0Rl
bnVtIGF0dGFjaG1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Y
U1NBdWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3Bw
CmluZGV4IDFiZjVhMDkuLjExYmM1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL1hTU0F1ZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hT
U0F1ZGl0b3IuY3BwCkBAIC0yODgsNyArMjg4LDcgQEAgdm9pZCBYU1NBdWRpdG9yOjppbml0KERv
Y3VtZW50KiBkb2N1bWVudCwgWFNTQXVkaXRvckRlbGVnYXRlKiBhdWRpdG9yRGVsZWdhdGUpCiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKHhzc1Byb3RlY3Rpb25IZWFkZXIg
PT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWZsZWN0ZWRYU1NJbnZhbGlkKQotICAgICAgICAg
ICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJFcnJvciBwYXJzaW5nIGhlYWRlciBYLVhTUy1Qcm90ZWN0aW9uOiAi
ICsgaGVhZGVyVmFsdWUgKyAiOiAiICArIGVycm9yRGV0YWlscyArICIgYXQgY2hhcmFjdGVyIHBv
c2l0aW9uICIgKyBTdHJpbmc6OmZvcm1hdCgiJXUiLCBlcnJvclBvc2l0aW9uKSArICIuIFRoZSBk
ZWZhdWx0IHByb3RlY3Rpb25zIHdpbGwgYmUgYXBwbGllZC4iKTsKKyAgICAgICAgICAgIGRvY3Vt
ZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxl
dmVsOjpFcnJvciwgIkVycm9yIHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246ICIgKyBo
ZWFkZXJWYWx1ZSArICI6ICIgICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIgcG9zaXRp
b24gIiArIFN0cmluZzo6Zm9ybWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhlIGRlZmF1
bHQgcHJvdGVjdGlvbnMgd2lsbCBiZSBhcHBsaWVkLiIpOwogCiAgICAgICAgIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6UmVmbGVjdGVkWFNTRGlzcG9zaXRpb24gY3NwSGVhZGVyID0gZG9jdW1lbnQt
PmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5yZWZsZWN0ZWRYU1NEaXNwb3NpdGlvbigpOwogICAg
ICAgICBtX2RpZFNlbmRWYWxpZENTUEhlYWRlciA9IGNzcEhlYWRlciAhPSBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OlJlZmxlY3RlZFhTU1Vuc2V0ICYmIGNzcEhlYWRlciAhPSBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OlJlZmxlY3RlZFhTU0ludmFsaWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcAppbmRleCBkMDYwNjliLi45Y2JhMDY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5j
cHAKQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBYU1NBdWRpdG9yRGVsZWdhdGU6OmRpZEJsb2NrU2Ny
aXB0KGNvbnN0IFhTU0luZm8mIHhzc0luZm8pCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKIAotICAgIG1fZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgYnVpbGRDb25zb2xlRXJyb3IoeHNzSW5mbywgbV9kb2N1bWVudC51
cmwoKS5zdHJpbmcoKSkpOworICAgIG1fZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGJ1aWxkQ29uc29sZUVycm9yKHhzc0lu
Zm8sIG1fZG9jdW1lbnQudXJsKCkuc3RyaW5nKCkpKTsKIAogICAgIEZyYW1lTG9hZGVyJiBmcmFt
ZUxvYWRlciA9IG1fZG9jdW1lbnQuZnJhbWUoKS0+bG9hZGVyKCk7CiAgICAgaWYgKHhzc0luZm8u
bV9kaWRCbG9ja0VudGlyZVBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29tbWFuZExpbmVBUElIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21t
YW5kTGluZUFQSUhvc3QuY3BwCmluZGV4IDkyZjFkMjcuLmY0MDRhNTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCkBAIC0zOCw3ICszOCw2
IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVs
ZW1lbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0
b3JDb25zb2xlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRhdGFi
YXNlQWdlbnQuaCIKQEAgLTQ5LDYgKzQ4LDcgQEAKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRW
YWx1ZS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRl
IDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50Lmg+CisjaW5jbHVkZSA8aW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmgKaW5kZXggNmY5MDI1Zi4uMDhmMGMxNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaApAQCAtMzAsOCAr
MzAsOCBAQAogI2lmbmRlZiBDb21tYW5kTGluZUFQSUhvc3RfaAogI2RlZmluZSBDb21tYW5kTGlu
ZUFQSUhvc3RfaAogCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0
U3RhdGUuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CkBAIC00Miw2ICs0Miw3IEBAIGNsYXNzIFNjcmlwdFZhbHVlOwog
CiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIGNsYXNzIEluc3BlY3RvckFnZW50OworY2xhc3MgSW5z
cGVjdG9yQ29uc29sZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVj
dG9yVmFsdWU7CiB9CkBAIC00OSw3ICs1MCw2IEBAIGNsYXNzIEluc3BlY3RvclZhbHVlOwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEYXRhYmFzZTsKLWNsYXNzIEluc3BlY3RvckNvbnNv
bGVBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3Rv
cmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKQEAgLTY0LDExICs2NCwx
MSBAQCBwdWJsaWM6CiAgICAgfkNvbW1hbmRMaW5lQVBJSG9zdCgpOwogCiAgICAgdm9pZCBpbml0
KEluc3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50Ci0gICAgICAgICAgICAs
IEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50Ci0gICAgICAgICAgICAsIEluc3Bl
Y3RvckRPTUFnZW50KiBkb21BZ2VudAotICAgICAgICAgICAgLCBJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQqIGRvbVN0b3JhZ2VBZ2VudAorICAgICAgICAsIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29u
c29sZUFnZW50KiBjb25zb2xlQWdlbnQKKyAgICAgICAgLCBJbnNwZWN0b3JET01BZ2VudCogZG9t
QWdlbnQKKyAgICAgICAgLCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIGRvbVN0b3JhZ2VBZ2Vu
dAogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCi0gICAgICAgICAgICAsIEluc3BlY3RvckRhdGFi
YXNlQWdlbnQqIGRhdGFiYXNlQWdlbnQKKyAgICAgICAgLCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50
KiBkYXRhYmFzZUFnZW50CiAjZW5kaWYKICAgICAgICAgKQogICAgIHsKQEAgLTEwOCw3ICsxMDgs
NyBAQCBwcml2YXRlOgogICAgIENvbW1hbmRMaW5lQVBJSG9zdCgpOwogCiAgICAgSW5zcGVjdG9y
OjpJbnNwZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsKLSAgICBJbnNwZWN0b3JDb25zb2xl
QWdlbnQqIG1fY29uc29sZUFnZW50OworICAgIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFn
ZW50KiBtX2NvbnNvbGVBZ2VudDsKICAgICBJbnNwZWN0b3JET01BZ2VudCogbV9kb21BZ2VudDsK
ICAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIG1fZG9tU3RvcmFnZUFnZW50OwogI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFsbEluT25lLmNwcAppbmRleCBmNzI1MjIzLi5jNWM3YTc4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTc0LDYgKzc0LDcgQEAKICNp
bmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuY3BwIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5j
cHAiCiAjaW5jbHVkZSAiVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCIKKyNpbmNsdWRlICJXZWJD
b25zb2xlQWdlbnQuY3BwIgogI2luY2x1ZGUgIldlYkRlYnVnZ2VyQWdlbnQuY3BwIgogI2luY2x1
ZGUgIldvcmtlckNvbnNvbGVBZ2VudC5jcHAiCiAjaW5jbHVkZSAiV29ya2VyRGVidWdnZXJBZ2Vu
dC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
c29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0OWJhZDguLjAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCisrKyAv
ZGV2L251bGwKQEAgLTEsMTE1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQot
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgSW5zcGVj
dG9yQ29uc29sZUFnZW50X2gKLSNkZWZpbmUgSW5zcGVjdG9yQ29uc29sZUFnZW50X2gKLQotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0KLSNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKLSNpbmNs
dWRlICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JXZWJBZ2VudEJhc2UuaCIK
LSNpbmNsdWRlICJJbnNwZWN0b3JXZWJCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKLSNpbmNsdWRlICJJ
bnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCi0jaW5jbHVkZSAiU2NyaXB0U3RhdGUu
aCIKLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBDb25zb2xlTWVzc2FnZTsKLWNsYXNzIERPTVdpbmRvdzsKLWNsYXNzIEluc3RydW1lbnRp
bmdBZ2VudHM7Ci1jbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwotY2xhc3MgUmVzb3Vy
Y2VFcnJvcjsKLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci1jbGFzcyBTY3JpcHRBcmd1bWVudHM7
Ci1jbGFzcyBTY3JpcHRDYWxsU3RhY2s7Ci1jbGFzcyBTY3JpcHRQcm9maWxlOwotCi10eXBlZGVm
IFN0cmluZyBFcnJvclN0cmluZzsKLQotY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50IDogcHVi
bGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29s
ZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5z
cGVjdG9yQ29uc29sZUFnZW50KTsKLXB1YmxpYzoKLSAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKLSAgICB2
aXJ0dWFsIH5JbnNwZWN0b3JDb25zb2xlQWdlbnQoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBlbmFi
bGUoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJv
clN0cmluZyopIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBjbGVhck1lc3NhZ2VzKEVycm9y
U3RyaW5nKikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBlbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9l
bmFibGVkOyB9Ci0gICAgdm9pZCByZXNldCgpOwotCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCos
IEluc3BlY3Rvcjo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKLSAgICB2
aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNw
ZWN0b3JEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKLQotICAgIHZvaWQgYWRkTWVzc2FnZVRv
Q29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVu
dHM+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgdm9pZCBhZGRN
ZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3JpcHRJRCwgdW5zaWduZWQg
bGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4ZWNTdGF0ZSogPSBudWxs
cHRyLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0KLSAgICAvLyBGSVhN
RTogUmVtb3ZlIG9uY2Ugd2Ugbm8gbG9uZ2VyIGdlbmVyYXRlIHN0YWNrcyBvdXRzaWRlIG9mIElu
c3BlY3Rvci4KLSAgICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsK
LQotICAgIFZlY3Rvcjx1bnNpZ25lZD4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpOwot
Ci0gICAgdm9pZCBzdGFydFRpbWluZyhjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSAgICB2b2lkIHN0
b3BUaW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
KTsKLSAgICB2b2lkIGNvdW50KEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+KTsKLQotICAgIHZvaWQgZnJhbWVXaW5kb3dEaXNjYXJkZWQoRE9NV2luZG93Kik7Ci0K
LSAgICB2b2lkIGRpZEZpbmlzaFhIUkxvYWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgc2VuZFVSTCwgdW5zaWduZWQg
c2VuZExpbmVOdW1iZXIsIHVuc2lnbmVkIHNlbmRDb2x1bW5OdW1iZXIpOwotICAgIHZvaWQgZGlk
UmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmKTsKLSAgICB2b2lkIGRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKLSAgICB2b2lkIGFkZFBy
b2ZpbGVGaW5pc2hlZE1lc3NhZ2VUb0NvbnNvbGUoUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiwg
dW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCk7Ci0gICAgdm9pZCBhZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUo
Y29uc3QgU3RyaW5nJiB0aXRsZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1u
TnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7Ci0gICAgdmlydHVhbCB2b2lkIHNldE1v
bml0b3JpbmdYSFJFbmFibGVkKEVycm9yU3RyaW5nKiwgYm9vbCBlbmFibGVkKSBvdmVycmlkZTsK
LSAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyosIGludCBub2Rl
SWQpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0
cmluZyosIGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpIG92ZXJyaWRlOwotCi0gICAgdmlydHVh
bCBib29sIGlzV29ya2VyQWdlbnQoKSA9IDA7Ci0KLXByb3RlY3RlZDoKLSAgICB2b2lkIGFkZENv
bnNvbGVNZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3NhZ2U+KTsKLQotICAgIFBhZ2VJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwotICAgIHN0ZDo6dW5p
cXVlX3B0cjxJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXI+IG1f
ZnJvbnRlbmREaXNwYXRjaGVyOwotICAgIFJlZlB0cjxJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNv
bGVCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKLSAgICBDb25zb2xlTWVz
c2FnZSogbV9wcmV2aW91c01lc3NhZ2U7Ci0gICAgVmVjdG9yPE93blB0cjxDb25zb2xlTWVzc2Fn
ZT4+IG1fY29uc29sZU1lc3NhZ2VzOwotICAgIGludCBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNv
dW50OwotICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV9jb3VudHM7Ci0gICAgSGFzaE1h
cDxTdHJpbmcsIGRvdWJsZT4gbV90aW1lczsKLSAgICBib29sIG1fZW5hYmxlZDsKLSAgICBib29s
IG1fbW9uaXRvcmluZ1hIUkVuYWJsZWQ7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCi0jZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVj
dG9yQ29uc29sZUFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaAppbmRleCBlZWU3ODdjLi4xNDYw
YWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29s
ZUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBJ
bnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uX2gKIAogI2luY2x1ZGUgIkluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgotI2luY2x1ZGUg
IlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKKyNpbmNsdWRl
IDxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNz
YWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlw
ZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllcikKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2Fn
ZVRvQ29uc29sZShQYWdlKiBwYWdlLCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUg
dHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllcikKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvclBhZ2UocGFnZSkpCkBAIC01NSw3ICs1NSw3IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYWdlLCBNZXNzYWdlU291
CiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRN
ZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
VHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlND
OjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQoraW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdl
KHBhZ2UpKQpAQCAtOTEsNyArOTEsNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNvdQogI2VuZGlm
CiB9CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRv
Q29uc29sZShXb3JrZXJHbG9iYWxTY29wZSogd29ya2VyR2xvYmFsU2NvcGUsIE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShXb3JrZXJHbG9iYWxTY29wZSogd29ya2Vy
R2xvYmFsU2NvcGUsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNz
YWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxJbnNwZWN0
b3I6OlNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2Vy
R2xvYmFsU2NvcGUod29ya2VyR2xvYmFsU2NvcGUpKQpAQCAtMTI2LDcgKzEyNiw3IEBAIGlubGlu
ZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShXb3Jr
ZXJHbG9iYWxTY29wZSogd29yCiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpjb25zb2xlQ291bnQoUGFnZSogcGFnZSwgSlNDOjpFeGVjU3RhdGUqIHN0
YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQoraW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQ291bnQoUGFnZSogcGFnZSwgSlNDOjpF
eGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdl
KHBhZ2UpKQpAQCAtMTQ5LDcgKzE0OSw3IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6c3RhcnRDb25zb2xlVGltaW5nKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyCiAjZW5k
aWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdG9wQ29uc29s
ZVRpbWluZyhGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiBzdGFjaykKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6c3RvcENvbnNvbGVUaW1pbmcoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQ
YXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiBzdGFjaykKIHsKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKQEAgLTE2MSw3ICsx
NjEsNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xl
VGltaW5nKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaQogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZVRpbWVTdGFtcChGcmFtZSogZnJhbWUs
IFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCitpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVUaW1lU3RhbXAoRnJhbWUqIGZyYW1lLCBQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7CiAjaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsK
QEAgLTE4Nyw3ICsxODcsNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYQogI2VuZGlmCiB9CiAK
LWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkUHJvZmlsZShQYWdlKiBw
YWdlLCBSZWZQdHI8U2NyaXB0UHJvZmlsZT4gcHJvZmlsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNhbGxTdGFjaykKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
YWRkUHJvZmlsZShQYWdlKiBwYWdlLCBSZWZQdHI8U2NyaXB0UHJvZmlsZT4gcHJvZmlsZSwgUGFz
c1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQogewogI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCAyMzNiMDM4
Li45NDQyNDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElI
b3N0LmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3ND
b250ZXh0LmgiCi0jaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ1NTQWdl
bnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDYW52YXNBZ2VudC5oIgpAQCAtNzIsNiArNzEsNyBA
QAogI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJQYWdl
UnVudGltZUFnZW50LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlIDxpbnNwZWN0
b3IvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVyLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JB
Z2VudC5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CkBAIC0xNDEsOCArMTQxLDkgQEAg
SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlJiBwYWdlLCBJbnNw
ZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICAgICBtX3Jlc291cmNlQWdlbnQgPSByZXNvdXJjZUFn
ZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUocmVzb3VyY2VBZ2Vu
dFB0cikpOwogCi0gICAgYXV0byBjb25zb2xlQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPFBh
Z2VDb25zb2xlQWdlbnQ+KG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9pbmplY3RlZFNj
cmlwdE1hbmFnZXIuZ2V0KCksIG1fZG9tQWdlbnQpOwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dCogY29uc29sZUFnZW50ID0gY29uc29sZUFnZW50UHRyLmdldCgpOworICAgIGF1dG8gY29uc29s
ZUFnZW50UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlQ29uc29sZUFnZW50PihtX2luamVjdGVk
U2NyaXB0TWFuYWdlci5nZXQoKSwgbV9kb21BZ2VudCk7CisgICAgV2ViQ29uc29sZUFnZW50KiBj
b25zb2xlQWdlbnQgPSBjb25zb2xlQWdlbnRQdHIuZ2V0KCk7CisgICAgbV9pbnN0cnVtZW50aW5n
QWdlbnRzLT5zZXRXZWJDb25zb2xlQWdlbnQoY29uc29sZUFnZW50UHRyLmdldCgpKTsKICAgICBt
X2FnZW50cy5hcHBlbmQoc3RkOjptb3ZlKGNvbnNvbGVBZ2VudFB0cikpOwogCiAgICAgYXV0byBk
ZWJ1Z2dlckFnZW50UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlRGVidWdnZXJBZ2VudD4obV9p
bmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCksIG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwg
cGFnZUFnZW50LCBtX292ZXJsYXkuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggZjI0Y2FhYS4uYmYwM2UxNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC02Myw3ICs2
Myw2IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRlbXBsYXRlRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKLSNpbmNsdWRlICJJZGVudGlmaWVy
c0ZhY3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JIaXN0b3J5LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yTm9kZUZpbmRlci5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuaCIKQEAgLTkx
LDYgKzkwLDcgQEAKICNpbmNsdWRlICJYUGF0aFJlc3VsdC5oIgogI2luY2x1ZGUgImh0bWxlZGl0
aW5nLmgiCiAjaW5jbHVkZSAibWFya3VwLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL0lkZW50aWZp
ZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oPgogI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5oCmluZGV4IDlkYzY3YjAuLmFiMGU3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKQEAgLTI5LDcgKzI5LDYgQEAKICNp
Zm5kZWYgSW5zcGVjdG9yRnJvbnRlbmRIb3N0X2gKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRI
b3N0X2gKIAotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51
LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDIzNWVjY2UuLmYxNTg5MjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBA
IC0zNSw4ICszNSw2IEBACiAKICNpbmNsdWRlICJDU1NSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5
bGVSdWxlLmgiCi0jaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCi0jaW5jbHVkZSAiQ29uc29s
ZVR5cGVzLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldv
cmxkLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKQEAgLTQ2LDcgKzQ0LDYgQEAKICNpbmNsdWRl
ICJJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JD
U1NBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNhbnZhc0FnZW50LmgiCi0jaW5jbHVkZSAi
SW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yRE9NU3RvcmFnZUFnZW50LmgiCkBAIC02NCwxNiArNjEsMTggQEAKICNpbmNsdWRlICJQYWdl
UnVudGltZUFnZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVmlldy5oIgotI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgotI2luY2x1ZGUgIlNjcmlw
dENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJT
Y3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgIlN0
eWxlUnVsZS5oIgorI2luY2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIldvcmtl
ckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyUnVudGltZUFnZW50LmgiCiAjaW5jbHVk
ZSAiV29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3QuaCIKKyNpbmNsdWRl
IDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdEFy
Z3VtZW50cy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNs
dWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaD4KICNpbmNsdWRl
IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAt
MTgzLDcgKzE4Miw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZhbGlk
YXRlU3R5bGVBdHRySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpCiAKIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpmcmFtZVdpbmRvd0Rpc2NhcmRlZEltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgRE9NV2luZG93KiB3aW5kb3cpCiB7Ci0gICAgaWYg
KEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29u
c29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAg
ICAgIGNvbnNvbGVBZ2VudC0+ZnJhbWVXaW5kb3dEaXNjYXJkZWQod2luZG93KTsKIH0KIApAQCAt
NjAwLDcgKzU5OSw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZl
UmVzb3VyY2VSZXNwb25zZUltcGwoY29uc3QgSW5zcGVjdG9ySW5zCiAgICAgSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGNvb2tpZS5pbnN0cnVtZW50aW5nQWdlbnRz
KCk7CiAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCiAgICAgICAgIHJlc291
cmNlQWdlbnQtPmRpZFJlY2VpdmVSZXNwb25zZShpZGVudGlmaWVyLCBsb2FkZXIsIHJlc3BvbnNl
LCByZXNvdXJjZUxvYWRlcik7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29s
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisg
ICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlkUmVjZWl2ZVJl
c3BvbnNlKGlkZW50aWZpZXIsIHJlc3BvbnNlKTsgLy8gVGhpcyBzaG91bGQgY29tZSBBRlRFUiBy
ZXNvdXJjZSBub3RpZmljYXRpb24sIGZyb250LWVuZCByZWxpZXMgb24gdGhpcy4KIH0KIApAQCAt
NjQ1LDcgKzY0NCw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWlsTG9h
ZGluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVuCiAgICAgICAgIHRpbWVsaW5l
QWdlbnQtPmRpZEZpbmlzaExvYWRpbmdSZXNvdXJjZShpZGVudGlmaWVyLCB0cnVlLCAwLCBsb2Fk
ZXItPmZyYW1lKCkpOwogICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFn
ZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQogICAg
ICAgICByZXNvdXJjZUFnZW50LT5kaWRGYWlsTG9hZGluZyhpZGVudGlmaWVyLCBsb2FkZXIsIGVy
cm9yKTsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29u
c29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xl
QWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5kaWRGYWlsTG9hZGluZyhpZGVudGlmaWVy
LCBlcnJvcik7IC8vIFRoaXMgc2hvdWxkIGNvbWUgQUZURVIgcmVzb3VyY2Ugbm90aWZpY2F0aW9u
LCBmcm9udC1lbmQgcmVsaWVzIG9uIHRoaXMuCiB9CiAKQEAgLTY2OSw3ICs2NjgsNyBAQCB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmFpbFhIUkxvYWRpbmdJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RmluaXNoWEhSTG9hZGluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0Fn
ZW50cywgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50LCB1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlU3RyaW5nLCBjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgU3RyaW5nJiBzZW5kVVJMLCB1bnNpZ25lZCBzZW5kTGluZU51bWJlciwgdW5zaWduZWQgc2Vu
ZENvbHVtbk51bWJlcikKIHsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xl
QWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAg
ICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRz
LT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5kaWRGaW5pc2hYSFJM
b2FkaW5nKGlkZW50aWZpZXIsIHVybCwgc2VuZFVSTCwgc2VuZExpbmVOdW1iZXIsIHNlbmRDb2x1
bW5OdW1iZXIpOwogICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50
ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQogICAgICAg
ICByZXNvdXJjZUFnZW50LT5kaWRGaW5pc2hYSFJMb2FkaW5nKGNsaWVudCwgaWRlbnRpZmllciwg
c291cmNlU3RyaW5nKTsKQEAgLTc1Miw3ICs3NTEsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkQ29tbWl0TG9hZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dAogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobG9hZGVyLT5mcmFtZSgpLT5pc01haW5GcmFt
ZSgpKSB7Ci0gICAgICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9
IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgICAgICBp
ZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53
ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgICAgIGNvbnNvbGVBZ2VudC0+cmVzZXQoKTsKIAog
ICAgICAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3Ry
dW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKQEAgLTg2MiwxMyArODYx
LDEzIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUxJbXBsKGNv
bnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvCiAvLyBKYXZhU2NyaXB0Q29yZSBJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50IHNob3VsZCBrbm93IENvbnNvbGUgTWVzc2FnZVR5cGVzLgogc3RhdGlj
IGJvb2wgaXNDb25zb2xlQXNzZXJ0TWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZVR5cGUgdHlwZSkKIHsKLSAgICByZXR1cm4gc291cmNlID09IENvbnNvbGVBUElNZXNzYWdlU291
cmNlICYmIHR5cGUgPT0gQXNzZXJ0TWVzc2FnZVR5cGU7CisgICAgcmV0dXJuIHNvdXJjZSA9PSBN
ZXNzYWdlU291cmNlOjpDb25zb2xlQVBJICYmIHR5cGUgPT0gTWVzc2FnZVR5cGU6OkFzc2VydDsK
IH0KIAogLy8gRklYTUU6IERyb3AgdGhpcyBvbmNlIHdlIG5vIGxvbmdlciBnZW5lcmF0ZSBzdGFj
a3Mgb3V0c2lkZSBvZiBJbnNwZWN0b3IuCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cywgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VM
ZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAg
IGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQq
IGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQog
ICAgICAgICBjb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIGp1c3QgcGFzcyB0aGUgbWVzc2FnZSBvbiB0byB0aGUgZGVidWdnZXIg
YWdlbnQuIEphdmFTY3JpcHRDb3JlIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgc2hvdWxkIGtub3cg
Q29uc29sZSBNZXNzYWdlVHlwZXMuCiAgICAgaWYgKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIGRl
YnVnZ2VyQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JEZWJ1Z2dlckFnZW50
KCkpIHsKQEAgLTg3OSw3ICs4NzgsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdAogCiB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgaWYgKElu
c3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+
aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29s
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAg
IGNvbnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIHR5cGUsIGxldmVsLCBt
ZXNzYWdlLCBzdGF0ZSwgYXJndW1lbnRzLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIGp1c3QgcGFzcyB0aGUgbWVzc2FnZSBvbiB0byB0aGUgZGVidWdnZXIg
YWdlbnQuIEphdmFTY3JpcHRDb3JlIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgc2hvdWxkIGtub3cg
Q29uc29sZSBNZXNzYWdlVHlwZXMuCiAgICAgaWYgKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIGRl
YnVnZ2VyQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JEZWJ1Z2dlckFnZW50
KCkpIHsKQEAgLTg5MCwxMyArODg5LDEzIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0CiAKIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc2NyaXB0SUQsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2ln
bmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJl
cXVlc3RJZGVudGlmaWVyKQogewotICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQor
ICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VU
b0NvbnNvbGUoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc2NyaXB0SUQsIGxpbmVOdW1i
ZXIsIGNvbHVtbk51bWJlciwgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAogdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudEltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVm
UHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGlmIChJbnNwZWN0b3JDb25z
b2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNv
bnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGlu
c3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBjb25zb2xlQWdl
bnQtPmNvdW50KHN0YXRlLCBhcmd1bWVudHMpOwogfQogCkBAIC05MDQsMTMgKzkwMywxMyBAQCB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RhcnRDb25zb2xlVGltaW5nSW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cgogewogICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50
KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yVGltZWxpbmVB
Z2VudCgpKQogICAgICAgICB0aW1lbGluZUFnZW50LT50aW1lKGZyYW1lLCB0aXRsZSk7Ci0gICAg
aWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCog
Y29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAg
ICAgICAgIGNvbnNvbGVBZ2VudC0+c3RhcnRUaW1pbmcodGl0bGUpOwogfQogCiB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcENvbnNvbGVUaW1pbmdJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiB0
aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrKQogewotICAgIGlmIChJbnNw
ZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmlu
c3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVB
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBj
b25zb2xlQWdlbnQtPnN0b3BUaW1pbmcodGl0bGUsIHN0YWNrKTsKICAgICBpZiAoSW5zcGVjdG9y
VGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQoKSkKICAgICAgICAgdGltZWxpbmVBZ2VudC0+dGltZUVuZChmcmFt
ZSwgdGl0bGUpOwpAQCAtMTA3Miw3ICsxMDcxLDcgQEAgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmNhbnZhc0FnZW50RW5hYmxlZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHQK
IGJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQWdlbnRFbmFibGVkKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCiB7CiAgICAgSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNG
b3JDb250ZXh0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwotICAgIEluc3BlY3RvckNvbnNvbGVB
Z2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cyA/IGluc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpIDogbnVsbHB0cjsKKyAgICBJbnNwZWN0b3JD
b25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMgPyBpbnN0cnVt
ZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSA6IG51bGxwdHI7CiAgICAgcmV0dXJuIGNv
bnNvbGVBZ2VudCAmJiBjb25zb2xlQWdlbnQtPmVuYWJsZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGU1
ZjFiNDAuLmMxNjg1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTMyLDggKzMyLDYgQEAKICNkZWZpbmUgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uX2gKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCi0jaW5jbHVk
ZSAiQ29uc29sZUFQSVR5cGVzLmgiCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVk
ZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIK
QEAgLTQ0LDEyICs0MiwxOCBAQAogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAjaW5jbHVkZSAi
U3RvcmFnZUFyZWEuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRGcmFtZS5oIgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVz
cGFjZSBEZXByZWNhdGVkIHsKIGNsYXNzIFNjcmlwdE9iamVjdDsKIH0KIAorbmFtZXNwYWNlIElu
c3BlY3RvciB7CitjbGFzcyBTY3JpcHRBcmd1bWVudHM7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2s7
Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ1NTUnVsZTsKQEAgLTc3LDggKzgx
LDYgQEAgY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5nOwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xh
c3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKLWNsYXNzIFNjcmlw
dEFyZ3VtZW50czsKLWNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CkBA
IC0yMDMsMTggKzIwNSwxOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkV3JpdGVIVE1M
KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYsIHVuc2lnbmVkIGVuZExpbmUp
OwogCiAgICAgLy8gRklYTUU6IFJlbW92ZSBvbmNlIHdlIG5vIGxvbmdlciBnZW5lcmF0ZSBzdGFj
a3Mgb3V0c2lkZSBvZiBJbnNwZWN0b3IuCi0gICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKLSAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdl
VG9Db25zb2xlKFBhZ2UqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAg
c3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciA9IDApOworICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSosIE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1l
bnRzPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogICAgIHN0YXRpYyB2
b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBl
LCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3Jp
cHRJRCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4
ZWNTdGF0ZSogPSBudWxscHRyLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7
CiAKICAgICAvLyBGSVhNRTogQ29udmVydCB0byBTY3JpcHRBcmd1bWVudHMgdG8gbWF0Y2ggbm9u
LXdvcmtlciBjb250ZXh0LgotICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV29y
a2VyR2xvYmFsU2NvcGUqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAgIHN0YXRpYyB2b2lkIGFkZE1l
c3NhZ2VUb0NvbnNvbGUoV29ya2VyR2xvYmFsU2NvcGUqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdl
VHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
ID0gMCk7CiAgICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXb3JrZXJHbG9iYWxT
Y29wZSosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3JpcHRJRCwgdW5zaWduZWQgbGluZU51bWJl
ciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4ZWNTdGF0ZSogPSBudWxscHRyLCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAKLSAgICBzdGF0aWMgdm9pZCBjb25z
b2xlQ291bnQoUGFnZSosIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVu
dHM+KTsKKyAgICBzdGF0aWMgdm9pZCBjb25zb2xlQ291bnQoUGFnZSosIEpTQzo6RXhlY1N0YXRl
KiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwogICAgIHN0YXRpYyB2
b2lkIHN0YXJ0Q29uc29sZVRpbWluZyhGcmFtZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpOwotICAg
IHN0YXRpYyB2b2lkIHN0b3BDb25zb2xlVGltaW5nKEZyYW1lKiwgY29uc3QgU3RyaW5nJiB0aXRs
ZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKLSAgICBzdGF0aWMgdm9pZCBjb25zb2xl
VGltZVN0YW1wKEZyYW1lKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKKyAgICBzdGF0
aWMgdm9pZCBzdG9wQ29uc29sZVRpbWluZyhGcmFtZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIFBh
c3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICBzdGF0aWMgdm9pZCBj
b25zb2xlVGltZVN0YW1wKEZyYW1lKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3Vt
ZW50cz4pOwogCiAgICAgc3RhdGljIHZvaWQgZGlkUmVxdWVzdEFuaW1hdGlvbkZyYW1lKERvY3Vt
ZW50KiwgaW50IGNhbGxiYWNrSWQpOwogICAgIHN0YXRpYyB2b2lkIGRpZENhbmNlbEFuaW1hdGlv
bkZyYW1lKERvY3VtZW50KiwgaW50IGNhbGxiYWNrSWQpOwpAQCAtMjIyLDcgKzIyNCw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRGaXJlQW5pbWF0aW9uRnJhbWUoY29uc3QgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAKICAgICBzdGF0aWMgdm9pZCBhZGRTdGFydFBy
b2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUoUGFnZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpOwotICAgIHN0YXRpYyB2b2lkIGFkZFByb2ZpbGUoUGFnZSosIFJlZlB0cjxTY3JpcHRQ
cm9maWxlPiwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICBzdGF0aWMgdm9pZCBh
ZGRQcm9maWxlKFBhZ2UqLCBSZWZQdHI8U2NyaXB0UHJvZmlsZT4sIFBhc3NSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKICAgICBzdGF0aWMgU3RyaW5nIGdldEN1cnJlbnRVc2Vy
SW5pdGlhdGVkUHJvZmlsZU5hbWUoUGFnZSosIGJvb2wgaW5jcmVtZW50UHJvZmlsZU51bWJlcik7
CiAgICAgc3RhdGljIGJvb2wgcHJvZmlsZXJFbmFibGVkKFBhZ2UqKTsKIApAQCAtMzg1LDE2ICsz
ODcsMTYgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llIHdpbGxXcml0ZUhUTUxJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCB1bnNpZ25lZCBzdGFy
dExpbmUsIEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkV3JpdGVIVE1MSW1wbChjb25zdCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCB1bnNpZ25lZCBlbmRMaW5lKTsKIAotICAg
IHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
LCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+LCB1
bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRNZXNz
YWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNT
dGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+LCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25z
b2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUs
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlw
dElELCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhl
Y1N0YXRlKiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcik7CiAKICAgICAvLyBGSVhN
RTogUmVtb3ZlIG9uY2Ugd2Ugbm8gbG9uZ2VyIGdlbmVyYXRlIHN0YWNrcyBvdXRzaWRlIG9mIElu
c3BlY3Rvci4KLSAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2ln
bmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpOworICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VU
b0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdl
VHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
KTsKIAotICAgIHN0YXRpYyB2b2lkIGNvbnNvbGVDb3VudEltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyosIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKKyAgICBz
dGF0aWMgdm9pZCBjb25zb2xlQ291bnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBKU0M6OkV4
ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKICAgICBz
dGF0aWMgdm9pZCBzdGFydENvbnNvbGVUaW1pbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBG
cmFtZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpOwotICAgIHN0YXRpYyB2b2lkIHN0b3BDb25zb2xl
VGltaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRp
dGxlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwotICAgIHN0YXRpYyB2b2lkIGNvbnNv
bGVUaW1lU3RhbXBJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSosIFBhc3NSZWZQdHI8
U2NyaXB0QXJndW1lbnRzPik7CisgICAgc3RhdGljIHZvaWQgc3RvcENvbnNvbGVUaW1pbmdJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NS
ZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICBzdGF0aWMgdm9pZCBjb25z
b2xlVGltZVN0YW1wSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAKICAgICBzdGF0aWMgdm9pZCBkaWRSZXF1
ZXN0QW5pbWF0aW9uRnJhbWVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBpbnQgY2FsbGJhY2tJ
ZCwgRnJhbWUqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRDYW5jZWxBbmltYXRpb25GcmFtZUltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyosIGludCBjYWxsYmFja0lkLCBGcmFtZSopOwpAQCAtNDAyLDcg
KzQwNCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgZGlkRmlyZUFuaW1hdGlvbkZyYW1l
SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKIAogICAgIHN0YXRp
YyB2b2lkIGFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyosIGNvbnN0IFN0cmluZyYgdGl0bGUsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2ln
bmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwotICAgIHN0YXRpYyB2
b2lkIGFkZFByb2ZpbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBSZWZQdHI8U2NyaXB0UHJv
ZmlsZT4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGljIHZvaWQgYWRk
UHJvZmlsZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFJlZlB0cjxTY3JpcHRQcm9maWxlPiwg
UGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4pOwogICAgIHN0YXRpYyBTdHJp
bmcgZ2V0Q3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZUltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyosIGJvb2wgaW5jcmVtZW50UHJvZmlsZU51bWJlcik7CiAgICAgc3RhdGljIGJvb2wgcHJv
ZmlsZXJFbmFibGVkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCmluZGV4IDRj
MWYwMDYuLjMzYWZmODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckxheWVyVHJlZUFnZW50LmNwcApAQCAtMzQsNyArMzQsNiBAQAogCiAjaW5jbHVkZSAi
SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCIKIAotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9y
eS5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
V2ViRnJvbnRlbmREaXNwYXRjaGVycy5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMu
aCIKQEAgLTQ0LDYgKzQzLDcgQEAKICNpbmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKICNp
bmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3Lmgi
CisjaW5jbHVkZSA8aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogCiB1c2luZyBuYW1l
c3BhY2UgSW5zcGVjdG9yOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQYWdlQWdlbnQuY3BwCmluZGV4IGYyNzkzMGMuLmNmZWU1ZDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC0yOSwxMSArMjksMTAg
QEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9S
KQorCiAjaW5jbHVkZSAiQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIkNhY2hlZEZv
bnQuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgpAQCAtNTMsNyArNTIsNiBAQAogI2luY2x1
ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgogI2lu
Y2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKQEAgLTczLDYgKzcxLDcgQEAKICNpbmNsdWRlICJV
c2VyR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+
CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaD4KKyNpbmNsdWRl
IDxpbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0lu
c3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUg
PHd0Zi9MaXN0SGFzaFNldC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCmluZGV4IGU4NDA3ZWUuLmM1MmM2NmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAK
QEAgLTI4LDI5ICsyOCwyNyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm9maWxlckFnZW50LmgiCiAK
KyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0Lmgi
CiAjaW5jbHVkZSAiQ29uc29sZS5oIgotI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2lu
Y2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvcldlYkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRl
ICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCi0jaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgogI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJQ
YWdlU2NyaXB0RGVidWdTZXJ2ZXIuaCIKICNpbmNsdWRlICJTY3JpcHRIZWFwU25hcHNob3QuaCIK
ICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIK
KyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5oIgog
I2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdE9iamVjdC5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9D
b25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaD4KICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRp
bWUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
Q29uY2F0ZW5hdGUuaD4KQEAgLTE1NiwxNCArMTU0LDE0IEBAIHZvaWQgSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudDo6YWRkUHJvZmlsZUZpbmlzaGVkTWVzc2FnZVRvQ29uc29sZShQYXNzUmVmUHRyPFNj
cmlwCiAgICAgICAgIHJldHVybjsKICAgICBSZWZQdHI8U2NyaXB0UHJvZmlsZT4gcHJvZmlsZSA9
IHBycFByb2ZpbGU7CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBtYWtlU3RyaW5nKHByb2ZpbGUtPnRp
dGxlKCksICcjJywgU3RyaW5nOjpudW1iZXIocHJvZmlsZS0+dWlkKCkpKTsKLSAgICBtX2NvbnNv
bGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgUHJv
ZmlsZUVuZE1lc3NhZ2VUeXBlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgc291cmNlVVJM
LCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpOworICAgIG1fY29uc29sZUFnZW50LT5hZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpQcm9m
aWxlRW5kLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1i
ZXIsIGNvbHVtbk51bWJlcik7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6YWRk
U3RhcnRQcm9maWxpbmdNZXNzYWdlVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgdGl0bGUsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpCiB7CiAgICAgaWYgKCFtX2Zyb250ZW5kRGlzcGF0Y2hlcikKICAgICAgICAgcmV0dXJu
OwotICAgIG1fY29uc29sZUFnZW50LT5hZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNz
YWdlU291cmNlLCBQcm9maWxlTWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxldmVsLCB0aXRsZSwg
c291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpOworICAgIG1fY29uc29sZUFnZW50
LT5hZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VU
eXBlOjpQcm9maWxlLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCB0aXRsZSwgc291cmNlVVJMLCBsaW5l
TnVtYmVyLCBjb2x1bW5OdW1iZXIpOwogfQogCiB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6
OmNvbGxlY3RHYXJiYWdlKFdlYkNvcmU6OkVycm9yU3RyaW5nKikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCmluZGV4IGI5YjYwMzEuLjdk
ZmUxOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2Zp
bGVyQWdlbnQuaApAQCAtNDMsMTIgKzQzLDEyIEBACiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Igewog
Y2xhc3MgSW5zcGVjdG9yQXJyYXk7CitjbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdlbnQ7CiBjbGFz
cyBJbnNwZWN0b3JPYmplY3Q7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSW5z
cGVjdG9yQ29uc29sZUFnZW50OwogY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKIGNsYXNzIFBh
Z2U7CiBjbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwpAQCAtNjEsOCArNjEsOCBAQCB0
eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIGNsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdlbnQg
OiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JQ
cm9maWxlckJhY2tlbmREaXNwYXRjaGVySGFuZGxlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4g
Y3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBQYWdl
KiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOwotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqLCBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQqLCBXb3JrZXJHbG9iYWxTY29wZSosIFBhZ2VJbmplY3RlZFNj
cmlwdE1hbmFnZXIqKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclByb2Zp
bGVyQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yOjpJbnNwZWN0
b3JDb25zb2xlQWdlbnQqLCBQYWdlKiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOworICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKElu
c3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCosIFdv
cmtlckdsb2JhbFNjb3BlKiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOwogCiAgICAgdmly
dHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwogCkBAIC0xMDEsNyArMTAxLDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBnZXRIZWFwT2JqZWN0SWQoRXJyb3JTdHJpbmcqLCBjb25z
dCBTdHJpbmcmIG9iamVjdElkLCBTdHJpbmcqIGhlYXBTbmFwc2hvdE9iamVjdElkKSBvdmVycmlk
ZTsKIAogcHJvdGVjdGVkOgotICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQoSW5zdHJ1bWVudGlu
Z0FnZW50cyosIEluc3BlY3RvckNvbnNvbGVBZ2VudCosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqKTsKKyAgICBJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJ
bnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRQcm9maWxpbmcoY29uc3QgU3RyaW5nJiB0aXRs
ZSkgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wUHJvZmls
aW5nKGNvbnN0IFN0cmluZyYgdGl0bGUpID0gMDsKIApAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpQcm9maWxlcjo6UHJv
ZmlsZUhlYWRlcj4gY3JlYXRlUHJvZmlsZUhlYWRlcihjb25zdCBTY3JpcHRQcm9maWxlJik7CiAg
ICAgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpQcm9maWxlcjo6UHJvZmlsZUhl
YWRlcj4gY3JlYXRlU25hcHNob3RIZWFkZXIoY29uc3QgU2NyaXB0SGVhcFNuYXBzaG90Jik7CiAK
LSAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIG1fY29uc29sZUFnZW50OworICAgIEluc3BlY3Rv
cjo6SW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKICAgICBQYWdlSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JQcm9maWxlckZyb250ZW5kRGlzcGF0Y2hlcj4gbV9m
cm9udGVuZERpc3BhdGNoZXI7CiAgICAgUmVmUHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yUHJvZmls
ZXJCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAppbmRleCA2NWY4
ZGIxLi40ODBiZGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJlc291cmNlQWdlbnQuY3BwCkBAIC0yOSwxMSArMjksMTAgQEAKICAqLwogCiAjaW5jbHVk
ZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC5oIgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogI2luY2x1ZGUg
IkNhY2hlZFJhd1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgpAQCAtNDQsMTEgKzQzLDExIEBACiAjaW5jbHVk
ZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTWFwLmgiCiAjaW5jbHVkZSAi
SWNvbkNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQYWdlQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSAi
SW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5o
IgogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlc0Rh
dGEuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC01OCwxNSArNTcsMTYgQEAKICNpbmNsdWRlICJS
ZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUg
IlJlc291cmNlUmVzcG9uc2UuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNs
dWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3Vt
ZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdWJyZXNvdXJj
ZUxvYWRlci5oIgogI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEZyYW1lLmgi
CiAjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3QuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvSWRlbnRp
ZmllcnNGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgor
I2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0
b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQu
aD4KQEAgLTQzOSw3ICs0MzksNyBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFNj
aGVkdWxlU3R5bGVSZWNhbGN1bGF0aW9uKERvY3VtZW50KiBkb2N1bWVudCkKIAogUGFzc1JlZlB0
cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpOZXR3b3JrOjpJbml0aWF0b3I+IEluc3BlY3RvclJl
c291cmNlQWdlbnQ6OmJ1aWxkSW5pdGlhdG9yT2JqZWN0KERvY3VtZW50KiBkb2N1bWVudCkKIHsK
LSAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFja1RyYWNlID0gY3JlYXRlU2NyaXB0Q2Fs
bFN0YWNrKFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7
CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENh
bGxTdGFjayhKU01haW5UaHJlYWRFeGVjU3RhdGU6OmN1cnJlbnRTdGF0ZSgpLCBTY3JpcHRDYWxs
U3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpOwogICAgIGlmIChzdGFja1Ry
YWNlICYmIHN0YWNrVHJhY2UtPnNpemUoKSA+IDApIHsKICAgICAgICAgUmVmUHRyPEluc3BlY3Rv
cjo6VHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcj4gaW5pdGlhdG9yT2JqZWN0ID0gSW5z
cGVjdG9yOjpUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9yOjpjcmVhdGUoKQogICAgICAg
ICAgICAgLnNldFR5cGUoSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9y
OjpUeXBlOjpTY3JpcHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IDhhZWM2OGUuLjRhMGNlZmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAg
LTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ291bnRlcnMu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKQEAgLTUzLDYgKzUyLDcg
QEAKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmls
ZXIuaCIKICNpbmNsdWRlICJUaW1lbGluZVJlY29yZEZhY3RvcnkuaCIKKyNpbmNsdWRlIDxpbnNw
ZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CiAKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAKaW5kZXggOThlNmJkZC4uYjIyYzdiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcApA
QCAtNDksNyArNDksNyBAQCBJbnN0cnVtZW50aW5nQWdlbnRzOjpJbnN0cnVtZW50aW5nQWdlbnRz
KEluc3BlY3RvckVudmlyb25tZW50JiBlbnZpcm9ubWVudCkKICAgICAsIG1faW5zcGVjdG9yUGFn
ZUFnZW50KG51bGxwdHIpCiAgICAgLCBtX2luc3BlY3RvckNTU0FnZW50KG51bGxwdHIpCiAgICAg
LCBtX2luc3BlY3RvckxheWVyVHJlZUFnZW50KG51bGxwdHIpCi0gICAgLCBtX2luc3BlY3RvckNv
bnNvbGVBZ2VudChudWxscHRyKQorICAgICwgbV93ZWJDb25zb2xlQWdlbnQobnVsbHB0cikKICAg
ICAsIG1faW5zcGVjdG9yRE9NQWdlbnQobnVsbHB0cikKICAgICAsIG1faW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudChudWxscHRyKQogICAgICwgbV9wYWdlUnVudGltZUFnZW50KG51bGxwdHIpCkBAIC03
NSw3ICs3NSw3IEBAIHZvaWQgSW5zdHJ1bWVudGluZ0FnZW50czo6cmVzZXQoKQogICAgIG1faW5z
cGVjdG9yUGFnZUFnZW50ID0gbnVsbHB0cjsKICAgICBtX2luc3BlY3RvckNTU0FnZW50ID0gbnVs
bHB0cjsKICAgICBtX2luc3BlY3RvckxheWVyVHJlZUFnZW50ID0gbnVsbHB0cjsKLSAgICBtX2lu
c3BlY3RvckNvbnNvbGVBZ2VudCA9IG51bGxwdHI7CisgICAgbV93ZWJDb25zb2xlQWdlbnQgPSBu
dWxscHRyOwogICAgIG1faW5zcGVjdG9yRE9NQWdlbnQgPSBudWxscHRyOwogICAgIG1faW5zcGVj
dG9yUmVzb3VyY2VBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9wYWdlUnVudGltZUFnZW50ID0gbnVs
bHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5n
QWdlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5o
CmluZGV4IGM5OWQyNjkuLjM3ZmFiMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3RydW1lbnRpbmdBZ2VudHMuaApAQCAtNDcsNyArNDcsNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0
b3JDU1NBZ2VudDsKIGNsYXNzIEluc3BlY3RvckNhbnZhc0FnZW50OwotY2xhc3MgSW5zcGVjdG9y
Q29uc29sZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JE
T01EZWJ1Z2dlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OwpAQCAtNjIs
NiArNjEsNyBAQCBjbGFzcyBJbnNwZWN0b3JXb3JrZXJBZ2VudDsKIGNsYXNzIFBhZ2U7CiBjbGFz
cyBQYWdlRGVidWdnZXJBZ2VudDsKIGNsYXNzIFBhZ2VSdW50aW1lQWdlbnQ7CitjbGFzcyBXZWJD
b25zb2xlQWdlbnQ7CiBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKIGNsYXNzIFdvcmtlclJ1bnRp
bWVBZ2VudDsKIApAQCAtODcsOCArODcsOCBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yQ1NTQWdl
bnQqIGluc3BlY3RvckNTU0FnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JDU1NBZ2Vu
dDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yQ1NTQWdlbnQoSW5zcGVjdG9yQ1NTQWdlbnQqIGFn
ZW50KSB7IG1faW5zcGVjdG9yQ1NTQWdlbnQgPSBhZ2VudDsgfQogCi0gICAgSW5zcGVjdG9yQ29u
c29sZUFnZW50KiBpbnNwZWN0b3JDb25zb2xlQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3Bl
Y3RvckNvbnNvbGVBZ2VudDsgfQotICAgIHZvaWQgc2V0SW5zcGVjdG9yQ29uc29sZUFnZW50KElu
c3BlY3RvckNvbnNvbGVBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JDb25zb2xlQWdlbnQgPSBh
Z2VudDsgfQorICAgIFdlYkNvbnNvbGVBZ2VudCogd2ViQ29uc29sZUFnZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV93ZWJDb25zb2xlQWdlbnQ7IH0KKyAgICB2b2lkIHNldFdlYkNvbnNvbGVBZ2VudChX
ZWJDb25zb2xlQWdlbnQqIGFnZW50KSB7IG1fd2ViQ29uc29sZUFnZW50ID0gYWdlbnQ7IH0KIAog
ICAgIEluc3BlY3RvckRPTUFnZW50KiBpbnNwZWN0b3JET01BZ2VudCgpIGNvbnN0IHsgcmV0dXJu
IG1faW5zcGVjdG9yRE9NQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvckRPTUFnZW50KElu
c3BlY3RvckRPTUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckRPTUFnZW50ID0gYWdlbnQ7IH0K
QEAgLTE0OSw3ICsxNDksNyBAQCBwcml2YXRlOgogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9p
bnNwZWN0b3JQYWdlQWdlbnQ7CiAgICAgSW5zcGVjdG9yQ1NTQWdlbnQqIG1faW5zcGVjdG9yQ1NT
QWdlbnQ7CiAgICAgSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQqIG1faW5zcGVjdG9yTGF5ZXJUcmVl
QWdlbnQ7Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2luc3BlY3RvckNvbnNvbGVBZ2Vu
dDsKKyAgICBXZWJDb25zb2xlQWdlbnQqIG1fd2ViQ29uc29sZUFnZW50OwogICAgIEluc3BlY3Rv
ckRPTUFnZW50KiBtX2luc3BlY3RvckRPTUFnZW50OwogICAgIEluc3BlY3RvclJlc291cmNlQWdl
bnQqIG1faW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKICAgICBQYWdlUnVudGltZUFnZW50KiBtX3Bh
Z2VSdW50aW1lQWdlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFn
ZUNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVB
Z2VudC5jcHAKaW5kZXggMWFkYjQ0OS4uNzE1OWNkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAKICNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKLSNpbmNsdWRl
ICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUg
Ik5vZGUuaCIKICNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCkBAIC00Mywy
MSArNDIsMTcgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1QYWdlQ29uc29sZUFnZW50OjpQYWdlQ29uc29sZUFnZW50KEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGlu
amVjdGVkU2NyaXB0TWFuYWdlciwgSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50KQotICAgIDog
SW5zcGVjdG9yQ29uc29sZUFnZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIGluamVjdGVkU2NyaXB0
TWFuYWdlcikKK1BhZ2VDb25zb2xlQWdlbnQ6OlBhZ2VDb25zb2xlQWdlbnQoUGFnZUluamVjdGVk
U2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLCBJbnNwZWN0b3JET01BZ2VudCog
ZG9tQWdlbnQpCisgICAgOiBXZWJDb25zb2xlQWdlbnQoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQog
ICAgICwgbV9pbnNwZWN0b3JET01BZ2VudChkb21BZ2VudCkKIHsKIH0KIAotUGFnZUNvbnNvbGVB
Z2VudDo6flBhZ2VDb25zb2xlQWdlbnQoKQotewotICAgIG1faW5zcGVjdG9yRE9NQWdlbnQgPSBu
dWxscHRyOwotfQotCiB2b2lkIFBhZ2VDb25zb2xlQWdlbnQ6OmNsZWFyTWVzc2FnZXMoRXJyb3JT
dHJpbmcqIGVycm9yU3RyaW5nKQogewogICAgIG1faW5zcGVjdG9yRE9NQWdlbnQtPnJlbGVhc2VE
YW5nbGluZ05vZGVzKCk7Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpjbGVhck1lc3NhZ2Vz
KGVycm9yU3RyaW5nKTsKKworICAgIFdlYkNvbnNvbGVBZ2VudDo6Y2xlYXJNZXNzYWdlcyhlcnJv
clN0cmluZyk7CiB9CiAKIGNsYXNzIEluc3BlY3RhYmxlTm9kZSBmaW5hbCA6IHB1YmxpYyBDb21t
YW5kTGluZUFQSUhvc3Q6Okluc3BlY3RhYmxlT2JqZWN0IHsKQEAgLTc5LDcgKzc0LDcgQEAgdm9p
ZCBQYWdlQ29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nKiBlcnJvclN0
cmluZywgaW50IG5vZGVJZCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChDb21t
YW5kTGluZUFQSUhvc3QqIGNvbW1hbmRMaW5lQVBJSG9zdCA9IG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLT5jb21tYW5kTGluZUFQSUhvc3QoKSkKKyAgICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBj
b21tYW5kTGluZUFQSUhvc3QgPSBzdGF0aWNfY2FzdDxQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
Kj4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIpLT5jb21tYW5kTGluZUFQSUhvc3QoKSkKICAgICAg
ICAgY29tbWFuZExpbmVBUElIb3N0LT5hZGRJbnNwZWN0ZWRPYmplY3QoYWRvcHRQdHIobmV3IElu
c3BlY3RhYmxlTm9kZShub2RlKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VDb25zb2xlQWdlbnQuaAppbmRleCBkNTU3ZjFhLi5kMGI1NTY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmgKQEAgLTMxLDggKzMxLDcgQEAKICNpZm5k
ZWYgUGFnZUNvbnNvbGVBZ2VudF9oCiAjZGVmaW5lIFBhZ2VDb25zb2xlQWdlbnRfaAogCi0jaW5j
bHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KKyNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKIAogI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CiAKQEAgLTQwLDEzICszOSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3Bl
Y3RvckRPTUFnZW50OwogCi1jbGFzcyBQYWdlQ29uc29sZUFnZW50IDogcHVibGljIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudCB7CitjbGFzcyBQYWdlQ29uc29sZUFnZW50IGZpbmFsIDogcHVibGljIFdl
YkNvbnNvbGVBZ2VudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNvbnNvbGVBZ2Vu
dCk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgUGFnZUNvbnNv
bGVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlcios
IEluc3BlY3RvckRPTUFnZW50Kik7Ci0gICAgdmlydHVhbCB+UGFnZUNvbnNvbGVBZ2VudCgpOwor
ICAgIFBhZ2VDb25zb2xlQWdlbnQoUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciosIEluc3BlY3Rv
ckRPTUFnZW50Kik7CisgICAgdmlydHVhbCB+UGFnZUNvbnNvbGVBZ2VudCgpIHsgfQogCi0gICAg
dmlydHVhbCBib29sIGlzV29ya2VyQWdlbnQoKSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQor
ICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
ZmFsc2U7IH0KIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJNZXNzYWdlcyhFcnJv
clN0cmluZyopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1BhZ2VEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVi
dWdnZXJBZ2VudC5jcHAKaW5kZXggNjdmNDk1MS4uNTI2YmIxYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwCkBAIC0xMTUsNyArMTE1LDcgQEAg
dm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6dW5tdXRlQ29uc29sZSgpCiAKIHZvaWQgUGFnZURlYnVn
Z2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UpCiB7Ci0gICAgbV9wYWdlQWdlbnQtPnBhZ2UoKS0+Y29uc29sZSgpLmFkZE1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIG1f
cGFnZUFnZW50LT5wYWdlKCktPmNvbnNvbGUoKS5hZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpT
LCBNZXNzYWdlTGV2ZWw6OkxvZywgbWVzc2FnZSk7CiB9CiAKIEluamVjdGVkU2NyaXB0IFBhZ2VE
ZWJ1Z2dlckFnZW50OjppbmplY3RlZFNjcmlwdEZvckV2YWwoRXJyb3JTdHJpbmcqIGVycm9yU3Ry
aW5nLCBjb25zdCBpbnQqIGV4ZWN1dGlvbkNvbnRleHRJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5oCmluZGV4IDY1ODIxODguLmFmYmM2
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3Jp
cHRIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlw
dEhvc3QuaApAQCAtMzIsNiArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEZJ
WE1FOiBSZW5hbWUgdG8gV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LgogY2xhc3MgUGFnZUluamVjdGVk
U2NyaXB0SG9zdCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0SG9zdCB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8UGFnZUluamVjdGVkU2NyaXB0SG9zdD4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBhZ2VJbmplY3RlZFNjcmlwdEhvc3QpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0
TWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1h
bmFnZXIuaAppbmRleCAxZjg3MDdlLi5lMjc0ZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTM0LDYgKzM0LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBET01XaW5kb3c7CiAKKy8vIEZJWE1FOiBS
ZW5hbWUgdG8gV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLgogY2xhc3MgUGFnZUluamVjdGVkU2Ny
aXB0TWFuYWdlciBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0TWFuYWdl
ciB7CiBwdWJsaWM6CiAgICAgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlcihJbnNwZWN0b3I6Oklu
c3BlY3RvckVudmlyb25tZW50JiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0
SG9zdD4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVj
b3JkRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRG
YWN0b3J5LmNwcAppbmRleCAxNzU5M2I4Li5kOWRhNzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcApAQCAtMzcsMTMgKzM3LDE0
IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRl
ICJJbnRSZWN0LmgiCisjaW5jbHVkZSAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCiAjaW5jbHVk
ZSAiTGF5b3V0UmVjdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUg
IlJlc291cmNlUmVzcG9uc2UuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNs
dWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5o
IgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KKyNpbmNsdWRlIDxpbnNw
ZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogdXNpbmcgbmFt
ZXNwYWNlIEluc3BlY3RvcjsKQEAgLTU2LDcgKzU3LDcgQEAgUGFzc1JlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZChkb3VibGUg
c3QKICAgICByZWNvcmQtPnNldE51bWJlcigic3RhcnRUaW1lIiwgc3RhcnRUaW1lKTsKIAogICAg
IGlmIChtYXhDYWxsU3RhY2tEZXB0aCkgewotICAgICAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiBzdGFja1RyYWNlID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKG1heENhbGxTdGFja0RlcHRoLCB0
cnVlKTsKKyAgICAgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0
ZVNjcmlwdENhbGxTdGFjayhKU01haW5UaHJlYWRFeGVjU3RhdGU6OmN1cnJlbnRTdGF0ZSgpLCBt
YXhDYWxsU3RhY2tEZXB0aCwgdHJ1ZSk7CiAgICAgICAgIGlmIChzdGFja1RyYWNlICYmIHN0YWNr
VHJhY2UtPnNpemUoKSkKICAgICAgICAgICAgIHJlY29yZC0+c2V0VmFsdWUoInN0YWNrVHJhY2Ui
LCBzdGFja1RyYWNlLT5idWlsZEluc3BlY3RvckFycmF5KCkpOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZjU3MWJjNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwCkBAIC0wLDAgKzEsMTMyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQ29uc29sZUFnZW50Lmgi
CisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCisjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0
LmgiCisjaW5jbHVkZSAiQ29uc29sZS5oIgorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1
ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUVycm9y
LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgIlNjcmlwdFByb2Zp
bGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuaD4KKwordXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitXZWJDb25zb2xlQWdlbnQ6OldlYkNvbnNvbGVBZ2VudChQYWdlSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0b3JD
b25zb2xlQWdlbnQoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgICwgbV9tb25pdG9yaW5nWEhS
RW5hYmxlZChmYWxzZSkKK3sKK30KKwordm9pZCBXZWJDb25zb2xlQWdlbnQ6OnNldE1vbml0b3Jp
bmdYSFJFbmFibGVkKEVycm9yU3RyaW5nKiwgYm9vbCBlbmFibGVkKQoreworICAgIG1fbW9uaXRv
cmluZ1hIUkVuYWJsZWQgPSBlbmFibGVkOworfQorCit2b2lkIFdlYkNvbnNvbGVBZ2VudDo6ZnJh
bWVXaW5kb3dEaXNjYXJkZWQoRE9NV2luZG93KiB3aW5kb3cpCit7CisgICAgSlNDOjpFeGVjU3Rh
dGUqIHNjcmlwdFN0YXRlID0gbWFpbldvcmxkRXhlY1N0YXRlKHdpbmRvdy0+ZnJhbWUoKSk7Cisg
ICAgc2l6ZV90IG1lc3NhZ2VDb3VudCA9IG1fY29uc29sZU1lc3NhZ2VzLnNpemUoKTsKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1lc3NhZ2VDb3VudDsgKytpKQorICAgICAgICBtX2NvbnNv
bGVNZXNzYWdlc1tpXS0+c2NyaXB0U3RhdGVDbGVhcmVkKHNjcmlwdFN0YXRlKTsKKworICAgIHN0
YXRpY19jYXN0PFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqPihtX2luamVjdGVkU2NyaXB0TWFu
YWdlciktPmRpc2NhcmRJbmplY3RlZFNjcmlwdHNGb3Iod2luZG93KTsKK30KKwordm9pZCBXZWJD
b25zb2xlQWdlbnQ6OmRpZEZpbmlzaFhIUkxvYWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgc2VuZFVSTCwgdW5zaWdu
ZWQgc2VuZExpbmVOdW1iZXIsIHVuc2lnbmVkIHNlbmRDb2x1bW5OdW1iZXIpCit7CisgICAgaWYg
KCFtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9w
ZXJFeHRyYXNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2Zyb250ZW5k
RGlzcGF0Y2hlciAmJiBtX21vbml0b3JpbmdYSFJFbmFibGVkKSB7CisgICAgICAgIFN0cmluZyBt
ZXNzYWdlID0gIlhIUiBmaW5pc2hlZCBsb2FkaW5nOiBcIiIgKyB1cmwgKyAiXCIuIjsKKyAgICAg
ICAgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlVHlw
ZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdlLCBzZW5kVVJMLCBzZW5kTGluZU51
bWJlciwgc2VuZENvbHVtbk51bWJlciwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOworICAg
IH0KK30KKwordm9pZCBXZWJDb25zb2xlQWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25l
ZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSkKK3sKKyAgICBpZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JFbnZpcm9u
bWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
aWYgKHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgPj0gNDAwKSB7CisgICAgICAgIFN0cmluZyBt
ZXNzYWdlID0gIkZhaWxlZCB0byBsb2FkIHJlc291cmNlOiB0aGUgc2VydmVyIHJlc3BvbmRlZCB3
aXRoIGEgc3RhdHVzIG9mICIgKyBTdHJpbmc6Om51bWJlcihyZXNwb25zZS5odHRwU3RhdHVzQ29k
ZSgpKSArICIgKCIgKyByZXNwb25zZS5odHRwU3RhdHVzVGV4dCgpICsgJyknOworICAgICAgICBh
ZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcmssIE1lc3NhZ2VUeXBlOjpM
b2csIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UsIHJlc3BvbnNlLnVybCgpLnN0cmluZygp
LCAwLCAwLCBudWxscHRyLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgfQorfQorCit2b2lkIFdl
YkNvbnNvbGVBZ2VudDo6ZGlkRmFpbExvYWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCit7CisgICAgaWYgKCFtX2luamVjdGVk
U2NyaXB0TWFuYWdlci0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFi
bGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFJlcG9ydCBmYWlsdXJlcyBvbmx5Lgor
ICAgIGlmIChlcnJvci5pc0NhbmNlbGxhdGlvbigpKQorICAgICAgICByZXR1cm47CisKKyAgICBT
dHJpbmdCdWlsZGVyIG1lc3NhZ2U7CisgICAgbWVzc2FnZS5hcHBlbmRMaXRlcmFsKCJGYWlsZWQg
dG8gbG9hZCByZXNvdXJjZSIpOworICAgIGlmICghZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24o
KS5pc0VtcHR5KCkpIHsKKyAgICAgICAgbWVzc2FnZS5hcHBlbmRMaXRlcmFsKCI6ICIpOworICAg
ICAgICBtZXNzYWdlLmFwcGVuZChlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKTsKKyAgICB9
CisKKyAgICBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcmssIE1lc3Nh
Z2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UudG9TdHJpbmcoKSwgZXJy
b3IuZmFpbGluZ1VSTCgpLCAwLCAwLCBudWxscHRyLCByZXF1ZXN0SWRlbnRpZmllcik7Cit9CisK
K2NsYXNzIEluc3BlY3RhYmxlSGVhcE9iamVjdCBmaW5hbCA6IHB1YmxpYyBDb21tYW5kTGluZUFQ
SUhvc3Q6Okluc3BlY3RhYmxlT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBJbnNwZWN0
YWJsZUhlYXBPYmplY3QoaW50IGhlYXBPYmplY3RJZCkKKyAgICAgICAgOiBtX2hlYXBPYmplY3RJ
ZChoZWFwT2JqZWN0SWQpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgRGVwcmVjYXRlZDo6
U2NyaXB0VmFsdWUgZ2V0KEpTQzo6RXhlY1N0YXRlKikgb3ZlcnJpZGUKKyAgICB7CisgICAgICAg
IHJldHVybiBTY3JpcHRQcm9maWxlcjo6b2JqZWN0QnlIZWFwT2JqZWN0SWQobV9oZWFwT2JqZWN0
SWQpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBpbnQgbV9oZWFwT2JqZWN0SWQ7Cit9OworCit2
b2lkIFdlYkNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyos
IGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpCit7CisgICAgaWYgKENvbW1hbmRMaW5lQVBJSG9z
dCogY29tbWFuZExpbmVBUElIb3N0ID0gc3RhdGljX2Nhc3Q8UGFnZUluamVjdGVkU2NyaXB0TWFu
YWdlcio+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKS0+Y29tbWFuZExpbmVBUElIb3N0KCkpCisg
ICAgICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+YWRkSW5zcGVjdGVkT2JqZWN0KGFkb3B0UHRyKG5l
dyBJbnNwZWN0YWJsZUhlYXBPYmplY3QoaW5zcGVjdGVkSGVhcE9iamVjdElkKSkpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oCnNpbWlsYXJpdHkgaW5kZXgg
NTElCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMu
aApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oCmlu
ZGV4IDExZjY1ZWMuLjRkZWJmZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Db25zb2xlQVBJVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29u
c29sZUFnZW50LmgKQEAgLTEsNSArMSw2IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTIyLDI3ICsyMyw0MyBAQAogICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBDb25zb2xlQVBJ
VHlwZXNfaAotI2RlZmluZSBDb25zb2xlQVBJVHlwZXNfaAorI2lmbmRlZiBXZWJDb25zb2xlQWdl
bnRfaAorI2RlZmluZSBXZWJDb25zb2xlQWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikK
KworI2luY2x1ZGUgPGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBNZXNzYWdlVHlwZSB7Ci0gICAgTG9nTWVzc2Fn
ZVR5cGUsCi0gICAgRGlyTWVzc2FnZVR5cGUsCi0gICAgRGlyWE1MTWVzc2FnZVR5cGUsCi0gICAg
VGFibGVNZXNzYWdlVHlwZSwKLSAgICBUcmFjZU1lc3NhZ2VUeXBlLAotICAgIFN0YXJ0R3JvdXBN
ZXNzYWdlVHlwZSwKLSAgICBTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUsCi0gICAgRW5k
R3JvdXBNZXNzYWdlVHlwZSwKLSAgICBDbGVhck1lc3NhZ2VUeXBlLAotICAgIEFzc2VydE1lc3Nh
Z2VUeXBlLAotICAgIFRpbWluZ01lc3NhZ2VUeXBlLAotICAgIFByb2ZpbGVNZXNzYWdlVHlwZSwK
LSAgICBQcm9maWxlRW5kTWVzc2FnZVR5cGUKK2NsYXNzIERPTVdpbmRvdzsKK2NsYXNzIFBhZ2VJ
bmplY3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBSZXNvdXJjZUVycm9yOworY2xhc3MgUmVzb3Vy
Y2VSZXNwb25zZTsKK3R5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBXZWJDb25z
b2xlQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvbnNvbGVBZ2VudCk7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgV2ViQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNj
cmlwdE1hbmFnZXIqKTsKKyAgICB2aXJ0dWFsIH5XZWJDb25zb2xlQWdlbnQoKSB7IH0KKworICAg
IHZpcnR1YWwgdm9pZCBzZXRNb25pdG9yaW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wg
ZW5hYmxlZCkgb3ZlcnJpZGUgZmluYWw7CisgICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZEhl
YXBPYmplY3QoRXJyb3JTdHJpbmcqLCBpbnQgaW5zcGVjdGVkSGVhcE9iamVjdElkKSBvdmVycmlk
ZSBmaW5hbDsKKworICAgIHZvaWQgZnJhbWVXaW5kb3dEaXNjYXJkZWQoRE9NV2luZG93Kik7CisK
KyAgICB2b2lkIGRpZEZpbmlzaFhIUkxvYWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgc2VuZFVSTCwgdW5zaWduZWQg
c2VuZExpbmVOdW1iZXIsIHVuc2lnbmVkIHNlbmRDb2x1bW5OdW1iZXIpOworICAgIHZvaWQgZGlk
UmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmKTsKKyAgICB2b2lkIGRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKKworcHJvdGVjdGVkOgor
ICAgIGJvb2wgbV9tb25pdG9yaW5nWEhSRW5hYmxlZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAotI2VuZGlmIC8vIENvbnNvbGVBUElUeXBlc19oCisjZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKKworI2VuZGlmIC8vICFkZWZpbmVkKFdlYkNvbnNvbGVBZ2VudF9oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmNwcAppbmRleCA5ZjEw
NTZkLi4yNThhOGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2Vy
Q29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29u
c29sZUFnZW50LmNwcApAQCAtMzgsMTggKzM4LDE0IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0
b3I7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV29ya2VyQ29uc29sZUFnZW50OjpXb3JrZXJD
b25zb2xlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgUGFn
ZUluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQotICAgIDogSW5z
cGVjdG9yQ29uc29sZUFnZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIGluamVjdGVkU2NyaXB0TWFu
YWdlcikKLXsKLX0KLQotV29ya2VyQ29uc29sZUFnZW50Ojp+V29ya2VyQ29uc29sZUFnZW50KCkK
K1dvcmtlckNvbnNvbGVBZ2VudDo6V29ya2VyQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNjcmlw
dE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IFdlYkNvbnNvbGVBZ2VudChp
bmplY3RlZFNjcmlwdE1hbmFnZXIpCiB7CiB9CiAKIHZvaWQgV29ya2VyQ29uc29sZUFnZW50Ojph
ZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nKiBlcnJvciwgaW50KQogewotICAgICplcnJvciA9
ICJhZGRJbnNwZWN0ZWROb2RlIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHdvcmtlcnMiOworICAgICpl
cnJvciA9IEFTQ0lJTGl0ZXJhbCgiYWRkSW5zcGVjdGVkTm9kZSBpcyBub3Qgc3VwcG9ydGVkIGZv
ciB3b3JrZXJzIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuaAppbmRleCA5OWFkNTYyLi44NzZhNmNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oCkBA
IC0zMSwyMCArMzEsMjAgQEAKICNpZm5kZWYgV29ya2VyQ29uc29sZUFnZW50X2gKICNkZWZpbmUg
V29ya2VyQ29uc29sZUFnZW50X2gKIAotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5o
IgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSAiV2ViQ29uc29sZUFnZW50
LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFdvcmtlckNvbnNvbGVBZ2VudCA6IHB1YmxpYyBJbnNwZWN0b3JDb25zb2xlQWdlbnQgewor
Y2xhc3MgV29ya2VyQ29uc29sZUFnZW50IGZpbmFsIDogcHVibGljIFdlYkNvbnNvbGVBZ2VudCB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyQ29uc29sZUFnZW50KTsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXb3JrZXJDb25zb2xlQWdlbnQoSW5z
dHJ1bWVudGluZ0FnZW50cyosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKLSAgICB2aXJ0
dWFsIH5Xb3JrZXJDb25zb2xlQWdlbnQoKTsKKyAgICBXb3JrZXJDb25zb2xlQWdlbnQoUGFnZUlu
amVjdGVkU2NyaXB0TWFuYWdlciopOworICAgIHZpcnR1YWwgfldvcmtlckNvbnNvbGVBZ2VudCgp
IHsgfQogCi0gICAgdmlydHVhbCBib29sIGlzV29ya2VyQWdlbnQoKSBvdmVycmlkZSB7IHJldHVy
biB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzV29ya2VyQWdlbnQoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiB0cnVlOyB9CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGFkZEluc3Bl
Y3RlZE5vZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcAppbmRleCA1MDUzYTRj
Li5hNzFlZmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVi
dWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVn
Z2VyQWdlbnQuY3BwCkBAIC0xMjksNyArMTI5LDcgQEAgdm9pZCBXb3JrZXJEZWJ1Z2dlckFnZW50
OjpzdG9wTGlzdGVuaW5nU2NyaXB0RGVidWdTZXJ2ZXIoYm9vbCBpc0JlaW5nRGVzdHJveWVkKQog
CiB2b2lkIFdvcmtlckRlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVj
U3RhdGUqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAgbV9pbnNwZWN0ZWRXb3JrZXJH
bG9iYWxTY29wZS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdl
TGV2ZWwsIG1lc3NhZ2UpOworICAgIG1faW5zcGVjdGVkV29ya2VyR2xvYmFsU2NvcGUtPmFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkxvZywgbWVzc2Fn
ZSk7CiB9CiAKIFdvcmtlclNjcmlwdERlYnVnU2VydmVyJiBXb3JrZXJEZWJ1Z2dlckFnZW50Ojpz
Y3JpcHREZWJ1Z1NlcnZlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggZDBhOWY1YS4uN2MwMTVhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250
cm9sbGVyLmNwcApAQCAtMzYsNyArMzYsNiBAQAogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElI
b3N0LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9y
Q29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRm9yd2FyZGluZy5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckhlYXBQcm9maWxlckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgiCkBAIC05MCw3ICs4OSw5IEBAIFdvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXI6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIoV29ya2VyR2xvYmFsU2NvcGUmIHdvcmtlckds
CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRXb3JrZXJSdW50aW1lQWdlbnQobV9ydW50
aW1lQWdlbnQpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUocnVudGltZUFnZW50KSk7
CiAKLSAgICBhdXRvIGNvbnNvbGVBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyQ29uc29s
ZUFnZW50PihtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmdldCgpKTsKKyAgICBhdXRvIGNvbnNvbGVBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8V29y
a2VyQ29uc29sZUFnZW50PihtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSk7CisgICAgbV9p
bnN0cnVtZW50aW5nQWdlbnRzLT5zZXRXZWJDb25zb2xlQWdlbnQoY29uc29sZUFnZW50LmdldCgp
KTsKKwogICAgIGF1dG8gZGVidWdnZXJBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyRGVi
dWdnZXJBZ2VudD4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCksIG1faW5zdHJ1bWVudGlu
Z0FnZW50cy5nZXQoKSwgJndvcmtlckdsb2JhbFNjb3BlKTsKICAgICBtX3J1bnRpbWVBZ2VudC0+
c2V0U2NyaXB0RGVidWdTZXJ2ZXIoJmRlYnVnZ2VyQWdlbnQtPnNjcmlwdERlYnVnU2VydmVyKCkp
OwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUoZGVidWdnZXJBZ2VudCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggNWQwYTA4NS4uNTAwNmYxYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC02MTQsNyArNjE0
LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJj
ZSogcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmUKICAgICAgICAgaWYgKGZyYW1lTG9hZGVyKCkt
PnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKGNvbnRlbnQsIHJlc3BvbnNlLnVy
bCgpLCBpZGVudGlmaWVyKSkgewogICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojpjb250aW51ZUFmdGVyWEZyYW1lT3B0aW9uc0RlbmllZChtX2ZyYW1lLCB0aGlzLCBpZGVudGlm
aWVyLCByZXNwb25zZSk7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJSZWZ1c2VkIHRv
IGRpc3BsYXkgJyIgKyByZXNwb25zZS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5n
dGgoKSArICInIGluIGEgZnJhbWUgYmVjYXVzZSBpdCBzZXQgJ1gtRnJhbWUtT3B0aW9ucycgdG8g
JyIgKyBjb250ZW50ICsgIicuIjsKLSAgICAgICAgICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UsIGlkZW50aWZpZXIpOworICAgICAgICAgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsIG1lc3NhZ2UsIGlkZW50aWZpZXIpOwogICAgICAgICAgICAgZnJhbWUoKS0+ZG9jdW1l
bnQoKS0+ZW5mb3JjZVNhbmRib3hGbGFncyhTYW5kYm94T3JpZ2luKTsKICAgICAgICAgICAgIGlm
IChIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCA9IGZyYW1lKCktPm93bmVyRWxl
bWVudCgpKQogICAgICAgICAgICAgICAgIG93bmVyRWxlbWVudC0+ZGlzcGF0Y2hFdmVudChFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5sb2FkRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZDUyOWM3OC4uYWMzMWNkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC05NSw3ICs5NSw2IEBACiAjaW5jbHVk
ZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNs
dWRlICJTY2hlbWVSZWdpc3RyeS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2lu
Y2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgi
CiAjaW5jbHVkZSAiU2Nyb2xsQW5pbWF0b3IuaCIKQEAgLTM3Niw3ICszNzUsNyBAQCB2b2lkIEZy
YW1lTG9hZGVyOjpzdWJtaXRGb3JtKFBhc3NSZWZQdHI8Rm9ybVN1Ym1pc3Npb24+IHN1Ym1pc3Np
b24pCiAKICAgICBpZiAoaXNEb2N1bWVudFNhbmRib3hlZCgmbV9mcmFtZSwgU2FuZGJveEZvcm1z
KSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYg
dGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJCbG9ja2VkIGZvcm0gc3VibWlzc2lvbiB0byAnIiArIHN1Ym1pc3Npb24tPmFjdGlvbigp
LnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSB0aGUgZm9ybSdz
IGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1mb3JtcycgcGVybWlzc2lvbiBpcyBu
b3Qgc2V0LiIpOworICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQmxvY2tlZCBm
b3JtIHN1Ym1pc3Npb24gdG8gJyIgKyBzdWJtaXNzaW9uLT5hY3Rpb24oKS5zdHJpbmdDZW50ZXJF
bGxpcHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5k
Ym94ZWQgYW5kIHRoZSAnYWxsb3ctZm9ybXMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTQ4NSw3ICsxNDg0LDcgQEAgdm9pZCBGcmFtZUxv
YWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiB1
cmwpCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZnJhbWUtPmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJOb3QgYWxsb3dlZCB0byBsb2FkIGxvY2FsIHJlc291cmNlOiAiICsgdXJsKTsK
KyAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6
U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJOb3QgYWxsb3dlZCB0byBsb2FkIGxvY2Fs
IHJlc291cmNlOiAiICsgdXJsKTsKIH0KIAogY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBGcmFtZUxv
YWRlcjo6aW5pdGlhbFJlcXVlc3QoKSBjb25zdApAQCAtMjg0OCw3ICsyODQ3LDcgQEAgYm9vbCBG
cmFtZUxvYWRlcjo6aGFuZGxlQmVmb3JlVW5sb2FkRXZlbnQoQ2hyb21lJiBjaHJvbWUsIEZyYW1l
TG9hZGVyKiBmcmFtZUxvYWQKICAgICAvLyBJZiB0aGUgbmF2aWdhdGluZyBGcmFtZUxvYWRlciBo
YXMgYWxyZWFkeSBzaG93biBhIGJlZm9yZXVubG9hZCBjb25maXJtYXRpb24gcGFuZWwgZm9yIHRo
ZSBjdXJyZW50IG5hdmlnYXRpb24gYXR0ZW1wdCwKICAgICAvLyB0aGlzIGZyYW1lIGlzIG5vdCBh
bGxvd2VkIHRvIGNhdXNlIGFub3RoZXIgb25lIHRvIGJlIHNob3duLgogICAgIGlmIChmcmFtZUxv
YWRlckJlaW5nTmF2aWdhdGVkLT5tX2N1cnJlbnROYXZpZ2F0aW9uSGFzU2hvd25CZWZvcmVVbmxv
YWRDb25maXJtUGFuZWwpIHsKLSAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIGF0dGVtcHQgdG8gc2hv
dyBtdWx0aXBsZSBiZWZvcmV1bmxvYWQgY29uZmlybWF0aW9uIGRpYWxvZ3MgZm9yIHRoZSBzYW1l
IG5hdmlnYXRpb24uIik7CisgICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJCbG9ja2Vk
IGF0dGVtcHQgdG8gc2hvdyBtdWx0aXBsZSBiZWZvcmV1bmxvYWQgY29uZmlybWF0aW9uIGRpYWxv
Z3MgZm9yIHRoZSBzYW1lIG5hdmlnYXRpb24uIikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKQEAgLTI4NjEsNyArMjg2MCw3IEBAIGJvb2wgRnJhbWVMb2FkZXI6OmhhbmRsZUJlZm9y
ZVVubG9hZEV2ZW50KENocm9tZSYgY2hyb21lLCBGcmFtZUxvYWRlciogZnJhbWVMb2FkCiAgICAg
ICAgICAgICBpZiAoIXBhcmVudERvY3VtZW50KQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICAgICAgaWYgKCFtX2ZyYW1lLmRvY3VtZW50KCkgfHwgIW1fZnJhbWUuZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzKHBhcmVudERvY3VtZW50LT5zZWN1cml0
eU9yaWdpbigpKSkgewotICAgICAgICAgICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBhdHRlbXB0IHRv
IHNob3cgYmVmb3JldW5sb2FkIGNvbmZpcm1hdGlvbiBkaWFsb2cgb24gYmVoYWxmIG9mIGEgZnJh
bWUgd2l0aCBkaWZmZXJlbnQgc2VjdXJpdHkgb3JpZ2luLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFu
ZCBwb3J0cyBtdXN0IG1hdGNoLiIpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LT5hZGRDb25z
b2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlM
aXRlcmFsKCJCbG9ja2VkIGF0dGVtcHQgdG8gc2hvdyBiZWZvcmV1bmxvYWQgY29uZmlybWF0aW9u
IGRpYWxvZyBvbiBiZWhhbGYgb2YgYSBmcmFtZSB3aXRoIGRpZmZlcmVudCBzZWN1cml0eSBvcmln
aW4uIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guIikpOwogICAgICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCkBAIC0z
MDcxLDEwICszMDcwLDEwIEBAIGJvb2wgRnJhbWVMb2FkZXI6OnNob3VsZEludGVycnVwdExvYWRG
b3JYRnJhbWVPcHRpb25zKGNvbnN0IFN0cmluZyYgY29udGVudCwgY29uCiAgICAgY2FzZSBYRnJh
bWVPcHRpb25zQWxsb3dBbGw6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBjYXNlIFhGcmFt
ZU9wdGlvbnNDb25mbGljdDoKLSAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xl
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiTXVsdGlwbGUgJ1gt
RnJhbWUtT3B0aW9ucycgaGVhZGVycyB3aXRoIGNvbmZsaWN0aW5nIHZhbHVlcyAoJyIgKyBjb250
ZW50ICsgIicpIGVuY291bnRlcmVkIHdoZW4gbG9hZGluZyAnIiArIHVybC5zdHJpbmdDZW50ZXJF
bGxpcHNpemVkVG9MZW5ndGgoKSArICInLiBGYWxsaW5nIGJhY2sgdG8gJ0RFTlknLiIsIHJlcXVl
c3RJZGVudGlmaWVyKTsKKyAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIk11bHRpcGxlICdY
LUZyYW1lLU9wdGlvbnMnIGhlYWRlcnMgd2l0aCBjb25mbGljdGluZyB2YWx1ZXMgKCciICsgY29u
dGVudCArICInKSBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcgJyIgKyB1cmwuc3RyaW5nQ2VudGVy
RWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJy4gRmFsbGluZyBiYWNrIHRvICdERU5ZJy4iLCByZXF1
ZXN0SWRlbnRpZmllcik7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGNhc2UgWEZyYW1lT3B0
aW9uc0ludmFsaWQ6Ci0gICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkludmFsaWQgJ1gtRnJhbWUt
T3B0aW9ucycgaGVhZGVyIGVuY291bnRlcmVkIHdoZW4gbG9hZGluZyAnIiArIHVybC5zdHJpbmdD
ZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInOiAnIiArIGNvbnRlbnQgKyAiJyBpcyBub3Qg
YSByZWNvZ25pemVkIGRpcmVjdGl2ZS4gVGhlIGhlYWRlciB3aWxsIGJlIGlnbm9yZWQuIiwgcmVx
dWVzdElkZW50aWZpZXIpOworICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiSW52YWxpZCAn
WC1GcmFtZS1PcHRpb25zJyBoZWFkZXIgZW5jb3VudGVyZWQgd2hlbiBsb2FkaW5nICciICsgdXJs
LnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIic6ICciICsgY29udGVudCArICIn
IGlzIG5vdCBhIHJlY29nbml6ZWQgZGlyZWN0aXZlLiBUaGUgaGVhZGVyIHdpbGwgYmUgaWdub3Jl
ZC4iLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBkZWZh
dWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTM0NjYsNyArMzQ2NSw3IEBA
IFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZVdpbmRvdyhGcmFtZSogb3BlbmVyRnJhbWUsIEZyYW1l
KiBsb29rdXBGcmFtZSwgY29uc3QgRnJhCiAgICAgLy8gU2FuZGJveGVkIGZyYW1lcyBjYW5ub3Qg
b3BlbiBuZXcgYXV4aWxpYXJ5IGJyb3dzaW5nIGNvbnRleHRzLgogICAgIGlmIChpc0RvY3VtZW50
U2FuZGJveGVkKG9wZW5lckZyYW1lLCBTYW5kYm94UG9wdXBzKSkgewogICAgICAgICAvLyBGSVhN
RTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNv
bHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQg
ZXhpc3RzLgotICAgICAgICBvcGVuZXJGcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgb3Bl
bmluZyAnIiArIHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCkuc3RyaW5nQ2VudGVyRWxs
aXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBpbiBhIG5ldyB3aW5kb3cgYmVjYXVzZSB0aGUgcmVxdWVz
dCB3YXMgbWFkZSBpbiBhIHNhbmRib3hlZCBmcmFtZSB3aG9zZSAnYWxsb3ctcG9wdXBzJyBwZXJt
aXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIG9wZW5lckZyYW1lLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpF
cnJvciwgIkJsb2NrZWQgb3BlbmluZyAnIiArIHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJs
KCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBpbiBhIG5ldyB3aW5kb3cg
YmVjYXVzZSB0aGUgcmVxdWVzdCB3YXMgbWFkZSBpbiBhIHNhbmRib3hlZCBmcmFtZSB3aG9zZSAn
YWxsb3ctcG9wdXBzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CiAgICAgICAgIHJldHVybiAw
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggMTNjMzJm
Zi4uNDVkYTE0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC0zNSw3
ICszNSw3IEBACiAjaW5jbHVkZSAiSFRNTE9iamVjdEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
UGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKLSNpbmNsdWRlICJTY3Jp
cHRDYWxsU3RhY2suaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAj
aW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKIAogI2lmIEVOQUJMRShTVkcpCkBAIC0yOTYsNyAr
Mjk2LDcgQEAgdm9pZCBJbWFnZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2Uq
IHJlc291cmNlKQogICAgICAgICBlcnJvckV2ZW50U2VuZGVyKCkuZGlzcGF0Y2hFdmVudFNvb24o
dGhpcyk7CiAKICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNz
YWdlLCAoQVNDSUlMaXRlcmFsKCJDcm9zcy1vcmlnaW4gaW1hZ2UgbG9hZCBkZW5pZWQgYnkgQ3Jv
c3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7Ci0gICAgICAgIG1fZWxlbWVu
dC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIG1fZWxlbWVudC0+ZG9j
dW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgY29uc29sZU1lc3NhZ2UpOwogCiAgICAgICAgIEFTU0VSVCghbV9oYXNQ
ZW5kaW5nTG9hZEV2ZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01p
eGVkQ29udGVudENoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVu
dENoZWNrZXIuY3BwCmluZGV4IGU1MDdhYTYuLjE3ZjM0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgYm9vbCBN
aXhlZENvbnRlbnRDaGVja2VyOjpjYW5SdW5JbnNlY3VyZUNvbnRlbnQoU2VjdXJpdHlPcmlnaW4q
IHNlY3VyaXR5T3JpZ2luLAogdm9pZCBNaXhlZENvbnRlbnRDaGVja2VyOjpsb2dXYXJuaW5nKGJv
b2wgYWxsb3dlZCwgY29uc3QgU3RyaW5nJiBhY3Rpb24sIGNvbnN0IFVSTCYgdGFyZ2V0KSBjb25z
dAogewogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZygoYWxsb3dlZCA/ICIiIDogIlti
bG9ja2VkXSAiKSwgIlRoZSBwYWdlIGF0ICIsIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXJsKCkuc3Ry
aW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCksICIgIiwgYWN0aW9uLCAiIGluc2VjdXJlIGNv
bnRlbnQgZnJvbSAiLCB0YXJnZXQuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCksICIu
XG4iKTsKLSAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5
TWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgbV9mcmFt
ZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwg
TWVzc2FnZUxldmVsOjpXYXJuaW5nLCBtZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAppbmRleCAzNWQ3
ODhjLi41ZjBiYTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNr
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNw
cApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgogI2luY2x1ZGUgIlJlc291cmNlQnVmZmVyLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2Fs
bFN0YWNrLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJUZXh0VHJh
Y2tDdWUuaCIKICNpbmNsdWRlICJXZWJWVFRQYXJzZXIuaCIKQEAgLTExOCw3ICsxMTcsNyBAQCB2
b2lkIFRleHRUcmFja0xvYWRlcjo6Y29yc1BvbGljeVByZXZlbnRlZExvYWQoKQogewogICAgIERF
RklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgi
Q3Jvc3Mtb3JpZ2luIHRleHQgdHJhY2sgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291
cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gdG9Eb2N1
bWVudChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwotICAgIGRvY3VtZW50LT5hZGRDb25zb2xl
TWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xl
TWVzc2FnZSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6
OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBjb25zb2xlTWVzc2FnZSk7CiAgICAgbV9z
dGF0ZSA9IEZhaWxlZDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAppbmRleCAxNzYzZjA2Li5lODc3MTgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGlj
YXRpb25DYWNoZUdyb3VwLmNwcApAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAq
LwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC00NzEsNyArNDcxLDcgQEAgdm9pZCBBcHBsaWNh
dGlvbkNhY2hlR3JvdXA6OmFib3J0KEZyYW1lKiBmcmFtZSkKICAgICBpZiAobV9jb21wbGV0aW9u
VHlwZSAhPSBOb25lKQogICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoTmV0d29ya01lc3NhZ2VTb3VyY2UsIERlYnVnTWVzc2FnZUxldmVs
LCAiQXBwbGljYXRpb24gQ2FjaGUgZG93bmxvYWQgcHJvY2VzcyB3YXMgYWJvcnRlZC4iKTsKKyAg
ICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6TmV0
d29yaywgTWVzc2FnZUxldmVsOjpEZWJ1ZywgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlvbiBDYWNo
ZSBkb3dubG9hZCBwcm9jZXNzIHdhcyBhYm9ydGVkLiIpKTsKICAgICBjYWNoZVVwZGF0ZUZhaWxl
ZCgpOwogfQogCkBAIC01NDcsNyArNTQ3LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXMKIAog
ICAgIGlmIChyZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpIC8gMTAwICE9IDIgfHwgcmVzcG9uc2Uu
dXJsKCkgIT0gbV9jdXJyZW50SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKSkgewogICAgICAg
ICBpZiAoKHR5cGUgJiBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6OkV4cGxpY2l0KSB8fCAodHlw
ZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6RmFsbGJhY2spKSB7Ci0gICAgICAgICAgICBt
X2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShBcHBDYWNoZU1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwg
YmVjYXVzZSAiICsgbV9jdXJyZW50SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKS5zdHJpbmdD
ZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArCisgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpBcHBDYWNoZSwgTWVzc2FnZUxl
dmVsOjpFcnJvciwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2UgIiAr
IG1fY3VycmVudEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBz
aXplZFRvTGVuZ3RoKCkgKwogICAgICAgICAgICAgICAgICgocmVzcG9uc2UuaHR0cFN0YXR1c0Nv
ZGUoKSAvIDEwMCAhPSAyKSA/ICIgY291bGQgbm90IGJlIGZldGNoZWQuIiA6ICIgd2FzIHJlZGly
ZWN0ZWQuIikpOwogICAgICAgICAgICAgLy8gTm90ZSB0aGF0IGNhY2hlVXBkYXRlRmFpbGVkKCkg
Y2FuIGNhdXNlIHRoZSBjYWNoZSBncm91cCB0byBiZSBkZWxldGVkLgogICAgICAgICAgICAgY2Fj
aGVVcGRhdGVGYWlsZWQoKTsKQEAgLTYyNiw3ICs2MjYsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBkb3VibGUg
ZmluaQogICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgYnJlYWsgZWFybGllciBhbmQgcHJldmVudCBy
ZWRvd25sb2FkaW5nIG9uIGxhdGVyIHBhZ2UgbG9hZHM/CiAgICAgaWYgKG1fb3JpZ2luUXVvdGFF
eGNlZWRlZFByZXZpb3VzbHkgJiYgbV9hdmFpbGFibGVTcGFjZUluUXVvdGEgPCBtX2NhY2hlQmVp
bmdVcGRhdGVkLT5lc3RpbWF0ZWRTaXplSW5TdG9yYWdlKCkpIHsKICAgICAgICAgbV9jdXJyZW50
UmVzb3VyY2UgPSAwOwotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShBcHBDYWNoZU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRp
b24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNlZWRlZC4i
KTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6QXBwQ2FjaGUsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBw
bGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNl
ZWRlZC4iKSk7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC02NjEsNyArNjYxLDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRp
ZEZhaWwoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzb3VyY2VFcnJvciYKICAgICBt
X3BlbmRpbmdFbnRyaWVzLnJlbW92ZSh1cmwpOwogCiAgICAgaWYgKCh0eXBlICYgQXBwbGljYXRp
b25DYWNoZVJlc291cmNlOjpFeHBsaWNpdCkgfHwgKHR5cGUgJiBBcHBsaWNhdGlvbkNhY2hlUmVz
b3VyY2U6OkZhbGxiYWNrKSkgewotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25z
b2xlTWVzc2FnZShBcHBDYWNoZU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBw
bGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgdXJsLnN0cmluZ0NlbnRl
ckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIiBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iKTsKKyAgICAg
ICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6
QXBwQ2FjaGUsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUg
ZmFpbGVkLCBiZWNhdXNlICIgKyB1cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkg
KyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpOwogICAgICAgICAvLyBOb3RlIHRoYXQgY2FjaGVV
cGRhdGVGYWlsZWQoKSBjYW4gY2F1c2UgdGhlIGNhY2hlIGdyb3VwIHRvIGJlIGRlbGV0ZWQuCiAg
ICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgfSBlbHNlIHsKQEAgLTY5MCwxMyArNjkw
LDEzIEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNlaXZlTWFuaWZlc3RSZXNw
b25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByCiAgICAgICAgIHJldHVybjsKIAogICAgIGlm
IChyZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpIC8gMTAwICE9IDIpIHsKLSAgICAgICAgbV9mcmFt
ZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBm
ZXRjaGVkLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFs
KCJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iKSk7CiAg
ICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBpZiAocmVzcG9uc2UudXJsKCkgIT0gbV9tYW5pZmVzdEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCku
dXJsKCkpIHsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
T3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hl
IG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLCBiZWNhdXNlIGEgcmVkaXJlY3Rpb24gd2Fz
IGF0dGVtcHRlZC4iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQsIGJl
Y2F1c2UgYSByZWRpcmVjdGlvbiB3YXMgYXR0ZW1wdGVkLiIpKTsKICAgICAgICAgY2FjaGVVcGRh
dGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTcxNiw3ICs3MTYsNyBAQCB2
b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KCkKIAog
ICAgIGlmICghaXNVcGdyYWRlQXR0ZW1wdCAmJiAhbV9tYW5pZmVzdFJlc291cmNlKSB7CiAgICAg
ICAgIC8vIFRoZSBzZXJ2ZXIgcmV0dXJuZWQgMzA0IE5vdCBNb2RpZmllZCBldmVuIHRob3VnaCB3
ZSBkaWRuJ3Qgc2VuZCBhIGNvbmRpdGlvbmFsIHJlcXVlc3QuCi0gICAgICAgIG1fZnJhbWUtPmRv
Y3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hl
ZCBiZWNhdXNlIG9mIGFuIHVuZXhwZWN0ZWQgMzA0IE5vdCBNb2RpZmllZCBzZXJ2ZXIgcmVzcG9u
c2UuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFw
cGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkIGJlY2F1c2Ugb2Yg
YW4gdW5leHBlY3RlZCAzMDQgTm90IE1vZGlmaWVkIHNlcnZlciByZXNwb25zZS4iKSk7CiAgICAg
ICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03NDIs
NyArNzQyLDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZEZpbmlzaExvYWRpbmdN
YW5pZmVzdCgpCiAgICAgTWFuaWZlc3QgbWFuaWZlc3Q7CiAgICAgaWYgKCFwYXJzZU1hbmlmZXN0
KG1fbWFuaWZlc3RVUkwsIG1fbWFuaWZlc3RSZXNvdXJjZS0+ZGF0YSgpLT5kYXRhKCksIG1fbWFu
aWZlc3RSZXNvdXJjZS0+ZGF0YSgpLT5zaXplKCksIG1hbmlmZXN0KSkgewogICAgICAgICAvLyBB
dCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcsIGxhY2sgb2YgIkNBQ0hFIE1BTklGRVNUIiBzaWdu
YXR1cmUgaXMgdGhlIG9ubHkgcmVhc29uIGZvciBwYXJzZU1hbmlmZXN0IHRvIGZhaWwuCi0gICAg
ICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3Vs
ZCBub3QgYmUgcGFyc2VkLiBEb2VzIGl0IHN0YXJ0IHdpdGggQ0FDSEUgTUFOSUZFU1Q/Iik7Cisg
ICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9u
IENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBD
QUNIRSBNQU5JRkVTVD8iKSk7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CkBAIC05MjksNyArOTI5LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hl
R3JvdXA6OmNoZWNrSWZMb2FkSXNDb21wbGV0ZSgpCiAgICAgICAgICAgICAgICAgLy8gV2UgcmFu
IG91dCBvZiBzcGFjZSBmb3IgdGhpcyBvcmlnaW4uIEZhbGwgZG93biB0byB0aGUgbm9ybWFsIGVy
cm9yIGhhbmRsaW5nCiAgICAgICAgICAgICAgICAgLy8gYWZ0ZXIgcmVjb3JkaW5nIHRoaXMgc3Rh
dGUuCiAgICAgICAgICAgICAgICAgbV9vcmlnaW5RdW90YUV4Y2VlZGVkUHJldmlvdXNseSA9IHRy
dWU7Ci0gICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENh
Y2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIik7Cisg
ICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBw
bGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNl
ZWRlZC4iKSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChmYWlsdXJlUmVhc29u
ID09IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpUb3RhbFF1b3RhUmVhY2hlZCAmJiAhbV9jYWxs
ZWRSZWFjaGVkTWF4QXBwQ2FjaGVTaXplKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA2NmI4YTA5Li45YmZkYjY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTY0Miw3ICs2NDIsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVy
OjpwcmludEFjY2Vzc0RlbmllZE1lc3NhZ2UoY29uc3QgVVJMJiB1cmwpIGNvbnN0CiAgICAgZWxz
ZQogICAgICAgICBtZXNzYWdlID0gIlVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMICIgKyB1cmwu
c3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiIGZyb20gZnJhbWUgd2l0aCBVUkwg
IiArIG1fZG9jdW1lbnQtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsg
Ii4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLlxuIjsKIAotICAgIGZy
YW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGZyYW1lKCktPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6
OkVycm9yLCBtZXNzYWdlKTsKIH0KIAogdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6c2V0QXV0
b0xvYWRJbWFnZXMoYm9vbCBlbmFibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRl
eCBhZTViNmQxLi5mNmQ1ZDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTIz
LDggKzIzLDYgQEAKICNkZWZpbmUgQ2hyb21lQ2xpZW50X2gKIAogI2luY2x1ZGUgIkFYT2JqZWN0
Q2FjaGUuaCIKLSNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKLSNpbmNsdWRlICJDb25zb2xl
VHlwZXMuaCIKICNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5o
IgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCkBAIC0zNyw2ICszNSw3IEBACiAjaW5jbHVkZSAi
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKICNpbmNsdWRlICJTZWFyY2hQb3B1cE1lbnUuaCIKICNp
bmNsdWRlICJXZWJDb3JlS2V5Ym9hcmRVSU1vZGUuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29u
c29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3Bw
CmluZGV4IGUyMWI4NjIuLmU3M2E2ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29uc29sZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcApAQCAtMzEs
OCArMzEsNiBAQAogCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50
LmgiCi0jaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVz
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUg
IkZyYW1lTG9hZGVyLmgiCkBAIC00MiwxOCArNDAsMjEgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUGFnZUNvbnNvbGUuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKLSNpbmNsdWRl
ICJTY3JpcHRBcmd1bWVudHMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNs
dWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5o
IgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3Vt
ZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9T
Y3JpcHRWYWx1ZS5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KKyNpbmNs
dWRlIDxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1Nj
cmlwdENhbGxTdGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0
b3J5Lmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBJbnNw
ZWN0b3I7CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ29uc29sZTo6Q29uc29sZShGcmFtZSog
ZnJhbWUpCkBAIC04MSwxMyArODIsMTMgQEAgc3RhdGljIHZvaWQgaW50ZXJuYWxBZGRNZXNzYWdl
KFBhZ2UqIHBhZ2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwKIAogICAg
IFN0cmluZyBtZXNzYWdlOwogICAgIGJvb2wgZ290TWVzc2FnZSA9IGFyZ3VtZW50cy0+Z2V0Rmly
c3RBcmd1bWVudEFzU3RyaW5nKG1lc3NhZ2UpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlLCBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgdHlw
ZSwgbGV2ZWwsIG1lc3NhZ2UsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlLCBNZXNzYWdlU291cmNlOjpDb25z
b2xlQVBJLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc3RhdGUsIGFyZ3VtZW50cyk7CiAKICAgICBp
ZiAocGFnZS0+c2V0dGluZ3MoKS5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCkpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGlmIChnb3RNZXNzYWdlKQotICAgICAgICBwYWdlLT5jaHJvbWUoKS5jbGll
bnQoKS5hZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNzYWdlU291cmNlLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSwgbGFzdENhbGxlci5saW5lTnVtYmVyKCksIGxhc3RDYWxsZXIuY29sdW1u
TnVtYmVyKCksIGxhc3RDYWxsZXIuc291cmNlVVJMKCkpOworICAgICAgICBwYWdlLT5jaHJvbWUo
KS5jbGllbnQoKS5hZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEks
IHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsYXN0Q2FsbGVyLmxpbmVOdW1iZXIoKSwgbGFzdENhbGxl
ci5jb2x1bW5OdW1iZXIoKSwgbGFzdENhbGxlci5zb3VyY2VVUkwoKSk7CiAKICAgICBpZiAoIXBh
Z2UtPnNldHRpbmdzKCkubG9nc1BhZ2VNZXNzYWdlc1RvU3lzdGVtQ29uc29sZUVuYWJsZWQoKSAm
JiAhUGFnZUNvbnNvbGU6OnNob3VsZFByaW50RXhjZXB0aW9ucygpKQogICAgICAgICByZXR1cm47
CkBAIC05Niw3ICs5Nyw3IEBAIHN0YXRpYyB2b2lkIGludGVybmFsQWRkTWVzc2FnZShQYWdlKiBw
YWdlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsCiAKICAgICBwcmludGYo
IjogIik7CiAKLSAgICBQYWdlQ29uc29sZTo6cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVm
aXgoQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIGxldmVsLCBwcmludFRyYWNlKTsKKyAgICBQYWdl
Q29uc29sZTo6cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZTo6
Q29uc29sZUFQSSwgbGV2ZWwsIHByaW50VHJhY2UpOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBhcmd1bWVudHMtPmFyZ3VtZW50Q291bnQoKTsgKytpKSB7CiAgICAgICAgIFN0cmluZyBh
cmdBc1N0cmluZyA9IGFyZ3VtZW50cy0+YXJndW1lbnRBdChpKS50b1N0cmluZyhhcmd1bWVudHMt
Pmdsb2JhbFN0YXRlKCkpOwpAQCAtMTI1LDEyICsxMjYsMTIgQEAgc3RhdGljIHZvaWQgaW50ZXJu
YWxBZGRNZXNzYWdlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBs
ZXZlbCwKIAogdm9pZCBDb25zb2xlOjpkZWJ1ZyhKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NS
ZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNz
YWdlKHBhZ2UoKSwgTG9nTWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJn
dW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6TG9n
LCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25z
b2xlOjplcnJvcihKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1l
bnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRl
cm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25zb2xlOjppbmZvKEpTQzo6RXhl
Y1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKQEAg
LTE0MCwzNyArMTQxLDM3IEBAIHZvaWQgQ29uc29sZTo6aW5mbyhKU0M6OkV4ZWNTdGF0ZSogc3Rh
dGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiAKIHZvaWQgQ29uc29s
ZTo6bG9nKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBMb2dNZXNzYWdl
VHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFk
ZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkxvZywgc3Rh
dGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6d2FybihKU0M6OkV4ZWNTdGF0ZSog
c3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50
ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2
ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1l
c3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgc3RhdGUsIGFyZ3VtZW50cyk7
CiB9CiAKIHZvaWQgQ29uc29sZTo6ZGlyKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2Uo
cGFnZSgpLCBEaXJNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRz
KTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6RGlyLCBNZXNz
YWdlTGV2ZWw6OkxvZywgc3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6ZGly
eG1sKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFy
Z3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBEaXJYTUxNZXNzYWdl
VHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFk
ZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6RGlyWE1MLCBNZXNzYWdlTGV2ZWw6OkxvZywg
c3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6dGFibGUoSlNDOjpFeGVjU3Rh
dGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAg
IGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIFRhYmxlTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VM
ZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwg
TWVzc2FnZVR5cGU6OlRhYmxlLCBNZXNzYWdlTGV2ZWw6OkxvZywgc3RhdGUsIGFyZ3VtZW50cyk7
CiB9CiAKIHZvaWQgQ29uc29sZTo6Y2xlYXIoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVm
UHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2Fn
ZShwYWdlKCksIENsZWFyTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3Vt
ZW50cywgdHJ1ZSk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6
OkNsZWFyLCBNZXNzYWdlTGV2ZWw6OkxvZywgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSk7CiB9CiAK
IHZvaWQgQ29uc29sZTo6dHJhY2UoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNj
cmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdl
KCksIFRyYWNlTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywg
dHJ1ZSwgdHJ1ZSk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6
OlRyYWNlLCBNZXNzYWdlTGV2ZWw6OkxvZywgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSwgdHJ1ZSk7
CiB9CiAKIHZvaWQgQ29uc29sZTo6YXNzZXJ0Q29uZGl0aW9uKEpTQzo6RXhlY1N0YXRlKiBzdGF0
ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cywgYm9vbCBjb25kaXRpb24p
CkBAIC0xNzgsNyArMTc5LDcgQEAgdm9pZCBDb25zb2xlOjphc3NlcnRDb25kaXRpb24oSlNDOjpF
eGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4KICAgICBpZiAoY29u
ZGl0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgp
LCBBc3NlcnRNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMs
IHRydWUpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpBc3Nl
cnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIHN0YXRlLCBhcmd1bWVudHMsIHRydWUpOwogfQogCiB2
b2lkIENvbnNvbGU6OmNvdW50KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGFyZ3VtZW50cykKQEAgLTI0MywxNyArMjQ0LDE3IEBAIHZvaWQgQ29uc29s
ZTo6dGltZVN0YW1wKFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiAKIHZv
aWQgQ29uc29sZTo6Z3JvdXAoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlw
dEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlKCksIENvbnNvbGVBUElNZXNzYWdlU291cmNlLCBTdGFy
dEdyb3VwTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgU3RyaW5nKCksIHN0YXRlLCBhcmd1
bWVudHMpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29s
ZShwYWdlKCksIE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpTdGFydEdy
b3VwLCBNZXNzYWdlTGV2ZWw6OkxvZywgU3RyaW5nKCksIHN0YXRlLCBhcmd1bWVudHMpOwogfQog
CiB2b2lkIENvbnNvbGU6Omdyb3VwQ29sbGFwc2VkKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSgpLCBDb25zb2xlQVBJTWVzc2Fn
ZVNvdXJjZSwgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWws
IFN0cmluZygpLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSgpLCBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJ
LCBNZXNzYWdlVHlwZTo6U3RhcnRHcm91cENvbGxhcHNlZCwgTWVzc2FnZUxldmVsOjpMb2csIFN0
cmluZygpLCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25zb2xlOjpncm91cEVuZCgp
CiB7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBh
Z2UoKSwgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIEVuZEdyb3VwTWVzc2FnZVR5cGUsIExvZ01l
c3NhZ2VMZXZlbCwgU3RyaW5nKCksIFN0cmluZygpLCAwLCAwKTsKKyAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSgpLCBNZXNzYWdlU291cmNlOjpD
b25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6RW5kR3JvdXAsIE1lc3NhZ2VMZXZlbDo6TG9nLCBTdHJp
bmcoKSwgU3RyaW5nKCksIDAsIDApOwogfQogCiBQYWdlKiBDb25zb2xlOjpwYWdlKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Db25zb2xlLmgKaW5kZXggNjRlYWMxYS4uOThlNGI0NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25z
b2xlLmgKQEAgLTM3LDExICszNywxNCBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAorbmFtZXNwYWNlIEluc3BlY3RvciB7CitjbGFz
cyBTY3JpcHRBcmd1bWVudHM7Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJh
bWU7CiBjbGFzcyBQYWdlOwotY2xhc3MgU2NyaXB0QXJndW1lbnRzOwogCiB0eXBlZGVmIFZlY3Rv
cjxSZWZQdHI8U2NyaXB0UHJvZmlsZT4+IFByb2ZpbGVzQXJyYXk7CiAKQEAgLTUwLDI2ICs1Mywy
NiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q29uc29sZT4gY3JlYXRlKEZyYW1l
KiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENvbnNvbGUoZnJhbWUpKTsgfQogICAgIHZp
cnR1YWwgfkNvbnNvbGUoKTsKIAotICAgIHZvaWQgZGVidWcoSlNDOjpFeGVjU3RhdGUqLCBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgZXJyb3IoSlNDOjpFeGVjU3RhdGUq
LCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgaW5mbyhKU0M6OkV4ZWNT
dGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBsb2coSlNDOjpF
eGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgY2xlYXIo
SlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQg
d2FybihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAg
dm9pZCBkaXIoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwot
ICAgIHZvaWQgZGlyeG1sKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVu
dHM+KTsKLSAgICB2b2lkIHRhYmxlKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRB
cmd1bWVudHM+KTsKLSAgICB2b2lkIHRyYWNlKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGFzc2VydENvbmRpdGlvbihKU0M6OkV4ZWNTdGF0
ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgYm9vbCBjb25kaXRpb24pOwotICAgIHZv
aWQgY291bnQoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwor
ICAgIHZvaWQgZGVidWcoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2Ny
aXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBlcnJvcihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGluZm8oSlNDOjpFeGVj
U3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9p
ZCBsb2coSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1l
bnRzPik7CisgICAgdm9pZCBjbGVhcihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIHdhcm4oSlNDOjpFeGVjU3RhdGUqLCBQ
YXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBkaXIoSlND
OjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7Cisg
ICAgdm9pZCBkaXJ4bWwoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2Ny
aXB0QXJndW1lbnRzPik7CisgICAgdm9pZCB0YWJsZShKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIHRyYWNlKEpTQzo6RXhl
Y1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZv
aWQgYXNzZXJ0Q29uZGl0aW9uKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6
OlNjcmlwdEFyZ3VtZW50cz4sIGJvb2wgY29uZGl0aW9uKTsKKyAgICB2b2lkIGNvdW50KEpTQzo6
RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwogICAg
IGNvbnN0IFByb2ZpbGVzQXJyYXkmIHByb2ZpbGVzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9maWxl
czsgfQogICAgIHZvaWQgcHJvZmlsZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgPSBT
dHJpbmcoKSk7CiAgICAgdm9pZCBwcm9maWxlRW5kKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3Ry
aW5nJiA9IFN0cmluZygpKTsKICAgICB2b2lkIHRpbWUoY29uc3QgU3RyaW5nJik7CiAgICAgdm9p
ZCB0aW1lRW5kKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCB0aW1l
U3RhbXAoUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGdyb3VwKEpTQzo6
RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGdyb3Vw
Q29sbGFwc2VkKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsK
KyAgICB2b2lkIHRpbWVTdGFtcChQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRz
Pik7CisgICAgdm9pZCBncm91cChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9y
OjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGdyb3VwQ29sbGFwc2VkKEpTQzo6RXhlY1N0
YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwogICAgIHZvaWQg
Z3JvdXBFbmQoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29uc29sZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDRhMTY3Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2lmbmRlZiBDb25zb2xlVHlwZXNfaAotI2RlZmluZSBDb25zb2xlVHlw
ZXNfaAotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWVudW0gTWVzc2FnZVNvdXJjZSB7Ci0gICAg
WE1MTWVzc2FnZVNvdXJjZSwKLSAgICBKU01lc3NhZ2VTb3VyY2UsCi0gICAgTmV0d29ya01lc3Nh
Z2VTb3VyY2UsCi0gICAgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsCi0gICAgU3RvcmFnZU1lc3Nh
Z2VTb3VyY2UsCi0gICAgQXBwQ2FjaGVNZXNzYWdlU291cmNlLAotICAgIFJlbmRlcmluZ01lc3Nh
Z2VTb3VyY2UsCi0gICAgQ1NTTWVzc2FnZVNvdXJjZSwKLSAgICBTZWN1cml0eU1lc3NhZ2VTb3Vy
Y2UsCi0gICAgT3RoZXJNZXNzYWdlU291cmNlLAotfTsKLQotZW51bSBNZXNzYWdlTGV2ZWwgewot
ICAgIERlYnVnTWVzc2FnZUxldmVsID0gNCwKLSAgICBMb2dNZXNzYWdlTGV2ZWwgPSAxLAotICAg
IFdhcm5pbmdNZXNzYWdlTGV2ZWwgPSAyLAotICAgIEVycm9yTWVzc2FnZUxldmVsID0gMwotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gQ29uc29sZVR5cGVzX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCAwYWVh
OWFhLi5lMDc0YWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQ
b2xpY3kuY3BwCkBAIC0zNSwxNyArMzUsMTggQEAKICNpbmNsdWRlICJGb3JtRGF0YUxpc3QuaCIK
ICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IgotI2luY2x1ZGUgIlVSTC5oIgorI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgog
I2luY2x1ZGUgIlBpbmdMb2FkZXIuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3Rh
Y2suaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2Ny
aXB0U3RhdGUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlY3Vy
aXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKKyNp
bmNsdWRlICJVUkwuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+Cisj
aW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KQEAgLTE3ODgsNyArMTc4OSw3IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5
OjpyZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBjb25zdCBTCiAg
ICAgY3NwUmVwb3J0LT5zZXRTdHJpbmcoIm9yaWdpbmFsLXBvbGljeSIsIGhlYWRlcik7CiAgICAg
Y3NwUmVwb3J0LT5zZXRTdHJpbmcoImJsb2NrZWQtdXJpIiwgc3RyaXBVUkxGb3JVc2VJblJlcG9y
dChkb2N1bWVudCwgYmxvY2tlZFVSTCkpOwogCi0gICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4g
c3RhY2sgPSBjcmVhdGVTY3JpcHRDYWxsU3RhY2soMiwgZmFsc2UpOworICAgIFJlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+IHN0YWNrID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4
ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCksIDIsIGZhbHNlKTsKICAgICBpZiAoc3RhY2spIHsKICAg
ICAgICAgY29uc3QgU2NyaXB0Q2FsbEZyYW1lJiBjYWxsRnJhbWUgPSBnZXRGaXJzdE5vbk5hdGl2
ZUZyYW1lKHN0YWNrKTsKIApAQCAtMTg5OSw3ICsxOTAwLDcgQEAgdm9pZCBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OnJlcG9ydE1pc3NpbmdSZXBvcnRVUkkoY29uc3QgU3RyaW5nJiBwb2xpY3kpIGNv
bnN0CiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6bG9nVG9Db25zb2xlKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxO
dW1iZXImIGNvbnRleHRMaW5lLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUpIGNvbnN0CiB7CiAgICAg
Ly8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDMxNz4gQ29udGVudFNlY3VyaXR5UG9s
aWN5Ojpsb2dUb0NvbnNvbGUgc2hvdWxkIGluY2x1ZGUgYSBjb2x1bW4gbnVtYmVyCi0gICAgbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGlu
ZS5vbmVCYXNlZEludCgpLCAwLCBzdGF0ZSk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVs
OjpFcnJvciwgbWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUub25lQmFzZWRJbnQoKSwg
MCwgc3RhdGUpOwogfQogCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0QmxvY2tl
ZFNjcmlwdEV4ZWN1dGlvblRvSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3ku
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKaW5kZXggN2Ey
NjRlZS4uOTk0Yzk2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0
eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5j
cHAKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZl
ci5oIgogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJGcmFtZS5oIgotI2lu
Y2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA3NTMzYjAw
Li4zZGYyY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yMSw3ICsyMSw3IEBA
CiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTY5LDcgKzY5
LDcgQEAKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXN0
b3J5LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5jbHVkZSAi
VVJMLmgiCisjaW5jbHVkZSAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiTG9j
YXRpb24uaCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TGlz
dC5oIgpAQCAtODUsOCArODUsNiBAQAogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aCIKICNpbmNsdWRlICJTY2hlZHVsZWRBY3Rpb24uaCIKICNpbmNsdWRlICJTY3JlZW4uaCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0
b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKQEAgLTk4LDEwICs5NiwxMyBA
QAogI2luY2x1ZGUgIlN0eWxlTWVkaWEuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAj
aW5jbHVkZSAiU3VkZGVuVGVybWluYXRpb24uaCIKKyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRl
ICJXZWJLaXRQb2ludC5oIgogI2luY2x1ZGUgIldpbmRvd0ZlYXR1cmVzLmgiCiAjaW5jbHVkZSAi
V2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgorI2lu
Y2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgog
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4K
QEAgLTEyNCw2ICsxMjUsOCBAQAogI2luY2x1ZGUgIldLQ29udGVudE9ic2VydmF0aW9uLmgiCiAj
ZW5kaWYKIAordXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBQb3N0TWVzc2FnZVRpbWVyIDogcHVibGljIFRpbWVyQmFzZSB7CkBAIC04NDMs
NyArODQ2LDcgQEAgdm9pZCBET01XaW5kb3c6OnBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBjb25zdCBNZXMKICAgICAvLyBDYXB0dXJlIHN0YWNr
IHRyYWNlIG9ubHkgd2hlbiBpbnNwZWN0b3IgZnJvbnQtZW5kIGlzIGxvYWRlZCBhcyBpdCBtYXkg
YmUgdGltZSBjb25zdW1pbmcuCiAgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFj
ZTsKICAgICBpZiAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQWdlbnRFbmFibGVk
KHNvdXJjZURvY3VtZW50KSkKLSAgICAgICAgc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENhbGxT
dGFjayhTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpOwor
ICAgICAgICBzdGFja1RyYWNlID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4
ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCksIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6
ZVRvQ2FwdHVyZSwgdHJ1ZSk7CiAKICAgICAvLyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBQ
b3N0TWVzc2FnZVRpbWVyKiB0aW1lciA9IG5ldyBQb3N0TWVzc2FnZVRpbWVyKHRoaXMsIG1lc3Nh
Z2UsIHNvdXJjZU9yaWdpbiwgJnNvdXJjZSwgY2hhbm5lbHMucmVsZWFzZSgpLCB0YXJnZXQuZ2V0
KCksIHN0YWNrVHJhY2UucmVsZWFzZSgpKTsKQEAgLTg2Nyw3ICs4NzAsNyBAQCB2b2lkIERPTVdp
bmRvdzo6ZGlzcGF0Y2hNZXNzYWdlRXZlbnRXaXRoT3JpZ2luQ2hlY2soU2VjdXJpdHlPcmlnaW4q
IGludGVuZGVkVGFyZwogICAgICAgICBpZiAoIWludGVuZGVkVGFyZ2V0T3JpZ2luLT5pc1NhbWVT
Y2hlbWVIb3N0UG9ydChkb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKSkgewogICAgICAgICAg
ICAgU3RyaW5nIG1lc3NhZ2UgPSAiVW5hYmxlIHRvIHBvc3QgbWVzc2FnZSB0byAiICsgaW50ZW5k
ZWRUYXJnZXRPcmlnaW4tPnRvU3RyaW5nKCkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiLiBSZWNpcGllbnQgaGFzIG9yaWdpbiAiICsgZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4o
KS0+dG9TdHJpbmcoKSArICIuXG4iOwotICAgICAgICAgICAgcGFnZUNvbnNvbGUoKS0+YWRkTWVz
c2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBz
dGFja1RyYWNlKTsKKyAgICAgICAgICAgIHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UsIHN0YWNrVHJh
Y2UpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQpAQCAtOTY2LDcgKzk2
OSw3IEBAIHZvaWQgRE9NV2luZG93OjpjbG9zZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0KQogICAgIGJvb2wgYWxsb3dTY3JpcHRzVG9DbG9zZVdpbmRvd3MgPSBtX2ZyYW1lLT5zZXR0
aW5ncygpLmFsbG93U2NyaXB0c1RvQ2xvc2VXaW5kb3dzKCk7CiAKICAgICBpZiAoIShwYWdlLT5v
cGVuZWRCeURPTSgpIHx8IHBhZ2UtPmJhY2tGb3J3YXJkKCkuY291bnQoKSA8PSAxIHx8IGFsbG93
U2NyaXB0c1RvQ2xvc2VXaW5kb3dzKSkgewotICAgICAgICBwYWdlQ29uc29sZSgpLT5hZGRNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgQVNDSUlMaXRlcmFsKCJD
YW4ndCBjbG9zZSB0aGUgd2luZG93IHNpbmNlIGl0IHdhcyBub3Qgb3BlbmVkIGJ5IEphdmFTY3Jp
cHQiKSk7CisgICAgICAgIHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6
SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgQVNDSUlMaXRlcmFsKCJDYW4ndCBjbG9zZSB0aGUg
d2luZG93IHNpbmNlIGl0IHdhcyBub3Qgb3BlbmVkIGJ5IEphdmFTY3JpcHQiKSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKQEAgLTE5MzYsNyArMTkzOSw3IEBAIHZvaWQgRE9NV2luZG93Ojpw
cmludEVycm9yTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgaWYgKG1lc3NhZ2Uu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBwYWdlQ29uc29sZSgpLT5hZGRNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIHBh
Z2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsIG1lc3NhZ2UpOwogfQogCiBTdHJpbmcgRE9NV2luZG93Ojpjcm9zc0RvbWFpbkFjY2Vz
c0Vycm9yTWVzc2FnZShjb25zdCBET01XaW5kb3cmIGFjdGl2ZVdpbmRvdykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oCmluZGV4IDkyOTc4MWEuLmVmYTEwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aApAQCAtMzQsNiArMzQsMTAgQEAKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgogI2luY2x1
ZGUgPGZ1bmN0aW9uYWw+CiAKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworY2xhc3MgU2NyaXB0Q2Fs
bFN0YWNrOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBCYXJQcm9wOwpA
QCAtNjUsNyArNjksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUG9zdE1lc3Nh
Z2VUaW1lcjsKICAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb247CiAgICAgY2xhc3MgU2NyZWVuOwot
ICAgIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKICAgICBjbGFzcyBTZWN1cml0eU9yaWdpbjsKICAg
ICBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiAgICAgY2xhc3MgU3RvcmFnZTsKQEAgLTIz
OSw3ICsyNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIE5lZWRlZCBmb3Ig
T2JqZWN0aXZlLUMgYmluZGluZ3MgKHNlZSBidWcgMjg3NzQpLgogICAgICAgICB2b2lkIHBvc3RN
ZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBNZXNzYWdl
UG9ydCosIGNvbnN0IFN0cmluZyYgdGFyZ2V0T3JpZ2luLCBET01XaW5kb3cmIHNvdXJjZSwgRXhj
ZXB0aW9uQ29kZSYpOwogICAgICAgICB2b2lkIHBvc3RNZXNzYWdlVGltZXJGaXJlZChQYXNzT3du
UHRyPFBvc3RNZXNzYWdlVGltZXI+KTsKLSAgICAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VFdmVu
dFdpdGhPcmlnaW5DaGVjayhTZWN1cml0eU9yaWdpbiogaW50ZW5kZWRUYXJnZXRPcmlnaW4sIFBh
c3NSZWZQdHI8RXZlbnQ+LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgICAgICB2
b2lkIGRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKFNlY3VyaXR5T3JpZ2luKiBp
bnRlbmRlZFRhcmdldE9yaWdpbiwgUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKIAogICAgICAgICB2b2lkIHNjcm9sbEJ5KGludCB4LCBp
bnQgeSkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2Nyb2xsVG8oaW50IHgsIGludCB5KSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggNGNjZmJlMy4uZTFkOTUxYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTQ2LDcgKzQ2LDYgQEAKICNpbmNsdWRl
ICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VSZXNwb25zZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2lu
Y2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKQEAgLTIyOCw3ICsyMjcsNyBAQCB2
b2lkIEV2ZW50U291cmNlOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcAogICAgICAgICAgICAgbWVzc2FnZS5hcHBlbmQoY2hhcnNl
dCk7CiAgICAgICAgICAgICBtZXNzYWdlLmFwcGVuZExpdGVyYWwoIlwiKSB0aGF0IGlzIG5vdCBV
VEYtOC4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rpb24uIik7CiAgICAgICAgICAgICAvLyBGSVhNRTog
V2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJjZSBsaW5lLgotICAgICAgICAgICAgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgbWVzc2FnZS50b1N0cmluZygpKTsKICAgICAgICAgfQogICAgIH0gZWxz
ZSB7CiAgICAgICAgIC8vIFRvIGtlZXAgdGhlIHNpZ25hbC10by1ub2lzZSByYXRpbyBsb3csIHdl
IG9ubHkgbG9nIDIwMC1yZXNwb25zZSB3aXRoIGFuIGludmFsaWQgTUlNRSB0eXBlLgpAQCAtMjM4
LDcgKzIzNyw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25l
ZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwCiAgICAgICAgICAgICBtZXNzYWdl
LmFwcGVuZChyZXNwb25zZS5taW1lVHlwZSgpKTsKICAgICAgICAgICAgIG1lc3NhZ2UuYXBwZW5k
TGl0ZXJhbCgiXCIpIHRoYXQgaXMgbm90IFwidGV4dC9ldmVudC1zdHJlYW1cIi4gQWJvcnRpbmcg
dGhlIGNvbm5lY3Rpb24uIik7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIG1pc3Npbmcg
dGhlIHNvdXJjZSBsaW5lLgotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNz
YWdlLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwg
bWVzc2FnZS50b1N0cmluZygpKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMjkwLDcgKzI4OSw3
IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3Ip
CiB2b2lkIEV2ZW50U291cmNlOjpkaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrKGNvbnN0IFJlc291
cmNlRXJyb3ImIGVycm9yKQogewogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZygiRXZl
bnRTb3VyY2UgY2Fubm90IGxvYWQgIiwgZXJyb3IuZmFpbGluZ1VSTCgpLCAiLiAiLCBlcnJvci5s
b2NhbGl6ZWREZXNjcmlwdGlvbigpKTsKLSAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogCiAgICAgYWJv
cnRDb25uZWN0aW9uQXR0ZW1wdCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uc29sZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcApp
bmRleCAyOTE0Y2JiLi5jYzNkNjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25zb2xlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcApA
QCAtMzEsMjQgKzMxLDI1IEBACiAKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJv
bWVDbGllbnQuaCIKLSNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKLSNpbmNsdWRlICJDb25z
b2xlVHlwZXMuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCi0jaW5jbHVk
ZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5o
IgogI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIlNldHRp
bmdzLmgiCiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxpbnNw
ZWN0b3IvQ29uc29sZVR5cGVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50
cy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxp
bnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIG5hbWVzcGFjZSB7CkBAIC04MCwzNCArODEsMzQgQEAgdm9pZCBQYWdlQ29uc29sZTo6cHJp
bnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2UKIHsKICAgICBjb25zdCBjaGFyKiBzb3VyY2VTdHJpbmc7CiAgICAgc3dpdGNoIChzb3VyY2Up
IHsKLSAgICBjYXNlIFhNTE1lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpY
TUw6CiAgICAgICAgIHNvdXJjZVN0cmluZyA9ICJYTUwiOwogICAgICAgICBicmVhazsKLSAgICBj
YXNlIEpTTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkpTOgogICAgICAg
ICBzb3VyY2VTdHJpbmcgPSAiSlMiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIE5ldHdvcmtN
ZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6TmV0d29yazoKICAgICAgICAg
c291cmNlU3RyaW5nID0gIk5FVFdPUksiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbnNv
bGVBUElNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSToK
ICAgICAgICAgc291cmNlU3RyaW5nID0gIkNPTlNPTEUiOwogICAgICAgICBicmVhazsKLSAgICBj
YXNlIFN0b3JhZ2VNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6U3RvcmFn
ZToKICAgICAgICAgc291cmNlU3RyaW5nID0gIlNUT1JBR0UiOwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEFwcENhY2hlTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkFw
cENhY2hlOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAiQVBQQ0FDSEUiOwogICAgICAgICBicmVh
azsKLSAgICBjYXNlIFJlbmRlcmluZ01lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291
cmNlOjpSZW5kZXJpbmc6CiAgICAgICAgIHNvdXJjZVN0cmluZyA9ICJSRU5ERVJJTkciOwogICAg
ICAgICBicmVhazsKLSAgICBjYXNlIENTU01lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdl
U291cmNlOjpDU1M6CiAgICAgICAgIHNvdXJjZVN0cmluZyA9ICJDU1MiOwogICAgICAgICBicmVh
azsKLSAgICBjYXNlIFNlY3VyaXR5TWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3Vy
Y2U6OlNlY3VyaXR5OgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAiU0VDVVJJVFkiOwogICAgICAg
ICBicmVhazsKLSAgICBjYXNlIE90aGVyTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VT
b3VyY2U6Ok90aGVyOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAiT1RIRVIiOwogICAgICAgICBi
cmVhazsKICAgICBkZWZhdWx0OgpAQCAtMTE4LDE2ICsxMTksMTYgQEAgdm9pZCBQYWdlQ29uc29s
ZTo6cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2UKIAogICAgIGNvbnN0IGNoYXIqIGxldmVsU3RyaW5nOwogICAgIHN3aXRjaCAobGV2
ZWwpIHsKLSAgICBjYXNlIERlYnVnTWVzc2FnZUxldmVsOgorICAgIGNhc2UgTWVzc2FnZUxldmVs
OjpEZWJ1ZzoKICAgICAgICAgbGV2ZWxTdHJpbmcgPSAiREVCVUciOwogICAgICAgICBicmVhazsK
LSAgICBjYXNlIExvZ01lc3NhZ2VMZXZlbDoKKyAgICBjYXNlIE1lc3NhZ2VMZXZlbDo6TG9nOgog
ICAgICAgICBsZXZlbFN0cmluZyA9ICJMT0ciOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFdh
cm5pbmdNZXNzYWdlTGV2ZWw6CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6Oldhcm5pbmc6CiAgICAg
ICAgIGxldmVsU3RyaW5nID0gIldBUk4iOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEVycm9y
TWVzc2FnZUxldmVsOgorICAgIGNhc2UgTWVzc2FnZUxldmVsOjpFcnJvcjoKICAgICAgICAgbGV2
ZWxTdHJpbmcgPSAiRVJST1IiOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAtMTcy
LDE1ICsxNzMsMTUgQEAgdm9pZCBQYWdlQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNl
IHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHIKIAogdm9pZCBQYWdlQ29uc29s
ZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgdXJsLCB1bnNpZ25lZCBsaW5lTnVt
YmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBj
YWxsU3RhY2ssIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllcikKIHsKLSAgICBpZiAobXV0ZUNvdW50ICYmIHNvdXJjZSAhPSBDb25zb2xlQVBJTWVz
c2FnZVNvdXJjZSkKKyAgICBpZiAobXV0ZUNvdW50ICYmIHNvdXJjZSAhPSBNZXNzYWdlU291cmNl
OjpDb25zb2xlQVBJKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoY2FsbFN0YWNrKQotICAg
ICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoJm1fcGFn
ZSwgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVx
dWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1l
c3NhZ2VUb0NvbnNvbGUoJm1fcGFnZSwgc291cmNlLCBNZXNzYWdlVHlwZTo6TG9nLCBsZXZlbCwg
bWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgZWxzZQotICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoJm1fcGFnZSwg
c291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZU51bWJlciwg
Y29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoJm1fcGFnZSwgc291cmNlLCBN
ZXNzYWdlVHlwZTo6TG9nLCBsZXZlbCwgbWVzc2FnZSwgdXJsLCBsaW5lTnVtYmVyLCBjb2x1bW5O
dW1iZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CiAKLSAgICBpZiAoc291cmNlID09IENT
U01lc3NhZ2VTb3VyY2UpCisgICAgaWYgKHNvdXJjZSA9PSBNZXNzYWdlU291cmNlOjpDU1MpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGlmIChtX3BhZ2Uuc2V0dGluZ3MoKS5wcml2YXRlQnJvd3Np
bmdFbmFibGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmgKaW5kZXggOWE3MGU1NC4uNWFi
NzEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuaApAQCAtMjksOCArMjksOCBAQAogI2lm
bmRlZiBQYWdlQ29uc29sZV9oCiAjZGVmaW5lIFBhZ2VDb25zb2xlX2gKIAotI2luY2x1ZGUgIkNv
bnNvbGVUeXBlcy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0
YWNrLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCkBAIC01MSw4ICs1MSw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBwcmludFNv
dXJjZVVSTEFuZFBvc2l0aW9uKGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIgPSAwKTsKICAgICBzdGF0aWMgdm9pZCBwcmlu
dE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWws
IGJvb2wgc2hvd0FzVHJhY2UgPSBmYWxzZSk7CiAKLSAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIs
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKLSAgICB2b2lkIGFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NS
ZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIEpTQzo6RXhlY1N0YXRlKiA9
IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFkZE1l
c3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKICAgICB2b2lkIGFkZE1l
c3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwLCBEb2N1bWVudCogPSAwKTsKIAog
ICAgIHN0YXRpYyB2b2lkIG11dGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UG9pbnRlckxvY2tDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxv
Y2tDb250cm9sbGVyLmNwcAppbmRleCA1ZDZmNWE1Li4yNTk2ZmZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCkBAIC01Niw3ICs1Niw3IEBAIHZv
aWQgUG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2soRWxlbWVudCogdGFy
Z2V0KQogCiAgICAgaWYgKHRhcmdldC0+ZG9jdW1lbnQoKS5pc1NhbmRib3hlZChTYW5kYm94UG9p
bnRlckxvY2spKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1v
dmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMuCi0gICAgICAgIHRhcmdldC0+ZG9j
dW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCAiQmxvY2tlZCBwb2ludGVyIGxvY2sgb24gYW4gZWxlbWVudCBiZWNhdXNlIHRo
ZSBlbGVtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXBvaW50ZXItbG9j
aycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAgICAgICB0YXJnZXQtPmRvY3VtZW50KCku
YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQmxvY2tlZCBwb2ludGVyIGxvY2sgb24gYW4gZWxlbWVudCBi
ZWNhdXNlIHRoZSBlbGVtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXBv
aW50ZXItbG9jaycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpKTsKICAgICAgICAgZW5xdWV1ZUV2
ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRwb2ludGVybG9ja2Vycm9yRXZlbnQsIHRhcmdldCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Dcm9zc1RocmVhZENvcGllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Jvc3NUaHJl
YWRDb3BpZXIuaAppbmRleCAzZjgxY2EwLi5jYWYyNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmgKQEAgLTY2LDggKzY2LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICAgICAgdHlwZWRlZiBUIFR5cGU7CiAgICAgICAgIH07CiAKLSAgICAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElzQ29udmVydGlibGVUb0ludGVnZXIgewot
ICAgICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBzdGQ6OmlzX2ludGVncmFsPFQ+
Ojp2YWx1ZSB8fCBzdGQ6OmlzX2NvbnZlcnRpYmxlPFQsIGxvbmcgZG91YmxlPjo6dmFsdWU7Cisg
ICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc0VudW1PckNvbnZlcnRpYmxlVG9J
bnRlZ2VyIHsKKyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gc3RkOjppc19p
bnRlZ3JhbDxUPjo6dmFsdWUgfHwgc3RkOjppc19lbnVtPFQ+Ojp2YWx1ZSB8fCBzdGQ6OmlzX2Nv
bnZlcnRpYmxlPFQsIGxvbmcgZG91YmxlPjo6dmFsdWU7CiAgICAgICAgIH07CiAKICAgICAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElzVGhyZWFkU2FmZVJlZkNvdW50ZWRQb2ludGVy
IHsKQEAgLTgzLDcgKzgzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB9CiAgICAg
fTsKIAotICAgIHRlbXBsYXRlPGJvb2wgaXNDb252ZXJ0aWJsZVRvSW50ZWdlciwgYm9vbCBpc1Ro
cmVhZFNhZmVSZWZDb3VudGVkLCB0eXBlbmFtZSBUPiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3BpZXJC
YXNlOworICAgIHRlbXBsYXRlPGJvb2wgaXNFbnVtT3JDb252ZXJ0aWJsZVRvSW50ZWdlciwgYm9v
bCBpc1RocmVhZFNhZmVSZWZDb3VudGVkLCB0eXBlbmFtZSBUPiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRD
b3BpZXJCYXNlOwogCiAgICAgLy8gSW50ZWdlcnMgZ2V0IHBhc3NlZCB0aHJvdWdoIHdpdGhvdXQg
YW55IGNoYW5nZXMuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IENyb3NzVGhyZWFk
Q29waWVyQmFzZTx0cnVlLCBmYWxzZSwgVD4gOiBwdWJsaWMgQ3Jvc3NUaHJlYWRDb3BpZXJQYXNz
VGhyb3VnaDxUPiB7CkBAIC0xOTksNyArMTk5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2Vu
ZGlmCiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIHN0cnVjdCBDcm9zc1RocmVhZENv
cGllciA6IHB1YmxpYyBDcm9zc1RocmVhZENvcGllckJhc2U8Q3Jvc3NUaHJlYWRDb3BpZXJCYXNl
SGVscGVyOjpJc0NvbnZlcnRpYmxlVG9JbnRlZ2VyPFQ+Ojp2YWx1ZSwgQ3Jvc3NUaHJlYWRDb3Bp
ZXJCYXNlSGVscGVyOjpJc1RocmVhZFNhZmVSZWZDb3VudGVkUG9pbnRlcjxUPjo6dmFsdWUsIFQ+
IHsKKyAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3BpZXIgOiBwdWJsaWMgQ3Jvc3NUaHJlYWRDb3Bp
ZXJCYXNlPENyb3NzVGhyZWFkQ29waWVyQmFzZUhlbHBlcjo6SXNFbnVtT3JDb252ZXJ0aWJsZVRv
SW50ZWdlcjxUPjo6dmFsdWUsIENyb3NzVGhyZWFkQ29waWVyQmFzZUhlbHBlcjo6SXNUaHJlYWRT
YWZlUmVmQ291bnRlZFBvaW50ZXI8VD46OnZhbHVlLCBUPiB7CiAgICAgfTsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzV3JhcHBlciB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlSW5mby5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlSW5mby5jcHAKaW5kZXggNzhk
ZmY5OS4uZGZkZTI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBl
cy9TaGFwZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hh
cGVJbmZvLmNwcApAQCAtNTAsNyArNTAsNyBAQCBib29sIGNoZWNrU2hhcGVJbWFnZU9yaWdpbihE
b2N1bWVudCYgZG9jdW1lbnQsIENhY2hlZEltYWdlJiBjYWNoZWRJbWFnZSkKIAogICAgIGNvbnN0
IFVSTCYgdXJsID0gY2FjaGVkSW1hZ2UudXJsKCk7CiAgICAgU3RyaW5nIHVybFN0cmluZyA9IHVy
bC5pc051bGwoKSA/ICInJyIgOiB1cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCk7
Ci0gICAgZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIlVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMICIgKyB1cmxTdHJp
bmcgKyAiLiIpOworICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6
OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBV
UkwgIiArIHVybFN0cmluZyArICIuIik7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCmluZGV4IDY1NWIyYTEuLmE2
MDVlNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lv
bnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3Bw
CkBAIC0xMzMsMTcgKzEzMywxNyBAQCB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6ZGlzcGF0
Y2hTVkdMb2FkRXZlbnRUb091dGVybW9zdFNWR0VsZW1lbnRzKCkKIHN0YXRpYyB2b2lkIHJlcG9y
dE1lc3NhZ2UoRG9jdW1lbnQqIGRvY3VtZW50LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSkKIHsKICAgICBpZiAoZG9jdW1lbnQtPmZyYW1lKCkpCi0gICAgICAgIGRv
Y3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBsZXZlbCwg
bWVzc2FnZSk7CisgICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpSZW5kZXJpbmcsIGxldmVsLCBtZXNzYWdlKTsKIH0KIAogdm9pZCBTVkdEb2N1bWVudEV4
dGVuc2lvbnM6OnJlcG9ydFdhcm5pbmcoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIHJl
cG9ydE1lc3NhZ2UobV9kb2N1bWVudCwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIldhcm5pbmc6ICIg
KyBtZXNzYWdlKTsKKyAgICByZXBvcnRNZXNzYWdlKG1fZG9jdW1lbnQsIE1lc3NhZ2VMZXZlbDo6
V2FybmluZywgIldhcm5pbmc6ICIgKyBtZXNzYWdlKTsKIH0KIAogdm9pZCBTVkdEb2N1bWVudEV4
dGVuc2lvbnM6OnJlcG9ydEVycm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICByZXBv
cnRNZXNzYWdlKG1fZG9jdW1lbnQsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3I6ICIgKyBtZXNz
YWdlKTsKKyAgICByZXBvcnRNZXNzYWdlKG1fZG9jdW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3Is
ICJFcnJvcjogIiArIG1lc3NhZ2UpOwogfQogCiB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6
YWRkUGVuZGluZ1Jlc291cmNlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIEVsZW1lbnQqIGVsZW1l
bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggN2Q4ZWZjNS4uNmY2MmQ1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTcsNyArNTcsNiBAQAog
I2luY2x1ZGUgIkhpc3RvcnlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xl
QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yQ291bnRlcnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGb3J3YXJkaW5nLmgiCkBAIC02
NSw4ICs2NCw4IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMu
aCIKLSNpbmNsdWRlICJJbnRlcm5hbFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgor
I2luY2x1ZGUgIkludGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJMYW5ndWFnZS5oIgogI2lu
Y2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIk1hbGxvY1N0YXRpc3RpY3MuaCIKQEAgLTk1
LDYgKzk0LDcgQEAKICNpbmNsdWRlICJUcmVlU2NvcGUuaCIKICNpbmNsdWRlICJUeXBlQ29udmVy
c2lvbnMuaCIKICNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgorI2luY2x1ZGUgIldlYkNv
bnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPGJ5dGVj
b2RlL0NvZGVCbG9jay5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2Uu
aD4KQEAgLTE0MjcsOSArMTQyNywxMSBAQCBWZWN0b3I8U3RyaW5nPiBJbnRlcm5hbHM6OmNvbnNv
bGVNZXNzYWdlQXJndW1lbnRDb3VudHMoKSBjb25zdAogICAgIEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKGRvY3VtZW50LT5w
YWdlKCkpOwogICAgIGlmICghaW5zdHJ1bWVudGluZ0FnZW50cykKICAgICAgICAgcmV0dXJuIFZl
Y3RvcjxTdHJpbmc+KCk7Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQg
PSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKTsKKworICAgIElu
c3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+
d2ViQ29uc29sZUFnZW50KCk7CiAgICAgaWYgKCFjb25zb2xlQWdlbnQpCiAgICAgICAgIHJldHVy
biBWZWN0b3I8U3RyaW5nPigpOworCiAgICAgVmVjdG9yPHVuc2lnbmVkPiBjb3VudHMgPSBjb25z
b2xlQWdlbnQtPmNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMoKTsKICAgICBWZWN0b3I8U3Ry
aW5nPiByZXN1bHQoY291bnRzLnNpemUoKSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBj
b3VudHMuc2l6ZSgpOyBpKyspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCmluZGV4IGE2NGE0YzkuLmQzYTM2OWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJl
cG9zaXRvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdv
cmtlclJlcG9zaXRvcnkuY3BwCkBAIC00NCw3ICs0NCw2IEBACiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luSGFzaC5oIgogI2luY2x1ZGUgIlNo
YXJlZFdvcmtlci5oIgpAQCAtNTYsNiArNTUsNyBAQAogI2luY2x1ZGUgIldvcmtlclJlcG9ydGlu
Z1Byb3h5LmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSAiV29y
a2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFjay5oPgogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL1RocmVhZGluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1No
YXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCAxMzhiZmFjLi4yM2YyZmE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcApA
QCAtMzgsOSArMzgsOSBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJNZXNz
YWdlRXZlbnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgIlNjcmlw
dENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2hh
cmVkV29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTgwLDEwICs4MCwxMCBAQCBTaGFyZWRXb3Jr
ZXJUaHJlYWQqIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjp0aHJlYWQoKQogICAgIHJldHVybiBz
dGF0aWNfY2FzdDxTaGFyZWRXb3JrZXJUaHJlYWQqPihCYXNlOjp0aHJlYWQoKSk7CiB9CiAKLXZv
aWQgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBT
dHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVt
YmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0
YWNrKQordm9pZCBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6bG9nRXhjZXB0aW9uVG9Db25zb2xl
KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50
IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3Jp
cHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKICAgICBXb3JrZXJHbG9iYWxTY29wZTo6bG9nRXhj
ZXB0aW9uVG9Db25zb2xlKGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1
bW5OdW1iZXIsIGNhbGxTdGFjayk7Ci0gICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwg
bGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBjYWxsU3RhY2spOworICAgIGFkZE1lc3NhZ2VUb1dv
cmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGVycm9y
TWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNhbGxTdGFjayk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCBjZTY4NzAyLi5jMTQ3MTdiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oCkBA
IC02MCw3ICs2MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHByaXZhdGU6CiAgICAg
ICAgIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgVVJM
JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdz
PiwgU2hhcmVkV29ya2VyVGhyZWFkKik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRp
b25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+KSBvdmVycmlkZTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlv
blRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPikgb3ZlcnJpZGU7CiAKICAgICAgICAgU3RyaW5nIG1fbmFt
ZTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cAppbmRleCAyODg5MjM2Li5hYjE5OThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlLmNwcApAQCAtMjEsMTIgKzIxLDExIEBACiAgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICoKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KICNpbmNsdWRlICJXb3JrZXJHbG9iYWxT
Y29wZS5oIgogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCkBAIC0zOSwxMyArMzgsMTIg
QEAKICNpbmNsdWRlICJFdmVudEV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5jbHVk
ZSAiVVJMLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIlNjaGVkdWxlZEFjdGlvbi5oIgotI2luY2x1ZGUgIlNjcmlwdENh
bGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIldvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXb3JrZXJMb2NhdGlvbi5oIgogI2luY2x1ZGUgIldv
cmtlck5hdmlnYXRvci5oIgpAQCAtNTUsMTIgKzUzLDE1IEBACiAjaW5jbHVkZSAiV29ya2VyVGhy
ZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgiCiAj
aW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2Ny
aXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiAjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJO
b3RpZmljYXRpb25DZW50ZXIuaCIKICNlbmRpZgogCit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9y
OworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENsb3NlV29ya2VyR2xvYmFsU2NvcGVU
YXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewpAQCAtMjc1LDkgKzI3
Niw5IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMCiB7CiAgICAgQVNTRVJUKGlzQ29udGV4dFRo
cmVhZCgpKTsKICAgICBpZiAoY2FsbFN0YWNrKQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
bGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNl
LCBNZXNzYWdlVHlwZTo6TG9nLCBsZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRl
bnRpZmllcik7CiAgICAgZWxzZQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFk
ZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1l
c3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVz
dElkZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUodGhpcywgc291cmNlLCBNZXNzYWdlVHlwZTo6TG9nLCBsZXZlbCwgbWVzc2Fn
ZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHN0YXRlLCByZXF1ZXN0SWRl
bnRpZmllcik7CiB9CiAKIGJvb2wgV29ya2VyR2xvYmFsU2NvcGU6OmlzQ29udGV4dFRocmVhZCgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXgg
NTgxOTk2NS4uZTRlMWI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuaApAQCAtMTM5LDggKzEzOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0
ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdzPiwgV29ya2VyVGhyZWFkKiwgUGFzc1JlZlB0cjxT
ZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKTsKICAgICAgICAgdm9pZCBhcHBseUNvbnRlbnRTZWN1
cml0eVBvbGljeUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ks
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSk7CiAKLSAgICAgICAgdmlydHVhbCB2
b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pIG92ZXJyaWRlOwotICAgICAgICB2b2lkIGFkZE1l
c3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVt
YmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwg
SlNDOjpFeGVjU3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAp
OworICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmlu
ZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIs
IGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+
KSBvdmVycmlkZTsKKyAgICAgICAgdm9pZCBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVy
LCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgSlNDOjpFeGVjU3RhdGUq
ID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogCiAgICAgcHJpdmF0
ZToKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBvdmVy
cmlkZSB7IHJlZigpOyB9CkBAIC0xNDksNyArMTQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IHJl
ZigpOyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGUg
ZmluYWwgeyBkZXJlZigpOyB9CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1i
ZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgSlNDOjpFeGVjU3RhdGUqID0gMCwgdW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApIG92ZXJyaWRlOworICAgICAgICB2aXJ0
dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENh
bGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50
aWZpZXIgPSAwKSBvdmVycmlkZTsKIAogICAgICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBlcnJv
ckV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggMzI0Y2Q4OS4uNTc1ZmYyYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTI2LDE0
ICsyNiwxMyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQogI2luY2x1ZGUgIldvcmtl
ck1lc3NhZ2luZ1Byb3h5LmgiCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIK
ICNpbmNsdWRlICJDcm9zc1RocmVhZFRhc2suaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNp
bmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkRlZGljYXRl
ZFdvcmtlclRocmVhZC5oIgotI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCiAjaW5jbHVkZSAiRXJyb3JFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCkBAIC00
MywxMiArNDIsMTMgQEAKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgotI2luY2x1ZGUgIlNjcmlwdENh
bGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRl
ICJXb3JrZXIuaCIKICNpbmNsdWRlICJXb3JrZXJEZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVkZSAi
V29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25zb2xl
VHlwZXMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmg+CisjaW5j
bHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyUmVwb3J0aW5nUHJveHkuaAppbmRleCA2MWE2NjExLi4wMDNkMGUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oCkBAIC0zMSw3ICszMSw3
IEBACiAjaWZuZGVmIFdvcmtlclJlcG9ydGluZ1Byb3h5X2gKICNkZWZpbmUgV29ya2VyUmVwb3J0
aW5nUHJveHlfaAogCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCisjaW5jbHVkZSA8aW5zcGVj
dG9yL0NvbnNvbGVUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IGM0YWNi
ZTcuLjgxNjc3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNDMs
NyArNDMsNiBAQAogI2luY2x1ZGUgIlBhcnNlZENvbnRlbnRUeXBlLmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgotI2luY2x1ZGUgIlNj
cmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTE2MCw3ICsxNTks
NyBAQCBzdGF0aWMgdm9pZCBsb2dDb25zb2xlRXJyb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCwgY29uc3QgU3RyaW5nJiBtZXNzYQogICAgICAgICByZXR1cm47CiAgICAgLy8gRklY
TUU6IEl0J3Mgbm90IGdvb2QgdG8gcmVwb3J0IHRoZSBiYWQgdXNhZ2Ugd2l0aG91dCBpbmRpY2F0
aW5nIHdoYXQgc291cmNlIGxpbmUgaXQgY2FtZSBmcm9tLgogICAgIC8vIFdlIHNob3VsZCBwYXNz
IGFkZGl0aW9uYWwgcGFyYW1ldGVycyBzbyB3ZSBjYW4gdGVsbCB0aGUgY29uc29sZSB3aGVyZSB0
aGUgbWlzdGFrZSBvY2N1cnJlZC4KLSAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBjb250ZXh0LT5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwg
bWVzc2FnZSk7CiB9CiAKIFBhc3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IFhNTEh0dHBSZXF1ZXN0
OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKQEAgLTcxMyw3ICs3MTIs
NyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKERPTUZvcm1EYXRhKiBib2R5LCBFeGNlcHRp
b25Db2RlJiBlYykKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNlbmQoQXJyYXlCdWZmZXIqIGJvZHks
IEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFN0cmluZyBjb25zb2xlTWVzc2FnZSgiQXJyYXlC
dWZmZXIgaXMgZGVwcmVjYXRlZCBpbiBYTUxIdHRwUmVxdWVzdC5zZW5kKCkuIFVzZSBBcnJheUJ1
ZmZlclZpZXcgaW5zdGVhZC4iKTsKLSAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENv
bnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgY29uc29s
ZU1lc3NhZ2UpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgY29uc29sZU1lc3Nh
Z2UpOwogCiAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNv
cmUuWEhSLnNlbmQuQXJyYXlCdWZmZXJPclZpZXciLCBYTUxIdHRwUmVxdWVzdFNlbmRBcnJheUJ1
ZmZlciwgWE1MSHR0cFJlcXVlc3RTZW5kQXJyYXlCdWZmZXJPclZpZXdNYXgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwIGIvU291cmNl
L1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcAppbmRleCA4MDkzMTE4Li4xYzBk
N2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAKQEAg
LTg2LDIwICs4NiwyMCBAQCB2b2lkIFhTTFRQcm9jZXNzb3I6OnBhcnNlRXJyb3JGdW5jKHZvaWQq
IHVzZXJEYXRhLCB4bWxFcnJvciogZXJyb3IpCiAgICAgTWVzc2FnZUxldmVsIGxldmVsOwogICAg
IHN3aXRjaCAoZXJyb3ItPmxldmVsKSB7CiAgICAgY2FzZSBYTUxfRVJSX05PTkU6Ci0gICAgICAg
IGxldmVsID0gRGVidWdNZXNzYWdlTGV2ZWw7CisgICAgICAgIGxldmVsID0gTWVzc2FnZUxldmVs
OjpEZWJ1ZzsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBYTUxfRVJSX1dBUk5JTkc6Ci0gICAg
ICAgIGxldmVsID0gV2FybmluZ01lc3NhZ2VMZXZlbDsKKyAgICAgICAgbGV2ZWwgPSBNZXNzYWdl
TGV2ZWw6Oldhcm5pbmc7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgWE1MX0VSUl9FUlJPUjoK
ICAgICBjYXNlIFhNTF9FUlJfRkFUQUw6CiAgICAgZGVmYXVsdDoKLSAgICAgICAgbGV2ZWwgPSBF
cnJvck1lc3NhZ2VMZXZlbDsKKyAgICAgICAgbGV2ZWwgPSBNZXNzYWdlTGV2ZWw6OkVycm9yOwog
ICAgICAgICBicmVhazsKICAgICB9CiAKICAgICAvLyB4bWxFcnJvci0+aW50MiBpcyB0aGUgY29s
dW1uIG51bWJlciBvZiB0aGUgZXJyb3Igb3IgMCBpZiBOL0EuCi0gICAgY29uc29sZS0+YWRkTWVz
c2FnZShYTUxNZXNzYWdlU291cmNlLCBsZXZlbCwgZXJyb3ItPm1lc3NhZ2UsIGVycm9yLT5maWxl
LCBlcnJvci0+bGluZSwgZXJyb3ItPmludDIpOworICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6WE1MLCBsZXZlbCwgZXJyb3ItPm1lc3NhZ2UsIGVycm9yLT5maWxlLCBlcnJv
ci0+bGluZSwgZXJyb3ItPmludDIpOwogfQogCiAvLyBGSVhNRTogVGhlcmUgc2VlbXMgdG8gYmUg
bm8gd2F5IHRvIGNvbnRyb2wgdGhlIGN0eHQgcG9pbnRlciBmb3IgbG9hZGluZyBoZXJlLCB0aHVz
IHdlIGhhdmUgZ2xvYmFscy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGUzMGYzYTAuLjM0
OGRmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTAy
LTAzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL0luc3BlY3RvckpTQmFja2VuZENvbW1hbmRzLmpzOgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzOgorICAgICAgICBDb25zb2xlQWdl
bnQgbW92ZWQgdG8gSmF2YVNjcmlwdCBzZWN0aW9uLgorCiAyMDE0LTAxLTMwICBUaW1vdGh5IEhh
dGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBTaG93IHByb2ZpbGUgZGF0YSBp
biB0aGUgZGlzY3JldGUgU2NyaXB0cyB0aW1lbGluZSB2aWV3LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9ySlNCYWNrZW5kQ29tbWFuZHMu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JKU0JhY2tl
bmRDb21tYW5kcy5qcwppbmRleCAyMzRiZDY5Li5mMzhkZmVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JKU0JhY2tlbmRDb21tYW5kcy5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JKU0Jh
Y2tlbmRDb21tYW5kcy5qcwpAQCAtNiw2ICs2LDIxIEBACiAvLyBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgogCiAKKy8vIENvbnNvbGUuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29uc29s
ZURpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hlci5i
aW5kKEluc3BlY3RvckJhY2tlbmQsICJDb25zb2xlIik7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyRW51bSgiQ29uc29sZS5Db25zb2xlTWVzc2FnZVNvdXJjZSIsIHtYTUw6ICJ4bWwiLCBKYXZh
c2NyaXB0OiAiamF2YXNjcmlwdCIsIE5ldHdvcms6ICJuZXR3b3JrIiwgQ29uc29sZUFQSTogImNv
bnNvbGUtYXBpIiwgU3RvcmFnZTogInN0b3JhZ2UiLCBBcHBjYWNoZTogImFwcGNhY2hlIiwgUmVu
ZGVyaW5nOiAicmVuZGVyaW5nIiwgQ1NTOiAiY3NzIiwgU2VjdXJpdHk6ICJzZWN1cml0eSIsIE90
aGVyOiAib3RoZXIifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiQ29uc29sZS5D
b25zb2xlTWVzc2FnZUxldmVsIiwge0xvZzogImxvZyIsIFdhcm5pbmc6ICJ3YXJuaW5nIiwgRXJy
b3I6ICJlcnJvciIsIERlYnVnOiAiZGVidWcifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
RW51bSgiQ29uc29sZS5Db25zb2xlTWVzc2FnZVR5cGUiLCB7TG9nOiAibG9nIiwgRGlyOiAiZGly
IiwgRGlyWE1MOiAiZGlyeG1sIiwgVGFibGU6ICJ0YWJsZSIsIFRyYWNlOiAidHJhY2UiLCBDbGVh
cjogImNsZWFyIiwgU3RhcnRHcm91cDogInN0YXJ0R3JvdXAiLCBTdGFydEdyb3VwQ29sbGFwc2Vk
OiAic3RhcnRHcm91cENvbGxhcHNlZCIsIEVuZEdyb3VwOiAiZW5kR3JvdXAiLCBBc3NlcnQ6ICJh
c3NlcnQiLCBUaW1pbmc6ICJ0aW1pbmciLCBQcm9maWxlOiAicHJvZmlsZSIsIFByb2ZpbGVFbmQ6
ICJwcm9maWxlRW5kIn0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJDb25zb2xl
Lm1lc3NhZ2VBZGRlZCIsIFsibWVzc2FnZSJdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJF
dmVudCgiQ29uc29sZS5tZXNzYWdlUmVwZWF0Q291bnRVcGRhdGVkIiwgWyJjb3VudCJdKTsKK0lu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiQ29uc29sZS5tZXNzYWdlc0NsZWFyZWQiLCBb
XSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5lbmFibGUiLCBb
XSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuZGlzYWJs
ZSIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5j
bGVhck1lc3NhZ2VzIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5k
KCJDb25zb2xlLnNldE1vbml0b3JpbmdYSFJFbmFibGVkIiwgW3sibmFtZSI6ICJlbmFibGVkIiwg
InR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKK0luc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmFkZEluc3BlY3RlZE5vZGUiLCBbeyJuYW1l
IjogIm5vZGVJZCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsK
K0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmFkZEluc3BlY3RlZEhl
YXBPYmplY3QiLCBbeyJuYW1lIjogImhlYXBPYmplY3RJZCIsICJ0eXBlIjogIm51bWJlciIsICJv
cHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKKwogLy8gRGVidWdnZXIuCiBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRv
bWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiRGVidWdnZXIiKTsKIEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJEZWJ1Z2dlci5CcmVha3BvaW50QWN0aW9uVHlwZSIs
IHtMb2c6ICJsb2ciLCBFdmFsdWF0ZTogImV2YWx1YXRlIiwgU291bmQ6ICJzb3VuZCIsIFByb2Jl
OiAicHJvYmUifSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMKaW5kZXggMWIz
YTMxNS4uODY0MTY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcwpAQCAt
NjMsMjEgKzYzLDYgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNhbnZhcy5y
ZXBsYXlUcmFjZUxvZyIsIFt7Im5hbWUiOiAidHJhY2VMb2dJZCIKIEluc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJDb21tYW5kKCJDYW52YXMuZ2V0UmVzb3VyY2VJbmZvIiwgW3sibmFtZSI6ICJyZXNv
dXJjZUlkIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgWyJyZXNvdXJj
ZUluZm8iXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ2FudmFzLmdldFJl
c291cmNlU3RhdGUiLCBbeyJuYW1lIjogInRyYWNlTG9nSWQiLCAidHlwZSI6ICJzdHJpbmciLCAi
b3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJyZXNvdXJjZUlkIiwgInR5cGUiOiAic3RyaW5n
IiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgWyJyZXNvdXJjZVN0YXRlIl0pOwogCi0vLyBDb25zb2xl
LgotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbnNvbGVEaXNwYXRjaGVyID0gSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAi
Q29uc29sZSIpOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29s
ZU1lc3NhZ2VTb3VyY2UiLCB7WE1MOiAieG1sIiwgSmF2YXNjcmlwdDogImphdmFzY3JpcHQiLCBO
ZXR3b3JrOiAibmV0d29yayIsIENvbnNvbGVBUEk6ICJjb25zb2xlLWFwaSIsIFN0b3JhZ2U6ICJz
dG9yYWdlIiwgQXBwY2FjaGU6ICJhcHBjYWNoZSIsIFJlbmRlcmluZzogInJlbmRlcmluZyIsIENT
UzogImNzcyIsIFNlY3VyaXR5OiAic2VjdXJpdHkiLCBPdGhlcjogIm90aGVyIn0pOwotSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29sZU1lc3NhZ2VMZXZlbCIsIHtM
b2c6ICJsb2ciLCBXYXJuaW5nOiAid2FybmluZyIsIEVycm9yOiAiZXJyb3IiLCBEZWJ1ZzogImRl
YnVnIn0pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29sZU1l
c3NhZ2VUeXBlIiwge0xvZzogImxvZyIsIERpcjogImRpciIsIERpclhNTDogImRpcnhtbCIsIFRh
YmxlOiAidGFibGUiLCBUcmFjZTogInRyYWNlIiwgQ2xlYXI6ICJjbGVhciIsIFN0YXJ0R3JvdXA6
ICJzdGFydEdyb3VwIiwgU3RhcnRHcm91cENvbGxhcHNlZDogInN0YXJ0R3JvdXBDb2xsYXBzZWQi
LCBFbmRHcm91cDogImVuZEdyb3VwIiwgQXNzZXJ0OiAiYXNzZXJ0IiwgVGltaW5nOiAidGltaW5n
IiwgUHJvZmlsZTogInByb2ZpbGUiLCBQcm9maWxlRW5kOiAicHJvZmlsZUVuZCJ9KTsKLUluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiQ29uc29sZS5tZXNzYWdlQWRkZWQiLCBbIm1lc3Nh
Z2UiXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZVJl
cGVhdENvdW50VXBkYXRlZCIsIFsiY291bnQiXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
RXZlbnQoIkNvbnNvbGUubWVzc2FnZXNDbGVhcmVkIiwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuZW5hYmxlIiwgW10sIFtdKTsKLUluc3BlY3RvckJhY2tl
bmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmRpc2FibGUiLCBbXSwgW10pOwotSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuY2xlYXJNZXNzYWdlcyIsIFtdLCBbXSk7
Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5zZXRNb25pdG9yaW5n
WEhSRW5hYmxlZCIsIFt7Im5hbWUiOiAiZW5hYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0
aW9uYWwiOiBmYWxzZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgi
Q29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIiwgW3sibmFtZSI6ICJub2RlSWQiLCAidHlwZSI6ICJu
dW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyQ29tbWFuZCgiQ29uc29sZS5hZGRJbnNwZWN0ZWRIZWFwT2JqZWN0IiwgW3sibmFtZSI6ICJo
ZWFwT2JqZWN0SWQiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7
Ci0KIC8vIERPTS4KIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJET01EaXNwYXRjaGVyID0gSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNr
ZW5kLCAiRE9NIik7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkRPTS5kb2N1bWVu
dFVwZGF0ZWQiLCBbXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggYmVmY2VhZC4uM2QxMDg2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIENv
bnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUpOgorCiAyMDE0LTAxLTMxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXhpbmcgdGhlIEdUSyBidWlsZCBhZnRlciByMTYz
MjMyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEd0ay5jcHAKaW5kZXggZjYxZjlkYS4uYWVlMWI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC0zNjIsNyAr
MzYyLDcgQEAgYm9vbCBDaHJvbWVDbGllbnQ6OnJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChj
b25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgV2ViQ28KICAgICByZXR1cm4gcnVuSmF2YVNjcmlw
dENvbmZpcm0oZnJhbWUsIG1lc3NhZ2UpOwogfQogCi12b2lkIENocm9tZUNsaWVudDo6YWRkTWVz
c2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlIHNvdXJjZSwgV2ViQ29yZTo6TWVz
c2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGlu
ZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNl
SWQpCit2b2lkIENocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShJbnNwZWN0b3I6Ok1l
c3NhZ2VTb3VyY2Ugc291cmNlLCBJbnNwZWN0b3I6Ok1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3Qg
V1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVt
bk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlkKQogewogICAgIGdib29sZWFuIHJl
dHZhbDsKICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUobV93ZWJWaWV3LCAiY29uc29sZS1tZXNz
YWdlIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpLCBsaW5lTnVtYmVyLCBzb3VyY2VJZC51dGY4KCku
ZGF0YSgpLCAmcmV0dmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA2Yjg1OTE0Li4yZTRjNzQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQZWNv
cmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQg
Q29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToK
KyAgICAgICAgKHN0cmluZ0Zvck1lc3NhZ2VTb3VyY2UpOgorICAgICAgICAoc3RyaW5nRm9yTWVz
c2FnZUxldmVsKToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29s
ZSk6CisKIDIwMTQtMDEtMzEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVtb3ZlIGlubGluZSBtZW1iZXIgZnVuY3Rpb25zIG9mIEZyYW1lU2VsZWN0aW9uIHRo
YXQgYWNjZXNzIG1fc2VsZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDMzYTc0MDQuLjI4NmVmNzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBA
IC03LDEzICs3LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uIAorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKiAzLiAgTmVpdGhlciB0aGUg
bmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgog
ICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICogICAgIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICAqCiAgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtMzUsOSArMzUsNiBAQAogI2ltcG9y
dCA8d3RmL1BsYXRmb3JtLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KICNpbXBv
cnQgPFdlYkNvcmUvQ2hyb21lLmg+Ci0KLXVzaW5nIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbDsKLXVz
aW5nIFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2U7CiAjZW5kaWYKIAogQGNsYXNzIFdlYlZpZXc7CkBA
IC04Miw3ICs3OSw3IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXph
YmxlKGJvb2wpIG92ZXJyaWRlOwogICAgIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9D
b25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29u
c3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNv
bHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZVVSTCkgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoSW5zcGVjdG9yOjpNZXNzYWdlU291cmNl
LCBJbnNwZWN0b3I6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJp
bmcmIHNvdXJjZVVSTCkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9y
ZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6
RnJhbWUqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCA3ODczOTE3Li40ZjIzMTViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBA
IC03LDEzICs3LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uIAorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKiAzLiAgTmVpdGhlciB0aGUg
bmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgog
ICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICogICAgIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICAqCiAgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtMzcwLDI1ICszNzAsMjUgQEAgdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OnNldFJlc2l6YWJsZShib29sIGIpCiBpbmxpbmUgc3RhdGljIE5T
U3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlU291cmNlKE1lc3NhZ2VTb3VyY2Ugc291cmNlKQogewog
ICAgIHN3aXRjaCAoc291cmNlKSB7Ci0gICAgY2FzZSBYTUxNZXNzYWdlU291cmNlOgorICAgIGNh
c2UgTWVzc2FnZVNvdXJjZTo6WE1MOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VY
TUxNZXNzYWdlU291cmNlOwotICAgIGNhc2UgSlNNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVz
c2FnZVNvdXJjZTo6SlM6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUpTTWVzc2Fn
ZVNvdXJjZTsKLSAgICBjYXNlIE5ldHdvcmtNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2Fn
ZVNvdXJjZTo6TmV0d29yazoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlTmV0d29y
a01lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZToKKyAgICBj
YXNlIE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEk6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xl
TWVzc2FnZUNvbnNvbGVBUElNZXNzYWdlU291cmNlOwotICAgIGNhc2UgU3RvcmFnZU1lc3NhZ2VT
b3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpTdG9yYWdlOgogICAgICAgICByZXR1cm4g
V2ViQ29uc29sZU1lc3NhZ2VTdG9yYWdlTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIEFwcENhY2hl
TWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlOgogICAgICAg
ICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VBcHBDYWNoZU1lc3NhZ2VTb3VyY2U7Ci0gICAgY2Fz
ZSBSZW5kZXJpbmdNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6UmVuZGVy
aW5nOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VSZW5kZXJpbmdNZXNzYWdlU291
cmNlOwotICAgIGNhc2UgQ1NTTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6
OkNTUzoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQ1NTTWVzc2FnZVNvdXJjZTsK
LSAgICBjYXNlIFNlY3VyaXR5TWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6
OlNlY3VyaXR5OgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VTZWN1cml0eU1lc3Nh
Z2VTb3VyY2U7Ci0gICAgY2FzZSBPdGhlck1lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdl
U291cmNlOjpPdGhlcjoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlT3RoZXJNZXNz
YWdlU291cmNlOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTM5OCwyMCAr
Mzk4LDIwIEBAIGlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VTb3VyY2Uo
TWVzc2FnZVNvdXJjZSBzb3VyY2UpCiBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JN
ZXNzYWdlTGV2ZWwoTWVzc2FnZUxldmVsIGxldmVsKQogewogICAgIHN3aXRjaCAobGV2ZWwpIHsK
LSAgICBjYXNlIERlYnVnTWVzc2FnZUxldmVsOgorICAgIGNhc2UgTWVzc2FnZUxldmVsOjpEZWJ1
ZzoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlRGVidWdNZXNzYWdlTGV2ZWw7Ci0g
ICAgY2FzZSBMb2dNZXNzYWdlTGV2ZWw6CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkxvZzoKICAg
ICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlTG9nTWVzc2FnZUxldmVsOwotICAgIGNhc2Ug
V2FybmluZ01lc3NhZ2VMZXZlbDoKKyAgICBjYXNlIE1lc3NhZ2VMZXZlbDo6V2FybmluZzoKICAg
ICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlV2FybmluZ01lc3NhZ2VMZXZlbDsKLSAgICBj
YXNlIEVycm9yTWVzc2FnZUxldmVsOgorICAgIGNhc2UgTWVzc2FnZUxldmVsOjpFcnJvcjoKICAg
ICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlRXJyb3JNZXNzYWdlTGV2ZWw7CiAgICAgfQog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBAIiI7CiB9CiAKLXZvaWQgV2Vi
Q2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxp
bmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwp
Cit2b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNl
IHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpCiB7CiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBpZCBkZWxlZ2F0ZSA9IFttX3dlYlZp
ZXcgVUlEZWxlZ2F0ZV07CkBAIC00MzIsNyArNDMyLDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6
OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBs
ZXYKICAgICAgICAgcmVzcG9uZHNUb05ld1NlbGVjdG9yID0gWUVTOwogICAgIGVsc2UgewogICAg
ICAgICAvLyBUaGUgb2xkIHNlbGVjdG9yIG9ubHkgdGFrZXMgSlNNZXNzYWdlU291cmNlIG1lc3Nh
Z2VzLgotICAgICAgICBpZiAoc291cmNlICE9IEpTTWVzc2FnZVNvdXJjZSkKKyAgICAgICAgaWYg
KHNvdXJjZSAhPSBNZXNzYWdlU291cmNlOjpKUykKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgc2VsZWN0b3IgPSBAc2VsZWN0b3Iod2ViVmlldzphZGRNZXNzYWdlVG9Db25zb2xlOik7CiAg
ICAgICAgIGlmICghW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpzZWxlY3Rvcl0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKaW5kZXggODEzYTlmYi4uMDNlMmU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0Nv
bnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxNC0wMi0w
MyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgVHJ5IHRvIGZpeCB0
aGUgV2luQ2Fpcm8gYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDhhZGI5MTEuLmU2NWNkOTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC03
Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9v
bCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNz
YWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdU
Rjo6U3RyaW5nJiB1cmwpOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKElu
c3BlY3Rvcjo6TWVzc2FnZVNvdXJjZSwgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdU
Rjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5O
dW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiB1cmwpOwogCiAgICAgdmlydHVhbCBib29sIGNhblJ1
bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwogICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVV
bmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmU6OkZy
YW1lKiBmcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IDg3ZDY0NGEuLjg4Y2M5NWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQ
ZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
ZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFdpbkNFLmg6CisKIDIwMTQtMDEtMzAgIEFuZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9i
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBBQ0NFTEVSQVRFRF9DT01QT1NJVElORyBmbGFn
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFdpbkNFLmgKaW5kZXggMWFjOTA2Mi4uNzU5OGRiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaApAQCAtNzUs
NyArNzUsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wp
IG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29y
ZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBj
b25zdCBXVEY6OlN0cmluZyYgc291cmNlSUQpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBh
ZGRNZXNzYWdlVG9Db25zb2xlKEluc3BlY3Rvcjo6TWVzc2FnZVNvdXJjZSwgSW5zcGVjdG9yOjpN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVt
YmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCkg
b3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBh
bmVsKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1Q
YW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCA0NTEwNWZiLi4xNTFiMTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4
dCBJbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIw
MTQtMDItMDMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0
byBmaXggMzItYml0IE1hYyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGI3NTMxZDEu
LjQ3Y2NmNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtOTAsNyArOTAsNyBAQCBwcml2YXRl
OgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgb3ZlcnJpZGU7CiAg
ICAgCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2Fn
ZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBz
b3VyY2VJRCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUo
SW5zcGVjdG9yOjpNZXNzYWdlU291cmNlLCBJbnNwZWN0b3I6Ok1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpIG92ZXJyaWRlOwogICAgIAogICAgIHZpcnR1YWwg
Ym9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgV2ViQ29yZTo6RnJhbWUqKSBvdmVycmlkZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223023</attachid>
            <date>2014-02-03 14:48:21 -0800</date>
            <delta_ts>2014-02-03 17:26:09 -0800</delta_ts>
            <desc>[PATCH] For Bots 2</desc>
            <filename>for-bots-2.patch</filename>
            <type>text/plain</type>
            <size>383362</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhMzVmMjQxLi45YjVmOTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rv
ci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFtZU9wdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAg
IFVwZGF0ZSB3aXRoIGJldHRlciBsaW5lL2NvbHVtbiBudW1iZXJzIG5vdy4KKwogMjAxNC0wMi0w
MyAgSmVzc2llIEJlcmxpbiAgPGpiZXJsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmVydCBy
MTYzMjk5IHNpbmNlIGl0IGJyb2tlIHRoZSBNTCAzMi1iaXQgUmVsZWFzZSBidWlsZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3BhZ2UvZGVueS1YLUZyYW1lT3B0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9wYWdlL2Rl
bnktWC1GcmFtZU9wdGlvbi1leHBlY3RlZC50eHQKaW5kZXggODM1MjIyMy4uYzFmNjE2OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3BhZ2UvZGVueS1YLUZyYW1l
T3B0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wv
cGFnZS9kZW55LVgtRnJhbWVPcHRpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogQ09O
U09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGRpc3BsYXkgJ2RlbnktWC1GcmFtZU9wdGlvbi5odG1s
JyBpbiBhIGZyYW1lIGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlvbnMnIHRvICdkZW55Jy4K
IAotZGVueS1YLUZyYW1lT3B0aW9uLmh0bWw6MDowCitkZW55LVgtRnJhbWVPcHRpb24uaHRtbDoz
MDoxNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWM4NDczMy4uMDMx
NzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjI3LDcgKzIyNyw5
IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaGVhcC9Xcml0ZUJhcnJpZXJCdWZm
ZXIuY3BwCiAgICAgaGVhcC9Xcml0ZUJhcnJpZXJTdXBwb3J0LmNwcAogCisgICAgaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmNwcAogICAgIGluc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVz
LmNwcAorICAgIGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwCiAgICAgaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0LmNwcAogICAgIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEJhc2UuY3Bw
CiAgICAgaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTI0MSw4ICsyNDMsMTMg
QEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lLmNwcAogICAgIGluc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5
cGUuY3BwCiAgICAgaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCisgICAgaW5zcGVj
dG9yL1NjcmlwdEFyZ3VtZW50cy5jcHAKKyAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNw
cAorICAgIGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwCisgICAgaW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFja0ZhY3RvcnkuY3BwCiAgICAgaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNw
cAogICAgIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCisgICAgaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
UnVudGltZUFnZW50LmNwcAogCkBAIC03OTUsNiArODAyLDcgQEAgQUREX1NPVVJDRV9ERVBFTkRF
TkNJRVMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3BhcnNlci9MZXhlci5jcHAgJHtERVJJ
VkVEX1MKIHNldChKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfU0NSSVBUU19ESVIgIiR7SkFWQVND
UklQVENPUkVfRElSfS9pbnNwZWN0b3Ivc2NyaXB0cyIpCiAKIHNldChKYXZhU2NyaXB0Q29yZV9J
TlNQRUNUT1JfRE9NQUlOUworICAgIGluc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24KICAg
ICBpbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbgogICAgIGluc3BlY3Rvci9wcm90b2Nv
bC9HZW5lcmljVHlwZXMuanNvbgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9JbnNwZWN0b3JEb21h
aW4uanNvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNDg4ZTRiNS4uMGY0ZWIyYiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTQtMDItMDMgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgICogSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkIG5ldyBmaWxlcy4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
Y3BwLgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6
IEFkZGVkLgorICAgICAgICBOZXcgYWdlbnQgbW92ZWQgZnJvbSBXZWJDb3JlLiBSZW5hbWUgYSBt
ZXRob2QgdG8gd29yayBpbiBKUyBvbmx5IGNvbnRleHQuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKEluc3BlY3Rv
cjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3Bl
Y3RvckNvbnRyb2xsZXIpOgorICAgICAgICBJbnN0YW50aWF0ZSBDb25zb2xlQWdlbnQuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Lmg6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0
LmguCisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2Vu
dC5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRT
Y3JpcHRIb3N0LmguCisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0Q29uc29sZUFn
ZW50OjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpT
R2xvYmFsT2JqZWN0Q29uc29sZUFnZW50OjpzZXRNb25pdG9yaW5nWEhSRW5hYmxlZCk6CisgICAg
ICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWRO
b2RlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6OmFk
ZEluc3BlY3RlZEhlYXBPYmplY3QpOgorICAgICAgICBKU0dsb2JhbE9iamVjdCBpbXBsZW1lbnRh
dGlvbi4KKworICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dl
ckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVn
Z2VyQWdlbnQuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdERlYnVnZ2Vy
QWdlbnQ6OkpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudCk6CisgICAgICAgIChJbnNwZWN0b3I6
OkpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyk6CisgICAg
ICAgIFVzZSBDb25zb2xlQWdlbnQgdG8gcmVwb3J0IGxvZ3MuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvQ29uc29sZU1lc3NhZ2UuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmNwcC4KKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZU1lc3Nh
Z2UuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2Fn
ZS5oLgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaDogQ29waWVkIGZyb20gU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAuCisgICAgICAgICogaW5zcGVjdG9yL0lk
ZW50aWZpZXJzRmFjdG9yeS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0lkZW50aWZpZXJzRmFjdG9yeS5oLgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRBcmd1bWVu
dHMuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3Vt
ZW50cy5jcHAuCisgICAgICAgICogaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oLgorICAgICAg
ICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAuCisgICAgICAgICogaW5zcGVjdG9y
L1NjcmlwdENhbGxGcmFtZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1NjcmlwdENhbGxGcmFtZS5oLgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2su
Y3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5jcHAuCisgICAgICAgICogaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oLgorICAgICAgICAq
IGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwLgorICAgICAg
ICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmguCisgICAgICAg
ICogaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbjogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24uCisgICAgICAgICogaW5zcGVj
dG9yL3NjcmlwdHMvZ2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHk6CisKIDIwMTQt
MDEtMjUgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3AgdXNp
bmcgVW5pY29kZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IDExNTZlOTcuLjYwMjc0NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCkBAIC04Myw2ICs4Myw3IEBAIHVkaXM4Nl9pdGFiLmg6ICQoSmF2YVNjcmlwdENv
cmUpL2Rpc2Fzc2VtYmxlci91ZGlzODYvaXRhYi5weSAkKEphdmFTY3JpcHRDb3JlKS9kCiAjIElu
c3BlY3RvciBpbnRlcmZhY2VzCiAKIElOU1BFQ1RPUl9ET01BSU5TID0gXAorICAgICQoSmF2YVNj
cmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24gXAogICAgICQoSmF2YVNj
cmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9EZWJ1Z2dlci5qc29uIFwKICAgICAkKEphdmFT
Y3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvR2VuZXJpY1R5cGVzLmpzb24gXAogICAgICQo
SmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbiBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggZmU1NDQ4ZC4uY2MzYmMxOSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjAyLDYgKzIwMiw3IEBAIEVY
VFJBX0RJU1QgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvTElDRU5TRSBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2ljdS9SRUFETUUgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3Byb3RvY29sL0RlYnVnZ2VyLmpzb24gXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvR2VuZXJpY1R5cGVzLmpzb24gXAogCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvSW5zcGVjdG9yRG9tYWluLmpzb24gXApAQCAt
MjQzLDYgKzI0NCw3IEBAIGVuZGlmCiAjIEluc3BlY3RvciBJbnRlcmZhY2VzCiAKIEphdmFTY3Jp
cHRDb3JlX0lOU1BFQ1RPUl9ET01BSU5TIDo9IFwKKyAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNw
ZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNw
ZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5z
cGVjdG9yL3Byb3RvY29sL0dlbmVyaWNUeXBlcy5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3Jl
KS9pbnNwZWN0b3IvcHJvdG9jb2wvSW5zcGVjdG9yRG9tYWluLmpzb24gXApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBmNjU4ZThjLi43NzQyMzFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNjMwLDggKzYzMCwx
MyBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aWN1L3VuaWNvZGUvdXRmX29sZC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNv
ZGUvdXR5cGVzLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dmVyc2lv
bi5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNw
cCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIFwK
KwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oIFwKIAlTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwIFwK
IAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMu
aCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3Rvcnku
Y3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9y
eS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNw
cCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oIFwK
IAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0QmFzZS5jcHAg
XApAQCAtNjYyLDE2ICs2NjcsMjYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5
cGUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZy
YW1lLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2Fs
bEZyYW1lLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1l
bnRzLmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVu
dHMuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRCcmVha3BvaW50
LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNw
cCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaCBc
CisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwIFwK
KwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIFwKKwlT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3Bw
IFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z0xpc3Rl
bmVyLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2
ZXIuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2Vy
dmVyLmggXAotCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckFnZW50LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckFnZW50LmNwcCBcCi0JU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5jcHAgXAotCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
clJ1bnRpbWVBZ2VudC5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgXAorCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oIFwKIAlTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQWJzdHJhY3RQQy5jcHAgXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9BYnN0cmFjdFBDLmggXAogCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJv
aiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2oKaW5kZXggYzg0NGUzNy4uMmU3NzAwOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4
cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9K
YXZhU2NyaXB0Q29yZS52Y3hwcm9qCkBAIC00NzYsNyArNDc2LDkgQEAKICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGhlYXBcV2Vha1NldC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxoZWFwXFdyaXRlQmFycmllckJ1ZmZlci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxoZWFwXFdyaXRlQmFycmllclN1cHBvcnQuY3BwIiAvPgorICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb250ZW50U2VhcmNoVXRpbGl0aWVzLmNwcCIgLz4K
KyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3Rvcnku
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2Ny
aXB0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3Rl
ZFNjcmlwdEJhc2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XEluamVjdGVkU2NyaXB0SG9zdC5jcHAiIC8+CkBAIC00OTAsOCArNDkyLDEzIEBACiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxs
RnJhbWVQcm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5caW5zcGVjdG9yXFNjcmlwdEFyZ3VtZW50cy5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbEZyYW1lLmNwcCIgLz4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsU3RhY2suY3BwIiAvPgorICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdERlYnVnU2VydmVy
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5z
cGVjdG9yQWdlbnQuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XGFnZW50c1xJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCIgLz4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVu
dGltZUFnZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGludGVycHJldGVy
XEFic3RyYWN0UEMuY3BwIiAvPgpAQCAtMTA1Myw3ICsxMDYwLDEwIEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxoZWFwXFdlYWtTZXRJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxoZWFwXFdyaXRlQmFycmllckJ1ZmZlci5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caGVhcFxXcml0ZUJhcnJpZXJTdXBwb3J0LmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29uc29sZU1lc3NhZ2UuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb25zb2xlVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb250ZW50U2VhcmNoVXRpbGl0aWVzLmgiIC8+Cisg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5Lmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHQu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlw
dEJhc2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3Rl
ZFNjcmlwdEhvc3QuaCIgLz4KQEAgLTEwNzEsMTAgKzEwODEsMTUgQEAKICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90
b3R5cGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKYXZhU2Ny
aXB0Q2FsbEZyYW1lLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
U2NyaXB0QXJndW1lbnRzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcU2NyaXB0QnJlYWtwb2ludC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXFNjcmlwdENhbGxGcmFtZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXFNjcmlwdENhbGxTdGFjay5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caW5zcGVjdG9yXFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHREZWJ1Z0xpc3RlbmVyLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0RGVidWdTZXJ2ZXIuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQu
aCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVj
dG9yQ29uc29sZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnRlcnByZXRlclxBYnN0cmFjdFBDLmgiIC8+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgxYmQzMmYuLjQxMDJmYzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDA2LDYgKzEwMDYsMjMgQEAKIAkJQTVDRUVFMTQx
ODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1Q0VFRTEyMTg3RjNCQUQwMEU1NUM5OSAvKiBJ
bnNwZWN0b3JBZ2VudC5jcHAgKi87IH07CiAJCUE1Q0VFRTE1MTg3RjNCQUQwMEU1NUM5OSAvKiBJ
bnNwZWN0b3JBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTVDRUVFMTMxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTVEMEExQkIxODYy
MzAxQjAwQzdCNDk2IC8qIEluc3BlY3RvckVudmlyb25tZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUQwQTFCQTE4NjIzMDFCMDBDN0I0OTYgLyog
SW5zcGVjdG9yRW52aXJvbm1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBNUZEMDA2NzE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1l
bnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
RkQwMDY1MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovOyB9OworCQlB
NUZEMDA2ODE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2NjE4OUFGRTlDMDA2MzMy
MzEgLyogU2NyaXB0QXJndW1lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNkQxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxG
cmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NUZEMDA2OTE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLzsgfTsKKwkJ
QTVGRDAwNkUxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNkExODlCMDBBOTAwNjMz
MjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUE1RkQwMDZGMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxs
U3RhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTVGRDAwNkIxODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi87IH07CisJ
CUE1RkQwMDcwMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDZDMTg5QjAwQUEwMDYz
MzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlBNUZEMDA3NDE4OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5
cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZE
MDA3MTE4OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNzUxODlCMDM4QzAwNjMzMjMx
IC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3MjE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNG
YWN0b3J5LmNwcCAqLzsgfTsKKwkJQTVGRDAwNzYxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZp
ZXJzRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTVGRDAwNzMxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDc5MTg5
QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3NzE4OUIwNTEwMDA2MzMyMzEgLyogQ29u
c29sZU1lc3NhZ2UuY3BwICovOyB9OworCQlBNUZEMDA3QTE4OUIwNTEwMDA2MzMyMzEgLyogQ29u
c29sZU1lc3NhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1RkQwMDc4MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDdEMTg5QjBC
NEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDdCMTg5QjBCNEMwMDYzMzIzMSAv
KiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCAqLzsgfTsKKwkJQTVGRDAwN0UxODlCMEI0QzAw
NjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQTVGRDAwODExODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNv
bGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNUZEMDA3RjE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCAq
LzsgfTsKKwkJQTVGRDAwODIxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAw
ODAxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDg1MTg5QjFCN0Uw
MDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA4MzE4OUIxQjdFMDA2MzMyMzEg
LyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwICovOyB9OworCQlBNUZEMDA4NjE4OUIx
QjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDg0MTg5QjFCN0UwMDYzMzIz
MSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oICovOyB9OwogCQlBNzAwODczOTE3Q0JF
ODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcwMDg3MzcxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENv
bnN0cnVjdG9yLmNwcCAqLzsgfTsKIAkJQTcwMDg3M0ExN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENv
bnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzAwODczODE3Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCAqLzsgfTsKIAkJ
QTcwMDg3M0QxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzAwODczQjE3Q0JFOEQzMDBDM0U2
NDMgLyogTWFwUHJvdG90eXBlLmNwcCAqLzsgfTsKQEAgLTI0NDQsNiArMjQ2MSwyMyBAQAogCQlB
NUNFRUUxMjE4N0YzQkFEMDBFNTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQWdlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBNUNFRUUxMzE4N0YzQkFEMDBFNTVDOTkgLyogSW5zcGVjdG9y
QWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQWdlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVEMEExQkExODYyMzAxQjAwQzdCNDk2
IC8qIEluc3BlY3RvckVudmlyb25tZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3BlY3RvckVudmlyb25tZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE1RkQwMDY1MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0QXJndW1lbnRzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNjYxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlw
dEFyZ3VtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRBcmd1
bWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNjkxODlCMDBBOTAw
NjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTY3JpcHRDYWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNUZEMDA2QTE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxGcmFtZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA2QjE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bFN0YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdENh
bGxTdGFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDZDMTg5QjAw
QUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2NyaXB0Q2FsbFN0YWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE1RkQwMDcxMTg5QjAzOEMwMDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ29uc29sZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1RkQwMDcyMTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3Rvcnku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSWRlbnRpZmllcnNGYWN0
b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzMxODlCMDM4QzAw
NjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJZGVudGlmaWVyc0ZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTVGRDAwNzcxODlCMDUxMDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnNvbGVNZXNzYWdlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzgxODlCMDUxMDAwNjMzMjMxIC8qIENvbnNv
bGVNZXNzYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVNZXNz
YWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDdCMTg5QjBCNEMwMDYz
MzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBNUZEMDA3QzE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0
YWNrRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRDYWxs
U3RhY2tGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDdGMTg5
QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwODAxODlCMTkxQTAwNjMzMjMxIC8qIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAw
ODMxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0Q29uc29sZUFn
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwODQxODlCMUI3RTAw
NjMzMjMxIC8qIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE3MDA4NzM3MTdDQkU4NTMwMEMzRTY0MyAvKiBNYXBDb25zdHJ1
Y3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXBDb25zdHJ1
Y3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MDA4NzM4MTdDQkU4NTMw
MEMzRTY0MyAvKiBNYXBDb25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNYXBDb25zdHJ1Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzAw
ODczQjE3Q0JFOEQzMDBDM0U2NDMgLyogTWFwUHJvdG90eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hcFByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC00NDU3LDEwICs0NDkxLDE0IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQlB
NUNFRUUxMjE4N0YzQkFEMDBFNTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuY3BwICovLAogCQkJCUE1
Q0VFRTEzMTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5oICovLAorCQkJCUE1RkQw
MDdGMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwICovLAorCQkJ
CUE1RkQwMDgwMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLywK
IAkJCQlBNTdEMjNFMzE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5j
cHAgKi8sCiAJCQkJQTU3RDIzRTQxODkwQ0VCRjAwMzFDN0ZBIC8qIEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaCAqLywKIAkJCQlBNTBFNEI1RDE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVjdG9yUnVu
dGltZUFnZW50LmNwcCAqLywKIAkJCQlBNTBFNEI1RTE4ODA5REQ1MDA2OEE0NkQgLyogSW5zcGVj
dG9yUnVudGltZUFnZW50LmggKi8sCisJCQkJQTVGRDAwODMxODlCMUI3RTAwNjMzMjMxIC8qIEpT
R2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcCAqLywKKwkJCQlBNUZEMDA4NDE4OUIxQjdFMDA2
MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlBNTdEMjNFNzE4
OTFCMDc3MDAzMUM3RkEgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcCAqLywKIAkJ
CQlBNTdEMjNFODE4OTFCMDc3MDAzMUM3RkEgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50
LmggKi8sCiAJCQkJQTUwRTRCNUYxODgwOURENTAwNjhBNDZEIC8qIEpTR2xvYmFsT2JqZWN0UnVu
dGltZUFnZW50LmNwcCAqLywKQEAgLTQ1MDMsMTAgKzQ1NDEsMTUgQEAKIAkJCQlBNTEzRTVDQzE4
NUZCOTkyMDA3RTk1QUQgLyogYWdlbnRzICovLAogCQkJCUE1QkExNUUwMTgyMzQwOUQwMEE4MkU2
OSAvKiByZW1vdGUgKi8sCiAJCQkJQTUzMjQzOEUxODU2OTZDRTAwMkVENjkyIC8qIHNjcmlwdHMg
Ki8sCisJCQkJQTVGRDAwNzcxODlCMDUxMDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmNwcCAq
LywKKwkJCQlBNUZEMDA3ODE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuaCAqLywK
KwkJCQlBNUZEMDA3MTE4OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggKi8sCiAJCQkJ
QTU3RDIzRUYxODkxQjVCNDAwMzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwICov
LAogCQkJCUE1N0QyM0YwMTg5MUI1QjQwMDMxQzdGQSAvKiBDb250ZW50U2VhcmNoVXRpbGl0aWVz
LmggKi8sCiAJCQkJQTU0OTgyMDExODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5jcHAgKi8s
CiAJCQkJQTU0OTgyMDIxODkxRDBCMDAwODFFNUI4IC8qIEV2ZW50TG9vcC5oICovLAorCQkJCUE1
RkQwMDcyMTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovLAorCQkJ
CUE1RkQwMDczMTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuaCAqLywKIAkJ
CQlBNTEzRTVCNTE4NUI4QkQzMDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHQuY3BwICovLAogCQkJ
CUE1MTNFNUI2MTg1QjhCRDMwMDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5oICovLAogCQkJCUE1
MTRCMkMwMTg1QTY4NDQwMEYzQzdDQiAvKiBJbmplY3RlZFNjcmlwdEJhc2UuY3BwICovLApAQCAt
NDU0Miw3ICs0NTg1LDE1IEBACiAJCQkJQTUwM0ZBMTgxODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2
YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oICovLAogCQkJCUE1MDNGQTEzMTg4RTBGQUYwMDEx
MEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLywKIAkJCQlBNTAzRkExNDE4OEUwRkFG
MDAxMTBGMTQgLyogSmF2YVNjcmlwdENhbGxGcmFtZS5oICovLAorCQkJCUE1RkQwMDY1MTg5QUZF
OUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovLAorCQkJCUE1RkQwMDY2MTg5QUZF
OUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCAqLywKIAkJCQlBNTAzRkExRjE4OEVGRjY4
MDAxMTBGMTQgLyogU2NyaXB0QnJlYWtwb2ludC5oICovLAorCQkJCUE1RkQwMDY5MTg5QjAwQTkw
MDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovLAorCQkJCUE1RkQwMDZBMTg5QjAwQTkw
MDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLywKKwkJCQlBNUZEMDA2QjE4OUIwMEE5MDA2
MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLywKKwkJCQlBNUZEMDA2QzE4OUIwMEFBMDA2
MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmggKi8sCisJCQkJQTVGRDAwN0IxODlCMEI0QzAwNjMz
MjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwICovLAorCQkJCUE1RkQwMDdDMTg5QjBC
NEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8sCiAJCQkJQTUwM0ZBMjAx
ODhFRkY2ODAwMTEwRjE0IC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLywKIAkJCQlBNTAzRkEy
MzE4OEVGRkZEMDAxMTBGMTQgLyogU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovLAogCQkJCUE1MDNG
QTI0MTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5oICovLApAQCAtNDY5OCw2
ICs0NzQ5LDcgQEAKIAkJCQkwRjZCMUNDNjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5m
by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzIyMzlEMTgxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlW
aXNpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjIzOUQxOTE2MjYyQkREMDA1QUM1RkQgLyog
Q29weVZpc2l0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA3QTE4OUIwNTEw
MDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyMThEMTQw
MTY1NUNGRDUwMDYyQkI4MSAvKiBDb3B5V29ya0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTVE
RTZFNUIzMEUxNzI4RUMwMDE4MDQwNyAvKiBjcmVhdGVfaGFzaF90YWJsZSBpbiBIZWFkZXJzICov
LAogCQkJCTBGNDI2QTRCMTQ2MENENkUwMDEzMUY4RiAvKiBEYXRhRm9ybWF0LmggaW4gSGVhZGVy
cyAqLywKQEAgLTQ3MzQsNiArNDc4Niw3IEBACiAJCQkJMEZGQjkyMUExNkQwMkVDNTAwNTVBNURC
IC8qIERGR0Jhc2ljQmxvY2tJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzBCMDgzMzE3
QTBCNzlCMDBEQUYxNEIgLyogREZHQmluYXJ5U3dpdGNoLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
N0Q4OUNGNDE3QTBCOENDMDA3NzNBRDggLyogREZHQmxvY2tJbnNlcnRpb25TZXQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE1RkQwMDZFMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGODM2NEI3MTY0QjBDMTEwMDUzMzI5QSAvKiBERkdCcmFu
Y2hEaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUExQTAwOUMwMTgzMUEyMkQwMENGODcx
MSAvKiBNYWNyb0Fzc2VtYmxlckFSTTY0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NkVDOURDNTEz
MjhERjgyMDAyQjJBRDcgLyogREZHQnl0ZUNvZGVQYXJzZXIuaCBpbiBIZWFkZXJzICovLApAQCAt
NDc1MSw2ICs0ODA0LDcgQEAKIAkJCQlBNTAzRkExRTE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjM4QjAxQTE3
Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRjNCM0ExQjE1M0U2OEY0MDAzRUQwRkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuaCBp
biBIZWFkZXJzICovLAorCQkJCUE1RkQwMDgyMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JD
b25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQkUwRjczMTZDMURCMDUwMDgyQzVF
OCAvKiBERkdDUFNSZXRocmVhZGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q4OUNG
NjE3QTBCOENDMDA3NzNBRDggLyogREZHQ3JpdGljYWxFZGdlQnJlYWtpbmdQaGFzZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZGRkM5NUExNEVGOTBBOTAwQzcyNTMyIC8qIERGR0NTRVBoYXNlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTQ3OTgsNiArNDg1Miw3IEBACiAJCQkJMEYyQkRDNDUxNTIyODAx
QjAwQ0Q4OTEwIC8qIERGR01pbmlmaWVkR3JhcGguaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkU4
OTJEMTZEMDJCQUYwMDlFNEZEMiAvKiBERkdNaW5pZmllZElELmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRjJCREM0NjE1MjI4MDIwMDBDRDg5MTAgLyogREZHTWluaWZpZWROb2RlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlBNUZEMDA2ODE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBNzM3ODEwRTE3OTlFQTJFMDA4MTc1MzMgLyogREZHTmF0dXJh
bExvb3BzLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NkVDQTNFQTEzMkRFRjFDMDAyQjJBRDcgLyog
REZHTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZGQjkyMUIxNkQwMkYwMTAwNTVBNURCIC8q
IERGR05vZGVBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtNDg0Niw2ICs0OTAxLDcgQEAK
IAkJCQkwRjJCREM0ODE1MjI4MDI5MDBDRDg5MTAgLyogREZHVmFsdWVTb3VyY2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGNjIwMTc0MTQzRkNEMzMwMDY4Qjc3QyAvKiBERkdWYXJpYWJsZUFjY2Vz
c0RhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRERCRkI2MTY2NkVFREEwMEM1NUZFRiAvKiBE
RkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA3NDE4
OUIwMzhDMDA2MzMyMzEgLyogQ29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJC
REM0OTE1MjI4MDk2MDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEYyQkRDNEIxNTIyODA5RDAwQ0Q4OTEwIC8qIERGR1ZhcmlhYmxlRXZlbnRTdHJlYW0u
aCBpbiBIZWFkZXJzICovLAogCQkJCUE1MTRCMkMzMTg1QTY4NDQwMEYzQzdDQiAvKiBJbmplY3Rl
ZFNjcmlwdEJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtNDg5NSw2ICs0OTUxLDcgQEAKIAkJCQkw
RkVBMEEyNDE3MDk2MDY5MDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZFQTBBMEUxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTEpJVENvZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUE3OEE5NzgxMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5h
bGl6ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDc2MTg5QjAzOEMwMDYzMzIzMSAvKiBJ
ZGVudGlmaWVyc0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNUE2Mjg0MTg4Qzk4RDQw
MDcyQzlERiAvKiBGVExWYWx1ZVJhbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjhGMkI5NjE3
MkUwNEEzMDA3REJEQTUgLyogRlRMTGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDRUZBRTAx
ODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTQ5OTIs
NiArNTA0OSw3IEBACiAJCQkJQTdBNEFFMTAxNzk3M0I0RDAwNTYxMkIxIC8qIEpJVFN0dWJzWDg2
Q29tbW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjVFRjkxRjE2ODc4RjdEMDAzRTVDMjUgLyog
SklUVGh1bmtzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkM3MTJFMzE3Q0Q4NzkzMDA4Q0M5M0Mg
LyogSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAor
CQkJCUE1RkQwMDcwMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE3NkY1NEEzMTNCMjhBQUIwMEVGMkJDRSAvKiBKSVRXcml0ZUJhcnJpZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDE2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0FjdGl2
YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNkIxQ0I5MTg2MTI0NEMwMDg0NUQ5NyAvKiBB
cml0eUNoZWNrTW9kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC01MTY4LDYgKzUyMjYsNyBAQAogCQkJ
CUJDMDJFOTExMEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvckNvbnN0cnVjdG9yLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzAyRTkxMzBFMTgzOURCMDAwRjkyOTcgLyogTmF0aXZlRXJyb3JQ
cm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRkI5MjIwMTZEMDMzQjcwMDU1QTVEQiAv
KiBOb2RlQ29uc3RydWN0b3JzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUZEMDA3RTE4OUIwQjRD
MDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRl
cnMgKi8sCkBAIC01MzE2LDYgKzUzNzUsNyBAQAogCQkJCUE3QThBRjQxMTdBREI1RjMwMDVBQjE3
NCAvKiBVaW50MTZBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODY2NzM5RDMxM0JGREU3MTAw
MjNEODdDIC8qIFVpbnQxNldpdGhGcmFjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdBOEFG
NDIxN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQzMkFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NUZEMDA4NjE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUE3QThBRjNGMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OEFycmF5
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0E4QUY0MDE3QURCNUYzMDA1QUIxNzQgLyogVWludDhD
bGFtcGVkQXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNUYwOENGMTQ2Qzc2MzMwMDA0NzJB
OSAvKiBVbmNvbmRpdGlvbmFsRmluYWxpemVyLmggaW4gSGVhZGVycyAqLywKQEAgLTU3ODksNiAr
NTg0OSw3IEBACiAJCQkJQTc5MERENkYxODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY2Mzk0NTQxNUQwNzA1NTAwNkE1OTdDIC8qIEFycmF5
UHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDdGMzlDMDEwN0VDMzc2MDA0MjdBNDgg
LyogQXJyYXlQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwNkQxODlCMDBB
QTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjI0
RTU0MDE3RUE5RjU5MDBBQkIyMTcgLyogQXNzZW1ibHlIZWxwZXJzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTE0ODE2RTFCMTU0Q0M1NkMwMEI4MDU0QyAvKiBCbG9ja0FsbG9jYXRvci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxNDI4MDg2MzEwN0VDMTFBMDAxM0U3QjIgLyogQm9vbGVhbkNvbnN0
cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTk0Miw2ICs2MDAzLDcgQEAKIAkJCQkxNDdG
MzlDODEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3JDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxNDdGMzlDOTEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3JJbnN0YW5jZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxNDdGMzlDQTEwN0VDMzc2MDA0MjdBNDggLyogRXJyb3JQcm90b3R5
cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwNjcxODlBRkU5QzAwNjMzMjMxIC8qIFNj
cmlwdEFyZ3VtZW50cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDI5RDg3ODBFRDIxQUNEMDBC
ODk2MTkgLyogRXhjZXB0aW9uSGVscGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NkNBMDMy
RTEwMzhFODQ0MDAyOEE2MDkgLyogRXhlY3V0YWJsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
N0I0OEY0OTBFRTg5MzZGMDBEQ0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTU5NzAsNiArNjAzMiw3IEBACiAJCQkJQTc4QTk3ODAxNzk3MzhENTAwOURG
NzQ0IC8qIEZUTEpJVEZpbmFsaXplci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjhGMkI5NTE3
MkUwNEEwMDA3REJEQTUgLyogRlRMTGluay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzRERUY5
NTE4MkQ5OTE0MDA1MjJDMjIgLyogSlNNYXBJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlBNUZEMDA4MTE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTBGQ0VGQURGMTgwNzM4QzAwMDQ3MkNFNCAvKiBGVExMb2NhdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEwRjE3MDUxM0RCMDBCQjcyMkMgLyogRlRM
TG93ZXJERkdUb0xMVk0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAw
Q0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjA1OSw3ICs2MTIy
LDkgQEAKIAkJCQk4NkUzQzYxNjE2N0JBQkVFMDA2RDc2MEEgLyogSlNDb250ZXh0Lm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMTRCRDVBMzAwQTNFOTFGNjAwQkFGNTlDIC8qIEpTQ29udGV4dFJlZi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzIwMjhCNjE3OTc2MDFFMDA5ODAyOEMgLyogSlNDVGVz
dFJ1bm5lclV0aWxzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQwMDc1MTg5QjAzOEMwMDYz
MzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjU5Rjg5
MzkxODkxRjI5RjAwRDVDQ0RDIC8qIFVubGlua2VkSW5zdHJ1Y3Rpb25TdHJlYW0uY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQTVGRDAwNkYxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFj
ay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjJCNjZFQjE3QjZCNUFCMDBBN0FFM0YgLyogSlNE
YXRhVmlldy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjJCNjZFRDE3QjZCNUFCMDBBN0FFM0Yg
LyogSlNEYXRhVmlld1Byb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5Nzg4MDE0MDE0
NzFBRDkyMDA0MUIwMTYgLyogSlNEYXRlTWF0aC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTYxNjgs
NiArNjIzMyw3IEBACiAJCQkJMTQ4RjIxQkMxMDdFQzU0RDAwNDJFQzJDIC8qIFBhcnNlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5MzA1MkMzNDBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJl
bmEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5RkM4QzMxNEUxQjVGRTAwRDUyQUUwIC8qIFBv
bHltb3JwaGljUHV0QnlJZExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwODUxODlC
MUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGOTgyMDYwMTZCRkUzODEwMDI0MEQwMiAvKiBQcmVjaXNlSnVtcFRhcmdldHMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTU3NDJGNjUwREQxMUY1QTAwMDkxN0ZCIC8qIFByb2Zp
bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZDOTdGMzUxODIwMjBENzAwMkM5QjI2IC8qIFBy
b2ZpbGVkQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50LmNwcCBpbiBTb3VyY2VzICovLApA
QCAtNjIxNSw2ICs2MjgxLDcgQEAKIAkJCQlDMjI1NDk0MzE1RjdEQkFBMDA2NUU4OTggLyogU2xv
dFZpc2l0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDQwMkMwRTZBNzY0MDAwNzg2RTZB
IC8qIFNtYWxsU3RyaW5ncy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjhGMkI5RTE3MzA2QzhE
MDA3REJEQTUgLyogU291cmNlQ29kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA3OTE4
OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEY0OTNBRkExNkQwQ0FEMzAwODQ1MDhCIC8qIFNvdXJjZVByb3ZpZGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUU0OURDMTZCMTJFRjI5M0UwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNkIxQ0M5MTg2NDFERjgwMDg0NUQ5NyAvKiBBcml0
eUNoZWNrRmFpbFJldHVyblRodW5rcy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTYyMzcsNiArNjMw
NCw3IEBACiAJCQkJQzJERjQ0MkYxNzA3QUMwMTAwQTVDQTk2IC8qIFN1cGVyUmVnaW9uLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTBGOTE5RDI4MTU4NTY3NzMwMDRBNEU3RCAvKiBTeW1ib2xUYWJs
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkMzMTQxMzE4MTQ1NTkxMDAwMzMyMzIgLyogVGVt
cFJlZ2lzdGVyU2V0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQwMDdEMTg5QjBCNEMwMDYz
MzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
QTJDMTdCMTdEN0NGODQwMDlEMDE1RiAvKiBUZXN0UnVubmVyVXRpbHMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTczODY1NTUxMTg2OTdCNDAwNTQwMjc5IC8qIFRodW5rR2VuZXJhdG9ycy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRjJCNjcwNzE3QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJh
eUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAKc2ltaWxhcml0eSBpbmRleCA3MCUKcmVuYW1lIGZy
b20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApyZW5hbWUgdG8g
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAKaW5kZXgg
ZDNiOTNhYy4uNTk3YjE2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0Nv
bnNvbGVNZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0Nv
bnNvbGVNZXNzYWdlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA3LCAyMDA4LCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAwOCBNYXR0IExpbGVrIDx3ZWJraXRAbWF0dGxpbGVrLmNvbT4KICAqIENv
cHlyaWdodCAoQykgMjAwOSwgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKQEAgLTMzLDIxICszMywxNyBAQAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotI2luY2x1
ZGUgIkNvbnNvbGUuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKKyNpbmNsdWRl
ICJJbmplY3RlZFNjcmlwdC5oIgorI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgor
I2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5o
IgogI2luY2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFj
ay5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKLSNpbmNsdWRlIDxiaW5k
aW5ncy9TY3JpcHRWYWx1ZS5oPgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5o
PgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaD4KLSNpbmNsdWRl
IDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+Ci0jaW5jbHVkZSA8d3RmL01haW5UaHJlYWQu
aD4KKyNpbmNsdWRlICJTY3JpcHRWYWx1ZS5oIgogCi11c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9y
OwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogQ29uc29s
ZU1lc3NhZ2U6OkNvbnNvbGVNZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKICAg
ICA6IG1fc291cmNlKHNvdXJjZSkKQEAgLTExNiwxNSArMTEyLDE2IEBAIENvbnNvbGVNZXNzYWdl
Ojp+Q29uc29sZU1lc3NhZ2UoKQogewogfQogCi12b2lkIENvbnNvbGVNZXNzYWdlOjphdXRvZ2Vu
ZXJhdGVNZXRhZGF0YShib29sIGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSog
c3RhdGUpCisvLyBGSVhNRTogUmVtb3ZlIHRoZSBnZW5lcmF0ZSB3aXRob3V0IEV4ZWNTdGF0ZSBw
YXRoLiBUaGUgY2FsbGVyIHNob3VsZCBhbHdheXMgcHJvdmlkZSBhbiBFeGVjU3RhdGUuCit2b2lk
IENvbnNvbGVNZXNzYWdlOjphdXRvZ2VuZXJhdGVNZXRhZGF0YShib29sIC8qY2FuR2VuZXJhdGVD
YWxsU3RhY2sqLywgSlNDOjpFeGVjU3RhdGUqIHN0YXRlKQogewotICAgIGlmIChtX3R5cGUgPT0g
RW5kR3JvdXBNZXNzYWdlVHlwZSkKKyAgICBpZiAobV90eXBlID09IE1lc3NhZ2VUeXBlOjpFbmRH
cm91cCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHN0YXRlKQogICAgICAgICBtX2NhbGxT
dGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGUoc3RhdGUpOwotICAgIGVsc2Ug
aWYgKGNhbkdlbmVyYXRlQ2FsbFN0YWNrKQotICAgICAgICBtX2NhbGxTdGFjayA9IGNyZWF0ZVNj
cmlwdENhbGxTdGFjayhTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUs
IHRydWUpOworICAgIC8vIGVsc2UgaWYgKGNhbkdlbmVyYXRlQ2FsbFN0YWNrKQorICAgIC8vICAg
ICBtX2NhbGxTdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhTY3JpcHRDYWxsU3RhY2s6Om1h
eENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpOwogICAgIGVsc2UKICAgICAgICAgcmV0dXJu
OwogCkBAIC0xMzksMjAgKzEzNiwxOSBAQCB2b2lkIENvbnNvbGVNZXNzYWdlOjphdXRvZ2VuZXJh
dGVNZXRhZGF0YShib29sIGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBKU0M6OkV4ZWNTdAogICAgIG1f
Y2FsbFN0YWNrLmNsZWFyKCk7CiB9CiAKLS8vIEtlZXAgaW4gc3luYyB3aXRoIGluc3BlY3Rvci9m
cm9udC1lbmQvQ29uc29sZVZpZXcuanMKIHN0YXRpYyBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpFbnVtIG1lc3NhZ2VTb3VyY2VWYWx1ZShN
ZXNzYWdlU291cmNlIHNvdXJjZSkKIHsKICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgIGNhc2Ug
WE1MTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlhNTDsKLSAgICBjYXNlIEpTTWVzc2FnZVNvdXJjZTog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpT
b3VyY2U6OkphdmFzY3JpcHQ7Ci0gICAgY2FzZSBOZXR3b3JrTWVzc2FnZVNvdXJjZTogcmV0dXJu
IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6
Ok5ldHdvcms7Ci0gICAgY2FzZSBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3Bl
Y3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkNvbnNv
bGVBUEk7Ci0gICAgY2FzZSBTdG9yYWdlTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlN0b3JhZ2U7Ci0g
ICAgY2FzZSBBcHBDYWNoZU1lc3NhZ2VTb3VyY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWls
ZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpBcHBjYWNoZTsKLSAgICBjYXNl
IFJlbmRlcmluZ01lc3NhZ2VTb3VyY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpSZW5kZXJpbmc7Ci0gICAgY2FzZSBDU1NN
ZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29u
c29sZU1lc3NhZ2U6OlNvdXJjZTo6Q1NTOwotICAgIGNhc2UgU2VjdXJpdHlNZXNzYWdlU291cmNl
OiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6
OlNvdXJjZTo6U2VjdXJpdHk7Ci0gICAgY2FzZSBPdGhlck1lc3NhZ2VTb3VyY2U6IHJldHVybiBJ
bnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpP
dGhlcjsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlhNTDogcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlhNTDsKKyAgICBjYXNl
IE1lc3NhZ2VTb3VyY2U6OkpTOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29s
ZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6SmF2YXNjcmlwdDsKKyAgICBjYXNlIE1lc3NhZ2VT
b3VyY2U6Ok5ldHdvcms6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpD
b25zb2xlTWVzc2FnZTo6U291cmNlOjpOZXR3b3JrOworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6
Q29uc29sZUFQSTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNv
bGVNZXNzYWdlOjpTb3VyY2U6OkNvbnNvbGVBUEk7CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpT
dG9yYWdlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1l
c3NhZ2U6OlNvdXJjZTo6U3RvcmFnZTsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hl
OiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6
OlNvdXJjZTo6QXBwY2FjaGU7CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpSZW5kZXJpbmc6IHJl
dHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291
cmNlOjpSZW5kZXJpbmc7CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDU1M6IHJldHVybiBJbnNw
ZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpDU1M7
CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpTZWN1cml0eTogcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlNlY3VyaXR5OworICAg
IGNhc2UgTWVzc2FnZVNvdXJjZTo6T3RoZXI6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVy
OjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpPdGhlcjsKICAgICB9CiAgICAgcmV0
dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3Vy
Y2U6Ok90aGVyOwogfQpAQCAtMTYwLDE5ICsxNTYsMTkgQEAgc3RhdGljIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkVudW0gbWVzc2FnZVNv
dXIKIHN0YXRpYyBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2Fn
ZTo6VHlwZTo6RW51bSBtZXNzYWdlVHlwZVZhbHVlKE1lc3NhZ2VUeXBlIHR5cGUpCiB7CiAgICAg
c3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBMb2dNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rv
cjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpMb2c7Ci0gICAg
Y2FzZSBDbGVhck1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29u
c29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkNsZWFyOwotICAgIGNhc2UgRGlyTWVzc2FnZVR5
cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2Fn
ZTo6VHlwZTo6RGlyOwotICAgIGNhc2UgRGlyWE1MTWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6RGlyWE1MOwot
ICAgIGNhc2UgVGFibGVNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpUYWJsZTsKLSAgICBjYXNlIFRyYWNlTWVz
c2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xl
TWVzc2FnZTo6VHlwZTo6VHJhY2U7Ci0gICAgY2FzZSBTdGFydEdyb3VwTWVzc2FnZVR5cGU6IHJl
dHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlw
ZTo6U3RhcnRHcm91cDsKLSAgICBjYXNlIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZTog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpU
eXBlOjpTdGFydEdyb3VwQ29sbGFwc2VkOwotICAgIGNhc2UgRW5kR3JvdXBNZXNzYWdlVHlwZTog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpU
eXBlOjpFbmRHcm91cDsKLSAgICBjYXNlIEFzc2VydE1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVj
dG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkFzc2VydDsK
LSAgICBjYXNlIFRpbWluZ01lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRl
cjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlRpbWluZzsKLSAgICBjYXNlIFByb2Zp
bGVNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNv
bnNvbGVNZXNzYWdlOjpUeXBlOjpQcm9maWxlOwotICAgIGNhc2UgUHJvZmlsZUVuZE1lc3NhZ2VU
eXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlR5cGU6OlByb2ZpbGVFbmQ7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6TG9nOiByZXR1cm4g
SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6Okxv
ZzsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpDbGVhcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1
aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpDbGVhcjsKKyAgICBjYXNlIE1l
c3NhZ2VUeXBlOjpEaXI6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpD
b25zb2xlTWVzc2FnZTo6VHlwZTo6RGlyOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkRpclhNTDog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpU
eXBlOjpEaXJYTUw7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6VGFibGU6IHJldHVybiBJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6VGFibGU7Cisg
ICAgY2FzZSBNZXNzYWdlVHlwZTo6VHJhY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVy
OjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6VHJhY2U7CisgICAgY2FzZSBNZXNzYWdl
VHlwZTo6U3RhcnRHcm91cDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpTdGFydEdyb3VwOworICAgIGNhc2UgTWVzc2FnZVR5cGU6
OlN0YXJ0R3JvdXBDb2xsYXBzZWQ6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25z
b2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6U3RhcnRHcm91cENvbGxhcHNlZDsKKyAgICBjYXNl
IE1lc3NhZ2VUeXBlOjpFbmRHcm91cDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpFbmRHcm91cDsKKyAgICBjYXNlIE1lc3NhZ2VU
eXBlOjpBc3NlcnQ6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25z
b2xlTWVzc2FnZTo6VHlwZTo6QXNzZXJ0OworICAgIGNhc2UgTWVzc2FnZVR5cGU6OlRpbWluZzog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpU
eXBlOjpUaW1pbmc7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6UHJvZmlsZTogcmV0dXJuIEluc3Bl
Y3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpQcm9maWxl
OworICAgIGNhc2UgTWVzc2FnZVR5cGU6OlByb2ZpbGVFbmQ6IHJldHVybiBJbnNwZWN0b3I6OlR5
cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6UHJvZmlsZUVuZDsKICAg
ICB9CiAgICAgcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpUeXBlOjpMb2c7CiB9CkBAIC0xODAsMTAgKzE3NiwxMCBAQCBzdGF0aWMgSW5zcGVj
dG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkVudW0gbWVz
c2FnZVR5cGVWYQogc3RhdGljIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNv
bGVNZXNzYWdlOjpMZXZlbDo6RW51bSBtZXNzYWdlTGV2ZWxWYWx1ZShNZXNzYWdlTGV2ZWwgbGV2
ZWwpCiB7CiAgICAgc3dpdGNoIChsZXZlbCkgewotICAgIGNhc2UgRGVidWdNZXNzYWdlTGV2ZWw6
IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6
TGV2ZWw6OkRlYnVnOwotICAgIGNhc2UgTG9nTWVzc2FnZUxldmVsOiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpMb2c7Ci0gICAg
Y2FzZSBXYXJuaW5nTWVzc2FnZUxldmVsOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpXYXJuaW5nOwotICAgIGNhc2UgRXJyb3JN
ZXNzYWdlTGV2ZWw6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25z
b2xlTWVzc2FnZTo6TGV2ZWw6OkVycm9yOworICAgIGNhc2UgTWVzc2FnZUxldmVsOjpMb2c6IHJl
dHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2
ZWw6OkxvZzsKKyAgICBjYXNlIE1lc3NhZ2VMZXZlbDo6V2FybmluZzogcmV0dXJuIEluc3BlY3Rv
cjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6V2FybmluZzsK
KyAgICBjYXNlIE1lc3NhZ2VMZXZlbDo6RXJyb3I6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWls
ZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkVycm9yOworICAgIGNhc2UgTWVz
c2FnZUxldmVsOjpEZWJ1ZzogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6RGVidWc7CiAgICAgfQogICAgIHJldHVybiBJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkxvZzsKIH0K
QEAgLTE5NCwxOSArMTkwLDIyIEBAIHZvaWQgQ29uc29sZU1lc3NhZ2U6OmFkZFRvRnJvbnRlbmQo
SW5zcGVjdG9yQ29uc29sZUZyb250ZW5kRGlzcGF0Y2hlciogY29uc29sZUZyCiAgICAgICAgIC5z
ZXRTb3VyY2UobWVzc2FnZVNvdXJjZVZhbHVlKG1fc291cmNlKSkKICAgICAgICAgLnNldExldmVs
KG1lc3NhZ2VMZXZlbFZhbHVlKG1fbGV2ZWwpKQogICAgICAgICAuc2V0VGV4dChtX21lc3NhZ2Up
OworCiAgICAgLy8gRklYTUU6IG9ubHkgc2VuZCBvdXQgdHlwZSBmb3IgQ29uc29sZUFQSSBzb3Vy
Y2UgbWVzc2FnZXMuCiAgICAganNvbk9iai0+c2V0VHlwZShtZXNzYWdlVHlwZVZhbHVlKG1fdHlw
ZSkpOwogICAgIGpzb25PYmotPnNldExpbmUoc3RhdGljX2Nhc3Q8aW50PihtX2xpbmUpKTsKICAg
ICBqc29uT2JqLT5zZXRDb2x1bW4oc3RhdGljX2Nhc3Q8aW50PihtX2NvbHVtbikpOwogICAgIGpz
b25PYmotPnNldFVybChtX3VybCk7CiAgICAganNvbk9iai0+c2V0UmVwZWF0Q291bnQoc3RhdGlj
X2Nhc3Q8aW50PihtX3JlcGVhdENvdW50KSk7Ci0gICAgaWYgKG1fc291cmNlID09IE5ldHdvcmtN
ZXNzYWdlU291cmNlICYmICFtX3JlcXVlc3RJZC5pc0VtcHR5KCkpCisKKyAgICBpZiAobV9zb3Vy
Y2UgPT0gTWVzc2FnZVNvdXJjZTo6TmV0d29yayAmJiAhbV9yZXF1ZXN0SWQuaXNFbXB0eSgpKQog
ICAgICAgICBqc29uT2JqLT5zZXROZXR3b3JrUmVxdWVzdElkKG1fcmVxdWVzdElkKTsKKwogICAg
IGlmIChtX2FyZ3VtZW50cyAmJiBtX2FyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgpKSB7CiAgICAg
ICAgIEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0gaW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LT5pbmplY3RlZFNjcmlwdEZvcihtX2FyZ3VtZW50cy0+Z2xvYmFsU3RhdGUoKSk7CiAgICAgICAg
IGlmICghaW5qZWN0ZWRTY3JpcHQuaGFzTm9WYWx1ZSgpKSB7CiAgICAgICAgICAgICBSZWZQdHI8
SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6QXJyYXk8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UnVu
dGltZTo6UmVtb3RlT2JqZWN0Pj4ganNvbkFyZ3MgPSBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpB
cnJheTxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+OjpjcmVh
dGUoKTsKLSAgICAgICAgICAgIGlmIChtX3R5cGUgPT0gVGFibGVNZXNzYWdlVHlwZSAmJiBnZW5l
cmF0ZVByZXZpZXcgJiYgbV9hcmd1bWVudHMtPmFyZ3VtZW50Q291bnQoKSkgeworICAgICAgICAg
ICAgaWYgKG1fdHlwZSA9PSBNZXNzYWdlVHlwZTo6VGFibGUgJiYgZ2VuZXJhdGVQcmV2aWV3ICYm
IG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCkpIHsKICAgICAgICAgICAgICAgICBEZXByZWNh
dGVkOjpTY3JpcHRWYWx1ZSB0YWJsZSA9IG1fYXJndW1lbnRzLT5hcmd1bWVudEF0KDApOwogICAg
ICAgICAgICAgICAgIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlIGNvbHVtbnMgPSBtX2FyZ3VtZW50
cy0+YXJndW1lbnRDb3VudCgpID4gMSA/IG1fYXJndW1lbnRzLT5hcmd1bWVudEF0KDEpIDogRGVw
cmVjYXRlZDo6U2NyaXB0VmFsdWUoKTsKICAgICAgICAgICAgICAgICBSZWZQdHI8SW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiBpbnNwZWN0b3JWYWx1ZSA9IGlu
amVjdGVkU2NyaXB0LndyYXBUYWJsZSh0YWJsZSwgY29sdW1ucyk7CkBAIC0yMjgsOCArMjI3LDEw
IEBAIHZvaWQgQ29uc29sZU1lc3NhZ2U6OmFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yQ29uc29sZUZy
b250ZW5kRGlzcGF0Y2hlciogY29uc29sZUZyCiAgICAgICAgICAgICBqc29uT2JqLT5zZXRQYXJh
bWV0ZXJzKGpzb25BcmdzKTsKICAgICAgICAgfQogICAgIH0KKwogICAgIGlmIChtX2NhbGxTdGFj
aykKICAgICAgICAganNvbk9iai0+c2V0U3RhY2tUcmFjZShtX2NhbGxTdGFjay0+YnVpbGRJbnNw
ZWN0b3JBcnJheSgpKTsKKwogICAgIGNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXItPm1lc3NhZ2VB
ZGRlZChqc29uT2JqKTsKIH0KIApAQCAtMjQzLDYgKzI0NCw3IEBAIGJvb2wgQ29uc29sZU1lc3Nh
Z2U6OmlzRXF1YWwoQ29uc29sZU1lc3NhZ2UqIG1zZykgY29uc3QKICAgICBpZiAobV9hcmd1bWVu
dHMpIHsKICAgICAgICAgaWYgKCFtX2FyZ3VtZW50cy0+aXNFcXVhbChtc2ctPm1fYXJndW1lbnRz
LmdldCgpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICAvLyBOZXZlciB0
cmVhdCBvYmplY3RzIGFzIGVxdWFsIC0gdGhlaXIgcHJvcGVydGllcyBtaWdodCBjaGFuZ2Ugb3Zl
ciB0aW1lLgogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYXJndW1lbnRzLT5hcmd1
bWVudENvdW50KCk7ICsraSkgewogICAgICAgICAgICAgaWYgKG1fYXJndW1lbnRzLT5hcmd1bWVu
dEF0KGkpLmlzT2JqZWN0KCkpCkBAIC0yNjcsMjQgKzI2OSwyNyBAQCBib29sIENvbnNvbGVNZXNz
YWdlOjppc0VxdWFsKENvbnNvbGVNZXNzYWdlKiBtc2cpIGNvbnN0CiAgICAgICAgICYmIG1zZy0+
bV9yZXF1ZXN0SWQgPT0gbV9yZXF1ZXN0SWQ7CiB9CiAKLXZvaWQgQ29uc29sZU1lc3NhZ2U6Ondp
bmRvd0NsZWFyZWQoRE9NV2luZG93KiB3aW5kb3cpCit2b2lkIENvbnNvbGVNZXNzYWdlOjpzY3Jp
cHRTdGF0ZUNsZWFyZWQoSlNDOjpFeGVjU3RhdGUqIGV4ZWNTdGF0ZSkKIHsKICAgICBpZiAoIW1f
YXJndW1lbnRzKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKGRvbVdpbmRvd0Zyb21FeGVjU3Rh
dGUobV9hcmd1bWVudHMtPmdsb2JhbFN0YXRlKCkpICE9IHdpbmRvdykKKworICAgIGlmIChtX2Fy
Z3VtZW50cy0+Z2xvYmFsU3RhdGUoKSAhPSBleGVjU3RhdGUpCiAgICAgICAgIHJldHVybjsKKwog
ICAgIGlmICghbV9tZXNzYWdlKQotICAgICAgICBtX21lc3NhZ2UgPSAiPG1lc3NhZ2UgY29sbGVj
dGVkPiI7CisgICAgICAgIG1fbWVzc2FnZSA9IEFTQ0lJTGl0ZXJhbCgiPG1lc3NhZ2UgY29sbGVj
dGVkPiIpOwogICAgIG1fYXJndW1lbnRzLmNsZWFyKCk7CiB9CiAKLXVuc2lnbmVkIENvbnNvbGVN
ZXNzYWdlOjphcmd1bWVudENvdW50KCkKK3Vuc2lnbmVkIENvbnNvbGVNZXNzYWdlOjphcmd1bWVu
dENvdW50KCkgY29uc3QKIHsKICAgICBpZiAobV9hcmd1bWVudHMpCiAgICAgICAgIHJldHVybiBt
X2FyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgpOworCiAgICAgcmV0dXJuIDA7CiB9CiAKLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xl
TWVzc2FnZS5oCnNpbWlsYXJpdHkgaW5kZXggODQlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5kZXggMWExZWFhMS4uOTg0NTJiMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0zMSwy
NyArMzEsMjUgQEAKICNpZm5kZWYgQ29uc29sZU1lc3NhZ2VfaAogI2RlZmluZSBDb25zb2xlTWVz
c2FnZV9oCiAKLSNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKKyNpZiBFTkFCTEUoSU5TUEVD
VE9SKQorCiAjaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2Vi
RnJvbnRlbmREaXNwYXRjaGVycy5oIgotI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVk
ZSAiSW5zcGVjdG9ySlNGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworY2xhc3Mg
RXhlY1N0YXRlOworfQogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKKwogY2xhc3MgSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyOwotY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwotfQotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLWNsYXNzIERPTVdpbmRvdzsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKLWNsYXNz
IFNjcmlwdENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAotY2xhc3MgQ29uc29s
ZU1lc3NhZ2UgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBDb25zb2xlTWVz
c2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKGJvb2wg
Y2FuR2VuZXJhdGVDYWxsU3RhY2ssIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdl
TGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciA9IDApOwogICAgIENvbnNvbGVNZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ss
IE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgY29uc3QgU3RyaW5nJiB1cmwsIHVuc2lnbmVkIGxpbmUsIHVuc2lnbmVkIGNvbHVt
biwgSlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciA9IDApOwpAQCAtNTksMTggKzU3LDIwIEBAIHB1YmxpYzoKICAgICBDb25zb2xlTWVzc2Fn
ZShib29sIGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPiwgSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
ID0gMCk7CiAgICAgfkNvbnNvbGVNZXNzYWdlKCk7CiAKLSAgICB2b2lkIGFkZFRvRnJvbnRlbmQo
SW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKiwgSW5zcGVjdG9y
OjpJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBib29sIGdlbmVyYXRlUHJldmlldyk7Ci0gICAgdm9p
ZCB1cGRhdGVSZXBlYXRDb3VudEluQ29uc29sZShJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVG
cm9udGVuZERpc3BhdGNoZXIqKTsKLSAgICB2b2lkIGluY3JlbWVudENvdW50KCkgeyArK21fcmVw
ZWF0Q291bnQ7IH0KLSAgICBib29sIGlzRXF1YWwoQ29uc29sZU1lc3NhZ2UqIG1zZykgY29uc3Q7
CisgICAgdm9pZCBhZGRUb0Zyb250ZW5kKEluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNo
ZXIqLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBib29sIGdlbmVyYXRlUHJldmlldyk7CisgICAg
dm9pZCB1cGRhdGVSZXBlYXRDb3VudEluQ29uc29sZShJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmRE
aXNwYXRjaGVyKik7CiAKICAgICBNZXNzYWdlU291cmNlIHNvdXJjZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc291cmNlOyB9CiAgICAgY29uc3QgU3RyaW5nJiBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4g
bV9tZXNzYWdlOyB9CiAgICAgTWVzc2FnZVR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlw
ZTsgfQogCi0gICAgdm9pZCB3aW5kb3dDbGVhcmVkKERPTVdpbmRvdyopOworICAgIHZvaWQgaW5j
cmVtZW50Q291bnQoKSB7ICsrbV9yZXBlYXRDb3VudDsgfQogCi0gICAgdW5zaWduZWQgYXJndW1l
bnRDb3VudCgpOworICAgIHVuc2lnbmVkIGFyZ3VtZW50Q291bnQoKSBjb25zdDsKKworICAgIGJv
b2wgaXNFcXVhbChDb25zb2xlTWVzc2FnZSogbXNnKSBjb25zdDsKKworICAgIHZvaWQgc2NyaXB0
U3RhdGVDbGVhcmVkKEpTQzo6RXhlY1N0YXRlKik7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBhdXRv
Z2VuZXJhdGVNZXRhZGF0YShib29sIGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0
ZSogPSBudWxscHRyKTsKQEAgLTg4LDYgKzg4LDggQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9y
ZXF1ZXN0SWQ7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKIAogI2VuZGlmIC8vIENvbnNvbGVNZXNzYWdlX2gKKworI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29s
ZUFQSVR5cGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVUeXBl
cy5oCnNpbWlsYXJpdHkgaW5kZXggNjQlCmNvcHkgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29uc29sZUFQSVR5cGVzLmgKY29weSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0NvbnNvbGVUeXBlcy5oCmluZGV4IDExZjY1ZWMuLjFjOTQwOWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oCkBAIC0xLDQgKzEsNSBAQAogLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKQEAgLTIyLDI3ICsyMyw1MiBAQAogICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRl
ZiBDb25zb2xlQVBJVHlwZXNfaAotI2RlZmluZSBDb25zb2xlQVBJVHlwZXNfaAorI2lmbmRlZiBD
b25zb2xlVHlwZXNfaAorI2RlZmluZSBDb25zb2xlVHlwZXNfaAogCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAotZW51bSBNZXNzYWdlVHlwZSB7Ci0gICAgTG9n
TWVzc2FnZVR5cGUsCi0gICAgRGlyTWVzc2FnZVR5cGUsCi0gICAgRGlyWE1MTWVzc2FnZVR5cGUs
Ci0gICAgVGFibGVNZXNzYWdlVHlwZSwKLSAgICBUcmFjZU1lc3NhZ2VUeXBlLAotICAgIFN0YXJ0
R3JvdXBNZXNzYWdlVHlwZSwKLSAgICBTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUsCi0g
ICAgRW5kR3JvdXBNZXNzYWdlVHlwZSwKLSAgICBDbGVhck1lc3NhZ2VUeXBlLAotICAgIEFzc2Vy
dE1lc3NhZ2VUeXBlLAotICAgIFRpbWluZ01lc3NhZ2VUeXBlLAotICAgIFByb2ZpbGVNZXNzYWdl
VHlwZSwKLSAgICBQcm9maWxlRW5kTWVzc2FnZVR5cGUKK2VudW0gY2xhc3MgTWVzc2FnZVNvdXJj
ZSB7CisgICAgWE1MLAorICAgIEpTLAorICAgIE5ldHdvcmssCisgICAgQ29uc29sZUFQSSwKKyAg
ICBTdG9yYWdlLAorICAgIEFwcENhY2hlLAorICAgIFJlbmRlcmluZywKKyAgICBDU1MsCisgICAg
U2VjdXJpdHksCisgICAgT3RoZXIsCiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCitlbnVt
IGNsYXNzIE1lc3NhZ2VUeXBlIHsKKyAgICBMb2csCisgICAgRGlyLAorICAgIERpclhNTCwKKyAg
ICBUYWJsZSwKKyAgICBUcmFjZSwKKyAgICBTdGFydEdyb3VwLAorICAgIFN0YXJ0R3JvdXBDb2xs
YXBzZWQsCisgICAgRW5kR3JvdXAsCisgICAgQ2xlYXIsCisgICAgQXNzZXJ0LAorICAgIFRpbWlu
ZywKKyAgICBQcm9maWxlLAorICAgIFByb2ZpbGVFbmQsCit9OworCitlbnVtIGNsYXNzIE1lc3Nh
Z2VMZXZlbCB7CisgICAgTG9nID0gMSwKKyAgICBXYXJuaW5nID0gMiwKKyAgICBFcnJvciA9IDMs
CisgICAgRGVidWcgPSA0LAorfTsKKworfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCisKKy8vIFRo
ZXNlIHdpbGwgbGlrZWx5IG1vdmUgb3V0IG9mIHRoZSBpbnNwZWN0b3IgbmFtZXNwYWNlLgordXNp
bmcgSW5zcGVjdG9yOjpNZXNzYWdlU291cmNlOwordXNpbmcgSW5zcGVjdG9yOjpNZXNzYWdlVHlw
ZTsKK3VzaW5nIEluc3BlY3Rvcjo6TWVzc2FnZUxldmVsOwogCi0jZW5kaWYgLy8gQ29uc29sZUFQ
SVR5cGVzX2gKKyNlbmRpZiAvLyBDb25zb2xlVHlwZXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAKc2ltaWxhcml0eSBpbmRleCA5
MyUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9y
eS5jcHAKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmll
cnNGYWN0b3J5LmNwcAppbmRleCBkY2UyYTI4Li40ZmJiMzMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAKQEAgLTEsNCArMSw1
IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTI0LDI5ICsyNSwyNSBAQAogICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJZGVu
dGlmaWVyc0ZhY3RvcnkuaCIKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFj
ZSBJbnNwZWN0b3IgewogCiBuYW1lc3BhY2Ugewogc3RhdGljIGxvbmcgc19sYXN0VXNlZElkZW50
aWZpZXIgPSAwOwogfQogCi0vLyBzdGF0aWMKLWxvbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpzX3By
b2Nlc3NJZDsKK2xvbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpzX3Byb2Nlc3NJZCA9IDA7CiAKLS8v
IHN0YXRpYwogU3RyaW5nIElkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpCiB7
CiAgICAgcmV0dXJuIGFkZFByb2Nlc3NJZFByZWZpeFRvKFN0cmluZzo6bnVtYmVyKCsrc19sYXN0
VXNlZElkZW50aWZpZXIpKTsKIH0KIAotLy8gc3RhdGljCiBTdHJpbmcgSWRlbnRpZmllcnNGYWN0
b3J5OjpyZXF1ZXN0SWQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewogICAgIGlmIChpZGVu
dGlmaWVyKQpAQCAtNTQsNyArNTEsNiBAQCBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1
ZXN0SWQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0K
IAotLy8gc3RhdGljCiBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjphZGRQcm9jZXNzSWRQcmVm
aXhUbyhjb25zdCBTdHJpbmcmIGlkKQogewogICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKQEAg
LTY0LDYgKzYwLDYgQEAgU3RyaW5nIElkZW50aWZpZXJzRmFjdG9yeTo6YWRkUHJvY2Vzc0lkUHJl
Zml4VG8oY29uc3QgU3RyaW5nJiBpZCkKICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwog
fQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAog
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCnNpbWlsYXJpdHkgaW5kZXggOTUlCnJlbmFtZSBm
cm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaApyZW5hbWUg
dG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaApp
bmRleCBiMWE5YzQ4Li5iMjg0YWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSWRlbnRpZmllcnNGYWN0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaApAQCAtMjYsMjQgKzI2LDI1IEBACiAjaWZuZGVmIElk
ZW50aWZpZXJzRmFjdG9yeV9oCiAjZGVmaW5lIElkZW50aWZpZXJzRmFjdG9yeV9oCiAKLSNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKLW5h
bWVzcGFjZSBXZWJDb3JlIHsKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotY2xh
c3MgSWRlbnRpZmllcnNGYWN0b3J5IHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCitjbGFzcyBK
U19FWFBPUlRfUFJJVkFURSBJZGVudGlmaWVyc0ZhY3RvcnkgewogcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIHNldFByb2Nlc3NJZChsb25nIHByb2Nlc3NJZCkgeyBzX3Byb2Nlc3NJZCA9IHByb2Nl
c3NJZDsgfQogICAgIHN0YXRpYyBTdHJpbmcgY3JlYXRlSWRlbnRpZmllcigpOwogICAgIHN0YXRp
YyBTdHJpbmcgcmVxdWVzdElkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CisKIHByaXZhdGU6
CiAgICAgc3RhdGljIFN0cmluZyBhZGRQcm9jZXNzSWRQcmVmaXhUbyhjb25zdCBTdHJpbmcmIGlk
KTsKIAogICAgIHN0YXRpYyBsb25nIHNfcHJvY2Vzc0lkOwogfTsKIAotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyAhZGVmaW5lZChJ
ZGVudGlmaWVyc0ZhY3RvcnlfaCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCmluZGV4IDQyNGE4N2YuLjc1ZGJkYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVj
dG9yQ29udHJvbGxlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5o
IgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RD
b25zb2xlQWdlbnQuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaCIK
ICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oIgogCkBAIC01Myw3ICs1NCwx
MSBAQCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OkpTR2xvYmFsT2JqZWN0SW5z
cGVjdG9yQ29udHJvbGxlcihKU0dsb2JhbE9iagogICAgIEluc3BlY3RvclJ1bnRpbWVBZ2VudCog
cnVudGltZUFnZW50ID0gcnVudGltZUFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVu
ZChzdGQ6Om1vdmUocnVudGltZUFnZW50UHRyKSk7CiAKLSAgICBhdXRvIGRlYnVnZ2VyQWdlbnRQ
dHIgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudD4obV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCksIG1fZ2xvYmFsT2JqZWN0KTsKKyAgICBhdXRvIGNvbnNv
bGVBZ2VudFB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ+
KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKTsKKyAgICBJbnNwZWN0b3JDb25zb2xlQWdl
bnQqIGNvbnNvbGVBZ2VudCA9IGNvbnNvbGVBZ2VudFB0ci5nZXQoKTsKKyAgICBtX2FnZW50cy5h
cHBlbmQoc3RkOjptb3ZlKGNvbnNvbGVBZ2VudFB0cikpOworCisgICAgYXV0byBkZWJ1Z2dlckFn
ZW50UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ+KG1f
aW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpLCBtX2dsb2JhbE9iamVjdCwgY29uc29sZUFnZW50
KTsKICAgICBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBkZWJ1Z2dlckFnZW50ID0gZGVidWdnZXJB
Z2VudFB0ci5nZXQoKTsKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptb3ZlKGRlYnVnZ2VyQWdl
bnRQdHIpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFy
Z3VtZW50cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3Vt
ZW50cy5jcHAKc2ltaWxhcml0eSBpbmRleCA5MCUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5jcHAKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcAppbmRleCA5ZTY1ZjdlLi4xNWYxNGRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5j
cHAKQEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKICAqIG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CkBAIC0xNCw3ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMxLDE3ICszMiwx
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgog
Ci0jaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlICJTY3JpcHRWYWx1
ZS5oIgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IFNjcmlwdEFyZ3VtZW50czo6Y3JlYXRlKEpTQzo6RXhl
Y1N0YXRlKiBzY3JpcHRTdGF0ZSwgVmVjdG9yPERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlPiYgYXJn
dW1lbnRzKQogewogICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2NyaXB0QXJndW1lbnRzKHNjcmlw
dFN0YXRlLCBhcmd1bWVudHMpKTsKIH0KIAotU2NyaXB0QXJndW1lbnRzOjpTY3JpcHRBcmd1bWVu
dHMoSlNDOjpFeGVjU3RhdGUqIHNjcmlwdFN0YXRlLCBWZWN0b3I8RGVwcmVjYXRlZDo6U2NyaXB0
VmFsdWU+JiBhcmd1bWVudHMpCi0gICAgOiBtX2dsb2JhbE9iamVjdChzY3JpcHRTdGF0ZS0+dm0o
KSwgc2NyaXB0U3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKSkKK1NjcmlwdEFyZ3VtZW50czo6
U2NyaXB0QXJndW1lbnRzKEpTQzo6RXhlY1N0YXRlKiBleGVjU3RhdGUsIFZlY3RvcjxEZXByZWNh
dGVkOjpTY3JpcHRWYWx1ZT4mIGFyZ3VtZW50cykKKyAgICA6IG1fZ2xvYmFsT2JqZWN0KGV4ZWNT
dGF0ZS0+dm0oKSwgZXhlY1N0YXRlLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpCiB7CiAgICAgbV9h
cmd1bWVudHMuc3dhcChhcmd1bWVudHMpOwogfQpAQCAtNjAsNiArNjEsNyBAQCBKU0M6OkV4ZWNT
dGF0ZSogU2NyaXB0QXJndW1lbnRzOjpnbG9iYWxTdGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYgKG1f
Z2xvYmFsT2JqZWN0KQogICAgICAgICByZXR1cm4gY29uc3RfY2FzdDxKU0M6OkpTR2xvYmFsT2Jq
ZWN0Kj4obV9nbG9iYWxPYmplY3QuZ2V0KCkpLT5nbG9iYWxFeGVjKCk7CisKICAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIApAQCAtOTUsNyArOTcsOCBAQCBib29sIFNjcmlwdEFyZ3VtZW50czo6aXNF
cXVhbChTY3JpcHRBcmd1bWVudHMqIG90aGVyKSBjb25zdAogICAgICAgICBpZiAoIW1fYXJndW1l
bnRzW2ldLmlzRXF1YWwob3RoZXItPmdsb2JhbFN0YXRlKCksIG90aGVyLT5tX2FyZ3VtZW50c1tp
XSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQorCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3Rvcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaApzaW1pbGFy
aXR5IGluZGV4IDkwJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0
QXJndW1lbnRzLmgKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2Ny
aXB0QXJndW1lbnRzLmgKaW5kZXggNDdhOTYyMy4uNTMzN2UwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmgKQEAgLTEsNCArMSw1IEBACiAvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dApAQCAtNDYsMTIgKzQ3LDExIEBAIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNz
IEpTR2xvYmFsT2JqZWN0OwogfQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAotY2xhc3MgU2NyaXB0QXJndW1lbnRzIDogcHVibGljIFJlZkNvdW50ZWQ8U2Ny
aXB0QXJndW1lbnRzPiB7CitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBTY3JpcHRBcmd1bWVudHMg
OiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRBcmd1bWVudHM+IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIFZl
Y3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4mIGFyZ3VtZW50cyk7Ci0KICAgICB+U2NyaXB0
QXJndW1lbnRzKCk7CiAKICAgICBjb25zdCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSYgYXJndW1l
bnRBdChzaXplX3QpIGNvbnN0OwpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAKICAgICBKU0M6
OkV4ZWNTdGF0ZSogZ2xvYmFsU3RhdGUoKSBjb25zdDsKIAotICAgIGJvb2wgZ2V0Rmlyc3RBcmd1
bWVudEFzU3RyaW5nKFdURjo6U3RyaW5nJiByZXN1bHQsIGJvb2wgY2hlY2tGb3JOdWxsT3JVbmRl
ZmluZWQgPSBmYWxzZSk7CisgICAgYm9vbCBnZXRGaXJzdEFyZ3VtZW50QXNTdHJpbmcoU3RyaW5n
JiByZXN1bHQsIGJvb2wgY2hlY2tGb3JOdWxsT3JVbmRlZmluZWQgPSBmYWxzZSk7CiAgICAgYm9v
bCBpc0VxdWFsKFNjcmlwdEFyZ3VtZW50cyopIGNvbnN0OwogCiBwcml2YXRlOgpAQCAtNjksNiAr
NjksNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4gbV9h
cmd1bWVudHM7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKIAogI2VuZGlmIC8vIFNjcmlwdEFyZ3VtZW50c19oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcApzaW1pbGFyaXR5IGluZGV4IDky
JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNw
cApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJh
bWUuY3BwCmluZGV4IDY5YzI4ZjkuLmM3YTgyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAor
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogICogbWV0OgotICogCisgKgogICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKQEAgLTE0LDcgKzE1LDcgQEAKICAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgotICogCisgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgpAQCAtMzEsMTMgKzMyLDEwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCiAKLSNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9u
dGVuZERpc3BhdGNoZXJzLmgiCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5o
PgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9y
OwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogU2NyaXB0
Q2FsbEZyYW1lOjpTY3JpcHRDYWxsRnJhbWUoY29uc3QgU3RyaW5nJiBmdW5jdGlvbk5hbWUsIGNv
bnN0IFN0cmluZyYgc2NyaXB0TmFtZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29s
dW1uKQogICAgIDogbV9mdW5jdGlvbk5hbWUoZnVuY3Rpb25OYW1lKQpAQCAtNzEsNCArNjksNCBA
QCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNhbGxGcmFtZT4g
U2NyaXB0Q2FsbEZyYW1lOjpidWlsZElucwogfQogI2VuZGlmCiAKLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaApzaW1pbGFyaXR5IGluZGV4IDkzJQpyZW5hbWUgZnJv
bSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKcmVuYW1lIHRvIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKaW5kZXggZDZk
Y2ZhMy4uMDA1MjRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Njcmlw
dENhbGxGcmFtZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0
Q2FsbEZyYW1lLmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKICAqIG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCkBAIC0xNCw3ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAq
IAorICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMx
LDIwICszMiwxNiBAQAogI2lmbmRlZiBTY3JpcHRDYWxsRnJhbWVfaAogI2RlZmluZSBTY3JpcHRD
YWxsRnJhbWVfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLSNpbmNsdWRlICJJbnNwZWN0b3JX
ZWJUeXBlQnVpbGRlcnMuaCIKLSNlbmRpZgotCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisj
aW5jbHVkZSAiSW5zcGVjdG9ySlNUeXBlQnVpbGRlcnMuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2Ug
SW5zcGVjdG9yIHsKLWNsYXNzIEluc3BlY3Rvck9iamVjdDsKLX0KIAotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1jbGFzcyBTY3JpcHRDYWxsRnJhbWUgIHsKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRF
IFNjcmlwdENhbGxGcmFtZSAgewogcHVibGljOgogICAgIFNjcmlwdENhbGxGcmFtZShjb25zdCBT
dHJpbmcmIGZ1bmN0aW9uTmFtZSwgY29uc3QgU3RyaW5nJiBzY3JpcHROYW1lLCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW4pOwogICAgIH5TY3JpcHRDYWxsRnJhbWUoKTsKQEAg
LTY3LDYgKzY0LDYgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2NvbHVtbjsKIH07CiAKLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYg
Ly8gU2NyaXB0Q2FsbEZyYW1lX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2suY3BwCnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFtZSBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwCnJlbmFtZSB0byBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKaW5kZXggYzRhZjFi
NC4uMmRkMjg1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRD
YWxsU3RhY2suY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDE0
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwOCwg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQogICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKQEAgLTE0LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot
ICogCisgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAt
MzEsMTIgKzMyLDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxs
U3RhY2suaCIKIAotI2luY2x1ZGUgIkluc3BlY3RvcldlYlR5cGVCdWlsZGVycy5oIgotI2luY2x1
ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KKyNpbmNsdWRlICJJbnNwZWN0b3JWYWx1
ZXMuaCIKIAotdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKLQotbmFtZXNwYWNlIFdlYkNvcmUg
eworbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBT
Y3JpcHRDYWxsU3RhY2s6OmNyZWF0ZShWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiYgZnJhbWVzKQog
ewpAQCAtNTIsNyArNTAsNyBAQCBTY3JpcHRDYWxsU3RhY2s6On5TY3JpcHRDYWxsU3RhY2soKQog
ewogfQogCi1jb25zdCBTY3JpcHRDYWxsRnJhbWUgJlNjcmlwdENhbGxTdGFjazo6YXQoc2l6ZV90
IGluZGV4KSBjb25zdAorY29uc3QgU2NyaXB0Q2FsbEZyYW1lJiBTY3JpcHRDYWxsU3RhY2s6OmF0
KHNpemVfdCBpbmRleCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9mcmFtZXMuc2l6ZSgpID4gaW5k
ZXgpOwogICAgIHJldHVybiBtX2ZyYW1lc1tpbmRleF07CkBAIC05MCw0ICs4OCw0IEBAIFBhc3NS
ZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6QXJyYXk8SW5zcGVjdG9yOjpUeXBlQnVpbGRl
cjo6Q29uc29sZTo6Q2FsbEZyCiB9CiAjZW5kaWYKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
fSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFjay5oCnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaApyZW5hbWUgdG8gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaAppbmRleCAxOTc1ZGE1Yy4u
ZGRhYTJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFjay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0
YWNrLmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDA4LCAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKICAqIG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCkBAIC0xNCw3ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAq
IAorICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMx
LDE4ICszMiwxOCBAQAogI2lmbmRlZiBTY3JpcHRDYWxsU3RhY2tfaAogI2RlZmluZSBTY3JpcHRD
YWxsU3RhY2tfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLSNpbmNsdWRlICJJbnNwZWN0b3JX
ZWJUeXBlQnVpbGRlcnMuaCIKLSNlbmRpZgotCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworI2lmIEVOQUJM
RShJTlNQRUNUT1IpCisjaW5jbHVkZSAiSW5zcGVjdG9ySlNUeXBlQnVpbGRlcnMuaCIKKyNlbmRp
ZgogCi1jbGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRDYWxs
U3RhY2s+IHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCitjbGFzcyBKU19FWFBPUlRfUFJJVkFU
RSBTY3JpcHRDYWxsU3RhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRDYWxsU3RhY2s+IHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1heENhbGxTdGFja1NpemVUb0NhcHR1
cmUgPSAyMDA7CiAgICAgCkBAIC01MCw3ICs1MSw3IEBAIHB1YmxpYzoKIAogICAgIH5TY3JpcHRD
YWxsU3RhY2soKTsKIAotICAgIGNvbnN0IFNjcmlwdENhbGxGcmFtZSAmYXQoc2l6ZV90KSBjb25z
dDsKKyAgICBjb25zdCBTY3JpcHRDYWxsRnJhbWUmIGF0KHNpemVfdCkgY29uc3Q7CiAgICAgc2l6
ZV90IHNpemUoKSBjb25zdDsKIAogICAgIGJvb2wgaXNFcXVhbChTY3JpcHRDYWxsU3RhY2sqKSBj
b25zdDsKQEAgLTY1LDYgKzY2LDYgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8U2NyaXB0Q2FsbEZy
YW1lPiBtX2ZyYW1lczsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gU2NyaXB0Q2FsbFN0YWNrX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNw
cApzaW1pbGFyaXR5IGluZGV4IDY5JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcAppbmRleCA3ZDY5NWE0
Li4zYjEzZGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCkBAIC0xLDExICsxLDEyIEBACiAvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDEyIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogCisgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAgKiBtZXQ6Ci0g
KiAKKyAqCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAogICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQpAQCAtMTUsNyArMTYsNyBA
QAogICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cwogICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAogICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCkBAIC0zMiw3OCArMzMsMzAgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAKLSNpbmNsdWRl
ICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIK
LSNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKKyNpbmNsdWRlICJBcmdMaXN0Lmgi
CisjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCisjaW5jbHVkZSAiQ2FsbEZyYW1lSW5saW5lcy5oIgor
I2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCiAjaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUu
aD4KLSNpbmNsdWRlIDxpbnRlcnByZXRlci9DYWxsRnJhbWUuaD4KLSNpbmNsdWRlIDxpbnRlcnBy
ZXRlci9DYWxsRnJhbWVJbmxpbmVzLmg+Ci0jaW5jbHVkZSA8aW50ZXJwcmV0ZXIvU3RhY2tWaXNp
dG9yLmg+Ci0jaW5jbHVkZSA8cnVudGltZS9BcmdMaXN0Lmg+Ci0jaW5jbHVkZSA8cnVudGltZS9K
U0NKU1ZhbHVlLmg+Ci0jaW5jbHVkZSA8cnVudGltZS9KU0Z1bmN0aW9uLmg+Ci0jaW5jbHVkZSA8
cnVudGltZS9WTS5oPgorI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSAiU3RhY2tW
aXNpdG9yLmgiCisjaW5jbHVkZSAiVk0uaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZEFycmF5
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBK
U0M7CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBjbGFzcyBDcmVhdGVTY3JpcHRDYWxsU3RhY2tG
dW5jdG9yIHsKIHB1YmxpYzoKLSAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yKFZlY3Rv
cjxTY3JpcHRDYWxsRnJhbWU+JiBmcmFtZXMsICBzaXplX3QgcmVtYWluaW5nQ2FwYWNpdHkpCi0g
ICAgICAgIDogbV9mcmFtZXMoZnJhbWVzKQotICAgICAgICAsIG1fcmVtYWluaW5nQ2FwYWNpdHlG
b3JGcmFtZUNhcHR1cmUocmVtYWluaW5nQ2FwYWNpdHkpCi0gICAgewotICAgIH0KLQotICAgIFN0
YWNrVmlzaXRvcjo6U3RhdHVzIG9wZXJhdG9yKCkoU3RhY2tWaXNpdG9yJiB2aXNpdG9yKQotICAg
IHsKLSAgICAgICAgaWYgKG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUpIHsKLSAg
ICAgICAgICAgIHVuc2lnbmVkIGxpbmU7Ci0gICAgICAgICAgICB1bnNpZ25lZCBjb2x1bW47Ci0g
ICAgICAgICAgICB2aXNpdG9yLT5jb21wdXRlTGluZUFuZENvbHVtbihsaW5lLCBjb2x1bW4pOwot
ICAgICAgICAgICAgbV9mcmFtZXMuYXBwZW5kKFNjcmlwdENhbGxGcmFtZSh2aXNpdG9yLT5mdW5j
dGlvbk5hbWUoKSwgdmlzaXRvci0+c291cmNlVVJMKCksIGxpbmUsIGNvbHVtbikpOwotCi0gICAg
ICAgICAgICBtX3JlbWFpbmluZ0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlLS07Ci0gICAgICAgICAg
ICByZXR1cm4gU3RhY2tWaXNpdG9yOjpDb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICByZXR1
cm4gU3RhY2tWaXNpdG9yOjpEb25lOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBWZWN0b3I8U2Ny
aXB0Q2FsbEZyYW1lPiYgbV9mcmFtZXM7Ci0gICAgc2l6ZV90IG1fcmVtYWluaW5nQ2FwYWNpdHlG
b3JGcmFtZUNhcHR1cmU7Ci19OwotCi1QYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRl
U2NyaXB0Q2FsbFN0YWNrKHNpemVfdCBtYXhTdGFja1NpemUsIGJvb2wgZW1wdHlJc0FsbG93ZWQp
Ci17Ci0gICAgVmVjdG9yPFNjcmlwdENhbGxGcmFtZT4gZnJhbWVzOwotICAgIGlmIChKU0M6OkV4
ZWNTdGF0ZSogZXhlYyA9IEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCkpIHsK
LSAgICAgICAgQ2FsbEZyYW1lKiBmcmFtZSA9IGV4ZWMtPnZtKCkudG9wQ2FsbEZyYW1lOwotICAg
ICAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IoZnJhbWVzLCBtYXhTdGFj
a1NpemUpOwotICAgICAgICBmcmFtZS0+aXRlcmF0ZShmdW5jdG9yKTsKLSAgICB9Ci0gICAgaWYg
KGZyYW1lcy5pc0VtcHR5KCkgJiYgIWVtcHR5SXNBbGxvd2VkKSB7Ci0gICAgICAgIC8vIE5vIGZy
YW1lcyBmb3VuZC4gSXQgbWF5IGhhcHBlbiBpbiB0aGUgY2FzZSB3aGVyZQotICAgICAgICAvLyBh
IGJvdW5kIGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIG5hdGl2ZSBjb2RlIGZvciBleGFtcGxlLgot
ICAgICAgICAvLyBGYWxsYmFjayB0byBzZXR0aW5nIGxpbmVOdW1iZXIgdG8gMCwgYW5kIHNvdXJj
ZSBhbmQgZnVuY3Rpb24gbmFtZSB0byAidW5kZWZpbmVkIi4KLSAgICAgICAgZnJhbWVzLmFwcGVu
ZChTY3JpcHRDYWxsRnJhbWUoInVuZGVmaW5lZCIsICJ1bmRlZmluZWQiLCAwLCAwKSk7Ci0gICAg
fQotICAgIHJldHVybiBTY3JpcHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOwotfQotCi1jbGFz
cyBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlRnVuY3RvciB7Ci1wdWJsaWM6Ci0gICAg
Q3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZUZ1bmN0b3IoYm9vbCBuZWVkVG9Ta2lwQUZy
YW1lLCAgc2l6ZV90IHJlbWFpbmluZ0NhcGFjaXR5LCBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiYg
ZnJhbWVzKQorICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IoYm9vbCBuZWVkVG9Ta2lw
QUZyYW1lLCBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiYgZnJhbWVzLCBzaXplX3QgcmVtYWluaW5n
Q2FwYWNpdHkpCiAgICAgICAgIDogbV9uZWVkVG9Ta2lwQUZyYW1lKG5lZWRUb1NraXBBRnJhbWUp
Ci0gICAgICAgICwgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZShyZW1haW5pbmdD
YXBhY2l0eSkKICAgICAgICAgLCBtX2ZyYW1lcyhmcmFtZXMpCisgICAgICAgICwgbV9yZW1haW5p
bmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZShyZW1haW5pbmdDYXBhY2l0eSkKICAgICB7CiAgICAg
fQogCkBAIC0xMTUsMTIgKzY4LDYgQEAgcHVibGljOgogICAgICAgICB9CiAKICAgICAgICAgaWYg
KG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUpIHsKLSAgICAgICAgICAgIC8vIFRo
aXMgZWFybHkgZXhpdCBpcyBuZWNlc3NhcnkgdG8gbWFpbnRhaW4gb3VyIG9sZCBiZWhhdmlvdXIK
LSAgICAgICAgICAgIC8vIGJ1dCB0aGUgc3RhY2sgdHJhY2Ugd2UgcHJvZHVjZSBub3cgaXMgY29t
cGxldGUgYW5kIGhhbmRsZXMgYWxsCi0gICAgICAgICAgICAvLyB3YXlzIGluIHdoaWNoIGNvZGUg
bWF5IGJlIHJ1bm5pbmcKLSAgICAgICAgICAgIGlmICghdmlzaXRvci0+Y2FsbGVlKCkgJiYgbV9m
cmFtZXMuc2l6ZSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkRvbmU7
Ci0KICAgICAgICAgICAgIHVuc2lnbmVkIGxpbmU7CiAgICAgICAgICAgICB1bnNpZ25lZCBjb2x1
bW47CiAgICAgICAgICAgICB2aXNpdG9yLT5jb21wdXRlTGluZUFuZENvbHVtbihsaW5lLCBjb2x1
bW4pOwpAQCAtMTI5LDI5ICs3Niw1OCBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX3JlbWFpbmlu
Z0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlLS07CiAgICAgICAgICAgICByZXR1cm4gU3RhY2tWaXNp
dG9yOjpDb250aW51ZTsKICAgICAgICAgfQorCiAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6
OkRvbmU7CiAgICAgfQogCiBwcml2YXRlOgogICAgIGJvb2wgbV9uZWVkVG9Ta2lwQUZyYW1lOwot
ICAgIHNpemVfdCBtX3JlbWFpbmluZ0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlOwogICAgIFZlY3Rv
cjxTY3JpcHRDYWxsRnJhbWU+JiBtX2ZyYW1lczsKKyAgICBzaXplX3QgbV9yZW1haW5pbmdDYXBh
Y2l0eUZvckZyYW1lQ2FwdHVyZTsKIH07CiAKK1Bhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBj
cmVhdGVTY3JpcHRDYWxsU3RhY2soSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBtYXhTdGFj
a1NpemUsIGJvb2wgZW1wdHlJc0FsbG93ZWQpCit7CisgICAgVmVjdG9yPFNjcmlwdENhbGxGcmFt
ZT4gZnJhbWVzOworCisgICAgaWYgKGV4ZWMpIHsKKyAgICAgICAgQ2FsbEZyYW1lKiBmcmFtZSA9
IGV4ZWMtPnZtKCkudG9wQ2FsbEZyYW1lOworICAgICAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tG
dW5jdG9yIGZ1bmN0b3IoZmFsc2UsIGZyYW1lcywgbWF4U3RhY2tTaXplKTsKKyAgICAgICAgZnJh
bWUtPml0ZXJhdGUoZnVuY3Rvcik7CisgICAgfQorCisgICAgaWYgKGZyYW1lcy5pc0VtcHR5KCkg
JiYgIWVtcHR5SXNBbGxvd2VkKSB7CisgICAgICAgIC8vIE5vIGZyYW1lcyBmb3VuZC4gSXQgbWF5
IGhhcHBlbiBpbiB0aGUgY2FzZSB3aGVyZQorICAgICAgICAvLyBhIGJvdW5kIGZ1bmN0aW9uIGlz
IGNhbGxlZCBmcm9tIG5hdGl2ZSBjb2RlIGZvciBleGFtcGxlLgorICAgICAgICAvLyBGYWxsYmFj
ayB0byBzZXR0aW5nIGxpbmVOdW1iZXIgdG8gMCwgYW5kIHNvdXJjZSBhbmQgZnVuY3Rpb24gbmFt
ZSB0byAidW5kZWZpbmVkIi4KKyAgICAgICAgZnJhbWVzLmFwcGVuZChTY3JpcHRDYWxsRnJhbWUo
QVNDSUlMaXRlcmFsKCJ1bmRlZmluZWQiKSwgQVNDSUlMaXRlcmFsKCJ1bmRlZmluZWQiKSwgMCwg
MCkpOworICAgIH0KKworICAgIHJldHVybiBTY3JpcHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMp
OworfQorCiBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNr
KEpTQzo6RXhlY1N0YXRlKiBleGVjLCBzaXplX3QgbWF4U3RhY2tTaXplKQogewogICAgIFZlY3Rv
cjxTY3JpcHRDYWxsRnJhbWU+IGZyYW1lczsKLSAgICBBU1NFUlQoZXhlYyk7CisKICAgICBDYWxs
RnJhbWUqIGZyYW1lID0gZXhlYy0+dm0oKS50b3BDYWxsRnJhbWU7Ci0gICAgQ3JlYXRlU2NyaXB0
Q2FsbFN0YWNrRm9yQ29uc29sZUZ1bmN0b3IgZnVuY3Rvcih0cnVlLCBtYXhTdGFja1NpemUsIGZy
YW1lcyk7CisgICAgQ3JlYXRlU2NyaXB0Q2FsbFN0YWNrRnVuY3RvciBmdW5jdG9yKHRydWUsIGZy
YW1lcywgbWF4U3RhY2tTaXplKTsKICAgICBmcmFtZS0+aXRlcmF0ZShmdW5jdG9yKTsKKwogICAg
IGlmIChmcmFtZXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0Zv
ckNvbnNvbGVGdW5jdG9yIGZ1bmN0b3IoZmFsc2UsIG1heFN0YWNrU2l6ZSwgZnJhbWVzKTsKKyAg
ICAgICAgQ3JlYXRlU2NyaXB0Q2FsbFN0YWNrRnVuY3RvciBmdW5jdG9yKGZhbHNlLCBmcmFtZXMs
IG1heFN0YWNrU2l6ZSk7CiAgICAgICAgIGZyYW1lLT5pdGVyYXRlKGZ1bmN0b3IpOwogICAgIH0K
KwogICAgIHJldHVybiBTY3JpcHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOwogfQogCitQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShK
U0M6OkV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICAvLyBGSVhNRTogQ2FsbGVyIHNob3VsZCB1c2Ug
Y3JlYXRlU2NyaXB0Q2FsbFN0YWNrIGFsdGVybmF0aXZlIHdpdGggdGhlIGV4ZWMgYW5kIGFwcHJv
cHJpYXRlIG1heC4KKyAgICByZXR1cm4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKGV4ZWMsIFNjcmlw
dENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSk7Cit9CisKIFBhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGcm9tRXhjZXB0aW9uKEpTQzo6
RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUmIGV4Y2VwdGlvbiwgc2l6ZV90IG1heFN0YWNr
U2l6ZSkKIHsKICAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBmcmFtZXM7CkBAIC0xNjAsMTAg
KzEzNiwxMCBAQCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0
YWNrRnJvbUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSogZQogICAgICAgICBpZiAoIXN0YWNrVHJh
Y2VbaV0uY2FsbGVlICYmIGZyYW1lcy5zaXplKCkpCiAgICAgICAgICAgICBicmVhazsKIAotICAg
ICAgICBTdHJpbmcgZnVuY3Rpb25OYW1lID0gc3RhY2tUcmFjZVtpXS5mcmllbmRseUZ1bmN0aW9u
TmFtZShleGVjKTsKICAgICAgICAgdW5zaWduZWQgbGluZTsKICAgICAgICAgdW5zaWduZWQgY29s
dW1uOwogICAgICAgICBzdGFja1RyYWNlW2ldLmNvbXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUsIGNv
bHVtbik7CisgICAgICAgIFN0cmluZyBmdW5jdGlvbk5hbWUgPSBzdGFja1RyYWNlW2ldLmZyaWVu
ZGx5RnVuY3Rpb25OYW1lKGV4ZWMpOwogICAgICAgICBmcmFtZXMuYXBwZW5kKFNjcmlwdENhbGxG
cmFtZShmdW5jdGlvbk5hbWUsIHN0YWNrVHJhY2VbaV0uc291cmNlVVJMLCBsaW5lLCBjb2x1bW4p
KTsKICAgICB9CiAKQEAgLTE4NiwxNyArMTYyLDYgQEAgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqIGUK
ICAgICByZXR1cm4gU2NyaXB0Q2FsbFN0YWNrOjpjcmVhdGUoZnJhbWVzKTsKIH0KIAotUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGUoSlND
OjpFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgc2l6ZV90IG1heFN0YWNrU2l6ZSA9IDE7Ci0gICAg
aWYgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKLSAgICAgICAg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9IGpzQ2FzdDxK
U0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKTsKLSAgICAgICAgaWYgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
Y29uc29sZUFnZW50RW5hYmxlZChzY3JpcHRFeGVjdXRpb25Db250ZXh0KSkKLSAgICAgICAgICAg
IG1heFN0YWNrU2l6ZSA9IFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVy
ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGNyZWF0ZVNjcmlwdENhbGxTdGFjayhleGVjLCBtYXhTdGFj
a1NpemUpOwotfQotCiBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gY3JlYXRlU2NyaXB0QXJn
dW1lbnRzKEpTQzo6RXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBza2lwQXJndW1lbnRDb3VudCkK
IHsKICAgICBWZWN0b3I8RGVwcmVjYXRlZDo6U2NyaXB0VmFsdWU+IGFyZ3VtZW50czsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3Rvcnku
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5oCnNpbWlsYXJpdHkgaW5kZXggNjklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaApyZW5hbWUgdG8gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKaW5kZXggMjk4YmJiZC4u
N2NlOWM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oCkBAIC0xLDEwICsxLDExIEBACiAvKgorICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
YykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogCisgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAgKiBtZXQ6Ci0gKiAKKyAqCiAgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAogICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgogICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQpAQCAtMTQsNyArMTUsNyBAQAogICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCkBAIC0zMiwyNSArMzMsMjQgQEAKICNkZWZpbmUgU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeV9o
CiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkQXJy
YXkuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGVjU3RhdGU7CiBjbGFzcyBKU1ZhbHVl
Owotc3RydWN0IFN0YWNrRnJhbWU7CiB9CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFj
ZSBJbnNwZWN0b3IgewogCiBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxs
U3RhY2s7CiAKLVBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3Rh
Y2soc2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0eVN0YWNrSXNBbGxvd2VkKTsKLVBhc3NS
ZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soSlNDOjpFeGVjU3Rh
dGUqLCBzaXplX3QgbWF4U3RhY2tTaXplKTsKLVBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBj
cmVhdGVTY3JpcHRDYWxsU3RhY2tGcm9tRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U1ZhbHVlJiBleGNlcHRpb24sIHNpemVfdCBtYXhTdGFja1NpemUpOwotUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGUoSlNDOjpFeGVjU3Rh
dGUqKTsKLVBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3JpcHRBcmd1bWVudHMo
SlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBza2lwQXJndW1lbnRDb3VudCk7CisvLyBGSVhNRTog
VGhlIHN1YnRsZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZXNlIHNob3VsZCBiZSBlbGltaW5hdGVk
LgorSlNfRVhQT1JUX1BSSVZBVEUgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNj
cmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSosIHNpemVfdCBtYXhTdGFja1NpemUsIGJvb2wg
ZW1wdHlJc0FsbG93ZWQpOworSlNfRVhQT1JUX1BSSVZBVEUgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSosIHNpemVfdCBtYXhT
dGFja1NpemUpOworSlNfRVhQT1JUX1BSSVZBVEUgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
IGNyZWF0ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGUoSlNDOjpFeGVjU3RhdGUqKTsKK0pTX0VY
UE9SVF9QUklWQVRFIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxs
U3RhY2tGcm9tRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlJiBleGNlcHRp
b24sIHNpemVfdCBtYXhTdGFja1NpemUpOworSlNfRVhQT1JUX1BSSVZBVEUgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+IGNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhKU0M6OkV4ZWNTdGF0ZSosIHVu
c2lnbmVkIHNraXBBcmd1bWVudENvdW50KTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAv
LyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xl
QWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yQ29uc29sZUFnZW50LmNwcApzaW1pbGFyaXR5IGluZGV4IDYyJQpyZW5hbWUgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcApyZW5hbWUgdG8g
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmNwcAppbmRleCA4YTQ2ZDY5Li5kYjZmOTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCkBAIC0x
LDQgKzEsNSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTIyLDY3ICsyMyw2NiBAQAogICogU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAotCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAKLSNpbmNsdWRlICJDb21tYW5k
TGluZUFQSUhvc3QuaCIKLSNpbmNsdWRlICJDb25zb2xlLmgiCisjaWYgRU5BQkxFKElOU1BFQ1RP
UikKKwogI2luY2x1ZGUgIkNvbnNvbGVNZXNzYWdlLmgiCi0jaW5jbHVkZSAiRE9NV2luZG93Lmgi
Ci0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVycy5oIgotI2luY2x1ZGUg
Ikluc3RydW1lbnRpbmdBZ2VudHMuaCIKLSNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgotI2luY2x1ZGUgIlJlc291cmNlUmVz
cG9uc2UuaCIKKyNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJT
Y3JpcHRBcmd1bWVudHMuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKICNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmgi
Ci0jaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIKLSNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRP
YmplY3QuaD4KKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7Ci0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBzdGF0aWMgY29uc3QgdW5z
aWduZWQgbWF4aW11bUNvbnNvbGVNZXNzYWdlcyA9IDEwMDA7CiBzdGF0aWMgY29uc3QgaW50IGV4
cGlyZUNvbnNvbGVNZXNzYWdlc1N0ZXAgPSAxMDA7CiAKLUluc3BlY3RvckNvbnNvbGVBZ2VudDo6
SW5zcGVjdG9yQ29uc29sZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMsIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikK
LSAgICA6IEluc3BlY3RvckFnZW50QmFzZShBU0NJSUxpdGVyYWwoIkNvbnNvbGUiKSwgaW5zdHJ1
bWVudGluZ0FnZW50cykKK0luc3BlY3RvckNvbnNvbGVBZ2VudDo6SW5zcGVjdG9yQ29uc29sZUFn
ZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIDog
SW5zcGVjdG9yQWdlbnRCYXNlKEFTQ0lJTGl0ZXJhbCgiQ29uc29sZSIpKQogICAgICwgbV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXIoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQogICAgICwgbV9wcmV2aW91
c01lc3NhZ2UobnVsbHB0cikKICAgICAsIG1fZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQoMCkK
ICAgICAsIG1fZW5hYmxlZChmYWxzZSkKLSAgICAsIG1fbW9uaXRvcmluZ1hIUkVuYWJsZWQoZmFs
c2UpCiB7Ci0gICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JDb25zb2xlQWdl
bnQodGhpcyk7CiB9CiAKIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6fkluc3BlY3RvckNvbnNvbGVB
Z2VudCgpCiB7Ci0gICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JDb25zb2xl
QWdlbnQobnVsbHB0cik7Ci0gICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzID0gbnVsbHB0cjsKLSAg
ICBtX2luamVjdGVkU2NyaXB0TWFuYWdlciA9IG51bGxwdHI7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
Q29uc29sZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNw
ZWN0b3JGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQoreworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVyPihm
cm9udGVuZENoYW5uZWwpOworICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3JDb25z
b2xlQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7Cit9
CisKK3ZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50Ojp3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFj
a2VuZChJbnNwZWN0b3JEaXNjb25uZWN0UmVhc29uKQoreworICAgIG1fZnJvbnRlbmREaXNwYXRj
aGVyID0gbnVsbHB0cjsKKyAgICBtX2JhY2tlbmREaXNwYXRjaGVyLmNsZWFyKCk7CisKKyAgICBT
dHJpbmcgZXJyb3JTdHJpbmc7CisgICAgZGlzYWJsZSgmZXJyb3JTdHJpbmcpOwogfQogCiB2b2lk
IEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKIHsKICAgICBpZiAo
bV9lbmFibGVkKQogICAgICAgICByZXR1cm47CisKICAgICBtX2VuYWJsZWQgPSB0cnVlOwogCiAg
ICAgaWYgKG1fZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQpIHsKLSAgICAgICAgQ29uc29sZU1l
c3NhZ2UgZXhwaXJlZE1lc3NhZ2UoIWlzV29ya2VyQWdlbnQoKSwgT3RoZXJNZXNzYWdlU291cmNl
LCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgU3RyaW5nOjpmb3JtYXQoIiVk
IGNvbnNvbGUgbWVzc2FnZXMgYXJlIG5vdCBzaG93bi4iLCBtX2V4cGlyZWRDb25zb2xlTWVzc2Fn
ZUNvdW50KSk7CisgICAgICAgIENvbnNvbGVNZXNzYWdlIGV4cGlyZWRNZXNzYWdlKCFpc1dvcmtl
ckFnZW50KCksIE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlVHlwZTo6TG9nLCBNZXNzYWdl
TGV2ZWw6Oldhcm5pbmcsIFN0cmluZzo6Zm9ybWF0KCIlZCBjb25zb2xlIG1lc3NhZ2VzIGFyZSBu
b3Qgc2hvd24uIiwgbV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCkpOwogICAgICAgICBleHBp
cmVkTWVzc2FnZS5hZGRUb0Zyb250ZW5kKG1fZnJvbnRlbmREaXNwYXRjaGVyLmdldCgpLCBtX2lu
amVjdGVkU2NyaXB0TWFuYWdlciwgZmFsc2UpOwogICAgIH0KIApAQCAtOTUsNiArOTUsNyBAQCB2
b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyopCiB7CiAgICAg
aWYgKCFtX2VuYWJsZWQpCiAgICAgICAgIHJldHVybjsKKwogICAgIG1fZW5hYmxlZCA9IGZhbHNl
OwogfQogCkBAIC0xMDMsNyArMTA0LDkgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmNs
ZWFyTWVzc2FnZXMoRXJyb3JTdHJpbmcqKQogICAgIG1fY29uc29sZU1lc3NhZ2VzLmNsZWFyKCk7
CiAgICAgbV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCA9IDA7CiAgICAgbV9wcmV2aW91c01l
c3NhZ2UgPSBudWxscHRyOwotICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5yZWxlYXNlT2Jq
ZWN0R3JvdXAoImNvbnNvbGUiKTsKKworICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5yZWxl
YXNlT2JqZWN0R3JvdXAoQVNDSUlMaXRlcmFsKCJjb25zb2xlIikpOworCiAgICAgaWYgKG1fZnJv
bnRlbmREaXNwYXRjaGVyICYmIG1fZW5hYmxlZCkKICAgICAgICAgbV9mcm9udGVuZERpc3BhdGNo
ZXItPm1lc3NhZ2VzQ2xlYXJlZCgpOwogfQpAQCAtMTEyLDMxICsxMTUsMTcgQEAgdm9pZCBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQ6OnJlc2V0KCkKIHsKICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAg
ICBjbGVhck1lc3NhZ2VzKCZlcnJvcik7CisKICAgICBtX3RpbWVzLmNsZWFyKCk7CiAgICAgbV9j
b3VudHMuY2xlYXIoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCog
ZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3Bh
dGNoZXIpCi17Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7Ci0gICAg
bV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3RvckNvbnNvbGVCYWNrZW5kRGlzcGF0Y2hlcjo6
Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JDb25z
b2xlQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3RvckRpc2Nvbm5l
Y3RSZWFzb24pCi17Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBudWxscHRyOwotICAgIG1f
YmFja2VuZERpc3BhdGNoZXIuY2xlYXIoKTsKLQotICAgIFN0cmluZyBlcnJvclN0cmluZzsKLSAg
ICBkaXNhYmxlKCZlcnJvclN0cmluZyk7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50
OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0
eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllcikKIHsKLSAgICBpZiAoIW1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRW52aXJv
bm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCisgICAgaWYgKCFtX2luamVjdGVkU2Ny
aXB0TWFuYWdlci0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFibGVk
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICh0eXBlID09IENsZWFyTWVzc2FnZVR5cGUp
IHsKKyAgICBpZiAodHlwZSA9PSBNZXNzYWdlVHlwZTo6Q2xlYXIpIHsKICAgICAgICAgRXJyb3JT
dHJpbmcgZXJyb3I7CiAgICAgICAgIGNsZWFyTWVzc2FnZXMoJmVycm9yKTsKICAgICB9CkBAIC0x
NDYsMTAgKzEzNSwxMCBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkTWVzc2FnZVRv
Q29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cAogCiB2b2lkIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFy
Z3VtZW50cywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKLSAgICBpZiAoIW1f
aW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRy
YXNFbmFibGVkKCkpCisgICAgaWYgKCFtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5zcGVjdG9y
RW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGlmICh0eXBlID09IENsZWFyTWVzc2FnZVR5cGUpIHsKKyAgICBpZiAodHlwZSA9PSBN
ZXNzYWdlVHlwZTo6Q2xlYXIpIHsKICAgICAgICAgRXJyb3JTdHJpbmcgZXJyb3I7CiAgICAgICAg
IGNsZWFyTWVzc2FnZXMoJmVycm9yKTsKICAgICB9CkBAIC0xNTksMTAgKzE0OCwxMCBAQCB2b2lk
IEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNl
IHNvdXJjZSwgTWVzc2FnZVR5cAogCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkTWVz
c2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVz
c2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2Ny
aXB0SUQsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpF
eGVjU3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAg
IGlmICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVs
b3BlckV4dHJhc0VuYWJsZWQoKSkKKyAgICBpZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5p
bnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgaWYgKHR5cGUgPT0gQ2xlYXJNZXNzYWdlVHlwZSkgeworICAgIGlmICh0
eXBlID09IE1lc3NhZ2VUeXBlOjpDbGVhcikgewogICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsK
ICAgICAgICAgY2xlYXJNZXNzYWdlcygmZXJyb3IpOwogICAgIH0KQEAgLTE3MSw3ICsxNjAsNyBA
QCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cAogICAgIGFkZENvbnNvbGVNZXNzYWdlKGFkb3B0UHRy
KG5ldyBDb25zb2xlTWVzc2FnZShjYW5HZW5lcmF0ZUNhbGxTdGFjaywgc291cmNlLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSwgc2NyaXB0SUQsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc3RhdGUs
IHJlcXVlc3RJZGVudGlmaWVyKSkpOwogfQogCi1WZWN0b3I8dW5zaWduZWQ+IEluc3BlY3RvckNv
bnNvbGVBZ2VudDo6Y29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpCitWZWN0b3I8dW5zaWdu
ZWQ+IEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygp
IGNvbnN0CiB7CiAgICAgVmVjdG9yPHVuc2lnbmVkPiByZXN1bHQobV9jb25zb2xlTWVzc2FnZXMu
c2l6ZSgpKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fY29uc29sZU1lc3NhZ2VzLnNp
emUoKTsgaSsrKQpAQCAtMjA1LDcgKzE5NCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50
OjpzdG9wVGltaW5nKGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsCiAK
ICAgICBkb3VibGUgZWxhcHNlZCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc3Rh
cnRUaW1lOwogICAgIFN0cmluZyBtZXNzYWdlID0gdGl0bGUgKyBTdHJpbmc6OmZvcm1hdCgiOiAl
LjNmbXMiLCBlbGFwc2VkICogMTAwMCk7Ci0gICAgYWRkTWVzc2FnZVRvQ29uc29sZShDb25zb2xl
QVBJTWVzc2FnZVNvdXJjZSwgVGltaW5nTWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxldmVsLCBt
ZXNzYWdlLCBjYWxsU3RhY2spOworICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJj
ZTo6Q29uc29sZUFQSSwgTWVzc2FnZVR5cGU6OlRpbWluZywgTWVzc2FnZUxldmVsOjpEZWJ1Zywg
bWVzc2FnZSwgY2FsbFN0YWNrKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmNv
dW50KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFy
Z3VtZW50cykKQEAgLTIzMCw2OCArMjE5LDE5IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50
Ojpjb3VudChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lCiAg
ICAgbV9jb3VudHMuYWRkKGlkZW50aWZpZXIsIGNvdW50KTsKIAogICAgIFN0cmluZyBtZXNzYWdl
ID0gdGl0bGUgKyAiOiAiICsgU3RyaW5nOjpudW1iZXIoY291bnQpOwotICAgIGFkZE1lc3NhZ2VU
b0NvbnNvbGUoQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBEZWJ1Z01l
c3NhZ2VMZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNrKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JDb25z
b2xlQWdlbnQ6OmZyYW1lV2luZG93RGlzY2FyZGVkKERPTVdpbmRvdyogd2luZG93KQotewotICAg
IHNpemVfdCBtZXNzYWdlQ291bnQgPSBtX2NvbnNvbGVNZXNzYWdlcy5zaXplKCk7Ci0gICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBtZXNzYWdlQ291bnQ7ICsraSkKLSAgICAgICAgbV9jb25zb2xl
TWVzc2FnZXNbaV0tPndpbmRvd0NsZWFyZWQod2luZG93KTsKLSAgICBtX2luamVjdGVkU2NyaXB0
TWFuYWdlci0+ZGlzY2FyZEluamVjdGVkU2NyaXB0c0Zvcih3aW5kb3cpOwotfQotCi12b2lkIElu
c3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlkRmluaXNoWEhSTG9hZGluZyh1bnNpZ25lZCBsb25nIHJl
cXVlc3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBzZW5kVVJM
LCB1bnNpZ25lZCBzZW5kTGluZU51bWJlciwgdW5zaWduZWQgc2VuZENvbHVtbk51bWJlcikKLXsK
LSAgICBpZiAoIW1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5k
ZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAobV9mcm9u
dGVuZERpc3BhdGNoZXIgJiYgbV9tb25pdG9yaW5nWEhSRW5hYmxlZCkgewotICAgICAgICBTdHJp
bmcgbWVzc2FnZSA9ICJYSFIgZmluaXNoZWQgbG9hZGluZzogXCIiICsgdXJsICsgIlwiLiI7Ci0g
ICAgICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTmV0d29ya01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgc2VuZFVSTCwgc2VuZExpbmVOdW1i
ZXIsIHNlbmRDb2x1bW5OdW1iZXIsIG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKLSAgICB9
Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UodW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UpCi17Ci0gICAgaWYgKCFtX2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckVudmly
b25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA+PSA0MDApIHsKLSAgICAgICAgU3RyaW5n
IG1lc3NhZ2UgPSAiRmFpbGVkIHRvIGxvYWQgcmVzb3VyY2U6IHRoZSBzZXJ2ZXIgcmVzcG9uZGVk
IHdpdGggYSBzdGF0dXMgb2YgIiArIFN0cmluZzo6bnVtYmVyKHJlc3BvbnNlLmh0dHBTdGF0dXND
b2RlKCkpICsgIiAoIiArIHJlc3BvbnNlLmh0dHBTdGF0dXNUZXh0KCkgKyAnKSc7Ci0gICAgICAg
IGFkZE1lc3NhZ2VUb0NvbnNvbGUoTmV0d29ya01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgcmVzcG9uc2UudXJsKCkuc3RyaW5nKCksIDAs
IDAsIG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKLSAgICB9Ci19Ci0KLXZvaWQgSW5zcGVj
dG9yQ29uc29sZUFnZW50OjpkaWRGYWlsTG9hZGluZyh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKLXsKLSAgICBpZiAoIW1faW5zdHJ1
bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFi
bGVkKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoZXJyb3IuaXNDYW5jZWxsYXRpb24oKSkg
Ly8gUmVwb3J0IGZhaWx1cmVzIG9ubHkuCi0gICAgICAgIHJldHVybjsKLSAgICBTdHJpbmdCdWls
ZGVyIG1lc3NhZ2U7Ci0gICAgbWVzc2FnZS5hcHBlbmRMaXRlcmFsKCJGYWlsZWQgdG8gbG9hZCBy
ZXNvdXJjZSIpOwotICAgIGlmICghZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKS5pc0VtcHR5
KCkpIHsKLSAgICAgICAgbWVzc2FnZS5hcHBlbmRMaXRlcmFsKCI6ICIpOwotICAgICAgICBtZXNz
YWdlLmFwcGVuZChlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKTsKLSAgICB9Ci0gICAgYWRk
TWVzc2FnZVRvQ29uc29sZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVy
cm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCksIGVycm9yLmZhaWxpbmdVUkwoKSwg
MCwgMCwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOwotfQotCi12b2lkIEluc3BlY3RvckNv
bnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVu
YWJsZWQpCi17Ci0gICAgbV9tb25pdG9yaW5nWEhSRW5hYmxlZCA9IGVuYWJsZWQ7CisgICAgYWRk
TWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6
TG9nLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdlLCBjYWxsU3RhY2spOwogfQogCiBzdGF0
aWMgYm9vbCBpc0dyb3VwTWVzc2FnZShNZXNzYWdlVHlwZSB0eXBlKQogewotICAgIHJldHVybiB0
eXBlID09IFN0YXJ0R3JvdXBNZXNzYWdlVHlwZQotICAgICAgICB8fCB0eXBlID09ICBTdGFydEdy
b3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUKLSAgICAgICAgfHwgdHlwZSA9PSBFbmRHcm91cE1lc3Nh
Z2VUeXBlOworICAgIHJldHVybiB0eXBlID09IE1lc3NhZ2VUeXBlOjpTdGFydEdyb3VwCisgICAg
ICAgIHx8IHR5cGUgPT0gTWVzc2FnZVR5cGU6OlN0YXJ0R3JvdXBDb2xsYXBzZWQKKyAgICAgICAg
fHwgdHlwZSA9PSBNZXNzYWdlVHlwZTo6RW5kR3JvdXA7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29u
c29sZUFnZW50OjphZGRDb25zb2xlTWVzc2FnZShQYXNzT3duUHRyPENvbnNvbGVNZXNzYWdlPiBj
b25zb2xlTWVzc2FnZSkKIHsKLSAgICBBU1NFUlQobV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNw
ZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSk7CisgICAgQVNTRVJU
KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQoKSk7CiAgICAgQVNTRVJUX0FSRyhjb25zb2xlTWVzc2FnZSwgY29uc29s
ZU1lc3NhZ2UpOwogCiAgICAgaWYgKG1fcHJldmlvdXNNZXNzYWdlICYmICFpc0dyb3VwTWVzc2Fn
ZShtX3ByZXZpb3VzTWVzc2FnZS0+dHlwZSgpKSAmJiBtX3ByZXZpb3VzTWVzc2FnZS0+aXNFcXVh
bChjb25zb2xlTWVzc2FnZS5nZXQoKSkpIHsKQEAgLTMxMSwyMyArMjUxLDYgQEAgdm9pZCBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQ6OmFkZENvbnNvbGVNZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1l
c3NhZ2U+IGNvbnNvbGUKICAgICB9CiB9CiAKLWNsYXNzIEluc3BlY3RhYmxlSGVhcE9iamVjdCBm
aW5hbCA6IHB1YmxpYyBDb21tYW5kTGluZUFQSUhvc3Q6Okluc3BlY3RhYmxlT2JqZWN0IHsKLXB1
YmxpYzoKLSAgICBleHBsaWNpdCBJbnNwZWN0YWJsZUhlYXBPYmplY3QoaW50IGhlYXBPYmplY3RJ
ZCkgOiBtX2hlYXBPYmplY3RJZChoZWFwT2JqZWN0SWQpIHsgfQotICAgIHZpcnR1YWwgRGVwcmVj
YXRlZDo6U2NyaXB0VmFsdWUgZ2V0KEpTQzo6RXhlY1N0YXRlKikgb3ZlcnJpZGUKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBTY3JpcHRQcm9maWxlcjo6b2JqZWN0QnlIZWFwT2JqZWN0SWQobV9oZWFw
T2JqZWN0SWQpOwotICAgIH0KLXByaXZhdGU6Ci0gICAgaW50IG1faGVhcE9iamVjdElkOwotfTsK
LQotdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJy
b3JTdHJpbmcqLCBpbnQgaW5zcGVjdGVkSGVhcE9iamVjdElkKQotewotICAgIGlmIChDb21tYW5k
TGluZUFQSUhvc3QqIGNvbW1hbmRMaW5lQVBJSG9zdCA9IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LT5jb21tYW5kTGluZUFQSUhvc3QoKSkKLSAgICAgICAgY29tbWFuZExpbmVBUElIb3N0LT5hZGRJ
bnNwZWN0ZWRPYmplY3QoYWRvcHRQdHIobmV3IEluc3BlY3RhYmxlSGVhcE9iamVjdChpbnNwZWN0
ZWRIZWFwT2JqZWN0SWQpKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFt
ZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNv
bGVBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yQ29uc29sZUFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDlh
NzllNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCkBAIC0wLDAgKzEsMTAzIEBACisvKgorKiBD
b3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgor
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorKiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpZm5kZWYgSW5zcGVjdG9y
Q29uc29sZUFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9yQ29uc29sZUFnZW50X2gKKworI2lmIEVO
QUJMRShJTlNQRUNUT1IpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JKU0JhY2tlbmREaXNwYXRjaGVy
cy5oIgorI2luY2x1ZGUgIkluc3BlY3RvckpTRnJvbnRlbmREaXNwYXRjaGVycy5oIgorI2luY2x1
ZGUgImluc3BlY3Rvci9Db25zb2xlVHlwZXMuaCIKKyNpbmNsdWRlICJpbnNwZWN0b3IvSW5zcGVj
dG9yQWdlbnRCYXNlLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisKK25hbWVzcGFjZSBK
U0MgeworY2xhc3MgRXhlY1N0YXRlOworfQorCituYW1lc3BhY2UgSW5zcGVjdG9yIHsKKworY2xh
c3MgQ29uc29sZU1lc3NhZ2U7CitjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBT
Y3JpcHRBcmd1bWVudHM7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2s7Cit0eXBlZGVmIFN0cmluZyBF
cnJvclN0cmluZzsKKworY2xhc3MgSlNfRVhQT1JUX1BSSVZBVEUgSW5zcGVjdG9yQ29uc29sZUFn
ZW50IDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3RvckNvbnNvbGVC
YWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3Bl
Y3RvckNvbnNvbGVBZ2VudCk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CisgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciopOworICAg
IHZpcnR1YWwgfkluc3BlY3RvckNvbnNvbGVBZ2VudCgpOworCisgICAgdmlydHVhbCB2b2lkIGRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqLCBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCB3aWxs
RGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3JEaXNjb25uZWN0UmVhc29uKSBvdmVy
cmlkZTsKKworICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyopIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBjbGVhck1lc3NhZ2VzKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCB2b2lkIHNldE1vbml0b3JpbmdYSFJFbmFibGVkKEVycm9yU3RyaW5nKiwgYm9vbCBlbmFi
bGVkKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcq
LCBpbnQgbm9kZUlkKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZEhlYXBPYmpl
Y3QoRXJyb3JTdHJpbmcqLCBpbnQgaW5zcGVjdGVkSGVhcE9iamVjdElkKSA9IDA7CisKKyAgICB2
aXJ0dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpIGNvbnN0ID0gMDsKKworICAgIGJvb2wgZW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5hYmxlZDsgfQorICAgIHZvaWQgcmVzZXQoKTsKKworICAg
IHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1Jl
ZlB0cjxTY3JpcHRBcmd1bWVudHM+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0g
MCk7CisgICAgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VU
eXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
Y3JpcHRJRCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6
OkV4ZWNTdGF0ZSogPSBudWxscHRyLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0g
MCk7CisgICAgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VU
eXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisKKyAg
ICBWZWN0b3I8dW5zaWduZWQ+IGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMoKSBjb25zdDsK
KworICAgIHZvaWQgc3RhcnRUaW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSk7CisgICAgdm9pZCBz
dG9wVGltaW5nKGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
Pik7CisgICAgdm9pZCBjb3VudChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPik7CisKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGFkZENvbnNvbGVNZXNzYWdlKFBhc3NP
d25QdHI8Q29uc29sZU1lc3NhZ2U+KTsKKworICAgIEluamVjdGVkU2NyaXB0TWFuYWdlciogbV9p
bmplY3RlZFNjcmlwdE1hbmFnZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvckNvbnNv
bGVGcm9udGVuZERpc3BhdGNoZXI+IG1fZnJvbnRlbmREaXNwYXRjaGVyOworICAgIFJlZlB0cjxJ
bnNwZWN0b3JDb25zb2xlQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7Cisg
ICAgQ29uc29sZU1lc3NhZ2UqIG1fcHJldmlvdXNNZXNzYWdlOworICAgIFZlY3RvcjxPd25QdHI8
Q29uc29sZU1lc3NhZ2U+PiBtX2NvbnNvbGVNZXNzYWdlczsKKyAgICBpbnQgbV9leHBpcmVkQ29u
c29sZU1lc3NhZ2VDb3VudDsKKyAgICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1fY291bnRz
OworICAgIEhhc2hNYXA8U3RyaW5nLCBkb3VibGU+IG1fdGltZXM7CisgICAgYm9vbCBtX2VuYWJs
ZWQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKKworI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCisKKyNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JDb25zb2xlQWdlbnRfaCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRI
b3N0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9i
amVjdENvbnNvbGVBZ2VudC5jcHAKc2ltaWxhcml0eSBpbmRleCA2MiUKY29weSBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmgKY29weSB0byBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVB
Z2VudC5jcHAKaW5kZXggNjU4MjE4OC4uMWZlMmU4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDI1
ICsyMywzMyBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIFBhZ2VJbmplY3RlZFNj
cmlwdEhvc3RfaAotI2RlZmluZSBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0X2gKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oIgogCiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikKIAotI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhv
c3QuaD4KK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CitKU0ds
b2JhbE9iamVjdENvbnNvbGVBZ2VudDo6SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQoSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0b3JD
b25zb2xlQWdlbnQoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQoreworfQogCi1jbGFzcyBQYWdlSW5q
ZWN0ZWRTY3JpcHRIb3N0IGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRI
b3N0IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQYWdlSW5qZWN0ZWRTY3JpcHRI
b3N0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGFnZUluamVjdGVkU2NyaXB0SG9z
dCk7IH0KK3ZvaWQgSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6OnNldE1vbml0b3JpbmdYSFJF
bmFibGVkKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgYm9vbCkKK3sKKyAgICAqZXJyb3JTdHJp
bmcgPSBBU0NJSUxpdGVyYWwoIk5vdCBzdXBwb3J0ZWQgZm9yIEphdmFTY3JpcHQgY29udGV4dCIp
OworfQogCi0gICAgdmlydHVhbCBKU0M6OkpTVmFsdWUgdHlwZShKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNWYWx1ZSkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBib29sIGlzSFRNTEFsbENvbGxlY3Rp
b24oSlNDOjpKU1ZhbHVlKSBvdmVycmlkZTsKLX07Cit2b2lkIEpTR2xvYmFsT2JqZWN0Q29uc29s
ZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50KQor
eworICAgICplcnJvclN0cmluZyA9IEFTQ0lJTGl0ZXJhbCgiTm90IHN1cHBvcnRlZCBmb3IgSmF2
YVNjcmlwdCBjb250ZXh0Iik7Cit9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK3ZvaWQgSlNH
bG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJyb3JTdHJp
bmcqIGVycm9yU3RyaW5nLCBpbnQpCit7CisgICAgKmVycm9yU3RyaW5nID0gQVNDSUlMaXRlcmFs
KCJOb3Qgc3VwcG9ydGVkIGZvciBKYXZhU2NyaXB0IGNvbnRleHQiKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCi0jZW5kaWYg
Ly8gIWRlZmluZWQoUGFnZUluamVjdGVkU2NyaXB0SG9zdF9oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgK
c2ltaWxhcml0eSBpbmRleCA1OCUKY29weSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Q
YWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmgKY29weSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oCmluZGV4IDY1ODIxODgu
LmU1ODVlYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0
ZWRTY3JpcHRIb3N0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMjUgKzIzLDMzIEBACiAgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogICovCiAKLSNpZm5kZWYgUGFnZUluamVjdGVkU2NyaXB0SG9zdF9oCi0jZGVmaW5lIFBhZ2VJ
bmplY3RlZFNjcmlwdEhvc3RfaAorI2lmbmRlZiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudF9o
CisjZGVmaW5lIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50X2gKIAogI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiAKLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0Lmg+CisjaW5j
bHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RT
Y3JpcHREZWJ1Z1NlcnZlci5oIgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAotY2xhc3MgUGFnZUluamVjdGVkU2NyaXB0SG9zdCBmaW5hbCA6IHB1YmxpYyBJ
bnNwZWN0b3I6OkluamVjdGVkU2NyaXB0SG9zdCB7CitjbGFzcyBKU0dsb2JhbE9iamVjdENvbnNv
bGVBZ2VudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JDb25zb2xlQWdlbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KTsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQYWdlSW5q
ZWN0ZWRTY3JpcHRIb3N0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGFnZUluamVj
dGVkU2NyaXB0SG9zdCk7IH0KKyAgICBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudChJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIqKTsKKyAgICB2aXJ0dWFsIH5KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2Vu
dCgpIHsgfQogCi0gICAgdmlydHVhbCBKU0M6OkpTVmFsdWUgdHlwZShKU0M6OkV4ZWNTdGF0ZSos
IEpTQzo6SlNWYWx1ZSkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBib29sIGlzSFRNTEFsbENvbGxl
Y3Rpb24oSlNDOjpKU1ZhbHVlKSBvdmVycmlkZTsKKyAgICAvLyBGSVhNRTogWEhScyBhbmQgTm9k
ZXMgb25seSBtYWtlcyBzZW5zZSBkZWJ1Z2dpbmcgYSBXZWIgY29udGV4dC4gQ2FuIHRoaXMgYmUg
bW92ZWQgdG8gYSBkaWZmZXJlbnQgYWdlbnQ/CisgICAgdmlydHVhbCB2b2lkIHNldE1vbml0b3Jp
bmdYSFJFbmFibGVkKEVycm9yU3RyaW5nKiwgYm9vbCBlbmFibGVkKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQpIG92
ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0ZWRIZWFwT2JqZWN0KEVycm9yU3Ry
aW5nKiwgaW50IGluc3BlY3RlZEhlYXBPYmplY3RJZCkgb3ZlcnJpZGU7CisKKyAgICB2aXJ0dWFs
IGJvb2wgaXNXb3JrZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8v
IEVOQUJMRShJTlNQRUNUT1IpCiAKLSNlbmRpZiAvLyAhZGVmaW5lZChQYWdlSW5qZWN0ZWRTY3Jp
cHRIb3N0X2gpCisjZW5kaWYgLy8gIWRlZmluZWQoSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnRf
aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pT
R2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IGQ0YzMy
ZDcuLjJlMTc1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNw
cApAQCAtMjksMTUgKzI5LDIwIEBACiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAogI2luY2x1ZGUg
IkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2Vu
dC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiU2NyaXB0QXJndW1l
bnRzLmgiCisjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCisjaW5jbHVkZSAiU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oIgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAotSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50OjpKU0dsb2JhbE9iamVjdERl
YnVnZ2VyQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIs
IEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKK0pTR2xvYmFsT2JqZWN0RGVidWdn
ZXJBZ2VudDo6SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdl
ciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLCBKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QsIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50KQogICAgIDogSW5zcGVjdG9y
RGVidWdnZXJBZ2VudChpbmplY3RlZFNjcmlwdE1hbmFnZXIpCiAgICAgLCBtX3NjcmlwdERlYnVn
U2VydmVyKGdsb2JhbE9iamVjdCkKKyAgICAsIG1fY29uc29sZUFnZW50KGNvbnNvbGVBZ2VudCkK
IHsKIH0KIApAQCAtNjIsNiArNjcsMTEgQEAgSW5qZWN0ZWRTY3JpcHQgSlNHbG9iYWxPYmplY3RE
ZWJ1Z2dlckFnZW50OjppbmplY3RlZFNjcmlwdEZvckV2YWwoRXJyb3JTdHJpbmcqIGUKICAgICBy
ZXR1cm4gaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKCktPmluamVjdGVkU2NyaXB0Rm9yKGV4ZWMpOwog
fQogCit2b2lkIEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxv
ZyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQoreworICAgIG1f
Y29uc29sZUFnZW50LT5hZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNz
YWdlVHlwZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkxvZywgbWVzc2FnZSwgY3JlYXRlU2NyaXB0Q2Fs
bFN0YWNrKGV4ZWMsIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSwg
dHJ1ZSksIDApOworfQorCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oCmlu
ZGV4IGE5ZmQ2NzkuLjQ0M2JmYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJB
Z2VudC5oCkBAIC0zMywxMSArMzMsMTMgQEAKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKK2Ns
YXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsKKwogY2xhc3MgSlNHbG9iYWxPYmplY3REZWJ1Z2dl
ckFnZW50IGZpbmFsIDogcHVibGljIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudCk7CiAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFn
ZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciosIEpTQzo6SlNHbG9iYWxPYmplY3QmKTsKKyAgICBK
U0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiwgSlNDOjpK
U0dsb2JhbE9iamVjdCYsIEluc3BlY3RvckNvbnNvbGVBZ2VudCopOwogICAgIHZpcnR1YWwgfkpT
R2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudCgpIHsgfQogCiAgICAgdmlydHVhbCBKU0dsb2JhbE9i
amVjdFNjcmlwdERlYnVnU2VydmVyJiBzY3JpcHREZWJ1Z1NlcnZlcigpIG92ZXJyaWRlIHsgcmV0
dXJuIG1fc2NyaXB0RGVidWdTZXJ2ZXI7IH0KQEAgLTQ2LDggKzQ4LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBzdG9wTGlzdGVuaW5nU2NyaXB0RGVidWdTZXJ2ZXIoYm9vbCBpc0JlaW5n
RGVzdHJveWVkKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIEluamVjdGVkU2NyaXB0IGluamVjdGVk
U2NyaXB0Rm9yRXZhbChFcnJvclN0cmluZyosIGNvbnN0IGludCogZXhlY3V0aW9uQ29udGV4dElk
KSBvdmVycmlkZTsKIAotICAgIC8vIEZJWE1FOiBUaGlzIG5lZWRzIGEgQ29uc29sZUFnZW50IHRv
IHNlbmQgYSBsb2cgdG8uCi0gICAgdmlydHVhbCB2b2lkIGJyZWFrcG9pbnRBY3Rpb25Mb2coSlND
OjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZSBmaW5hbCB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgYnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmlu
ZyYpIG92ZXJyaWRlIGZpbmFsOwogCiAgICAgLy8gRklYTUU6IEphdmFTY3JpcHQgaW5zcGVjdG9y
IGRvZXMgbm90IHlldCBoYXZlIGEgY29uc29sZSBvYmplY3QgdG8gbXV0ZS4KICAgICB2aXJ0dWFs
IHZvaWQgbXV0ZUNvbnNvbGUoKSBvdmVycmlkZSB7IH0KQEAgLTU1LDYgKzU2LDcgQEAgcHVibGlj
OgogCiBwcml2YXRlOgogICAgIEpTR2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXIgbV9zY3Jp
cHREZWJ1Z1NlcnZlcjsKKyAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIG1fY29uc29sZUFnZW50
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24Kc2ltaWxhcml0eSBpbmRleCA4NiUK
cmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNv
bgpyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25z
b2xlLmpzb24KaW5kZXggMzViZDExYS4uZmMzYzkwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbgpAQCAtMyw2ICszLDE2IEBACiAg
ICAgImRlc2NyaXB0aW9uIjogIkNvbnNvbGUgZG9tYWluIGRlZmluZXMgbWV0aG9kcyBhbmQgZXZl
bnRzIGZvciBpbnRlcmFjdGlvbiB3aXRoIHRoZSBKYXZhU2NyaXB0IGNvbnNvbGUuIENvbnNvbGUg
Y29sbGVjdHMgbWVzc2FnZXMgY3JlYXRlZCBieSBtZWFucyBvZiB0aGUgPGEgaHJlZj0naHR0cDov
L2dldGZpcmVidWcuY29tL3dpa2kvaW5kZXgucGhwL0NvbnNvbGVfQVBJJz5KYXZhU2NyaXB0IENv
bnNvbGUgQVBJPC9hPi4gT25lIG5lZWRzIHRvIGVuYWJsZSB0aGlzIGRvbWFpbiB1c2luZyA8Y29k
ZT5lbmFibGU8L2NvZGU+IGNvbW1hbmQgaW4gb3JkZXIgdG8gc3RhcnQgcmVjZWl2aW5nIHRoZSBj
b25zb2xlIG1lc3NhZ2VzLiBCcm93c2VyIGNvbGxlY3RzIG1lc3NhZ2VzIGlzc3VlZCB3aGlsZSBj
b25zb2xlIGRvbWFpbiBpcyBub3QgZW5hYmxlZCBhcyB3ZWxsIGFuZCByZXBvcnRzIHRoZW0gdXNp
bmcgPGNvZGU+bWVzc2FnZUFkZGVkPC9jb2RlPiBub3RpZmljYXRpb24gdXBvbiBlbmFibGluZy4i
LAogICAgICJ0eXBlcyI6IFsKICAgICAgICAgeworICAgICAgICAgICAgImlkIjogIkNvbnNvbGVO
ZXR3b3JrUmVxdWVzdElkIiwKKyAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCisgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiVW5pcXVlIHJlcXVlc3QgaWRlbnRpZmllci4gRklYTUU6IER1
cGxpY2F0ZSBvZiBOZXR3b3JrLlJlcXVlc3RJZCA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTI1NjY0
PiBXZWIgSW5zcGVjdG9yOiBGSVggVHlwZSBEZXBlbmRlbmN5IElzc3VlcyIKKyAgICAgICAgfSwK
KyAgICAgICAgeworICAgICAgICAgICAgImlkIjogIkNvbnNvbGVET01Ob2RlSWQiLAorICAgICAg
ICAgICAgInR5cGUiOiAiaW50ZWdlciIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5p
cXVlIERPTSBub2RlIGlkZW50aWZpZXIuIEZJWE1FOiBEdXBsaWNhdGUgb2YgRE9NLk5vZGVJZCA8
aHR0cHM6Ly93ZWJraXQub3JnL2IvMTI1NjY0PiBXZWIgSW5zcGVjdG9yOiBGSVggVHlwZSBEZXBl
bmRlbmN5IElzc3VlcyIKKyAgICAgICAgfSwKKyAgICAgICAgewogICAgICAgICAgICAgImlkIjog
IkNvbnNvbGVNZXNzYWdlIiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiQ29uc29sZSBtZXNzYWdlLiIsCkBAIC0xNyw3ICsyNyw3IEBA
CiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXBlYXRDb3VudCIsICJ0eXBlIjogImludGVn
ZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiUmVwZWF0IGNvdW50IGZvciBy
ZXBlYXRlZCBtZXNzYWdlcy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwYXJhbWV0
ZXJzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICIkcmVmIjogIlJ1bnRpbWUuUmVtb3Rl
T2JqZWN0IiB9LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiTWVzc2FnZSBwYXJh
bWV0ZXJzIGluIGNhc2Ugb2YgdGhlIGZvcm1hdHRlZCBtZXNzYWdlLiIgfSwKICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInN0YWNrVHJhY2UiLCAiJHJlZiI6ICJTdGFja1RyYWNlIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkphdmFTY3JpcHQgc3RhY2sgdHJhY2UgZm9yIGFz
c2VydGlvbnMgYW5kIGVycm9yIG1lc3NhZ2VzLiIgfSwKLSAgICAgICAgICAgICAgICB7ICJuYW1l
IjogIm5ldHdvcmtSZXF1ZXN0SWQiLCAiJHJlZiI6ICJOZXR3b3JrLlJlcXVlc3RJZCIsICJvcHRp
b25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJJZGVudGlmaWVyIG9mIHRoZSBuZXR3b3JrIHJl
cXVlc3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbWVzc2FnZS4iIH0KKyAgICAgICAgICAgICAgICB7
ICJuYW1lIjogIm5ldHdvcmtSZXF1ZXN0SWQiLCAiJHJlZiI6ICJDb25zb2xlTmV0d29ya1JlcXVl
c3RJZCIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJJZGVudGlmaWVyIG9mIHRo
ZSBuZXR3b3JrIHJlcXVlc3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbWVzc2FnZS4iIH0KICAgICAg
ICAgICAgIF0KICAgICAgICAgfSwKICAgICAgICAgewpAQCAtNjEsNyArNzEsNyBAQAogICAgICAg
ICB7CiAgICAgICAgICAgICAibmFtZSI6ICJhZGRJbnNwZWN0ZWROb2RlIiwKICAgICAgICAgICAg
ICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRy
ZWYiOiAiRE9NLk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJET00gbm9kZSBpZCB0byBiZSBhY2Nl
c3NpYmxlIGJ5IG1lYW5zIG9mICR4IGNvbW1hbmQgbGluZSBBUEkuIiB9CisgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJDb25zb2xlRE9NTm9kZUlkIiwgImRlc2Ny
aXB0aW9uIjogIkRPTSBub2RlIGlkIHRvIGJlIGFjY2Vzc2libGUgYnkgbWVhbnMgb2YgJHggY29t
bWFuZCBsaW5lIEFQSS4iIH0KICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAiZGVzY3JpcHRp
b24iOiAiRW5hYmxlcyBjb25zb2xlIHRvIHJlZmVyIHRvIHRoZSBub2RlIHdpdGggZ2l2ZW4gaWQg
dmlhICR4IChzZWUgQ29tbWFuZCBMaW5lIEFQSSBmb3IgbW9yZSBkZXRhaWxzICR4IGZ1bmN0aW9u
cykuIgogICAgICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5IGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWNvbWJpbmVkLWluc3Bl
Y3Rvci1qc29uLnB5CmluZGV4IGRiMTYzYmYuLjUzNjYwMzEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0
b3ItanNvbi5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
Z2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkKQEAgLTY2LDMgKzY2LDQgQEAgZm9y
IGZpbGUgaW4gZmlsZXM6CiAKICAgICBwcmludChzdHJpbmcucnN0cmlwKCkpCiBwcmludCgiXX0i
KQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDQ4NzFkNjYuLmUwZTkwMDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC03NjEsNyArNzYxLDYgQEAgc2V0KFdlYkNvcmVfSU5TUEVDVE9SX0RPTUFJ
TlMKICAgICBpbnNwZWN0b3IvcHJvdG9jb2wvQXBwbGljYXRpb25DYWNoZS5qc29uCiAgICAgaW5z
cGVjdG9yL3Byb3RvY29sL0NTUy5qc29uCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZhcy5q
c29uCi0gICAgaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbgogICAgIGluc3BlY3Rvci9w
cm90b2NvbC9ET00uanNvbgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9ET01EZWJ1Z2dlci5qc29u
CiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0RPTVN0b3JhZ2UuanNvbgpAQCAtMTU2OCwxNiArMTU2
NywxMyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBpbnNwZWN0b3IvQ29tbWFuZExpbmVB
UElIb3N0LmNwcAogICAgIGluc3BlY3Rvci9Db21tYW5kTGluZUFQSU1vZHVsZS5jcHAKLSAgICBp
bnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCiAgICAgaW5zcGVjdG9yL0RPTUVkaXRvci5jcHAK
ICAgICBpbnNwZWN0b3IvRE9NUGF0Y2hTdXBwb3J0LmNwcAotICAgIGluc3BlY3Rvci9JZGVudGlm
aWVyc0ZhY3RvcnkuY3BwCiAgICAgaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxl
LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JDYW52YXNBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmNwcAotICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckNvdW50ZXJzLmNwcAog
ICAgIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTE2MTEsMTAgKzE2MDcsOCBA
QCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhv
c3QuY3BwCiAgICAgaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCiAgICAg
aW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdlbnQuY3BwCi0gICAgaW5zcGVjdG9yL1NjcmlwdEFyZ3Vt
ZW50cy5jcHAKLSAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcAotICAgIGluc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2suY3BwCiAgICAgaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9y
eS5jcHAKKyAgICBpbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9X
ZWJEZWJ1Z2dlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3Bw
CiAgICAgaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTIw
YTYyMS4uZDNiNzRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3NCBAQAorMjAxNC0wMi0wMyAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk0MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICAgLSBNb3ZlIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudCBhbmQgZGVwZW5kZW5jaWVzIHRvIEphdmFTY3JpcHRDb3JlCisgICAg
ICAgICAgICBhbmQgaW50byB0aGUgSW5zcGVjdG9yIG5hbWVzcGFjZS4KKyAgICAgICAgICAtIFVw
ZGF0ZSBDb25zb2xlIE1lc3NhZ2UgZW51bSB0eXBlcyB0byBlbnVtIGNsYXNzZXMgYW5kIHVwZGF0
ZQorICAgICAgICAgICAgYWxsIHVzZXJzIHRvIHRoZSBuZXcsIHNpbXBsZXIgbmFtZXMuCisgICAg
ICAgICAgLSBTaW5jZSB3ZSBhcmUgdXBkYXRpbmcgYWRkQ29uc29sZU1lc3NhZ2UgY2FsbHNpdGVz
IGFueXdheXMsIGFkZAorICAgICAgICAgICAgQVNDSUlMaXRlcmFsIHdoZXJlIGFwcHJvcHJpYXRl
LgorICAgICAgICAgIC0gQWRkIFdlYkNvbnNvbGVBZ2VudCBiYXNlIG9mIFBhZ2UvV29ya2VyIENv
bnNvbGVBZ2VudCB0byBpbXBsZW1lbnQKKyAgICAgICAgICAgIHdoYXQgY291bGQgbm90IGJlIHB1
c2hlZCBpbnRvIEphdmFTY3JpcHRDb3JlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVy
cy9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGlu
Z0hlYWRlcnMvaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3
YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5Lmg6IEFkZGVkLgorICAg
ICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaDogQWRk
ZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFt
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0
Q2FsbFN0YWNrLmg6IEFkZGVkLgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg6IEFkZGVkLgorICAgICAgICAqIEZvcndhcmRpbmdI
ZWFkZXJzL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6IEFkZGVkLgor
ICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgIEFkZCAvIHJlbW92ZSBmaWxlcyBmcm9tIGJ1aWxkcy4KKworICAgICAgICAqIGlu
c3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV2ViQ29uc29s
ZUFnZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6Oldl
YkNvbnNvbGVBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6OnNldE1v
bml0b3JpbmdYSFJFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2VudDo6
ZnJhbWVXaW5kb3dEaXNjYXJkZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50
OjpkaWRGaW5pc2hYSFJMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2Vu
dDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2Vu
dDo6ZGlkRmFpbExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50Ojph
ZGRJbnNwZWN0ZWRIZWFwT2JqZWN0KToKKyAgICAgICAgSW1wbGVtZW50IHdoYXQgY291bGQgbm90
IGJlIHB1c2hlZCBkb3duIGludG8gSmF2YVNjcmlwdENvcmUuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGlu
Z0FnZW50czo6d2ViQ29uc29sZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRp
bmdBZ2VudHM6OnNldFdlYkNvbnNvbGVBZ2VudCk6CisgICAgICAgIEhvbGQgYSBXZWJDb25zb2xl
QWdlbnQgaW5zdGVhZCBvZiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuCisKKyAgICAgICAgKiBNb2R1
bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dRdW90YTo6d2Via2l0U3RvcmFnZUluZm8pOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6bG9vcGluZyk6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OnNldExvb3BpbmcpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL1Bhbm5lck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFubmVyTm9kZTo6c2V0UGFu
bmluZ01vZGVsKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZUJhc2U6OmxvZ0Vycm9yTWVzc2FnZSk6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGF0YWJhc2VNYW5hZ2VyOjpsb2dFcnJvck1lc3NhZ2UpOgorICAgICAgICAq
IE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
U29ja2V0Ojpjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6c2VuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlNvY2tldDo6c2V0QmluYXJ5VHlwZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6
ZmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpkaWRGYWlsU29ja2V0
U3RyZWFtKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtl
LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNBdWRpb0NvbnRleHRDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNBdWRpb0NvbnRleHRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNBdWRp
b0NvbnRleHQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBO
YW1lc3BhY2VVUkkpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHA6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SlNTdWJ0bGVDcnlwdG86OmVuY3J5cHQpOgorICAgICAgICAoV2ViQ29yZTo6SlNT
dWJ0bGVDcnlwdG86OmRlY3J5cHQpOgorICAgICAgICAoV2ViQ29yZTo6SlNTdWJ0bGVDcnlwdG86
OnNpZ24pOgorICAgICAgICAoV2ViQ29yZTo6SlNTdWJ0bGVDcnlwdG86OnZlcmlmeSk6CisgICAg
ICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6d3JhcEtleSk6CisgICAgICAgIChXZWJDb3Jl
OjpKU1N1YnRsZUNyeXB0bzo6dW53cmFwS2V5KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNh
bkV4ZWN1dGVTY3JpcHRzKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlQ2FsbFdpdGgpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpsb2dFcnJvcik6CisgICAgICAgICog
Y3NzL01lZGlhTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphZGRSZXNvbHV0aW9uV2Fybmlu
Z01lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50Ojpwcm9jZXNzSHR0cEVxdWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjphZGRNZXNzYWdlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAg
KiBkb20vU2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50
OjpleGVjdXRlU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6Cisg
ICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBkb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmlld3BvcnRFcnJvck1lc3Nh
Z2VMZXZlbCk6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRWaWV3cG9ydFdhcm5pbmcpOgorICAg
ICAgICAqIGZpbGVhcGkvQmxvYi5jcHA6CisgICAgICAgICogZmlsZWFwaS9XZWJLaXRCbG9iQnVp
bGRlci5jcHA6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnNob3VsZEF1dG9mb2N1cyk6CisgICAgICAgICogaHRtbC9IVE1MRm9y
bUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50Ojp2YWxpZGF0
ZUludGVyYWN0aXZlbHkpOgorICAgICAgICAqIGh0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTElGcmFtZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAg
ICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ6OmdldEltYWdlRGF0YSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dDo6cHJpbnRXYXJuaW5nVG9Db25zb2xlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9Y
U1NBdWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0b3I6OmluaXQpOgorICAg
ICAgICAqIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpYU1NBdWRpdG9yRGVsZWdhdGU6OmRpZEJsb2NrU2NyaXB0KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29tbWFu
ZExpbmVBUElIb3N0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDb21tYW5kTGluZUFQSUhvc3Q6Omlu
aXQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHA6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQ291bnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdG9wQ29uc29s
ZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNv
bnNvbGVUaW1lU3RhbXApOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRQcm9maWxlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JD
b250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVXaW5kb3dEaXNjYXJkZWRJbXBsKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVJlc291
cmNlUmVzcG9uc2VJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkRmFpbExvYWRpbmdJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkRmluaXNoWEhSTG9hZGluZ0ltcGwpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21taXRMb2FkSW1wbCk6CisgICAgICAg
IChXZWJDb3JlOjppc0NvbnNvbGVBc3NlcnRNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZUltcGwpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQ291bnRJbXBsKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RhcnRDb25zb2xl
VGltaW5nSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OnN0b3BDb25zb2xlVGltaW5nSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmNvbnNvbGVBZ2VudEVuYWJsZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
TGF5ZXJUcmVlQWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdl
bnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmFkZFByb2ZpbGVGaW5p
c2hlZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUHJvZmls
ZXJBZ2VudDo6YWRkU3RhcnRQcm9maWxpbmdNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJl
c291cmNlQWdlbnQ6OmJ1aWxkSW5pdGlhdG9yT2JqZWN0KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3RydW1l
bnRpbmdBZ2VudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6
SW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdl
bnRzOjpyZXNldCk6CisgICAgICAgICogaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbnNvbGVBZ2VudDo6UGFnZUNvbnNvbGVBZ2VudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uc29sZUFnZW50OjpjbGVhck1lc3NhZ2VzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZE5vZGUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1Bh
Z2VEZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VEZWJ1Z2dlckFnZW50
OjpicmVha3BvaW50QWN0aW9uTG9nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZUluamVjdGVk
U2NyaXB0SG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmg6CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNv
cmQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50Ojp+V2ViQ29uc29sZUFnZW50
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlckNvbnNvbGVBZ2VudDo6V29ya2VyQ29uc29sZUFnZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OldvcmtlckNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckRlYnVn
Z2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2cpOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckluc3Bl
Y3RvckNvbnRyb2xsZXI6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAqIGxv
YWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRl
cjo6cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzdWJtaXRGb3JtKToKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRGYWlsZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXI6OmhhbmRsZUJlZm9yZVVubG9hZEV2ZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lTG9hZGVyOjpzaG91bGRJbnRlcnJ1cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyk6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVXaW5kb3cpOgorICAgICAgICAqIGxvYWRlci9JbWFn
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6bm90aWZ5RmluaXNo
ZWQpOgorICAgICAgICAqIGxvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1peGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmcpOgorICAgICAgICAqIGxv
YWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9h
ZGVyOjpjb3JzUG9saWN5UHJldmVudGVkTG9hZCk6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlv
bkNhY2hlR3JvdXA6OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVH
cm91cDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNh
dGlvbkNhY2hlR3JvdXA6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25D
YWNoZUdyb3VwOjpkaWRSZWNlaXZlTWFuaWZlc3RSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZEZpbmlzaExvYWRpbmdNYW5pZmVzdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmNoZWNrSWZMb2FkSXNDb21wbGV0
ZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludEFjY2Vzc0RlbmllZE1l
c3NhZ2UpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogcGFnZS9D
b25zb2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmludGVybmFsQWRkTWVzc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDb25zb2xlOjpkZWJ1Zyk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xl
OjplcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpsb2cpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29uc29sZTo6d2Fybik6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpkaXIpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6ZGlyeG1sKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
bnNvbGU6OnRhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmNsZWFyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnNvbGU6OnRyYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6
OmFzc2VydENvbmRpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpncm91cCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpncm91cENvbGxhcHNlZCk6CisgICAgICAgIChXZWJD
b3JlOjpDb25zb2xlOjpncm91cEVuZCk6CisgICAgICAgICogcGFnZS9Db25zb2xlLmg6CisgICAg
ICAgICogcGFnZS9Db25zb2xlVHlwZXMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBwYWdlL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OnJlcG9ydFZpb2xhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJp
dHlQb2xpY3k6OmxvZ1RvQ29uc29sZSk6CisgICAgICAgICogcGFnZS9ET01TZWN1cml0eVBvbGlj
eS5jcHA6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93Ojpwb3N0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmRp
c3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpwcmludEVycm9y
TWVzc2FnZSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0V2
ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpkaWRSZWNlaXZl
UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZEZhaWxBY2Nlc3ND
b250cm9sQ2hlY2spOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbnNvbGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZUNvbnNvbGU6OnByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KToK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlOjphZGRNZXNzYWdlKToKKyAgICAgICAgKiBw
YWdlL1BhZ2VDb25zb2xlLmg6CisgICAgICAgICogcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9p
bnRlckxvY2spOgorICAgICAgICAqIHBsYXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL3NoYXBlcy9TaGFwZUluZm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y2hlY2tTaGFwZUltYWdlT3JpZ2luKToKKyAgICAgICAgKiBzdmcvU1ZHRG9jdW1lbnRFeHRlbnNp
b25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydE1lc3NhZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZXBvcnRXYXJuaW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVwb3J0RXJyb3IpOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Y29uc29s
ZU1lc3NhZ2VBcmd1bWVudENvdW50cyk6CisgICAgICAgICogd29ya2Vycy9EZWZhdWx0U2hhcmVk
V29ya2VyUmVwb3NpdG9yeS5jcHA6CisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9i
YWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6
bG9nRXhjZXB0aW9uVG9Db25zb2xlKToKKyAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlckds
b2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6YWRkTWVzc2FnZVRvV29ya2VyQ29u
c29sZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyUmVwb3J0aW5nUHJveHkuaDoKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6bG9nQ29uc29sZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlhN
TEh0dHBSZXF1ZXN0OjpzZW5kKToKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNMVFByb2Nlc3Nvcjo6cGFyc2VFcnJvckZ1bmMpOgor
CiAyMDE0LTAyLTAzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIENhY2hlZEltYWdlTWFudWFsIGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCA3OTFhOGM3Li5hYTM0ZTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTEwOTksNyArMTA5OSw2IEBAIElOU1BFQ1RPUl9ET01BSU5TID0gXAogICAgICQoV2Vi
Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0FwcGxpY2F0aW9uQ2FjaGUuanNvbiBcCiAgICAgJChX
ZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1NTLmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5z
cGVjdG9yL3Byb3RvY29sL0NhbnZhcy5qc29uIFwKLSAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9w
cm90b2NvbC9Db25zb2xlLmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29s
L0RPTS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9ET01EZWJ1Z2dl
ci5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9ET01TdG9yYWdlLmpz
b24gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9p
bnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5jZDU3ZDE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAgLTAsMCArMSw0IEBACisjaWZu
ZGVmIFdlYkNvcmVfRldEX0NvbnNvbGVNZXNzYWdlX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfQ29u
c29sZU1lc3NhZ2VfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVNZXNzYWdlLmg+
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2lu
c3BlY3Rvci9Db25zb2xlVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJz
L2luc3BlY3Rvci9Db25zb2xlVHlwZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi43YjcyOWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRl
ZiBXZWJDb3JlX0ZXRF9Db25zb2xlVHlwZXNfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9Db25zb2xl
VHlwZXNfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVUeXBlcy5oPgorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3Iv
SWRlbnRpZmllcnNGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9p
bnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uOGExMzViNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Zvcndh
cmRpbmdIZWFkZXJzL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaApAQCAtMCwwICsxLDQg
QEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSWRlbnRpZmllcnNGYWN0b3J5X2gKKyNkZWZpbmUgV2Vi
Q29yZV9GV0RfSWRlbnRpZmllcnNGYWN0b3J5X2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9J
ZGVudGlmaWVyc0ZhY3RvcnkuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Rm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIGIvU291cmNlL1dl
YkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1YTZmOTgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0QXJndW1l
bnRzLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX1NjcmlwdEFyZ3VtZW50
c19oCisjZGVmaW5lIFdlYkNvcmVfRldEX1NjcmlwdEFyZ3VtZW50c19oCisjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvU2NyaXB0QXJndW1lbnRzLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaCBi
L1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJh
bWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzY3ODU4Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1Nj
cmlwdENhbGxGcmFtZS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9TY3Jp
cHRDYWxsRnJhbWVfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHRDYWxsRnJhbWVfaAorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdENhbGxGcmFtZS5oPgorI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbFN0YWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Q5N2Y3
ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2lu
c3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29y
ZV9GV0RfU2NyaXB0Q2FsbFN0YWNrX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0Q2FsbFN0
YWNrX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFk
ZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uNDQxZTdjNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgK
QEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX1NjcmlwdENhbGxTdGFja0ZhY3Rv
cnlfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5X2gKKyNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVh
ZGVycy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmZWNlYWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNv
bnNvbGVBZ2VudC5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9JbnNwZWN0
b3JDb25zb2xlQWdlbnRfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9JbnNwZWN0b3JDb25zb2xlQWdl
bnRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oPgor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDIzYzg5NGQuLjY0YjU4MzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCkBAIC0zMzksNyArMzM5LDYgQEAgV2ViQ29yZV9JTlNQRUNUT1JfRE9NQUlO
UyA6PSBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQXBwbGljYXRpb25DYWNo
ZS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9DU1MuanNvbiBcCiAg
ICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQ2FudmFzLmpzb24gXAotICAgICQoV2Vi
Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbiBcCiAgICAgJChXZWJDb3JlKS9p
bnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3By
b3RvY29sL0RPTURlYnVnZ2VyLmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3Rv
Y29sL0RPTVN0b3JhZ2UuanNvbiBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAz
MWQ0NDJhLi4yNTA1MmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI0Mzks
OCArMjQzOSw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NoZWR1bGVkQWN0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENhY2hlZEZyYW1lRGF0YS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENhY2hlZEZyYW1lRGF0YS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRIZWFwU25hcHNo
b3QuaCBcCkBAIC0zNzQ5LDE1ICszNzQ3LDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuaCBcCi0JU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3Nh
Z2UuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0RPTVBhdGNoU3VwcG9ydC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01Q
YXRjaFN1cHBvcnQuaCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFj
dG9yeS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3Rvcnku
aCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9k
dWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuY3BwIFwKQEAgLTM3NjksOCArMzc2Miw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggXAotCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb3VudGVycy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb3VudGVycy5oIFwKQEAgLTM4NDMsMTQgKzM4MzQsMTAgQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0
TWFuYWdlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmggXAotCVNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwIFwKLQlTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmggXAotCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmggXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3Rh
Y2suY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggXAog
CVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggXAorCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9XZWJEZWJ1Z2dlckFnZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkRl
YnVnZ2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVB
Z2VudC5jcHAgXApAQCAtNDA1OSw3ICs0MDQ2LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnNvbGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaCBcCi0JU291cmNl
L1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZW50U2VjdXJpdHlQb2xpY3kuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50Lmgg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKaW5k
ZXggZjZlYTMwZS4uOTFhNzdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQ3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJDdXJzb3IuY3BwCkBAIC0zNyw4ICszNyw4IEBACiAjaW5jbHVkZSAiSURCUmVxdWVz
dC5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgot
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVk
ZSA8bGltaXRzPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKaW5kZXggNDAxMTE5YS4uODNlNDdkZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNw
cApAQCAtNDQsOSArNDQsOSBAQAogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCiAjaW5jbHVk
ZSAiSURCVmVyc2lvbkNoYW5nZUV2ZW50LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1
ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKICNpbmNsdWRlIDxhdG9taWM+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5oPgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAK
aW5kZXggNWQyZjNmOC4uYTUwYTAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1
ZGUgIklEQk9wZW5EQlJlcXVlc3QuaCIKICNpbmNsdWRlICJJREJQZW5kaW5nVHJhbnNhY3Rpb25N
b25pdG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFj
ay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5k
b3dRdW90YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3Rh
LmNwcAppbmRleCBlYTNkNjU5Li5hM2YxZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcApAQCAtNzUsNyArNzUsNyBAQCBTdG9yYWdlSW5m
byogRE9NV2luZG93UXVvdGE6OndlYmtpdFN0b3JhZ2VJbmZvKERPTVdpbmRvdyogd2luZG93KQog
U3RvcmFnZUluZm8qIERPTVdpbmRvd1F1b3RhOjp3ZWJraXRTdG9yYWdlSW5mbygpIGNvbnN0CiB7
CiAgICAgaWYgKCFtX3N0b3JhZ2VJbmZvICYmIGZyYW1lKCkpIHsKLSAgICAgICAgZnJhbWUoKS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVz
c2FnZUxldmVsLCAid2luZG93LndlYmtpdFN0b3JhZ2VJbmZvIGlzIGRlcHJlY2F0ZWQuIFVzZSBu
YXZpZ2F0b3Iud2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBvciBuYXZpZ2F0b3Iud2Via2l0UGVyc2lz
dGVudFN0b3JhZ2UgaW5zdGVhZC4iKTsKKyAgICAgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywg
IndpbmRvdy53ZWJraXRTdG9yYWdlSW5mbyBpcyBkZXByZWNhdGVkLiBVc2UgbmF2aWdhdG9yLndl
YmtpdFRlbXBvcmFyeVN0b3JhZ2Ugb3IgbmF2aWdhdG9yLndlYmtpdFBlcnNpc3RlbnRTdG9yYWdl
IGluc3RlYWQuIik7CiAgICAgICAgIG1fc3RvcmFnZUluZm8gPSBTdG9yYWdlSW5mbzo6Y3JlYXRl
KCk7CiAgICAgfQogICAgIHJldHVybiBtX3N0b3JhZ2VJbmZvLmdldCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUu
Y3BwCmluZGV4IDhlZTZkNjEuLjk5NTE4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKQEAgLTMyLDEw
ICszMiwxMCBAQAogI2luY2x1ZGUgIkF1ZGlvTm9kZU91dHB1dC5oIgogI2luY2x1ZGUgIkF1ZGlv
VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCi0jaW5jbHVkZSAiU2Ny
aXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CisjaW5jbHVk
ZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CkBAIC00NjAsNyArNDYwLDcgQEAgYm9vbCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6Omxv
b3BpbmcoKQogewogICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9IHRydWU7CiAgICAgaWYgKGZp
cnN0VGltZSAmJiBjb250ZXh0KCkgJiYgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpIHsKLSAgICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENv
bnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlv
QnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2Ug
J2xvb3AnIGluc3RlYWQuIik7CisgICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVs
OjpXYXJuaW5nLCAiQXVkaW9CdWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMg
ZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4iKTsKICAgICAgICAgZmlyc3RUaW1lID0g
ZmFsc2U7CiAgICAgfQogCkBAIC00NzEsNyArNDcxLDcgQEAgdm9pZCBBdWRpb0J1ZmZlclNvdXJj
ZU5vZGU6OnNldExvb3BpbmcoYm9vbCBsb29waW5nKQogewogICAgIHN0YXRpYyBib29sIGZpcnN0
VGltZSA9IHRydWU7CiAgICAgaWYgKGZpcnN0VGltZSAmJiBjb250ZXh0KCkgJiYgY29udGV4dCgp
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgY29udGV4dCgpLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2Fy
bmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmli
dXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7CisgICAgICAgIGNvbnRl
eHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
ICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4i
KTsKICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggNDg1NGZmMC4uYWMy
MjUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Nv
bnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmNwcApAQCAtNTUsNyArNTUsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQ
YW5uZXJOb2RlLmgiCiAjaW5jbHVkZSAiUGVyaW9kaWNXYXZlLmgiCi0jaW5jbHVkZSAiU2NyaXB0
Q2FsbFN0YWNrLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2lu
Y2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9jZXNzb3JOb2Rl
LmgiCiAjaW5jbHVkZSAiV2F2ZVNoYXBlck5vZGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCmluZGV4IDE3YmYxMzAuLjkwMjc2NTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcApAQCAtMjA1
LDcgKzIwNSw3IEBAIGJvb2wgUGFubmVyTm9kZTo6c2V0UGFubmluZ01vZGVsKHVuc2lnbmVkIG1v
ZGVsKQogICAgICAgICBicmVhazsKICAgICBjYXNlIFNPVU5ERklFTEQ6CiAgICAgICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQgc291bmQgZmllbGQgbW9kZWwuIFNlZSAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjcuCi0gICAgICAgIGNvbnRleHQoKS0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdh
cm5pbmdNZXNzYWdlTGV2ZWwsICInc291bmRmaWVsZCcgcGFubmluZyBtb2RlbCBub3QgaW1wbGVt
ZW50ZWQuIik7CisgICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5n
LCAiJ3NvdW5kZmllbGQnIHBhbm5pbmcgbW9kZWwgbm90IGltcGxlbWVudGVkLiIpOwogICAgICAg
ICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAKaW5kZXgg
YWYyMzc3YS4uNWYxMGJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcApAQCAtNDYsNyArNDYsNyBAQCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBEYXRhYmFzZUJhc2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAog
CiB2b2lkIERhdGFiYXNlQmFzZTo6bG9nRXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKIHsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKFN0
b3JhZ2VNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpT
dG9yYWdlLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IDBiNjBjOTYuLjFmMDI1YWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5j
cHAKQEAgLTQ2Nyw3ICs0NjcsNyBAQCB2b2lkIERhdGFiYXNlTWFuYWdlcjo6aW50ZXJydXB0QWxs
RGF0YWJhc2VzRm9yQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogCiB2b2lkIERh
dGFiYXNlTWFuYWdlcjo6bG9nRXJyb3JNZXNzYWdlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBjb250ZXh0LT5hZGRDb25zb2xl
TWVzc2FnZShTdG9yYWdlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2Up
OworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlN0b3JhZ2Us
IE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3Bw
CmluZGV4IDcyYjE5MmEuLjgzNGMwNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC00OCwxMiArNDgsMTIgQEAKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIK
LSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNlY3Vy
aXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCIKICNp
bmNsdWRlICJXZWJTb2NrZXRDaGFubmVsLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDxy
dW50aW1lL0FycmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC0y
MTQsMjYgKzIxNCwyNiBAQCB2b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29scywgRXhjZQogICAgIG1fdXJsID0gVVJM
KFVSTCgpLCB1cmwpOwogCiAgICAgaWYgKCFtX3VybC5pc1ZhbGlkKCkpIHsKLSAgICAgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IEVycm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwu
c3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOworICAgICAgICBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5n
Q2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwog
ICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBp
ZiAoIW1fdXJsLnByb3RvY29sSXMoIndzIikgJiYgIW1fdXJsLnByb3RvY29sSXMoIndzcyIpKSB7
Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVybCBzY2hlbWUgZm9yIFdl
YlNvY2tldCAiICsgbV91cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOworICAg
ICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiV3JvbmcgdXJsIHNjaGVtZSBmb3IgV2Vi
U29ja2V0ICIgKyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAgICAg
ICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICBpZiAobV91cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpIHsK
LSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiVVJMIGhhcyBmcmFnbWVudCBjb21wb25l
bnQgIiArIG1fdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpKTsKKyAgICAgICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIlVSTCBoYXMgZnJhZ21lbnQgY29tcG9uZW50ICIg
KyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAgICAgICAgIG1fc3Rh
dGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICBpZiAoIXBvcnRBbGxvd2VkKG1fdXJsKSkgewotICAgICAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcG9ydCAiICsgU3RyaW5nOjpudW1iZXIobV91cmwucG9y
dCgpKSArICIgYmxvY2tlZCIpOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAi
V2ViU29ja2V0IHBvcnQgIiArIFN0cmluZzo6bnVtYmVyKG1fdXJsLnBvcnQoKSkgKyAiIGJsb2Nr
ZWQiKTsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgZWMgPSBTRUNVUklUWV9F
UlI7CiAgICAgICAgIHJldHVybjsKQEAgLTI2NCw3ICsyNjQsNyBAQCB2b2lkIFdlYlNvY2tldDo6
Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29s
cywgRXhjZQogICAgIC8vIGNvbXBseSB3aXRoIFdlYlNvY2tldCBBUEkgc3BlY2lmaWNhdGlvbiwg
YnV0IGl0IHNlZW1zIHRvIGJlIHRoZSBvbmx5IHJlYXNvbmFibGUgd2F5IHRvIGhhbmRsZSB0aGlz
IGNvbmZsaWN0LgogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvdG9jb2xzLnNpemUoKTsg
KytpKSB7CiAgICAgICAgIGlmICghaXNWYWxpZFByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkp
IHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3RvY29sIGZv
ciBXZWJTb2NrZXQgJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsgIici
KTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJXcm9uZyBwcm90b2Nv
bCBmb3IgV2ViU29ja2V0ICciICsgZW5jb2RlUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ldKSAr
ICInIik7CiAgICAgICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICAgICAgZWMgPSBT
WU5UQVhfRVJSOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjczLDcgKzI3Myw3IEBAIHZvaWQg
V2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgSGFzaFNldDxTdHJpbmc+IHZpc2l0ZWQ7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBwcm90b2NvbHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYg
KCF2aXNpdGVkLmFkZChwcm90b2NvbHNbaV0pLmlzTmV3RW50cnkpIHsKLSAgICAgICAgICAgIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBwcm90b2NvbHMgY29udGFpbiBkdXBsaWNh
dGVzOiAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkgKyAiJyIpOworICAg
ICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldlYlNvY2tldCBwcm90b2NvbHMg
Y29udGFpbiBkdXBsaWNhdGVzOiAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tp
XSkgKyAiJyIpOwogICAgICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgICAgIGVj
ID0gU1lOVEFYX0VSUjsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTMwNSw3ICszMDUsNyBAQCB2
b2lkIFdlYlNvY2tldDo6c2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogICAgIEFTU0VSVChtX2NoYW5uZWwpOwogICAgIFRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsOjpTZW5kUmVzdWx0IHJlc3VsdCA9IG1fY2hhbm5lbC0+c2VuZChtZXNzYWdlKTsKICAgICBp
ZiAocmVzdWx0ID09IFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpJbnZhbGlkTWVzc2FnZSkg
ewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJzb2NrZXQgbWVzc2FnZSBjb250
YWlucyBpbnZhbGlkIGNoYXJhY3RlcihzKS4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVs
OjpFcnJvciwgIldlYnNvY2tldCBtZXNzYWdlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyKHMp
LiIpOwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC0zNzgsNyArMzc4LDcgQEAgdm9pZCBXZWJTb2NrZXQ6OmNsb3NlKGludCBjb2RlLCBjb25zdCBT
dHJpbmcmIHJlYXNvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIH0KICAgICAgICAgQ1N0
cmluZyB1dGY4ID0gcmVhc29uLnV0ZjgoU3RyaWN0Q29udmVyc2lvblJlcGxhY2luZ1VucGFpcmVk
U3Vycm9nYXRlc1dpdGhGRkZEKTsKICAgICAgICAgaWYgKHV0ZjgubGVuZ3RoKCkgPiBtYXhSZWFz
b25TaXplSW5CeXRlcykgewotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2Vi
U29ja2V0IGNsb3NlIG1lc3NhZ2UgaXMgdG9vIGxvbmcuIik7CisgICAgICAgICAgICBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBN
ZXNzYWdlTGV2ZWw6OkVycm9yLCAiV2ViU29ja2V0IGNsb3NlIG1lc3NhZ2UgaXMgdG9vIGxvbmcu
Iik7CiAgICAgICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KQEAgLTQ0Myw3ICs0NDMsNyBAQCB2b2lkIFdlYlNvY2tldDo6c2V0QmluYXJ5VHlw
ZShjb25zdCBTdHJpbmcmIGJpbmFyeVR5cGUpCiAgICAgICAgIG1fYmluYXJ5VHlwZSA9IEJpbmFy
eVR5cGVBcnJheUJ1ZmZlcjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICInIiArIGJpbmFyeVR5cGUgKyAiJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBm
b3IgYmluYXJ5VHlwZTsgYmluYXJ5VHlwZSByZW1haW5zIHVuY2hhbmdlZC4iKTsKKyAgICBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpT
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiJyIgKyBiaW5hcnlUeXBlICsgIicgaXMgbm90IGEgdmFs
aWQgdmFsdWUgZm9yIGJpbmFyeVR5cGU7IGJpbmFyeVR5cGUgcmVtYWlucyB1bmNoYW5nZWQuIik7
CiB9CiAKIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIFdlYlNvY2tldDo6ZXZlbnRUYXJnZXRJbnRlcmZh
Y2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IDcxNjRlZGMuLjgxYzZmNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5j
cHAKQEAgLTQ4LDE0ICs0OCwxMiBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQcm9n
cmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNpbmNsdWRlICJT
Y3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAj
aW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTb2NrZXRTdHJlYW1FcnJvci5oIgogI2lu
Y2x1ZGUgIlNvY2tldFN0cmVhbUhhbmRsZS5oIgogI2luY2x1ZGUgIldlYlNvY2tldENoYW5uZWxD
bGllbnQuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRIYW5kc2hha2UuaCIKLQogI2luY2x1ZGUgPHJ1
bnRpbWUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3
dGYvRmFzdE1hbGxvYy5oPgpAQCAtMTk4LDcgKzE5Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5l
bDo6ZmFpbChjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBBU1NFUlQoIW1fc3VzcGVuZGVkKTsK
ICAgICBpZiAobV9kb2N1bWVudCkgewogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKG1fZG9jdW1lbnQsIG1faWRlbnRpZmllciwg
cmVhc29uKTsKLSAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTmV0d29ya01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8g
JyIgKyBtX2hhbmRzaGFrZS0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkg
KyAiJyBmYWlsZWQ6ICIgKyByZWFzb24pOworICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiV2Vi
U29ja2V0IGNvbm5lY3Rpb24gdG8gJyIgKyBtX2hhbmRzaGFrZS0+dXJsKCkuc3RyaW5nQ2VudGVy
RWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBmYWlsZWQ6ICIgKyByZWFzb24pOwogICAgIH0KIAog
ICAgIC8vIEh5YmktMTAgc3BlY2lmaWNhdGlvbiBleHBsaWNpdGx5IHN0YXRlcyB3ZSBtdXN0IG5v
dCBjb250aW51ZSB0byBoYW5kbGUgaW5jb21pbmcgZGF0YQpAQCAtMzM1LDcgKzMzMyw3IEBAIHZv
aWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkRmFpbFNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5k
bGUqIGhhbmRsZSwgY29uc3QgU29jCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1lc3NhZ2Ug
PSAiV2ViU29ja2V0IG5ldHdvcmsgZXJyb3I6ICIgKyBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlv
bigpOwogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2Nr
ZXRGcmFtZUVycm9yKG1fZG9jdW1lbnQsIG1faWRlbnRpZmllciwgbWVzc2FnZSk7Ci0gICAgICAg
IG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcmssIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3Nh
Z2UpOwogICAgIH0KICAgICBtX3Nob3VsZERpc2NhcmRSZWNlaXZlZERhdGEgPSB0cnVlOwogICAg
IGhhbmRsZS0+ZGlzY29ubmVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcAppbmRleCBlNjc4MmNmLi42ODZm
NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0SGFuZHNoYWtlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0SGFuZHNoYWtlLmNwcApAQCAtNDQsNyArNDQsNiBAQAogI2luY2x1ZGUgIlVSTC5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlIDx3dGYvQ3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Vz
ZUpTQy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCAyZGIwZmJkLi4x
MTYyOTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCkBAIC0xNTYsNyArMTU2LDYgQEAgbGlzdChBUFBFTkQg
V2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNw
cAogICAgIGJpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAKICAgICBiaW5kaW5ncy9qcy9T
Y3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwCi0gICAgYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeS5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAogICAgIGJp
bmRpbmdzL2pzL1NjcmlwdEdsb2JhbE9iamVjdC5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRQ
cm9maWxlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBkZmNhZjU1Li45NWIyOTRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjc3OCw3ICsyNzc4LDYgQEAgX19aTjdXZWJDb3JlMTlJbnNw
ZWN0b3JDb250cm9sbGVyMjZzZXRJbnNwZWN0b3JGcm9udGVuZENsaWVudEVOU3QzX18xMTB1bmlx
dWVfcHQKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjM5c2V0UmVzb3VyY2VzRGF0
YVNpemVMaW1pdHNGcm9tSW50ZXJuYWxzRWlpCiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRy
b2xsZXI0c2hvd0V2CiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXI1Y2xvc2VFdgot
X19aTjdXZWJDb3JlMjFJbnNwZWN0b3JDb25zb2xlQWdlbnQyOGNvbnNvbGVNZXNzYWdlQXJndW1l
bnRDb3VudHNFdgogX19aTjdXZWJDb3JlMjJpbnN0cnVtZW50YXRpb25Gb3JQYWdlRVBOU180UGFn
ZUUKIF9fWk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uMTdzX2Zyb250ZW5kQ291
bnRlckUKIF9fWk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uMjZpbnN0cnVtZW50
aW5nQWdlbnRzRm9yUGFnZUVQTlNfNFBhZ2VFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA1YjlmMGFmLi41YzI4ZmE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE3MjE2LDIw
ICsxNzIxNiw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAiPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNh
aXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZm
aXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3Vm
Zml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2lu
Q2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0
aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0
aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q29udHJvbGxlci5jcHAi
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTc1MDYs
MTQgKzE3NDkyLDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcQ29uc29sZU1lc3NhZ2UuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNh
aXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlv
bnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlv
bnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxET01FZGl0b3IuY3BwIj4KICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xNzUzMCwxNCArMTc1
MDgsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZS5j
cHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAg
LTE3NTc4LDE0ICsxNzU0OCw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAiPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xD
b21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNv
bnRyb2xsZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+CkBAIC0xNzg1OCwzMCArMTc4MjAsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRBcmd1bWVudHMuY3BwIj4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8
L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRD
YWxsRnJhbWUuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsU3RhY2suY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVj
dGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVj
dGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxUaW1lbGluZVJlY29yZEZhY3Rvcnku
Y3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBA
IC0xNzg5MCw2ICsxNzgyOCwxNCBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25zb2xlQWdlbnQuY3BwIj4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Jl
bGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGls
ZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJEZWJ1Z2dlckFnZW50
LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpA
QCAtMTg0OTYsNiArMTg0NDIsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNcaGVhcFxTbG90VmlzaXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxTdHJvbmdJbmxpbmVzLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXFdlYWsuaCIgLz4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxDb25z
b2xlTWVzc2FnZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNcaW5zcGVjdG9yXENvbnNvbGVUeXBlcy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXElkZW50aWZpZXJzRmFjdG9yeS5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9y
XEluamVjdGVkU2NyaXB0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJk
aW5nSGVhZGVyc1xpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRCYXNlLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcSW5qZWN0ZWRTY3Jp
cHRIb3N0LmgiIC8+CkBAIC0xODUxMSw3ICsxODQ2MCwxNCBAQAogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluc3BlY3RvckpTVHlwZUJ1aWxk
ZXJzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xp
bnNwZWN0b3JcSW5zcGVjdG9yVHlwZUJ1aWxkZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJbnNwZWN0b3JWYWx1ZXMuaCIgLz4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxT
Y3JpcHRBcmd1bWVudHMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRp
bmdIZWFkZXJzXGluc3BlY3RvclxTY3JpcHRCcmVha3BvaW50LmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0Q2FsbEZyYW1l
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNw
ZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxG
b3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFn
ZW50c1xJbnNwZWN0b3JBZ2VudC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
clxhZ2VudHNcSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JSdW50
aW1lQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFk
ZXJzXG1hc21cWDg2QXNzZW1ibGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxG
b3J3YXJkaW5nSGVhZGVyc1xwYXJzZXJcU291cmNlQ29kZS5oIiAvPgpAQCAtMTg3NjUsNyArMTg3
MjEsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxDaHJvbWVDbGllbnQuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcYW5pbWF0aW9uXENvbXBvc2l0ZUFu
aW1hdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxDb25zb2xlLmgi
IC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnNvbGVUeXBlcy5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGV4dE1lbnVDbGllbnQuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGV4dE1lbnVDb250cm9sbGVy
LmgiIC8+CkBAIC0yMDU0MSw3ICsyMDQ5Niw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xQYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjaGVkdWxlZEFjdGlvbi5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgiIC8+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3Jp
cHRDb250cm9sbGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xq
c1xTY3JpcHRIZWFwU25hcHNob3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJp
bmRpbmdzXGpzXFNjcmlwdEdsb2JhbE9iamVjdC5oIiAvPgpAQCAtMjA4NDUsMTkgKzIwNzk5LDE1
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxicmlkZ2VccnVudGltZV9tZXRob2QuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJyaWRnZVxydW50aW1lX29iamVjdC5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYnJpZGdlXHJ1bnRpbWVfcm9vdC5oIiAvPgot
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVBUElUeXBlcy5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbW1hbmRMaW5lQVBJSG9z
dC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbW1hbmRMaW5l
QVBJTW9kdWxlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29u
c29sZU1lc3NhZ2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxE
T01FZGl0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxET01Q
YXRjaFN1cHBvcnQuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJ
ZGVudGlmaWVyc0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNhbnZhc0FnZW50
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yQ2Fu
dmFzSW5zdHJ1bWVudGF0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcSW5zcGVjdG9yQ2xpZW50LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnRyb2xsZXIu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb3Vu
dGVycy5oIiAvPgpAQCAtMjA4OTgsMTAgKzIwODQ4LDggQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFBhZ2VSdW50aW1lQWdlbnQu
aCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRBcmd1bWVu
dHMuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxs
RnJhbWUuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRD
YWxsU3RhY2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxUaW1l
bGluZVJlY29yZEZhY3RvcnkuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxXZWJDb25zb2xlQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxXZWJEZWJ1Z2dlckFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcV29ya2VyQ29uc29sZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcV29ya2VyRGVidWdnZXJBZ2VudC5oIiAvPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmlu
ZGV4IGMwOTJhOTQuLjc4NDgwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTQ0OTQsOSArNDQ5NCw2IEBA
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDYWNoZWRGcmFt
ZURhdGEuY3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENh
bGxTdGFja0ZhY3RvcnkuY3BwIj4KLSAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4K
LSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpz
XFNjcmlwdENvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRl
cj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ3MjUsMTggKzQ3MjIsMTIgQEAKICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb21tYW5kTGluZUFQSU1vZHVsZS5jcHAiPgogICAg
ICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb25zb2xlTWVzc2FnZS5jcHAiPgotICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxET01FZGl0b3IuY3BwIj4KICAgICAgIDxGaWx0ZXI+
aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcRE9NUGF0Y2hTdXBwb3J0LmNwcCI+CiAgICAgICA8RmlsdGVyPmlu
c3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXElkZW50aWZpZXJzRmFjdG9yeS5jcHAiPgotICAgICAgPEZpbHRlcj5p
bnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZS5jcHAiPgogICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ3NTIsOSAr
NDc0Myw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9y
Q2xpZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNv
bnNvbGVBZ2VudC5jcHAiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8
L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0
b3JDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAg
IDwvQ2xDb21waWxlPgpAQCAtNDg1NCwxOCArNDg0MiwxMiBAQAogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXFBhZ2VSdW50aW1lQWdlbnQuY3BwIj4KICAgICAgIDxGaWx0ZXI+
aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmNwcCI+Ci0gICAgICA8RmlsdGVyPmlu
c3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXFNjcmlwdENhbGxGcmFtZS5jcHAiPgotICAgICAgPEZpbHRlcj5pbnNw
ZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsU3RhY2suY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVj
dG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCI+CiAgICAgICA8RmlsdGVyPmlu
c3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXFdlYkNvbnNvbGVBZ2VudC5jcHAiPgorICAgICAgPEZpbHRlcj5pbnNw
ZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxXZWJEZWJ1Z2dlckFnZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3Bl
Y3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtNzQ5Myw5ICs3NDc1LDYgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29uc29sZS5oIj4KICAgICAgIDxGaWx0ZXI+
cGFnZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGFnZVxDb25zb2xlVHlwZXMuaCI+Ci0gICAgICA8RmlsdGVyPnBhZ2U8L0ZpbHRlcj4KLSAg
ICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGVudFNl
Y3VyaXR5UG9saWN5LmgiPgogICAgICAgPEZpbHRlcj5wYWdlPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+CkBAIC0xMTM1NCw5ICsxMTMzMyw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCI+CiAgICAgICA8RmlsdGVyPmJp
bmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiPgotICAgICAgPEZp
bHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q29udHJvbGxlci5oIj4KICAgICAgIDxG
aWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTEyMDkyLDYg
KzEyMDY4LDE1IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xoZWFwXFN0cm9uZy5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaGVhcDwv
RmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmgiPgorICAgICAgPEZpbHRl
cj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxD
b25zb2xlVHlwZXMuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
cjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXElkZW50aWZpZXJzRmFjdG9yeS5oIj4KKyAgICAg
IDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbElu
Y2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNw
ZWN0b3JcSW5qZWN0ZWRTY3JpcHQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTIxMzcsOSArMTIxMjIs
MzAgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3Bl
Y3RvclxJbnNwZWN0b3JWYWx1ZXMuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdEFyZ3VtZW50cy5oIj4K
KyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xpbnNwZWN0b3JcU2NyaXB0QnJlYWtwb2ludC5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGlu
Z0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0Q2FsbEZy
YW1lLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRl
cj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRp
bmdIZWFkZXJzXGluc3BlY3RvclxTY3JpcHRDYWxsU3RhY2suaCI+CisgICAgICA8RmlsdGVyPkZv
cndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGlu
c3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JBZ2VudC5o
Ij4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIj4KKyAgICAgIDxG
aWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1
ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0
b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCI+CisgICAgICA8RmlsdGVyPkZvcndh
cmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJ
bnNwZWN0b3JSdW50aW1lQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTIyNTcsMjEgKzEyMjYz
LDEyIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29tbWFuZExpbmVB
UElNb2R1bGUuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJ
bmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVBUElU
eXBlcy5oIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1
ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29uc29sZU1lc3NhZ2Uu
aCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXERPTUVkaXRvci5oIj4KICAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NUGF0Y2hTdXBwb3J0LmgiPgogICAgICAgPEZp
bHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuaCI+Ci0gICAgICA8Rmls
dGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlLmgiPgogICAg
ICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTEyMjg3
LDkgKzEyMjg0LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JDbGllbnQuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
ckNvbnNvbGVBZ2VudC5oIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAg
PC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVj
dG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMjQxMCwxOCArMTI0MDQsMTIgQEAKICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQYWdlUnVudGltZUFnZW50LmgiPgogICAg
ICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRBcmd1bWVudHMuaCI+Ci0gICAgICA8
RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdENhbGxGcmFtZS5oIj4KLSAgICAgIDxGaWx0
ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiPgotICAgICAgPEZpbHRlcj5p
bnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxUaW1lbGluZVJlY29yZEZhY3RvcnkuaCI+CiAgICAgICA8RmlsdGVy
Pmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXFdlYkNvbnNvbGVBZ2VudC5oIj4KKyAgICAgIDxGaWx0ZXI+aW5z
cGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVj
dG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMDRmZmE0Ny4uYTIxNGMxNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTA1Nyw3ICsxMDU3LDYgQEAKIAkJMkQ5RjBFMTMxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVh
clNSR0IuaWNjIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDlGMEUxMjE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgKi87IH07CiAJCTJE
QkFERTBCMTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRCQURFMDkxODhFNTkxNTAw
NEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkRCQURFMEMxODhFNTkxNTAwNEQ3OTgxIC8qIFdl
YkNvcmVDQUxheWVyRXh0cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkRCQURFMEExODhFNTkxNTAwNEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0
cmFzLm1tICovOyB9OwotCQkyREYyRTlENTE2NkUzOTc1MDAzNUJFRjIgLyogQ29uc29sZUFQSVR5
cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREYy
RTlENDE2NkUzOTc0MDAzNUJFRjIgLyogQ29uc29sZUFQSVR5cGVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkUwODg4RDQxMTQ4ODQ4QTAwQUY0
MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEu
Y3BwICovOyB9OwogCQkyRTA4ODhENTExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUwODg4RDMx
MTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCAqLzsgfTsKIAkJMkUwODg4RTYxMTQ4
ODRFMjAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGFDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUwODg4RTUxMTQ4ODRFMjAwQUY0MjY1IC8q
IEpTRE9NRm9ybURhdGFDdXN0b20uY3BwICovOyB9OwpAQCAtMTMzOSwxMCArMTMzOCw2IEBACiAJ
CTQxNjdFQkY1MTAyOTYyQkEwMDNEMjUyQSAvKiBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9y
eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTY3
RUJGMzEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3Bw
ICovOyB9OwogCQk0MTY3RUJGNjEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxNjdFQkY0MTAyOTYyQkEwMDNEMjUyQSAvKiBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3Np
dG9yeS5oICovOyB9OwogCQk0MTZFMjlBNjEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0
aW5nUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxNkUyOUE1MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5oICovOyB9
OwotCQk0MTZFNzVCRTBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZFNzVCQzBFREY4RkQ3
MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDE2RTc1QkYwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlw
dENhbGxTdGFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTZFNzVCRDBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLzsg
fTsKLQkJNDE2RTc1Q0IwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1QzkwRURGOTBD
NzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQxNkU3NUNDMEVERjkwQzcwMDM2MEUxRCAvKiBTY3Jp
cHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE2RTc1Q0EwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgKi87
IH07CiAJCTQxNzI1M0FBMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNB
ODEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwICovOyB9OwogCQk0
MTcyNTNBQjEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNzI1M0E5MTM1NEJCQkMw
MDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5oICovOyB9OwogCQk0MTdEQTZEOTEzNzM0
RTZFMDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RBNENGMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMu
Y3BwICovOyB9OwpAQCAtMTM4Miw4ICsxMzc3LDYgQEAKIAkJNDFFMUIxRDEwRkY1OTg2OTAwNTc2
QjNCIC8qIEFic3RyYWN0V29ya2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUUxQjFDQjBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIu
aCAqLzsgfTsKIAkJNDFFMUIxRDMwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUUxQjFDRDBG
RjU5ODY5MDA1NzZCM0IgLyogU2hhcmVkV29ya2VyLmNwcCAqLzsgfTsKIAkJNDFFMUIxRDQwRkY1
OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0UwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdv
cmtlci5oICovOyB9OwotCQk0MUYwNjE4RTBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3Nh
Z2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2
MThDMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5oICovOyB9OwotCQk0MUYwNjE4
RjBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGMDYxOEQwRjVGMDY5ODAwQTA3RUFDIC8q
IENvbnNvbGVNZXNzYWdlLmNwcCAqLzsgfTsKIAkJNDFGMDYyMTQwRjVGMTkyNjAwQTA3RUFDIC8q
IEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MjEyMEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JE
YXRhYmFzZVJlc291cmNlLmggKi87IH07CiAJCTQxRjA2MjE1MEY1RjE5MjYwMEEwN0VBQyAvKiBJ
bnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MjEzMEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JE
YXRhYmFzZVJlc291cmNlLmNwcCAqLzsgfTsKIAkJNDFGMDY2RTQwRjY0QkNGNjAwQTA3RUFDIC8q
IFNjcmlwdEdsb2JhbE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFGMDY2RTIwRjY0QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEdsb2JhbE9iamVj
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0x
OTg0LDggKzE5NzcsNiBAQAogCQk1OTA1QURDMDEzMDJGM0NFMDBGMTE2REYgLyogWE1MVHJlZVZp
ZXdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkw
NUFEQkUxMzAyRjNDRTAwRjExNkRGIC8qIFhNTFRyZWVWaWV3ZXIuaCAqLzsgfTsKIAkJNTkwRTFC
NDkxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0aW9uRGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwRTFCNDgxMUU0RUY0QjAwNjlG
Nzg0IC8qIERldmljZU9yaWVudGF0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU5MEUxQjRCMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi87IH07Ci0JCTU5MTNBMjQxMTNENDlFQkEwMEY1
QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTkxM0EyM0YxM0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZp
ZXJzRmFjdG9yeS5jcHAgKi87IH07Ci0JCTU5MTNBMjQyMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVu
dGlmaWVyc0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU5MTNBMjQwMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuaCAq
LzsgfTsKIAkJNTkzMDlBMTExMUY0QUU1ODAwMjUwNjAzIC8qIERldmljZU9yaWVudGF0aW9uQ2xp
ZW50TW9jay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1OTMwOUExMDExRjRBRTU4MDAyNTA2MDMgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2Nr
LmNwcCAqLzsgfTsKIAkJNTkzMDlBMTMxMUY0QUU2QTAwMjUwNjAzIC8qIERldmljZU9yaWVudGF0
aW9uQ2xpZW50TW9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTkzMDlBMTIxMUY0QUU2QTAwMjUwNjAzIC8qIERldmljZU9yaWVudGF0aW9uQ2xpZW50
TW9jay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTU5ODM2NUREMTM1NUY1NTcwMDFCMTg1RCAvKiBKU1Bvc2l0aW9uQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5ODM2NURDMTM1NUY1M0Mw
MDFCMTg1RCAvKiBKU1Bvc2l0aW9uQ2FsbGJhY2suaCAqLzsgfTsKQEAgLTM2MjksNiArMzYyMCw4
IEBACiAJCUE1NDE2RkU2MTg4MTBFRjgwMDA5RkM1RiAvKiBZb3VUdWJlRW1iZWRTaGFkb3dFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTQx
NkZFNDE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oICovOyB9
OwogCQlBNTRBODJFQzE1MjI4RDJGMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NEE4MkVBMTUyMjhDQTMw
MEM3MkJBNiAvKiBET01Ob2RlUHJpdmF0ZS5oICovOyB9OwogCQlBNTRBODJGMTE1MjI4REY2MDBD
NzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NEE4MkVBMTUyMjhDQTMwMEM3MkJBNiAv
KiBET01Ob2RlUHJpdmF0ZS5oICovOyB9OworCQlBNTZDNUI5QTE4OUYzNDU3MDA4MkQxM0MgLyog
V2ViQ29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1NkM1Qjk4MTg5RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuY3Bw
ICovOyB9OworCQlBNTZDNUI5QjE4OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTZDNUI5OTE4
OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmggKi87IH07CiAJCUE1NzMyQjBBMTM2
QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0
ZUNvbXBvbmVudHMuY3BwICovOyB9OwogCQlBNTczMkIwQjEzNkExNjFEMDA1QzhEN0MgLyogRGF0
ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1NzMyQjA5MTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE1ODQwRTFDMTg3Qjc0
RDUwMDg0M0IxMCAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU4NDBFMUExODdCNzRENTAw
ODQzQjEwIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5jcHAgKi87IH07CkBAIC01
MjM2LDcgKzUyMjksNiBAQAogCQlCQ0U0NDEzMzEyRjc0OEUyMDA5Qjg0QjggLyogUmVuZGVyQ29t
YmluZVRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNFNDQxMzExMkY3NDhFMjAwOUI4NEI4IC8qIFJlbmRlckNvbWJpbmVUZXh0LmNwcCAqLzsg
fTsKIAkJQkNFNDQxMzQxMkY3NDhFMjAwOUI4NEI4IC8qIFJlbmRlckNvbWJpbmVUZXh0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U0NDEzMjEyRjc0
OEUyMDA5Qjg0QjggLyogUmVuZGVyQ29tYmluZVRleHQuaCAqLzsgfTsKIAkJQkNFNDQxMzYxMkY3
NDkwQjAwOUI4NEI4IC8qIEZvbnRXaWR0aFZhcmlhbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTQ0MTM1MTJGNzQ5MEIwMDlCODRCOCAvKiBGb250
V2lkdGhWYXJpYW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKLQkJQkNFNTY0NEUxMzdBMzRENjAwN0QyOTM0IC8qIENvbnNvbGVUeXBlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFNTY0NEQxMzdBMzRE
NjAwN0QyOTM0IC8qIENvbnNvbGVUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUJDRTY1OEZGMEVBOTI0OEEwMDdFNDUzMyAvKiBUaGVtZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFNjU4RkUw
RUE5MjQ4QTAwN0U0NTMzIC8qIFRoZW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFNjU5QTkwRUE5MjdCOTAwN0U0NTMzIC8qIFRoZW1lVHlw
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTY1
OUE4MEVBOTI3QjkwMDdFNDUzMyAvKiBUaGVtZVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFNjU5RTYwRUE5MkZCMjAwN0U0NTMzIC8q
IFRoZW1lTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0U2NTlFNTBFQTkyRkIyMDA3RTQ1MzMgLyogVGhlbWVNYWMuaCAqLzsgfTsKQEAgLTYwMjQs
OCArNjAxNiw2IEBACiAJCUYyOTNCMjdFNTZDMTEyRjM3M0ZGRjI3RSAvKiBETlNSZXNvbHZlUXVl
dWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2
MDEyODA2MDA3OEJCNzBFMzY3QTk1IC8qIEROU1Jlc29sdmVRdWV1ZS5jcHAgKi87IH07CiAJCUYz
MjVBNDBBMTRFRTM2RkEwMDczMjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzI1QTQwODE0RUUzNkZBMDA3
MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuY3BwICovOyB9OwogCQlGMzI1QTQwQjE0RUUzNkZB
MDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzMjVBNDA5MTRFRTM2RkEwMDczMjRFMiAvKiBJbnNwZWN0
b3JDb3VudGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCUYzMzM1QkY4MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjMzMzVC
RjYxMkUwN0RDMzAwRDMzMDExIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi87IH07Ci0J
CUYzMzM1QkY5MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzMzM1QkY3MTJFMDdE
QzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLzsgfTsKIAkJRjMzRjAyODIx
MjA5NDdGMjAwRTU3NDNBIC8qIFNjcmlwdFByb2ZpbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjMzRjAyODExMjA5NDdGMjAwRTU3NDNBIC8qIFNj
cmlwdFByb2ZpbGUuY3BwICovOyB9OwogCQlGMzQ0QzcxNDExMjVCODJDMDBGMjZFRUUgLyogSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYzNDRDNzEyMTEyNUI4MkMwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUYzNDRDNzUzMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzQ0
Qzc1MjExMjk0RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC02MDUyLDEw
ICs2MDQyLDYgQEAKIAkJRjM4MjA4OTcxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlckNvbnNvbGVB
Z2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM4
MjA4OEYxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlckNvbnNvbGVBZ2VudC5oICovOyB9OwogCQlG
MzgyMDg5ODE0N0QzNUY5MDAxMEJDMDYgLyogV29ya2VyUnVudGltZUFnZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzODIwODkwMTQ3RDM1Rjkw
MDEwQkMwNiAvKiBXb3JrZXJSdW50aW1lQWdlbnQuY3BwICovOyB9OwogCQlGMzgyMDg5OTE0N0Qz
NUY5MDAxMEJDMDYgLyogV29ya2VyUnVudGltZUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzgyMDg5MTE0N0QzNUY5MDAxMEJDMDYgLyogV29y
a2VyUnVudGltZUFnZW50LmggKi87IH07Ci0JCUYzOTIyNDlDMTI2RjExQUUwMEE5MjZEOSAvKiBT
Y3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEYzOTIyNDlBMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5LmNwcCAqLzsgfTsKLQkJRjM5MjI0OUQxMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEYzOTIyNDlCMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0
b3J5LmggKi87IH07Ci0JCUYzOUJFOTVCMTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVu
dHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM5
QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi87IH07Ci0JCUYz
OUJFOTVDMTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzOUJFOTVBMTI2NzNCRjQwMEUwQTY3
NCAvKiBTY3JpcHRBcmd1bWVudHMuaCAqLzsgfTsKIAkJRjNBQkZFMEMxMzBFOURBMDAwRTdGN0Qx
IC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5n
QWdlbnRzLmggKi87IH07CiAJCUYzRDQ2MTQ4MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFu
ZGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
M0Q0NjE0NjExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuY3BwICovOyB9OwogCQlG
M0Q0NjE0OTExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRDQ2MTQ3MTE2MUQ1MzIwMENBMEQw
OSAvKiBKU0Vycm9ySGFuZGxlci5oICovOyB9OwpAQCAtNzg2Miw3ICs3ODQ4LDYgQEAKIAkJMkQ5
RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IGxpbmVhclNSR0Iu
aWNjOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyREJBREUwOTE4OEU1OTE1MDA0RDc5
ODEgLyogV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkRCQURFMEExODhFNTkxNTAwNEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZUNBTGF5ZXJFeHRy
YXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTJERjJFOUQ0MTY2RTM5NzQwMDM1
QkVGMiAvKiBDb25zb2xlQVBJVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ29uc29sZUFQSVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4
OEMzMTE0ODgzQTkwMEFGNDI2NSAvKiBET01Gb3JtRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gRE9NRm9ybURhdGEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4
ODhEMjExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTUZvcm1EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDMxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01Gb3JtRGF0YS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODE2OSwxMCArODE1NCw2IEBACiAJCTQxNjdFQkYz
MTAyOTYyQkEwMDNEMjUyQSAvKiBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5jcHA7IHBhdGggPSB3b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE2N0VCRjQxMDI5NjJCQTAwM0Qy
NTJBIC8qIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Lmg7IHBhdGggPSB3
b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxNkUyOUE1MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQ
cm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXb3JrZXJSZXBvcnRpbmdQ
cm94eS5oOyBwYXRoID0gd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk0MTZFNzVCQzBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2Fs
bFN0YWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFj
ay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTZFNzVCRDBFREY4RkQ3MDAzNjBF
MUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNjcmlwdENhbGxTdGFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQxNkU3NUM5MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q2FsbEZyYW1lLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTQxNkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJh
bWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbEZy
YW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE3MjUzQTgxMzU0QkJCQzAw
MzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDE3MjUzQTkxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxN0RBNENFMTM3MzQzMjYw
MDdDNTdGQiAvKiBJbnRlcm5hbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW50ZXJuYWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04MjE4LDggKzgxOTks
NiBAQAogCQk0MUUxQjFDRDBGRjU5ODY5MDA1NzZCM0IgLyogU2hhcmVkV29ya2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFNoYXJlZFdvcmtlci5jcHA7IHBhdGgg
PSB3b3JrZXJzL1NoYXJlZFdvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxRTFCMUNFMEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gU2hhcmVkV29ya2VyLmg7IHBhdGggPSB3b3JrZXJzL1NoYXJl
ZFdvcmtlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUUxQjFDRjBGRjU5ODY5
MDA1NzZCM0IgLyogU2hhcmVkV29ya2VyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBTaGFy
ZWRXb3JrZXIuaWRsOyBwYXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1l
c3NhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29uc29sZU1lc3NhZ2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFGMDYxOEQwRjVGMDY5ODAwQTA3RUFD
IC8qIENvbnNvbGVNZXNzYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IENvbnNvbGVNZXNzYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFG
MDYyMTIwRjVGMTkyNjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUYwNjIxMzBGNUYxOTI2MDBBMDdFQUMg
LyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDFGMDY2RTIwRjY0QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEdsb2Jh
bE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRHbG9iYWxP
YmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg4OTIsOCArODg3MSw2IEBA
CiAJCTU5MDVBREJFMTMwMkYzQ0UwMEYxMTZERiAvKiBYTUxUcmVlVmlld2VyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhNTFRyZWVWaWV3ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTkwRTFCNDgxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0
aW9uRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VPcmllbnRh
dGlvbkRhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTkwRTFCNEExMUU0RUY3
MDAwNjlGNzg0IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0
b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1OTEzQTIzRjEzRDQ5RUJBMDBG
NUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IElkZW50aWZpZXJzRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTU5MTNBMjQwMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3Rvcnku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWRlbnRpZmllcnNGYWN0b3J5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MzA5QTEwMTFGNEFFNTgwMDI1MDYwMyAv
KiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTkzMDlBMTIxMUY0QUU2QTAwMjUwNjAzIC8qIERldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTk1OEYxQ0IxMzQzOTE3QzAwODBCMzFGIC8qIFhNTFZpZXdlci5jc3MgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LmNzczsgcGF0aCA9IFhNTFZpZXdlci5jc3M7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMDU5Myw2ICsxMDU3MCw4IEBACiAJCUE1NDE2RkUzMTg4MTBFRjgwMDA5RkM1RiAvKiBZ
b3VUdWJlRW1iZWRTaGFkb3dFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNTQxNkZFNDE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hh
ZG93RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBZb3VUdWJlRW1i
ZWRTaGFkb3dFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1NEE4MkVB
MTUyMjhDQTMwMEM3MkJBNiAvKiBET01Ob2RlUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01Ob2RlUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNTZDNUI5ODE4OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvbnNvbGVBZ2VudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1NkM1Qjk5MTg5RjM0NTcwMDgyRDEzQyAvKiBX
ZWJDb25zb2xlQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29u
c29sZUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1NzMyQjA4MTM2QTE2
MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBEYXRlQ29tcG9uZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE1NzMyQjA5MTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlQ29tcG9uZW50cy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBNTg0MEUxQTE4N0I3NEQ1MDA4NDNCMTAgLyogSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xMjQzOCw3ICsxMjQxNyw2IEBACiAJCUJDRTQ0MTMxMTJGNzQ4RTIw
MDlCODRCOCAvKiBSZW5kZXJDb21iaW5lVGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBSZW5kZXJDb21iaW5lVGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUJDRTQ0MTMyMTJGNzQ4RTIwMDlCODRCOCAvKiBSZW5kZXJDb21iaW5lVGV4dC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJDb21iaW5lVGV4dC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U0NDEzNTEyRjc0OTBCMDA5Qjg0QjggLyog
Rm9udFdpZHRoVmFyaWFudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250
V2lkdGhWYXJpYW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRTU2NDREMTM3
QTM0RDYwMDdEMjkzNCAvKiBDb25zb2xlVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ29uc29sZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
RTY1OEZFMEVBOTI0OEEwMDdFNDUzMyAvKiBUaGVtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBUaGVtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U2NTlB
ODBFQTkyN0I5MDA3RTQ1MzMgLyogVGhlbWVUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBUaGVtZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
RTY1OUU1MEVBOTJGQjIwMDdFNDUzMyAvKiBUaGVtZU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBUaGVtZU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTMzNDAsOCArMTMzMTgsNiBAQAogCQlGMTIxNzFGNDE2QThCQzYzMDAwMDUzQ0EgLyogV2ViVlRU
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWVFRFbGVtZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzMjVBNDA4MTRFRTM2RkEwMDczMjRF
MiAvKiBJbnNwZWN0b3JDb3VudGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbnNwZWN0b3JDb3VudGVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUYzMjVBNDA5MTRFRTM2RkEwMDczMjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JDb3VudGVycy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlGMzMzNUJGNjEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVj
dG9yQ29uc29sZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUYzMzM1QkY3MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzM0YwMjgxMTIwOTQ3RjIwMEU1NzQzQSAvKiBT
Y3JpcHRQcm9maWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNj
cmlwdFByb2ZpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzQ0QzcxMjEx
MjVCODJDMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM0NEM3NTIxMTI5NEQ5RDAwRjI2RUVFIC8qIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTMzNjgsMTAgKzEzMzQ0LDYgQEAKIAkJRjM4MjA4OEYxNDdEMzVGOTAwMTBCQzA2IC8q
IFdvcmtlckNvbnNvbGVBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
b3JrZXJDb25zb2xlQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM4MjA4
OTAxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJSdW50aW1lQWdlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGMzgyMDg5MTE0N0QzNUY5MDAxMEJDMDYgLyogV29ya2Vy
UnVudGltZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlclJ1
bnRpbWVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzkyMjQ5QTEyNkYx
MUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjM5MjI0OUIxMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzlC
RTk1OTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdEFyZ3VtZW50cy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUYzOUJFOTVBMTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1
bWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0QXJndW1lbnRz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzQUJGRTBCMTMwRTlEQTAwMEU3RjdE
MSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3RydW1lbnRpbmdBZ2VudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjNENDYxNDYxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXJyb3JIYW5kbGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JI
YW5kbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXJyb3JIYW5kbGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDc4NywxNSArMTQ3NTksMTAgQEAK
IAkJCQlBNTg0RkUyOTE4NjM4NzBGMDA4NDNCMTAgLyogQ29tbWFuZExpbmVBUElNb2R1bGUuY3Bw
ICovLAogCQkJCUE1ODRGRTJBMTg2Mzg3MEYwMDg0M0IxMCAvKiBDb21tYW5kTGluZUFQSU1vZHVs
ZS5oICovLAogCQkJCUE1ODRGRTI3MTg2MzdEQ0EwMDg0M0IxMCAvKiBDb21tYW5kTGluZUFQSU1v
ZHVsZVNvdXJjZS5qcyAqLywKLQkJCQkyREYyRTlENDE2NkUzOTc0MDAzNUJFRjIgLyogQ29uc29s
ZUFQSVR5cGVzLmggKi8sCi0JCQkJNDFGMDYxOEQwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVN
ZXNzYWdlLmNwcCAqLywKLQkJCQk0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1l
c3NhZ2UuaCAqLywKIAkJCQk3QUFCQTI1NzE0QkM2MTMzMDBBQTlBMTEgLyogRE9NRWRpdG9yLmNw
cCAqLywKIAkJCQk3QUFCQTI1ODE0QkM2MTMzMDBBQTlBMTEgLyogRE9NRWRpdG9yLmggKi8sCiAJ
CQkJN0E1NDg4MTYxNEU0MzJBMTAwNkFFMDVBIC8qIERPTVBhdGNoU3VwcG9ydC5jcHAgKi8sCiAJ
CQkJN0E1NDg4MTUxNEU0MzJBMTAwNkFFMDVBIC8qIERPTVBhdGNoU3VwcG9ydC5oICovLAotCQkJ
CTU5MTNBMjNGMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovLAot
CQkJCTU5MTNBMjQwMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuaCAqLywK
IAkJCQlBQTczMTgzQzE1OTI1NUI5MDBBOTNFNkUgLyogSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1
bGUuY3BwICovLAogCQkJCUFBNzMxODNEMTU5MjU1QjkwMEE5M0U2RSAvKiBJbmplY3RlZFNjcmlw
dENhbnZhc01vZHVsZS5oICovLAogCQkJCUFBOTAzMEZFMTU3RTE2QTAwMDI3NjI0NyAvKiBJbmpl
Y3RlZFNjcmlwdENhbnZhc01vZHVsZVNvdXJjZS5qcyAqLywKQEAgLTE0ODA2LDggKzE0NzczLDYg
QEAKIAkJCQlBQUQ3NjZFQTE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yQ2FudmFzSW5zdHJ1
bWVudGF0aW9uLmggKi8sCiAJCQkJN0ExRjJCNTExMjZDNjFCMjAwMDZBN0U2IC8qIEluc3BlY3Rv
ckNsaWVudC5jcHAgKi8sCiAJCQkJMUM4MUI5NTgwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3Rv
ckNsaWVudC5oICovLAotCQkJCUYzMzM1QkY2MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwICovLAotCQkJCUYzMzM1QkY3MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlGM0Y1Q0YxMDEyRUQ4MUE4MDA4NEM1NjkgLyog
SW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oICovLAogCQkJCTFDODFCOTU3MEU5NzMz
MDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLywKIAkJCQkxQzgxQjk1NjBF
OTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5oICovLApAQCAtMTQ4ODYsMTYg
KzE0ODUxLDEyIEBACiAJCQkJQTU4NEZFMkUxODY0Q0I4NDAwODQzQjEwIC8qIFBhZ2VJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuaCAqLywKIAkJCQlGMzgyMDg4QzE0N0QzNUY5MDAxMEJDMDYgLyogUGFn
ZVJ1bnRpbWVBZ2VudC5jcHAgKi8sCiAJCQkJRjM4MjA4OEQxNDdEMzVGOTAwMTBCQzA2IC8qIFBh
Z2VSdW50aW1lQWdlbnQuaCAqLywKLQkJCQlGMzlCRTk1OTEyNjczQkY0MDBFMEE2NzQgLyogU2Ny
aXB0QXJndW1lbnRzLmNwcCAqLywKLQkJCQlGMzlCRTk1QTEyNjczQkY0MDBFMEE2NzQgLyogU2Ny
aXB0QXJndW1lbnRzLmggKi8sCi0JCQkJNDE2RTc1Q0EwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlw
dENhbGxGcmFtZS5jcHAgKi8sCi0JCQkJNDE2RTc1QzkwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlw
dENhbGxGcmFtZS5oICovLAotCQkJCTQxNkU3NUJEMEVERjhGRDcwMDM2MEUxRCAvKiBTY3JpcHRD
YWxsU3RhY2suY3BwICovLAotCQkJCTQxNkU3NUJDMEVERjhGRDcwMDM2MEUxRCAvKiBTY3JpcHRD
YWxsU3RhY2suaCAqLywKIAkJCQk5RkEzN0VFRjExNzJGRDQxMDBDNENENTUgLyogU2NyaXB0UHJv
ZmlsZS5pZGwgKi8sCiAJCQkJOUZBMzdFRjAxMTcyRkQ0MTAwQzRDRDU1IC8qIFNjcmlwdFByb2Zp
bGVOb2RlLmlkbCAqLywKIAkJCQk3NTUzQ0ZFNzEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmNwcCAqLywKIAkJCQk3NTUzQ0ZFNjEwOEY0NzNGMDBFQTI4MUUgLyogVGlt
ZWxpbmVSZWNvcmRGYWN0b3J5LmggKi8sCisJCQkJQTU2QzVCOTgxODlGMzQ1NzAwODJEMTNDIC8q
IFdlYkNvbnNvbGVBZ2VudC5jcHAgKi8sCisJCQkJQTU2QzVCOTkxODlGMzQ1NzAwODJEMTNDIC8q
IFdlYkNvbnNvbGVBZ2VudC5oICovLAogCQkJCUE1RTYxNjcxMTg5NDU4MUYwMDlBREY1MCAvKiBX
ZWJEZWJ1Z2dlckFnZW50LmNwcCAqLywKIAkJCQlBNUU2MTY3MjE4OTQ1ODFGMDA5QURGNTAgLyog
V2ViRGVidWdnZXJBZ2VudC5oICovLAogCQkJCUYzODIwODhFMTQ3RDM1RjkwMDEwQkMwNiAvKiBX
b3JrZXJDb25zb2xlQWdlbnQuY3BwICovLApAQCAtMTYwNDcsNyArMTYwMDgsNiBAQAogCQkJCUJD
MEIzNkExMENEM0M2N0MwMEFDN0VCNSAvKiBDb25zb2xlLmNwcCAqLywKIAkJCQlCQzBCMzZBMjBD
RDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5oICovLAogCQkJCUJDMEIzNkEzMENEM0M2N0MwMEFD
N0VCNSAvKiBDb25zb2xlLmlkbCAqLywKLQkJCQlCQ0U1NjQ0RDEzN0EzNEQ2MDA3RDI5MzQgLyog
Q29uc29sZVR5cGVzLmggKi8sCiAJCQkJOTdDNDcxRDkxMkY5MjVCQzAwODYzNTRCIC8qIENvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHAgKi8sCiAJCQkJOTdDNDcxREExMkY5MjVCRDAwODYzNTRCIC8q
IENvbnRlbnRTZWN1cml0eVBvbGljeS5oICovLAogCQkJCTA2NUFENEYyMEIwQzJFREEwMDVBMkIx
RCAvKiBDb250ZXh0TWVudUNsaWVudC5oICovLApAQCAtMjAxNjksOCArMjAxMjksNiBAQAogCQkJ
CUJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLywKIAkJCQk0
MUYxRDIxRTBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcCAqLywK
IAkJCQk0MUYxRDIxRDBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgg
Ki8sCi0JCQkJRjM5MjI0OUExMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuY3BwICovLAotCQkJCUYzOTIyNDlCMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5LmggKi8sCiAJCQkJOTNCNzBENTMwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENv
bnRyb2xsZXIuY3BwICovLAogCQkJCTkzQjcwRDU0MDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRD
b250cm9sbGVyLmggKi8sCiAJCQkJQTgzRTFDNzIwRTQ5MDQyQjAwMTQwQjlDIC8qIFNjcmlwdENv
bnRyb2xsZXJNYWMubW0gKi8sCkBAIC0yMjg3MSwxMCArMjI4MjksNyBAQAogCQkJCUZEMzE2MDhG
MTJCMDI2RjcwMEMxQTM1OSAvKiBDb25lLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUM5N0FGMzA4
RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzBCMzZBNTBD
RDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMkRGMkU5RDUx
NjZFMzk3NTAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NDFGMDYxOEUwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwNzNBQjRCMzE3RjhCQUNBMDA2RTBENkYgLyogQWxsVmlkZW9DYXBhYmlsaXRpZXMu
aCBpbiBIZWFkZXJzICovLAotCQkJCUJDRTU2NDRFMTM3QTM0RDYwMDdEMjkzNCAvKiBDb25zb2xl
VHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTg3MjFDMDk3N0QzQzAwMDU4MjZEOSAvKiBD
b250YWluZXJOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUExNDcwODExMTAyQjE1MDBFRUMw
RjMgLyogQ29udGFpbmVyTm9kZUFsZ29yaXRobXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OEUw
OTFEMTdEMTREMUMwMDQyMEFBMSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
aCBpbiBIZWFkZXJzICovLApAQCAtMjM3ODgsNiArMjM3NDMsNyBAQAogCQkJCTkzMzA5REU2MDk5
RTY0OTIwMDU2RTU4MSAvKiBIVE1MSW50ZXJjaGFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
MTM2OUU0MDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MS2V5Z2VuRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTgxMzY5RTIwOTczNzRGNjAwRDc0NDYzIC8qIEhUTUxMYWJlbEVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCUE1NkM1QjlCMTg5RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xl
QWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2OUUwMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBI
VE1MTGVnZW5kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThFQTc5RjYwQTE5MTZERjAw
QThFRjVGIC8qIEhUTUxMSUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFEQzIwMEEx
NTIwNTcwMEIxMkE2OCAvKiBIVE1MTGlua0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjM4
NzIsNyArMjM4MjgsNiBAQAogCQkJCTA3OEUwOTIxMTdEMTREMUMwMDQyMEFBMSAvKiBSVENEVE1G
VG9uZUNoYW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzI3N0U1MTE3RDAxOENDMDAx
NTUzNEQgLyogSlNNZWRpYVN0cmVhbUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTcxRDU3
QzBGMzM4MTkwMDBGOUNFNEUgLyogSWRlbnRpZmllclJlcC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NTkxM0EyNDIxM0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDlFOTExQzUwRUY4NkQ0NzAwOUQwQ0FGIC8qIElkZW50aXR5VHJhbnNmb3Jt
T3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI1Rjg1NjE4MkMwRjgzMDBEODRDRDkg
LyogQ3J5cHRvS2V5U2VyaWFsaXphdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4NEZFMjYx
ODYzN0RBQjAwODQzQjEwIC8qIENvbW1hbmRMaW5lQVBJTW9kdWxlU291cmNlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTIzOTI1LDcgKzIzODgwLDYgQEAKIAkJCQlBQUQ3NjZFQzE1N0U1MDJGMDBFODU0
MjMgLyogSW5zcGVjdG9yQ2FudmFzQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBRDc2NkVE
MTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JDYW52YXNJbnN0cnVtZW50YXRpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFDODFCOTVDMEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDbGll
bnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUYzMzM1QkY5MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzRjVDRjExMTJFRDgxQTgw
MDg0QzU2OSAvKiBJbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQzgxQjk1QTBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRjMyNUE0MEIxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3Rv
ckNvdW50ZXJzLmggaW4gSGVhZGVycyAqLywKQEAgLTI1MTEwLDExICsyNTA2NCw3IEBACiAJCQkJ
OUJEMEJGOTMxMkE0MkJGNTAwNzJGRDQzIC8qIFNjb3BlZEV2ZW50UXVldWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDRUMwMUJFMEMyNzREQUMwMDlGNEVDOSAvKiBTY3JlZW4uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4NEQ4MkMxMTFEMzQ3NDgwMDk3Mjk5MCAvKiBTY3JpcHRhYmxlRG9jdW1lbnRQ
YXJzZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUYzOUJFOTVDMTI2NzNCRjQwMEUwQTY3NCAvKiBT
Y3JpcHRBcmd1bWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRjFEMjFGMEVGMzVDMkEwMERB
ODc1MyAvKiBTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxNkU3
NUNCMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovLAot
CQkJCTQxNkU3NUJFMEVERjhGRDcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFk
ZXJzICovLAotCQkJCUYzOTIyNDlEMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0I3MEQ3MDA5RUIwQzdDMDA5RDg0NjggLyog
U2NyaXB0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5OEFFRDIxM0ZCMjI0RDAw
OTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDhBNDg0NzgwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjY0NzgsNyArMjY0MjgsNiBAQAogCQkJCUZEMzE2MDhFMTJCMDI2RjcwMEMxQTM1
OSAvKiBDb25lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxNDZGRTZGMTg0NDIwQUEwMDFBOTM3
QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwQjM2
QTQwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDFG
MDYxOEYwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4MTg3MjFGMDk3N0QzQzAwMDU4MjZEOSAvKiBDb250YWluZXJOb2RlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE3QTc4Q0Q1MTUzMkJBNjIwMDZDMjFFNCAvKiBDb250YWluZXJOb2Rl
QWxnb3JpdGhtcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVFQjk4MDBFODIwNzI1MDBCMjU5
NjUgLyogQ29udGVudERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNzIxNCw3ICsyNzE2Myw2
IEBACiAJCQkJQzU4NUE2NjIxMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJpbmRpbmdVdGlsaXRpZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE3MUQ1N0IwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50
aWZpZXJSZXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwNTg1MzExN0ZERTZEOTAwNUYyQkNC
IC8qIEpTTWVkaWFUcmFja0NvbnN0cmFpbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTkxM0Ey
NDExM0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlDM0NGMTdBNDE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlDM0NGMTdBNjE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRP
YnNlcnZlclJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyNzUzNTZGMEIwNTM4MTQw
MDJDRTY0RiAvKiBJbWFnZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI3MjU4LDcgKzI3MjA2LDYg
QEAKIAkJCQlFMUY4MEI4QTE4MzE3MkEyMDA3ODg1QzMgLyogSlNDcnlwdG9LZXlQYWlyQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUFBRDc2NkVCMTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNw
ZWN0b3JDYW52YXNBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTFGMkI1MjEyNkM2MUIy
MDAwNkE3RTYgLyogSW5zcGVjdG9yQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUYzMzM1
QkY4MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUM4MUI5NUIwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjMyNUE0MEExNEVFMzZGQTAwNzMyNEUyIC8qIElu
c3BlY3RvckNvdW50ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgyQUIxNzQzMTI0Qjk5RUMw
MEM1MDY5RCAvKiBJbnNwZWN0b3JDU1NBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4NDIy
LDExICsyODM2OSw3IEBACiAJCQkJOUJEMEJGOTQxMkE0MkJGNTAwNzJGRDQzIC8qIFNjb3BlZEV2
ZW50UXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFQzAxQkQwQzI3NERBQzAwOUY0RUM5
IC8qIFNjcmVlbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODREODJDMjExRDM0NzQ4MDA5NzI5
OTAgLyogU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUYz
OUJFOTVCMTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDFGMUQyMjAwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENhY2hlZEZyYW1lRGF0
YS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTZFNzVDQzBFREY5MEM3MDAzNjBFMUQgLyogU2Ny
aXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxNkU3NUJGMEVERjhGRDcwMDM2
MEUxRCAvKiBTY3JpcHRDYWxsU3RhY2suY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRjM5MjI0OUMx
MjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTNCNzBENkYwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTgzRTFDNzQwRTQ5MDQyQzAwMTQwQjlDIC8qIFNjcmlwdENv
bnRyb2xsZXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk0OTk4QUVEMTEzRkIyMjREMDA5MEIx
QUEgLyogU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
Mjg1OTksNiArMjg1NDIsNyBAQAogCQkJCTMxQTc5NUM4MTg4OEJDQjUwMDM4MkY5MCAvKiBBTkdM
RUluc3RhbmNlZEFycmF5cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTg0MEUyNDE4N0I4QUMy
MDA4NDNCMTAgLyogUGFnZUluamVjdGVkU2NyaXB0SG9zdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBOEM0QTdGRTA5RDU2MzI3MDAwM0FDOEQgLyogU3R5bGVkRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlBNTZDNUI5QTE4OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDNUVCOEI4MEU4MjAxQkQwMEIyNTk2NSAvKiBTdHlsZURl
cHJlY2F0ZWRGbGV4aWJsZUJveERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUE0QzNBNzYw
QjJCMTY3OTAwMjMzNEEyIC8qIElubGluZVN0eWxlU2hlZXRPd25lci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkzMTlBRTA2MzE0MkQ2QjI0MDA2NTYzQTEgLyogU3R5bGVGaWx0ZXJEYXRhLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNB
dWRpb0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRp
b0NvbnRleHRDdXN0b20uY3BwCmluZGV4IGUxOTVkZGYuLmFiNThkNGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHAKQEAgLTcz
LDcgKzczLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU0F1ZGlvQ29udGV4dENv
bnN0cnVjdG9yOjpjb25zdHJ1Y3RKU0F1ZGlvQ29udGV4dCgKICNpZiBFTkFCTEUoTEVHQUNZX1dF
Ql9BVURJTykKICAgICAgICAgLy8gQ29uc3RydWN0b3IgZm9yIG9mZmxpbmUgKHJlbmRlci10YXJn
ZXQpIEF1ZGlvQ29udGV4dCB3aGljaCByZW5kZXJzIGludG8gYW4gQXVkaW9CdWZmZXIuCiAgICAg
ICAgIC8vIG5ldyBBdWRpb0NvbnRleHQoaW4gdW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxz
LCBpbiB1bnNpZ25lZCBsb25nIG51bWJlck9mRnJhbWVzLCBpbiBmbG9hdCBzYW1wbGVSYXRlKTsK
LSAgICAgICAgZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJu
aW5nTWVzc2FnZUxldmVsLAorICAgICAgICBkb2N1bWVudC5hZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLAogICAgICAgICAgICAgIkRlcHJl
Y2F0ZWQgQXVkaW9Db250ZXh0IGNvbnN0cnVjdG9yOiB1c2UgT2ZmbGluZUF1ZGlvQ29udGV4dCBp
bnN0ZWFkIik7CiAKICAgICAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAppbmRl
eCAwNDI4ZTgzLi43MmVjOWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKQEAgLTE0Myw3ICsxNDMsNiBAQAogI2luY2x1ZGUgIlBh
Z2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAiCiAjaW5jbHVkZSAiU2NoZWR1bGVkQWN0aW9uLmNwcCIK
ICNpbmNsdWRlICJTY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIgotI2luY2x1ZGUgIlNjcmlwdENh
bGxTdGFja0ZhY3RvcnkuY3BwIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuY3BwIgogI2lu
Y2x1ZGUgIlNjcmlwdFByb2ZpbGVyLmNwcCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5jcHAiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNv
bHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNv
bHZlci5jcHAKaW5kZXggZjFiNjNmOC4uNGMxMGUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcApAQCAtODEsNyAr
ODEsNyBAQCBTdHJpbmcgSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVS
SShjb25zdCBTdHJpbmcmIHByZWZpeCkKICAgICAgICAgaWYgKGNhbGxUeXBlID09IENhbGxUeXBl
Tm9uZSkgewogICAgICAgICAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDMx
Mj4gSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVSSSBDb25zb2xlIE1l
c3NhZ2Ugc2hvdWxkIGluY2x1ZGUgTGluZSwgQ29sdW1uLCBhbmQgU291cmNlVVJMCiAgICAgICAg
ICAgICBpZiAoUGFnZUNvbnNvbGUqIGNvbnNvbGUgPSBtX2dsb2JhbE9iamVjdC0+aW1wbCgpLnBh
Z2VDb25zb2xlKCkpCi0gICAgICAgICAgICAgICAgY29uc29sZS0+YWRkTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhh
dmUgYSBsb29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIpOworICAgICAgICAgICAgICAgIGNvbnNv
bGUtPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhhdmUgYSBsb29rdXBOYW1lc3Bh
Y2VVUkkgbWV0aG9kLiIpKTsKICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICAgICAg
fQogICAgICAgICBmdW5jdGlvbiA9IG1fY3VzdG9tUmVzb2x2ZXIuZ2V0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAppbmRleCA1ODIyMWQwLi41NjMzODkw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTM0
LDggKzM0LDggQEAKICNpbmNsdWRlICJKU0RPTVdpbmRvd0N1c3RvbS5oIgogI2luY2x1ZGUgIkpT
RXhjZXB0aW9uQmFzZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAi
U2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgor
I2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0
b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgogI2luY2x1ZGUgPGludGVycHJldGVyL0ludGVy
cHJldGVyLmg+CiAjaW5jbHVkZSA8cnVudGltZS9EYXRlSW5zdGFuY2UuaD4KICNpbmNsdWRlIDxy
dW50aW1lL0Vycm9yLmg+CkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSA8d3RmL01hdGhFeHRy
YXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKK3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCmluZGV4IDE5YTc4MDAuLmMxNWJjY2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3Rv
bS5jcHAKQEAgLTE1MCw3ICsxNTAsNyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjplbmNyeXB0
KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwog
CiAgICAgaWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZUVuY3J5cHQpKSB7Ci0gICAgICAg
IG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ2VuY3J5cHQnIik7
CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBk
byBub3QgaW5jbHVkZSAnZW5jcnlwdCciKSk7CiAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVj
LCBOT1RfU1VQUE9SVEVEX0VSUik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAg
IH0KQEAgLTIwMiw3ICsyMDIsNyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjpkZWNyeXB0KEV4
ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAg
ICAgaWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZURlY3J5cHQpKSB7Ci0gICAgICAgIG1f
aW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ2RlY3J5cHQnIik7Cisg
ICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBkbyBu
b3QgaW5jbHVkZSAnZGVjcnlwdCciKSk7CiAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBO
T1RfU1VQUE9SVEVEX0VSUik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0K
QEAgLTI1Myw3ICsyNTMsNyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjpzaWduKEV4ZWNTdGF0
ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYg
KCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZVNpZ24pKSB7Ci0gICAgICAgIG1faW1wbC0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ3NpZ24nIik7CisgICAgICAgIG1faW1w
bC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAn
c2lnbiciKSk7CiAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBOT1RfU1VQUE9SVEVEX0VS
Uik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0KQEAgLTMwNCw3ICszMDQs
NyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjp2ZXJpZnkoRXhlY1N0YXRlKiBleGVjKQogICAg
ICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYyk7CiAKICAgICBpZiAoIWtleS0+YWxsb3dz
KENyeXB0b0tleVVzYWdlVmVyaWZ5KSkgewotICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkg
dXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd2ZXJpZnknIik7CisgICAgICAgIG1faW1wbC0+ZG9jdW1l
bnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAndmVyaWZ5JyIp
KTsKICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIE5PVF9TVVBQT1JURURfRVJSKTsKICAg
ICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgfQpAQCAtNjM5LDcgKzYzOSw3IEBAIEpT
VmFsdWUgSlNTdWJ0bGVDcnlwdG86OndyYXBLZXkoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICBy
ZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYyk7CiAKICAgICBpZiAoIXdyYXBwaW5nS2V5LT5hbGxv
d3MoQ3J5cHRvS2V5VXNhZ2VXcmFwS2V5KSkgewotICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJL
ZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd3cmFwS2V5JyIpOworICAgICAgICBtX2ltcGwtPmRv
Y3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2
ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ3dyYXBL
ZXknIikpOwogICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIp
OwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICB9CkBAIC03MTgsNyArNzE4LDcg
QEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6dW53cmFwS2V5KEV4ZWNTdGF0ZSogZXhlYykKICAg
ICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCF1bndyYXBwaW5n
S2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VVbndyYXBLZXkpKSB7Ci0gICAgICAgIG1faW1wbC0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ3Vud3JhcEtleSciKTsKKyAgICAg
ICAgbV9pbXBsLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpK
UywgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJLZXkgdXNhZ2VzIGRvIG5vdCBp
bmNsdWRlICd1bndyYXBLZXknIikpOwogICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgTk9U
X1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4
IGJkNThiODIuLmRhZGViM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiUGFnZS5oIgog
I2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKLSNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5j
bHVkZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIK
QEAgLTUwLDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgogI2lu
Y2x1ZGUgPGRlYnVnZ2VyL0RlYnVnZ2VyLmg+CiAjaW5jbHVkZSA8aGVhcC9TdHJvbmdJbmxpbmVz
Lmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHJ1
bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtNDgyLDcgKzQ4Miw3IEBAIGJvb2wgU2Ny
aXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMoUmVhc29uRm9yQ2FsbGluZ0NhbkV4ZWN1
dGVTY3JpcHRzIHJlYXNvCiAgICAgaWYgKG1fZnJhbWUuZG9jdW1lbnQoKSAmJiBtX2ZyYW1lLmRv
Y3VtZW50KCktPmlzU2FuZGJveGVkKFNhbmRib3hTY3JpcHRzKSkgewogICAgICAgICAvLyBGSVhN
RTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNv
bHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQg
ZXhpc3RzLgogICAgICAgICBpZiAocmVhc29uID09IEFib3V0VG9FeGVjdXRlU2NyaXB0KQotICAg
ICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBzY3JpcHQgZXhlY3V0aW9u
IGluICciICsgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVk
VG9MZW5ndGgoKSArICInIGJlY2F1c2UgdGhlIGRvY3VtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVk
IGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAg
ICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJCbG9ja2VkIHNjcmlwdCBleGVjdXRp
b24gaW4gJyIgKyBtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6
ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSB0aGUgZG9jdW1lbnQncyBmcmFtZSBpcyBzYW5kYm94
ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDFjZTU0NGEuLmM0NzRkYjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCkBAIC0zMDM2LDkgKzMwMzYsOSBAQCBzdWIgR2VuZXJhdGVDYWxsV2l0aAogICAgICAgICBw
dXNoKEBjYWxsV2l0aEFyZ3MsICJzY3JpcHRDb250ZXh0Iik7CiAgICAgfQogICAgIGlmICgkZnVu
Y3Rpb24gYW5kICRjb2RlR2VuZXJhdG9yLT5FeHRlbmRlZEF0dHJpYnV0ZUNvbnRhaW5zKCRjYWxs
V2l0aCwgIlNjcmlwdEFyZ3VtZW50cyIpKSB7Ci0gICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICBSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBzY3JpcHRBcmd1bWVudHMoY3JlYXRlU2NyaXB0
QXJndW1lbnRzKGV4ZWMsICIgLiBAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc30gLiAiKSk7XG4iKTsK
LSAgICAgICAgJGltcGxJbmNsdWRlc3siU2NyaXB0QXJndW1lbnRzLmgifSA9IDE7Ci0gICAgICAg
ICRpbXBsSW5jbHVkZXN7IlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCJ9ID0gMTsKKyAgICAgICAg
cHVzaChAJG91dHB1dEFycmF5LCAiICAgIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50
cz4gc2NyaXB0QXJndW1lbnRzKEluc3BlY3Rvcjo6Y3JlYXRlU2NyaXB0QXJndW1lbnRzKGV4ZWMs
ICIgLiBAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc30gLiAiKSk7XG4iKTsKKyAgICAgICAgJGltcGxJ
bmNsdWRlc3siPGluc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaD4ifSA9IDE7CisgICAgICAgICRp
bXBsSW5jbHVkZXN7IjxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPiJ9ID0gMTsK
ICAgICAgICAgcHVzaChAY2FsbFdpdGhBcmdzLCAic2NyaXB0QXJndW1lbnRzLnJlbGVhc2UoKSIp
OwogICAgIH0KICAgICByZXR1cm4gQGNhbGxXaXRoQXJnczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggMjhmNTI3
OC4uNzc5MmI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTQ0LDE0ICs0NCwxNCBAQAogI2luY2x1ZGUgIlNW
R0RvY3VtZW50LmgiCiAjaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJTVkdTdGF0aWNQ
cm9wZXJ0eVRlYXJPZmYuaCIKLSNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKLSNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgog
I2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CiAjaW5jbHVkZSAiVGVzdE9iai5oIgogI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgImJvb2wu
aCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+CisjaW5jbHVkZSA8aW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDxydW50aW1lL0Vycm9y
Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0FycmF5Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU1N0
cmluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA4MzdkMGEyLi4xNzQyZTdjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMTE0ODgsNyArMTE0ODgsNyBAQCB2b2lkIENT
U1BhcnNlcjo6bG9nRXJyb3IoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlcikK
IHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE0MzEzPiBDU1MgcGFyc2Vy
IGNvbnNvbGUgbWVzc2FnZSBlcnJvcnMgc2hvdWxkIGluY2x1ZGUgY29sdW1uIG51bWJlcnMuCiAg
ICAgUGFnZUNvbnNvbGUmIGNvbnNvbGUgPSBtX3N0eWxlU2hlZXQtPnNpbmdsZU93bmVyRG9jdW1l
bnQoKS0+cGFnZSgpLT5jb25zb2xlKCk7Ci0gICAgY29uc29sZS5hZGRNZXNzYWdlKENTU01lc3Nh
Z2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIG1fc3R5bGVTaGVldC0+YmFz
ZVVSTCgpLnN0cmluZygpLCBsaW5lTnVtYmVyICsgMSwgMCk7CisgICAgY29uc29sZS5hZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6OkNTUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBtZXNzYWdlLCBt
X3N0eWxlU2hlZXQtPmJhc2VVUkwoKS5zdHJpbmcoKSwgbGluZU51bWJlciArIDEsIDApOwogfQog
CiBQYXNzUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4gQ1NTUGFyc2VyOjpjcmVhdGVLZXlmcmFt
ZXNSdWxlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxWZWN0b3I8UmVmUHRyPFN0eWxl
S2V5ZnJhbWU+Pj4gcG9wS2V5ZnJhbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcAppbmRleCAy
MGY5MjhkLi4zY2ExMWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcApAQCAtMzEwLDcgKzMx
MCw3IEBAIHN0YXRpYyB2b2lkIGFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZShE
b2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluCiAKICAgICBtZXNzYWdlLmFwcGVuZChzZXJp
YWxpemVkRXhwcmVzc2lvbik7CiAKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoQ1NT
TWVzc2FnZVNvdXJjZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpDU1MsIE1lc3NhZ2VMZXZlbDo6RGVi
dWcsIG1lc3NhZ2UpOwogfQogCiB2b2lkIHJlcG9ydE1lZGlhUXVlcnlXYXJuaW5nSWZOZWVkZWQo
RG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBNZWRpYVF1ZXJ5U2V0KiBtZWRpYVF1ZXJ5U2V0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMmFlMTY1Zi4uZGYyOGJiNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCkBAIC02MCw5ICs2MCw2IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIK
ICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgot
I2luY2x1ZGUgIkhhc2hDaGFuZ2VFdmVudC5oIgotI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQu
aCIKLSNpbmNsdWRlICJIaXN0b3J5LmgiCiAjaW5jbHVkZSAiSFRNTEFsbENvbGxlY3Rpb24uaCIK
ICNpbmNsdWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxCYXNlRWxlbWVu
dC5oIgpAQCAtODYsNiArODMsOSBAQAogI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MVGl0bGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKKyNp
bmNsdWRlICJIYXNoQ2hhbmdlRXZlbnQuaCIKKyNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0Lmgi
CisjaW5jbHVkZSAiSGlzdG9yeS5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNs
dWRlICJJY29uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkltYWdlTG9hZGVyLmgiCkBAIC0xMjIs
NyArMTIyLDYgQEAKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVk
ZSAiU2NoZW1lUmVnaXN0cnkuaCIKICNpbmNsdWRlICJTY29wZWRFdmVudFF1ZXVlLmgiCi0jaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgog
I2luY2x1ZGUgIlNjcmlwdFJ1bm5lci5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIK
QEAgLTE0OSw2ICsxNDgsNyBAQAogI2luY2x1ZGUgIlhQYXRoTlNSZXNvbHZlci5oIgogI2luY2x1
ZGUgIlhQYXRoUmVzdWx0LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKKyNpbmNsdWRlIDxp
bnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CiAjaW5jbHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0J1ZmZlci5oPgpAQCAtMjU3Niw5ICsyNTc2LDkgQEAgRXZlbnRUYXJnZXQqIERvY3VtZW50
OjplcnJvckV2ZW50VGFyZ2V0KCkKICAgICByZXR1cm4gbV9kb21XaW5kb3cuZ2V0KCk7CiB9CiAK
LXZvaWQgRG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29s
dW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQordm9pZCBE
b2N1bWVudDo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdl
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1i
ZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsK
LSAgICBhZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGVycm9y
TWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNhbGxTdGFjayk7
CisgICAgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwg
ZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2FsbFN0
YWNrKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0VVJMKGNvbnN0IFVSTCYgdXJsKQpAQCAtMjg0
Myw3ICsyODQzLDcgQEAgdm9pZCBEb2N1bWVudDo6cHJvY2Vzc0h0dHBFcXVpdihjb25zdCBTdHJp
bmcmIGVxdWl2LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiAgICAgICAgICAgICAgICAgLy8gaW50
ZW50LCB3ZSBtdXN0IG5hdmlnYXRlIGF3YXkgZnJvbSB0aGUgcG9zc2libHkgcGFydGlhbGx5LXJl
bmRlcmVkIGRvY3VtZW50IHRvIGEgbG9jYXRpb24gdGhhdAogICAgICAgICAgICAgICAgIC8vIGRv
ZXNuJ3QgaW5oZXJpdCB0aGUgcGFyZW50J3MgU2VjdXJpdHlPcmlnaW4uCiAgICAgICAgICAgICAg
ICAgZnJhbWUtPm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZUxvY2F0aW9uQ2hhbmdlKHNl
Y3VyaXR5T3JpZ2luKCksIFNlY3VyaXR5T3JpZ2luOjp1cmxXaXRoVW5pcXVlU2VjdXJpdHlPcmln
aW4oKSwgU3RyaW5nKCkpOwotICAgICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKFNlY3Vy
aXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVu
dGlmaWVyKTsKKyAgICAgICAgICAgICAgICBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSwgcmVxdWVzdElkZW50aWZp
ZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9y
aW5nQ2FzZShlcXVpdiwgImNvbnRlbnQtc2VjdXJpdHktcG9saWN5IikpCkBAIC00ODM5LDcgKzQ4
MzksNyBAQCB2b2lkIERvY3VtZW50OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNv
dXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdAogICAgICAgICBwYWdlLT5jb25zb2xlKCku
YWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllciwgdGhp
cyk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogc3Rh
dGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIERvY3VtZW50OjphZGRN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENh
bGxTdGFjaz4gY2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIpCiB7CiAgICAgaWYgKCFpc0NvbnRleHRUaHJlYWQoKSkgewogICAg
ICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZShzb3VyY2UsIGxldmVs
LCBtZXNzYWdlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDMxYjA2NzkuLjM2ZDZhMTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTQzLDcgKzExNDMsNyBAQCBwdWJsaWM6CiAjZW5kaWYK
IAogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSBvdmVycmlkZTsK
LSAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJy
b3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBj
b2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1u
TnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPikgb3ZlcnJpZGU7
CiAKICAgICB2b2lkIGluaXRETlNQcmVmZXRjaCgpOwogCkBAIC0xMjY2LDcgKzEyNjYsNyBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCByZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgb3Zl
cnJpZGUgeyByZWYoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkZXJlZlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSBvdmVycmlkZSB7IGRlcmVmKCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29s
dW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9
IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlw
dENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIgPSAwKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW1UaW1l
ckludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50
LmNwcAppbmRleCBkN2IyYjc0Li5kZmQ3ZDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1l
bnQuY3BwCkBAIC0yNCw5ICsyNCw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RWxlbWVudC5oIgogCi0jaW5jbHVkZSAiQ2FjaGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAi
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZVJlcXVlc3Qu
aCIKKyNpbmNsdWRlICJDYWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQ
b2xpY3kuaCIKICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRl
ICJDdXJyZW50U2NyaXB0SW5jcmVtZW50ZXIuaCIKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRl
ICJJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIgogI2luY2x1ZGUgIk1J
TUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2Fs
bFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlw
dFJ1bm5lci5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKQEAgLTQ3LDYgKzQ2LDcg
QEAKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRleHROb2RlVHJhdmVyc2FsLmgi
CiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdI
YXNoLmg+CkBAIC0yOTQsNyArMjk0LDcgQEAgdm9pZCBTY3JpcHRFbGVtZW50OjpleGVjdXRlU2Ny
aXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCiAKICNpZiBFTkFCTEUoTk9T
TklGRikKICAgICBpZiAobV9pc0V4dGVybmFsU2NyaXB0ICYmIG1fY2FjaGVkU2NyaXB0ICYmICFt
X2NhY2hlZFNjcmlwdC0+bWltZVR5cGVBbGxvd2VkQnlOb3NuaWZmKCkpIHsKLSAgICAgICAgbV9l
bGVtZW50LT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJSZWZ1c2VkIHRvIGV4ZWN1dGUgc2NyaXB0IGZyb20gJyIg
KyBtX2NhY2hlZFNjcmlwdC0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkg
KyAiJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBl
KCkgKyAiJykgaXMgbm90IGV4ZWN1dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNoZWNraW5n
IGlzIGVuYWJsZWQuIik7CisgICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIlJl
ZnVzZWQgdG8gZXhlY3V0ZSBzY3JpcHQgZnJvbSAnIiArIG1fY2FjaGVkU2NyaXB0LT51cmwoKS5z
dHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgaXRzIE1JTUUgdHlw
ZSAoJyIgKyBtX2NhY2hlZFNjcmlwdC0+bWltZVR5cGUoKSArICInKSBpcyBub3QgZXhlY3V0YWJs
ZSwgYW5kIHN0cmljdCBNSU1FIHR5cGUgY2hlY2tpbmcgaXMgZW5hYmxlZC4iKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICNlbmRpZgpAQCAtMzUxLDcgKzM1MSw3IEBAIHZvaWQgU2NyaXB0RWxl
bWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogCiAgICAgICAg
IGRpc3BhdGNoRXJyb3JFdmVudCgpOwogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmlu
ZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9h
ZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7Ci0g
ICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIG1fZWxl
bWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVz
c2FnZUxldmVsOjpFcnJvciwgY29uc29sZU1lc3NhZ2UpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5k
ZXggY2E2MDQxZi4uMzY2NTIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcApAQCAtMzMsMTAgKzMzLDEwIEBACiAjaW5jbHVkZSAiRXJyb3JFdmVu
dC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAiUHVibGljVVJMTWFuYWdl
ci5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQu
aCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3Rm
L01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKQEAgLTUxLDYgKzUxLDggQEAK
ICNpbmNsdWRlICJEYXRhYmFzZUNvbnRleHQuaCIKICNlbmRpZgogCit1c2luZyBuYW1lc3BhY2Ug
SW5zcGVjdG9yOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFByb2Nlc3NNZXNzYWdl
c1Nvb25UYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggMWM3ZjBkYS4uYjVi
ZjgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBA
IC0yOSwxMCArMjksMTAgQEAKICNkZWZpbmUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dF9oCiAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKLSNp
bmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJTZWN1cml0eUNvbnRleHQuaCIKICNpbmNsdWRlICJT
dXBwbGVtZW50YWJsZS5oIgorI2luY2x1ZGUgIlVSTC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9D
b25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCiBuYW1lc3BhY2UgSlND
IHsKQEAgLTQwLDYgKzQwLDEwIEBAIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIFZNOwogfQogCitu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKK2NsYXNzIFNjcmlwdENhbGxTdGFjazsKK30KKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBDYWNoZWRTY3JpcHQ7CkBAIC00OSw3ICs1Myw2IEBAIGNs
YXNzIEV2ZW50TGlzdGVuZXI7CiBjbGFzcyBFdmVudFF1ZXVlOwogY2xhc3MgRXZlbnRUYXJnZXQ7
CiBjbGFzcyBNZXNzYWdlUG9ydDsKLWNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAogI2lmIEVOQUJM
RShCTE9CKQogY2xhc3MgUHVibGljVVJMTWFuYWdlcjsKQEAgLTc1LDcgKzc4LDcgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBzYW5pdGl6ZVNjcmlwdEVycm9yKFN0cmluZyYgZXJyb3JNZXNzYWdlLCBp
bnQmIGxpbmVOdW1iZXIsIGludCYgY29sdW1uTnVtYmVyLCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2Fj
aGVkU2NyaXB0KiA9IDApOwogICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQz
MTU+IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgbG9nIGV4Y2VwdGlvbiBzaG91bGQgaW5jbHVkZSBh
IGNvbHVtbiBudW1iZXIKLSAgICB2b2lkIHJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIENhY2hlZFNjcmlwdCog
PSAwKTsKKyAgICB2b2lkIHJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgQ2FjaGVkU2NyaXB0
KiA9IDApOwogCiAgICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3Rh
dGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogICAgIHZpcnR1
YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAp
ID0gMDsKQEAgLTE3Nyw5ICsxODAsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgQWN0aXZlRE9NT2JqZWN0
OjpSZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbkZvclN1c3BlbmRpbmdBY3RpdmVET01PYmplY3Rz
KCkgY29uc3QgeyByZXR1cm4gbV9yZWFzb25Gb3JTdXNwZW5kaW5nQWN0aXZlRE9NT2JqZWN0czsg
fQogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIgPSAwKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5O
dW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNT
dGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgPSAwOwogICAg
IHZpcnR1YWwgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVy
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbG9n
RXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KSA9IDA7CiAgICAgYm9vbCBkaXNwYXRjaEVy
cm9yRXZlbnQoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQg
Y29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0Kik7CiAK
ICAgICB2b2lkIGNsb3NlTWVzc2FnZVBvcnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0
QXJndW1lbnRzLmNwcAppbmRleCAyYzk1MzlkLi4wZjZjMDgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKQEAgLTQ0OCwxNSArNDQ4LDE1IEBAIHN0YXRpYyBNZXNz
YWdlTGV2ZWwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChWaWV3cG9ydEVycm9yQ29kZSBlcnJv
ckNvZGUpCiB7CiAgICAgc3dpdGNoIChlcnJvckNvZGUpIHsKICAgICBjYXNlIFRydW5jYXRlZFZp
ZXdwb3J0QXJndW1lbnRWYWx1ZUVycm9yOgotICAgICAgICByZXR1cm4gV2FybmluZ01lc3NhZ2VM
ZXZlbDsKKyAgICAgICAgcmV0dXJuIE1lc3NhZ2VMZXZlbDo6V2FybmluZzsKICAgICBjYXNlIFVu
cmVjb2duaXplZFZpZXdwb3J0QXJndW1lbnRLZXlFcnJvcjoKICAgICBjYXNlIFVucmVjb2duaXpl
ZFZpZXdwb3J0QXJndW1lbnRWYWx1ZUVycm9yOgogICAgIGNhc2UgTWF4aW11bVNjYWxlVG9vTGFy
Z2VFcnJvcjoKLSAgICAgICAgcmV0dXJuIEVycm9yTWVzc2FnZUxldmVsOworICAgICAgICByZXR1
cm4gTWVzc2FnZUxldmVsOjpFcnJvcjsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICByZXR1cm4gRXJyb3JNZXNzYWdlTGV2ZWw7CisgICAgcmV0dXJuIE1lc3NhZ2VMZXZl
bDo6RXJyb3I7CiB9CiAKIHZvaWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1
bWVudCwgVmlld3BvcnRFcnJvckNvZGUgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2Vt
ZW50MSwgY29uc3QgU3RyaW5nJiByZXBsYWNlbWVudDIpCkBAIC00NzUsNyArNDc1LDcgQEAgdm9p
ZCByZXBvcnRWaWV3cG9ydFdhcm5pbmcoRG9jdW1lbnQqIGRvY3VtZW50LCBWaWV3cG9ydEVycm9y
Q29kZSBlcnJvckNvZGUsIGNvbnMKICAgICAgICAgbWVzc2FnZS5hcHBlbmQoIiBOb3RlIHRoYXQg
JzsnIGlzIG5vdCBhIHNlcGFyYXRvciBpbiB2aWV3cG9ydCB2YWx1ZXMuIFRoZSBsaXN0IHNob3Vs
ZCBiZSBjb21tYS1zZXBhcmF0ZWQuIik7CiAKICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNo
b3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgIGRvY3Vt
ZW50LT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCB2aWV3cG9ydEVy
cm9yTWVzc2FnZUxldmVsKGVycm9yQ29kZSksIG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRD
b25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpSZW5kZXJpbmcsIHZpZXdwb3J0RXJyb3JNZXNz
YWdlTGV2ZWwoZXJyb3JDb2RlKSwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCmluZGV4IDY3MjZiZjQuLjYzNDFkMTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9CbG9iLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkJsb2JVUkwuaCIK
ICNpbmNsdWRlICJGaWxlLmgiCiAjaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgotI2luY2x1
ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKICNpbmNsdWRlICJUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRC
bG9iQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVy
LmNwcAppbmRleCBjNDdlYjFmLi44YTQ1ODA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L1dlYktpdEJsb2JCdWlsZGVyLmNwcApAQCAtMjksNyArMjksNiBAQAogICovCiAKICNpbmNsdWRl
ICJjb25maWcuaCIKLQogI2luY2x1ZGUgIldlYktpdEJsb2JCdWlsZGVyLmgiCiAKICNpbmNsdWRl
ICJCbG9iLmgiCkBAIC0zOCw3ICszNyw2IEBACiAjaW5jbHVkZSAiRmlsZS5oIgogI2luY2x1ZGUg
Ikhpc3RvZ3JhbVN1cHBvcnQuaCIKICNpbmNsdWRlICJMaW5lRW5kaW5nLmgiCi0jaW5jbHVkZSAi
U2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCiAjaW5jbHVkZSA8
cnVudGltZS9BcnJheUJ1ZmZlci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXJWaWV3
Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApp
bmRleCBlNjEwMjI5Li42Mzg4MTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTE4MCw3ICsxODAsNyBAQCBzdGF0aWMgYm9vbCBzaG91
bGRBdXRvZm9jdXMoSFRNTEZvcm1Db250cm9sRWxlbWVudCogZWxlbWVudCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIGlmIChlbGVtZW50LT5kb2N1bWVudCgpLmlzU2FuZGJveGVkKFNhbmRi
b3hBdXRvbWF0aWNGZWF0dXJlcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBz
aG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAg
ZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNv
bnRyb2wgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxv
dy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIGVsZW1lbnQtPmRv
Y3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBm
b3JtIGNvbnRyb2wgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhl
ICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIikpOwogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogICAgIGlmIChlbGVtZW50LT5oYXNBdXRvZm9jdXNlZCgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDEzMmVkOTEuLjYwYTEzODcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTI1Myw3ICsyNTMs
NyBAQCBib29sIEhUTUxGb3JtRWxlbWVudDo6dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KEV2ZW50KiBl
dmVudCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIFN0cmluZyBtZXNz
YWdlKCJBbiBpbnZhbGlkIGZvcm0gY29udHJvbCB3aXRoIG5hbWU9JyVuYW1lJyBpcyBub3QgZm9j
dXNhYmxlLiIpOwogICAgICAgICAgICAgbWVzc2FnZS5yZXBsYWNlKCIlbmFtZSIsIGNvbnRyb2wu
bmFtZSgpKTsKLSAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVy
aW5nTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICAg
ICAgZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpSZW5kZXJpbmcs
IE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCmluZGV4IGEyZjlkMTAuLjQxODEz
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCkBAIC04MSw3
ICs4MSw3IEBAIHZvaWQgSFRNTElGcmFtZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0CiAgICAgICAgIFN0cmluZyBpbnZhbGlk
VG9rZW5zOwogICAgICAgICBzZXRTYW5kYm94RmxhZ3ModmFsdWUuaXNOdWxsKCkgPyBTYW5kYm94
Tm9uZSA6IFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KHZhbHVlLCBpbnZhbGlk
VG9rZW5zKSk7CiAgICAgICAgIGlmICghaW52YWxpZFRva2Vucy5pc051bGwoKSkKLSAgICAgICAg
ICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkVycm9yIHdoaWxlIHBhcnNpbmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1
dGU6ICIgKyBpbnZhbGlkVG9rZW5zKTsKKyAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29s
ZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJFcnJv
ciB3aGlsZSBwYXJzaW5nIHRoZSAnc2FuZGJveCcgYXR0cmlidXRlOiAiICsgaW52YWxpZFRva2Vu
cyk7CiAgICAgfSBlbHNlIGlmIChuYW1lID09IHNlYW1sZXNzQXR0cikgewogICAgICAgICAvLyBJ
ZiB3ZSdyZSBhZGRpbmcgb3IgcmVtb3ZpbmcgdGhlIHNlYW1sZXNzIGF0dHJpYnV0ZSwgd2UgbmVl
ZCB0byBmb3JjZSB0aGUgY29udGVudCBkb2N1bWVudCB0byByZWNhbGN1bGF0ZSBpdHMgU3R5bGVS
ZXNvbHZlci4KICAgICAgICAgaWYgKGNvbnRlbnREb2N1bWVudCgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggOWY5OTdiMC4uYzJjZDFmOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0yNzQ3LDcgKzI3NDcsNyBAQCB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJp
bmcmIGtleVN5c3RlbSwgUGFzc1JlZgogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUFfVjIpCiAg
ICAgc3RhdGljIGJvb2wgZmlyc3RUaW1lID0gdHJ1ZTsKICAgICBpZiAoZmlyc3RUaW1lICYmIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZl
bCwgIidIVE1MTWVkaWFFbGVtZW50LndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgpJyBpcyBkZXBy
ZWNhdGVkLiAgVXNlICdNZWRpYUtleXMuY3JlYXRlU2Vzc2lvbigpJyBpbnN0ZWFkLiIpOworICAg
ICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIEFTQ0lJTGl0ZXJhbCgiJ0hUTUxNZWRp
YUVsZW1lbnQud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCknIGlzIGRlcHJlY2F0ZWQuICBVc2Ug
J01lZGlhS2V5cy5jcmVhdGVTZXNzaW9uKCknIGluc3RlYWQuIikpOwogICAgICAgICBmaXJzdFRp
bWUgPSBmYWxzZTsKICAgICB9CiAjZW5kaWYKQEAgLTI3ODMsNyArMjc4Myw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6d2Via2l0QWRkS2V5KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBQYXNz
UmVmUHRyPFVpbnQ4QXJyCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQV9WMikKICAgICBzdGF0
aWMgYm9vbCBmaXJzdFRpbWUgPSB0cnVlOwogICAgIGlmIChmaXJzdFRpbWUgJiYgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiJ0hU
TUxNZWRpYUVsZW1lbnQud2Via2l0QWRkS2V5KCknIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ01lZGlh
S2V5U2Vzc2lvbi51cGRhdGUoKScgaW5zdGVhZC4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxl
dmVsOjpXYXJuaW5nLCBBU0NJSUxpdGVyYWwoIidIVE1MTWVkaWFFbGVtZW50LndlYmtpdEFkZEtl
eSgpJyBpcyBkZXByZWNhdGVkLiAgVXNlICdNZWRpYUtleVNlc3Npb24udXBkYXRlKCknIGluc3Rl
YWQuIikpOwogICAgICAgICBmaXJzdFRpbWUgPSBmYWxzZTsKICAgICB9CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuY3BwCmluZGV4IDQ3ZDg3ZWQuLmVhZWQ3ODQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtMTg0OCw3
ICsxODQ4LDcgQEAgUGFzc1JlZlB0cjxJbWFnZURhdGE+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6Z2V0SW1hZ2VEYXRhKEltYWdlQnVmZmVyOjpDb29yZGkKIHsKICAgICBpZiAoIWNhbnZhcygp
LT5vcmlnaW5DbGVhbigpKSB7CiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBj
b25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiVW5hYmxlIHRvIGdldCBpbWFnZSBkYXRhIGZy
b20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVkIGJ5IGNyb3NzLW9y
aWdpbiBkYXRhLiIpKSk7Ci0gICAgICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLmFkZENvbnNvbGVN
ZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVN
ZXNzYWdlKTsKKyAgICAgICAgY2FudmFzKCktPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGNvbnNvbGVNZXNz
YWdlKTsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHQuY3BwCmluZGV4IDM4MTAzOTkuLmE3ZmVmYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNTUyOCw3ICs1
NTI4LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnByaW50V2FybmluZ1RvQ29uc29s
ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKCFjYW52YXMoKSkKICAgICAgICAg
cmV0dXJuOwotICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKFJlbmRl
cmluZ01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGNh
bnZhcygpLT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlJlbmRl
cmluZywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBtZXNzYWdlKTsKIH0KIAogYm9vbCBXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlRnJhbWVidWZmZXJGdW5jUGFyYW1ldGVycyhjb25zdCBj
aGFyKiBmdW5jdGlvbk5hbWUsIEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gYXR0YWNobWVudCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKaW5kZXggMWJmNWEwOS4u
MTFiYzViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKQEAg
LTI4OCw3ICsyODgsNyBAQCB2b2lkIFhTU0F1ZGl0b3I6OmluaXQoRG9jdW1lbnQqIGRvY3VtZW50
LCBYU1NBdWRpdG9yRGVsZWdhdGUqIGF1ZGl0b3JEZWxlZ2F0ZSkKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgICAgICBpZiAoeHNzUHJvdGVjdGlvbkhlYWRlciA9PSBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OlJlZmxlY3RlZFhTU0ludmFsaWQpCi0gICAgICAgICAgICBkb2N1bWVudC0+YWRk
Q29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IkVycm9yIHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246ICIgKyBoZWFkZXJWYWx1ZSAr
ICI6ICIgICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIgcG9zaXRpb24gIiArIFN0cmlu
Zzo6Zm9ybWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhlIGRlZmF1bHQgcHJvdGVjdGlv
bnMgd2lsbCBiZSBhcHBsaWVkLiIpOworICAgICAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiRXJy
b3IgcGFyc2luZyBoZWFkZXIgWC1YU1MtUHJvdGVjdGlvbjogIiArIGhlYWRlclZhbHVlICsgIjog
IiAgKyBlcnJvckRldGFpbHMgKyAiIGF0IGNoYXJhY3RlciBwb3NpdGlvbiAiICsgU3RyaW5nOjpm
b3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlvbikgKyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0aW9ucyB3
aWxsIGJlIGFwcGxpZWQuIik7CiAKICAgICAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWZs
ZWN0ZWRYU1NEaXNwb3NpdGlvbiBjc3BIZWFkZXIgPSBkb2N1bWVudC0+Y29udGVudFNlY3VyaXR5
UG9saWN5KCktPnJlZmxlY3RlZFhTU0Rpc3Bvc2l0aW9uKCk7CiAgICAgICAgIG1fZGlkU2VuZFZh
bGlkQ1NQSGVhZGVyID0gY3NwSGVhZGVyICE9IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVmbGVj
dGVkWFNTVW5zZXQgJiYgY3NwSGVhZGVyICE9IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVmbGVj
dGVkWFNTSW52YWxpZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hT
U0F1ZGl0b3JEZWxlZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRp
dG9yRGVsZWdhdGUuY3BwCmluZGV4IGQwNjA2OWIuLjljYmEwNjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcApAQCAtOTgsNyArOTgs
NyBAQCB2b2lkIFhTU0F1ZGl0b3JEZWxlZ2F0ZTo6ZGlkQmxvY2tTY3JpcHQoY29uc3QgWFNTSW5m
byYgeHNzSW5mbykKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCi0gICAgbV9kb2N1
bWVudC5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBidWlsZENvbnNvbGVFcnJvcih4c3NJbmZvLCBtX2RvY3VtZW50LnVybCgpLnN0cmluZygpKSk7
CisgICAgbV9kb2N1bWVudC5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVz
c2FnZUxldmVsOjpFcnJvciwgYnVpbGRDb25zb2xlRXJyb3IoeHNzSW5mbywgbV9kb2N1bWVudC51
cmwoKS5zdHJpbmcoKSkpOwogCiAgICAgRnJhbWVMb2FkZXImIGZyYW1lTG9hZGVyID0gbV9kb2N1
bWVudC5mcmFtZSgpLT5sb2FkZXIoKTsKICAgICBpZiAoeHNzSW5mby5tX2RpZEJsb2NrRW50aXJl
UGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQ
SUhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5j
cHAKaW5kZXggOTJmMWQyNy4uZjQwNGE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJG
cmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckNsaWVudC5oIgotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9N
U3RvcmFnZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oIgpAQCAt
NDksNiArNDgsNyBAQAogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+CiAjaW5jbHVk
ZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yQWdlbnQuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckNvbnNvbGVBZ2VudC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
U3RkTGliRXh0cmFzLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b21tYW5kTGluZUFQSUhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGlu
ZUFQSUhvc3QuaAppbmRleCA2ZjkwMjVmLi4wOGYwYzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCkBAIC0zMCw4ICszMCw4IEBACiAjaWZuZGVm
IENvbW1hbmRMaW5lQVBJSG9zdF9oCiAjZGVmaW5lIENvbW1hbmRMaW5lQVBJSG9zdF9oCiAKLSNp
bmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1
ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KQEAgLTQyLDYgKzQyLDcgQEAgY2xhc3MgU2NyaXB0VmFsdWU7CiAKIG5hbWVzcGFjZSBJbnNw
ZWN0b3IgewogY2xhc3MgSW5zcGVjdG9yQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdl
bnQ7CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBJbnNwZWN0b3JWYWx1ZTsKIH0KQEAg
LTQ5LDcgKzUwLDYgQEAgY2xhc3MgSW5zcGVjdG9yVmFsdWU7CiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIERhdGFiYXNlOwotY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwogY2xhc3Mg
SW5zcGVjdG9yRE9NQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ7CiBjbGFz
cyBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OwpAQCAtNjQsMTEgKzY0LDExIEBAIHB1YmxpYzoKICAg
ICB+Q29tbWFuZExpbmVBUElIb3N0KCk7CiAKICAgICB2b2lkIGluaXQoSW5zcGVjdG9yOjpJbnNw
ZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQKLSAgICAgICAgICAgICwgSW5zcGVjdG9yQ29uc29s
ZUFnZW50KiBjb25zb2xlQWdlbnQKLSAgICAgICAgICAgICwgSW5zcGVjdG9yRE9NQWdlbnQqIGRv
bUFnZW50Ci0gICAgICAgICAgICAsIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCogZG9tU3RvcmFn
ZUFnZW50CisgICAgICAgICwgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudAorICAgICAgICAsIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudAorICAgICAgICAs
IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCogZG9tU3RvcmFnZUFnZW50CiAjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKLSAgICAgICAgICAgICwgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogZGF0YWJh
c2VBZ2VudAorICAgICAgICAsIEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGRhdGFiYXNlQWdlbnQK
ICNlbmRpZgogICAgICAgICApCiAgICAgewpAQCAtMTA4LDcgKzEwOCw3IEBAIHByaXZhdGU6CiAg
ICAgQ29tbWFuZExpbmVBUElIb3N0KCk7CiAKICAgICBJbnNwZWN0b3I6Okluc3BlY3RvckFnZW50
KiBtX2luc3BlY3RvckFnZW50OwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xl
QWdlbnQ7CisgICAgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqIG1fY29uc29sZUFn
ZW50OwogICAgIEluc3BlY3RvckRPTUFnZW50KiBtX2RvbUFnZW50OwogICAgIEluc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudCogbV9kb21TdG9yYWdlQWdlbnQ7CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9u
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCmlu
ZGV4IGY3MjUyMjMuLmM1YzdhNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckFsbEluT25lLmNwcApAQCAtNzQsNiArNzQsNyBAQAogI2luY2x1ZGUgIlNjcmlwdENh
bGxGcmFtZS5jcHAiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmNwcCIKICNpbmNsdWRlICJU
aW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIgorI2luY2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5jcHAi
CiAjaW5jbHVkZSAiV2ViRGVidWdnZXJBZ2VudC5jcHAiCiAjaW5jbHVkZSAiV29ya2VyQ29uc29s
ZUFnZW50LmNwcCIKICNpbmNsdWRlICJXb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNzQ5YmFkOC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSwx
MTUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0g
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBJbnNwZWN0b3JDb25zb2xlQWdlbnRf
aAotI2RlZmluZSBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAotCi0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKLQotI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBl
cy5oIgotI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgotI2luY2x1ZGUgIkluc3Bl
Y3RvcldlYkJhY2tlbmREaXNwYXRjaGVycy5oIgotI2luY2x1ZGUgIkluc3BlY3RvcldlYkZyb250
ZW5kRGlzcGF0Y2hlcnMuaCIKLSNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgotI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nSGFzaC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENvbnNvbGVNZXNz
YWdlOwotY2xhc3MgRE9NV2luZG93OwotY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKLWNsYXNz
IFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXI7Ci1jbGFzcyBSZXNvdXJjZUVycm9yOwotY2xhc3Mg
UmVzb3VyY2VSZXNwb25zZTsKLWNsYXNzIFNjcmlwdEFyZ3VtZW50czsKLWNsYXNzIFNjcmlwdENh
bGxTdGFjazsKLWNsYXNzIFNjcmlwdFByb2ZpbGU7Ci0KLXR5cGVkZWYgU3RyaW5nIEVycm9yU3Ry
aW5nOwotCi1jbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQWdl
bnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQmFja2VuZERpc3BhdGNo
ZXJIYW5kbGVyIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb25zb2xlQWdl
bnQpOwotcHVibGljOgotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudChJbnN0cnVtZW50aW5nQWdl
bnRzKiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOwotICAgIHZpcnR1YWwgfkluc3BlY3Rv
ckNvbnNvbGVBZ2VudCgpOwotCi0gICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyop
IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKikgb3ZlcnJp
ZGU7Ci0gICAgdmlydHVhbCB2b2lkIGNsZWFyTWVzc2FnZXMoRXJyb3JTdHJpbmcqKSBvdmVycmlk
ZTsKLSAgICBib29sIGVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2VuYWJsZWQ7IH0KLSAgICB2
b2lkIHJlc2V0KCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCB3aWxs
RGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckRpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwotCi0gICAgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VT
b3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
SlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIHVuc2lnbmVkIGxv
bmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKLSAgICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUo
TWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlwdElELCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVuc2lnbmVkIGxv
bmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKLQotICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSB3
ZSBubyBsb25nZXIgZ2VuZXJhdGUgc3RhY2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgotICAgIHZv
aWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwotCi0gICAgVmVjdG9yPHVu
c2lnbmVkPiBjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCk7Ci0KLSAgICB2b2lkIHN0YXJ0
VGltaW5nKGNvbnN0IFN0cmluZyYgdGl0bGUpOwotICAgIHZvaWQgc3RvcFRpbWluZyhjb25zdCBT
dHJpbmcmIHRpdGxlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwotICAgIHZvaWQgY291
bnQoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotCi0gICAg
dm9pZCBmcmFtZVdpbmRvd0Rpc2NhcmRlZChET01XaW5kb3cqKTsKLQotICAgIHZvaWQgZGlkRmlu
aXNoWEhSTG9hZGluZyh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgU3RyaW5nJiBzZW5kVVJMLCB1bnNpZ25lZCBzZW5kTGluZU51bWJlciwg
dW5zaWduZWQgc2VuZENvbHVtbk51bWJlcik7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2Uo
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYp
OwotICAgIHZvaWQgZGlkRmFpbExvYWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciwgY29uc3QgUmVzb3VyY2VFcnJvciYpOwotICAgIHZvaWQgYWRkUHJvZmlsZUZpbmlzaGVkTWVz
c2FnZVRvQ29uc29sZShQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+LCB1bnNpZ25lZCBsaW5lTnVt
YmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAg
ICB2b2lkIGFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZShjb25zdCBTdHJpbmcmIHRp
dGxlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJs
ZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9p
ZCBhZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCkgPSAwOwotICAgIHZp
cnR1YWwgdm9pZCBhZGRJbnNwZWN0ZWRIZWFwT2JqZWN0KEVycm9yU3RyaW5nKiwgaW50IGluc3Bl
Y3RlZEhlYXBPYmplY3RJZCkgb3ZlcnJpZGU7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJB
Z2VudCgpID0gMDsKLQotcHJvdGVjdGVkOgotICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoUGFz
c093blB0cjxDb25zb2xlTWVzc2FnZT4pOwotCi0gICAgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdl
ciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rv
cjo6SW5zcGVjdG9yQ29uc29sZUZyb250ZW5kRGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNo
ZXI7Ci0gICAgUmVmUHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRj
aGVyPiBtX2JhY2tlbmREaXNwYXRjaGVyOwotICAgIENvbnNvbGVNZXNzYWdlKiBtX3ByZXZpb3Vz
TWVzc2FnZTsKLSAgICBWZWN0b3I8T3duUHRyPENvbnNvbGVNZXNzYWdlPj4gbV9jb25zb2xlTWVz
c2FnZXM7Ci0gICAgaW50IG1fZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQ7Ci0gICAgSGFzaE1h
cDxTdHJpbmcsIHVuc2lnbmVkPiBtX2NvdW50czsKLSAgICBIYXNoTWFwPFN0cmluZywgZG91Ymxl
PiBtX3RpbWVzOwotICAgIGJvb2wgbV9lbmFibGVkOwotICAgIGJvb2wgbV9tb25pdG9yaW5nWEhS
RW5hYmxlZDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCi0KLSNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JDb25zb2xlQWdlbnRf
aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xl
SW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
c29sZUluc3RydW1lbnRhdGlvbi5oCmluZGV4IGVlZTc4N2MuLjE0NjBhZDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVt
ZW50YXRpb24uaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjZGVmaW5lIEluc3BlY3RvckNvbnNvbGVJ
bnN0cnVtZW50YXRpb25faAogCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgi
Ci0jaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNr
LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3Jp
cHRBcmd1bWVudHMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1pbmxp
bmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFn
ZSogcGFnZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VM
ZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQoraW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2Uq
IHBhZ2UsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2
ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNj
cmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
KQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkK
QEAgLTU1LDcgKzU1LDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjph
ZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VTb3UKICNlbmRpZgogfQogCi1p
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUo
UGFnZSogcGFnZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3Nh
Z2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSogc3Rh
dGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1
bWVudHM+IGFyZ3VtZW50cywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCkBAIC05MSw3
ICs5MSw3IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2Fn
ZVRvQ29uc29sZShQYWdlKiBwYWdlLCBNZXNzYWdlU291CiAjZW5kaWYKIH0KIAotaW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckds
b2JhbFNjb3BlKiB3b3JrZXJHbG9iYWxTY29wZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVl
c3RJZGVudGlmaWVyKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRN
ZXNzYWdlVG9Db25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiB3b3JrZXJHbG9iYWxTY29wZSwgTWVz
c2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0
YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JXb3JrZXJHbG9iYWxTY29wZSh3b3Jr
ZXJHbG9iYWxTY29wZSkpCkBAIC0xMjYsNyArMTI2LDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiB3
b3IKICNlbmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNv
bnNvbGVDb3VudChQYWdlKiBwYWdlLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8
U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmNvbnNvbGVDb3VudChQYWdlKiBwYWdlLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUs
IFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCkBAIC0xNDks
NyArMTQ5LDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdGFydENv
bnNvbGVUaW1pbmcoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHIKICNlbmRpZgogfQogCi1pbmxpbmUg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nKEZyYW1lKiBm
cmFtZSwgY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0
YWNrKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdG9wQ29uc29sZVRp
bWluZyhGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRDYWxsU3RhY2s+IHN0YWNrKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAg
ICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQpAQCAtMTYxLDcgKzE2MSw3IEBAIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcENvbnNvbGVUaW1pbmcoRnJhbWUqIGZy
YW1lLCBjb25zdCBTdHJpCiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpjb25zb2xlVGltZVN0YW1wKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGFyZ3VtZW50cykKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6Y29uc29sZVRpbWVTdGFtcChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8SW5zcGVjdG9y
OjpTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwpAQCAtMTg3LDcgKzE4Nyw3
IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkU3RhcnRQcm9maWxp
bmdNZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBhCiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRQcm9maWxlKFBhZ2UqIHBhZ2UsIFJlZlB0cjxTY3Jp
cHRQcm9maWxlPiBwcm9maWxlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNr
KQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRQcm9maWxlKFBhZ2Uq
IHBhZ2UsIFJlZlB0cjxTY3JpcHRQcm9maWxlPiBwcm9maWxlLCBQYXNzUmVmUHRyPEluc3BlY3Rv
cjo6U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikK
ICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDIzM2IwMzguLjk0NDI0MTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAg
LTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKICNpbmNsdWRl
ICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNs
dWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JBcHBsaWNhdGlv
bkNhY2hlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDU1NBZ2VudC5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckNhbnZhc0FnZW50LmgiCkBAIC03Miw2ICs3MSw3IEBACiAjaW5jbHVkZSAiUGFn
ZUluamVjdGVkU2NyaXB0TWFuYWdlci5oIgogI2luY2x1ZGUgIlBhZ2VSdW50aW1lQWdlbnQuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlmaWVyc0Zh
Y3RvcnkuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIu
aD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50Lmg+CiAjaW5jbHVk
ZSA8cnVudGltZS9KU0xvY2suaD4KQEAgLTE0MSw4ICsxNDEsOSBAQCBJbnNwZWN0b3JDb250cm9s
bGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UmIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5z
cGVjdG9yQwogICAgIG1fcmVzb3VyY2VBZ2VudCA9IHJlc291cmNlQWdlbnRQdHIuZ2V0KCk7CiAg
ICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bW92ZShyZXNvdXJjZUFnZW50UHRyKSk7CiAKLSAgICBh
dXRvIGNvbnNvbGVBZ2VudFB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZUNvbnNvbGVBZ2VudD4o
bV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQo
KSwgbV9kb21BZ2VudCk7Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQg
PSBjb25zb2xlQWdlbnRQdHIuZ2V0KCk7CisgICAgYXV0byBjb25zb2xlQWdlbnRQdHIgPSBzdGQ6
Om1ha2VfdW5pcXVlPFBhZ2VDb25zb2xlQWdlbnQ+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdl
dCgpLCBtX2RvbUFnZW50KTsKKyAgICBXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGNv
bnNvbGVBZ2VudFB0ci5nZXQoKTsKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldFdlYkNv
bnNvbGVBZ2VudChjb25zb2xlQWdlbnRQdHIuZ2V0KCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChz
dGQ6Om1vdmUoY29uc29sZUFnZW50UHRyKSk7CiAKICAgICBhdXRvIGRlYnVnZ2VyQWdlbnRQdHIg
PSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VEZWJ1Z2dlckFnZW50PihtX2luamVjdGVkU2NyaXB0TWFu
YWdlci5nZXQoKSwgbV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBwYWdlQWdlbnQsIG1fb3Zl
cmxheS5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmNwcAppbmRleCBmMjRjYWFhLi5iZjAzZTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTYzLDcgKzYzLDYgQEAKICNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MVGVtcGxhdGVFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSGl0VGVzdFJlc3VsdC5oIgotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgogI2lu
Y2x1ZGUgIkluc3BlY3Rvckhpc3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JOb2RlRmluZGVy
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgpAQCAtOTEsNiArOTAsNyBAQAogI2lu
Y2x1ZGUgIlhQYXRoUmVzdWx0LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKICNpbmNsdWRl
ICJtYXJrdXAuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CiAj
aW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0TWFuYWdlci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKaW5kZXgg
OWRjNjdiMC4uYWIwZTdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuaApAQCAtMjksNyArMjksNiBAQAogI2lmbmRlZiBJbnNwZWN0b3JG
cm9udGVuZEhvc3RfaAogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZEhvc3RfaAogCi0jaW5jbHVk
ZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnUuaCIKICNpbmNsdWRlICJD
b250ZXh0TWVudVByb3ZpZGVyLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAKaW5kZXggMjM1ZWNjZS4uZjE1ODkyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTM1LDggKzM1LDYgQEAK
IAogI2luY2x1ZGUgIkNTU1J1bGUuaCIKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKLSNpbmNs
dWRlICJDb25zb2xlQVBJVHlwZXMuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNs
dWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRl
ICJEYXRhYmFzZS5oIgpAQCAtNDYsNyArNDQsNiBAQAogI2luY2x1ZGUgIkluc3BlY3RvckFwcGxp
Y2F0aW9uQ2FjaGVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNTU0FnZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yQ2FudmFzQWdlbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xl
QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckRPTURlYnVnZ2VyQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQuaCIKQEAgLTY0LDE2ICs2MSwxOCBAQAogI2luY2x1ZGUgIlBhZ2VSdW50aW1lQWdlbnQuaCIK
ICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCi0jaW5j
bHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAj
aW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIK
ICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCisjaW5j
bHVkZSAiV2ViQ29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIK
ICNpbmNsdWRlICJXb3JrZXJSdW50aW1lQWdlbnQuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQu
aCIKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25z
b2xlVHlwZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+CisjaW5j
bHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xODMsNyArMTgyLDcgQEAg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEludmFsaWRhdGVTdHlsZUF0dHJJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqIGkKIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmZyYW1lV2luZG93RGlzY2FyZGVkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzLCBET01XaW5kb3cqIHdpbmRvdykKIHsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29s
ZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25z
b2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50
LT5mcmFtZVdpbmRvd0Rpc2NhcmRlZCh3aW5kb3cpOwogfQogCkBAIC02MDAsNyArNTk5LDcgQEAg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNl
SW1wbChjb25zdCBJbnNwZWN0b3JJbnMKICAgICBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzID0gY29va2llLmluc3RydW1lbnRpbmdBZ2VudHMoKTsKICAgICBpZiAoSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMt
Pmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKICAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkUmVj
ZWl2ZVJlc3BvbnNlKGlkZW50aWZpZXIsIGxvYWRlciwgcmVzcG9uc2UsIHJlc291cmNlTG9hZGVy
KTsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29s
ZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdl
bnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5kaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmll
ciwgcmVzcG9uc2UpOyAvLyBUaGlzIHNob3VsZCBjb21lIEFGVEVSIHJlc291cmNlIG5vdGlmaWNh
dGlvbiwgZnJvbnQtZW5kIHJlbGllcyBvbiB0aGlzLgogfQogCkBAIC02NDUsNyArNjQ0LDcgQEAg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW4KICAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRmluaXNo
TG9hZGluZ1Jlc291cmNlKGlkZW50aWZpZXIsIHRydWUsIDAsIGxvYWRlci0+ZnJhbWUoKSk7CiAg
ICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50
aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCiAgICAgICAgIHJlc291cmNlQWdl
bnQtPmRpZEZhaWxMb2FkaW5nKGlkZW50aWZpZXIsIGxvYWRlciwgZXJyb3IpOwotICAgIGlmIChJ
bnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMt
Pmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAg
ICBjb25zb2xlQWdlbnQtPmRpZEZhaWxMb2FkaW5nKGlkZW50aWZpZXIsIGVycm9yKTsgLy8gVGhp
cyBzaG91bGQgY29tZSBBRlRFUiByZXNvdXJjZSBub3RpZmljYXRpb24sIGZyb250LWVuZCByZWxp
ZXMgb24gdGhpcy4KIH0KIApAQCAtNjY5LDcgKzY2OCw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRGYWlsWEhSTG9hZGluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hYSFJMb2FkaW5n
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50KiBjbGllbnQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VTdHJpbmcsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRV
UkwsIHVuc2lnbmVkIHNlbmRMaW5lTnVtYmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKQog
ewotICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1l
bnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xl
QWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2Vu
dCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPmRpZEZpbmlzaFhIUkxvYWRpbmcoaWRlbnRpZmll
ciwgdXJsLCBzZW5kVVJMLCBzZW5kTGluZU51bWJlciwgc2VuZENvbHVtbk51bWJlcik7CiAgICAg
aWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5n
QWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCiAgICAgICAgIHJlc291cmNlQWdlbnQt
PmRpZEZpbmlzaFhIUkxvYWRpbmcoY2xpZW50LCBpZGVudGlmaWVyLCBzb3VyY2VTdHJpbmcpOwpA
QCAtNzUyLDcgKzc1MSw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21t
aXRMb2FkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50CiAgICAgICAgIHJldHVy
bjsKIAogICAgIGlmIChsb2FkZXItPmZyYW1lKCktPmlzTWFpbkZyYW1lKCkpIHsKLSAgICAgICAg
aWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgICAgIGlmIChXZWJDb25zb2xlQWdl
bnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgp
KQogICAgICAgICAgICAgY29uc29sZUFnZW50LT5yZXNldCgpOwogCiAgICAgICAgIGlmIChJbnNw
ZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+
aW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQpAQCAtODYyLDEzICs4NjEsMTMgQEAgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFdyaXRlSFRNTEltcGwoY29uc3QgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ28KIC8vIEphdmFTY3JpcHRDb3JlIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQg
c2hvdWxkIGtub3cgQ29uc29sZSBNZXNzYWdlVHlwZXMuCiBzdGF0aWMgYm9vbCBpc0NvbnNvbGVB
c3NlcnRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlKQogewot
ICAgIHJldHVybiBzb3VyY2UgPT0gQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UgJiYgdHlwZSA9PSBB
c3NlcnRNZXNzYWdlVHlwZTsKKyAgICByZXR1cm4gc291cmNlID09IE1lc3NhZ2VTb3VyY2U6OkNv
bnNvbGVBUEkgJiYgdHlwZSA9PSBNZXNzYWdlVHlwZTo6QXNzZXJ0OwogfQogCiAvLyBGSVhNRTog
RHJvcCB0aGlzIG9uY2Ugd2Ugbm8gbG9uZ2VyIGdlbmVyYXRlIHN0YWNrcyBvdXRzaWRlIG9mIElu
c3BlY3Rvci4KIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25z
b2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ss
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgaWYgKEluc3BlY3RvckNv
bnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9y
Q29uc29sZUFnZW50KCkpCisgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0g
aW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVB
Z2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBj
YWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQg
anVzdCBwYXNzIHRoZSBtZXNzYWdlIG9uIHRvIHRoZSBkZWJ1Z2dlciBhZ2VudC4gSmF2YVNjcmlw
dENvcmUgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCBzaG91bGQga25vdyBDb25zb2xlIE1lc3NhZ2VU
eXBlcy4KICAgICBpZiAoSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogZGVidWdnZXJBZ2VudCA9IGlu
c3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckRlYnVnZ2VyQWdlbnQoKSkgewpAQCAtODc5LDcg
Kzg3OCw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25z
b2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzLCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlw
ZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEpTQzo6RXhlY1N0
YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cywgdW5zaWdu
ZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFn
ZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xl
QWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5h
ZGRNZXNzYWdlVG9Db25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHN0YXRlLCBh
cmd1bWVudHMsIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQg
anVzdCBwYXNzIHRoZSBtZXNzYWdlIG9uIHRvIHRoZSBkZWJ1Z2dlciBhZ2VudC4gSmF2YVNjcmlw
dENvcmUgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCBzaG91bGQga25vdyBDb25zb2xlIE1lc3NhZ2VU
eXBlcy4KICAgICBpZiAoSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogZGVidWdnZXJBZ2VudCA9IGlu
c3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckRlYnVnZ2VyQWdlbnQoKSkgewpAQCAtODkwLDEz
ICs4ODksMTMgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0Nv
bnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3QKIAogdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0
eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBzY3JpcHRJRCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVy
LCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIp
CiB7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1
bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgaWYgKFdlYkNvbnNv
bGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFn
ZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2Us
IHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzY3JpcHRJRCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVy
LCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6Y29uc29sZUNvdW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1l
bnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29s
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisg
ICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+Y291bnQoc3RhdGUs
IGFyZ3VtZW50cyk7CiB9CiAKQEAgLTkwNCwxMyArOTAzLDEzIEBAIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpzdGFydENvbnNvbGVUaW1pbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RyCiB7CiAgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQg
PSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCiAgICAgICAg
IHRpbWVsaW5lQWdlbnQtPnRpbWUoZnJhbWUsIHRpdGxlKTsKLSAgICBpZiAoSW5zcGVjdG9yQ29u
c29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JD
b25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBp
bnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFn
ZW50LT5zdGFydFRpbWluZyh0aXRsZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpzdG9wQ29uc29sZVRpbWluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cywgRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4gc3RhY2spCiB7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2Vu
dCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFn
ZW50KCkpCisgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVu
dGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+c3Rv
cFRpbWluZyh0aXRsZSwgc3RhY2spOwogICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0
aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCgpKQogICAgICAgICB0aW1lbGluZUFnZW50LT50aW1lRW5kKGZyYW1lLCB0aXRsZSk7CkBAIC0x
MDcyLDcgKzEwNzEsNyBAQCBib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y2FudmFzQWdl
bnRFbmFibGVkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdAogYm9vbCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmNvbnNvbGVBZ2VudEVuYWJsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKIHsKICAgICBJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCk7Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdl
bnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzID8gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9y
Q29uc29sZUFnZW50KCkgOiBudWxscHRyOworICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29u
c29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cyA/IGluc3RydW1lbnRpbmdBZ2VudHMtPndl
YkNvbnNvbGVBZ2VudCgpIDogbnVsbHB0cjsKICAgICByZXR1cm4gY29uc29sZUFnZW50ICYmIGNv
bnNvbGVBZ2VudC0+ZW5hYmxlZCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggZTVmMWI0MC4uYzE2ODUyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaApAQCAtMzIsOCArMzIsNiBAQAogI2RlZmluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25faAogCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRlICJDb25zb2xlQVBJVHlw
ZXMuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAj
aW5jbHVkZSAiRm9ybURhdGEuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNDQsMTIgKzQyLDE4
IEBACiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlICJTdG9yYWdlQXJlYS5oIgog
I2luY2x1ZGUgIldlYlNvY2tldEZyYW1lLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVU
eXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIERlcHJlY2F0ZWQg
ewogY2xhc3MgU2NyaXB0T2JqZWN0OwogfQogCituYW1lc3BhY2UgSW5zcGVjdG9yIHsKK2NsYXNz
IFNjcmlwdEFyZ3VtZW50czsKK2NsYXNzIFNjcmlwdENhbGxTdGFjazsKK30KKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBDU1NSdWxlOwpAQCAtNzcsOCArODEsNiBAQCBjbGFzcyBSZW5k
ZXJMYXllckJhY2tpbmc7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZXNvdXJjZVJlcXVl
c3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwotY2xhc3MgU2NyaXB0QXJndW1lbnRzOwotY2xh
c3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNz
IFNjcmlwdFByb2ZpbGU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKQEAgLTIwMywxOCArMjA1LDE4
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRXcml0ZUhUTUwoY29uc3QgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llJiwgdW5zaWduZWQgZW5kTGluZSk7CiAKICAgICAvLyBGSVhN
RTogUmVtb3ZlIG9uY2Ugd2Ugbm8gbG9uZ2VyIGdlbmVyYXRlIHN0YWNrcyBvdXRzaWRlIG9mIElu
c3BlY3Rvci4KLSAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBNZXNz
YWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllciA9IDApOwotICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSos
IE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRN
ZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3Jp
cHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAg
c3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNT
dGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+LCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAgICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRv
Q29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlwdElELCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxw
dHIsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKIAogICAgIC8vIEZJWE1F
OiBDb252ZXJ0IHRvIFNjcmlwdEFyZ3VtZW50cyB0byBtYXRjaCBub24td29ya2VyIGNvbnRleHQu
Ci0gICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXb3JrZXJHbG9iYWxTY29wZSos
IE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVl
c3RJZGVudGlmaWVyID0gMCk7CisgICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShX
b3JrZXJHbG9iYWxTY29wZSosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENh
bGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKICAgICBzdGF0
aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiwgTWVzc2FnZVNv
dXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIHNjcmlwdElELCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1
bW5OdW1iZXIsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIgPSAwKTsKIAotICAgIHN0YXRpYyB2b2lkIGNvbnNvbGVDb3VudChQYWdlKiwg
SlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOworICAgIHN0YXRp
YyB2b2lkIGNvbnNvbGVDb3VudChQYWdlKiwgSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPElu
c3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAgICAgc3RhdGljIHZvaWQgc3RhcnRDb25zb2xl
VGltaW5nKEZyYW1lKiwgY29uc3QgU3RyaW5nJiB0aXRsZSk7Ci0gICAgc3RhdGljIHZvaWQgc3Rv
cENvbnNvbGVUaW1pbmcoRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXNzUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4pOwotICAgIHN0YXRpYyB2b2lkIGNvbnNvbGVUaW1lU3RhbXAoRnJhbWUq
LCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOworICAgIHN0YXRpYyB2b2lkIHN0b3BDb25z
b2xlVGltaW5nKEZyYW1lKiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxJbnNwZWN0
b3I6OlNjcmlwdENhbGxTdGFjaz4pOworICAgIHN0YXRpYyB2b2lkIGNvbnNvbGVUaW1lU3RhbXAo
RnJhbWUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAKICAgICBz
dGF0aWMgdm9pZCBkaWRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoRG9jdW1lbnQqLCBpbnQgY2FsbGJh
Y2tJZCk7CiAgICAgc3RhdGljIHZvaWQgZGlkQ2FuY2VsQW5pbWF0aW9uRnJhbWUoRG9jdW1lbnQq
LCBpbnQgY2FsbGJhY2tJZCk7CkBAIC0yMjIsNyArMjI0LDcgQEAgcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGRpZEZpcmVBbmltYXRpb25GcmFtZShjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUmKTsKIAogICAgIHN0YXRpYyB2b2lkIGFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRv
Q29uc29sZShQYWdlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgdW5zaWduZWQgbGluZU51bWJlciwg
dW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7Ci0gICAgc3Rh
dGljIHZvaWQgYWRkUHJvZmlsZShQYWdlKiwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+LCBQYXNzUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgIHN0YXRpYyB2b2lkIGFkZFByb2ZpbGUoUGFnZSos
IFJlZlB0cjxTY3JpcHRQcm9maWxlPiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxT
dGFjaz4pOwogICAgIHN0YXRpYyBTdHJpbmcgZ2V0Q3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxl
TmFtZShQYWdlKiwgYm9vbCBpbmNyZW1lbnRQcm9maWxlTnVtYmVyKTsKICAgICBzdGF0aWMgYm9v
bCBwcm9maWxlckVuYWJsZWQoUGFnZSopOwogCkBAIC0zODUsMTYgKzM4NywxNiBAQCBwcml2YXRl
OgogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFdyaXRlSFRN
TEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIHVuc2lnbmVkIHN0YXJ0TGluZSwgRnJhbWUqKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWRXcml0ZUhUTUxJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSYsIHVuc2lnbmVkIGVuZExpbmUpOwogCi0gICAgc3RhdGljIHZvaWQgYWRk
TWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpF
eGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVx
dWVzdElkZW50aWZpZXIpOworICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0
cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50
aWZpZXIpOwogICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2NyaXB0SUQsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25l
ZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKTsKIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSB3
ZSBubyBsb25nZXIgZ2VuZXJhdGUgc3RhY2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgotICAgIHN0
YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBN
ZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0
SWRlbnRpZmllcik7CisgICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENh
bGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpOwogCi0gICAgc3RhdGlj
IHZvaWQgY29uc29sZUNvdW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSlNDOjpFeGVjU3Rh
dGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOworICAgIHN0YXRpYyB2b2lkIGNvbnNv
bGVDb3VudEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1Jl
ZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwogICAgIHN0YXRpYyB2b2lkIHN0YXJ0
Q29uc29sZVRpbWluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgY29uc3QgU3Ry
aW5nJiB0aXRsZSk7Ci0gICAgc3RhdGljIHZvaWQgc3RvcENvbnNvbGVUaW1pbmdJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqLCBGcmFtZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPik7Ci0gICAgc3RhdGljIHZvaWQgY29uc29sZVRpbWVTdGFtcEltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
KTsKKyAgICBzdGF0aWMgdm9pZCBzdG9wQ29uc29sZVRpbWluZ0ltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyosIEZyYW1lKiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6
OlNjcmlwdENhbGxTdGFjaz4pOworICAgIHN0YXRpYyB2b2lkIGNvbnNvbGVUaW1lU3RhbXBJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3Jp
cHRBcmd1bWVudHM+KTsKIAogICAgIHN0YXRpYyB2b2lkIGRpZFJlcXVlc3RBbmltYXRpb25GcmFt
ZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIGludCBjYWxsYmFja0lkLCBGcmFtZSopOwogICAg
IHN0YXRpYyB2b2lkIGRpZENhbmNlbEFuaW1hdGlvbkZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzKiwgaW50IGNhbGxiYWNrSWQsIEZyYW1lKik7CkBAIC00MDIsNyArNDA0LDcgQEAgcHJpdmF0
ZToKICAgICBzdGF0aWMgdm9pZCBkaWRGaXJlQW5pbWF0aW9uRnJhbWVJbXBsKGNvbnN0IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogCiAgICAgc3RhdGljIHZvaWQgYWRkU3RhcnRQ
cm9maWxpbmdNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgY29uc3Qg
U3RyaW5nJiB0aXRsZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7Ci0gICAgc3RhdGljIHZvaWQgYWRkUHJvZmlsZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFJlZlB0cjxTY3JpcHRQcm9maWxlPiwgUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICBzdGF0aWMgdm9pZCBhZGRQcm9maWxlSW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzKiwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+LCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CiAgICAgc3RhdGljIFN0cmluZyBnZXRDdXJyZW50VXNl
ckluaXRpYXRlZFByb2ZpbGVOYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgYm9vbCBpbmNy
ZW1lbnRQcm9maWxlTnVtYmVyKTsKICAgICBzdGF0aWMgYm9vbCBwcm9maWxlckVuYWJsZWRJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKaW5kZXggNGMxZjAwNi4uMzNhZmY4NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFn
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVl
QWdlbnQuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAKICNpbmNsdWRlICJJbnNwZWN0b3JMYXllclRy
ZWVBZ2VudC5oIgogCi0jaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3Bh
dGNoZXJzLmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgpAQCAtNDQsNiArNDMs
NyBAQAogI2luY2x1ZGUgIlJlbmRlckxheWVyQmFja2luZy5oIgogI2luY2x1ZGUgIlJlbmRlckxh
eWVyQ29tcG9zaXRvci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKyNpbmNsdWRlIDxpbnNw
ZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAK
aW5kZXggZjI3OTMwYy4uY2ZlZTVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTI5LDExICsyOSwxMCBAQAogICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNw
ZWN0b3JQYWdlQWdlbnQuaCIKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKICNpbmNsdWRlICJD
YWNoZWRDU1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ2FjaGVkRm9udC5oIgogI2luY2x1ZGUg
IkNhY2hlZEltYWdlLmgiCkBAIC01Myw3ICs1Miw2IEBACiAjaW5jbHVkZSAiRnJhbWVWaWV3Lmgi
CiAjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCi0jaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZm
ZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JE
T01BZ2VudC5oIgpAQCAtNzMsNiArNzEsNyBAQAogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNh
dG9yLmgiCiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KICNpbmNsdWRlIDxpbnNw
ZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVu
dGlmaWVyc0ZhY3RvcnkuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+
CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0
Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudC5jcHAKaW5kZXggZTg0MDdlZS4uYzUyYzY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcApAQCAtMjgsMjkgKzI4LDI3
IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
LQogI2luY2x1ZGUgIkluc3BlY3RvclByb2ZpbGVyQWdlbnQuaCIKIAorI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCisKICNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKICNpbmNsdWRlICJDb25z
b2xlLmgiCi0jaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCi0jaW5jbHVkZSAiQ29uc29sZVR5
cGVzLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVycy5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdB
Z2VudHMuaCIKLSNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
UGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5oIgogI2luY2x1ZGUgIlBhZ2VTY3JpcHREZWJ1Z1Nl
cnZlci5oIgogI2luY2x1ZGUgIlNjcmlwdEhlYXBTbmFwc2hvdC5oIgogI2luY2x1ZGUgIlNjcmlw
dFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgorI2luY2x1ZGUgIlVSTC5o
IgogI2luY2x1ZGUgIldvcmtlclNjcmlwdERlYnVnU2VydmVyLmgiCiAjaW5jbHVkZSA8YmluZGlu
Z3MvU2NyaXB0T2JqZWN0Lmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oPgog
I2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oPgogI2luY2x1ZGUgPGluc3BlY3Rv
ci9JbnNwZWN0b3JWYWx1ZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckNvbnNvbGVBZ2VudC5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZS5oPgpA
QCAtMTU2LDE0ICsxNTQsMTQgQEAgdm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjphZGRQcm9m
aWxlRmluaXNoZWRNZXNzYWdlVG9Db25zb2xlKFBhc3NSZWZQdHI8U2NyaXAKICAgICAgICAgcmV0
dXJuOwogICAgIFJlZlB0cjxTY3JpcHRQcm9maWxlPiBwcm9maWxlID0gcHJwUHJvZmlsZTsKICAg
ICBTdHJpbmcgbWVzc2FnZSA9IG1ha2VTdHJpbmcocHJvZmlsZS0+dGl0bGUoKSwgJyMnLCBTdHJp
bmc6Om51bWJlcihwcm9maWxlLT51aWQoKSkpOwotICAgIG1fY29uc29sZUFnZW50LT5hZGRNZXNz
YWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNzYWdlU291cmNlLCBQcm9maWxlRW5kTWVzc2FnZVR5
cGUsIERlYnVnTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNv
bHVtbk51bWJlcik7CisgICAgbV9jb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVz
c2FnZVNvdXJjZTo6Q29uc29sZUFQSSwgTWVzc2FnZVR5cGU6OlByb2ZpbGVFbmQsIE1lc3NhZ2VM
ZXZlbDo6RGVidWcsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVy
KTsKIH0KIAogdm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjphZGRTdGFydFByb2ZpbGluZ01l
c3NhZ2VUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiB0aXRsZSwgdW5zaWduZWQgbGluZU51bWJlciwg
dW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKICAgICBp
ZiAoIW1fZnJvbnRlbmREaXNwYXRjaGVyKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb25zb2xl
QWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIFByb2Zp
bGVNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIHRpdGxlLCBzb3VyY2VVUkwsIGxpbmVO
dW1iZXIsIGNvbHVtbk51bWJlcik7CisgICAgbV9jb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0Nv
bnNvbGUoTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSwgTWVzc2FnZVR5cGU6OlByb2ZpbGUsIE1l
c3NhZ2VMZXZlbDo6RGVidWcsIHRpdGxlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51
bWJlcik7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6Y29sbGVjdEdhcmJhZ2Uo
V2ViQ29yZTo6RXJyb3JTdHJpbmcqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQcm9maWxlckFnZW50LmgKaW5kZXggYjliNjAzMS4uN2RmZTE4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC00
MywxMiArNDMsMTIgQEAKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiBjbGFzcyBJbnNwZWN0b3JB
cnJheTsKK2NsYXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3BlY3Rvck9iamVj
dDsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdl
bnQ7CiBjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwogY2xhc3MgUGFnZTsKIGNsYXNzIFBhZ2VJ
bmplY3RlZFNjcmlwdE1hbmFnZXI7CkBAIC02MSw4ICs2MSw4IEBAIHR5cGVkZWYgU3RyaW5nIEVy
cm9yU3RyaW5nOwogY2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA6IHB1YmxpYyBJbnNwZWN0
b3JBZ2VudEJhc2UsIHB1YmxpYyBJbnNwZWN0b3I6Okluc3BlY3RvclByb2ZpbGVyQmFja2VuZERp
c3BhdGNoZXJIYW5kbGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JQcm9m
aWxlckFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zdHJ1bWVu
dGluZ0FnZW50cyosIEluc3BlY3RvckNvbnNvbGVBZ2VudCosIFBhZ2UqLCBQYWdlSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKik7Ci0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3JQcm9m
aWxlckFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvckNvbnNvbGVB
Z2VudCosIFdvcmtlckdsb2JhbFNjb3BlKiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOwor
ICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRl
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCos
IFBhZ2UqLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxJbnNwZWN0b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50
cyosIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50KiwgV29ya2VyR2xvYmFsU2NvcGUq
LCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CiAKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JQ
cm9maWxlckFnZW50KCk7CiAKQEAgLTEwMSw3ICsxMDEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGdldEhlYXBPYmplY3RJZChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgb2JqZWN0
SWQsIFN0cmluZyogaGVhcFNuYXBzaG90T2JqZWN0SWQpIG92ZXJyaWRlOwogCiBwcm90ZWN0ZWQ6
Ci0gICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVj
dG9yQ29uc29sZUFnZW50KiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOworICAgIEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3Rvcjo6SW5zcGVj
dG9yQ29uc29sZUFnZW50KiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOwogICAgIHZpcnR1
YWwgdm9pZCBzdGFydFByb2ZpbGluZyhjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7CiAgICAgdmly
dHVhbCBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3BQcm9maWxpbmcoY29uc3QgU3RyaW5n
JiB0aXRsZSkgPSAwOwogCkBAIC0xMTUsNyArMTE1LDcgQEAgcHJpdmF0ZToKICAgICBQYXNzUmVm
UHRyPEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OlByb2ZpbGVyOjpQcm9maWxlSGVhZGVyPiBjcmVh
dGVQcm9maWxlSGVhZGVyKGNvbnN0IFNjcmlwdFByb2ZpbGUmKTsKICAgICBQYXNzUmVmUHRyPElu
c3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OlByb2ZpbGVyOjpQcm9maWxlSGVhZGVyPiBjcmVhdGVTbmFw
c2hvdEhlYWRlcihjb25zdCBTY3JpcHRIZWFwU25hcHNob3QmKTsKIAotICAgIEluc3BlY3RvckNv
bnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7CisgICAgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25z
b2xlQWdlbnQqIG1fY29uc29sZUFnZW50OwogICAgIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIq
IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3I6
Okluc3BlY3RvclByb2ZpbGVyRnJvbnRlbmREaXNwYXRjaGVyPiBtX2Zyb250ZW5kRGlzcGF0Y2hl
cjsKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JQcm9maWxlckJhY2tlbmREaXNwYXRj
aGVyPiBtX2JhY2tlbmREaXNwYXRjaGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCmluZGV4IDY1ZjhkYjEuLjQ4MGJkZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dC5jcHAKQEAgLTI5LDExICsyOSwxMCBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JSZXNvdXJjZUFnZW50
LmgiCiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3Vy
Y2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlTG9hZGVyLmgiCkBAIC00NCwxMSArNDMsMTEgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlci5o
IgogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlICJJY29uQ29udHJvbGxlci5o
IgotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNs
aWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvcldlYkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdl
bnRzLmgiCisjaW5jbHVkZSAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiTWVt
b3J5Q2FjaGUuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VzRGF0YS5oIgogI2luY2x1ZGUg
IlBhZ2UuaCIKQEAgLTU4LDE1ICs1NywxNiBAQAogI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyLmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25z
ZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCiAjaW5j
bHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0RnJhbWUuaCIKICNpbmNsdWRlICJYTUxI
dHRwUmVxdWVzdC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaD4K
ICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CisjaW5jbHVkZSA8aW5zcGVj
dG9yL1NjcmlwdENhbGxTdGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L0hleE51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgpAQCAtNDM5LDcgKzQz
OSw3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkU2NoZWR1bGVTdHlsZVJlY2Fs
Y3VsYXRpb24oRG9jdW1lbnQqIGRvY3VtZW50KQogCiBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcj4gSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6YnVp
bGRJbml0aWF0b3JPYmplY3QoRG9jdW1lbnQqIGRvY3VtZW50KQogewotICAgIFJlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+IHN0YWNrVHJhY2UgPSBjcmVhdGVTY3JpcHRDYWxsU3RhY2soU2NyaXB0Q2Fs
bFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0cnVlKTsKKyAgICBSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiBzdGFja1RyYWNlID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRo
cmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCksIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0
YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7CiAgICAgaWYgKHN0YWNrVHJhY2UgJiYgc3RhY2tUcmFj
ZS0+c2l6ZSgpID4gMCkgewogICAgICAgICBSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
TmV0d29yazo6SW5pdGlhdG9yPiBpbml0aWF0b3JPYmplY3QgPSBJbnNwZWN0b3I6OlR5cGVCdWls
ZGVyOjpOZXR3b3JrOjpJbml0aWF0b3I6OmNyZWF0ZSgpCiAgICAgICAgICAgICAuc2V0VHlwZShJ
bnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpOZXR3b3JrOjpJbml0aWF0b3I6OlR5cGU6OlNjcmlwdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5jcHAKaW5kZXggOGFlYzY4ZS4uNGEwY2VmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMzcsNyArMzcsNiBAQAog
I2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZp
ZXcuaCIKLSNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb3VudGVycy5oIgogI2luY2x1ZGUgIklu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgpAQCAtNTMsNiArNTIsNyBAQAogI2luY2x1ZGUgIlJl
c291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgogI2luY2x1ZGUg
IlRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlmaWVy
c0ZhY3RvcnkuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogdXNpbmcgbmFtZXNw
YWNlIEluc3BlY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50
aW5nQWdlbnRzLmNwcAppbmRleCA5OGU2YmRkLi5iMjJjN2I1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCkBAIC00OSw3ICs0OSw3IEBA
IEluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMoSW5zcGVjdG9yRW52aXJv
bm1lbnQmIGVudmlyb25tZW50KQogICAgICwgbV9pbnNwZWN0b3JQYWdlQWdlbnQobnVsbHB0cikK
ICAgICAsIG1faW5zcGVjdG9yQ1NTQWdlbnQobnVsbHB0cikKICAgICAsIG1faW5zcGVjdG9yTGF5
ZXJUcmVlQWdlbnQobnVsbHB0cikKLSAgICAsIG1faW5zcGVjdG9yQ29uc29sZUFnZW50KG51bGxw
dHIpCisgICAgLCBtX3dlYkNvbnNvbGVBZ2VudChudWxscHRyKQogICAgICwgbV9pbnNwZWN0b3JE
T01BZ2VudChudWxscHRyKQogICAgICwgbV9pbnNwZWN0b3JSZXNvdXJjZUFnZW50KG51bGxwdHIp
CiAgICAgLCBtX3BhZ2VSdW50aW1lQWdlbnQobnVsbHB0cikKQEAgLTc1LDcgKzc1LDcgQEAgdm9p
ZCBJbnN0cnVtZW50aW5nQWdlbnRzOjpyZXNldCgpCiAgICAgbV9pbnNwZWN0b3JQYWdlQWdlbnQg
PSBudWxscHRyOwogICAgIG1faW5zcGVjdG9yQ1NTQWdlbnQgPSBudWxscHRyOwogICAgIG1faW5z
cGVjdG9yTGF5ZXJUcmVlQWdlbnQgPSBudWxscHRyOwotICAgIG1faW5zcGVjdG9yQ29uc29sZUFn
ZW50ID0gbnVsbHB0cjsKKyAgICBtX3dlYkNvbnNvbGVBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9p
bnNwZWN0b3JET01BZ2VudCA9IG51bGxwdHI7CiAgICAgbV9pbnNwZWN0b3JSZXNvdXJjZUFnZW50
ID0gbnVsbHB0cjsKICAgICBtX3BhZ2VSdW50aW1lQWdlbnQgPSBudWxscHRyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggYzk5ZDI2OS4u
MzdmYWIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRp
bmdBZ2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oCkBAIC00Nyw3ICs0Nyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDsKIGNsYXNzIEluc3BlY3RvckNTU0FnZW50OwogY2xh
c3MgSW5zcGVjdG9yQ2FudmFzQWdlbnQ7Ci1jbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdlbnQ7CiBj
bGFzcyBJbnNwZWN0b3JET01BZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ7
CiBjbGFzcyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ7CkBAIC02Miw2ICs2MSw3IEBAIGNsYXNz
IEluc3BlY3RvcldvcmtlckFnZW50OwogY2xhc3MgUGFnZTsKIGNsYXNzIFBhZ2VEZWJ1Z2dlckFn
ZW50OwogY2xhc3MgUGFnZVJ1bnRpbWVBZ2VudDsKK2NsYXNzIFdlYkNvbnNvbGVBZ2VudDsKIGNs
YXNzIFdvcmtlckdsb2JhbFNjb3BlOwogY2xhc3MgV29ya2VyUnVudGltZUFnZW50OwogCkBAIC04
Nyw4ICs4Nyw4IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JDU1NBZ2VudCogaW5zcGVjdG9yQ1NT
QWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckNTU0FnZW50OyB9CiAgICAgdm9pZCBz
ZXRJbnNwZWN0b3JDU1NBZ2VudChJbnNwZWN0b3JDU1NBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0
b3JDU1NBZ2VudCA9IGFnZW50OyB9CiAKLSAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGluc3Bl
Y3RvckNvbnNvbGVBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yQ29uc29sZUFnZW50
OyB9Ci0gICAgdm9pZCBzZXRJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5zcGVjdG9yQ29uc29sZUFn
ZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckNvbnNvbGVBZ2VudCA9IGFnZW50OyB9CisgICAgV2Vi
Q29uc29sZUFnZW50KiB3ZWJDb25zb2xlQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX3dlYkNvbnNv
bGVBZ2VudDsgfQorICAgIHZvaWQgc2V0V2ViQ29uc29sZUFnZW50KFdlYkNvbnNvbGVBZ2VudCog
YWdlbnQpIHsgbV93ZWJDb25zb2xlQWdlbnQgPSBhZ2VudDsgfQogCiAgICAgSW5zcGVjdG9yRE9N
QWdlbnQqIGluc3BlY3RvckRPTUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JET01B
Z2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yRE9NQWdlbnQoSW5zcGVjdG9yRE9NQWdlbnQq
IGFnZW50KSB7IG1faW5zcGVjdG9yRE9NQWdlbnQgPSBhZ2VudDsgfQpAQCAtMTQ5LDcgKzE0OSw3
IEBAIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX2luc3BlY3RvclBhZ2VBZ2Vu
dDsKICAgICBJbnNwZWN0b3JDU1NBZ2VudCogbV9pbnNwZWN0b3JDU1NBZ2VudDsKICAgICBJbnNw
ZWN0b3JMYXllclRyZWVBZ2VudCogbV9pbnNwZWN0b3JMYXllclRyZWVBZ2VudDsKLSAgICBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQqIG1faW5zcGVjdG9yQ29uc29sZUFnZW50OworICAgIFdlYkNvbnNv
bGVBZ2VudCogbV93ZWJDb25zb2xlQWdlbnQ7CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1faW5z
cGVjdG9yRE9NQWdlbnQ7CiAgICAgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogbV9pbnNwZWN0b3JS
ZXNvdXJjZUFnZW50OwogICAgIFBhZ2VSdW50aW1lQWdlbnQqIG1fcGFnZVJ1bnRpbWVBZ2VudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNwcAppbmRleCAx
YWRiNDQ5Li43MTU5Y2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFn
ZUNvbnNvbGVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25z
b2xlQWdlbnQuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAog
I2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5oIgotI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1
ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKQEAgLTQzLDIxICs0MiwxNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhZ2VDb25z
b2xlQWdlbnQ6OlBhZ2VDb25zb2xlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cywgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLCBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQpCi0gICAgOiBJbnNwZWN0b3JDb25zb2xl
QWdlbnQoaW5zdHJ1bWVudGluZ0FnZW50cywgaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorUGFnZUNv
bnNvbGVBZ2VudDo6UGFnZUNvbnNvbGVBZ2VudChQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBp
bmplY3RlZFNjcmlwdE1hbmFnZXIsIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkKKyAgICA6
IFdlYkNvbnNvbGVBZ2VudChpbmplY3RlZFNjcmlwdE1hbmFnZXIpCiAgICAgLCBtX2luc3BlY3Rv
ckRPTUFnZW50KGRvbUFnZW50KQogewogfQogCi1QYWdlQ29uc29sZUFnZW50Ojp+UGFnZUNvbnNv
bGVBZ2VudCgpCi17Ci0gICAgbV9pbnNwZWN0b3JET01BZ2VudCA9IG51bGxwdHI7Ci19Ci0KIHZv
aWQgUGFnZUNvbnNvbGVBZ2VudDo6Y2xlYXJNZXNzYWdlcyhFcnJvclN0cmluZyogZXJyb3JTdHJp
bmcpCiB7CiAgICAgbV9pbnNwZWN0b3JET01BZ2VudC0+cmVsZWFzZURhbmdsaW5nTm9kZXMoKTsK
LSAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmNsZWFyTWVzc2FnZXMoZXJyb3JTdHJpbmcpOwor
CisgICAgV2ViQ29uc29sZUFnZW50OjpjbGVhck1lc3NhZ2VzKGVycm9yU3RyaW5nKTsKIH0KIAog
Y2xhc3MgSW5zcGVjdGFibGVOb2RlIGZpbmFsIDogcHVibGljIENvbW1hbmRMaW5lQVBJSG9zdDo6
SW5zcGVjdGFibGVPYmplY3QgewpAQCAtNzksNyArNzQsNyBAQCB2b2lkIFBhZ2VDb25zb2xlQWdl
bnQ6OmFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlk
KQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKENvbW1hbmRMaW5lQVBJSG9zdCog
Y29tbWFuZExpbmVBUElIb3N0ID0gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmNvbW1hbmRMaW5l
QVBJSG9zdCgpKQorICAgIGlmIChDb21tYW5kTGluZUFQSUhvc3QqIGNvbW1hbmRMaW5lQVBJSG9z
dCA9IHN0YXRpY19jYXN0PFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqPihtX2luamVjdGVkU2Ny
aXB0TWFuYWdlciktPmNvbW1hbmRMaW5lQVBJSG9zdCgpKQogICAgICAgICBjb21tYW5kTGluZUFQ
SUhvc3QtPmFkZEluc3BlY3RlZE9iamVjdChhZG9wdFB0cihuZXcgSW5zcGVjdGFibGVOb2RlKG5v
ZGUpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29u
c29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5o
CmluZGV4IGQ1NTdmMWEuLmQwYjU1NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9QYWdlQ29uc29sZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VDb25zb2xlQWdlbnQuaApAQCAtMzEsOCArMzEsNyBAQAogI2lmbmRlZiBQYWdlQ29uc29sZUFn
ZW50X2gKICNkZWZpbmUgUGFnZUNvbnNvbGVBZ2VudF9oCiAKLSNpbmNsdWRlICJJbnNwZWN0b3JD
b25zb2xlQWdlbnQuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgIldl
YkNvbnNvbGVBZ2VudC5oIgogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIApAQCAtNDAsMTMgKzM5
LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW5zcGVjdG9yRE9NQWdlbnQ7CiAK
LWNsYXNzIFBhZ2VDb25zb2xlQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ29uc29sZUFnZW50IHsK
K2NsYXNzIFBhZ2VDb25zb2xlQWdlbnQgZmluYWwgOiBwdWJsaWMgV2ViQ29uc29sZUFnZW50IHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ29uc29sZUFnZW50KTsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBQYWdlQ29uc29sZUFnZW50KEluc3RydW1l
bnRpbmdBZ2VudHMqLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiwgSW5zcGVjdG9yRE9NQWdl
bnQqKTsKLSAgICB2aXJ0dWFsIH5QYWdlQ29uc29sZUFnZW50KCk7CisgICAgUGFnZUNvbnNvbGVB
Z2VudChQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiwgSW5zcGVjdG9yRE9NQWdlbnQqKTsKKyAg
ICB2aXJ0dWFsIH5QYWdlQ29uc29sZUFnZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNX
b3JrZXJBZ2VudCgpIG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29s
IGlzV29ya2VyQWdlbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogCiBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjbGVhck1lc3NhZ2VzKEVycm9yU3RyaW5nKikgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcApp
bmRleCA2N2Y0OTUxLi5lNDY3MGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Q
YWdlRGVidWdnZXJBZ2VudC5jcHAKQEAgLTQzLDYgKzQzLDggQEAKICNpbmNsdWRlICJTY3JpcHRT
dGF0ZS5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oPgogI2luY2x1ZGUg
PGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIApAQCAtMTEzLDkgKzExNSw5
IEBAIHZvaWQgUGFnZURlYnVnZ2VyQWdlbnQ6OnVubXV0ZUNvbnNvbGUoKQogICAgIFBhZ2VDb25z
b2xlOjp1bm11dGUoKTsKIH0KIAotdm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFj
dGlvbkxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKK3ZvaWQgUGFn
ZURlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBtX3BhZ2VBZ2VudC0+cGFnZSgpLT5jb25z
b2xlKCkuYWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VMZXZlbCwgbWVzc2Fn
ZSk7CisgICAgbV9wYWdlQWdlbnQtPnBhZ2UoKS0+Y29uc29sZSgpLmFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6TG9nLCBtZXNzYWdlLCBjcmVhdGVTY3JpcHRDYWxs
U3RhY2soZXhlYywgU2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0
cnVlKSk7CiB9CiAKIEluamVjdGVkU2NyaXB0IFBhZ2VEZWJ1Z2dlckFnZW50OjppbmplY3RlZFNj
cmlwdEZvckV2YWwoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBpbnQqIGV4ZWN1dGlv
bkNvbnRleHRJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5q
ZWN0ZWRTY3JpcHRIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVk
U2NyaXB0SG9zdC5oCmluZGV4IDY1ODIxODguLmFmYmM2ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaApAQCAtMzIsNiArMzIsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEZJWE1FOiBSZW5hbWUgdG8gV2ViSW5qZWN0
ZWRTY3JpcHRIb3N0LgogY2xhc3MgUGFnZUluamVjdGVkU2NyaXB0SG9zdCBmaW5hbCA6IHB1Ymxp
YyBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0SG9zdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8UGFnZUluamVjdGVkU2NyaXB0SG9zdD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IFBhZ2VJbmplY3RlZFNjcmlwdEhvc3QpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaAppbmRleCAxZjg3MDdlLi5l
Mjc0ZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVk
U2NyaXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBET01XaW5kb3c7CiAKKy8vIEZJWE1FOiBSZW5hbWUgdG8gV2ViSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLgogY2xhc3MgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciBmaW5hbCA6IHB1Ymxp
YyBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0TWFuYWdlciB7CiBwdWJsaWM6CiAgICAgUGFnZUlu
amVjdGVkU2NyaXB0TWFuYWdlcihJbnNwZWN0b3I6Okluc3BlY3RvckVudmlyb25tZW50JiwgUGFz
c1JlZlB0cjxJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0SG9zdD4pOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAppbmRleCAxNzU5M2I4
Li5kOWRhNzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmNwcApAQCAtMzcsMTMgKzM3LDE0IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIK
ICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSAi
SlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgogI2luY2x1
ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0
b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+
CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRl
IDx3dGYvQ3VycmVudFRpbWUuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKQEAgLTU2
LDcgKzU3LDcgQEAgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IFRpbWVsaW5lUmVjb3JkRmFj
dG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZChkb3VibGUgc3QKICAgICByZWNvcmQtPnNldE51bWJl
cigic3RhcnRUaW1lIiwgc3RhcnRUaW1lKTsKIAogICAgIGlmIChtYXhDYWxsU3RhY2tEZXB0aCkg
ewotICAgICAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFja1RyYWNlID0gY3JlYXRlU2Ny
aXB0Q2FsbFN0YWNrKG1heENhbGxTdGFja0RlcHRoLCB0cnVlKTsKKyAgICAgICAgUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU01haW5U
aHJlYWRFeGVjU3RhdGU6OmN1cnJlbnRTdGF0ZSgpLCBtYXhDYWxsU3RhY2tEZXB0aCwgdHJ1ZSk7
CiAgICAgICAgIGlmIChzdGFja1RyYWNlICYmIHN0YWNrVHJhY2UtPnNpemUoKSkKICAgICAgICAg
ICAgIHJlY29yZC0+c2V0VmFsdWUoInN0YWNrVHJhY2UiLCBzdGFja1RyYWNlLT5idWlsZEluc3Bl
Y3RvckFycmF5KCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9XZWJDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNv
bGVBZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU3MWJjNAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdl
bnQuY3BwCkBAIC0wLDAgKzEsMTMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiV2ViQ29uc29sZUFnZW50LmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9S
KQorCisjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCisjaW5jbHVkZSAiQ29uc29sZS5o
IgorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1h
bmFnZXIuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VS
ZXNwb25zZS5oIgorI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0
U3RhdGUuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaD4KKwordXNpbmcg
bmFtZXNwYWNlIEluc3BlY3RvcjsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXZWJDb25zb2xl
QWdlbnQ6OldlYkNvbnNvbGVBZ2VudChQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3Rl
ZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0b3JDb25zb2xlQWdlbnQoaW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKQorICAgICwgbV9tb25pdG9yaW5nWEhSRW5hYmxlZChmYWxzZSkKK3sKK30KKwor
dm9pZCBXZWJDb25zb2xlQWdlbnQ6OnNldE1vbml0b3JpbmdYSFJFbmFibGVkKEVycm9yU3RyaW5n
KiwgYm9vbCBlbmFibGVkKQoreworICAgIG1fbW9uaXRvcmluZ1hIUkVuYWJsZWQgPSBlbmFibGVk
OworfQorCit2b2lkIFdlYkNvbnNvbGVBZ2VudDo6ZnJhbWVXaW5kb3dEaXNjYXJkZWQoRE9NV2lu
ZG93KiB3aW5kb3cpCit7CisgICAgSlNDOjpFeGVjU3RhdGUqIHNjcmlwdFN0YXRlID0gbWFpbldv
cmxkRXhlY1N0YXRlKHdpbmRvdy0+ZnJhbWUoKSk7CisgICAgc2l6ZV90IG1lc3NhZ2VDb3VudCA9
IG1fY29uc29sZU1lc3NhZ2VzLnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1l
c3NhZ2VDb3VudDsgKytpKQorICAgICAgICBtX2NvbnNvbGVNZXNzYWdlc1tpXS0+c2NyaXB0U3Rh
dGVDbGVhcmVkKHNjcmlwdFN0YXRlKTsKKworICAgIHN0YXRpY19jYXN0PFBhZ2VJbmplY3RlZFNj
cmlwdE1hbmFnZXIqPihtX2luamVjdGVkU2NyaXB0TWFuYWdlciktPmRpc2NhcmRJbmplY3RlZFNj
cmlwdHNGb3Iod2luZG93KTsKK30KKwordm9pZCBXZWJDb25zb2xlQWdlbnQ6OmRpZEZpbmlzaFhI
UkxvYWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IFN0cmluZyYgc2VuZFVSTCwgdW5zaWduZWQgc2VuZExpbmVOdW1iZXIsIHVuc2ln
bmVkIHNlbmRDb2x1bW5OdW1iZXIpCit7CisgICAgaWYgKCFtX2luamVjdGVkU2NyaXB0TWFuYWdl
ci0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCisgICAg
ICAgIHJldHVybjsKKworICAgIGlmIChtX2Zyb250ZW5kRGlzcGF0Y2hlciAmJiBtX21vbml0b3Jp
bmdYSFJFbmFibGVkKSB7CisgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlhIUiBmaW5pc2hlZCBs
b2FkaW5nOiBcIiIgKyB1cmwgKyAiXCIuIjsKKyAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShN
ZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlVHlwZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkRl
YnVnLCBtZXNzYWdlLCBzZW5kVVJMLCBzZW5kTGluZU51bWJlciwgc2VuZENvbHVtbk51bWJlciwg
bnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOworICAgIH0KK30KKwordm9pZCBXZWJDb25zb2xl
QWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICBpZiAoIW1faW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0Vu
YWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHJlc3BvbnNlLmh0dHBTdGF0dXND
b2RlKCkgPj0gNDAwKSB7CisgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIkZhaWxlZCB0byBsb2Fk
IHJlc291cmNlOiB0aGUgc2VydmVyIHJlc3BvbmRlZCB3aXRoIGEgc3RhdHVzIG9mICIgKyBTdHJp
bmc6Om51bWJlcihyZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpKSArICIgKCIgKyByZXNwb25zZS5o
dHRwU3RhdHVzVGV4dCgpICsgJyknOworICAgICAgICBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3Nh
Z2VTb3VyY2U6Ok5ldHdvcmssIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6RXJyb3Is
IG1lc3NhZ2UsIHJlc3BvbnNlLnVybCgpLnN0cmluZygpLCAwLCAwLCBudWxscHRyLCByZXF1ZXN0
SWRlbnRpZmllcik7CisgICAgfQorfQorCit2b2lkIFdlYkNvbnNvbGVBZ2VudDo6ZGlkRmFpbExv
YWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJv
ciYgZXJyb3IpCit7CisgICAgaWYgKCFtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5zcGVjdG9y
RW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIC8vIFJlcG9ydCBmYWlsdXJlcyBvbmx5LgorICAgIGlmIChlcnJvci5pc0NhbmNlbGxh
dGlvbigpKQorICAgICAgICByZXR1cm47CisKKyAgICBTdHJpbmdCdWlsZGVyIG1lc3NhZ2U7Cisg
ICAgbWVzc2FnZS5hcHBlbmRMaXRlcmFsKCJGYWlsZWQgdG8gbG9hZCByZXNvdXJjZSIpOworICAg
IGlmICghZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKS5pc0VtcHR5KCkpIHsKKyAgICAgICAg
bWVzc2FnZS5hcHBlbmRMaXRlcmFsKCI6ICIpOworICAgICAgICBtZXNzYWdlLmFwcGVuZChlcnJv
ci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKTsKKyAgICB9CisKKyAgICBhZGRNZXNzYWdlVG9Db25z
b2xlKE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcmssIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZl
bDo6RXJyb3IsIG1lc3NhZ2UudG9TdHJpbmcoKSwgZXJyb3IuZmFpbGluZ1VSTCgpLCAwLCAwLCBu
dWxscHRyLCByZXF1ZXN0SWRlbnRpZmllcik7Cit9CisKK2NsYXNzIEluc3BlY3RhYmxlSGVhcE9i
amVjdCBmaW5hbCA6IHB1YmxpYyBDb21tYW5kTGluZUFQSUhvc3Q6Okluc3BlY3RhYmxlT2JqZWN0
IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBJbnNwZWN0YWJsZUhlYXBPYmplY3QoaW50IGhlYXBP
YmplY3RJZCkKKyAgICAgICAgOiBtX2hlYXBPYmplY3RJZChoZWFwT2JqZWN0SWQpCisgICAgewor
ICAgIH0KKworICAgIHZpcnR1YWwgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUgZ2V0KEpTQzo6RXhl
Y1N0YXRlKikgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIHJldHVybiBTY3JpcHRQcm9maWxlcjo6
b2JqZWN0QnlIZWFwT2JqZWN0SWQobV9oZWFwT2JqZWN0SWQpOworICAgIH0KKworcHJpdmF0ZToK
KyAgICBpbnQgbV9oZWFwT2JqZWN0SWQ7Cit9OworCit2b2lkIFdlYkNvbnNvbGVBZ2VudDo6YWRk
SW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyosIGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0
SWQpCit7CisgICAgaWYgKENvbW1hbmRMaW5lQVBJSG9zdCogY29tbWFuZExpbmVBUElIb3N0ID0g
c3RhdGljX2Nhc3Q8UGFnZUluamVjdGVkU2NyaXB0TWFuYWdlcio+KG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKS0+Y29tbWFuZExpbmVBUElIb3N0KCkpCisgICAgICAgIGNvbW1hbmRMaW5lQVBJSG9z
dC0+YWRkSW5zcGVjdGVkT2JqZWN0KGFkb3B0UHRyKG5ldyBJbnNwZWN0YWJsZUhlYXBPYmplY3Qo
aW5zcGVjdGVkSGVhcE9iamVjdElkKSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dl
YkNvbnNvbGVBZ2VudC5oCnNpbWlsYXJpdHkgaW5kZXggNTElCnJlbmFtZSBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaApyZW5hbWUgdG8gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oCmluZGV4IDExZjY1ZWMuLjRkZWJmZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmgKQEAgLTEsNSArMSw2
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIyLDI3ICsyMyw0MyBAQAog
ICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAgKi8KIAotI2lmbmRlZiBDb25zb2xlQVBJVHlwZXNfaAotI2RlZmluZSBDb25zb2xl
QVBJVHlwZXNfaAorI2lmbmRlZiBXZWJDb25zb2xlQWdlbnRfaAorI2RlZmluZSBXZWJDb25zb2xl
QWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKworI2luY2x1ZGUgPGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
ZW51bSBNZXNzYWdlVHlwZSB7Ci0gICAgTG9nTWVzc2FnZVR5cGUsCi0gICAgRGlyTWVzc2FnZVR5
cGUsCi0gICAgRGlyWE1MTWVzc2FnZVR5cGUsCi0gICAgVGFibGVNZXNzYWdlVHlwZSwKLSAgICBU
cmFjZU1lc3NhZ2VUeXBlLAotICAgIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZSwKLSAgICBTdGFydEdy
b3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUsCi0gICAgRW5kR3JvdXBNZXNzYWdlVHlwZSwKLSAgICBD
bGVhck1lc3NhZ2VUeXBlLAotICAgIEFzc2VydE1lc3NhZ2VUeXBlLAotICAgIFRpbWluZ01lc3Nh
Z2VUeXBlLAotICAgIFByb2ZpbGVNZXNzYWdlVHlwZSwKLSAgICBQcm9maWxlRW5kTWVzc2FnZVR5
cGUKK2NsYXNzIERPTVdpbmRvdzsKK2NsYXNzIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXI7Citj
bGFzcyBSZXNvdXJjZUVycm9yOworY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKK3R5cGVkZWYgU3Ry
aW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBXZWJDb25zb2xlQWdlbnQgOiBwdWJsaWMgSW5zcGVj
dG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdl
YkNvbnNvbGVBZ2VudCk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6Cisg
ICAgV2ViQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKKyAgICB2aXJ0
dWFsIH5XZWJDb25zb2xlQWdlbnQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBzZXRNb25pdG9y
aW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkgb3ZlcnJpZGUgZmluYWw7
CisgICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJyb3JTdHJpbmcqLCBp
bnQgaW5zcGVjdGVkSGVhcE9iamVjdElkKSBvdmVycmlkZSBmaW5hbDsKKworICAgIHZvaWQgZnJh
bWVXaW5kb3dEaXNjYXJkZWQoRE9NV2luZG93Kik7CisKKyAgICB2b2lkIGRpZEZpbmlzaFhIUkxv
YWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1cmws
IGNvbnN0IFN0cmluZyYgc2VuZFVSTCwgdW5zaWduZWQgc2VuZExpbmVOdW1iZXIsIHVuc2lnbmVk
IHNlbmRDb2x1bW5OdW1iZXIpOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKKyAgICB2
b2lkIGRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0
IFJlc291cmNlRXJyb3ImKTsKKworcHJvdGVjdGVkOgorICAgIGJvb2wgbV9tb25pdG9yaW5nWEhS
RW5hYmxlZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIENvbnNv
bGVBUElUeXBlc19oCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKKworI2VuZGlmIC8vICFk
ZWZpbmVkKFdlYkNvbnNvbGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VyQ29uc29sZUFnZW50LmNwcAppbmRleCA5ZjEwNTZkLi4yNThhOGRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmNwcApAQCAtMzgsMTgg
KzM4LDE0IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotV29ya2VyQ29uc29sZUFnZW50OjpXb3JrZXJDb25zb2xlQWdlbnQoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciog
aW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQotICAgIDogSW5zcGVjdG9yQ29uc29sZUFnZW50KGluc3Ry
dW1lbnRpbmdBZ2VudHMsIGluamVjdGVkU2NyaXB0TWFuYWdlcikKLXsKLX0KLQotV29ya2VyQ29u
c29sZUFnZW50Ojp+V29ya2VyQ29uc29sZUFnZW50KCkKK1dvcmtlckNvbnNvbGVBZ2VudDo6V29y
a2VyQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0
TWFuYWdlcikKKyAgICA6IFdlYkNvbnNvbGVBZ2VudChpbmplY3RlZFNjcmlwdE1hbmFnZXIpCiB7
CiB9CiAKIHZvaWQgV29ya2VyQ29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKEVycm9yU3Ry
aW5nKiBlcnJvciwgaW50KQogewotICAgICplcnJvciA9ICJhZGRJbnNwZWN0ZWROb2RlIGlzIG5v
dCBzdXBwb3J0ZWQgZm9yIHdvcmtlcnMiOworICAgICplcnJvciA9IEFTQ0lJTGl0ZXJhbCgiYWRk
SW5zcGVjdGVkTm9kZSBpcyBub3Qgc3VwcG9ydGVkIGZvciB3b3JrZXJzIik7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
b3JrZXJDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25z
b2xlQWdlbnQuaAppbmRleCA5OWFkNTYyLi44NzZhNmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oCkBAIC0zMSwyMCArMzEsMjAgQEAKICNpZm5k
ZWYgV29ya2VyQ29uc29sZUFnZW50X2gKICNkZWZpbmUgV29ya2VyQ29uc29sZUFnZW50X2gKIAot
I2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CisjaW5jbHVkZSAiV2ViQ29uc29sZUFnZW50LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVD
VE9SKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdvcmtlckNvbnNvbGVBZ2VudCA6
IHB1YmxpYyBJbnNwZWN0b3JDb25zb2xlQWdlbnQgeworY2xhc3MgV29ya2VyQ29uc29sZUFnZW50
IGZpbmFsIDogcHVibGljIFdlYkNvbnNvbGVBZ2VudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoV29ya2VyQ29uc29sZUFnZW50KTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBXb3JrZXJDb25zb2xlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhZ2VJ
bmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKLSAgICB2aXJ0dWFsIH5Xb3JrZXJDb25zb2xlQWdlbnQo
KTsKKyAgICBXb3JrZXJDb25zb2xlQWdlbnQoUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOwor
ICAgIHZpcnR1YWwgfldvcmtlckNvbnNvbGVBZ2VudCgpIHsgfQogCi0gICAgdmlydHVhbCBib29s
IGlzV29ya2VyQWdlbnQoKSBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBi
b29sIGlzV29ya2VyQWdlbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcqLCBp
bnQgbm9kZUlkKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3Jr
ZXJEZWJ1Z2dlckFnZW50LmNwcAppbmRleCA1MDUzYTRjLi5hNzFlZmU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwCkBAIC0xMjksNyAr
MTI5LDcgQEAgdm9pZCBXb3JrZXJEZWJ1Z2dlckFnZW50OjpzdG9wTGlzdGVuaW5nU2NyaXB0RGVi
dWdTZXJ2ZXIoYm9vbCBpc0JlaW5nRGVzdHJveWVkKQogCiB2b2lkIFdvcmtlckRlYnVnZ2VyQWdl
bnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCiB7Ci0gICAgbV9pbnNwZWN0ZWRXb3JrZXJHbG9iYWxTY29wZS0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIG1f
aW5zcGVjdGVkV29ya2VyR2xvYmFsU2NvcGUtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkxvZywgbWVzc2FnZSk7CiB9CiAKIFdvcmtlclNjcmlwdERl
YnVnU2VydmVyJiBXb3JrZXJEZWJ1Z2dlckFnZW50OjpzY3JpcHREZWJ1Z1NlcnZlcigpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKaW5kZXggZDBhOWY1YS4uN2MwMTVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMzYsNyArMzYs
NiBAQAogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yQ2xpZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yRm9yd2FyZGluZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckhlYXBQcm9maWxl
ckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCkBAIC05MCw3
ICs4OSw5IEBAIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6Oldvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIoV29ya2VyR2xvYmFsU2NvcGUmIHdvcmtlckdsCiAgICAgbV9pbnN0cnVtZW50aW5nQWdl
bnRzLT5zZXRXb3JrZXJSdW50aW1lQWdlbnQobV9ydW50aW1lQWdlbnQpOwogICAgIG1fYWdlbnRz
LmFwcGVuZChzdGQ6Om1vdmUocnVudGltZUFnZW50KSk7CiAKLSAgICBhdXRvIGNvbnNvbGVBZ2Vu
dCA9IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyQ29uc29sZUFnZW50PihtX2luc3RydW1lbnRpbmdB
Z2VudHMuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKTsKKyAgICBhdXRvIGNv
bnNvbGVBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyQ29uc29sZUFnZW50PihtX2luamVj
dGVkU2NyaXB0TWFuYWdlci5nZXQoKSk7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRX
ZWJDb25zb2xlQWdlbnQoY29uc29sZUFnZW50LmdldCgpKTsKKwogICAgIGF1dG8gZGVidWdnZXJB
Z2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyRGVidWdnZXJBZ2VudD4obV9pbmplY3RlZFNj
cmlwdE1hbmFnZXIuZ2V0KCksIG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgJndvcmtlckds
b2JhbFNjb3BlKTsKICAgICBtX3J1bnRpbWVBZ2VudC0+c2V0U2NyaXB0RGVidWdTZXJ2ZXIoJmRl
YnVnZ2VyQWdlbnQtPnNjcmlwdERlYnVnU2VydmVyKCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChz
dGQ6Om1vdmUoZGVidWdnZXJBZ2VudCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5jcHAKaW5kZXggNWQwYTA4NS4uNTAwNmYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuY3BwCkBAIC02MTQsNyArNjE0LDcgQEAgdm9pZCBEb2N1bWVudExvYWRl
cjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGNvbnN0IFJlc291
cmNlUmUKICAgICAgICAgaWYgKGZyYW1lTG9hZGVyKCktPnNob3VsZEludGVycnVwdExvYWRGb3JY
RnJhbWVPcHRpb25zKGNvbnRlbnQsIHJlc3BvbnNlLnVybCgpLCBpZGVudGlmaWVyKSkgewogICAg
ICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZUFmdGVyWEZyYW1lT3B0
aW9uc0RlbmllZChtX2ZyYW1lLCB0aGlzLCBpZGVudGlmaWVyLCByZXNwb25zZSk7CiAgICAgICAg
ICAgICBTdHJpbmcgbWVzc2FnZSA9ICJSZWZ1c2VkIHRvIGRpc3BsYXkgJyIgKyByZXNwb25zZS51
cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGluIGEgZnJhbWUgYmVj
YXVzZSBpdCBzZXQgJ1gtRnJhbWUtT3B0aW9ucycgdG8gJyIgKyBjb250ZW50ICsgIicuIjsKLSAg
ICAgICAgICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGlkZW50aWZpZXIpOwor
ICAgICAgICAgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UsIGlkZW50aWZp
ZXIpOwogICAgICAgICAgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+ZW5mb3JjZVNhbmRib3hGbGFn
cyhTYW5kYm94T3JpZ2luKTsKICAgICAgICAgICAgIGlmIChIVE1MRnJhbWVPd25lckVsZW1lbnQq
IG93bmVyRWxlbWVudCA9IGZyYW1lKCktPm93bmVyRWxlbWVudCgpKQogICAgICAgICAgICAgICAg
IG93bmVyRWxlbWVudC0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5s
b2FkRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKaW5kZXggZDUyOWM3OC4uYWMzMWNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCkBAIC05NSw3ICs5NSw2IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgot
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIu
aCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsQW5pbWF0
b3IuaCIKQEAgLTM3Niw3ICszNzUsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzdWJtaXRGb3JtKFBh
c3NSZWZQdHI8Rm9ybVN1Ym1pc3Npb24+IHN1Ym1pc3Npb24pCiAKICAgICBpZiAoaXNEb2N1bWVu
dFNhbmRib3hlZCgmbV9mcmFtZSwgU2FuZGJveEZvcm1zKSkgewogICAgICAgICAvLyBGSVhNRTog
VGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0
aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhp
c3RzLgotICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3Vy
aXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIGZvcm0gc3VibWlz
c2lvbiB0byAnIiArIHN1Ym1pc3Npb24tPmFjdGlvbigpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRU
b0xlbmd0aCgpICsgIicgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQg
dGhlICdhbGxvdy1mb3JtcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAgICAgICBtX2Zy
YW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQmxvY2tlZCBmb3JtIHN1Ym1pc3Npb24gdG8gJyIgKyBz
dWJtaXNzaW9uLT5hY3Rpb24oKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICIn
IGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctZm9y
bXMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApA
QCAtMTQ4NSw3ICsxNDg0LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFp
bGVkKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiB1cmwpCiAgICAgaWYgKCFmcmFtZSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJOb3QgYWxsb3dlZCB0
byBsb2FkIGxvY2FsIHJlc291cmNlOiAiICsgdXJsKTsKKyAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsICJOb3QgYWxsb3dlZCB0byBsb2FkIGxvY2FsIHJlc291cmNlOiAiICsgdXJsKTsKIH0K
IAogY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBGcmFtZUxvYWRlcjo6aW5pdGlhbFJlcXVlc3QoKSBj
b25zdApAQCAtMjg0OCw3ICsyODQ3LDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6aGFuZGxlQmVmb3Jl
VW5sb2FkRXZlbnQoQ2hyb21lJiBjaHJvbWUsIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWQKICAgICAv
LyBJZiB0aGUgbmF2aWdhdGluZyBGcmFtZUxvYWRlciBoYXMgYWxyZWFkeSBzaG93biBhIGJlZm9y
ZXVubG9hZCBjb25maXJtYXRpb24gcGFuZWwgZm9yIHRoZSBjdXJyZW50IG5hdmlnYXRpb24gYXR0
ZW1wdCwKICAgICAvLyB0aGlzIGZyYW1lIGlzIG5vdCBhbGxvd2VkIHRvIGNhdXNlIGFub3RoZXIg
b25lIHRvIGJlIHNob3duLgogICAgIGlmIChmcmFtZUxvYWRlckJlaW5nTmF2aWdhdGVkLT5tX2N1
cnJlbnROYXZpZ2F0aW9uSGFzU2hvd25CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwpIHsKLSAgICAg
ICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJCbG9ja2VkIGF0dGVtcHQgdG8gc2hvdyBtdWx0aXBsZSBiZWZvcmV1bmxvYWQg
Y29uZmlybWF0aW9uIGRpYWxvZ3MgZm9yIHRoZSBzYW1lIG5hdmlnYXRpb24uIik7CisgICAgICAg
IGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxl
dmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJCbG9ja2VkIGF0dGVtcHQgdG8gc2hvdyBtdWx0aXBs
ZSBiZWZvcmV1bmxvYWQgY29uZmlybWF0aW9uIGRpYWxvZ3MgZm9yIHRoZSBzYW1lIG5hdmlnYXRp
b24uIikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTI4NjEsNyArMjg2MCw3
IEBAIGJvb2wgRnJhbWVMb2FkZXI6OmhhbmRsZUJlZm9yZVVubG9hZEV2ZW50KENocm9tZSYgY2hy
b21lLCBGcmFtZUxvYWRlciogZnJhbWVMb2FkCiAgICAgICAgICAgICBpZiAoIXBhcmVudERvY3Vt
ZW50KQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgaWYgKCFtX2Zy
YW1lLmRvY3VtZW50KCkgfHwgIW1fZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+
Y2FuQWNjZXNzKHBhcmVudERvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpKSkgewotICAgICAgICAg
ICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiQmxvY2tlZCBhdHRlbXB0IHRvIHNob3cgYmVmb3JldW5sb2FkIGNvbmZp
cm1hdGlvbiBkaWFsb2cgb24gYmVoYWxmIG9mIGEgZnJhbWUgd2l0aCBkaWZmZXJlbnQgc2VjdXJp
dHkgb3JpZ2luLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLiIpOwor
ICAgICAgICAgICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJCbG9ja2VkIGF0dGVtcHQg
dG8gc2hvdyBiZWZvcmV1bmxvYWQgY29uZmlybWF0aW9uIGRpYWxvZyBvbiBiZWhhbGYgb2YgYSBm
cmFtZSB3aXRoIGRpZmZlcmVudCBzZWN1cml0eSBvcmlnaW4uIFByb3RvY29scywgZG9tYWlucywg
YW5kIHBvcnRzIG11c3QgbWF0Y2guIikpOwogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgCkBAIC0zMDcxLDEwICszMDcwLDEwIEBAIGJvb2wg
RnJhbWVMb2FkZXI6OnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKGNvbnN0IFN0
cmluZyYgY29udGVudCwgY29uCiAgICAgY2FzZSBYRnJhbWVPcHRpb25zQWxsb3dBbGw6CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICBjYXNlIFhGcmFtZU9wdGlvbnNDb25mbGljdDoKLSAgICAg
ICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IEVycm9yTWVzc2FnZUxldmVsLCAiTXVsdGlwbGUgJ1gtRnJhbWUtT3B0aW9ucycgaGVhZGVycyB3
aXRoIGNvbmZsaWN0aW5nIHZhbHVlcyAoJyIgKyBjb250ZW50ICsgIicpIGVuY291bnRlcmVkIHdo
ZW4gbG9hZGluZyAnIiArIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICIn
LiBGYWxsaW5nIGJhY2sgdG8gJ0RFTlknLiIsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAg
bV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywg
TWVzc2FnZUxldmVsOjpFcnJvciwgIk11bHRpcGxlICdYLUZyYW1lLU9wdGlvbnMnIGhlYWRlcnMg
d2l0aCBjb25mbGljdGluZyB2YWx1ZXMgKCciICsgY29udGVudCArICInKSBlbmNvdW50ZXJlZCB3
aGVuIGxvYWRpbmcgJyIgKyB1cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAi
Jy4gRmFsbGluZyBiYWNrIHRvICdERU5ZJy4iLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIGNhc2UgWEZyYW1lT3B0aW9uc0ludmFsaWQ6Ci0gICAgICAgIG1f
ZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkludmFsaWQgJ1gtRnJhbWUtT3B0aW9ucycgaGVhZGVyIGVuY291bnRl
cmVkIHdoZW4gbG9hZGluZyAnIiArIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgo
KSArICInOiAnIiArIGNvbnRlbnQgKyAiJyBpcyBub3QgYSByZWNvZ25pemVkIGRpcmVjdGl2ZS4g
VGhlIGhlYWRlciB3aWxsIGJlIGlnbm9yZWQuIiwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAg
ICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpT
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiSW52YWxpZCAnWC1GcmFtZS1PcHRpb25zJyBoZWFkZXIg
ZW5jb3VudGVyZWQgd2hlbiBsb2FkaW5nICciICsgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRU
b0xlbmd0aCgpICsgIic6ICciICsgY29udGVudCArICInIGlzIG5vdCBhIHJlY29nbml6ZWQgZGly
ZWN0aXZlLiBUaGUgaGVhZGVyIHdpbGwgYmUgaWdub3JlZC4iLCByZXF1ZXN0SWRlbnRpZmllcik7
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKQEAgLTM0NjYsNyArMzQ2NSw3IEBAIFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0
ZVdpbmRvdyhGcmFtZSogb3BlbmVyRnJhbWUsIEZyYW1lKiBsb29rdXBGcmFtZSwgY29uc3QgRnJh
CiAgICAgLy8gU2FuZGJveGVkIGZyYW1lcyBjYW5ub3Qgb3BlbiBuZXcgYXV4aWxpYXJ5IGJyb3dz
aW5nIGNvbnRleHRzLgogICAgIGlmIChpc0RvY3VtZW50U2FuZGJveGVkKG9wZW5lckZyYW1lLCBT
YW5kYm94UG9wdXBzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBi
ZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICBvcGVuZXJG
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgb3BlbmluZyAnIiArIHJlcXVlc3QucmVzb3Vy
Y2VSZXF1ZXN0KCkudXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBp
biBhIG5ldyB3aW5kb3cgYmVjYXVzZSB0aGUgcmVxdWVzdCB3YXMgbWFkZSBpbiBhIHNhbmRib3hl
ZCBmcmFtZSB3aG9zZSAnYWxsb3ctcG9wdXBzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7Cisg
ICAgICAgIG9wZW5lckZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIkJsb2NrZWQgb3BlbmluZyAn
IiArIHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXpl
ZFRvTGVuZ3RoKCkgKyAiJyBpbiBhIG5ldyB3aW5kb3cgYmVjYXVzZSB0aGUgcmVxdWVzdCB3YXMg
bWFkZSBpbiBhIHNhbmRib3hlZCBmcmFtZSB3aG9zZSAnYWxsb3ctcG9wdXBzJyBwZXJtaXNzaW9u
IGlzIG5vdCBzZXQuIik7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggMTNjMzJmZi4uNDVkYTE0MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC0zNSw3ICszNSw3IEBACiAjaW5jbHVkZSAiSFRN
TE9iamVjdEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVk
ZSAiUmVuZGVySW1hZ2UuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKKyNpbmNsdWRl
IDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4u
aCIKIAogI2lmIEVOQUJMRShTVkcpCkBAIC0yOTYsNyArMjk2LDcgQEAgdm9pZCBJbWFnZUxvYWRl
cjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgICAgICBlcnJv
ckV2ZW50U2VuZGVyKCkuZGlzcGF0Y2hFdmVudFNvb24odGhpcyk7CiAKICAgICAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJDcm9z
cy1vcmlnaW4gaW1hZ2UgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJp
bmcgcG9saWN5LiIpKSk7Ci0gICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xl
TWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xl
TWVzc2FnZSk7CisgICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgY29uc29sZU1l
c3NhZ2UpOwogCiAgICAgICAgIEFTU0VSVCghbV9oYXNQZW5kaW5nTG9hZEV2ZW50KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwCmluZGV4IGU1MDdh
YTYuLjE3ZjM0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRl
bnRDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hl
Y2tlci5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgYm9vbCBNaXhlZENvbnRlbnRDaGVja2VyOjpjYW5S
dW5JbnNlY3VyZUNvbnRlbnQoU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLAogdm9pZCBN
aXhlZENvbnRlbnRDaGVja2VyOjpsb2dXYXJuaW5nKGJvb2wgYWxsb3dlZCwgY29uc3QgU3RyaW5n
JiBhY3Rpb24sIGNvbnN0IFVSTCYgdGFyZ2V0KSBjb25zdAogewogICAgIFN0cmluZyBtZXNzYWdl
ID0gbWFrZVN0cmluZygoYWxsb3dlZCA/ICIiIDogIltibG9ja2VkXSAiKSwgIlRoZSBwYWdlIGF0
ICIsIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVu
Z3RoKCksICIgIiwgYWN0aW9uLCAiIGluc2VjdXJlIGNvbnRlbnQgZnJvbSAiLCB0YXJnZXQuc3Ry
aW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCksICIuXG4iKTsKLSAgICBtX2ZyYW1lLmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgV2FybmluZ01l
c3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBt
ZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAppbmRleCAzNWQ3ODhjLi41ZjBiYTNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMzYsNyArMzYsNiBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlJlc291
cmNlQnVmZmVyLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJUZXh0VHJhY2tDdWUuaCIKICNpbmNsdWRlICJXZWJW
VFRQYXJzZXIuaCIKQEAgLTExOCw3ICsxMTcsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6Y29y
c1BvbGljeVByZXZlbnRlZExvYWQoKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5n
LCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIHRleHQgdHJhY2sg
bG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7
CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gdG9Eb2N1bWVudChtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQpOwotICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgZG9jdW1lbnQt
PmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6
OkVycm9yLCBjb25zb2xlTWVzc2FnZSk7CiAgICAgbV9zdGF0ZSA9IEZhaWxlZDsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVH
cm91cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUdyb3VwLmNwcAppbmRleCAxNzYzZjA2Li5lODc3MTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcApAQCAt
MjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgi
CkBAIC00NzEsNyArNDcxLDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmFib3J0KEZy
YW1lKiBmcmFtZSkKICAgICBpZiAobV9jb21wbGV0aW9uVHlwZSAhPSBOb25lKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTmV0d29y
a01lc3NhZ2VTb3VyY2UsIERlYnVnTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgZG93
bmxvYWQgcHJvY2VzcyB3YXMgYWJvcnRlZC4iKTsKKyAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6TmV0d29yaywgTWVzc2FnZUxldmVsOjpEZWJ1
ZywgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlvbiBDYWNoZSBkb3dubG9hZCBwcm9jZXNzIHdhcyBh
Ym9ydGVkLiIpKTsKICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogfQogCkBAIC01NDcsNyArNTQ3
LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNv
dXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXMKIAogICAgIGlmIChyZXNwb25zZS5odHRwU3Rh
dHVzQ29kZSgpIC8gMTAwICE9IDIgfHwgcmVzcG9uc2UudXJsKCkgIT0gbV9jdXJyZW50SGFuZGxl
LT5maXJzdFJlcXVlc3QoKS51cmwoKSkgewogICAgICAgICBpZiAoKHR5cGUgJiBBcHBsaWNhdGlv
bkNhY2hlUmVzb3VyY2U6OkV4cGxpY2l0KSB8fCAodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNv
dXJjZTo6RmFsbGJhY2spKSB7Ci0gICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRD
b25zb2xlTWVzc2FnZShBcHBDYWNoZU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAi
QXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgbV9jdXJyZW50SGFu
ZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgo
KSArCisgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpBcHBDYWNoZSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIkFwcGxpY2F0aW9u
IENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2UgIiArIG1fY3VycmVudEhhbmRsZS0+Zmlyc3RS
ZXF1ZXN0KCkudXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKwogICAgICAg
ICAgICAgICAgICgocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyKSA/ICIgY291
bGQgbm90IGJlIGZldGNoZWQuIiA6ICIgd2FzIHJlZGlyZWN0ZWQuIikpOwogICAgICAgICAgICAg
Ly8gTm90ZSB0aGF0IGNhY2hlVXBkYXRlRmFpbGVkKCkgY2FuIGNhdXNlIHRoZSBjYWNoZSBncm91
cCB0byBiZSBkZWxldGVkLgogICAgICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKQEAgLTYy
Niw3ICs2MjYsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGlu
ZyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBkb3VibGUgZmluaQogICAgIC8vIEZJWE1FOiBTaG91
bGQgd2UgYnJlYWsgZWFybGllciBhbmQgcHJldmVudCByZWRvd25sb2FkaW5nIG9uIGxhdGVyIHBh
Z2UgbG9hZHM/CiAgICAgaWYgKG1fb3JpZ2luUXVvdGFFeGNlZWRlZFByZXZpb3VzbHkgJiYgbV9h
dmFpbGFibGVTcGFjZUluUXVvdGEgPCBtX2NhY2hlQmVpbmdVcGRhdGVkLT5lc3RpbWF0ZWRTaXpl
SW5TdG9yYWdlKCkpIHsKICAgICAgICAgbV9jdXJyZW50UmVzb3VyY2UgPSAwOwotICAgICAgICBt
X2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShBcHBDYWNoZU1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwg
YmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNlZWRlZC4iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGUsIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZh
aWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNlZWRlZC4iKSk7CiAgICAgICAgIGNhY2hl
VXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NjEsNyArNjYxLDcg
QEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZEZhaWwoUmVzb3VyY2VIYW5kbGUqIGhh
bmRsZSwgY29uc3QgUmVzb3VyY2VFcnJvciYKICAgICBtX3BlbmRpbmdFbnRyaWVzLnJlbW92ZSh1
cmwpOwogCiAgICAgaWYgKCh0eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpFeHBsaWNp
dCkgfHwgKHR5cGUgJiBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6OkZhbGxiYWNrKSkgewotICAg
ICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShBcHBDYWNoZU1lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZh
aWxlZCwgYmVjYXVzZSAiICsgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsg
IiBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGUsIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyB1cmwu
c3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVk
LiIpOwogICAgICAgICAvLyBOb3RlIHRoYXQgY2FjaGVVcGRhdGVGYWlsZWQoKSBjYW4gY2F1c2Ug
dGhlIGNhY2hlIGdyb3VwIHRvIGJlIGRlbGV0ZWQuCiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVk
KCk7CiAgICAgfSBlbHNlIHsKQEAgLTY5MCwxMyArNjkwLDEzIEBAIHZvaWQgQXBwbGljYXRpb25D
YWNoZUdyb3VwOjpkaWRSZWNlaXZlTWFuaWZlc3RSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChyZXNwb25zZS5odHRwU3RhdHVzQ29k
ZSgpIC8gMTAwICE9IDIpIHsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0
aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpOworICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhlciwg
TWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlvbiBDYWNoZSBtYW5p
ZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iKSk7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVk
KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAocmVzcG9uc2UudXJsKCkgIT0g
bV9tYW5pZmVzdEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkpIHsKLSAgICAgICAgbV9mcmFt
ZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBm
ZXRjaGVkLCBiZWNhdXNlIGEgcmVkaXJlY3Rpb24gd2FzIGF0dGVtcHRlZC4iKTsKKyAgICAgICAg
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3Ro
ZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUg
bWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQsIGJlY2F1c2UgYSByZWRpcmVjdGlvbiB3YXMg
YXR0ZW1wdGVkLiIpKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KQEAgLTcxNiw3ICs3MTYsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91
cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KCkKIAogICAgIGlmICghaXNVcGdyYWRlQXR0ZW1w
dCAmJiAhbV9tYW5pZmVzdFJlc291cmNlKSB7CiAgICAgICAgIC8vIFRoZSBzZXJ2ZXIgcmV0dXJu
ZWQgMzA0IE5vdCBNb2RpZmllZCBldmVuIHRob3VnaCB3ZSBkaWRuJ3Qgc2VuZCBhIGNvbmRpdGlv
bmFsIHJlcXVlc3QuCi0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBD
YWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCBiZWNhdXNlIG9mIGFuIHVuZXhwZWN0
ZWQgMzA0IE5vdCBNb2RpZmllZCBzZXJ2ZXIgcmVzcG9uc2UuIik7CisgICAgICAgIG1fZnJhbWUt
PmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNz
YWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0
IGNvdWxkIG5vdCBiZSBmZXRjaGVkIGJlY2F1c2Ugb2YgYW4gdW5leHBlY3RlZCAzMDQgTm90IE1v
ZGlmaWVkIHNlcnZlciByZXNwb25zZS4iKSk7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03NDIsNyArNzQyLDcgQEAgdm9pZCBBcHBsaWNh
dGlvbkNhY2hlR3JvdXA6OmRpZEZpbmlzaExvYWRpbmdNYW5pZmVzdCgpCiAgICAgTWFuaWZlc3Qg
bWFuaWZlc3Q7CiAgICAgaWYgKCFwYXJzZU1hbmlmZXN0KG1fbWFuaWZlc3RVUkwsIG1fbWFuaWZl
c3RSZXNvdXJjZS0+ZGF0YSgpLT5kYXRhKCksIG1fbWFuaWZlc3RSZXNvdXJjZS0+ZGF0YSgpLT5z
aXplKCksIG1hbmlmZXN0KSkgewogICAgICAgICAvLyBBdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRp
bmcsIGxhY2sgb2YgIkNBQ0hFIE1BTklGRVNUIiBzaWduYXR1cmUgaXMgdGhlIG9ubHkgcmVhc29u
IGZvciBwYXJzZU1hbmlmZXN0IHRvIGZhaWwuCi0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
ICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgcGFyc2VkLiBEb2VzIGl0
IHN0YXJ0IHdpdGggQ0FDSEUgTUFOSUZFU1Q/Iik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6
OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5v
dCBiZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBDQUNIRSBNQU5JRkVTVD8iKSk7CiAgICAg
ICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC05Mjks
NyArOTI5LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmNoZWNrSWZMb2FkSXNDb21w
bGV0ZSgpCiAgICAgICAgICAgICAgICAgLy8gV2UgcmFuIG91dCBvZiBzcGFjZSBmb3IgdGhpcyBv
cmlnaW4uIEZhbGwgZG93biB0byB0aGUgbm9ybWFsIGVycm9yIGhhbmRsaW5nCiAgICAgICAgICAg
ICAgICAgLy8gYWZ0ZXIgcmVjb3JkaW5nIHRoaXMgc3RhdGUuCiAgICAgICAgICAgICAgICAgbV9v
cmlnaW5RdW90YUV4Y2VlZGVkUHJldmlvdXNseSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgbV9m
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1
c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIik7CisgICAgICAgICAgICAgICAgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZh
aWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNlZWRlZC4iKSk7CiAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgIGlmIChmYWlsdXJlUmVhc29uID09IEFwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlOjpUb3RhbFF1b3RhUmVhY2hlZCAmJiAhbV9jYWxsZWRSZWFjaGVkTWF4QXBwQ2FjaGVTaXpl
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcAppbmRleCA2NmI4YTA5Li45YmZkYjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTY0Miw3ICs2
NDIsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludEFjY2Vzc0RlbmllZE1lc3Nh
Z2UoY29uc3QgVVJMJiB1cmwpIGNvbnN0CiAgICAgZWxzZQogICAgICAgICBtZXNzYWdlID0gIlVu
c2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMICIgKyB1cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRv
TGVuZ3RoKCkgKyAiIGZyb20gZnJhbWUgd2l0aCBVUkwgIiArIG1fZG9jdW1lbnQtPnVybCgpLnN0
cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIi4gRG9tYWlucywgcHJvdG9jb2xzIGFu
ZCBwb3J0cyBtdXN0IG1hdGNoLlxuIjsKIAotICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmFkZENv
bnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UpOworICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKIH0KIAog
dm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6c2V0QXV0b0xvYWRJbWFnZXMoYm9vbCBlbmFibGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCBhZTViNmQxLi5mNmQ1ZDU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTIzLDggKzIzLDYgQEAKICNkZWZpbmUgQ2hy
b21lQ2xpZW50X2gKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKLSNpbmNsdWRlICJDb25z
b2xlQVBJVHlwZXMuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJDdXJz
b3IuaCIKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVy
LmgiCkBAIC0zNyw2ICszNSw3IEBACiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIK
ICNpbmNsdWRlICJTZWFyY2hQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJDb3JlS2V5Ym9hcmRV
SU1vZGUuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCmluZGV4IGUyMWI4NjIuLmU3M2E2ZWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcApAQCAtMzEsOCArMzEsNiBAQAogCiAjaW5jbHVkZSAi
Q2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCi0jaW5jbHVkZSAiQ29uc29sZUFQ
SVR5cGVzLmgiCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCkBAIC00Miwx
OCArNDAsMjEgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNvbGUuaCIK
ICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKLSNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0
b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2Zp
bGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgorI2luY2x1ZGUg
PGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0QXJn
dW1lbnRzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgorI2luY2x1
ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8c3RkaW8u
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogQ29uc29sZTo6Q29uc29sZShGcmFtZSogZnJhbWUpCkBAIC04MSwxMyArODIsMTMg
QEAgc3RhdGljIHZvaWQgaW50ZXJuYWxBZGRNZXNzYWdlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VUeXBl
IHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwKIAogICAgIFN0cmluZyBtZXNzYWdlOwogICAgIGJv
b2wgZ290TWVzc2FnZSA9IGFyZ3VtZW50cy0+Z2V0Rmlyc3RBcmd1bWVudEFzU3RyaW5nKG1lc3Nh
Z2UpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShw
YWdlLCBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHN0YXRl
LCBhcmd1bWVudHMpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRv
Q29uc29sZShwYWdlLCBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgc3RhdGUsIGFyZ3VtZW50cyk7CiAKICAgICBpZiAocGFnZS0+c2V0dGluZ3MoKS5wcml2
YXRlQnJvd3NpbmdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChnb3RNZXNz
YWdlKQotICAgICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5hZGRNZXNzYWdlVG9Db25zb2xl
KENvbnNvbGVBUElNZXNzYWdlU291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGFzdENhbGxl
ci5saW5lTnVtYmVyKCksIGxhc3RDYWxsZXIuY29sdW1uTnVtYmVyKCksIGxhc3RDYWxsZXIuc291
cmNlVVJMKCkpOworICAgICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5hZGRNZXNzYWdlVG9D
b25zb2xlKE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBs
YXN0Q2FsbGVyLmxpbmVOdW1iZXIoKSwgbGFzdENhbGxlci5jb2x1bW5OdW1iZXIoKSwgbGFzdENh
bGxlci5zb3VyY2VVUkwoKSk7CiAKICAgICBpZiAoIXBhZ2UtPnNldHRpbmdzKCkubG9nc1BhZ2VN
ZXNzYWdlc1RvU3lzdGVtQ29uc29sZUVuYWJsZWQoKSAmJiAhUGFnZUNvbnNvbGU6OnNob3VsZFBy
aW50RXhjZXB0aW9ucygpKQogICAgICAgICByZXR1cm47CkBAIC05Niw3ICs5Nyw3IEBAIHN0YXRp
YyB2b2lkIGludGVybmFsQWRkTWVzc2FnZShQYWdlKiBwYWdlLCBNZXNzYWdlVHlwZSB0eXBlLCBN
ZXNzYWdlTGV2ZWwgbGV2ZWwsCiAKICAgICBwcmludGYoIjogIik7CiAKLSAgICBQYWdlQ29uc29s
ZTo6cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoQ29uc29sZUFQSU1lc3NhZ2VTb3Vy
Y2UsIGxldmVsLCBwcmludFRyYWNlKTsKKyAgICBQYWdlQ29uc29sZTo6cHJpbnRNZXNzYWdlU291
cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSwgbGV2ZWwsIHByaW50
VHJhY2UpOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudHMtPmFyZ3VtZW50
Q291bnQoKTsgKytpKSB7CiAgICAgICAgIFN0cmluZyBhcmdBc1N0cmluZyA9IGFyZ3VtZW50cy0+
YXJndW1lbnRBdChpKS50b1N0cmluZyhhcmd1bWVudHMtPmdsb2JhbFN0YXRlKCkpOwpAQCAtMTI1
LDEyICsxMjYsMTIgQEAgc3RhdGljIHZvaWQgaW50ZXJuYWxBZGRNZXNzYWdlKFBhZ2UqIHBhZ2Us
IE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwKIAogdm9pZCBDb25zb2xlOjpk
ZWJ1ZyhKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVzc2FnZVR5
cGUsIERlYnVnTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFk
ZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBz
dGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25zb2xlOjplcnJvcihKU0M6OkV4ZWNTdGF0
ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAg
aW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBN
ZXNzYWdlVHlwZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBzdGF0ZSwgYXJndW1lbnRzKTsK
IH0KIAogdm9pZCBDb25zb2xlOjppbmZvKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKQEAgLTE0MCwzNyArMTQxLDM3IEBAIHZvaWQg
Q29uc29sZTo6aW5mbyhKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPiBhcmd1bWVudHMpCiAKIHZvaWQgQ29uc29sZTo6bG9nKEpTQzo6RXhlY1N0YXRlKiBz
dGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRl
cm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBMb2dNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBz
dGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdl
VHlwZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkxvZywgc3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZv
aWQgQ29uc29sZTo6d2FybihKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwg
TG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOwor
ICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VM
ZXZlbDo6V2FybmluZywgc3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6ZGly
KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3Vt
ZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBEaXJNZXNzYWdlVHlwZSwg
TG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1lc3Nh
Z2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6RGlyLCBNZXNzYWdlTGV2ZWw6OkxvZywgc3RhdGUsIGFy
Z3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6ZGlyeG1sKEpTQzo6RXhlY1N0YXRlKiBzdGF0
ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5h
bEFkZE1lc3NhZ2UocGFnZSgpLCBEaXJYTUxNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBz
dGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdl
VHlwZTo6RGlyWE1MLCBNZXNzYWdlTGV2ZWw6OkxvZywgc3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAK
IHZvaWQgQ29uc29sZTo6dGFibGUoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNj
cmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdl
KCksIFRhYmxlTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7
CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OlRhYmxlLCBNZXNz
YWdlTGV2ZWw6OkxvZywgc3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6Y2xl
YXIoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJn
dW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIENsZWFyTWVzc2FnZVR5
cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSk7CisgICAgaW50ZXJu
YWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkNsZWFyLCBNZXNzYWdlTGV2ZWw6Okxv
Zywgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6dHJhY2UoSlND
OjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
KQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIFRyYWNlTWVzc2FnZVR5cGUsIExv
Z01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSwgdHJ1ZSk7CisgICAgaW50ZXJu
YWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OlRyYWNlLCBNZXNzYWdlTGV2ZWw6Okxv
Zywgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSwgdHJ1ZSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6YXNz
ZXJ0Q29uZGl0aW9uKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+IGFyZ3VtZW50cywgYm9vbCBjb25kaXRpb24pCkBAIC0xNzgsNyArMTc5LDcgQEAgdm9p
ZCBDb25zb2xlOjphc3NlcnRDb25kaXRpb24oSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVm
UHRyPFNjcmlwdEFyZ3VtZW50cz4KICAgICBpZiAoY29uZGl0aW9uKQogICAgICAgICByZXR1cm47
CiAKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBBc3NlcnRNZXNzYWdlVHlwZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHRydWUpOworICAgIGludGVybmFsQWRk
TWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpBc3NlcnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3Is
IHN0YXRlLCBhcmd1bWVudHMsIHRydWUpOwogfQogCiB2b2lkIENvbnNvbGU6OmNvdW50KEpTQzo6
RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykK
QEAgLTI0MywxNyArMjQ0LDE3IEBAIHZvaWQgQ29uc29sZTo6dGltZVN0YW1wKFBhc3NSZWZQdHI8
U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiAKIHZvaWQgQ29uc29sZTo6Z3JvdXAoSlNDOjpF
eGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQog
ewotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdl
KCksIENvbnNvbGVBUElNZXNzYWdlU291cmNlLCBTdGFydEdyb3VwTWVzc2FnZVR5cGUsIExvZ01l
c3NhZ2VMZXZlbCwgU3RyaW5nKCksIHN0YXRlLCBhcmd1bWVudHMpOworICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlKCksIE1lc3NhZ2VTb3VyY2U6
OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpTdGFydEdyb3VwLCBNZXNzYWdlTGV2ZWw6OkxvZywg
U3RyaW5nKCksIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6Omdyb3VwQ29s
bGFwc2VkKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
IGFyZ3VtZW50cykKIHsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VU
b0NvbnNvbGUocGFnZSgpLCBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgU3RhcnRHcm91cENvbGxh
cHNlZE1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIFN0cmluZygpLCBzdGF0ZSwgYXJndW1l
bnRzKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUo
cGFnZSgpLCBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6U3RhcnRHcm91
cENvbGxhcHNlZCwgTWVzc2FnZUxldmVsOjpMb2csIFN0cmluZygpLCBzdGF0ZSwgYXJndW1lbnRz
KTsKIH0KIAogdm9pZCBDb25zb2xlOjpncm91cEVuZCgpCiB7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UoKSwgQ29uc29sZUFQSU1lc3NhZ2VT
b3VyY2UsIEVuZEdyb3VwTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgU3RyaW5nKCksIFN0
cmluZygpLCAwLCAwKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VU
b0NvbnNvbGUocGFnZSgpLCBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6
RW5kR3JvdXAsIE1lc3NhZ2VMZXZlbDo6TG9nLCBTdHJpbmcoKSwgU3RyaW5nKCksIDAsIDApOwog
fQogCiBQYWdlKiBDb25zb2xlOjpwYWdlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29uc29sZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgKaW5kZXgg
NjRlYWMxYS4uOThlNGI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgKQEAgLTM3LDExICszNywxNCBA
QAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KIAorbmFtZXNwYWNlIEluc3BlY3RvciB7CitjbGFzcyBTY3JpcHRBcmd1bWVudHM7Cit9CisK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CiBjbGFzcyBQYWdlOwotY2xhc3Mg
U2NyaXB0QXJndW1lbnRzOwogCiB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8U2NyaXB0UHJvZmlsZT4+
IFByb2ZpbGVzQXJyYXk7CiAKQEAgLTUwLDI2ICs1MywyNiBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q29uc29sZT4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENvbnNvbGUoZnJhbWUpKTsgfQogICAgIHZpcnR1YWwgfkNvbnNvbGUoKTsKIAotICAg
IHZvaWQgZGVidWcoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4p
OwotICAgIHZvaWQgZXJyb3IoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3Vt
ZW50cz4pOwotICAgIHZvaWQgaW5mbyhKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPik7Ci0gICAgdm9pZCBsb2coSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNj
cmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgY2xlYXIoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVm
UHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgd2FybihKU0M6OkV4ZWNTdGF0ZSosIFBh
c3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBkaXIoSlNDOjpFeGVjU3RhdGUq
LCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgZGlyeG1sKEpTQzo6RXhl
Y1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIHRhYmxlKEpT
Qzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIHRy
YWNlKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2
b2lkIGFzc2VydENvbmRpdGlvbihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPiwgYm9vbCBjb25kaXRpb24pOwotICAgIHZvaWQgY291bnQoSlNDOjpFeGVjU3RhdGUq
LCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgZGVidWcoSlNDOjpFeGVj
U3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9p
ZCBlcnJvcihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1
bWVudHM+KTsKKyAgICB2b2lkIGluZm8oSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBsb2coSlNDOjpFeGVjU3RhdGUqLCBQ
YXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBjbGVhcihK
U0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsK
KyAgICB2b2lkIHdhcm4oSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2Ny
aXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBkaXIoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBkaXJ4bWwoSlNDOjpFeGVj
U3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9p
ZCB0YWJsZShKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1
bWVudHM+KTsKKyAgICB2b2lkIHRyYWNlKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNw
ZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgYXNzZXJ0Q29uZGl0aW9uKEpTQzo6
RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4sIGJvb2wg
Y29uZGl0aW9uKTsKKyAgICB2b2lkIGNvdW50KEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJ
bnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwogICAgIGNvbnN0IFByb2ZpbGVzQXJyYXkmIHBy
b2ZpbGVzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9maWxlczsgfQogICAgIHZvaWQgcHJvZmlsZShK
U0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgPSBTdHJpbmcoKSk7CiAgICAgdm9pZCBwcm9m
aWxlRW5kKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiA9IFN0cmluZygpKTsKICAgICB2
b2lkIHRpbWUoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCB0aW1lRW5kKEpTQzo6RXhlY1N0YXRl
KiwgY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCB0aW1lU3RhbXAoUGFzc1JlZlB0cjxTY3JpcHRB
cmd1bWVudHM+KTsKLSAgICB2b2lkIGdyb3VwKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGdyb3VwQ29sbGFwc2VkKEpTQzo6RXhlY1N0YXRl
KiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIHRpbWVTdGFtcChQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBncm91cChKU0M6
OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAg
ICB2b2lkIGdyb3VwQ29sbGFwc2VkKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0
b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwogICAgIHZvaWQgZ3JvdXBFbmQoKTsKIAogcHJpdmF0ZToK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA4MDRhMTY3Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVz
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBD
b25zb2xlVHlwZXNfaAotI2RlZmluZSBDb25zb2xlVHlwZXNfaAotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLWVudW0gTWVzc2FnZVNvdXJjZSB7Ci0gICAgWE1MTWVzc2FnZVNvdXJjZSwKLSAgICBK
U01lc3NhZ2VTb3VyY2UsCi0gICAgTmV0d29ya01lc3NhZ2VTb3VyY2UsCi0gICAgQ29uc29sZUFQ
SU1lc3NhZ2VTb3VyY2UsCi0gICAgU3RvcmFnZU1lc3NhZ2VTb3VyY2UsCi0gICAgQXBwQ2FjaGVN
ZXNzYWdlU291cmNlLAotICAgIFJlbmRlcmluZ01lc3NhZ2VTb3VyY2UsCi0gICAgQ1NTTWVzc2Fn
ZVNvdXJjZSwKLSAgICBTZWN1cml0eU1lc3NhZ2VTb3VyY2UsCi0gICAgT3RoZXJNZXNzYWdlU291
cmNlLAotfTsKLQotZW51bSBNZXNzYWdlTGV2ZWwgewotICAgIERlYnVnTWVzc2FnZUxldmVsID0g
NCwKLSAgICBMb2dNZXNzYWdlTGV2ZWwgPSAxLAotICAgIFdhcm5pbmdNZXNzYWdlTGV2ZWwgPSAy
LAotICAgIEVycm9yTWVzc2FnZUxldmVsID0gMwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLy8gQ29uc29sZVR5cGVzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29u
dGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCAwYWVhOWFhLi5lMDc0YWFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCkBAIC0zNSwxNyArMzUs
MTggQEAKICNpbmNsdWRlICJGb3JtRGF0YUxpc3QuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2lu
Y2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgIlVSTC5oIgorI2lu
Y2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIlBpbmdMb2FkZXIuaCIK
ICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVn
aXN0cnkuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNsdWRlICJTY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQu
aCIKICNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKKyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRl
IDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9z
aXRpb24uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTE3ODgsNyArMTc4
OSw3IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRWaW9sYXRpb24oY29uc3Qg
U3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBjb25zdCBTCiAgICAgY3NwUmVwb3J0LT5zZXRTdHJpbmco
Im9yaWdpbmFsLXBvbGljeSIsIGhlYWRlcik7CiAgICAgY3NwUmVwb3J0LT5zZXRTdHJpbmcoImJs
b2NrZWQtdXJpIiwgc3RyaXBVUkxGb3JVc2VJblJlcG9ydChkb2N1bWVudCwgYmxvY2tlZFVSTCkp
OwogCi0gICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2sgPSBjcmVhdGVTY3JpcHRDYWxs
U3RhY2soMiwgZmFsc2UpOworICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrID0gY3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCks
IDIsIGZhbHNlKTsKICAgICBpZiAoc3RhY2spIHsKICAgICAgICAgY29uc3QgU2NyaXB0Q2FsbEZy
YW1lJiBjYWxsRnJhbWUgPSBnZXRGaXJzdE5vbk5hdGl2ZUZyYW1lKHN0YWNrKTsKIApAQCAtMTg5
OSw3ICsxOTAwLDcgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydE1pc3NpbmdS
ZXBvcnRVUkkoY29uc3QgU3RyaW5nJiBwb2xpY3kpIGNvbnN0CiB2b2lkIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6bG9nVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBKU0M6
OkV4ZWNTdGF0ZSogc3RhdGUpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0
Lm9yZy9iLzExNDMxNz4gQ29udGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0NvbnNvbGUgc2hvdWxk
IGluY2x1ZGUgYSBjb2x1bW4gbnVtYmVyCi0gICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5h
ZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBtZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZS5vbmVCYXNlZEludCgpLCAwLCBzdGF0
ZSk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSwgY29udGV4
dFVSTCwgY29udGV4dExpbmUub25lQmFzZWRJbnQoKSwgMCwgc3RhdGUpOwogfQogCiB2b2lkIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0QmxvY2tlZFNjcmlwdEV4ZWN1dGlvblRvSW5zcGVj
dG9yKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01TZWN1cml0eVBvbGljeS5jcHAKaW5kZXggN2EyNjRlZS4uOTk0Yzk2YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKICNp
bmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkRPTVN0cmlu
Z0xpc3QuaCIKICNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5o
IgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDx3dGYvdGV4
dC9UZXh0UG9zaXRpb24uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA3NTMzYjAwLi4zZGYyY2M0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCkBAIC0yMSw3ICsyMSw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
ICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
ICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTY5LDcgKzY5LDcgQEAKICNpbmNsdWRlICJIVE1MRnJh
bWVPd25lckVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXN0b3J5LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiVVJMLmgiCisjaW5jbHVkZSAiSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiTG9jYXRpb24uaCIKICNpbmNsdWRlICJNYWlu
RnJhbWUuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TGlzdC5oIgpAQCAtODUsOCArODUsNiBAQAog
I2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTY2hlZHVsZWRB
Y3Rpb24uaCIKICNpbmNsdWRlICJTY3JlZW4uaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2su
aCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlQb2xpY3kuaCIKQEAgLTk4LDEwICs5NiwxMyBAQAogI2luY2x1ZGUgIlN0eWxlTWVkaWEu
aCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAjaW5jbHVkZSAiU3VkZGVuVGVybWluYXRp
b24uaCIKKyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJXZWJLaXRQb2ludC5oIgogI2luY2x1
ZGUgIldpbmRvd0ZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNh
dG9yLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRD
YWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5o
PgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTEyNCw2ICsxMjUsOCBAQAogI2lu
Y2x1ZGUgIldLQ29udGVudE9ic2VydmF0aW9uLmgiCiAjZW5kaWYKIAordXNpbmcgbmFtZXNwYWNl
IEluc3BlY3RvcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQb3N0TWVzc2FnZVRp
bWVyIDogcHVibGljIFRpbWVyQmFzZSB7CkBAIC04NDMsNyArODQ2LDcgQEAgdm9pZCBET01XaW5k
b3c6OnBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdl
LCBjb25zdCBNZXMKICAgICAvLyBDYXB0dXJlIHN0YWNrIHRyYWNlIG9ubHkgd2hlbiBpbnNwZWN0
b3IgZnJvbnQtZW5kIGlzIGxvYWRlZCBhcyBpdCBtYXkgYmUgdGltZSBjb25zdW1pbmcuCiAgICAg
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZTsKICAgICBpZiAoSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpjb25zb2xlQWdlbnRFbmFibGVkKHNvdXJjZURvY3VtZW50KSkKLSAgICAg
ICAgc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhTY3JpcHRDYWxsU3RhY2s6Om1h
eENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpOworICAgICAgICBzdGFja1RyYWNlID0gY3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCks
IFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7CiAKICAg
ICAvLyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBQb3N0TWVzc2FnZVRpbWVyKiB0aW1lciA9
IG5ldyBQb3N0TWVzc2FnZVRpbWVyKHRoaXMsIG1lc3NhZ2UsIHNvdXJjZU9yaWdpbiwgJnNvdXJj
ZSwgY2hhbm5lbHMucmVsZWFzZSgpLCB0YXJnZXQuZ2V0KCksIHN0YWNrVHJhY2UucmVsZWFzZSgp
KTsKQEAgLTg2Nyw3ICs4NzAsNyBAQCB2b2lkIERPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdlRXZl
bnRXaXRoT3JpZ2luQ2hlY2soU2VjdXJpdHlPcmlnaW4qIGludGVuZGVkVGFyZwogICAgICAgICBp
ZiAoIWludGVuZGVkVGFyZ2V0T3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChkb2N1bWVudCgp
LT5zZWN1cml0eU9yaWdpbigpKSkgewogICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiVW5h
YmxlIHRvIHBvc3QgbWVzc2FnZSB0byAiICsgaW50ZW5kZWRUYXJnZXRPcmlnaW4tPnRvU3RyaW5n
KCkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLiBSZWNpcGllbnQgaGFzIG9yaWdp
biAiICsgZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSArICIuXG4iOwot
ICAgICAgICAgICAgcGFnZUNvbnNvbGUoKS0+YWRkTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBzdGFja1RyYWNlKTsKKyAgICAgICAgICAg
IHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UsIHN0YWNrVHJhY2UpOwogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAgICAgfQpAQCAtOTY2LDcgKzk2OSw3IEBAIHZvaWQgRE9NV2luZG93Ojpj
bG9zZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogICAgIGJvb2wgYWxsb3dTY3Jp
cHRzVG9DbG9zZVdpbmRvd3MgPSBtX2ZyYW1lLT5zZXR0aW5ncygpLmFsbG93U2NyaXB0c1RvQ2xv
c2VXaW5kb3dzKCk7CiAKICAgICBpZiAoIShwYWdlLT5vcGVuZWRCeURPTSgpIHx8IHBhZ2UtPmJh
Y2tGb3J3YXJkKCkuY291bnQoKSA8PSAxIHx8IGFsbG93U2NyaXB0c1RvQ2xvc2VXaW5kb3dzKSkg
ewotICAgICAgICBwYWdlQ29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2Fy
bmluZ01lc3NhZ2VMZXZlbCwgQVNDSUlMaXRlcmFsKCJDYW4ndCBjbG9zZSB0aGUgd2luZG93IHNp
bmNlIGl0IHdhcyBub3Qgb3BlbmVkIGJ5IEphdmFTY3JpcHQiKSk7CisgICAgICAgIHBhZ2VDb25z
b2xlKCktPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2Fybmlu
ZywgQVNDSUlMaXRlcmFsKCJDYW4ndCBjbG9zZSB0aGUgd2luZG93IHNpbmNlIGl0IHdhcyBub3Qg
b3BlbmVkIGJ5IEphdmFTY3JpcHQiKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE5
MzYsNyArMTkzOSw3IEBAIHZvaWQgRE9NV2luZG93OjpwcmludEVycm9yTWVzc2FnZShjb25zdCBT
dHJpbmcmIG1lc3NhZ2UpCiAgICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBwYWdlQ29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogfQogCiBT
dHJpbmcgRE9NV2luZG93Ojpjcm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVzc2FnZShjb25zdCBET01X
aW5kb3cmIGFjdGl2ZVdpbmRvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDkyOTc4MWEu
LmVmYTEwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzQsNiArMzQsMTAgQEAKICNp
bmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAKK25hbWVz
cGFjZSBJbnNwZWN0b3IgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOworfQorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBCYXJQcm9wOwpAQCAtNjUsNyArNjksNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUG9zdE1lc3NhZ2VUaW1lcjsKICAgICBjbGFzcyBTY2hl
ZHVsZWRBY3Rpb247CiAgICAgY2xhc3MgU2NyZWVuOwotICAgIGNsYXNzIFNjcmlwdENhbGxTdGFj
azsKICAgICBjbGFzcyBTZWN1cml0eU9yaWdpbjsKICAgICBjbGFzcyBTZXJpYWxpemVkU2NyaXB0
VmFsdWU7CiAgICAgY2xhc3MgU3RvcmFnZTsKQEAgLTIzOSw3ICsyNDIsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIC8vIE5lZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmluZGluZ3MgKHNl
ZSBidWcgMjg3NzQpLgogICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBNZXNzYWdlUG9ydCosIGNvbnN0IFN0cmluZyYgdGFy
Z2V0T3JpZ2luLCBET01XaW5kb3cmIHNvdXJjZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2
b2lkIHBvc3RNZXNzYWdlVGltZXJGaXJlZChQYXNzT3duUHRyPFBvc3RNZXNzYWdlVGltZXI+KTsK
LSAgICAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VFdmVudFdpdGhPcmlnaW5DaGVjayhTZWN1cml0
eU9yaWdpbiogaW50ZW5kZWRUYXJnZXRPcmlnaW4sIFBhc3NSZWZQdHI8RXZlbnQ+LCBQYXNzUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgICAgICB2b2lkIGRpc3BhdGNoTWVzc2FnZUV2ZW50
V2l0aE9yaWdpbkNoZWNrKFNlY3VyaXR5T3JpZ2luKiBpbnRlbmRlZFRhcmdldE9yaWdpbiwgUGFz
c1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsK
IAogICAgICAgICB2b2lkIHNjcm9sbEJ5KGludCB4LCBpbnQgeSkgY29uc3Q7CiAgICAgICAgIHZv
aWQgc2Nyb2xsVG8oaW50IHgsIGludCB5KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJj
ZS5jcHAKaW5kZXggNGNjZmJlMy4uZTFkOTUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJj
ZS5jcHAKQEAgLTQ2LDcgKzQ2LDYgQEAKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5j
bHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgot
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIu
aCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJp
dHlPcmlnaW4uaCIKQEAgLTIyOCw3ICsyMjcsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpkaWRSZWNl
aXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcAog
ICAgICAgICAgICAgbWVzc2FnZS5hcHBlbmQoY2hhcnNldCk7CiAgICAgICAgICAgICBtZXNzYWdl
LmFwcGVuZExpdGVyYWwoIlwiKSB0aGF0IGlzIG5vdCBVVEYtOC4gQWJvcnRpbmcgdGhlIGNvbm5l
Y3Rpb24uIik7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJj
ZSBsaW5lLgotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xl
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3Ry
aW5nKCkpOworICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZS50
b1N0cmluZygpKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIFRvIGtlZXAg
dGhlIHNpZ25hbC10by1ub2lzZSByYXRpbyBsb3csIHdlIG9ubHkgbG9nIDIwMC1yZXNwb25zZSB3
aXRoIGFuIGludmFsaWQgTUlNRSB0eXBlLgpAQCAtMjM4LDcgKzIzNyw3IEBAIHZvaWQgRXZlbnRT
b3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwCiAgICAgICAgICAgICBtZXNzYWdlLmFwcGVuZChyZXNwb25zZS5taW1lVHlw
ZSgpKTsKICAgICAgICAgICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiXCIpIHRoYXQgaXMgbm90
IFwidGV4dC9ldmVudC1zdHJlYW1cIi4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rpb24uIik7CiAgICAg
ICAgICAgICAvLyBGSVhNRTogV2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJjZSBsaW5lLgotICAgICAg
ICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOworICAgICAg
ICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZS50b1N0cmluZygpKTsKICAg
ICAgICAgfQogICAgIH0KIApAQCAtMjkwLDcgKzI4OSw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRp
ZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB2b2lkIEV2ZW50U291cmNlOjpkaWRG
YWlsQWNjZXNzQ29udHJvbENoZWNrKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogewogICAg
IFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZygiRXZlbnRTb3VyY2UgY2Fubm90IGxvYWQgIiwg
ZXJyb3IuZmFpbGluZ1VSTCgpLCAiLiAiLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKTsK
LSAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VM
ZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogCiAgICAgYWJvcnRDb25uZWN0aW9uQXR0ZW1wdCgpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcAppbmRleCAyOTE0Y2JiLi40NDBmNzhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcApAQCAtMzEsMjQgKzMxLDI1IEBACiAKICNp
bmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKLSNpbmNsdWRlICJD
b25zb2xlQVBJVHlwZXMuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29s
ZUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5j
bHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0j
aW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdGFibGVE
b2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8YmluZGlu
Z3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+Cisj
aW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oPgorI2luY2x1ZGUgPGluc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeS5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCit1c2luZyBuYW1lc3BhY2Ug
SW5zcGVjdG9yOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSB7CkBAIC04MCwz
NCArODEsMzQgQEAgdm9pZCBQYWdlQ29uc29sZTo6cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQ
cmVmaXgoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2UKIHsKICAgICBjb25zdCBjaGFyKiBz
b3VyY2VTdHJpbmc7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIFhNTE1lc3NhZ2VT
b3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpYTUw6CiAgICAgICAgIHNvdXJjZVN0cmlu
ZyA9ICJYTUwiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEpTTWVzc2FnZVNvdXJjZToKKyAg
ICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkpTOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAiSlMiOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIE5ldHdvcmtNZXNzYWdlU291cmNlOgorICAgIGNhc2Ug
TWVzc2FnZVNvdXJjZTo6TmV0d29yazoKICAgICAgICAgc291cmNlU3RyaW5nID0gIk5FVFdPUksi
OwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbnNvbGVBUElNZXNzYWdlU291cmNlOgorICAg
IGNhc2UgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSToKICAgICAgICAgc291cmNlU3RyaW5nID0g
IkNPTlNPTEUiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFN0b3JhZ2VNZXNzYWdlU291cmNl
OgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6U3RvcmFnZToKICAgICAgICAgc291cmNlU3RyaW5n
ID0gIlNUT1JBR0UiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEFwcENhY2hlTWVzc2FnZVNv
dXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlOgogICAgICAgICBzb3VyY2VT
dHJpbmcgPSAiQVBQQ0FDSEUiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFJlbmRlcmluZ01l
c3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpSZW5kZXJpbmc6CiAgICAgICAg
IHNvdXJjZVN0cmluZyA9ICJSRU5ERVJJTkciOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENT
U01lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDU1M6CiAgICAgICAgIHNv
dXJjZVN0cmluZyA9ICJDU1MiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFNlY3VyaXR5TWVz
c2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5OgogICAgICAgICBz
b3VyY2VTdHJpbmcgPSAiU0VDVVJJVFkiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIE90aGVy
TWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6Ok90aGVyOgogICAgICAgICBz
b3VyY2VTdHJpbmcgPSAiT1RIRVIiOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAt
MTE4LDE2ICsxMTksMTYgQEAgdm9pZCBQYWdlQ29uc29sZTo6cHJpbnRNZXNzYWdlU291cmNlQW5k
TGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2UKIAogICAgIGNvbnN0IGNo
YXIqIGxldmVsU3RyaW5nOwogICAgIHN3aXRjaCAobGV2ZWwpIHsKLSAgICBjYXNlIERlYnVnTWVz
c2FnZUxldmVsOgorICAgIGNhc2UgTWVzc2FnZUxldmVsOjpEZWJ1ZzoKICAgICAgICAgbGV2ZWxT
dHJpbmcgPSAiREVCVUciOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIExvZ01lc3NhZ2VMZXZl
bDoKKyAgICBjYXNlIE1lc3NhZ2VMZXZlbDo6TG9nOgogICAgICAgICBsZXZlbFN0cmluZyA9ICJM
T0ciOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFdhcm5pbmdNZXNzYWdlTGV2ZWw6CisgICAg
Y2FzZSBNZXNzYWdlTGV2ZWw6Oldhcm5pbmc6CiAgICAgICAgIGxldmVsU3RyaW5nID0gIldBUk4i
OwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEVycm9yTWVzc2FnZUxldmVsOgorICAgIGNhc2Ug
TWVzc2FnZUxldmVsOjpFcnJvcjoKICAgICAgICAgbGV2ZWxTdHJpbmcgPSAiRVJST1IiOwogICAg
ICAgICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAtMTQ3LDYgKzE0OCw3IEBAIHZvaWQgUGFnZUNv
bnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZl
bCwgY29uc3QgU3RyCiAgICAgU3RyaW5nIHVybDsKICAgICBpZiAoZG9jdW1lbnQpCiAgICAgICAg
IHVybCA9IGRvY3VtZW50LT51cmwoKS5zdHJpbmcoKTsKKwogICAgIC8vIEZJWE1FOiBUaGUgYmVs
b3cgY29kZSBhdHRlbXB0cyB0byBkZXRlcm1pbmUgbGluZSBudW1iZXJzIGZvciBwYXJzZXIgZ2Vu
ZXJhdGVkIGVycm9ycywgYnV0IHRoaXMgaXMgbm90IHRoZSBvbmx5IHJlYXNvbiB3aHkgd2UgY2Fu
IGdldCBoZXJlLgogICAgIC8vIEZvciBleGFtcGxlLCBpZiB3ZSBhcmUgc3RpbGwgcGFyc2luZyBh
bmQgZ2V0IGEgV2ViU29ja2V0IG5ldHdvcmsgZXJyb3IsIGl0IHdpbGwgYmUgZXJyb25lb3VzbHkg
YXR0cmlidXRlZCB0byBhIGxpbmUgd2hlcmUgcGFyc2luZyB3YXMgcGF1c2VkLgogICAgIC8vIEFs
c28sIHdlIHNob3VsZCBkZXRlcm1pbmUgbGluZSBudW1iZXJzIGZvciBzY3JpcHQgZ2VuZXJhdGVk
IG1lc3NhZ2VzIChlLmcuIGNhbGxpbmcgZ2V0SW1hZ2VEYXRhIG9uIGEgY2FudmFzKS4KQEAgLTE2
Miw3ICsxNjQsNyBAQCB2b2lkIFBhZ2VDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cgogICAgICAgICAgICAgY29sdW1u
ID0gcG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQoKTsKICAgICAgICAgfQogICAgIH0KLSAg
ICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZSwgY29sdW1uLCAw
LCAwLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgYWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBt
ZXNzYWdlLCB1cmwsIGxpbmUsIGNvbHVtbiwgMCwgSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJy
ZW50U3RhdGUoKSwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCiB2b2lkIFBhZ2VDb25zb2xlOjph
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykK
QEAgLTE3MiwxNSArMTc0LDE1IEBAIHZvaWQgUGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyCiAKIHZvaWQgUGFn
ZUNvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBs
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHVybCwgdW5zaWduZWQg
bGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVx
dWVzdElkZW50aWZpZXIpCiB7Ci0gICAgaWYgKG11dGVDb3VudCAmJiBzb3VyY2UgIT0gQ29uc29s
ZUFQSU1lc3NhZ2VTb3VyY2UpCisgICAgaWYgKG11dGVDb3VudCAmJiBzb3VyY2UgIT0gTWVzc2Fn
ZVNvdXJjZTo6Q29uc29sZUFQSSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNhbGxTdGFj
aykKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xl
KCZtX3BhZ2UsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3Rh
Y2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphZGRNZXNzYWdlVG9Db25zb2xlKCZtX3BhZ2UsIHNvdXJjZSwgTWVzc2FnZVR5cGU6OkxvZywg
bGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIGVsc2UK
LSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKCZt
X3BhZ2UsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlLCB1cmwsIGxpbmVO
dW1iZXIsIGNvbHVtbk51bWJlciwgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKCZtX3BhZ2UsIHNv
dXJjZSwgTWVzc2FnZVR5cGU6OkxvZywgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZU51bWJlciwg
Y29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOwogCi0gICAgaWYgKHNvdXJj
ZSA9PSBDU1NNZXNzYWdlU291cmNlKQorICAgIGlmIChzb3VyY2UgPT0gTWVzc2FnZVNvdXJjZTo6
Q1NTKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9wYWdlLnNldHRpbmdzKCkucHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uc29sZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5oCmluZGV4IDlhNzBl
NTQuLjVhYjcxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmgKQEAgLTI5LDggKzI5LDgg
QEAKICNpZm5kZWYgUGFnZUNvbnNvbGVfaAogI2RlZmluZSBQYWdlQ29uc29sZV9oCiAKLSNpbmNs
dWRlICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKKyNpbmNs
dWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KIApAQCAtNTEsOCArNTEsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQg
cHJpbnRTb3VyY2VVUkxBbmRQb3NpdGlvbihjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWdu
ZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyID0gMCk7CiAgICAgc3RhdGljIHZv
aWQgcHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZUxldmVsLCBib29sIHNob3dBc1RyYWNlID0gZmFsc2UpOwogCi0gICAgdm9pZCBhZGRNZXNzYWdl
KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1u
TnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gPSAwLCBKU0M6OkV4ZWNTdGF0ZSog
PSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgdm9pZCBhZGRN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgIHZvaWQgYWRkTWVzc2FnZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJl
ciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gPSAwLCBKU0M6OkV4ZWNT
dGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAgdm9p
ZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CiAgICAgdm9p
ZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCwgRG9jdW1lbnQqID0g
MCk7CiAKICAgICBzdGF0aWMgdm9pZCBtdXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bv
aW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXggNWQ2ZjVhNS4uMjU5NmZmYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcApAQCAtNTYsNyArNTYs
NyBAQCB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKEVsZW1l
bnQqIHRhcmdldCkKIAogICAgIGlmICh0YXJnZXQtPmRvY3VtZW50KCkuaXNTYW5kYm94ZWQoU2Fu
ZGJveFBvaW50ZXJMb2NrKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3Vs
ZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICB0YXJn
ZXQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgcG9pbnRlciBsb2NrIG9uIGFuIGVsZW1lbnQgYmVj
YXVzZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1wb2lu
dGVyLWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAgICAgdGFyZ2V0LT5kb2N1
bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgcG9pbnRlciBsb2NrIG9uIGFuIGVs
ZW1lbnQgYmVjYXVzZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdh
bGxvdy1wb2ludGVyLWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKSk7CiAgICAgICAgIGVu
cXVldWVFdmVudChldmVudE5hbWVzKCkud2Via2l0cG9pbnRlcmxvY2tlcnJvckV2ZW50LCB0YXJn
ZXQpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Ny
b3NzVGhyZWFkQ29waWVyLmgKaW5kZXggM2Y4MWNhMC4uY2FmMjc5ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oCkBAIC02Niw4ICs2Niw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHR5cGVkZWYgVCBUeXBlOwogICAgICAgICB9Owog
Ci0gICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc0NvbnZlcnRpYmxlVG9JbnRl
Z2VyIHsKLSAgICAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gc3RkOjppc19pbnRl
Z3JhbDxUPjo6dmFsdWUgfHwgc3RkOjppc19jb252ZXJ0aWJsZTxULCBsb25nIGRvdWJsZT46OnZh
bHVlOworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSXNFbnVtT3JDb252ZXJ0
aWJsZVRvSW50ZWdlciB7CisgICAgICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IHN0
ZDo6aXNfaW50ZWdyYWw8VD46OnZhbHVlIHx8IHN0ZDo6aXNfZW51bTxUPjo6dmFsdWUgfHwgc3Rk
Ojppc19jb252ZXJ0aWJsZTxULCBsb25nIGRvdWJsZT46OnZhbHVlOwogICAgICAgICB9OwogCiAg
ICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc1RocmVhZFNhZmVSZWZDb3VudGVk
UG9pbnRlciB7CkBAIC04Myw3ICs4Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
fQogICAgIH07CiAKLSAgICB0ZW1wbGF0ZTxib29sIGlzQ29udmVydGlibGVUb0ludGVnZXIsIGJv
b2wgaXNUaHJlYWRTYWZlUmVmQ291bnRlZCwgdHlwZW5hbWUgVD4gc3RydWN0IENyb3NzVGhyZWFk
Q29waWVyQmFzZTsKKyAgICB0ZW1wbGF0ZTxib29sIGlzRW51bU9yQ29udmVydGlibGVUb0ludGVn
ZXIsIGJvb2wgaXNUaHJlYWRTYWZlUmVmQ291bnRlZCwgdHlwZW5hbWUgVD4gc3RydWN0IENyb3Nz
VGhyZWFkQ29waWVyQmFzZTsKIAogICAgIC8vIEludGVnZXJzIGdldCBwYXNzZWQgdGhyb3VnaCB3
aXRob3V0IGFueSBjaGFuZ2VzLgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBDcm9z
c1RocmVhZENvcGllckJhc2U8dHJ1ZSwgZmFsc2UsIFQ+IDogcHVibGljIENyb3NzVGhyZWFkQ29w
aWVyUGFzc1Rocm91Z2g8VD4gewpAQCAtMTk5LDcgKzE5OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICNlbmRpZgogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBzdHJ1Y3QgQ3Jvc3NU
aHJlYWRDb3BpZXIgOiBwdWJsaWMgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPENyb3NzVGhyZWFkQ29w
aWVyQmFzZUhlbHBlcjo6SXNDb252ZXJ0aWJsZVRvSW50ZWdlcjxUPjo6dmFsdWUsIENyb3NzVGhy
ZWFkQ29waWVyQmFzZUhlbHBlcjo6SXNUaHJlYWRTYWZlUmVmQ291bnRlZFBvaW50ZXI8VD46OnZh
bHVlLCBUPiB7CisgICAgc3RydWN0IENyb3NzVGhyZWFkQ29waWVyIDogcHVibGljIENyb3NzVGhy
ZWFkQ29waWVyQmFzZTxDcm9zc1RocmVhZENvcGllckJhc2VIZWxwZXI6OklzRW51bU9yQ29udmVy
dGlibGVUb0ludGVnZXI8VD46OnZhbHVlLCBDcm9zc1RocmVhZENvcGllckJhc2VIZWxwZXI6Oklz
VGhyZWFkU2FmZVJlZkNvdW50ZWRQb2ludGVyPFQ+Ojp2YWx1ZSwgVD4gewogICAgIH07CiAKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQWxsb3dDcm9zc1RocmVhZEFjY2Vzc1dyYXBw
ZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZUlu
Zm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZUluZm8uY3BwCmlu
ZGV4IDc4ZGZmOTkuLmRmZGUyNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zaGFwZXMvU2hhcGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hh
cGVzL1NoYXBlSW5mby5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgYm9vbCBjaGVja1NoYXBlSW1hZ2VP
cmlnaW4oRG9jdW1lbnQmIGRvY3VtZW50LCBDYWNoZWRJbWFnZSYgY2FjaGVkSW1hZ2UpCiAKICAg
ICBjb25zdCBVUkwmIHVybCA9IGNhY2hlZEltYWdlLnVybCgpOwogICAgIFN0cmluZyB1cmxTdHJp
bmcgPSB1cmwuaXNOdWxsKCkgPyAiJyciIDogdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xl
bmd0aCgpOwotICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCAiICsg
dXJsU3RyaW5nICsgIi4iKTsKKyAgICBkb2N1bWVudC5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIlVuc2FmZSBhdHRlbXB0IHRv
IGxvYWQgVVJMICIgKyB1cmxTdHJpbmcgKyAiLiIpOwogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAppbmRleCA2NTVi
MmExLi5hNjA1ZTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRF
eHRlbnNpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNp
b25zLmNwcApAQCAtMTMzLDE3ICsxMzMsMTcgQEAgdm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6
OmRpc3BhdGNoU1ZHTG9hZEV2ZW50VG9PdXRlcm1vc3RTVkdFbGVtZW50cygpCiBzdGF0aWMgdm9p
ZCByZXBvcnRNZXNzYWdlKERvY3VtZW50KiBkb2N1bWVudCwgTWVzc2FnZUxldmVsIGxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKGRvY3VtZW50LT5mcmFtZSgpKQotICAg
ICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwg
bGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6UmVuZGVyaW5nLCBsZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgU1ZHRG9j
dW1lbnRFeHRlbnNpb25zOjpyZXBvcnRXYXJuaW5nKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsK
LSAgICByZXBvcnRNZXNzYWdlKG1fZG9jdW1lbnQsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsICJXYXJu
aW5nOiAiICsgbWVzc2FnZSk7CisgICAgcmVwb3J0TWVzc2FnZShtX2RvY3VtZW50LCBNZXNzYWdl
TGV2ZWw6Oldhcm5pbmcsICJXYXJuaW5nOiAiICsgbWVzc2FnZSk7CiB9CiAKIHZvaWQgU1ZHRG9j
dW1lbnRFeHRlbnNpb25zOjpyZXBvcnRFcnJvcihjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0g
ICAgcmVwb3J0TWVzc2FnZShtX2RvY3VtZW50LCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yOiAi
ICsgbWVzc2FnZSk7CisgICAgcmVwb3J0TWVzc2FnZShtX2RvY3VtZW50LCBNZXNzYWdlTGV2ZWw6
OkVycm9yLCAiRXJyb3I6ICIgKyBtZXNzYWdlKTsKIH0KIAogdm9pZCBTVkdEb2N1bWVudEV4dGVu
c2lvbnM6OmFkZFBlbmRpbmdSZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBFbGVtZW50
KiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDdkOGVmYzUu
LjZmNjJkNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTU3LDcgKzU3
LDYgQEAKICNpbmNsdWRlICJIaXN0b3J5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkhpc3RvcnlJ
dGVtLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9y
Q29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckNvdW50ZXJzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRm9yd2FyZGluZy5o
IgpAQCAtNjUsOCArNjQsOCBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5n
QWdlbnRzLmgiCi0jaW5jbHVkZSAiSW50ZXJuYWxTZXR0aW5ncy5oIgogI2luY2x1ZGUgIkludFJl
Y3QuaCIKKyNpbmNsdWRlICJJbnRlcm5hbFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiTGFuZ3VhZ2Uu
aCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJNYWxsb2NTdGF0aXN0aWNzLmgi
CkBAIC05NSw2ICs5NCw3IEBACiAjaW5jbHVkZSAiVHJlZVNjb3BlLmgiCiAjaW5jbHVkZSAiVHlw
ZUNvbnZlcnNpb25zLmgiCiAjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKKyNpbmNsdWRl
ICJXZWJDb25zb2xlQWdlbnQuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRl
IDxieXRlY29kZS9Db2RlQmxvY2suaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQWdl
bnRCYXNlLmg+CkBAIC0xNDI3LDkgKzE0MjcsMTEgQEAgVmVjdG9yPFN0cmluZz4gSW50ZXJuYWxz
Ojpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkgY29uc3QKICAgICBJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGF0aW9uRm9yUGFnZShkb2N1
bWVudC0+cGFnZSgpKTsKICAgICBpZiAoIWluc3RydW1lbnRpbmdBZ2VudHMpCiAgICAgICAgIHJl
dHVybiBWZWN0b3I8U3RyaW5nPigpOwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29s
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCk7CisK
KyAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMtPndlYkNvbnNvbGVBZ2VudCgpOwogICAgIGlmICghY29uc29sZUFnZW50KQogICAgICAg
ICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKKwogICAgIFZlY3Rvcjx1bnNpZ25lZD4gY291bnRz
ID0gY29uc29sZUFnZW50LT5jb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCk7CiAgICAgVmVj
dG9yPFN0cmluZz4gcmVzdWx0KGNvdW50cy5zaXplKCkpOwogICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgY291bnRzLnNpemUoKTsgaSsrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAppbmRleCBhNjRhNGM5Li5k
M2EzNjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRX
b3JrZXJSZXBvc2l0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcApAQCAtNDQsNyArNDQsNiBAQAogI2luY2x1ZGUgIk5v
dEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiUGxhdGZv
cm1TdHJhdGVnaWVzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkhhc2guaCIKICNpbmNs
dWRlICJTaGFyZWRXb3JrZXIuaCIKQEAgLTU2LDYgKzU1LDcgQEAKICNpbmNsdWRlICJXb3JrZXJS
ZXBvcnRpbmdQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5oIgogI2luY2x1
ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3Jp
cHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggMTM4YmZhYy4uMjNmMmZhOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZS5jcHAKQEAgLTM4LDkgKzM4LDkgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVk
ZSAiTWVzc2FnZUV2ZW50LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1
ZGUgIlNoYXJlZFdvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC04MCwxMCArODAsMTAgQEAgU2hh
cmVkV29ya2VyVGhyZWFkKiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6dGhyZWFkKCkKICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8U2hhcmVkV29ya2VyVGhyZWFkKj4oQmFzZTo6dGhyZWFkKCkpOwog
fQogCi12b2lkIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpsb2dFeGNlcHRpb25Ub0NvbnNvbGUo
Y29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQg
bGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
IGNhbGxTdGFjaykKK3ZvaWQgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmxvZ0V4Y2VwdGlvblRv
Q29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rv
cjo6U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCiB7CiAgICAgV29ya2VyR2xvYmFsU2NvcGU6
OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJl
ciwgY29sdW1uTnVtYmVyLCBjYWxsU3RhY2spOwotICAgIGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNv
bGUoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNzYWdlLCBzb3Vy
Y2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2FsbFN0YWNrKTsKKyAgICBhZGRNZXNz
YWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9y
LCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBjYWxs
U3RhY2spOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggY2U2ODcwMi4uYzE0NzE3
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxT
Y29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2Nv
cGUuaApAQCAtNjAsNyArNjAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBwcml2YXRl
OgogICAgICAgICBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBT
ZXR0aW5ncz4sIFNoYXJlZFdvcmtlclRocmVhZCopOwotICAgICAgICB2aXJ0dWFsIHZvaWQgbG9n
RXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPikgb3ZlcnJpZGU7CisgICAgICAgIHZpcnR1YWwgdm9pZCBsb2dF
eGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0
cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4pIG92ZXJyaWRlOwogCiAgICAgICAgIFN0cmlu
ZyBtX25hbWU7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5jcHAKaW5kZXggMjg4OTIzNi4uYWIxOTk4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTIxLDEyICsyMSwxMSBAQAogICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCiAjaW5jbHVkZSAiV29ya2Vy
R2xvYmFsU2NvcGUuaCIKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgpAQCAtMzksMTMg
KzM4LDEyIEBACiAjaW5jbHVkZSAiRXZlbnRFeGNlcHRpb24uaCIKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIgot
I2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAiTm90
SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJTY2hlZHVsZWRBY3Rpb24uaCIKLSNpbmNsdWRlICJT
Y3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVk
ZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJXb3JrZXJJ
bnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyTG9jYXRpb24uaCIKICNpbmNs
dWRlICJXb3JrZXJOYXZpZ2F0b3IuaCIKQEAgLTU1LDEyICs1MywxNSBAQAogI2luY2x1ZGUgIldv
cmtlclRocmVhZGFibGVMb2FkZXIuaCIKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdEV4Y2VwdGlv
bi5oIgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+CisjaW5jbHVkZSA8aW5zcGVj
dG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5j
bHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgiCiAjZW5kaWYKIAordXNpbmcgbmFtZXNwYWNlIElu
c3BlY3RvcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDbG9zZVdvcmtlckdsb2Jh
bFNjb3BlVGFzayA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsKQEAgLTI3
NSw5ICsyNzYsOSBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjphZGRNZXNzYWdlVG9Xb3JrZXJD
b25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTAogewogICAgIEFTU0VSVChpc0Nv
bnRleHRUaHJlYWQoKSk7CiAgICAgaWYgKGNhbGxTdGFjaykKLSAgICAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMs
IHNvdXJjZSwgTWVzc2FnZVR5cGU6OkxvZywgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVx
dWVzdElkZW50aWZpZXIpOwogICAgIGVsc2UKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxl
dmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc3RhdGUs
IHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjph
ZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTWVzc2FnZVR5cGU6OkxvZywgbGV2ZWws
IG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVx
dWVzdElkZW50aWZpZXIpOwogfQogCiBib29sIFdvcmtlckdsb2JhbFNjb3BlOjppc0NvbnRleHRU
aHJlYWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5o
CmluZGV4IDU4MTk5NjUuLmU0ZTFiODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmgKQEAgLTEzOSw4ICsxMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4sIFdvcmtlclRocmVhZCosIFBhc3NS
ZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbik7CiAgICAgICAgIHZvaWQgYXBwbHlDb250
ZW50U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5
UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUpOwogCi0gICAgICAgIHZp
cnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3Nh
Z2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51
bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSBvdmVycmlkZTsKLSAgICAgICAgdm9p
ZCBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQg
bGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2Fs
bFN0YWNrPikgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29s
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVt
bk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4sIEpTQzo6RXhl
Y1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKIAogICAg
IHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQpAQCAtMTQ5LDcgKzE0OSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGUgZmlu
YWwgeyByZWYoKTsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIG92
ZXJyaWRlIGZpbmFsIHsgZGVyZWYoKTsgfQogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29s
dW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9
IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBvdmVycmlkZTsKKyAgICAg
ICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpT
Y3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVl
c3RJZGVudGlmaWVyID0gMCkgb3ZlcnJpZGU7CiAKICAgICAgICAgdmlydHVhbCBFdmVudFRhcmdl
dCogZXJyb3JFdmVudFRhcmdldCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IDMyNGNkODkuLjU3NWZmMmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBA
IC0yNiwxNCArMjYsMTMgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KICNpbmNsdWRl
ICJXb3JrZXJNZXNzYWdpbmdQcm94eS5oIgogCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9s
aWN5LmgiCiAjaW5jbHVkZSAiQ3Jvc3NUaHJlYWRUYXNrLmgiCisjaW5jbHVkZSAiRE9NV2luZG93
LmgiCiAjaW5jbHVkZSAiRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJE
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaCIKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVycm9yRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudC5o
IgpAQCAtNDMsMTIgKzQyLDEzIEBACiAjaW5jbHVkZSAiTWVzc2FnZUV2ZW50LmgiCiAjaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKLSNpbmNsdWRlICJT
Y3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAj
aW5jbHVkZSAiV29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2VyRGVidWdnZXJBZ2VudC5oIgogI2lu
Y2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
Q29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5o
PgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDx3dGYv
TWFpblRocmVhZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgKaW5kZXggNjFhNjYxMS4uMDAzZDBlMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaApAQCAtMzEs
NyArMzEsNyBAQAogI2lmbmRlZiBXb3JrZXJSZXBvcnRpbmdQcm94eV9oCiAjZGVmaW5lIFdvcmtl
clJlcG9ydGluZ1Byb3h5X2gKIAotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgorI2luY2x1ZGUg
PGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRl
eCBjNGFjYmU3Li44MTY3NzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAK
QEAgLTQzLDcgKzQzLDYgQEAKICNpbmNsdWRlICJQYXJzZWRDb250ZW50VHlwZS5oIgogI2luY2x1
ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNpbmNs
dWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCkBAIC0xNjAs
NyArMTU5LDcgQEAgc3RhdGljIHZvaWQgbG9nQ29uc29sZUVycm9yKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbWVzc2EKICAgICAgICAgcmV0dXJuOwogICAg
IC8vIEZJWE1FOiBJdCdzIG5vdCBnb29kIHRvIHJlcG9ydCB0aGUgYmFkIHVzYWdlIHdpdGhvdXQg
aW5kaWNhdGluZyB3aGF0IHNvdXJjZSBsaW5lIGl0IGNhbWUgZnJvbS4KICAgICAvLyBXZSBzaG91
bGQgcGFzcyBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgc28gd2UgY2FuIHRlbGwgdGhlIGNvbnNvbGUg
d2hlcmUgdGhlIG1pc3Rha2Ugb2NjdXJyZWQuCi0gICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgY29u
dGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsIG1lc3NhZ2UpOwogfQogCiBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBYTUxIdHRw
UmVxdWVzdDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCkBAIC03MTMs
NyArNzEyLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2VuZChET01Gb3JtRGF0YSogYm9keSwg
RXhjZXB0aW9uQ29kZSYgZWMpCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEFycmF5QnVmZmVy
KiBib2R5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBTdHJpbmcgY29uc29sZU1lc3NhZ2Uo
IkFycmF5QnVmZmVyIGlzIGRlcHJlY2F0ZWQgaW4gWE1MSHR0cFJlcXVlc3Quc2VuZCgpLiBVc2Ug
QXJyYXlCdWZmZXJWaWV3IGluc3RlYWQuIik7Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWws
IGNvbnNvbGVNZXNzYWdlKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNv
bGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIGNvbnNv
bGVNZXNzYWdlKTsKIAogICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9u
KCJXZWJDb3JlLlhIUi5zZW5kLkFycmF5QnVmZmVyT3JWaWV3IiwgWE1MSHR0cFJlcXVlc3RTZW5k
QXJyYXlCdWZmZXIsIFhNTEh0dHBSZXF1ZXN0U2VuZEFycmF5QnVmZmVyT3JWaWV3TWF4KTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAKaW5kZXggODA5MzEx
OC4uMWMwZDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JM
aWJ4c2x0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQu
Y3BwCkBAIC04NiwyMCArODYsMjAgQEAgdm9pZCBYU0xUUHJvY2Vzc29yOjpwYXJzZUVycm9yRnVu
Yyh2b2lkKiB1c2VyRGF0YSwgeG1sRXJyb3IqIGVycm9yKQogICAgIE1lc3NhZ2VMZXZlbCBsZXZl
bDsKICAgICBzd2l0Y2ggKGVycm9yLT5sZXZlbCkgewogICAgIGNhc2UgWE1MX0VSUl9OT05FOgot
ICAgICAgICBsZXZlbCA9IERlYnVnTWVzc2FnZUxldmVsOworICAgICAgICBsZXZlbCA9IE1lc3Nh
Z2VMZXZlbDo6RGVidWc7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgWE1MX0VSUl9XQVJOSU5H
OgotICAgICAgICBsZXZlbCA9IFdhcm5pbmdNZXNzYWdlTGV2ZWw7CisgICAgICAgIGxldmVsID0g
TWVzc2FnZUxldmVsOjpXYXJuaW5nOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFhNTF9FUlJf
RVJST1I6CiAgICAgY2FzZSBYTUxfRVJSX0ZBVEFMOgogICAgIGRlZmF1bHQ6Ci0gICAgICAgIGxl
dmVsID0gRXJyb3JNZXNzYWdlTGV2ZWw7CisgICAgICAgIGxldmVsID0gTWVzc2FnZUxldmVsOjpF
cnJvcjsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgLy8geG1sRXJyb3ItPmludDIgaXMg
dGhlIGNvbHVtbiBudW1iZXIgb2YgdGhlIGVycm9yIG9yIDAgaWYgTi9BLgotICAgIGNvbnNvbGUt
PmFkZE1lc3NhZ2UoWE1MTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIGVycm9yLT5tZXNzYWdlLCBlcnJv
ci0+ZmlsZSwgZXJyb3ItPmxpbmUsIGVycm9yLT5pbnQyKTsKKyAgICBjb25zb2xlLT5hZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6OlhNTCwgbGV2ZWwsIGVycm9yLT5tZXNzYWdlLCBlcnJvci0+Zmls
ZSwgZXJyb3ItPmxpbmUsIGVycm9yLT5pbnQyKTsKIH0KIAogLy8gRklYTUU6IFRoZXJlIHNlZW1z
IHRvIGJlIG5vIHdheSB0byBjb250cm9sIHRoZSBjdHh0IHBvaW50ZXIgZm9yIGxvYWRpbmcgaGVy
ZSwgdGh1cyB3ZSBoYXZlIGdsb2JhbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBlMzBm
M2EwLi4zNDhkZmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxNC0wMi0wMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3Bl
Y3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
Nzk0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VXNlckludGVyZmFjZS9JbnNwZWN0b3JKU0JhY2tlbmRDb21tYW5kcy5qczoKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qczoKKyAgICAgICAgQ29u
c29sZUFnZW50IG1vdmVkIHRvIEphdmFTY3JpcHQgc2VjdGlvbi4KKwogMjAxNC0wMS0zMCAgVGlt
b3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgU2hvdyBwcm9maWxl
IGRhdGEgaW4gdGhlIGRpc2NyZXRlIFNjcmlwdHMgdGltZWxpbmUgdmlldy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvckpTQmFja2VuZENv
bW1hbmRzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9y
SlNCYWNrZW5kQ29tbWFuZHMuanMKaW5kZXggMjM0YmQ2OS4uZjM4ZGZlZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9ySlNCYWNrZW5kQ29t
bWFuZHMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVj
dG9ySlNCYWNrZW5kQ29tbWFuZHMuanMKQEAgLTYsNiArNiwyMSBAQAogLy8gZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KIAogCisvLyBDb25zb2xlLgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckNvbnNvbGVEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3Bh
dGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiQ29uc29sZSIpOworSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29sZU1lc3NhZ2VTb3VyY2UiLCB7WE1MOiAieG1s
IiwgSmF2YXNjcmlwdDogImphdmFzY3JpcHQiLCBOZXR3b3JrOiAibmV0d29yayIsIENvbnNvbGVB
UEk6ICJjb25zb2xlLWFwaSIsIFN0b3JhZ2U6ICJzdG9yYWdlIiwgQXBwY2FjaGU6ICJhcHBjYWNo
ZSIsIFJlbmRlcmluZzogInJlbmRlcmluZyIsIENTUzogImNzcyIsIFNlY3VyaXR5OiAic2VjdXJp
dHkiLCBPdGhlcjogIm90aGVyIn0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNv
bnNvbGUuQ29uc29sZU1lc3NhZ2VMZXZlbCIsIHtMb2c6ICJsb2ciLCBXYXJuaW5nOiAid2Fybmlu
ZyIsIEVycm9yOiAiZXJyb3IiLCBEZWJ1ZzogImRlYnVnIn0pOworSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29sZU1lc3NhZ2VUeXBlIiwge0xvZzogImxvZyIsIERp
cjogImRpciIsIERpclhNTDogImRpcnhtbCIsIFRhYmxlOiAidGFibGUiLCBUcmFjZTogInRyYWNl
IiwgQ2xlYXI6ICJjbGVhciIsIFN0YXJ0R3JvdXA6ICJzdGFydEdyb3VwIiwgU3RhcnRHcm91cENv
bGxhcHNlZDogInN0YXJ0R3JvdXBDb2xsYXBzZWQiLCBFbmRHcm91cDogImVuZEdyb3VwIiwgQXNz
ZXJ0OiAiYXNzZXJ0IiwgVGltaW5nOiAidGltaW5nIiwgUHJvZmlsZTogInByb2ZpbGUiLCBQcm9m
aWxlRW5kOiAicHJvZmlsZUVuZCJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgi
Q29uc29sZS5tZXNzYWdlQWRkZWQiLCBbIm1lc3NhZ2UiXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZVJlcGVhdENvdW50VXBkYXRlZCIsIFsiY291bnQi
XSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZXNDbGVh
cmVkIiwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuZW5h
YmxlIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xl
LmRpc2FibGUiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNv
bnNvbGUuY2xlYXJNZXNzYWdlcyIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
Q29tbWFuZCgiQ29uc29sZS5zZXRNb25pdG9yaW5nWEhSRW5hYmxlZCIsIFt7Im5hbWUiOiAiZW5h
YmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CitJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIiwg
W3sibmFtZSI6ICJub2RlSWQiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1d
LCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5hZGRJbnNw
ZWN0ZWRIZWFwT2JqZWN0IiwgW3sibmFtZSI6ICJoZWFwT2JqZWN0SWQiLCAidHlwZSI6ICJudW1i
ZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CisKIC8vIERlYnVnZ2VyLgogSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckRlYnVnZ2VyRGlzcGF0Y2hlciA9IEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVjdG9yQmFja2VuZCwgIkRlYnVnZ2VyIik7
CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiRGVidWdnZXIuQnJlYWtwb2ludEFjdGlv
blR5cGUiLCB7TG9nOiAibG9nIiwgRXZhbHVhdGU6ICJldmFsdWF0ZSIsIFNvdW5kOiAic291bmQi
LCBQcm9iZTogInByb2JlIn0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCmlu
ZGV4IDFiM2EzMTUuLjg2NDE2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMu
anMKQEAgLTYzLDIxICs2Myw2IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJD
YW52YXMucmVwbGF5VHJhY2VMb2ciLCBbeyJuYW1lIjogInRyYWNlTG9nSWQiCiBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ2FudmFzLmdldFJlc291cmNlSW5mbyIsIFt7Im5hbWUi
OiAicmVzb3VyY2VJZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsi
cmVzb3VyY2VJbmZvIl0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNhbnZh
cy5nZXRSZXNvdXJjZVN0YXRlIiwgW3sibmFtZSI6ICJ0cmFjZUxvZ0lkIiwgInR5cGUiOiAic3Ry
aW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAicmVzb3VyY2VJZCIsICJ0eXBlIjog
InN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsicmVzb3VyY2VTdGF0ZSJdKTsKIAotLy8g
Q29uc29sZS4KLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb25zb2xlRGlzcGF0Y2hlciA9IElu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVjdG9yQmFj
a2VuZCwgIkNvbnNvbGUiKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDb25zb2xl
LkNvbnNvbGVNZXNzYWdlU291cmNlIiwge1hNTDogInhtbCIsIEphdmFzY3JpcHQ6ICJqYXZhc2Ny
aXB0IiwgTmV0d29yazogIm5ldHdvcmsiLCBDb25zb2xlQVBJOiAiY29uc29sZS1hcGkiLCBTdG9y
YWdlOiAic3RvcmFnZSIsIEFwcGNhY2hlOiAiYXBwY2FjaGUiLCBSZW5kZXJpbmc6ICJyZW5kZXJp
bmciLCBDU1M6ICJjc3MiLCBTZWN1cml0eTogInNlY3VyaXR5IiwgT3RoZXI6ICJvdGhlciJ9KTsK
LUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDb25zb2xlLkNvbnNvbGVNZXNzYWdlTGV2
ZWwiLCB7TG9nOiAibG9nIiwgV2FybmluZzogIndhcm5pbmciLCBFcnJvcjogImVycm9yIiwgRGVi
dWc6ICJkZWJ1ZyJ9KTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDb25zb2xlLkNv
bnNvbGVNZXNzYWdlVHlwZSIsIHtMb2c6ICJsb2ciLCBEaXI6ICJkaXIiLCBEaXJYTUw6ICJkaXJ4
bWwiLCBUYWJsZTogInRhYmxlIiwgVHJhY2U6ICJ0cmFjZSIsIENsZWFyOiAiY2xlYXIiLCBTdGFy
dEdyb3VwOiAic3RhcnRHcm91cCIsIFN0YXJ0R3JvdXBDb2xsYXBzZWQ6ICJzdGFydEdyb3VwQ29s
bGFwc2VkIiwgRW5kR3JvdXA6ICJlbmRHcm91cCIsIEFzc2VydDogImFzc2VydCIsIFRpbWluZzog
InRpbWluZyIsIFByb2ZpbGU6ICJwcm9maWxlIiwgUHJvZmlsZUVuZDogInByb2ZpbGVFbmQifSk7
Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZUFkZGVkIiwg
WyJtZXNzYWdlIl0pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJDb25zb2xlLm1l
c3NhZ2VSZXBlYXRDb3VudFVwZGF0ZWQiLCBbImNvdW50Il0pOwotSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckV2ZW50KCJDb25zb2xlLm1lc3NhZ2VzQ2xlYXJlZCIsIFtdKTsKLUluc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmVuYWJsZSIsIFtdLCBbXSk7Ci1JbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5kaXNhYmxlIiwgW10sIFtdKTsKLUlu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmNsZWFyTWVzc2FnZXMiLCBb
XSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuc2V0TW9u
aXRvcmluZ1hIUkVuYWJsZWQiLCBbeyJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFu
IiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIkNvbnNvbGUuYWRkSW5zcGVjdGVkTm9kZSIsIFt7Im5hbWUiOiAibm9kZUlkIiwgInR5
cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwotSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuYWRkSW5zcGVjdGVkSGVhcE9iamVjdCIsIFt7Im5h
bWUiOiAiaGVhcE9iamVjdElkIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9
XSwgW10pOwotCiAvLyBET00uCiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hl
ciA9IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVj
dG9yQmFja2VuZCwgIkRPTSIpOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJET00u
ZG9jdW1lbnRVcGRhdGVkIiwgW10pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IGJlZmNlYWQuLjNkMTA4
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNC0wMi0wMyAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk0MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50OjphZGRNZXNz
YWdlVG9Db25zb2xlKToKKwogMjAxNC0wMS0zMSAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGln
YWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4aW5nIHRoZSBHVEsgYnVpbGQgYWZ0
ZXIgcjE2MzIzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuY3BwCmluZGV4IGY2MWY5ZGEuLmFlZTFiOWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcApAQCAt
MzYyLDcgKzM2Miw3IEBAIGJvb2wgQ2hyb21lQ2xpZW50OjpydW5CZWZvcmVVbmxvYWRDb25maXJt
UGFuZWwoY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvCiAgICAgcmV0dXJuIHJ1bkph
dmFTY3JpcHRDb25maXJtKGZyYW1lLCBtZXNzYWdlKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnQ6
OmFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSBzb3VyY2UsIFdlYkNv
cmU6Ok1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcm
IHNvdXJjZUlkKQordm9pZCBDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoSW5zcGVj
dG9yOjpNZXNzYWdlU291cmNlIHNvdXJjZSwgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWwgbGV2ZWws
IGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25l
ZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJZCkKIHsKICAgICBnYm9v
bGVhbiByZXR2YWw7CiAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKG1fd2ViVmlldywgImNvbnNv
bGUtbWVzc2FnZSIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSwgbGluZU51bWJlciwgc291cmNlSWQu
dXRmOCgpLmRhdGEoKSwgJnJldHZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNmI4NTkxNC4uMmU0
Yzc0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE0LTAyLTAzICBKb3Nl
cGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQubW06CisgICAgICAgIChzdHJpbmdGb3JNZXNzYWdlU291cmNlKToKKyAgICAgICAgKHN0cmlu
Z0Zvck1lc3NhZ2VMZXZlbCk6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VU
b0NvbnNvbGUpOgorCiAyMDE0LTAxLTMxICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJlbW92ZSBpbmxpbmUgbWVtYmVyIGZ1bmN0aW9ucyBvZiBGcmFtZVNlbGVj
dGlvbiB0aGF0IGFjY2VzcyBtX3NlbGVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAzM2E3NDA0Li4yODZlZjc0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaApAQCAtNywxMyArNywxMyBAQAogICogYXJlIG1ldDoKICAqCiAgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICogMy4gIE5laXRo
ZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFt
ZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAgKgog
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTM1LDkgKzM1LDYgQEAK
ICNpbXBvcnQgPHd0Zi9QbGF0Zm9ybS5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0Nocm9tZS5oPgotCi11c2luZyBXZWJDb3JlOjpNZXNzYWdlTGV2
ZWw7Ci11c2luZyBXZWJDb3JlOjpNZXNzYWdlU291cmNlOwogI2VuZGlmCiAKIEBjbGFzcyBXZWJW
aWV3OwpAQCAtODIsNyArNzksNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHNl
dFJlc2l6YWJsZShib29sKSBvdmVycmlkZTsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVz
c2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2
ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VVUkwpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKEluc3BlY3Rvcjo6TWVzc2Fn
ZVNvdXJjZSwgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdU
Rjo6U3RyaW5nJiBzb3VyY2VVUkwpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBib29sIGNhblJ1
bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBy
dW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIFdl
YkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggNzg3MzkxNy4uNGYyMzE1YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5tbQpAQCAtNywxMyArNywxMyBAQAogICogYXJlIG1ldDoKICAqCiAgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICogMy4gIE5laXRo
ZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFt
ZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAgKgog
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTM3MCwyNSArMzcwLDI1
IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRSZXNpemFibGUoYm9vbCBiKQogaW5saW5lIHN0
YXRpYyBOU1N0cmluZyAqc3RyaW5nRm9yTWVzc2FnZVNvdXJjZShNZXNzYWdlU291cmNlIHNvdXJj
ZSkKIHsKICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJjZToK
KyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlhNTDoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVN
ZXNzYWdlWE1MTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIEpTTWVzc2FnZVNvdXJjZToKKyAgICBj
YXNlIE1lc3NhZ2VTb3VyY2U6OkpTOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VK
U01lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBOZXR3b3JrTWVzc2FnZVNvdXJjZToKKyAgICBjYXNl
IE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcms6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2Fn
ZU5ldHdvcmtNZXNzYWdlU291cmNlOwotICAgIGNhc2UgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2U6
CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJOgogICAgICAgICByZXR1cm4gV2Vi
Q29uc29sZU1lc3NhZ2VDb25zb2xlQVBJTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIFN0b3JhZ2VN
ZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6U3RvcmFnZToKICAgICAgICAg
cmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlU3RvcmFnZU1lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBB
cHBDYWNoZU1lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpBcHBDYWNoZToK
ICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQXBwQ2FjaGVNZXNzYWdlU291cmNlOwot
ICAgIGNhc2UgUmVuZGVyaW5nTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6
OlJlbmRlcmluZzoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlUmVuZGVyaW5nTWVz
c2FnZVNvdXJjZTsKLSAgICBjYXNlIENTU01lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdl
U291cmNlOjpDU1M6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUNTU01lc3NhZ2VT
b3VyY2U7Ci0gICAgY2FzZSBTZWN1cml0eU1lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdl
U291cmNlOjpTZWN1cml0eToKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlU2VjdXJp
dHlNZXNzYWdlU291cmNlOwotICAgIGNhc2UgT3RoZXJNZXNzYWdlU291cmNlOgorICAgIGNhc2Ug
TWVzc2FnZVNvdXJjZTo6T3RoZXI6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZU90
aGVyTWVzc2FnZVNvdXJjZTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0z
OTgsMjAgKzM5OCwyMCBAQCBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdl
U291cmNlKE1lc3NhZ2VTb3VyY2Ugc291cmNlKQogaW5saW5lIHN0YXRpYyBOU1N0cmluZyAqc3Ry
aW5nRm9yTWVzc2FnZUxldmVsKE1lc3NhZ2VMZXZlbCBsZXZlbCkKIHsKICAgICBzd2l0Y2ggKGxl
dmVsKSB7Ci0gICAgY2FzZSBEZWJ1Z01lc3NhZ2VMZXZlbDoKKyAgICBjYXNlIE1lc3NhZ2VMZXZl
bDo6RGVidWc6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZURlYnVnTWVzc2FnZUxl
dmVsOwotICAgIGNhc2UgTG9nTWVzc2FnZUxldmVsOgorICAgIGNhc2UgTWVzc2FnZUxldmVsOjpM
b2c6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUxvZ01lc3NhZ2VMZXZlbDsKLSAg
ICBjYXNlIFdhcm5pbmdNZXNzYWdlTGV2ZWw6CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6Oldhcm5p
bmc6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVdhcm5pbmdNZXNzYWdlTGV2ZWw7
Ci0gICAgY2FzZSBFcnJvck1lc3NhZ2VMZXZlbDoKKyAgICBjYXNlIE1lc3NhZ2VMZXZlbDo6RXJy
b3I6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUVycm9yTWVzc2FnZUxldmVsOwog
ICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gQCIiOwogfQogCi12
b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNv
dXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVk
IGludCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMKQogewogI2lmICFQTEFURk9STShJT1MpCiAgICAgaWQgZGVsZWdhdGUgPSBb
bV93ZWJWaWV3IFVJRGVsZWdhdGVdOwpAQCAtNDMyLDcgKzQzMiw3IEBAIHZvaWQgV2ViQ2hyb21l
Q2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
TGV2ZWwgbGV2CiAgICAgICAgIHJlc3BvbmRzVG9OZXdTZWxlY3RvciA9IFlFUzsKICAgICBlbHNl
IHsKICAgICAgICAgLy8gVGhlIG9sZCBzZWxlY3RvciBvbmx5IHRha2VzIEpTTWVzc2FnZVNvdXJj
ZSBtZXNzYWdlcy4KLSAgICAgICAgaWYgKHNvdXJjZSAhPSBKU01lc3NhZ2VTb3VyY2UpCisgICAg
ICAgIGlmIChzb3VyY2UgIT0gTWVzc2FnZVNvdXJjZTo6SlMpCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIHNlbGVjdG9yID0gQHNlbGVjdG9yKHdlYlZpZXc6YWRkTWVzc2FnZVRvQ29uc29s
ZTopOwogICAgICAgICBpZiAoIVtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6c2VsZWN0b3Jd
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCmluZGV4IDgxM2E5ZmIuLjAzZTJlNjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxNC0wMi0wMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9A
YXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBDb25zb2xlIHN1cHBvcnQg
dG8gSlNDb250ZXh0IEluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNzk0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIw
MTQtMDItMDMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0
byBmaXggdGhlIFdpbkNhaXJvIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA4YWRiOTExLi5lNjVjZDk0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aApAQCAtNzcsNyArNzcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXph
YmxlKGJvb2wpOwogCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29y
ZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBj
b25zdCBXVEY6OlN0cmluZyYgdXJsKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZShJbnNwZWN0b3I6Ok1lc3NhZ2VTb3VyY2UsIEluc3BlY3Rvcjo6TWVzc2FnZUxldmVsLCBj
b25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQg
Y29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgdXJsKTsKIAogICAgIHZpcnR1YWwgYm9v
bCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKTsKICAgICB2aXJ0dWFsIGJvb2wgcnVu
QmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBXZWJD
b3JlOjpGcmFtZSogZnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwppbmRleCA4N2Q2NDRhLi44OGNj
OTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE0LTAyLTAzICBK
b3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRXaW5DRS5oOgorCiAyMDE0LTAxLTMwICBBbmRyZWkgQnVjdXIgIDxhYnVj
dXJAYWRvYmUuY29tPgogCiAgICAgICAgIFJlbW92ZSB0aGUgQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRXaW5DRS5oCmluZGV4IDFhYzkwNjIuLjc1OThkYjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgK
QEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJs
ZShib29sKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xl
KFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RG
OjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51
bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlEKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShJbnNwZWN0b3I6Ok1lc3NhZ2VTb3VyY2UsIEluc3Bl
Y3Rvcjo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
bGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291
cmNlSUQpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENv
bmZpcm1QYW5lbCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRD
b25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmU6OkZyYW1lKikg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDUxMDVmYi4uMTUxYjE0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEyIEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBs
ZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBK
U0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
OgorCiAyMDE0LTAyLTAzICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAg
ICBUcnkgdG8gZml4IDMyLWJpdCBNYWMgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBi
NzUzMWQxLi40N2NjZjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTkwLDcgKzkwLDcgQEAg
cHJpdmF0ZToKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpIG92ZXJy
aWRlOwogICAgIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6
Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0
cmluZyYgc291cmNlSUQpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9D
b25zb2xlKEluc3BlY3Rvcjo6TWVzc2FnZVNvdXJjZSwgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29s
dW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKSBvdmVycmlkZTsKICAgICAKICAgICB2
aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCkgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223049</attachid>
            <date>2014-02-03 17:26:09 -0800</date>
            <delta_ts>2014-02-03 23:53:11 -0800</delta_ts>
            <desc>[PATCH] For Bots 3</desc>
            <filename>for-bots-3.patch</filename>
            <type>text/plain</type>
            <size>384397</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5NmRjZTViLi5iOWExMWY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rv
ci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFtZU9wdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAg
IFVwZGF0ZSB3aXRoIGJldHRlciBsaW5lL2NvbHVtbiBudW1iZXJzIG5vdy4KKwogMjAxNC0wMi0w
MyAgUmFkdSBTdGF2aWxhICA8c3RhdmlsYUBhZG9iZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lP
TiAocjE2MzAxOCk6IENhbuKAmXQgc2Nyb2xsIGluIDxzZWxlY3Q+IGxpc3RzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcGFnZS9kZW55LVgtRnJhbWVPcHRpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3BhZ2UvZGVueS1Y
LUZyYW1lT3B0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA4MzUyMjIzLi5jMWY2MTY4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcGFnZS9kZW55LVgtRnJhbWVPcHRp
b24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9wYWdl
L2RlbnktWC1GcmFtZU9wdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiBDT05TT0xF
IE1FU1NBR0U6IFJlZnVzZWQgdG8gZGlzcGxheSAnZGVueS1YLUZyYW1lT3B0aW9uLmh0bWwnIGlu
IGEgZnJhbWUgYmVjYXVzZSBpdCBzZXQgJ1gtRnJhbWUtT3B0aW9ucycgdG8gJ2RlbnknLgogCi1k
ZW55LVgtRnJhbWVPcHRpb24uaHRtbDowOjAKK2RlbnktWC1GcmFtZU9wdGlvbi5odG1sOjMwOjE3
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAxYzg0NzMzLi4wMzE3MzBi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMjcsNyArMjI3LDkgQEAg
c2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBoZWFwL1dyaXRlQmFycmllckJ1ZmZlci5j
cHAKICAgICBoZWFwL1dyaXRlQmFycmllclN1cHBvcnQuY3BwCiAKKyAgICBpbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuY3BwCiAgICAgaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3Bw
CisgICAgaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAKICAgICBpbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHQuY3BwCiAgICAgaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0QmFzZS5jcHAKICAg
ICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcApAQCAtMjQxLDggKzI0MywxMyBAQCBz
ZXQoSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxs
RnJhbWUuY3BwCiAgICAgaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5j
cHAKICAgICBpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKKyAgICBpbnNwZWN0b3Iv
U2NyaXB0QXJndW1lbnRzLmNwcAorICAgIGluc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCisg
ICAgaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKKyAgICBpbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5jcHAKICAgICBpbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCiAg
ICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5jcHAKKyAgICBpbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50
aW1lQWdlbnQuY3BwCiAKQEAgLTc5NSw2ICs4MDIsNyBAQCBBRERfU09VUkNFX0RFUEVOREVOQ0lF
Uygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vcGFyc2VyL0xleGVyLmNwcCAke0RFUklWRURf
Uwogc2V0KEphdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9TQ1JJUFRTX0RJUiAiJHtKQVZBU0NSSVBU
Q09SRV9ESVJ9L2luc3BlY3Rvci9zY3JpcHRzIikKIAogc2V0KEphdmFTY3JpcHRDb3JlX0lOU1BF
Q1RPUl9ET01BSU5TCisgICAgaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbgogICAgIGlu
c3BlY3Rvci9wcm90b2NvbC9EZWJ1Z2dlci5qc29uCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0dl
bmVyaWNUeXBlcy5qc29uCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0luc3BlY3RvckRvbWFpbi5q
c29uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3OWQ0NGU4Li42YWVhY2ZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NiBAQAorMjAxNC0wMi0wMyAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFk
ZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk0MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGVzLgorCisgICAg
ICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAu
CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaDogQWRk
ZWQuCisgICAgICAgIE5ldyBhZ2VudCBtb3ZlZCBmcm9tIFdlYkNvcmUuIFJlbmFtZSBhIG1ldGhv
ZCB0byB3b3JrIGluIEpTIG9ubHkgY29udGV4dC4KKworICAgICAgICAqIGluc3BlY3Rvci9KU0ds
b2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpK
U0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9y
Q29udHJvbGxlcik6CisgICAgICAgIEluc3RhbnRpYXRlIENvbnNvbGVBZ2VudC4KKworICAgICAg
ICAqIGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNw
cDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlw
dEhvc3QuaC4KKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6
OkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9i
YWxPYmplY3RDb25zb2xlQWdlbnQ6OnNldE1vbml0b3JpbmdYSFJFbmFibGVkKToKKyAgICAgICAg
KEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZE5vZGUp
OgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudDo6YWRkSW5z
cGVjdGVkSGVhcE9iamVjdCk6CisgICAgICAgIEpTR2xvYmFsT2JqZWN0IGltcGxlbWVudGF0aW9u
LgorCisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdl
bnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJB
Z2VudC5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2Vu
dDo6SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNH
bG9iYWxPYmplY3REZWJ1Z2dlckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKToKKyAgICAgICAg
VXNlIENvbnNvbGVBZ2VudCB0byByZXBvcnQgbG9ncy4KKworICAgICAgICAqIGluc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29uc29sZU1lc3NhZ2UuY3BwLgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5o
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgu
CisgICAgICAgICogaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmguCisgICAgICAgICogaW5zcGVjdG9y
L0lkZW50aWZpZXJzRmFjdG9yeS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSWRlbnRp
ZmllcnNGYWN0b3J5Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRl
bnRpZmllcnNGYWN0b3J5LmguCisgICAgICAgICogaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5j
cHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRz
LmNwcC4KKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmguCisgICAgICAgICog
aW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcC4KKyAgICAgICAgKiBpbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmguCisgICAgICAgICogaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHA6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNw
cC4KKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmguCisgICAgICAgICogaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAuCisgICAgICAgICog
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaC4KKyAgICAgICAgKiBp
bnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbi4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
c2NyaXB0cy9nZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weToKKwogMjAxNC0wMi0w
MyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgRmVhdHVyZSBmbGFn
IGZvciBzaGFwZS1pbnNpZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggMTE1NmU5Ny4uNjAyNzQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTgzLDYgKzgzLDcgQEAgdWRpczg2X2l0YWIuaDogJChKYXZhU2Ny
aXB0Q29yZSkvZGlzYXNzZW1ibGVyL3VkaXM4Ni9pdGFiLnB5ICQoSmF2YVNjcmlwdENvcmUpL2QK
ICMgSW5zcGVjdG9yIGludGVyZmFjZXMKIAogSU5TUEVDVE9SX0RPTUFJTlMgPSBcCisgICAgJChK
YXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbiBcCiAgICAgJChK
YXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0RlYnVnZ2VyLmpzb24gXAogICAgICQo
SmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9HZW5lcmljVHlwZXMuanNvbiBcCiAg
ICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0luc3BlY3RvckRvbWFpbi5q
c29uIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbSBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBmZTU0NDhkLi5jYzNi
YzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMDIsNiArMjAyLDcg
QEAgRVhUUkFfRElTVCArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS9MSUNFTlNFIFwK
IAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L1JFQURNRSBcCiAJU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBcCisJU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24gXAogCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbiBcCiAJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9HZW5lcmljVHlwZXMuanNvbiBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbiBc
CkBAIC0yNDMsNiArMjQ0LDcgQEAgZW5kaWYKICMgSW5zcGVjdG9yIEludGVyZmFjZXMKIAogSmF2
YVNjcmlwdENvcmVfSU5TUEVDVE9SX0RPTUFJTlMgOj0gXAorICAgICQoSmF2YVNjcmlwdENvcmUp
L2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUp
L2luc3BlY3Rvci9wcm90b2NvbC9EZWJ1Z2dlci5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3Jl
KS9pbnNwZWN0b3IvcHJvdG9jb2wvR2VuZXJpY1R5cGVzLmpzb24gXAogICAgICQoSmF2YVNjcmlw
dENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbiBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGY2NThlOGMuLjc3NDIzMWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC02MzAsOCAr
NjMwLDEzIEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pY3UvdW5pY29kZS91dGZfb2xkLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3Uv
dW5pY29kZS91dHlwZXMuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3V2
ZXJzaW9uLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3Nh
Z2UuY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdl
LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmggXAog
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5j
cHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxp
dGllcy5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFj
dG9yeS5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNG
YWN0b3J5LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHQuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNl
LmNwcCBcCkBAIC02NjIsMTYgKzY2NywyNiBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVBy
b3RvdHlwZS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRD
YWxsRnJhbWUuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3Jp
cHRDYWxsRnJhbWUuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRB
cmd1bWVudHMuY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFy
Z3VtZW50cy5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEJyZWFr
cG9pbnQuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJh
bWUuY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFt
ZS5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5j
cHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgg
XAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVn
TGlzdGVuZXIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1
Z1NlcnZlci5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVi
dWdTZXJ2ZXIuaCBcCi0JU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yQWdlbnQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yQWdlbnQuY3BwIFwKLQlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgXAorCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIFwK
IAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmNwcCBcCi0JU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yUnVudGltZUFnZW50LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBcCisJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmggXAog
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9BYnN0cmFjdFBDLmNwcCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0Fic3RyYWN0UEMuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2
YVNjcmlwdENvcmUudmN4cHJvagppbmRleCBjODQ0ZTM3Li4yZTc3MDA5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKQEAgLTQ3Niw3ICs0NzYsOSBAQAogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caGVhcFxXZWFrU2V0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGhlYXBcV3JpdGVCYXJyaWVyQnVmZmVyLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGhlYXBcV3JpdGVCYXJyaWVyU3VwcG9ydC5jcHAiIC8+CisgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29uc29sZU1lc3NhZ2UuY3BwIiAvPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3Bw
IiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXElkZW50aWZpZXJzRmFj
dG9yeS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0
ZWRTY3JpcHQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXElu
amVjdGVkU2NyaXB0QmFzZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCIgLz4KQEAgLTQ5MCw4ICs0OTIsMTMgQEAKICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWUu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEpTSmF2YVNjcmlw
dENhbGxGcmFtZVByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmNwcCIgLz4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsRnJhbWUuY3BwIiAvPgorICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdENhbGxTdGFjay5jcHAiIC8+CisgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0RGVidWdT
ZXJ2ZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50
c1xJbnNwZWN0b3JBZ2VudC5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcYWdlbnRzXEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3Bw
IiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0
b3JSdW50aW1lQWdlbnQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW50ZXJw
cmV0ZXJcQWJzdHJhY3RQQy5jcHAiIC8+CkBAIC0xMDUzLDcgKzEwNjAsMTAgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGhlYXBcV2Vha1NldElubGluZXMuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGhlYXBcV3JpdGVCYXJyaWVyQnVmZmVyLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxoZWFwXFdyaXRlQmFycmllclN1cHBvcnQuaCIgLz4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb25zb2xlTWVzc2FnZS5oIiAvPgorICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVUeXBlcy5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3Rv
cnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNj
cmlwdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVk
U2NyaXB0QmFzZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXElu
amVjdGVkU2NyaXB0SG9zdC5oIiAvPgpAQCAtMTA3MSwxMCArMTA4MSwxNSBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFt
ZVByb3RvdHlwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEph
dmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxTY3JpcHRBcmd1bWVudHMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxTY3JpcHRCcmVha3BvaW50LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcU2NyaXB0Q2FsbEZyYW1lLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdERlYnVnTGlzdGVuZXIuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHREZWJ1Z1NlcnZlci5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JB
Z2VudC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJ
bnNwZWN0b3JDb25zb2xlQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JSdW50aW1lQWdlbnQuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGludGVycHJldGVyXEFic3RyYWN0UEMuaCIg
Lz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODFiZDMyZi4uNDEwMmZjOSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMDYsNiArMTAwNiwyMyBAQAogCQlBNUNF
RUUxNDE4N0YzQkFEMDBFNTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDRUVFMTIxODdGM0JBRDAwRTU1Qzk5
IC8qIEluc3BlY3RvckFnZW50LmNwcCAqLzsgfTsKIAkJQTVDRUVFMTUxODdGM0JBRDAwRTU1Qzk5
IC8qIEluc3BlY3RvckFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNUNFRUUxMzE4N0YzQkFEMDBFNTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNUQwQTFC
QjE4NjIzMDFCMDBDN0I0OTYgLyogSW5zcGVjdG9yRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RDBBMUJBMTg2MjMwMUIwMEM3QjQ5
NiAvKiBJbnNwZWN0b3JFbnZpcm9ubWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDY3MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRB
cmd1bWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTVGRDAwNjUxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi87IH07
CisJCUE1RkQwMDY4MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDY2MTg5QUZFOUMw
MDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlBNUZEMDA2RDE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0
Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1RkQwMDY5MTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovOyB9
OworCQlBNUZEMDA2RTE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2QTE4OUIwMEE5
MDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNkYxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlw
dENhbGxTdGFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNUZEMDA2QjE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLzsg
fTsKKwkJQTVGRDAwNzAxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNkMxODlCMDBB
QTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1RkQwMDc0MTg5QjAzOEMwMDYzMzIzMSAvKiBDb25z
b2xlVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1RkQwMDcxMTg5QjAzOEMwMDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUZEMDA3NTE4OUIwMzhDMDA2
MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDcyMTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlm
aWVyc0ZhY3RvcnkuY3BwICovOyB9OworCQlBNUZEMDA3NjE4OUIwMzhDMDA2MzMyMzEgLyogSWRl
bnRpZmllcnNGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNUZEMDA3MzE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAw
NzkxODlCMDUxMDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDc3MTg5QjA1MTAwMDYzMzIzMSAv
KiBDb25zb2xlTWVzc2FnZS5jcHAgKi87IH07CisJCUE1RkQwMDdBMTg5QjA1MTAwMDYzMzIzMSAv
KiBDb25zb2xlTWVzc2FnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVGRDAwNzgxODlCMDUxMDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwN0Qx
ODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwN0IxODlCMEI0QzAwNjMz
MjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwICovOyB9OworCQlBNUZEMDA3RTE4OUIw
QjRDMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwN0MxODlCMEI0QzAwNjMzMjMxIC8q
IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlBNUZEMDA4MTE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9y
Q29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1RkQwMDdGMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQu
Y3BwICovOyB9OworCQlBNUZEMDA4MjE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29s
ZUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NUZEMDA4MDE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwODUxODlC
MUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDgzMTg5QjFCN0UwMDYz
MzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAgKi87IH07CisJCUE1RkQwMDg2
MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwODQxODlCMUI3RTAw
NjMzMjMxIC8qIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmggKi87IH07CiAJCUE3MDA4NzM5
MTdDQkU4NTMwMEMzRTY0MyAvKiBNYXBDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzAwODczNzE3Q0JFODUzMDBDM0U2NDMgLyog
TWFwQ29uc3RydWN0b3IuY3BwICovOyB9OwogCQlBNzAwODczQTE3Q0JFODUzMDBDM0U2NDMgLyog
TWFwQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3MDA4NzM4MTdDQkU4NTMwMEMzRTY0MyAvKiBNYXBDb25zdHJ1Y3Rvci5oICovOyB9
OwogCQlBNzAwODczRDE3Q0JFOEQzMDBDM0U2NDMgLyogTWFwUHJvdG90eXBlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MDA4NzNCMTdDQkU4RDMw
MEMzRTY0MyAvKiBNYXBQcm90b3R5cGUuY3BwICovOyB9OwpAQCAtMjQ0NCw2ICsyNDYxLDIzIEBA
CiAJCUE1Q0VFRTEyMTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JBZ2VudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1Q0VFRTEzMTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNw
ZWN0b3JBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JB
Z2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUQwQTFCQTE4NjIzMDFCMDBD
N0I0OTYgLyogSW5zcGVjdG9yRW52aXJvbm1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW5zcGVjdG9yRW52aXJvbm1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTVGRDAwNjUxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRBcmd1bWVudHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA2NjE4OUFGRTlDMDA2MzMyMzEgLyog
U2NyaXB0QXJndW1lbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlw
dEFyZ3VtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA2OTE4OUIw
MEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNjcmlwdENhbGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE1RkQwMDZBMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q2FsbEZyYW1lLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDZCMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3Jp
cHRDYWxsU3RhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Ny
aXB0Q2FsbFN0YWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNkMx
ODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTVGRDAwNzExODlCMDM4QzAwNjMzMjMxIC8qIENvbnNvbGVUeXBlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25zb2xlVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzIxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFj
dG9yeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJZGVudGlmaWVy
c0ZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3MzE4OUIw
MzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IElkZW50aWZpZXJzRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNUZEMDA3NzE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29uc29sZU1lc3NhZ2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3ODE4OUIwNTEwMDA2MzMyMzEgLyog
Q29uc29sZU1lc3NhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29uc29s
ZU1lc3NhZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwN0IxODlCMEI0
QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAw
N0YxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA4MDE4OUIxOTFBMDA2MzMyMzEgLyog
SW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEluc3BlY3RvckNvbnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
NUZEMDA4MzE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHbG9iYWxPYmplY3RDb25z
b2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA4NDE4OUIx
QjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcwMDg3MzcxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENv
bnN0cnVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hcENv
bnN0cnVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcwMDg3MzgxN0NC
RTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0cnVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE1hcENvbnN0cnVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3MDA4NzNCMTdDQkU4RDMwMEMzRTY0MyAvKiBNYXBQcm90b3R5cGUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWFwUHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0NTcsMTAgKzQ0OTEsMTQgQEAKIAkJCWNoaWxkcmVuID0gKAog
CQkJCUE1Q0VFRTEyMTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5jcHAgKi8sCiAJ
CQkJQTVDRUVFMTMxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmggKi8sCisJCQkJ
QTVGRDAwN0YxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8s
CisJCQkJQTVGRDAwODAxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5o
ICovLAogCQkJCUE1N0QyM0UzMTg5MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmNwcCAqLywKIAkJCQlBNTdEMjNFNDE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5oICovLAogCQkJCUE1MEU0QjVEMTg4MDlERDUwMDY4QTQ2RCAvKiBJbnNwZWN0
b3JSdW50aW1lQWdlbnQuY3BwICovLAogCQkJCUE1MEU0QjVFMTg4MDlERDUwMDY4QTQ2RCAvKiBJ
bnNwZWN0b3JSdW50aW1lQWdlbnQuaCAqLywKKwkJCQlBNUZEMDA4MzE4OUIxQjdFMDA2MzMyMzEg
LyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwICovLAorCQkJCUE1RkQwMDg0MTg5QjFC
N0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oICovLAogCQkJCUE1N0Qy
M0U3MTg5MUIwNzcwMDMxQzdGQSAvKiBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwICov
LAogCQkJCUE1N0QyM0U4MTg5MUIwNzcwMDMxQzdGQSAvKiBKU0dsb2JhbE9iamVjdERlYnVnZ2Vy
QWdlbnQuaCAqLywKIAkJCQlBNTBFNEI1RjE4ODA5REQ1MDA2OEE0NkQgLyogSlNHbG9iYWxPYmpl
Y3RSdW50aW1lQWdlbnQuY3BwICovLApAQCAtNDUwMywxMCArNDU0MSwxNSBAQAogCQkJCUE1MTNF
NUNDMTg1RkI5OTIwMDdFOTVBRCAvKiBhZ2VudHMgKi8sCiAJCQkJQTVCQTE1RTAxODIzNDA5RDAw
QTgyRTY5IC8qIHJlbW90ZSAqLywKIAkJCQlBNTMyNDM4RTE4NTY5NkNFMDAyRUQ2OTIgLyogc2Ny
aXB0cyAqLywKKwkJCQlBNUZEMDA3NzE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2Uu
Y3BwICovLAorCQkJCUE1RkQwMDc4MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5o
ICovLAorCQkJCUE1RkQwMDcxMTg5QjAzOEMwMDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCAqLywK
IAkJCQlBNTdEMjNFRjE4OTFCNUI0MDAzMUM3RkEgLyogQ29udGVudFNlYXJjaFV0aWxpdGllcy5j
cHAgKi8sCiAJCQkJQTU3RDIzRjAxODkxQjVCNDAwMzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGls
aXRpZXMuaCAqLywKIAkJCQlBNTQ5ODIwMTE4OTFEMEIwMDA4MUU1QjggLyogRXZlbnRMb29wLmNw
cCAqLywKIAkJCQlBNTQ5ODIwMjE4OTFEMEIwMDA4MUU1QjggLyogRXZlbnRMb29wLmggKi8sCisJ
CQkJQTVGRDAwNzIxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgKi8s
CisJCQkJQTVGRDAwNzMxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oICov
LAogCQkJCUE1MTNFNUI1MTg1QjhCRDMwMDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5jcHAgKi8s
CiAJCQkJQTUxM0U1QjYxODVCOEJEMzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0LmggKi8sCiAJ
CQkJQTUxNEIyQzAxODVBNjg0NDAwRjNDN0NCIC8qIEluamVjdGVkU2NyaXB0QmFzZS5jcHAgKi8s
CkBAIC00NTQyLDcgKzQ1ODUsMTUgQEAKIAkJCQlBNTAzRkExODE4OEUwRkIwMDAxMTBGMTQgLyog
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmggKi8sCiAJCQkJQTUwM0ZBMTMxODhFMEZB
RjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovLAogCQkJCUE1MDNGQTE0MTg4
RTBGQUYwMDExMEYxNCAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJQTVGRDAwNjUx
ODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8sCisJCQkJQTVGRDAwNjYx
ODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5oICovLAogCQkJCUE1MDNGQTFGMTg4
RUZGNjgwMDExMEYxNCAvKiBTY3JpcHRCcmVha3BvaW50LmggKi8sCisJCQkJQTVGRDAwNjkxODlC
MDBBOTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgKi8sCisJCQkJQTVGRDAwNkExODlC
MDBBOTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oICovLAorCQkJCUE1RkQwMDZCMTg5QjAw
QTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suY3BwICovLAorCQkJCUE1RkQwMDZDMTg5QjAw
QUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suaCAqLywKKwkJCQlBNUZEMDA3QjE4OUIwQjRD
MDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgKi8sCisJCQkJQTVGRDAwN0Mx
ODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCAqLywKIAkJCQlBNTAz
RkEyMDE4OEVGRjY4MDAxMTBGMTQgLyogU2NyaXB0RGVidWdMaXN0ZW5lci5oICovLAogCQkJCUE1
MDNGQTIzMTg4RUZGRkQwMDExMEYxNCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5jcHAgKi8sCiAJCQkJ
QTUwM0ZBMjQxODhFRkZGRDAwMTEwRjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmggKi8sCkBAIC00
Njk4LDYgKzQ3NDksNyBAQAogCQkJCTBGNkIxQ0M2MTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExVbndp
bmRJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjIzOUQxODE2MjYyQkREMDA1QUM1RkQgLyog
Q29weVZpc2l0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyMjM5RDE5MTYyNjJCREQwMDVBQzVG
RCAvKiBDb3B5VmlzaXRvcklubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDdBMTg5
QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzIx
OEQxNDAxNjU1Q0ZENTAwNjJCQjgxIC8qIENvcHlXb3JrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNURFNkU1QjMwRTE3MjhFQzAwMTgwNDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY0MjZBNEIxNDYwQ0Q2RTAwMTMxRjhGIC8qIERhdGFGb3JtYXQuaCBpbiBI
ZWFkZXJzICovLApAQCAtNDczNCw2ICs0Nzg2LDcgQEAKIAkJCQkwRkZCOTIxQTE2RDAyRUM1MDA1
NUE1REIgLyogREZHQmFzaWNCbG9ja0lubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3MEIw
ODMzMTdBMEI3OUIwMERBRjE0QiAvKiBERkdCaW5hcnlTd2l0Y2guaCBpbiBIZWFkZXJzICovLAog
CQkJCUE3RDg5Q0Y0MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdCbG9ja0luc2VydGlvblNldC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTVGRDAwNkUxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxG
cmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4MzY0QjcxNjRCMEMxMTAwNTMzMjlBIC8qIERG
R0JyYW5jaERpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFBMDA5QzAxODMxQTIyRDAw
Q0Y4NzExIC8qIE1hY3JvQXNzZW1ibGVyQVJNNjQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2RUM5
REM1MTMyOERGODIwMDJCMkFENyAvKiBERkdCeXRlQ29kZVBhcnNlci5oIGluIEhlYWRlcnMgKi8s
CkBAIC00NzUxLDYgKzQ4MDQsNyBAQAogCQkJCUE1MDNGQTFFMTg4RTBGQjAwMDExMEYxNCAvKiBK
U0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMzhC
MDFBMTdDRkU3NTUwMEIxNDREMyAvKiBERkdDb21waWxhdGlvbk1vZGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGM0IzQTFCMTUzRTY4RjQwMDNFRDBGRiAvKiBERkdDb25zdGFudEZvbGRpbmdQaGFz
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVGRDAwODIxODlCMTkxQTAwNjMzMjMxIC8qIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZCRTBGNzMxNkMxREIwNTAw
ODJDNUU4IC8qIERGR0NQU1JldGhyZWFkaW5nUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3
RDg5Q0Y2MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdDcml0aWNhbEVkZ2VCcmVha2luZ1BoYXNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRkZGQzk1QTE0RUY5MEE5MDBDNzI1MzIgLyogREZHQ1NFUGhh
c2UuaCBpbiBIZWFkZXJzICovLApAQCAtNDc5OCw2ICs0ODUyLDcgQEAKIAkJCQkwRjJCREM0NTE1
MjI4MDFCMDBDRDg5MTAgLyogREZHTWluaWZpZWRHcmFwaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEYyRTg5MkQxNkQwMkJBRjAwOUU0RkQyIC8qIERGR01pbmlmaWVkSUQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGMkJEQzQ2MTUyMjgwMjAwMENEODkxMCAvKiBERkdNaW5pZmllZE5vZGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUE1RkQwMDY4MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVu
dHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3Mzc4MTBFMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdO
YXR1cmFsTG9vcHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2RUNBM0VBMTMyREVGMUMwMDJCMkFE
NyAvKiBERkdOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkZCOTIxQjE2RDAyRjAxMDA1NUE1
REIgLyogREZHTm9kZUFsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8sCkBAIC00ODQ2LDYgKzQ5MDEs
NyBAQAogCQkJCTBGMkJEQzQ4MTUyMjgwMjkwMENEODkxMCAvKiBERkdWYWx1ZVNvdXJjZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEY2MjAxNzQxNDNGQ0QzMzAwNjhCNzdDIC8qIERGR1ZhcmlhYmxl
QWNjZXNzRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZEREJGQjYxNjY2RUVEQTAwQzU1RkVG
IC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQw
MDc0MTg5QjAzOEMwMDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGMkJEQzQ5MTUyMjgwOTYwMENEODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjJCREM0QjE1MjI4MDlEMDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVudFN0
cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTUxNEIyQzMxODVBNjg0NDAwRjNDN0NCIC8qIElu
amVjdGVkU2NyaXB0QmFzZS5oIGluIEhlYWRlcnMgKi8sCkBAIC00ODk1LDYgKzQ5NTEsNyBAQAog
CQkJCTBGRUEwQTI0MTcwOTYwNjkwMEJCNzIyQyAvKiBGVExJbnRyaW5zaWNSZXBvc2l0b3J5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRkVBMEEwRTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMSklUQ29k
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc4QTk3ODExNzk3MzhENTAwOURGNzQ0IC8qIEZUTEpJ
VEZpbmFsaXplci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVGRDAwNzYxODlCMDM4QzAwNjMzMjMx
IC8qIElkZW50aWZpZXJzRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1QTYyODQxODhD
OThENDAwNzJDOURGIC8qIEZUTFZhbHVlUmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYy
Qjk2MTcyRTA0QTMwMDdEQkRBNSAvKiBGVExMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNF
RkFFMDE4MDczOEMwMDA0NzJDRTQgLyogRlRMTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAt
NDk5Miw2ICs1MDQ5LDcgQEAKIAkJCQlBN0E0QUUxMDE3OTczQjREMDA1NjEyQjEgLyogSklUU3R1
YnNYODZDb21tb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNUVGOTFGMTY4NzhGN0QwMDNFNUMy
NSAvKiBKSVRUaHVua3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQzcxMkUzMTdDRDg3OTMwMDhD
QzkzQyAvKiBKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTVGRDAwNzAxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTc2RjU0QTMxM0IyOEFBQjAwRUYyQkNFIC8qIEpJVFdyaXRlQmFy
cmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0MTYwRTE2RjVDRDAwQjM0NDYwIC8qIEpT
QWN0aXZhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY2QjFDQjkxODYxMjQ0QzAwODQ1RDk3
IC8qIEFyaXR5Q2hlY2tNb2RlLmggaW4gSGVhZGVycyAqLywKQEAgLTUxNjgsNiArNTIyNiw3IEBA
CiAJCQkJQkMwMkU5MTEwRTE4MzlEQjAwMEY5Mjk3IC8qIE5hdGl2ZUVycm9yQ29uc3RydWN0b3Iu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDJFOTEzMEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVF
cnJvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZGQjkyMjAxNkQwMzNCNzAwNTVB
NURCIC8qIE5vZGVDb25zdHJ1Y3RvcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDdFMTg5
QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggaW4gSGVhZGVycyAqLywK
IAkJCQk3RUZGMDA2NDBFQzA1QTlBMDBBQTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkMxOEM0NDEwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4g
SGVhZGVycyAqLywKQEAgLTUzMTYsNiArNTM3NSw3IEBACiAJCQkJQTdBOEFGNDExN0FEQjVGMzAw
NUFCMTc0IC8qIFVpbnQxNkFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NjY3MzlEMzEzQkZE
RTcxMDAyM0Q4N0MgLyogVWludDE2V2l0aEZyYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
N0E4QUY0MjE3QURCNUYzMDA1QUIxNzQgLyogVWludDMyQXJyYXkuaCBpbiBIZWFkZXJzICovLAor
CQkJCUE1RkQwMDg2MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdBOEFGM0YxN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQ4
QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3QThBRjQwMTdBREI1RjMwMDVBQjE3NCAvKiBV
aW50OENsYW1wZWRBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1RjA4Q0YxNDZDNzYzMzAw
MDQ3MkE5IC8qIFVuY29uZGl0aW9uYWxGaW5hbGl6ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNTc4
OSw2ICs1ODQ5LDcgQEAKIAkJCQlBNzkwREQ2RjE4MkY0OTk3MDA1ODg4MDcgLyogSlNTZXRJdGVy
YXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjYzOTQ1NDE1RDA3MDU1MDA2QTU5N0MgLyog
QXJyYXlQcm9maWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUMwMTA3RUMzNzYwMDQy
N0E0OCAvKiBBcnJheVByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA2RDE4
OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGMjRFNTQwMTdFQTlGNTkwMEFCQjIxNyAvKiBBc3NlbWJseUhlbHBlcnMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMTQ4MTZFMUIxNTRDQzU2QzAwQjgwNTRDIC8qIEJsb2NrQWxsb2NhdG9yLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE0MjgwODYzMTA3RUMxMUEwMDEzRTdCMiAvKiBCb29sZWFu
Q29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC01OTQyLDYgKzYwMDMsNyBAQAogCQkJ
CTE0N0YzOUM4MTA3RUMzNzYwMDQyN0E0OCAvKiBFcnJvckNvbnN0cnVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTE0N0YzOUM5MTA3RUMzNzYwMDQyN0E0OCAvKiBFcnJvckluc3RhbmNlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNBMTA3RUMzNzYwMDQyN0E0OCAvKiBFcnJvclBy
b3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA2NzE4OUFGRTlDMDA2MzMyMzEg
LyogU2NyaXB0QXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MjlEODc4MEVEMjFB
Q0QwMEI4OTYxOSAvKiBFeGNlcHRpb25IZWxwZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2
Q0EwMzJFMTAzOEU4NDQwMDI4QTYwOSAvKiBFeGVjdXRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE3QjQ4RjQ5MEVFODkzNkYwMERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCBp
biBTb3VyY2VzICovLApAQCAtNTk3MCw2ICs2MDMyLDcgQEAKIAkJCQlBNzhBOTc4MDE3OTczOEQ1
MDA5REY3NDQgLyogRlRMSklURmluYWxpemVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOEYy
Qjk1MTcyRTA0QTAwMDdEQkRBNSAvKiBGVExMaW5rLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3
NERFRjk1MTgyRDk5MTQwMDUyMkMyMiAvKiBKU01hcEl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUE1RkQwMDgxMTg5QjE5MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZDRUZBREYxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExv
Y2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTBGMTcwNTEzREIwMEJCNzIyQyAv
KiBGVExMb3dlckRGR1RvTExWTS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkQ4QTMxQjE3RDUx
RjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC02MDU5LDcg
KzYxMjIsOSBAQAogCQkJCTg2RTNDNjE2MTY3QkFCRUUwMDZENzYwQSAvKiBKU0NvbnRleHQubW0g
aW4gU291cmNlcyAqLywKIAkJCQkxNEJENUEzMDBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0
UmVmLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3MjAyOEI2MTc5NzYwMUUwMDk4MDI4QyAvKiBK
U0NUZXN0UnVubmVyVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwNzUxODlCMDM4
QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
NTlGODkzOTE4OTFGMjlGMDBENUNDREMgLyogVW5saW5rZWRJbnN0cnVjdGlvblN0cmVhbS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA2RjE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bFN0YWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMkI2NkVCMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0RhdGFWaWV3LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMkI2NkVEMTdCNkI1QUIwMEE3
QUUzRiAvKiBKU0RhdGFWaWV3UHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3ODgw
MTQwMTQ3MUFEOTIwMDQxQjAxNiAvKiBKU0RhdGVNYXRoLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
NjE2OCw2ICs2MjMzLDcgQEAKIAkJCQkxNDhGMjFCQzEwN0VDNTREMDA0MkVDMkMgLyogUGFyc2Vy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJz
ZXJBcmVuYS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjlGQzhDMzE0RTFCNUZFMDBENTJBRTAg
LyogUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA4
NTE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMEY5ODIwNjAxNkJGRTM4MTAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFy
Z2V0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NTc0MkY2NTBERDExRjVBMDAwOTE3RkIgLyog
UHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkM5N0YzNTE4MjAyMEQ3MDAyQzlCMjYg
LyogUHJvZmlsZWRDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC02MjE1LDYgKzYyODEsNyBAQAogCQkJCUMyMjU0OTQzMTVGN0RCQUEwMDY1RTg5OCAv
KiBTbG90VmlzaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwNDAyQzBFNkE3NjQwMDA3
ODZFNkEgLyogU21hbGxTdHJpbmdzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOEYyQjlFMTcz
MDZDOEQwMDdEQkRBNSAvKiBTb3VyY2VDb2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQw
MDc5MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjQ5M0FGQTE2RDBDQUQzMDA4NDUwOEIgLyogU291cmNlUHJvdmlkZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTQ5REMxNkIxMkVGMjkzRTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVy
Q2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY2QjFDQzkxODY0MURGODAwODQ1RDk3IC8q
IEFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjIzNyw2
ICs2MzA0LDcgQEAKIAkJCQlDMkRGNDQyRjE3MDdBQzAxMDBBNUNBOTYgLyogU3VwZXJSZWdpb24u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5MTlEMjgxNTg1Njc3MzAwNEE0RTdEIC8qIFN5bWJv
bFRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQzMxNDEzMTgxNDU1OTEwMDAzMzIzMiAv
KiBUZW1wUmVnaXN0ZXJTZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwN0QxODlCMEI0
QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEZBMkMxN0IxN0Q3Q0Y4NDAwOUQwMTVGIC8qIFRlc3RSdW5uZXJVdGlscy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBNzM4NjU1NTExODY5N0I0MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3Jz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMkI2NzA3MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBl
ZEFycmF5Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApzaW1pbGFyaXR5IGluZGV4IDcwJQpyZW5h
bWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCnJlbmFt
ZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApp
bmRleCBkM2I5M2FjLi41OTdiMTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29uc29sZU1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvQ29uc29sZU1lc3NhZ2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDcsIDIwMDgsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDA4IE1hdHQgTGlsZWsgPHdlYmtpdEBtYXR0bGlsZWsuY29tPgog
ICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgpAQCAtMzMsMjEgKzMzLDE3IEBACiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCi0j
aW5jbHVkZSAiQ29uc29sZS5oIgogI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgorI2lu
Y2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1l
bnRzLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2Fs
bFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgotI2luY2x1ZGUg
PGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+Ci0jaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0Lmg+Ci0jaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oPgotI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KLSNpbmNsdWRlIDx3dGYvTWFpblRo
cmVhZC5oPgorI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBJbnNw
ZWN0b3I7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBD
b25zb2xlTWVzc2FnZTo6Q29uc29sZU1lc3NhZ2UoYm9vbCBjYW5HZW5lcmF0ZUNhbGxTdGFjaywg
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
KQogICAgIDogbV9zb3VyY2Uoc291cmNlKQpAQCAtMTE2LDE1ICsxMTIsMTYgQEAgQ29uc29sZU1l
c3NhZ2U6On5Db25zb2xlTWVzc2FnZSgpCiB7CiB9CiAKLXZvaWQgQ29uc29sZU1lc3NhZ2U6OmF1
dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhlY1N0
YXRlKiBzdGF0ZSkKKy8vIEZJWE1FOiBSZW1vdmUgdGhlIGdlbmVyYXRlIHdpdGhvdXQgRXhlY1N0
YXRlIHBhdGguIFRoZSBjYWxsZXIgc2hvdWxkIGFsd2F5cyBwcm92aWRlIGFuIEV4ZWNTdGF0ZS4K
K3ZvaWQgQ29uc29sZU1lc3NhZ2U6OmF1dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wgLypjYW5HZW5l
cmF0ZUNhbGxTdGFjayovLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUpCiB7Ci0gICAgaWYgKG1fdHlw
ZSA9PSBFbmRHcm91cE1lc3NhZ2VUeXBlKQorICAgIGlmIChtX3R5cGUgPT0gTWVzc2FnZVR5cGU6
OkVuZEdyb3VwKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoc3RhdGUpCiAgICAgICAgIG1f
Y2FsbFN0YWNrID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShzdGF0ZSk7Ci0gICAg
ZWxzZSBpZiAoY2FuR2VuZXJhdGVDYWxsU3RhY2spCi0gICAgICAgIG1fY2FsbFN0YWNrID0gY3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrKFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2Fw
dHVyZSwgdHJ1ZSk7CisgICAgLy8gZWxzZSBpZiAoY2FuR2VuZXJhdGVDYWxsU3RhY2spCisgICAg
Ly8gICAgIG1fY2FsbFN0YWNrID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKFNjcmlwdENhbGxTdGFj
azo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7CiAgICAgZWxzZQogICAgICAgICBy
ZXR1cm47CiAKQEAgLTEzOSwyMCArMTM2LDE5IEBAIHZvaWQgQ29uc29sZU1lc3NhZ2U6OmF1dG9n
ZW5lcmF0ZU1ldGFkYXRhKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhlY1N0CiAg
ICAgbV9jYWxsU3RhY2suY2xlYXIoKTsKIH0KIAotLy8gS2VlcCBpbiBzeW5jIHdpdGggaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwogc3RhdGljIEluc3BlY3Rvcjo6VHlwZUJ1aWxk
ZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkVudW0gbWVzc2FnZVNvdXJjZVZh
bHVlKE1lc3NhZ2VTb3VyY2Ugc291cmNlKQogewogICAgIHN3aXRjaCAoc291cmNlKSB7Ci0gICAg
Y2FzZSBYTUxNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29u
c29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6WE1MOwotICAgIGNhc2UgSlNNZXNzYWdlU291
cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlNvdXJjZTo6SmF2YXNjcmlwdDsKLSAgICBjYXNlIE5ldHdvcmtNZXNzYWdlU291cmNlOiBy
ZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNv
dXJjZTo6TmV0d29yazsKLSAgICBjYXNlIENvbnNvbGVBUElNZXNzYWdlU291cmNlOiByZXR1cm4g
SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6
Q29uc29sZUFQSTsKLSAgICBjYXNlIFN0b3JhZ2VNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVj
dG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U3RvcmFn
ZTsKLSAgICBjYXNlIEFwcENhY2hlTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkFwcGNhY2hlOwotICAg
IGNhc2UgUmVuZGVyaW5nTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxk
ZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlJlbmRlcmluZzsKLSAgICBjYXNl
IENTU01lc3NhZ2VTb3VyY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xl
OjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpDU1M7Ci0gICAgY2FzZSBTZWN1cml0eU1lc3NhZ2VT
b3VyY2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVz
c2FnZTo6U291cmNlOjpTZWN1cml0eTsKLSAgICBjYXNlIE90aGVyTWVzc2FnZVNvdXJjZTogcmV0
dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3Vy
Y2U6Ok90aGVyOworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6WE1MOiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6WE1MOworICAg
IGNhc2UgTWVzc2FnZVNvdXJjZTo6SlM6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpKYXZhc2NyaXB0OworICAgIGNhc2UgTWVz
c2FnZVNvdXJjZTo6TmV0d29yazogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNv
bGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok5ldHdvcms7CisgICAgY2FzZSBNZXNzYWdlU291
cmNlOjpDb25zb2xlQVBJOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6Q29uc29sZUFQSTsKKyAgICBjYXNlIE1lc3NhZ2VTb3Vy
Y2U6OlN0b3JhZ2U6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25z
b2xlTWVzc2FnZTo6U291cmNlOjpTdG9yYWdlOworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6QXBw
Q2FjaGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVz
c2FnZTo6U291cmNlOjpBcHBjYWNoZTsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlJlbmRlcmlu
ZzogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdl
OjpTb3VyY2U6OlJlbmRlcmluZzsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkNTUzogcmV0dXJu
IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6
OkNTUzsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5OiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U2VjdXJpdHk7
CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpPdGhlcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1
aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok90aGVyOwogICAgIH0KICAg
ICByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6
OlNvdXJjZTo6T3RoZXI7CiB9CkBAIC0xNjAsMTkgKzE1NiwxOSBAQCBzdGF0aWMgSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6RW51bSBtZXNz
YWdlU291cgogc3RhdGljIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpUeXBlOjpFbnVtIG1lc3NhZ2VUeXBlVmFsdWUoTWVzc2FnZVR5cGUgdHlwZSkKIHsK
ICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIExvZ01lc3NhZ2VUeXBlOiByZXR1cm4gSW5z
cGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkxvZzsK
LSAgICBjYXNlIENsZWFyTWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVy
OjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6Q2xlYXI7Ci0gICAgY2FzZSBEaXJNZXNz
YWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpUeXBlOjpEaXI7Ci0gICAgY2FzZSBEaXJYTUxNZXNzYWdlVHlwZTogcmV0dXJuIElu
c3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpEaXJY
TUw7Ci0gICAgY2FzZSBUYWJsZU1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVp
bGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlRhYmxlOwotICAgIGNhc2UgVHJh
Y2VNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNv
bnNvbGVNZXNzYWdlOjpUeXBlOjpUcmFjZTsKLSAgICBjYXNlIFN0YXJ0R3JvdXBNZXNzYWdlVHlw
ZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdl
OjpUeXBlOjpTdGFydEdyb3VwOwotICAgIGNhc2UgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VU
eXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlR5cGU6OlN0YXJ0R3JvdXBDb2xsYXBzZWQ7Ci0gICAgY2FzZSBFbmRHcm91cE1lc3NhZ2VU
eXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlR5cGU6OkVuZEdyb3VwOwotICAgIGNhc2UgQXNzZXJ0TWVzc2FnZVR5cGU6IHJldHVybiBJ
bnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6QXNz
ZXJ0OwotICAgIGNhc2UgVGltaW5nTWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVC
dWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6VGltaW5nOwotICAgIGNhc2Ug
UHJvZmlsZU1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29s
ZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlByb2ZpbGU7Ci0gICAgY2FzZSBQcm9maWxlRW5kTWVz
c2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xl
TWVzc2FnZTo6VHlwZTo6UHJvZmlsZUVuZDsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpMb2c6IHJl
dHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlw
ZTo6TG9nOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkNsZWFyOiByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkNsZWFyOworICAgIGNh
c2UgTWVzc2FnZVR5cGU6OkRpcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNv
bGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpEaXI7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6RGly
WE1MOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlR5cGU6OkRpclhNTDsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpUYWJsZTogcmV0dXJuIElu
c3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpUYWJs
ZTsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpUcmFjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1
aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpUcmFjZTsKKyAgICBjYXNlIE1l
c3NhZ2VUeXBlOjpTdGFydEdyb3VwOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29u
c29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlN0YXJ0R3JvdXA7CisgICAgY2FzZSBNZXNzYWdl
VHlwZTo6U3RhcnRHcm91cENvbGxhcHNlZDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpTdGFydEdyb3VwQ29sbGFwc2VkOworICAg
IGNhc2UgTWVzc2FnZVR5cGU6OkVuZEdyb3VwOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRl
cjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkVuZEdyb3VwOworICAgIGNhc2UgTWVz
c2FnZVR5cGU6OkFzc2VydDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpBc3NlcnQ7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6VGlt
aW5nOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlR5cGU6OlRpbWluZzsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpQcm9maWxlOiByZXR1cm4g
SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlBy
b2ZpbGU7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6UHJvZmlsZUVuZDogcmV0dXJuIEluc3BlY3Rv
cjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpQcm9maWxlRW5k
OwogICAgIH0KICAgICByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29u
c29sZU1lc3NhZ2U6OlR5cGU6OkxvZzsKIH0KQEAgLTE4MCwxMCArMTc2LDEwIEBAIHN0YXRpYyBJ
bnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6RW51
bSBtZXNzYWdlVHlwZVZhCiBzdGF0aWMgSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpFbnVtIG1lc3NhZ2VMZXZlbFZhbHVlKE1lc3NhZ2VMZXZl
bCBsZXZlbCkKIHsKICAgICBzd2l0Y2ggKGxldmVsKSB7Ci0gICAgY2FzZSBEZWJ1Z01lc3NhZ2VM
ZXZlbDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpMZXZlbDo6RGVidWc7Ci0gICAgY2FzZSBMb2dNZXNzYWdlTGV2ZWw6IHJldHVybiBJbnNw
ZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkxvZzsK
LSAgICBjYXNlIFdhcm5pbmdNZXNzYWdlTGV2ZWw6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWls
ZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6Oldhcm5pbmc7Ci0gICAgY2FzZSBF
cnJvck1lc3NhZ2VMZXZlbDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6RXJyb3I7CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6Okxv
ZzogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdl
OjpMZXZlbDo6TG9nOworICAgIGNhc2UgTWVzc2FnZUxldmVsOjpXYXJuaW5nOiByZXR1cm4gSW5z
cGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpXYXJu
aW5nOworICAgIGNhc2UgTWVzc2FnZUxldmVsOjpFcnJvcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6RXJyb3I7CisgICAgY2Fz
ZSBNZXNzYWdlTGV2ZWw6OkRlYnVnOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29u
c29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpEZWJ1ZzsKICAgICB9CiAgICAgcmV0dXJuIElu
c3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6TG9n
OwogfQpAQCAtMTk0LDE5ICsxOTAsMjIgQEAgdm9pZCBDb25zb2xlTWVzc2FnZTo6YWRkVG9Gcm9u
dGVuZChJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKiBjb25zb2xlRnIKICAgICAg
ICAgLnNldFNvdXJjZShtZXNzYWdlU291cmNlVmFsdWUobV9zb3VyY2UpKQogICAgICAgICAuc2V0
TGV2ZWwobWVzc2FnZUxldmVsVmFsdWUobV9sZXZlbCkpCiAgICAgICAgIC5zZXRUZXh0KG1fbWVz
c2FnZSk7CisKICAgICAvLyBGSVhNRTogb25seSBzZW5kIG91dCB0eXBlIGZvciBDb25zb2xlQVBJ
IHNvdXJjZSBtZXNzYWdlcy4KICAgICBqc29uT2JqLT5zZXRUeXBlKG1lc3NhZ2VUeXBlVmFsdWUo
bV90eXBlKSk7CiAgICAganNvbk9iai0+c2V0TGluZShzdGF0aWNfY2FzdDxpbnQ+KG1fbGluZSkp
OwogICAgIGpzb25PYmotPnNldENvbHVtbihzdGF0aWNfY2FzdDxpbnQ+KG1fY29sdW1uKSk7CiAg
ICAganNvbk9iai0+c2V0VXJsKG1fdXJsKTsKICAgICBqc29uT2JqLT5zZXRSZXBlYXRDb3VudChz
dGF0aWNfY2FzdDxpbnQ+KG1fcmVwZWF0Q291bnQpKTsKLSAgICBpZiAobV9zb3VyY2UgPT0gTmV0
d29ya01lc3NhZ2VTb3VyY2UgJiYgIW1fcmVxdWVzdElkLmlzRW1wdHkoKSkKKworICAgIGlmICht
X3NvdXJjZSA9PSBNZXNzYWdlU291cmNlOjpOZXR3b3JrICYmICFtX3JlcXVlc3RJZC5pc0VtcHR5
KCkpCiAgICAgICAgIGpzb25PYmotPnNldE5ldHdvcmtSZXF1ZXN0SWQobV9yZXF1ZXN0SWQpOwor
CiAgICAgaWYgKG1fYXJndW1lbnRzICYmIG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCkpIHsK
ICAgICAgICAgSW5qZWN0ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHQgPSBpbmplY3RlZFNjcmlwdE1h
bmFnZXItPmluamVjdGVkU2NyaXB0Rm9yKG1fYXJndW1lbnRzLT5nbG9iYWxTdGF0ZSgpKTsKICAg
ICAgICAgaWYgKCFpbmplY3RlZFNjcmlwdC5oYXNOb1ZhbHVlKCkpIHsKICAgICAgICAgICAgIFJl
ZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5cGVCdWlsZGVy
OjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+PiBqc29uQXJncyA9IEluc3BlY3Rvcjo6VHlwZUJ1aWxk
ZXI6OkFycmF5PEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD46
OmNyZWF0ZSgpOwotICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBUYWJsZU1lc3NhZ2VUeXBlICYm
IGdlbmVyYXRlUHJldmlldyAmJiBtX2FyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgpKSB7CisgICAg
ICAgICAgICBpZiAobV90eXBlID09IE1lc3NhZ2VUeXBlOjpUYWJsZSAmJiBnZW5lcmF0ZVByZXZp
ZXcgJiYgbV9hcmd1bWVudHMtPmFyZ3VtZW50Q291bnQoKSkgewogICAgICAgICAgICAgICAgIERl
cHJlY2F0ZWQ6OlNjcmlwdFZhbHVlIHRhYmxlID0gbV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoMCk7
CiAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUgY29sdW1ucyA9IG1fYXJn
dW1lbnRzLT5hcmd1bWVudENvdW50KCkgPiAxID8gbV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoMSkg
OiBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSgpOwogICAgICAgICAgICAgICAgIFJlZlB0cjxJbnNw
ZWN0b3I6OlR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+IGluc3BlY3RvclZhbHVl
ID0gaW5qZWN0ZWRTY3JpcHQud3JhcFRhYmxlKHRhYmxlLCBjb2x1bW5zKTsKQEAgLTIyOCw4ICsy
MjcsMTAgQEAgdm9pZCBDb25zb2xlTWVzc2FnZTo6YWRkVG9Gcm9udGVuZChJbnNwZWN0b3JDb25z
b2xlRnJvbnRlbmREaXNwYXRjaGVyKiBjb25zb2xlRnIKICAgICAgICAgICAgIGpzb25PYmotPnNl
dFBhcmFtZXRlcnMoanNvbkFyZ3MpOwogICAgICAgICB9CiAgICAgfQorCiAgICAgaWYgKG1fY2Fs
bFN0YWNrKQogICAgICAgICBqc29uT2JqLT5zZXRTdGFja1RyYWNlKG1fY2FsbFN0YWNrLT5idWls
ZEluc3BlY3RvckFycmF5KCkpOworCiAgICAgY29uc29sZUZyb250ZW5kRGlzcGF0Y2hlci0+bWVz
c2FnZUFkZGVkKGpzb25PYmopOwogfQogCkBAIC0yNDMsNiArMjQ0LDcgQEAgYm9vbCBDb25zb2xl
TWVzc2FnZTo6aXNFcXVhbChDb25zb2xlTWVzc2FnZSogbXNnKSBjb25zdAogICAgIGlmIChtX2Fy
Z3VtZW50cykgewogICAgICAgICBpZiAoIW1fYXJndW1lbnRzLT5pc0VxdWFsKG1zZy0+bV9hcmd1
bWVudHMuZ2V0KCkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIC8vIE5l
dmVyIHRyZWF0IG9iamVjdHMgYXMgZXF1YWwgLSB0aGVpciBwcm9wZXJ0aWVzIG1pZ2h0IGNoYW5n
ZSBvdmVyIHRpbWUuCiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9hcmd1bWVudHMt
PmFyZ3VtZW50Q291bnQoKTsgKytpKSB7CiAgICAgICAgICAgICBpZiAobV9hcmd1bWVudHMtPmFy
Z3VtZW50QXQoaSkuaXNPYmplY3QoKSkKQEAgLTI2NywyNCArMjY5LDI3IEBAIGJvb2wgQ29uc29s
ZU1lc3NhZ2U6OmlzRXF1YWwoQ29uc29sZU1lc3NhZ2UqIG1zZykgY29uc3QKICAgICAgICAgJiYg
bXNnLT5tX3JlcXVlc3RJZCA9PSBtX3JlcXVlc3RJZDsKIH0KIAotdm9pZCBDb25zb2xlTWVzc2Fn
ZTo6d2luZG93Q2xlYXJlZChET01XaW5kb3cqIHdpbmRvdykKK3ZvaWQgQ29uc29sZU1lc3NhZ2U6
OnNjcmlwdFN0YXRlQ2xlYXJlZChKU0M6OkV4ZWNTdGF0ZSogZXhlY1N0YXRlKQogewogICAgIGlm
ICghbV9hcmd1bWVudHMpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoZG9tV2luZG93RnJvbUV4
ZWNTdGF0ZShtX2FyZ3VtZW50cy0+Z2xvYmFsU3RhdGUoKSkgIT0gd2luZG93KQorCisgICAgaWYg
KG1fYXJndW1lbnRzLT5nbG9iYWxTdGF0ZSgpICE9IGV4ZWNTdGF0ZSkKICAgICAgICAgcmV0dXJu
OworCiAgICAgaWYgKCFtX21lc3NhZ2UpCi0gICAgICAgIG1fbWVzc2FnZSA9ICI8bWVzc2FnZSBj
b2xsZWN0ZWQ+IjsKKyAgICAgICAgbV9tZXNzYWdlID0gQVNDSUlMaXRlcmFsKCI8bWVzc2FnZSBj
b2xsZWN0ZWQ+Iik7CiAgICAgbV9hcmd1bWVudHMuY2xlYXIoKTsKIH0KIAotdW5zaWduZWQgQ29u
c29sZU1lc3NhZ2U6OmFyZ3VtZW50Q291bnQoKQordW5zaWduZWQgQ29uc29sZU1lc3NhZ2U6OmFy
Z3VtZW50Q291bnQoKSBjb25zdAogewogICAgIGlmIChtX2FyZ3VtZW50cykKICAgICAgICAgcmV0
dXJuIG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCk7CisKICAgICByZXR1cm4gMDsKIH0KIAot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRp
ZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0Nv
bnNvbGVNZXNzYWdlLmgKc2ltaWxhcml0eSBpbmRleCA4NCUKcmVuYW1lIGZyb20gU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCAxYTFlYWExLi45ODQ1MmIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAg
LTMxLDI3ICszMSwyNSBAQAogI2lmbmRlZiBDb25zb2xlTWVzc2FnZV9oCiAjZGVmaW5lIENvbnNv
bGVNZXNzYWdlX2gKIAotI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgorI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCisKICNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJJbnNwZWN0
b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCi0jaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKKyNp
bmNsdWRlICJJbnNwZWN0b3JKU0Zyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpTQyB7Citj
bGFzcyBFeGVjU3RhdGU7Cit9CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgeworCiBjbGFzcyBJbmpl
Y3RlZFNjcmlwdE1hbmFnZXI7Ci1jbGFzcyBJbnNwZWN0b3JPYmplY3Q7Ci19Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotY2xhc3MgRE9NV2luZG93OwogY2xhc3MgU2NyaXB0QXJndW1lbnRzOwot
Y2xhc3MgU2NyaXB0Q2FsbEZyYW1lOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogCi1jbGFzcyBD
b25zb2xlTWVzc2FnZSB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2Up
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIENvbnNv
bGVNZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2FnZSk7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29uc29sZU1lc3NhZ2Uo
Ym9vbCBjYW5HZW5lcmF0ZUNhbGxTdGFjaywgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJ
ZGVudGlmaWVyID0gMCk7CiAgICAgQ29uc29sZU1lc3NhZ2UoYm9vbCBjYW5HZW5lcmF0ZUNhbGxT
dGFjaywgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHVybCwgdW5zaWduZWQgbGluZSwgdW5zaWduZWQg
Y29sdW1uLCBKU0M6OkV4ZWNTdGF0ZSogPSBudWxscHRyLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJ
ZGVudGlmaWVyID0gMCk7CkBAIC01OSwxOCArNTcsMjAgQEAgcHVibGljOgogICAgIENvbnNvbGVN
ZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VU
eXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+LCBKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50
aWZpZXIgPSAwKTsKICAgICB+Q29uc29sZU1lc3NhZ2UoKTsKIAotICAgIHZvaWQgYWRkVG9Gcm9u
dGVuZChJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXIqLCBJbnNw
ZWN0b3I6OkluamVjdGVkU2NyaXB0TWFuYWdlciosIGJvb2wgZ2VuZXJhdGVQcmV2aWV3KTsKLSAg
ICB2b2lkIHVwZGF0ZVJlcGVhdENvdW50SW5Db25zb2xlKEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29u
c29sZUZyb250ZW5kRGlzcGF0Y2hlciopOwotICAgIHZvaWQgaW5jcmVtZW50Q291bnQoKSB7ICsr
bV9yZXBlYXRDb3VudDsgfQotICAgIGJvb2wgaXNFcXVhbChDb25zb2xlTWVzc2FnZSogbXNnKSBj
b25zdDsKKyAgICB2b2lkIGFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yQ29uc29sZUZyb250ZW5kRGlz
cGF0Y2hlciosIEluamVjdGVkU2NyaXB0TWFuYWdlciosIGJvb2wgZ2VuZXJhdGVQcmV2aWV3KTsK
KyAgICB2b2lkIHVwZGF0ZVJlcGVhdENvdW50SW5Db25zb2xlKEluc3BlY3RvckNvbnNvbGVGcm9u
dGVuZERpc3BhdGNoZXIqKTsKIAogICAgIE1lc3NhZ2VTb3VyY2Ugc291cmNlKCkgY29uc3QgeyBy
ZXR1cm4gbV9zb3VyY2U7IH0KICAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UoKSBjb25zdCB7IHJl
dHVybiBtX21lc3NhZ2U7IH0KICAgICBNZXNzYWdlVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4g
bV90eXBlOyB9CiAKLSAgICB2b2lkIHdpbmRvd0NsZWFyZWQoRE9NV2luZG93Kik7CisgICAgdm9p
ZCBpbmNyZW1lbnRDb3VudCgpIHsgKyttX3JlcGVhdENvdW50OyB9CiAKLSAgICB1bnNpZ25lZCBh
cmd1bWVudENvdW50KCk7CisgICAgdW5zaWduZWQgYXJndW1lbnRDb3VudCgpIGNvbnN0OworCisg
ICAgYm9vbCBpc0VxdWFsKENvbnNvbGVNZXNzYWdlKiBtc2cpIGNvbnN0OworCisgICAgdm9pZCBz
Y3JpcHRTdGF0ZUNsZWFyZWQoSlNDOjpFeGVjU3RhdGUqKTsKIAogcHJpdmF0ZToKICAgICB2b2lk
IGF1dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhl
Y1N0YXRlKiA9IG51bGxwdHIpOwpAQCAtODgsNiArODgsOCBAQCBwcml2YXRlOgogICAgIFN0cmlu
ZyBtX3JlcXVlc3RJZDsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gQ29uc29sZU1lc3NhZ2VfaAorCisjZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b25zb2xlQVBJVHlwZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29s
ZVR5cGVzLmgKc2ltaWxhcml0eSBpbmRleCA2NCUKY29weSBmcm9tIFNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKaW5kZXggMTFmNjVlYy4uMWM5NDA5ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKQEAgLTEsNCArMSw1IEBA
CiAvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dApAQCAtMjIsMjcgKzIzLDUyIEBACiAgKiBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0j
aWZuZGVmIENvbnNvbGVBUElUeXBlc19oCi0jZGVmaW5lIENvbnNvbGVBUElUeXBlc19oCisjaWZu
ZGVmIENvbnNvbGVUeXBlc19oCisjZGVmaW5lIENvbnNvbGVUeXBlc19oCiAKLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCi1lbnVtIE1lc3NhZ2VUeXBlIHsKLSAg
ICBMb2dNZXNzYWdlVHlwZSwKLSAgICBEaXJNZXNzYWdlVHlwZSwKLSAgICBEaXJYTUxNZXNzYWdl
VHlwZSwKLSAgICBUYWJsZU1lc3NhZ2VUeXBlLAotICAgIFRyYWNlTWVzc2FnZVR5cGUsCi0gICAg
U3RhcnRHcm91cE1lc3NhZ2VUeXBlLAotICAgIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlw
ZSwKLSAgICBFbmRHcm91cE1lc3NhZ2VUeXBlLAotICAgIENsZWFyTWVzc2FnZVR5cGUsCi0gICAg
QXNzZXJ0TWVzc2FnZVR5cGUsCi0gICAgVGltaW5nTWVzc2FnZVR5cGUsCi0gICAgUHJvZmlsZU1l
c3NhZ2VUeXBlLAotICAgIFByb2ZpbGVFbmRNZXNzYWdlVHlwZQorZW51bSBjbGFzcyBNZXNzYWdl
U291cmNlIHsKKyAgICBYTUwsCisgICAgSlMsCisgICAgTmV0d29yaywKKyAgICBDb25zb2xlQVBJ
LAorICAgIFN0b3JhZ2UsCisgICAgQXBwQ2FjaGUsCisgICAgUmVuZGVyaW5nLAorICAgIENTUywK
KyAgICBTZWN1cml0eSwKKyAgICBPdGhlciwKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
K2VudW0gY2xhc3MgTWVzc2FnZVR5cGUgeworICAgIExvZywKKyAgICBEaXIsCisgICAgRGlyWE1M
LAorICAgIFRhYmxlLAorICAgIFRyYWNlLAorICAgIFN0YXJ0R3JvdXAsCisgICAgU3RhcnRHcm91
cENvbGxhcHNlZCwKKyAgICBFbmRHcm91cCwKKyAgICBDbGVhciwKKyAgICBBc3NlcnQsCisgICAg
VGltaW5nLAorICAgIFByb2ZpbGUsCisgICAgUHJvZmlsZUVuZCwKK307CisKK2VudW0gY2xhc3Mg
TWVzc2FnZUxldmVsIHsKKyAgICBMb2cgPSAxLAorICAgIFdhcm5pbmcgPSAyLAorICAgIEVycm9y
ID0gMywKKyAgICBEZWJ1ZyA9IDQsCit9OworCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKKwor
Ly8gVGhlc2Ugd2lsbCBsaWtlbHkgbW92ZSBvdXQgb2YgdGhlIGluc3BlY3RvciBuYW1lc3BhY2Uu
Cit1c2luZyBJbnNwZWN0b3I6Ok1lc3NhZ2VTb3VyY2U7Cit1c2luZyBJbnNwZWN0b3I6Ok1lc3Nh
Z2VUeXBlOwordXNpbmcgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWw7CiAKLSNlbmRpZiAvLyBDb25z
b2xlQVBJVHlwZXNfaAorI2VuZGlmIC8vIENvbnNvbGVUeXBlc19oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcApzaW1pbGFyaXR5IGlu
ZGV4IDkzJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNG
YWN0b3J5LmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JZGVu
dGlmaWVyc0ZhY3RvcnkuY3BwCmluZGV4IGRjZTJhMjguLjRmYmIzMzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcApAQCAtMSw0
ICsxLDUgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMjQsMjkgKzI1LDI1IEBACiAgKi8KIAog
I2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUg
IklkZW50aWZpZXJzRmFjdG9yeS5oIgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAKIG5hbWVzcGFjZSB7CiBzdGF0aWMgbG9uZyBzX2xhc3RVc2Vk
SWRlbnRpZmllciA9IDA7CiB9CiAKLS8vIHN0YXRpYwotbG9uZyBJZGVudGlmaWVyc0ZhY3Rvcnk6
OnNfcHJvY2Vzc0lkOworbG9uZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnNfcHJvY2Vzc0lkID0gMDsK
IAotLy8gc3RhdGljCiBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVy
KCkKIHsKICAgICByZXR1cm4gYWRkUHJvY2Vzc0lkUHJlZml4VG8oU3RyaW5nOjpudW1iZXIoKytz
X2xhc3RVc2VkSWRlbnRpZmllcikpOwogfQogCi0vLyBzdGF0aWMKIFN0cmluZyBJZGVudGlmaWVy
c0ZhY3Rvcnk6OnJlcXVlc3RJZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7CiAgICAgaWYg
KGlkZW50aWZpZXIpCkBAIC01NCw3ICs1MSw2IEBAIFN0cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6
OnJlcXVlc3RJZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiAgICAgcmV0dXJuIFN0cmluZygp
OwogfQogCi0vLyBzdGF0aWMKIFN0cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OmFkZFByb2Nlc3NJ
ZFByZWZpeFRvKGNvbnN0IFN0cmluZyYgaWQpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVy
OwpAQCAtNjQsNiArNjAsNiBAQCBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjphZGRQcm9jZXNz
SWRQcmVmaXhUbyhjb25zdCBTdHJpbmcmIGlkKQogICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5n
KCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3Rv
cgogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmgKc2ltaWxhcml0eSBpbmRleCA5NSUKcmVu
YW1lIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCnJl
bmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9y
eS5oCmluZGV4IGIxYTljNDguLmIyODRhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCkBAIC0yNiwyNCArMjYsMjUgQEAKICNpZm5k
ZWYgSWRlbnRpZmllcnNGYWN0b3J5X2gKICNkZWZpbmUgSWRlbnRpZmllcnNGYWN0b3J5X2gKIAot
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikK
IAotbmFtZXNwYWNlIFdlYkNvcmUgeworI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
Ci1jbGFzcyBJZGVudGlmaWVyc0ZhY3RvcnkgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CisKK2Ns
YXNzIEpTX0VYUE9SVF9QUklWQVRFIElkZW50aWZpZXJzRmFjdG9yeSB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIHZvaWQgc2V0UHJvY2Vzc0lkKGxvbmcgcHJvY2Vzc0lkKSB7IHNfcHJvY2Vzc0lkID0g
cHJvY2Vzc0lkOyB9CiAgICAgc3RhdGljIFN0cmluZyBjcmVhdGVJZGVudGlmaWVyKCk7CiAgICAg
c3RhdGljIFN0cmluZyByZXF1ZXN0SWQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKTsKKwogcHJp
dmF0ZToKICAgICBzdGF0aWMgU3RyaW5nIGFkZFByb2Nlc3NJZFByZWZpeFRvKGNvbnN0IFN0cmlu
ZyYgaWQpOwogCiAgICAgc3RhdGljIGxvbmcgc19wcm9jZXNzSWQ7CiB9OwogCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vICFkZWZp
bmVkKElkZW50aWZpZXJzRmFjdG9yeV9oKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAKaW5kZXggNDI0YTg3Zi4uNzVkYmRiNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkluc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9i
amVjdENvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2Vu
dC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmgiCiAKQEAgLTUzLDcg
KzU0LDExIEBAIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmpl
Y3RJbnNwZWN0b3JDb250cm9sbGVyKEpTR2xvYmFsT2JqCiAgICAgSW5zcGVjdG9yUnVudGltZUFn
ZW50KiBydW50aW1lQWdlbnQgPSBydW50aW1lQWdlbnRQdHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMu
YXBwZW5kKHN0ZDo6bW92ZShydW50aW1lQWdlbnRQdHIpKTsKIAotICAgIGF1dG8gZGVidWdnZXJB
Z2VudFB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50Piht
X2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSwgbV9nbG9iYWxPYmplY3QpOworICAgIGF1dG8g
Y29uc29sZUFnZW50UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxKU0dsb2JhbE9iamVjdENvbnNvbGVB
Z2VudD4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpOworICAgIEluc3BlY3RvckNvbnNv
bGVBZ2VudCogY29uc29sZUFnZW50ID0gY29uc29sZUFnZW50UHRyLmdldCgpOworICAgIG1fYWdl
bnRzLmFwcGVuZChzdGQ6Om1vdmUoY29uc29sZUFnZW50UHRyKSk7CisKKyAgICBhdXRvIGRlYnVn
Z2VyQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2Vu
dD4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCksIG1fZ2xvYmFsT2JqZWN0LCBjb25zb2xl
QWdlbnQpOwogICAgIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIGRlYnVnZ2VyQWdlbnQgPSBkZWJ1
Z2dlckFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUoZGVidWdn
ZXJBZ2VudFB0cikpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0QXJndW1lbnRzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0
QXJndW1lbnRzLmNwcApzaW1pbGFyaXR5IGluZGV4IDkwJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCmluZGV4IDllNjVmN2UuLjE1
ZjE0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVu
dHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1l
bnRzLmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQogICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKQEAgLTE0LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisg
KgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMTcg
KzMyLDE3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRz
LmgiCiAKLSNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgorI2luY2x1ZGUgIlNjcmlw
dFZhbHVlLmgiCiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3Igewog
CiBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gU2NyaXB0QXJndW1lbnRzOjpjcmVhdGUoSlND
OjpFeGVjU3RhdGUqIHNjcmlwdFN0YXRlLCBWZWN0b3I8RGVwcmVjYXRlZDo6U2NyaXB0VmFsdWU+
JiBhcmd1bWVudHMpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JpcHRBcmd1bWVudHMo
c2NyaXB0U3RhdGUsIGFyZ3VtZW50cykpOwogfQogCi1TY3JpcHRBcmd1bWVudHM6OlNjcmlwdEFy
Z3VtZW50cyhKU0M6OkV4ZWNTdGF0ZSogc2NyaXB0U3RhdGUsIFZlY3RvcjxEZXByZWNhdGVkOjpT
Y3JpcHRWYWx1ZT4mIGFyZ3VtZW50cykKLSAgICA6IG1fZ2xvYmFsT2JqZWN0KHNjcmlwdFN0YXRl
LT52bSgpLCBzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKQorU2NyaXB0QXJndW1l
bnRzOjpTY3JpcHRBcmd1bWVudHMoSlNDOjpFeGVjU3RhdGUqIGV4ZWNTdGF0ZSwgVmVjdG9yPERl
cHJlY2F0ZWQ6OlNjcmlwdFZhbHVlPiYgYXJndW1lbnRzKQorICAgIDogbV9nbG9iYWxPYmplY3Qo
ZXhlY1N0YXRlLT52bSgpLCBleGVjU3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKSkKIHsKICAg
ICBtX2FyZ3VtZW50cy5zd2FwKGFyZ3VtZW50cyk7CiB9CkBAIC02MCw2ICs2MSw3IEBAIEpTQzo6
RXhlY1N0YXRlKiBTY3JpcHRBcmd1bWVudHM6Omdsb2JhbFN0YXRlKCkgY29uc3QKIHsKICAgICBp
ZiAobV9nbG9iYWxPYmplY3QpCiAgICAgICAgIHJldHVybiBjb25zdF9jYXN0PEpTQzo6SlNHbG9i
YWxPYmplY3QqPihtX2dsb2JhbE9iamVjdC5nZXQoKSktPmdsb2JhbEV4ZWMoKTsKKwogICAgIHJl
dHVybiBudWxscHRyOwogfQogCkBAIC05NSw3ICs5Nyw4IEBAIGJvb2wgU2NyaXB0QXJndW1lbnRz
Ojppc0VxdWFsKFNjcmlwdEFyZ3VtZW50cyogb3RoZXIpIGNvbnN0CiAgICAgICAgIGlmICghbV9h
cmd1bWVudHNbaV0uaXNFcXVhbChvdGhlci0+Z2xvYmFsU3RhdGUoKSwgb3RoZXItPm1fYXJndW1l
bnRzW2ldKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CisKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVj
dG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oCnNp
bWlsYXJpdHkgaW5kZXggOTAlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9T
Y3JpcHRBcmd1bWVudHMuaApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9TY3JpcHRBcmd1bWVudHMuaAppbmRleCA0N2E5NjIzLi41MzM3ZTAxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaApAQCAtMSw0ICsxLDUgQEAK
IC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CkBAIC00NiwxMiArNDcsMTEgQEAgY2xhc3MgRXhlY1N0YXRlOwog
Y2xhc3MgSlNHbG9iYWxPYmplY3Q7CiB9CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFj
ZSBJbnNwZWN0b3IgewogCi1jbGFzcyBTY3JpcHRBcmd1bWVudHMgOiBwdWJsaWMgUmVmQ291bnRl
ZDxTY3JpcHRBcmd1bWVudHM+IHsKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFNjcmlwdEFyZ3Vt
ZW50cyA6IHB1YmxpYyBSZWZDb3VudGVkPFNjcmlwdEFyZ3VtZW50cz4gewogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gY3JlYXRlKEpTQzo6RXhlY1N0YXRl
KiwgVmVjdG9yPERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlPiYgYXJndW1lbnRzKTsKLQogICAgIH5T
Y3JpcHRBcmd1bWVudHMoKTsKIAogICAgIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBh
cmd1bWVudEF0KHNpemVfdCkgY29uc3Q7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKIAogICAg
IEpTQzo6RXhlY1N0YXRlKiBnbG9iYWxTdGF0ZSgpIGNvbnN0OwogCi0gICAgYm9vbCBnZXRGaXJz
dEFyZ3VtZW50QXNTdHJpbmcoV1RGOjpTdHJpbmcmIHJlc3VsdCwgYm9vbCBjaGVja0Zvck51bGxP
clVuZGVmaW5lZCA9IGZhbHNlKTsKKyAgICBib29sIGdldEZpcnN0QXJndW1lbnRBc1N0cmluZyhT
dHJpbmcmIHJlc3VsdCwgYm9vbCBjaGVja0Zvck51bGxPclVuZGVmaW5lZCA9IGZhbHNlKTsKICAg
ICBib29sIGlzRXF1YWwoU2NyaXB0QXJndW1lbnRzKikgY29uc3Q7CiAKIHByaXZhdGU6CkBAIC02
OSw2ICs2OSw2IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVl
PiBtX2FyZ3VtZW50czsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gU2NyaXB0QXJndW1lbnRzX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCnNpbWlsYXJpdHkgaW5k
ZXggOTIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJh
bWUuY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENh
bGxGcmFtZS5jcHAKaW5kZXggNjljMjhmOS4uYzdhODIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCkBAIC0xLDEwICsxLDExIEBACiAv
KgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqIENvcHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICogCisgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAgKiBtZXQ6Ci0gKiAKKyAq
CiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAogICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQpAQCAtMTQsNyArMTUsNyBAQAogICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cwogICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAogICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCkBAIC0zMSwxMyArMzIsMTAgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKIAotI2luY2x1ZGUgIkluc3BlY3Rvcldl
YkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFs
dWVzLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgIkluc3BlY3RvclZhbHVl
cy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBJbnNw
ZWN0b3I7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBT
Y3JpcHRDYWxsRnJhbWU6OlNjcmlwdENhbGxGcmFtZShjb25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFt
ZSwgY29uc3QgU3RyaW5nJiBzY3JpcHROYW1lLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25l
ZCBjb2x1bW4pCiAgICAgOiBtX2Z1bmN0aW9uTmFtZShmdW5jdGlvbk5hbWUpCkBAIC03MSw0ICs2
OSw0IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q2FsbEZy
YW1lPiBTY3JpcHRDYWxsRnJhbWU6OmJ1aWxkSW5zCiB9CiAjZW5kaWYKIAotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oCnNpbWlsYXJpdHkgaW5kZXggOTMlCnJlbmFt
ZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaApyZW5hbWUg
dG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaAppbmRl
eCBkNmRjZmEzLi4wMDUyNGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbEZyYW1lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9T
Y3JpcHRDYWxsRnJhbWUuaApAQCAtMSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQogICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKQEAgLTE0LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgotICogCisgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpA
QCAtMzEsMjAgKzMyLDE2IEBACiAjaWZuZGVmIFNjcmlwdENhbGxGcmFtZV9oCiAjZGVmaW5lIFNj
cmlwdENhbGxGcmFtZV9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIkluc3Bl
Y3RvcldlYlR5cGVCdWlsZGVycy5oIgotI2VuZGlmCi0KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgRU5BQkxFKElOU1BFQ1RP
UikKKyNpbmNsdWRlICJJbnNwZWN0b3JKU1R5cGVCdWlsZGVycy5oIgorI2VuZGlmCisKIG5hbWVz
cGFjZSBJbnNwZWN0b3IgewotY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwotfQogCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLWNsYXNzIFNjcmlwdENhbGxGcmFtZSAgeworY2xhc3MgSlNfRVhQT1JUX1BS
SVZBVEUgU2NyaXB0Q2FsbEZyYW1lICB7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FsbEZyYW1lKGNv
bnN0IFN0cmluZyYgZnVuY3Rpb25OYW1lLCBjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbik7CiAgICAgflNjcmlwdENhbGxGcmFtZSgp
OwpAQCAtNjcsNiArNjQsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY29sdW1uOwogfTsK
IAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNl
bmRpZiAvLyBTY3JpcHRDYWxsRnJhbWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL1NjcmlwdENhbGxTdGFjay5jcHAKc2ltaWxhcml0eSBpbmRleCA5MiUKcmVuYW1lIGZyb20g
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKcmVuYW1lIHRvIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcAppbmRleCBj
NGFmMWI0Li4yZGQyODVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbFN0YWNrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1Nj
cmlwdENhbGxTdGFjay5jcHAKQEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAy
MDA4LCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogCisgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCiAgKiBtZXQ6Ci0gKiAKKyAqCiAgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAog
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgogICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQpAQCAtMTQsNyArMTUsNyBAQAogICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
ICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CkBAIC0zMSwxMiArMzIsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcmlw
dENhbGxTdGFjay5oIgogCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViVHlwZUJ1aWxkZXJzLmgiCi0j
aW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUgIkluc3BlY3Rv
clZhbHVlcy5oIgogCi11c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7CituYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBmcmFt
ZXMpCiB7CkBAIC01Miw3ICs1MCw3IEBAIFNjcmlwdENhbGxTdGFjazo6flNjcmlwdENhbGxTdGFj
aygpCiB7CiB9CiAKLWNvbnN0IFNjcmlwdENhbGxGcmFtZSAmU2NyaXB0Q2FsbFN0YWNrOjphdChz
aXplX3QgaW5kZXgpIGNvbnN0Citjb25zdCBTY3JpcHRDYWxsRnJhbWUmIFNjcmlwdENhbGxTdGFj
azo6YXQoc2l6ZV90IGluZGV4KSBjb25zdAogewogICAgIEFTU0VSVChtX2ZyYW1lcy5zaXplKCkg
PiBpbmRleCk7CiAgICAgcmV0dXJuIG1fZnJhbWVzW2luZGV4XTsKQEAgLTkwLDQgKzg4LDQgQEAg
UGFzc1JlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5cGVC
dWlsZGVyOjpDb25zb2xlOjpDYWxsRnIKIH0KICNlbmRpZgogCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKc2ltaWxhcml0eSBpbmRleCA4OSUKcmVuYW1lIGZyb20g
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCnJlbmFtZSB0byBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCmluZGV4IDE5NzVk
YTVjLi5kZGFhMmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0
Q2FsbFN0YWNrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRD
YWxsU3RhY2suaApAQCAtMSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDgsIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQogICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKQEAgLTE0LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgotICogCisgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpA
QCAtMzEsMTggKzMyLDE4IEBACiAjaWZuZGVmIFNjcmlwdENhbGxTdGFja19oCiAjZGVmaW5lIFNj
cmlwdENhbGxTdGFja19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIkluc3Bl
Y3RvcldlYlR5cGVCdWlsZGVycy5oIgotI2VuZGlmCi0KICNpbmNsdWRlICJTY3JpcHRDYWxsRnJh
bWUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYg
RU5BQkxFKElOU1BFQ1RPUikKKyNpbmNsdWRlICJJbnNwZWN0b3JKU1R5cGVCdWlsZGVycy5oIgor
I2VuZGlmCiAKLWNsYXNzIFNjcmlwdENhbGxTdGFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFNjcmlw
dENhbGxTdGFjaz4geworbmFtZXNwYWNlIEluc3BlY3RvciB7CisKK2NsYXNzIEpTX0VYUE9SVF9Q
UklWQVRFIFNjcmlwdENhbGxTdGFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFNjcmlwdENhbGxTdGFj
az4gewogcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRv
Q2FwdHVyZSA9IDIwMDsKICAgICAKQEAgLTUwLDcgKzUxLDcgQEAgcHVibGljOgogCiAgICAgflNj
cmlwdENhbGxTdGFjaygpOwogCi0gICAgY29uc3QgU2NyaXB0Q2FsbEZyYW1lICZhdChzaXplX3Qp
IGNvbnN0OworICAgIGNvbnN0IFNjcmlwdENhbGxGcmFtZSYgYXQoc2l6ZV90KSBjb25zdDsKICAg
ICBzaXplX3Qgc2l6ZSgpIGNvbnN0OwogCiAgICAgYm9vbCBpc0VxdWFsKFNjcmlwdENhbGxTdGFj
ayopIGNvbnN0OwpAQCAtNjUsNiArNjYsNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxTY3JpcHRD
YWxsRnJhbWU+IG1fZnJhbWVzOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBu
YW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBTY3JpcHRDYWxsU3RhY2tfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuY3BwCnNpbWlsYXJpdHkgaW5kZXggNjklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCmluZGV4IDdk
Njk1YTQuLjNiMTNkZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAKQEAgLTEsMTEgKzEsMTIgQEAKIC8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICog
Q29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICAqIG1l
dDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xNSw3ICsx
Niw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
ICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMyLDc4ICszMywzMCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKIAotI2lu
Y2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgIkpTRE9NQmluZGlu
Zy5oIgotI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgorI2luY2x1ZGUgIkFyZ0xp
c3QuaCIKKyNpbmNsdWRlICJDYWxsRnJhbWUuaCIKKyNpbmNsdWRlICJDYWxsRnJhbWVJbmxpbmVz
LmgiCisjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIK
ICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRW
YWx1ZS5oPgotI2luY2x1ZGUgPGludGVycHJldGVyL0NhbGxGcmFtZS5oPgotI2luY2x1ZGUgPGlu
dGVycHJldGVyL0NhbGxGcmFtZUlubGluZXMuaD4KLSNpbmNsdWRlIDxpbnRlcnByZXRlci9TdGFj
a1Zpc2l0b3IuaD4KLSNpbmNsdWRlIDxydW50aW1lL0FyZ0xpc3QuaD4KLSNpbmNsdWRlIDxydW50
aW1lL0pTQ0pTVmFsdWUuaD4KLSNpbmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24uaD4KLSNpbmNs
dWRlIDxydW50aW1lL1ZNLmg+CisjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJT
dGFja1Zpc2l0b3IuaCIKKyNpbmNsdWRlICJWTS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
QXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNw
YWNlIEpTQzsKIAotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OworbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIGNsYXNzIENyZWF0ZVNjcmlwdENhbGxT
dGFja0Z1bmN0b3IgewogcHVibGljOgotICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3Io
VmVjdG9yPFNjcmlwdENhbGxGcmFtZT4mIGZyYW1lcywgIHNpemVfdCByZW1haW5pbmdDYXBhY2l0
eSkKLSAgICAgICAgOiBtX2ZyYW1lcyhmcmFtZXMpCi0gICAgICAgICwgbV9yZW1haW5pbmdDYXBh
Y2l0eUZvckZyYW1lQ2FwdHVyZShyZW1haW5pbmdDYXBhY2l0eSkKLSAgICB7Ci0gICAgfQotCi0g
ICAgU3RhY2tWaXNpdG9yOjpTdGF0dXMgb3BlcmF0b3IoKShTdGFja1Zpc2l0b3ImIHZpc2l0b3Ip
Ci0gICAgewotICAgICAgICBpZiAobV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZSkg
ewotICAgICAgICAgICAgdW5zaWduZWQgbGluZTsKLSAgICAgICAgICAgIHVuc2lnbmVkIGNvbHVt
bjsKLSAgICAgICAgICAgIHZpc2l0b3ItPmNvbXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUsIGNvbHVt
bik7Ci0gICAgICAgICAgICBtX2ZyYW1lcy5hcHBlbmQoU2NyaXB0Q2FsbEZyYW1lKHZpc2l0b3It
PmZ1bmN0aW9uTmFtZSgpLCB2aXNpdG9yLT5zb3VyY2VVUkwoKSwgbGluZSwgY29sdW1uKSk7Ci0K
LSAgICAgICAgICAgIG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUtLTsKLSAgICAg
ICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAg
IHJldHVybiBTdGFja1Zpc2l0b3I6OkRvbmU7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFZlY3Rv
cjxTY3JpcHRDYWxsRnJhbWU+JiBtX2ZyYW1lczsKLSAgICBzaXplX3QgbV9yZW1haW5pbmdDYXBh
Y2l0eUZvckZyYW1lQ2FwdHVyZTsKLX07Ci0KLVBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBj
cmVhdGVTY3JpcHRDYWxsU3RhY2soc2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0eUlzQWxs
b3dlZCkKLXsKLSAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBmcmFtZXM7Ci0gICAgaWYgKEpT
Qzo6RXhlY1N0YXRlKiBleGVjID0gSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUo
KSkgewotICAgICAgICBDYWxsRnJhbWUqIGZyYW1lID0gZXhlYy0+dm0oKS50b3BDYWxsRnJhbWU7
Ci0gICAgICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IgZnVuY3RvcihmcmFtZXMsIG1h
eFN0YWNrU2l6ZSk7Ci0gICAgICAgIGZyYW1lLT5pdGVyYXRlKGZ1bmN0b3IpOwotICAgIH0KLSAg
ICBpZiAoZnJhbWVzLmlzRW1wdHkoKSAmJiAhZW1wdHlJc0FsbG93ZWQpIHsKLSAgICAgICAgLy8g
Tm8gZnJhbWVzIGZvdW5kLiBJdCBtYXkgaGFwcGVuIGluIHRoZSBjYXNlIHdoZXJlCi0gICAgICAg
IC8vIGEgYm91bmQgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gbmF0aXZlIGNvZGUgZm9yIGV4YW1w
bGUuCi0gICAgICAgIC8vIEZhbGxiYWNrIHRvIHNldHRpbmcgbGluZU51bWJlciB0byAwLCBhbmQg
c291cmNlIGFuZCBmdW5jdGlvbiBuYW1lIHRvICJ1bmRlZmluZWQiLgotICAgICAgICBmcmFtZXMu
YXBwZW5kKFNjcmlwdENhbGxGcmFtZSgidW5kZWZpbmVkIiwgInVuZGVmaW5lZCIsIDAsIDApKTsK
LSAgICB9Ci0gICAgcmV0dXJuIFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGZyYW1lcyk7Ci19Ci0K
LWNsYXNzIENyZWF0ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGVGdW5jdG9yIHsKLXB1YmxpYzoK
LSAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlRnVuY3Rvcihib29sIG5lZWRUb1Nr
aXBBRnJhbWUsICBzaXplX3QgcmVtYWluaW5nQ2FwYWNpdHksIFZlY3RvcjxTY3JpcHRDYWxsRnJh
bWU+JiBmcmFtZXMpCisgICAgQ3JlYXRlU2NyaXB0Q2FsbFN0YWNrRnVuY3Rvcihib29sIG5lZWRU
b1NraXBBRnJhbWUsIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBmcmFtZXMsIHNpemVfdCByZW1h
aW5pbmdDYXBhY2l0eSkKICAgICAgICAgOiBtX25lZWRUb1NraXBBRnJhbWUobmVlZFRvU2tpcEFG
cmFtZSkKLSAgICAgICAgLCBtX3JlbWFpbmluZ0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlKHJlbWFp
bmluZ0NhcGFjaXR5KQogICAgICAgICAsIG1fZnJhbWVzKGZyYW1lcykKKyAgICAgICAgLCBtX3Jl
bWFpbmluZ0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlKHJlbWFpbmluZ0NhcGFjaXR5KQogICAgIHsK
ICAgICB9CiAKQEAgLTExNSwxMiArNjgsNiBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAogICAgICAg
ICBpZiAobV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZSkgewotICAgICAgICAgICAg
Ly8gVGhpcyBlYXJseSBleGl0IGlzIG5lY2Vzc2FyeSB0byBtYWludGFpbiBvdXIgb2xkIGJlaGF2
aW91cgotICAgICAgICAgICAgLy8gYnV0IHRoZSBzdGFjayB0cmFjZSB3ZSBwcm9kdWNlIG5vdyBp
cyBjb21wbGV0ZSBhbmQgaGFuZGxlcyBhbGwKLSAgICAgICAgICAgIC8vIHdheXMgaW4gd2hpY2gg
Y29kZSBtYXkgYmUgcnVubmluZwotICAgICAgICAgICAgaWYgKCF2aXNpdG9yLT5jYWxsZWUoKSAm
JiBtX2ZyYW1lcy5zaXplKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFN0YWNrVmlzaXRvcjo6
RG9uZTsKLQogICAgICAgICAgICAgdW5zaWduZWQgbGluZTsKICAgICAgICAgICAgIHVuc2lnbmVk
IGNvbHVtbjsKICAgICAgICAgICAgIHZpc2l0b3ItPmNvbXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUs
IGNvbHVtbik7CkBAIC0xMjksMjkgKzc2LDU4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fcmVt
YWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUtLTsKICAgICAgICAgICAgIHJldHVybiBTdGFj
a1Zpc2l0b3I6OkNvbnRpbnVlOwogICAgICAgICB9CisKICAgICAgICAgcmV0dXJuIFN0YWNrVmlz
aXRvcjo6RG9uZTsKICAgICB9CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX25lZWRUb1NraXBBRnJh
bWU7Ci0gICAgc2l6ZV90IG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmU7CiAgICAg
VmVjdG9yPFNjcmlwdENhbGxGcmFtZT4mIG1fZnJhbWVzOworICAgIHNpemVfdCBtX3JlbWFpbmlu
Z0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlOwogfTsKIAorUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90IG1h
eFN0YWNrU2l6ZSwgYm9vbCBlbXB0eUlzQWxsb3dlZCkKK3sKKyAgICBWZWN0b3I8U2NyaXB0Q2Fs
bEZyYW1lPiBmcmFtZXM7CisKKyAgICBpZiAoZXhlYykgeworICAgICAgICBDYWxsRnJhbWUqIGZy
YW1lID0gZXhlYy0+dm0oKS50b3BDYWxsRnJhbWU7CisgICAgICAgIENyZWF0ZVNjcmlwdENhbGxT
dGFja0Z1bmN0b3IgZnVuY3RvcihmYWxzZSwgZnJhbWVzLCBtYXhTdGFja1NpemUpOworICAgICAg
ICBmcmFtZS0+aXRlcmF0ZShmdW5jdG9yKTsKKyAgICB9CisKKyAgICBpZiAoZnJhbWVzLmlzRW1w
dHkoKSAmJiAhZW1wdHlJc0FsbG93ZWQpIHsKKyAgICAgICAgLy8gTm8gZnJhbWVzIGZvdW5kLiBJ
dCBtYXkgaGFwcGVuIGluIHRoZSBjYXNlIHdoZXJlCisgICAgICAgIC8vIGEgYm91bmQgZnVuY3Rp
b24gaXMgY2FsbGVkIGZyb20gbmF0aXZlIGNvZGUgZm9yIGV4YW1wbGUuCisgICAgICAgIC8vIEZh
bGxiYWNrIHRvIHNldHRpbmcgbGluZU51bWJlciB0byAwLCBhbmQgc291cmNlIGFuZCBmdW5jdGlv
biBuYW1lIHRvICJ1bmRlZmluZWQiLgorICAgICAgICBmcmFtZXMuYXBwZW5kKFNjcmlwdENhbGxG
cmFtZShBU0NJSUxpdGVyYWwoInVuZGVmaW5lZCIpLCBBU0NJSUxpdGVyYWwoInVuZGVmaW5lZCIp
LCAwLCAwKSk7CisgICAgfQorCisgICAgcmV0dXJuIFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGZy
YW1lcyk7Cit9CisKIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxs
U3RhY2soSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBtYXhTdGFja1NpemUpCiB7CiAgICAg
VmVjdG9yPFNjcmlwdENhbGxGcmFtZT4gZnJhbWVzOwotICAgIEFTU0VSVChleGVjKTsKKwogICAg
IENhbGxGcmFtZSogZnJhbWUgPSBleGVjLT52bSgpLnRvcENhbGxGcmFtZTsKLSAgICBDcmVhdGVT
Y3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlRnVuY3RvciBmdW5jdG9yKHRydWUsIG1heFN0YWNrU2l6
ZSwgZnJhbWVzKTsKKyAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IodHJ1
ZSwgZnJhbWVzLCBtYXhTdGFja1NpemUpOwogICAgIGZyYW1lLT5pdGVyYXRlKGZ1bmN0b3IpOwor
CiAgICAgaWYgKGZyYW1lcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgQ3JlYXRlU2NyaXB0Q2FsbFN0
YWNrRm9yQ29uc29sZUZ1bmN0b3IgZnVuY3RvcihmYWxzZSwgbWF4U3RhY2tTaXplLCBmcmFtZXMp
OworICAgICAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IoZmFsc2UsIGZy
YW1lcywgbWF4U3RhY2tTaXplKTsKICAgICAgICAgZnJhbWUtPml0ZXJhdGUoZnVuY3Rvcik7CiAg
ICAgfQorCiAgICAgcmV0dXJuIFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGZyYW1lcyk7CiB9CiAK
K1Bhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25z
b2xlKEpTQzo6RXhlY1N0YXRlKiBleGVjKQoreworICAgIC8vIEZJWE1FOiBDYWxsZXIgc2hvdWxk
IHVzZSBjcmVhdGVTY3JpcHRDYWxsU3RhY2sgYWx0ZXJuYXRpdmUgd2l0aCB0aGUgZXhlYyBhbmQg
YXBwcm9wcmlhdGUgbWF4LgorICAgIHJldHVybiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soZXhlYywg
U2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlKTsKK30KKwogUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24o
SlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSYgZXhjZXB0aW9uLCBzaXplX3QgbWF4
U3RhY2tTaXplKQogewogICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+IGZyYW1lczsKQEAgLTE2
MCwxMCArMTM2LDEwIEBAIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRD
YWxsU3RhY2tGcm9tRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiBlCiAgICAgICAgIGlmICghc3Rh
Y2tUcmFjZVtpXS5jYWxsZWUgJiYgZnJhbWVzLnNpemUoKSkKICAgICAgICAgICAgIGJyZWFrOwog
Ci0gICAgICAgIFN0cmluZyBmdW5jdGlvbk5hbWUgPSBzdGFja1RyYWNlW2ldLmZyaWVuZGx5RnVu
Y3Rpb25OYW1lKGV4ZWMpOwogICAgICAgICB1bnNpZ25lZCBsaW5lOwogICAgICAgICB1bnNpZ25l
ZCBjb2x1bW47CiAgICAgICAgIHN0YWNrVHJhY2VbaV0uY29tcHV0ZUxpbmVBbmRDb2x1bW4obGlu
ZSwgY29sdW1uKTsKKyAgICAgICAgU3RyaW5nIGZ1bmN0aW9uTmFtZSA9IHN0YWNrVHJhY2VbaV0u
ZnJpZW5kbHlGdW5jdGlvbk5hbWUoZXhlYyk7CiAgICAgICAgIGZyYW1lcy5hcHBlbmQoU2NyaXB0
Q2FsbEZyYW1lKGZ1bmN0aW9uTmFtZSwgc3RhY2tUcmFjZVtpXS5zb3VyY2VVUkwsIGxpbmUsIGNv
bHVtbikpOwogICAgIH0KIApAQCAtMTg2LDE3ICsxNjIsNiBAQCBQYXNzUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRnJvbUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0
ZSogZQogICAgIHJldHVybiBTY3JpcHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOwogfQogCi1Q
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29s
ZShKU0M6OkV4ZWNTdGF0ZSogZXhlYykKLXsKLSAgICBzaXplX3QgbWF4U3RhY2tTaXplID0gMTsK
LSAgICBpZiAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSkgewotICAg
ICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0ID0ganND
YXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgICAgICBpZiAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpjb25zb2xlQWdlbnRFbmFibGVkKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKQotICAgICAg
ICAgICAgbWF4U3RhY2tTaXplID0gU2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9D
YXB0dXJlOwotICAgIH0KLSAgICByZXR1cm4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKGV4ZWMsIG1h
eFN0YWNrU2l6ZSk7Ci19Ci0KIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3Jp
cHRBcmd1bWVudHMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHNraXBBcmd1bWVudENv
dW50KQogewogICAgIFZlY3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4gYXJndW1lbnRzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFj
dG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmgKc2ltaWxhcml0eSBpbmRleCA2OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaAppbmRleCAyOThi
YmJkLi43Y2U5YzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICAqIG1ldDoKLSAqIAorICoKICAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xNCw3ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKQEAgLTMyLDI1ICszMywyNCBAQAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tGYWN0
b3J5X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWRBcnJheS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIEpT
VmFsdWU7Ci1zdHJ1Y3QgU3RhY2tGcmFtZTsKIH0KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKIGNsYXNzIFNjcmlw
dENhbGxTdGFjazsKIAotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENh
bGxTdGFjayhzaXplX3QgbWF4U3RhY2tTaXplLCBib29sIGVtcHR5U3RhY2tJc0FsbG93ZWQpOwot
UGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU0M6OkV4
ZWNTdGF0ZSosIHNpemVfdCBtYXhTdGFja1NpemUpOwotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBK
U0M6OkpTVmFsdWUmIGV4Y2VwdGlvbiwgc2l6ZV90IG1heFN0YWNrU2l6ZSk7Ci1QYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4
ZWNTdGF0ZSopOwotUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGNyZWF0ZVNjcmlwdEFyZ3Vt
ZW50cyhKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIHNraXBBcmd1bWVudENvdW50KTsKKy8vIEZJ
WE1FOiBUaGUgc3VidGxlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlc2Ugc2hvdWxkIGJlIGVsaW1p
bmF0ZWQuCitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrKEpTQzo6RXhlY1N0YXRlKiwgc2l6ZV90IG1heFN0YWNrU2l6ZSwg
Ym9vbCBlbXB0eUlzQWxsb3dlZCk7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlw
dENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTQzo6RXhlY1N0YXRlKiwgc2l6ZV90
IG1heFN0YWNrU2l6ZSk7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSopOwor
SlNfRVhQT1JUX1BSSVZBVEUgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlw
dENhbGxTdGFja0Zyb21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUmIGV4
Y2VwdGlvbiwgc2l6ZV90IG1heFN0YWNrU2l6ZSk7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVm
UHRyPFNjcmlwdEFyZ3VtZW50cz4gY3JlYXRlU2NyaXB0QXJndW1lbnRzKEpTQzo6RXhlY1N0YXRl
KiwgdW5zaWduZWQgc2tpcEFyZ3VtZW50Q291bnQpOwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Cit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIFNjcmlwdENhbGxTdGFja0Zh
Y3RvcnlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCnNpbWlsYXJpdHkgaW5kZXggNjIlCnJlbmFtZSBmcm9t
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCnJlbmFt
ZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25z
b2xlQWdlbnQuY3BwCmluZGV4IDhhNDZkNjkuLmRiNmY5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAK
QEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMjIsNjcgKzIzLDY2IEBACiAg
KiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCi0KICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIKIAotI2luY2x1ZGUgIkNv
bW1hbmRMaW5lQVBJSG9zdC5oIgotI2luY2x1ZGUgIkNvbnNvbGUuaCIKKyNpZiBFTkFCTEUoSU5T
UEVDVE9SKQorCiAjaW5jbHVkZSAiQ29uc29sZU1lc3NhZ2UuaCIKLSNpbmNsdWRlICJET01XaW5k
b3cuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCi0jaW5j
bHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgotI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlw
dE1hbmFnZXIuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCi0jaW5jbHVkZSAiUmVzb3Vy
Y2VSZXNwb25zZS5oIgorI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgogI2luY2x1
ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5oIgogI2lu
Y2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuaCIKLSNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgotI2luY2x1ZGUgPGJpbmRpbmdzL1Nj
cmlwdE9iamVjdC5oPgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9D
dXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKLQot
bmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBtYXhpbXVtQ29uc29sZU1lc3NhZ2VzID0gMTAwMDsKIHN0YXRpYyBjb25zdCBp
bnQgZXhwaXJlQ29uc29sZU1lc3NhZ2VzU3RlcCA9IDEwMDsKIAotSW5zcGVjdG9yQ29uc29sZUFn
ZW50OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cywgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKQotICAgIDogSW5zcGVjdG9yQWdlbnRCYXNlKEFTQ0lJTGl0ZXJhbCgiQ29uc29sZSIpLCBp
bnN0cnVtZW50aW5nQWdlbnRzKQorSW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25z
b2xlQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisg
ICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoQVNDSUlMaXRlcmFsKCJDb25zb2xlIikpCiAgICAgLCBt
X2luamVjdGVkU2NyaXB0TWFuYWdlcihpbmplY3RlZFNjcmlwdE1hbmFnZXIpCiAgICAgLCBtX3By
ZXZpb3VzTWVzc2FnZShudWxscHRyKQogICAgICwgbV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3Vu
dCgwKQogICAgICwgbV9lbmFibGVkKGZhbHNlKQotICAgICwgbV9tb25pdG9yaW5nWEhSRW5hYmxl
ZChmYWxzZSkKIHsKLSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNvbnNv
bGVBZ2VudCh0aGlzKTsKIH0KIAogSW5zcGVjdG9yQ29uc29sZUFnZW50Ojp+SW5zcGVjdG9yQ29u
c29sZUFnZW50KCkKIHsKLSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNv
bnNvbGVBZ2VudChudWxscHRyKTsKLSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMgPSBudWxscHRy
OwotICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyID0gbnVsbHB0cjsKK30KKwordm9pZCBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6
Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit7CisgICAgbV9mcm9udGVuZERpc3Bh
dGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNo
ZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rv
ckNvbnNvbGVCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlz
KTsKK30KKwordm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pCit7CisgICAgbV9mcm9udGVuZERp
c3BhdGNoZXIgPSBudWxscHRyOworICAgIG1fYmFja2VuZERpc3BhdGNoZXIuY2xlYXIoKTsKKwor
ICAgIFN0cmluZyBlcnJvclN0cmluZzsKKyAgICBkaXNhYmxlKCZlcnJvclN0cmluZyk7CiB9CiAK
IHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQogewogICAg
IGlmIChtX2VuYWJsZWQpCiAgICAgICAgIHJldHVybjsKKwogICAgIG1fZW5hYmxlZCA9IHRydWU7
CiAKICAgICBpZiAobV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCkgewotICAgICAgICBDb25z
b2xlTWVzc2FnZSBleHBpcmVkTWVzc2FnZSghaXNXb3JrZXJBZ2VudCgpLCBPdGhlck1lc3NhZ2VT
b3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBTdHJpbmc6OmZvcm1h
dCgiJWQgY29uc29sZSBtZXNzYWdlcyBhcmUgbm90IHNob3duLiIsIG1fZXhwaXJlZENvbnNvbGVN
ZXNzYWdlQ291bnQpKTsKKyAgICAgICAgQ29uc29sZU1lc3NhZ2UgZXhwaXJlZE1lc3NhZ2UoIWlz
V29ya2VyQWdlbnQoKSwgTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VUeXBlOjpMb2csIE1l
c3NhZ2VMZXZlbDo6V2FybmluZywgU3RyaW5nOjpmb3JtYXQoIiVkIGNvbnNvbGUgbWVzc2FnZXMg
YXJlIG5vdCBzaG93bi4iLCBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50KSk7CiAgICAgICAg
IGV4cGlyZWRNZXNzYWdlLmFkZFRvRnJvbnRlbmQobV9mcm9udGVuZERpc3BhdGNoZXIuZ2V0KCks
IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLCBmYWxzZSk7CiAgICAgfQogCkBAIC05NSw2ICs5NSw3
IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKIHsK
ICAgICBpZiAoIW1fZW5hYmxlZCkKICAgICAgICAgcmV0dXJuOworCiAgICAgbV9lbmFibGVkID0g
ZmFsc2U7CiB9CiAKQEAgLTEwMyw3ICsxMDQsOSBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dDo6Y2xlYXJNZXNzYWdlcyhFcnJvclN0cmluZyopCiAgICAgbV9jb25zb2xlTWVzc2FnZXMuY2xl
YXIoKTsKICAgICBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50ID0gMDsKICAgICBtX3ByZXZp
b3VzTWVzc2FnZSA9IG51bGxwdHI7Ci0gICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVh
c2VPYmplY3RHcm91cCgiY29uc29sZSIpOworCisgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIt
PnJlbGVhc2VPYmplY3RHcm91cChBU0NJSUxpdGVyYWwoImNvbnNvbGUiKSk7CisKICAgICBpZiAo
bV9mcm9udGVuZERpc3BhdGNoZXIgJiYgbV9lbmFibGVkKQogICAgICAgICBtX2Zyb250ZW5kRGlz
cGF0Y2hlci0+bWVzc2FnZXNDbGVhcmVkKCk7CiB9CkBAIC0xMTIsMzEgKzExNSwxNyBAQCB2b2lk
IEluc3BlY3RvckNvbnNvbGVBZ2VudDo6cmVzZXQoKQogewogICAgIEVycm9yU3RyaW5nIGVycm9y
OwogICAgIGNsZWFyTWVzc2FnZXMoJmVycm9yKTsKKwogICAgIG1fdGltZXMuY2xlYXIoKTsKICAg
ICBtX2NvdW50cy5jbGVhcigpOwogfQogCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlk
Q3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5k
RGlzcGF0Y2hlcikKLXsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlx
dWU8SW5zcGVjdG9yQ29uc29sZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsK
LSAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRj
aGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwotfQotCi12b2lkIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudDo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yRGlz
Y29ubmVjdFJlYXNvbikKLXsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IG51bGxwdHI7Ci0g
ICAgbV9iYWNrZW5kRGlzcGF0Y2hlci5jbGVhcigpOwotCi0gICAgU3RyaW5nIGVycm9yU3RyaW5n
OwotICAgIGRpc2FibGUoJmVycm9yU3RyaW5nKTsKLX0KLQogdm9pZCBJbnNwZWN0b3JDb25zb2xl
QWdlbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VU
eXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJ
ZGVudGlmaWVyKQogewotICAgIGlmICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JF
bnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKKyAgICBpZiAoIW1faW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0Vu
YWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHR5cGUgPT0gQ2xlYXJNZXNzYWdl
VHlwZSkgeworICAgIGlmICh0eXBlID09IE1lc3NhZ2VUeXBlOjpDbGVhcikgewogICAgICAgICBF
cnJvclN0cmluZyBlcnJvcjsKICAgICAgICAgY2xlYXJNZXNzYWdlcygmZXJyb3IpOwogICAgIH0K
QEAgLTE0NiwxMCArMTM1LDEwIEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwCiAKIHZvaWQgSW5z
cGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291
cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4gYXJndW1lbnRzLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAgIGlm
ICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQoKSkKKyAgICBpZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNw
ZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaWYgKHR5cGUgPT0gQ2xlYXJNZXNzYWdlVHlwZSkgeworICAgIGlmICh0eXBl
ID09IE1lc3NhZ2VUeXBlOjpDbGVhcikgewogICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAg
ICAgICAgY2xlYXJNZXNzYWdlcygmZXJyb3IpOwogICAgIH0KQEAgLTE1OSwxMCArMTQ4LDEwIEBA
IHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwCiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50Ojph
ZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBl
LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBzY3JpcHRJRCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBK
U0M6OkV4ZWNTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7
Ci0gICAgaWYgKCFtX2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckVudmlyb25tZW50KCku
ZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQorICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1hbmFn
ZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBpZiAodHlwZSA9PSBDbGVhck1lc3NhZ2VUeXBlKSB7CisgICAg
aWYgKHR5cGUgPT0gTWVzc2FnZVR5cGU6OkNsZWFyKSB7CiAgICAgICAgIEVycm9yU3RyaW5nIGVy
cm9yOwogICAgICAgICBjbGVhck1lc3NhZ2VzKCZlcnJvcik7CiAgICAgfQpAQCAtMTcxLDcgKzE2
MCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1l
c3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwCiAgICAgYWRkQ29uc29sZU1lc3NhZ2UoYWRv
cHRQdHIobmV3IENvbnNvbGVNZXNzYWdlKGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBzb3VyY2UsIHR5
cGUsIGxldmVsLCBtZXNzYWdlLCBzY3JpcHRJRCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBz
dGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpKSk7CiB9CiAKLVZlY3Rvcjx1bnNpZ25lZD4gSW5zcGVj
dG9yQ29uc29sZUFnZW50Ojpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkKK1ZlY3Rvcjx1
bnNpZ25lZD4gSW5zcGVjdG9yQ29uc29sZUFnZW50Ojpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291
bnRzKCkgY29uc3QKIHsKICAgICBWZWN0b3I8dW5zaWduZWQ+IHJlc3VsdChtX2NvbnNvbGVNZXNz
YWdlcy5zaXplKCkpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jb25zb2xlTWVzc2Fn
ZXMuc2l6ZSgpOyBpKyspCkBAIC0yMDUsNyArMTk0LDcgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xl
QWdlbnQ6OnN0b3BUaW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRD
YWwKIAogICAgIGRvdWJsZSBlbGFwc2VkID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkg
LSBzdGFydFRpbWU7CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSB0aXRsZSArIFN0cmluZzo6Zm9ybWF0
KCI6ICUuM2ZtcyIsIGVsYXBzZWQgKiAxMDAwKTsKLSAgICBhZGRNZXNzYWdlVG9Db25zb2xlKENv
bnNvbGVBUElNZXNzYWdlU291cmNlLCBUaW1pbmdNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2
ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdl
U291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6VGltaW5nLCBNZXNzYWdlTGV2ZWw6OkRl
YnVnLCBtZXNzYWdlLCBjYWxsU3RhY2spOwogfQogCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dDo6Y291bnQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4gYXJndW1lbnRzKQpAQCAtMjMwLDY4ICsyMTksMTkgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xl
QWdlbnQ6OmNvdW50KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWUKICAgICBtX2NvdW50cy5hZGQoaWRlbnRpZmllciwgY291bnQpOwogCiAgICAgU3RyaW5nIG1l
c3NhZ2UgPSB0aXRsZSArICI6ICIgKyBTdHJpbmc6Om51bWJlcihjb3VudCk7Ci0gICAgYWRkTWVz
c2FnZVRvQ29uc29sZShDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIERl
YnVnTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2spOwotfQotCi12b2lkIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudDo6ZnJhbWVXaW5kb3dEaXNjYXJkZWQoRE9NV2luZG93KiB3aW5kb3cpCi17
Ci0gICAgc2l6ZV90IG1lc3NhZ2VDb3VudCA9IG1fY29uc29sZU1lc3NhZ2VzLnNpemUoKTsKLSAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1lc3NhZ2VDb3VudDsgKytpKQotICAgICAgICBtX2Nv
bnNvbGVNZXNzYWdlc1tpXS0+d2luZG93Q2xlYXJlZCh3aW5kb3cpOwotICAgIG1faW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLT5kaXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKHdpbmRvdyk7Ci19Ci0KLXZv
aWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRGaW5pc2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxv
bmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNl
bmRVUkwsIHVuc2lnbmVkIHNlbmRMaW5lTnVtYmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVy
KQotewotICAgIGlmICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVu
dCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICht
X2Zyb250ZW5kRGlzcGF0Y2hlciAmJiBtX21vbml0b3JpbmdYSFJFbmFibGVkKSB7Ci0gICAgICAg
IFN0cmluZyBtZXNzYWdlID0gIlhIUiBmaW5pc2hlZCBsb2FkaW5nOiBcIiIgKyB1cmwgKyAiXCIu
IjsKLSAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9n
TWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBzZW5kVVJMLCBzZW5kTGlu
ZU51bWJlciwgc2VuZENvbHVtbk51bWJlciwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOwot
ICAgIH0KLX0KLQotdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25z
ZSh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSkKLXsKLSAgICBpZiAoIW1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9y
RW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsK
LQotICAgIGlmIChyZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID49IDQwMCkgewotICAgICAgICBT
dHJpbmcgbWVzc2FnZSA9ICJGYWlsZWQgdG8gbG9hZCByZXNvdXJjZTogdGhlIHNlcnZlciByZXNw
b25kZWQgd2l0aCBhIHN0YXR1cyBvZiAiICsgU3RyaW5nOjpudW1iZXIocmVzcG9uc2UuaHR0cFN0
YXR1c0NvZGUoKSkgKyAiICgiICsgcmVzcG9uc2UuaHR0cFN0YXR1c1RleHQoKSArICcpJzsKLSAg
ICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCByZXNwb25zZS51cmwoKS5zdHJpbmco
KSwgMCwgMCwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOwotICAgIH0KLX0KLQotdm9pZCBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQotewotICAgIGlmICghbV9p
bnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJh
c0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChlcnJvci5pc0NhbmNlbGxhdGlv
bigpKSAvLyBSZXBvcnQgZmFpbHVyZXMgb25seS4KLSAgICAgICAgcmV0dXJuOwotICAgIFN0cmlu
Z0J1aWxkZXIgbWVzc2FnZTsKLSAgICBtZXNzYWdlLmFwcGVuZExpdGVyYWwoIkZhaWxlZCB0byBs
b2FkIHJlc291cmNlIik7Ci0gICAgaWYgKCFlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLmlz
RW1wdHkoKSkgewotICAgICAgICBtZXNzYWdlLmFwcGVuZExpdGVyYWwoIjogIik7Ci0gICAgICAg
IG1lc3NhZ2UuYXBwZW5kKGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkpOwotICAgIH0KLSAg
ICBhZGRNZXNzYWdlVG9Db25zb2xlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UudG9TdHJpbmcoKSwgZXJyb3IuZmFpbGluZ1VS
TCgpLCAwLCAwLCBudWxscHRyLCByZXF1ZXN0SWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgSW5zcGVj
dG9yQ29uc29sZUFnZW50OjpzZXRNb25pdG9yaW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyosIGJv
b2wgZW5hYmxlZCkKLXsKLSAgICBtX21vbml0b3JpbmdYSFJFbmFibGVkID0gZW5hYmxlZDsKKyAg
ICBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VU
eXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6RGVidWcsIG1lc3NhZ2UsIGNhbGxTdGFjayk7CiB9CiAK
IHN0YXRpYyBib29sIGlzR3JvdXBNZXNzYWdlKE1lc3NhZ2VUeXBlIHR5cGUpCiB7Ci0gICAgcmV0
dXJuIHR5cGUgPT0gU3RhcnRHcm91cE1lc3NhZ2VUeXBlCi0gICAgICAgIHx8IHR5cGUgPT0gIFN0
YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZQotICAgICAgICB8fCB0eXBlID09IEVuZEdyb3Vw
TWVzc2FnZVR5cGU7CisgICAgcmV0dXJuIHR5cGUgPT0gTWVzc2FnZVR5cGU6OlN0YXJ0R3JvdXAK
KyAgICAgICAgfHwgdHlwZSA9PSBNZXNzYWdlVHlwZTo6U3RhcnRHcm91cENvbGxhcHNlZAorICAg
ICAgICB8fCB0eXBlID09IE1lc3NhZ2VUeXBlOjpFbmRHcm91cDsKIH0KIAogdm9pZCBJbnNwZWN0
b3JDb25zb2xlQWdlbnQ6OmFkZENvbnNvbGVNZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3Nh
Z2U+IGNvbnNvbGVNZXNzYWdlKQogewotICAgIEFTU0VSVChtX2luc3RydW1lbnRpbmdBZ2VudHMt
Pmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKTsKKyAgICBB
U1NFUlQobV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2
ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKTsKICAgICBBU1NFUlRfQVJHKGNvbnNvbGVNZXNzYWdlLCBj
b25zb2xlTWVzc2FnZSk7CiAKICAgICBpZiAobV9wcmV2aW91c01lc3NhZ2UgJiYgIWlzR3JvdXBN
ZXNzYWdlKG1fcHJldmlvdXNNZXNzYWdlLT50eXBlKCkpICYmIG1fcHJldmlvdXNNZXNzYWdlLT5p
c0VxdWFsKGNvbnNvbGVNZXNzYWdlLmdldCgpKSkgewpAQCAtMzExLDIzICsyNTEsNiBAQCB2b2lk
IEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkQ29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxDb25z
b2xlTWVzc2FnZT4gY29uc29sZQogICAgIH0KIH0KIAotY2xhc3MgSW5zcGVjdGFibGVIZWFwT2Jq
ZWN0IGZpbmFsIDogcHVibGljIENvbW1hbmRMaW5lQVBJSG9zdDo6SW5zcGVjdGFibGVPYmplY3Qg
ewotcHVibGljOgotICAgIGV4cGxpY2l0IEluc3BlY3RhYmxlSGVhcE9iamVjdChpbnQgaGVhcE9i
amVjdElkKSA6IG1faGVhcE9iamVjdElkKGhlYXBPYmplY3RJZCkgeyB9Ci0gICAgdmlydHVhbCBE
ZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSBnZXQoSlNDOjpFeGVjU3RhdGUqKSBvdmVycmlkZQotICAg
IHsKLSAgICAgICAgcmV0dXJuIFNjcmlwdFByb2ZpbGVyOjpvYmplY3RCeUhlYXBPYmplY3RJZCht
X2hlYXBPYmplY3RJZCk7Ci0gICAgfQotcHJpdmF0ZToKLSAgICBpbnQgbV9oZWFwT2JqZWN0SWQ7
Ci19OwotCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVj
dChFcnJvclN0cmluZyosIGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpCi17Ci0gICAgaWYgKENv
bW1hbmRMaW5lQVBJSG9zdCogY29tbWFuZExpbmVBUElIb3N0ID0gbV9pbmplY3RlZFNjcmlwdE1h
bmFnZXItPmNvbW1hbmRMaW5lQVBJSG9zdCgpKQotICAgICAgICBjb21tYW5kTGluZUFQSUhvc3Qt
PmFkZEluc3BlY3RlZE9iamVjdChhZG9wdFB0cihuZXcgSW5zcGVjdGFibGVIZWFwT2JqZWN0KGlu
c3BlY3RlZEhlYXBPYmplY3RJZCkpKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAv
LyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
Q29uc29sZUFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JDb25zb2xlQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li40OWE3OWU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKQEAgLTAsMCArMSwxMDMgQEAKKy8q
CisqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgor
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisqIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2lmbmRlZiBJbnNw
ZWN0b3JDb25zb2xlQWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAorCisj
aWYgRU5BQkxFKElOU1BFQ1RPUikKKworI2luY2x1ZGUgIkluc3BlY3RvckpTQmFja2VuZERpc3Bh
dGNoZXJzLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySlNGcm9udGVuZERpc3BhdGNoZXJzLmgiCisj
aW5jbHVkZSAiaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oIgorI2luY2x1ZGUgImluc3BlY3Rvci9J
bnNwZWN0b3JBZ2VudEJhc2UuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNw
YWNlIEpTQyB7CitjbGFzcyBFeGVjU3RhdGU7Cit9CisKK25hbWVzcGFjZSBJbnNwZWN0b3Igewor
CitjbGFzcyBDb25zb2xlTWVzc2FnZTsKK2NsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2Ns
YXNzIFNjcmlwdEFyZ3VtZW50czsKK2NsYXNzIFNjcmlwdENhbGxTdGFjazsKK3R5cGVkZWYgU3Ry
aW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBJbnNwZWN0b3JDb25z
b2xlQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yQ29u
c29sZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SW5zcGVjdG9yQ29uc29sZUFnZW50KTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKKyAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7
CisgICAgdmlydHVhbCB+SW5zcGVjdG9yQ29uc29sZUFnZW50KCk7CisKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCos
IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lk
IHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb24p
IG92ZXJyaWRlOworCisgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCB2b2lkIGNsZWFyTWVzc2FnZXMoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29s
IGVuYWJsZWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkTm9kZShFcnJvclN0
cmluZyosIGludCBub2RlSWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkSGVh
cE9iamVjdChFcnJvclN0cmluZyosIGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpID0gMDsKKwor
ICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgY29uc3QgPSAwOworCisgICAgYm9vbCBl
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9lbmFibGVkOyB9CisgICAgdm9pZCByZXNldCgpOwor
CisgICAgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBl
LCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKTsKKyAgICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNjcmlwdElELCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIs
IEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKTsKKyAgICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsK
KworICAgIFZlY3Rvcjx1bnNpZ25lZD4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpIGNv
bnN0OworCisgICAgdm9pZCBzdGFydFRpbWluZyhjb25zdCBTdHJpbmcmIHRpdGxlKTsKKyAgICB2
b2lkIHN0b3BUaW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+KTsKKyAgICB2b2lkIGNvdW50KEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+KTsKKworcHJvdGVjdGVkOgorICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2Uo
UGFzc093blB0cjxDb25zb2xlTWVzc2FnZT4pOworCisgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9y
Q29uc29sZUZyb250ZW5kRGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7CisgICAgUmVm
UHRyPEluc3BlY3RvckNvbnNvbGVCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hl
cjsKKyAgICBDb25zb2xlTWVzc2FnZSogbV9wcmV2aW91c01lc3NhZ2U7CisgICAgVmVjdG9yPE93
blB0cjxDb25zb2xlTWVzc2FnZT4+IG1fY29uc29sZU1lc3NhZ2VzOworICAgIGludCBtX2V4cGly
ZWRDb25zb2xlTWVzc2FnZUNvdW50OworICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV9j
b3VudHM7CisgICAgSGFzaE1hcDxTdHJpbmcsIGRvdWJsZT4gbV90aW1lczsKKyAgICBib29sIG1f
ZW5hYmxlZDsKK307CisKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgorCisjZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckNvbnNvbGVBZ2Vu
dF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNj
cmlwdEhvc3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xv
YmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcApzaW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20g
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaApjb3B5IHRv
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29u
c29sZUFnZW50LmNwcAppbmRleCA2NTgyMTg4Li4xZmUyZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50
LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MjMsMjUgKzIzLDMzIEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgUGFnZUluamVj
dGVkU2NyaXB0SG9zdF9oCi0jZGVmaW5lIFBhZ2VJbmplY3RlZFNjcmlwdEhvc3RfaAorI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgiCiAK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0SG9zdC5oPgorbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsK
K0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50OjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudChJ
bmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3Bl
Y3RvckNvbnNvbGVBZ2VudChpbmplY3RlZFNjcmlwdE1hbmFnZXIpCit7Cit9CiAKLWNsYXNzIFBh
Z2VJbmplY3RlZFNjcmlwdEhvc3QgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNj
cmlwdEhvc3QgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNj
cmlwdEhvc3Q+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3Jp
cHRIb3N0KTsgfQordm9pZCBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmlu
Z1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBib29sKQoreworICAgICplcnJv
clN0cmluZyA9IEFTQ0lJTGl0ZXJhbCgiTm90IHN1cHBvcnRlZCBmb3IgSmF2YVNjcmlwdCBjb250
ZXh0Iik7Cit9CiAKLSAgICB2aXJ0dWFsIEpTQzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU1ZhbHVlKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29s
bGVjdGlvbihKU0M6OkpTVmFsdWUpIG92ZXJyaWRlOwotfTsKK3ZvaWQgSlNHbG9iYWxPYmplY3RD
b25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBp
bnQpCit7CisgICAgKmVycm9yU3RyaW5nID0gQVNDSUlMaXRlcmFsKCJOb3Qgc3VwcG9ydGVkIGZv
ciBKYXZhU2NyaXB0IGNvbnRleHQiKTsKK30KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQordm9p
ZCBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJv
clN0cmluZyogZXJyb3JTdHJpbmcsIGludCkKK3sKKyAgICAqZXJyb3JTdHJpbmcgPSBBU0NJSUxp
dGVyYWwoIk5vdCBzdXBwb3J0ZWQgZm9yIEphdmFTY3JpcHQgY29udGV4dCIpOworfQorCit9IC8v
IG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KLSNl
bmRpZiAvLyAhZGVmaW5lZChQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0X2gpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdl
bnQuaApzaW1pbGFyaXR5IGluZGV4IDU4JQpjb3B5IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgKaW5kZXggNjU4
MjE4OC4uZTU4NWViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJ
bmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywyNSArMjMsMzMgQEAKICAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAgKi8KIAotI2lmbmRlZiBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0X2gKLSNkZWZpbmUg
UGFnZUluamVjdGVkU2NyaXB0SG9zdF9oCisjaWZuZGVmIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFn
ZW50X2gKKyNkZWZpbmUgSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnRfaAogCiAjaWYgRU5BQkxF
KElOU1BFQ1RPUikKIAotI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaD4K
KyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9i
amVjdFNjcmlwdERlYnVnU2VydmVyLmgiCiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFj
ZSBJbnNwZWN0b3IgewogCi1jbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0IGZpbmFsIDogcHVi
bGljIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRIb3N0IHsKK2NsYXNzIEpTR2xvYmFsT2JqZWN0
Q29uc29sZUFnZW50IGZpbmFsIDogcHVibGljIEluc3BlY3RvckNvbnNvbGVBZ2VudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQpOworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBh
Z2VJbmplY3RlZFNjcmlwdEhvc3Q+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdl
SW5qZWN0ZWRTY3JpcHRIb3N0KTsgfQorICAgIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KElu
amVjdGVkU2NyaXB0TWFuYWdlciopOworICAgIHZpcnR1YWwgfkpTR2xvYmFsT2JqZWN0Q29uc29s
ZUFnZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFsIEpTQzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0
YXRlKiwgSlNDOjpKU1ZhbHVlKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxs
Q29sbGVjdGlvbihKU0M6OkpTVmFsdWUpIG92ZXJyaWRlOworICAgIC8vIEZJWE1FOiBYSFJzIGFu
ZCBOb2RlcyBvbmx5IG1ha2VzIHNlbnNlIGRlYnVnZ2luZyBhIFdlYiBjb250ZXh0LiBDYW4gdGhp
cyBiZSBtb3ZlZCB0byBhIGRpZmZlcmVudCBhZ2VudD8KKyAgICB2aXJ0dWFsIHZvaWQgc2V0TW9u
aXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpIG92ZXJyaWRlOwor
ICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJ
ZCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJy
b3JTdHJpbmcqLCBpbnQgaW5zcGVjdGVkSGVhcE9iamVjdElkKSBvdmVycmlkZTsKKworICAgIHZp
cnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIH07CiAK
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5k
aWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIAotI2VuZGlmIC8vICFkZWZpbmVkKFBhZ2VJbmplY3Rl
ZFNjcmlwdEhvc3RfaCkKKyNlbmRpZiAvLyAhZGVmaW5lZChKU0dsb2JhbE9iamVjdENvbnNvbGVB
Z2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKaW5kZXgg
ZDRjMzJkNy4uMmUxNzUwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdl
bnQuY3BwCkBAIC0yOSwxNSArMjksMjAgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5j
bHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29s
ZUFnZW50LmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJTY3JpcHRB
cmd1bWVudHMuaCIKKyNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKKyNpbmNsdWRlICJTY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewogCi1KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OkpTR2xvYmFsT2Jq
ZWN0RGVidWdnZXJBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFu
YWdlciwgSlNDOjpKU0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQorSlNHbG9iYWxPYmplY3RE
ZWJ1Z2dlckFnZW50OjpKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQoSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIsIEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCwgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQpCiAgICAgOiBJbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50KGluamVjdGVkU2NyaXB0TWFuYWdlcikKICAgICAsIG1fc2NyaXB0
RGVidWdTZXJ2ZXIoZ2xvYmFsT2JqZWN0KQorICAgICwgbV9jb25zb2xlQWdlbnQoY29uc29sZUFn
ZW50KQogewogfQogCkBAIC02Miw2ICs2NywxMSBAQCBJbmplY3RlZFNjcmlwdCBKU0dsb2JhbE9i
amVjdERlYnVnZ2VyQWdlbnQ6OmluamVjdGVkU2NyaXB0Rm9yRXZhbChFcnJvclN0cmluZyogZQog
ICAgIHJldHVybiBpbmplY3RlZFNjcmlwdE1hbmFnZXIoKS0+aW5qZWN0ZWRTY3JpcHRGb3IoZXhl
Yyk7CiB9CiAKK3ZvaWQgSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50OjpicmVha3BvaW50QWN0
aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7Cisg
ICAgbV9jb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZTo6SlMs
IE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6TG9nLCBtZXNzYWdlLCBjcmVhdGVTY3Jp
cHRDYWxsU3RhY2soZXhlYywgU2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0
dXJlLCB0cnVlKSwgMCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50
LmgKaW5kZXggYTlmZDY3OS4uNDQzYmZhMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1
Z2dlckFnZW50LmgKQEAgLTMzLDExICszMywxMyBAQAogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsK
IAorY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OworCiBjbGFzcyBKU0dsb2JhbE9iamVjdERl
YnVnZ2VyQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50KTsKICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBKU0dsb2JhbE9iamVjdERlYnVn
Z2VyQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiwgSlNDOjpKU0dsb2JhbE9iamVjdCYpOwor
ICAgIEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBK
U0M6OkpTR2xvYmFsT2JqZWN0JiwgSW5zcGVjdG9yQ29uc29sZUFnZW50Kik7CiAgICAgdmlydHVh
bCB+SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIEpTR2xv
YmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXImIHNjcmlwdERlYnVnU2VydmVyKCkgb3ZlcnJpZGUg
eyByZXR1cm4gbV9zY3JpcHREZWJ1Z1NlcnZlcjsgfQpAQCAtNDYsOCArNDgsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHN0b3BMaXN0ZW5pbmdTY3JpcHREZWJ1Z1NlcnZlcihib29sIGlz
QmVpbmdEZXN0cm95ZWQpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgSW5qZWN0ZWRTY3JpcHQgaW5q
ZWN0ZWRTY3JpcHRGb3JFdmFsKEVycm9yU3RyaW5nKiwgY29uc3QgaW50KiBleGVjdXRpb25Db250
ZXh0SWQpIG92ZXJyaWRlOwogCi0gICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgYSBDb25zb2xlQWdl
bnQgdG8gc2VuZCBhIGxvZyB0by4KLSAgICB2aXJ0dWFsIHZvaWQgYnJlYWtwb2ludEFjdGlvbkxv
ZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlIGZpbmFsIHsgfQorICAg
IHZpcnR1YWwgdm9pZCBicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3Qg
U3RyaW5nJikgb3ZlcnJpZGUgZmluYWw7CiAKICAgICAvLyBGSVhNRTogSmF2YVNjcmlwdCBpbnNw
ZWN0b3IgZG9lcyBub3QgeWV0IGhhdmUgYSBjb25zb2xlIG9iamVjdCB0byBtdXRlLgogICAgIHZp
cnR1YWwgdm9pZCBtdXRlQ29uc29sZSgpIG92ZXJyaWRlIHsgfQpAQCAtNTUsNiArNTYsNyBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlciBt
X3NjcmlwdERlYnVnU2VydmVyOworICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xl
QWdlbnQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbgpzaW1pbGFyaXR5IGluZGV4
IDg2JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29s
ZS5qc29uCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29s
L0NvbnNvbGUuanNvbgppbmRleCAzNWJkMTFhLi5mYzNjOTAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCkBAIC0zLDYgKzMsMTYg
QEAKICAgICAiZGVzY3JpcHRpb24iOiAiQ29uc29sZSBkb21haW4gZGVmaW5lcyBtZXRob2RzIGFu
ZCBldmVudHMgZm9yIGludGVyYWN0aW9uIHdpdGggdGhlIEphdmFTY3JpcHQgY29uc29sZS4gQ29u
c29sZSBjb2xsZWN0cyBtZXNzYWdlcyBjcmVhdGVkIGJ5IG1lYW5zIG9mIHRoZSA8YSBocmVmPSdo
dHRwOi8vZ2V0ZmlyZWJ1Zy5jb20vd2lraS9pbmRleC5waHAvQ29uc29sZV9BUEknPkphdmFTY3Jp
cHQgQ29uc29sZSBBUEk8L2E+LiBPbmUgbmVlZHMgdG8gZW5hYmxlIHRoaXMgZG9tYWluIHVzaW5n
IDxjb2RlPmVuYWJsZTwvY29kZT4gY29tbWFuZCBpbiBvcmRlciB0byBzdGFydCByZWNlaXZpbmcg
dGhlIGNvbnNvbGUgbWVzc2FnZXMuIEJyb3dzZXIgY29sbGVjdHMgbWVzc2FnZXMgaXNzdWVkIHdo
aWxlIGNvbnNvbGUgZG9tYWluIGlzIG5vdCBlbmFibGVkIGFzIHdlbGwgYW5kIHJlcG9ydHMgdGhl
bSB1c2luZyA8Y29kZT5tZXNzYWdlQWRkZWQ8L2NvZGU+IG5vdGlmaWNhdGlvbiB1cG9uIGVuYWJs
aW5nLiIsCiAgICAgInR5cGVzIjogWwogICAgICAgICB7CisgICAgICAgICAgICAiaWQiOiAiQ29u
c29sZU5ldHdvcmtSZXF1ZXN0SWQiLAorICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKKyAg
ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUgcmVxdWVzdCBpZGVudGlmaWVyLiBGSVhN
RTogRHVwbGljYXRlIG9mIE5ldHdvcmsuUmVxdWVzdElkIDxodHRwczovL3dlYmtpdC5vcmcvYi8x
MjU2NjQ+IFdlYiBJbnNwZWN0b3I6IEZJWCBUeXBlIERlcGVuZGVuY3kgSXNzdWVzIgorICAgICAg
ICB9LAorICAgICAgICB7CisgICAgICAgICAgICAiaWQiOiAiQ29uc29sZURPTU5vZGVJZCIsCisg
ICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6
ICJVbmlxdWUgRE9NIG5vZGUgaWRlbnRpZmllci4gRklYTUU6IER1cGxpY2F0ZSBvZiBET00uTm9k
ZUlkIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMjU2NjQ+IFdlYiBJbnNwZWN0b3I6IEZJWCBUeXBl
IERlcGVuZGVuY3kgSXNzdWVzIgorICAgICAgICB9LAorICAgICAgICB7CiAgICAgICAgICAgICAi
aWQiOiAiQ29uc29sZU1lc3NhZ2UiLAogICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAg
ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb25zb2xlIG1lc3NhZ2UuIiwKQEAgLTE3LDcgKzI3
LDcgQEAKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlcGVhdENvdW50IiwgInR5cGUiOiAi
aW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJSZXBlYXQgY291bnQg
Zm9yIHJlcGVhdGVkIG1lc3NhZ2VzLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBh
cmFtZXRlcnMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiUnVudGltZS5S
ZW1vdGVPYmplY3QiIH0sICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJNZXNzYWdl
IHBhcmFtZXRlcnMgaW4gY2FzZSBvZiB0aGUgZm9ybWF0dGVkIG1lc3NhZ2UuIiB9LAogICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAic3RhY2tUcmFjZSIsICIkcmVmIjogIlN0YWNrVHJhY2UiLCAi
b3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiSmF2YVNjcmlwdCBzdGFjayB0cmFjZSBm
b3IgYXNzZXJ0aW9ucyBhbmQgZXJyb3IgbWVzc2FnZXMuIiB9LAotICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibmV0d29ya1JlcXVlc3RJZCIsICIkcmVmIjogIk5ldHdvcmsuUmVxdWVzdElkIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIgb2YgdGhlIG5ldHdv
cmsgcmVxdWVzdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZXNzYWdlLiIgfQorICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAibmV0d29ya1JlcXVlc3RJZCIsICIkcmVmIjogIkNvbnNvbGVOZXR3b3Jr
UmVxdWVzdElkIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIg
b2YgdGhlIG5ldHdvcmsgcmVxdWVzdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZXNzYWdlLiIgfQog
ICAgICAgICAgICAgXQogICAgICAgICB9LAogICAgICAgICB7CkBAIC02MSw3ICs3MSw3IEBACiAg
ICAgICAgIHsKICAgICAgICAgICAgICJuYW1lIjogImFkZEluc3BlY3RlZE5vZGUiLAogICAgICAg
ICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQi
LCAiJHJlZiI6ICJET00uTm9kZUlkIiwgImRlc2NyaXB0aW9uIjogIkRPTSBub2RlIGlkIHRvIGJl
IGFjY2Vzc2libGUgYnkgbWVhbnMgb2YgJHggY29tbWFuZCBsaW5lIEFQSS4iIH0KKyAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICIkcmVmIjogIkNvbnNvbGVET01Ob2RlSWQiLCAi
ZGVzY3JpcHRpb24iOiAiRE9NIG5vZGUgaWQgdG8gYmUgYWNjZXNzaWJsZSBieSBtZWFucyBvZiAk
eCBjb21tYW5kIGxpbmUgQVBJLiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJkZXNj
cmlwdGlvbiI6ICJFbmFibGVzIGNvbnNvbGUgdG8gcmVmZXIgdG8gdGhlIG5vZGUgd2l0aCBnaXZl
biBpZCB2aWEgJHggKHNlZSBDb21tYW5kIExpbmUgQVBJIGZvciBtb3JlIGRldGFpbHMgJHggZnVu
Y3Rpb25zKS4iCiAgICAgICAgIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtY29tYmluZWQt
aW5zcGVjdG9yLWpzb24ucHkKaW5kZXggZGIxNjNiZi4uNTM2NjAzMSAxMDA3NTUKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWNvbWJpbmVkLWlu
c3BlY3Rvci1qc29uLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy9nZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weQpAQCAtNjYsMyArNjYsNCBA
QCBmb3IgZmlsZSBpbiBmaWxlczoKIAogICAgIHByaW50KHN0cmluZy5yc3RyaXAoKSkKIHByaW50
KCJdfSIpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDg3MWQ2Ni4uZTBlOTAwNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTc2MSw3ICs3NjEsNiBAQCBzZXQoV2ViQ29yZV9JTlNQRUNUT1Jf
RE9NQUlOUwogICAgIGluc3BlY3Rvci9wcm90b2NvbC9BcHBsaWNhdGlvbkNhY2hlLmpzb24KICAg
ICBpbnNwZWN0b3IvcHJvdG9jb2wvQ1NTLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9jb2wvQ2Fu
dmFzLmpzb24KLSAgICBpbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCiAgICAgaW5zcGVj
dG9yL3Byb3RvY29sL0RPTS5qc29uCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0RPTURlYnVnZ2Vy
Lmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9jb2wvRE9NU3RvcmFnZS5qc29uCkBAIC0xNTY4LDE2
ICsxNTY3LDEzIEBAIHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIGluc3BlY3Rvci9Db21tYW5k
TGluZUFQSUhvc3QuY3BwCiAgICAgaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcAot
ICAgIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAKICAgICBpbnNwZWN0b3IvRE9NRWRpdG9y
LmNwcAogICAgIGluc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwCi0gICAgaW5zcGVjdG9yL0lk
ZW50aWZpZXJzRmFjdG9yeS5jcHAKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNN
b2R1bGUuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5j
cHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0lu
c3BlY3RvckNhbnZhc0FnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuY3Bw
Ci0gICAgaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMu
Y3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTYxMSwxMCArMTYw
Nyw4IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvUGFnZUluamVjdGVkU2Ny
aXB0SG9zdC5jcHAKICAgICBpbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAK
ICAgICBpbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5jcHAKLSAgICBpbnNwZWN0b3IvU2NyaXB0
QXJndW1lbnRzLmNwcAotICAgIGluc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCi0gICAgaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKICAgICBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRG
YWN0b3J5LmNwcAorICAgIGluc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwCiAgICAgaW5zcGVj
dG9yL1dlYkRlYnVnZ2VyQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2Vu
dC5jcHAKICAgICBpbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAzZjk1NTNhLi45MDgwMGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjc0IEBACisyMDE0LTAy
LTAzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgICAtIE1vdmUg
SW5zcGVjdG9yQ29uc29sZUFnZW50IGFuZCBkZXBlbmRlbmNpZXMgdG8gSmF2YVNjcmlwdENvcmUK
KyAgICAgICAgICAgIGFuZCBpbnRvIHRoZSBJbnNwZWN0b3IgbmFtZXNwYWNlLgorICAgICAgICAg
IC0gVXBkYXRlIENvbnNvbGUgTWVzc2FnZSBlbnVtIHR5cGVzIHRvIGVudW0gY2xhc3NlcyBhbmQg
dXBkYXRlCisgICAgICAgICAgICBhbGwgdXNlcnMgdG8gdGhlIG5ldywgc2ltcGxlciBuYW1lcy4K
KyAgICAgICAgICAtIFNpbmNlIHdlIGFyZSB1cGRhdGluZyBhZGRDb25zb2xlTWVzc2FnZSBjYWxs
c2l0ZXMgYW55d2F5cywgYWRkCisgICAgICAgICAgICBBU0NJSUxpdGVyYWwgd2hlcmUgYXBwcm9w
cmlhdGUuCisgICAgICAgICAgLSBBZGQgV2ViQ29uc29sZUFnZW50IGJhc2Ugb2YgUGFnZS9Xb3Jr
ZXIgQ29uc29sZUFnZW50IHRvIGltcGxlbWVudAorICAgICAgICAgICAgd2hhdCBjb3VsZCBub3Qg
YmUgcHVzaGVkIGludG8gSmF2YVNjcmlwdENvcmUuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEZvcndhcmRpbmdI
ZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3
YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg6IEFkZGVkLgorICAgICAgICAq
IEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaDogQWRkZWQu
CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5o
OiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2Fs
bEZyYW1lLmg6IEFkZGVkLgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2suaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaDogQWRkZWQuCisgICAgICAgICogRm9yd2Fy
ZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaDogQWRk
ZWQuCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgQWRkIC8gcmVtb3ZlIGZpbGVzIGZyb20gYnVpbGRzLgorCisgICAgICAg
ICogaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJD
b25zb2xlQWdlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2Vu
dDo6V2ViQ29uc29sZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2VudDo6
c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFn
ZW50OjpmcmFtZVdpbmRvd0Rpc2NhcmRlZCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb25zb2xl
QWdlbnQ6OmRpZEZpbmlzaFhIUkxvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29s
ZUFnZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29s
ZUFnZW50OjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb25zb2xlQWdl
bnQ6OmFkZEluc3BlY3RlZEhlYXBPYmplY3QpOgorICAgICAgICBJbXBsZW1lbnQgd2hhdCBjb3Vs
ZCBub3QgYmUgcHVzaGVkIGRvd24gaW50byBKYXZhU2NyaXB0Q29yZS4KKworICAgICAgICAqIGlu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVt
ZW50aW5nQWdlbnRzOjp3ZWJDb25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1
bWVudGluZ0FnZW50czo6c2V0V2ViQ29uc29sZUFnZW50KToKKyAgICAgICAgSG9sZCBhIFdlYkNv
bnNvbGVBZ2VudCBpbnN0ZWFkIG9mIEluc3BlY3RvckNvbnNvbGVBZ2VudC4KKworICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHA6CisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvSURCRGF0YWJhc2UuY3BwOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvd1F1b3RhOjp3ZWJraXRTdG9yYWdlSW5mbyk6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vUGFubmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYW5uZXJOb2RlOjpz
ZXRQYW5uaW5nTW9kZWwpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VC
YXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQmFzZTo6bG9nRXJyb3JNZXNzYWdl
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZU1hbmFnZXI6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXQ6OmNvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViU29ja2V0OjpzZXRCaW5hcnlUeXBlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFu
bmVsOjpmYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxT
b2NrZXRTdHJlYW0pOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5k
c2hha2UuY3BwOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU0F1ZGlvQ29udGV4dENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RK
U0F1ZGlvQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVz
b2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDdXN0b21YUGF0aE5TUmVzb2x2ZXI6Omxv
b2t1cE5hbWVzcGFjZVVSSSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6ZW5jcnlwdCk6CisgICAgICAgIChXZWJDb3Jl
OjpKU1N1YnRsZUNyeXB0bzo6ZGVjcnlwdCk6CisgICAgICAgIChXZWJDb3JlOjpKU1N1YnRsZUNy
eXB0bzo6c2lnbik6CisgICAgICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6dmVyaWZ5KToK
KyAgICAgICAgKFdlYkNvcmU6OkpTU3VidGxlQ3J5cHRvOjp3cmFwS2V5KToKKyAgICAgICAgKFdl
YkNvcmU6OkpTU3VidGxlQ3J5cHRvOjp1bndyYXBLZXkpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxl
cjo6Y2FuRXhlY3V0ZVNjcmlwdHMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVDYWxsV2l0aCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgICogY3NzL0NTU1Bh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmxvZ0Vycm9yKToKKyAgICAg
ICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZFJlc29sdXRpb25X
YXJuaW5nTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OmFkZE1lc3NhZ2UpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVs
ZW1lbnQ6OmV4ZWN1dGVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6
bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNw
cDoKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAqIGRv
bS9WaWV3cG9ydEFyZ3VtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2aWV3cG9ydEVycm9y
TWVzc2FnZUxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydFZpZXdwb3J0V2FybmluZyk6
CisgICAgICAgICogZmlsZWFwaS9CbG9iLmNwcDoKKyAgICAgICAgKiBmaWxlYXBpL1dlYktpdEJs
b2JCdWlsZGVyLmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXV0b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hU
TUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZh
bGlkYXRlSW50ZXJhY3RpdmVseSk6CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUp
OgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6Z2V0SW1hZ2VEYXRhKToKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpwcmludFdhcm5pbmdUb0NvbnNvbGUpOgorICAgICAgICAqIGh0bWwvcGFy
c2VyL1hTU0F1ZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6aW5pdCk6
CisgICAgICAgICogaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlhTU0F1ZGl0b3JEZWxlZ2F0ZTo6ZGlkQmxvY2tTY3JpcHQpOgorICAgICAgICAq
IGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9D
b21tYW5kTGluZUFQSUhvc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbW1hbmRMaW5lQVBJSG9z
dDo6aW5pdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29s
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVD
b3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BD
b25zb2xlVGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6Y29uc29sZVRpbWVTdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmFkZFByb2ZpbGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3Bl
Y3RvckNvbnRyb2xsZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5j
cHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVdpbmRvd0Rpc2NhcmRlZEltcGwp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZl
UmVzb3VyY2VSZXNwb25zZUltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRGYWlsTG9hZGluZ0ltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hYSFJMb2FkaW5nSW1wbCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKToKKyAg
ICAgICAgKFdlYkNvcmU6OmlzQ29uc29sZUFzc2VydE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlSW1wbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudElt
cGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdGFydENv
bnNvbGVUaW1pbmdJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6c3RvcENvbnNvbGVUaW1pbmdJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6Y29uc29sZUFnZW50RW5hYmxlZCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JMYXllclRyZWVBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBh
Z2VBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6YWRkUHJvZmls
ZUZpbmlzaGVkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQ
cm9maWxlckFnZW50OjphZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDo6YnVpbGRJbml0aWF0b3JPYmplY3QpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
dHJ1bWVudGluZ0FnZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdl
bnRzOjpJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRp
bmdBZ2VudHM6OnJlc2V0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ29uc29sZUFnZW50OjpQYWdlQ29uc29sZUFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlQWdlbnQ6OmNsZWFyTWVzc2FnZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZSk6Cisg
ICAgICAgICogaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZURlYnVnZ2Vy
QWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2cpOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlSW5q
ZWN0ZWRTY3JpcHRIb3N0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlw
dE1hbmFnZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJp
Y1JlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6On5XZWJDb25zb2xl
QWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyQ29uc29sZUFnZW50OjpXb3JrZXJDb25zb2xlQWdlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
RGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyk6CisgICAgICAgICogaW5zcGVjdG9y
L1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlcjo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAg
ICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0pOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6aGFuZGxlQmVmb3JlVW5sb2FkRXZlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRp
b25zKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgICogbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjpub3RpZnlG
aW5pc2hlZCk6CisgICAgICAgICogbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWl4ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyk6CisgICAgICAg
ICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJh
Y2tMb2FkZXI6OmNvcnNQb2xpY3lQcmV2ZW50ZWRMb2FkKToKKyAgICAgICAgKiBsb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxp
Y2F0aW9uQ2FjaGVHcm91cDo6YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25D
YWNoZUdyb3VwOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGlj
YXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkFw
cGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNh
dGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVNYW5pZmVzdFJlc3BvbnNlKToKKyAgICAgICAgKFdl
YkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJc0Nv
bXBsZXRlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVu
aWVkTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBw
YWdlL0NvbnNvbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW50ZXJuYWxBZGRNZXNzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmRlYnVnKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
bnNvbGU6OmVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmxvZyk6CisgICAgICAg
IChXZWJDb3JlOjpDb25zb2xlOjp3YXJuKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmRp
cik6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpkaXJ4bWwpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29uc29sZTo6dGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6Y2xlYXIpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6dHJhY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29u
c29sZTo6YXNzZXJ0Q29uZGl0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Omdyb3Vw
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Omdyb3VwQ29sbGFwc2VkKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnNvbGU6Omdyb3VwRW5kKToKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaDoK
KyAgICAgICAgKiBwYWdlL0NvbnNvbGVUeXBlcy5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2Uv
Q29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1
cml0eVBvbGljeTo6cmVwb3J0VmlvbGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRT
ZWN1cml0eVBvbGljeTo6bG9nVG9Db25zb2xlKToKKyAgICAgICAgKiBwYWdlL0RPTVNlY3VyaXR5
UG9saWN5LmNwcDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpET01XaW5kb3c6OnBvc3RNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRv
dzo6ZGlzcGF0Y2hNZXNzYWdlRXZlbnRXaXRoT3JpZ2luQ2hlY2spOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93OjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnByaW50
RXJyb3JNZXNzYWdlKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBh
Z2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZFJl
Y2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkRmFpbEFj
Y2Vzc0NvbnRyb2xDaGVjayk6CisgICAgICAgICogcGFnZS9QYWdlQ29uc29sZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlQ29uc29sZTo6cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVm
aXgpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UpOgorICAgICAg
ICAqIHBhZ2UvUGFnZUNvbnNvbGUuaDoKKyAgICAgICAgKiBwYWdlL1BvaW50ZXJMb2NrQ29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb2ludGVyTG9ja0NvbnRyb2xsZXI6OnJlcXVl
c3RQb2ludGVyTG9jayk6CisgICAgICAgICogcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL1NoYXBlSW5mby5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpjaGVja1NoYXBlSW1hZ2VPcmlnaW4pOgorICAgICAgICAqIHN2Zy9TVkdEb2N1bWVudEV4
dGVuc2lvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVwb3J0TWVzc2FnZSk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlcG9ydFdhcm5pbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZXBvcnRFcnJvcik6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpj
b25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZmF1bHRT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtl
ckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlckdsb2JhbFNj
b3BlOjpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29y
a2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjphZGRNZXNzYWdlVG9Xb3Jr
ZXJDb25zb2xlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmg6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpsb2dDb25zb2xlRXJyb3IpOgorICAgICAgICAoV2ViQ29y
ZTo6WE1MSHR0cFJlcXVlc3Q6OnNlbmQpOgorICAgICAgICAqIHhtbC9YU0xUUHJvY2Vzc29yTGli
eHNsdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU0xUUHJvY2Vzc29yOjpwYXJzZUVycm9yRnVu
Yyk6CisKIDIwMTQtMDItMDMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAg
ICAgIEZlYXR1cmUgZmxhZyBmb3Igc2hhcGUtaW5zaWRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCA3OTFhOGM3Li5hYTM0ZTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTEwOTksNyArMTA5OSw2IEBAIElOU1BFQ1RPUl9ET01BSU5TID0gXAogICAgICQoV2Vi
Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0FwcGxpY2F0aW9uQ2FjaGUuanNvbiBcCiAgICAgJChX
ZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1NTLmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5z
cGVjdG9yL3Byb3RvY29sL0NhbnZhcy5qc29uIFwKLSAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9w
cm90b2NvbC9Db25zb2xlLmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29s
L0RPTS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9ET01EZWJ1Z2dl
ci5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9ET01TdG9yYWdlLmpz
b24gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9p
bnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5jZDU3ZDE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAgLTAsMCArMSw0IEBACisjaWZu
ZGVmIFdlYkNvcmVfRldEX0NvbnNvbGVNZXNzYWdlX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfQ29u
c29sZU1lc3NhZ2VfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVNZXNzYWdlLmg+
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2lu
c3BlY3Rvci9Db25zb2xlVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJz
L2luc3BlY3Rvci9Db25zb2xlVHlwZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi43YjcyOWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvaW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRl
ZiBXZWJDb3JlX0ZXRF9Db25zb2xlVHlwZXNfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9Db25zb2xl
VHlwZXNfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVUeXBlcy5oPgorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3Iv
SWRlbnRpZmllcnNGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9p
bnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uOGExMzViNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Zvcndh
cmRpbmdIZWFkZXJzL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaApAQCAtMCwwICsxLDQg
QEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSWRlbnRpZmllcnNGYWN0b3J5X2gKKyNkZWZpbmUgV2Vi
Q29yZV9GV0RfSWRlbnRpZmllcnNGYWN0b3J5X2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9J
ZGVudGlmaWVyc0ZhY3RvcnkuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Rm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIGIvU291cmNlL1dl
YkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1YTZmOTgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0QXJndW1l
bnRzLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX1NjcmlwdEFyZ3VtZW50
c19oCisjZGVmaW5lIFdlYkNvcmVfRldEX1NjcmlwdEFyZ3VtZW50c19oCisjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvU2NyaXB0QXJndW1lbnRzLmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaCBi
L1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJh
bWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzY3ODU4Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1Nj
cmlwdENhbGxGcmFtZS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9TY3Jp
cHRDYWxsRnJhbWVfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHRDYWxsRnJhbWVfaAorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdENhbGxGcmFtZS5oPgorI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbFN0YWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Q5N2Y3
ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2lu
c3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29y
ZV9GV0RfU2NyaXB0Q2FsbFN0YWNrX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0Q2FsbFN0
YWNrX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFk
ZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uNDQxZTdjNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgK
QEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX1NjcmlwdENhbGxTdGFja0ZhY3Rv
cnlfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5X2gKKyNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVh
ZGVycy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmZWNlYWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNv
bnNvbGVBZ2VudC5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9JbnNwZWN0
b3JDb25zb2xlQWdlbnRfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9JbnNwZWN0b3JDb25zb2xlQWdl
bnRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oPgor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDIzYzg5NGQuLjY0YjU4MzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCkBAIC0zMzksNyArMzM5LDYgQEAgV2ViQ29yZV9JTlNQRUNUT1JfRE9NQUlO
UyA6PSBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQXBwbGljYXRpb25DYWNo
ZS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9DU1MuanNvbiBcCiAg
ICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQ2FudmFzLmpzb24gXAotICAgICQoV2Vi
Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbiBcCiAgICAgJChXZWJDb3JlKS9p
bnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3By
b3RvY29sL0RPTURlYnVnZ2VyLmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3Rv
Y29sL0RPTVN0b3JhZ2UuanNvbiBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAz
MWQ0NDJhLi4yNTA1MmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI0Mzks
OCArMjQzOSw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NoZWR1bGVkQWN0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENhY2hlZEZyYW1lRGF0YS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENhY2hlZEZyYW1lRGF0YS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRIZWFwU25hcHNo
b3QuaCBcCkBAIC0zNzQ5LDE1ICszNzQ3LDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuaCBcCi0JU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3Nh
Z2UuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0RPTVBhdGNoU3VwcG9ydC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01Q
YXRjaFN1cHBvcnQuaCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFj
dG9yeS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3Rvcnku
aCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9k
dWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuY3BwIFwKQEAgLTM3NjksOCArMzc2Miw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggXAotCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb3VudGVycy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb3VudGVycy5oIFwKQEAgLTM4NDMsMTQgKzM4MzQsMTAgQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0
TWFuYWdlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmggXAotCVNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwIFwKLQlTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmggXAotCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmggXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3Rh
Y2suY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggXAog
CVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggXAorCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9XZWJEZWJ1Z2dlckFnZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkRl
YnVnZ2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVB
Z2VudC5jcHAgXApAQCAtNDA1OSw3ICs0MDQ2LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnNvbGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaCBcCi0JU291cmNl
L1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZW50U2VjdXJpdHlQb2xpY3kuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50Lmgg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKaW5k
ZXggZjZlYTMwZS4uOTFhNzdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQ3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJDdXJzb3IuY3BwCkBAIC0zNyw4ICszNyw4IEBACiAjaW5jbHVkZSAiSURCUmVxdWVz
dC5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgot
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVk
ZSA8bGltaXRzPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKaW5kZXggNDAxMTE5YS4uODNlNDdkZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNw
cApAQCAtNDQsOSArNDQsOSBAQAogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCiAjaW5jbHVk
ZSAiSURCVmVyc2lvbkNoYW5nZUV2ZW50LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1
ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKICNpbmNsdWRlIDxhdG9taWM+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5oPgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAK
aW5kZXggNWQyZjNmOC4uYTUwYTAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1
ZGUgIklEQk9wZW5EQlJlcXVlc3QuaCIKICNpbmNsdWRlICJJREJQZW5kaW5nVHJhbnNhY3Rpb25N
b25pdG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFj
ay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5k
b3dRdW90YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3Rh
LmNwcAppbmRleCBlYTNkNjU5Li5hM2YxZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcApAQCAtNzUsNyArNzUsNyBAQCBTdG9yYWdlSW5m
byogRE9NV2luZG93UXVvdGE6OndlYmtpdFN0b3JhZ2VJbmZvKERPTVdpbmRvdyogd2luZG93KQog
U3RvcmFnZUluZm8qIERPTVdpbmRvd1F1b3RhOjp3ZWJraXRTdG9yYWdlSW5mbygpIGNvbnN0CiB7
CiAgICAgaWYgKCFtX3N0b3JhZ2VJbmZvICYmIGZyYW1lKCkpIHsKLSAgICAgICAgZnJhbWUoKS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVz
c2FnZUxldmVsLCAid2luZG93LndlYmtpdFN0b3JhZ2VJbmZvIGlzIGRlcHJlY2F0ZWQuIFVzZSBu
YXZpZ2F0b3Iud2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBvciBuYXZpZ2F0b3Iud2Via2l0UGVyc2lz
dGVudFN0b3JhZ2UgaW5zdGVhZC4iKTsKKyAgICAgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywg
IndpbmRvdy53ZWJraXRTdG9yYWdlSW5mbyBpcyBkZXByZWNhdGVkLiBVc2UgbmF2aWdhdG9yLndl
YmtpdFRlbXBvcmFyeVN0b3JhZ2Ugb3IgbmF2aWdhdG9yLndlYmtpdFBlcnNpc3RlbnRTdG9yYWdl
IGluc3RlYWQuIik7CiAgICAgICAgIG1fc3RvcmFnZUluZm8gPSBTdG9yYWdlSW5mbzo6Y3JlYXRl
KCk7CiAgICAgfQogICAgIHJldHVybiBtX3N0b3JhZ2VJbmZvLmdldCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUu
Y3BwCmluZGV4IDhlZTZkNjEuLjk5NTE4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKQEAgLTMyLDEw
ICszMiwxMCBAQAogI2luY2x1ZGUgIkF1ZGlvTm9kZU91dHB1dC5oIgogI2luY2x1ZGUgIkF1ZGlv
VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCi0jaW5jbHVkZSAiU2Ny
aXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CisjaW5jbHVk
ZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CkBAIC00NjAsNyArNDYwLDcgQEAgYm9vbCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6Omxv
b3BpbmcoKQogewogICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9IHRydWU7CiAgICAgaWYgKGZp
cnN0VGltZSAmJiBjb250ZXh0KCkgJiYgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpIHsKLSAgICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENv
bnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlv
QnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2Ug
J2xvb3AnIGluc3RlYWQuIik7CisgICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVs
OjpXYXJuaW5nLCAiQXVkaW9CdWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMg
ZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4iKTsKICAgICAgICAgZmlyc3RUaW1lID0g
ZmFsc2U7CiAgICAgfQogCkBAIC00NzEsNyArNDcxLDcgQEAgdm9pZCBBdWRpb0J1ZmZlclNvdXJj
ZU5vZGU6OnNldExvb3BpbmcoYm9vbCBsb29waW5nKQogewogICAgIHN0YXRpYyBib29sIGZpcnN0
VGltZSA9IHRydWU7CiAgICAgaWYgKGZpcnN0VGltZSAmJiBjb250ZXh0KCkgJiYgY29udGV4dCgp
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgY29udGV4dCgpLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2Fy
bmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmli
dXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7CisgICAgICAgIGNvbnRl
eHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
ICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4i
KTsKICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggNDg1NGZmMC4uYWMy
MjUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Nv
bnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmNwcApAQCAtNTUsNyArNTUsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQ
YW5uZXJOb2RlLmgiCiAjaW5jbHVkZSAiUGVyaW9kaWNXYXZlLmgiCi0jaW5jbHVkZSAiU2NyaXB0
Q2FsbFN0YWNrLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2lu
Y2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9jZXNzb3JOb2Rl
LmgiCiAjaW5jbHVkZSAiV2F2ZVNoYXBlck5vZGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCmluZGV4IDE3YmYxMzAuLjkwMjc2NTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcApAQCAtMjA1
LDcgKzIwNSw3IEBAIGJvb2wgUGFubmVyTm9kZTo6c2V0UGFubmluZ01vZGVsKHVuc2lnbmVkIG1v
ZGVsKQogICAgICAgICBicmVhazsKICAgICBjYXNlIFNPVU5ERklFTEQ6CiAgICAgICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQgc291bmQgZmllbGQgbW9kZWwuIFNlZSAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjcuCi0gICAgICAgIGNvbnRleHQoKS0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdh
cm5pbmdNZXNzYWdlTGV2ZWwsICInc291bmRmaWVsZCcgcGFubmluZyBtb2RlbCBub3QgaW1wbGVt
ZW50ZWQuIik7CisgICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5n
LCAiJ3NvdW5kZmllbGQnIHBhbm5pbmcgbW9kZWwgbm90IGltcGxlbWVudGVkLiIpOwogICAgICAg
ICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAKaW5kZXgg
YWYyMzc3YS4uNWYxMGJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcApAQCAtNDYsNyArNDYsNyBAQCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBEYXRhYmFzZUJhc2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAog
CiB2b2lkIERhdGFiYXNlQmFzZTo6bG9nRXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKIHsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKFN0
b3JhZ2VNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpT
dG9yYWdlLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IDBiNjBjOTYuLjFmMDI1YWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5j
cHAKQEAgLTQ2Nyw3ICs0NjcsNyBAQCB2b2lkIERhdGFiYXNlTWFuYWdlcjo6aW50ZXJydXB0QWxs
RGF0YWJhc2VzRm9yQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogCiB2b2lkIERh
dGFiYXNlTWFuYWdlcjo6bG9nRXJyb3JNZXNzYWdlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBjb250ZXh0LT5hZGRDb25zb2xl
TWVzc2FnZShTdG9yYWdlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2Up
OworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlN0b3JhZ2Us
IE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3Bw
CmluZGV4IDcyYjE5MmEuLjgzNGMwNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC00OCwxMiArNDgsMTIgQEAKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIK
LSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNlY3Vy
aXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCIKICNp
bmNsdWRlICJXZWJTb2NrZXRDaGFubmVsLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDxy
dW50aW1lL0FycmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC0y
MTQsMjYgKzIxNCwyNiBAQCB2b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29scywgRXhjZQogICAgIG1fdXJsID0gVVJM
KFVSTCgpLCB1cmwpOwogCiAgICAgaWYgKCFtX3VybC5pc1ZhbGlkKCkpIHsKLSAgICAgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IEVycm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwu
c3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOworICAgICAgICBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5n
Q2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwog
ICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBp
ZiAoIW1fdXJsLnByb3RvY29sSXMoIndzIikgJiYgIW1fdXJsLnByb3RvY29sSXMoIndzcyIpKSB7
Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVybCBzY2hlbWUgZm9yIFdl
YlNvY2tldCAiICsgbV91cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOworICAg
ICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiV3JvbmcgdXJsIHNjaGVtZSBmb3IgV2Vi
U29ja2V0ICIgKyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAgICAg
ICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICBpZiAobV91cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpIHsK
LSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiVVJMIGhhcyBmcmFnbWVudCBjb21wb25l
bnQgIiArIG1fdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpKTsKKyAgICAgICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIlVSTCBoYXMgZnJhZ21lbnQgY29tcG9uZW50ICIg
KyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAgICAgICAgIG1fc3Rh
dGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICBpZiAoIXBvcnRBbGxvd2VkKG1fdXJsKSkgewotICAgICAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcG9ydCAiICsgU3RyaW5nOjpudW1iZXIobV91cmwucG9y
dCgpKSArICIgYmxvY2tlZCIpOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAi
V2ViU29ja2V0IHBvcnQgIiArIFN0cmluZzo6bnVtYmVyKG1fdXJsLnBvcnQoKSkgKyAiIGJsb2Nr
ZWQiKTsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgZWMgPSBTRUNVUklUWV9F
UlI7CiAgICAgICAgIHJldHVybjsKQEAgLTI2NCw3ICsyNjQsNyBAQCB2b2lkIFdlYlNvY2tldDo6
Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29s
cywgRXhjZQogICAgIC8vIGNvbXBseSB3aXRoIFdlYlNvY2tldCBBUEkgc3BlY2lmaWNhdGlvbiwg
YnV0IGl0IHNlZW1zIHRvIGJlIHRoZSBvbmx5IHJlYXNvbmFibGUgd2F5IHRvIGhhbmRsZSB0aGlz
IGNvbmZsaWN0LgogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvdG9jb2xzLnNpemUoKTsg
KytpKSB7CiAgICAgICAgIGlmICghaXNWYWxpZFByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkp
IHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3RvY29sIGZv
ciBXZWJTb2NrZXQgJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsgIici
KTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJXcm9uZyBwcm90b2Nv
bCBmb3IgV2ViU29ja2V0ICciICsgZW5jb2RlUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ldKSAr
ICInIik7CiAgICAgICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICAgICAgZWMgPSBT
WU5UQVhfRVJSOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjczLDcgKzI3Myw3IEBAIHZvaWQg
V2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgSGFzaFNldDxTdHJpbmc+IHZpc2l0ZWQ7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBwcm90b2NvbHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYg
KCF2aXNpdGVkLmFkZChwcm90b2NvbHNbaV0pLmlzTmV3RW50cnkpIHsKLSAgICAgICAgICAgIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBwcm90b2NvbHMgY29udGFpbiBkdXBsaWNh
dGVzOiAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkgKyAiJyIpOworICAg
ICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldlYlNvY2tldCBwcm90b2NvbHMg
Y29udGFpbiBkdXBsaWNhdGVzOiAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tp
XSkgKyAiJyIpOwogICAgICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgICAgIGVj
ID0gU1lOVEFYX0VSUjsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTMwNSw3ICszMDUsNyBAQCB2
b2lkIFdlYlNvY2tldDo6c2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogICAgIEFTU0VSVChtX2NoYW5uZWwpOwogICAgIFRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsOjpTZW5kUmVzdWx0IHJlc3VsdCA9IG1fY2hhbm5lbC0+c2VuZChtZXNzYWdlKTsKICAgICBp
ZiAocmVzdWx0ID09IFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpJbnZhbGlkTWVzc2FnZSkg
ewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJzb2NrZXQgbWVzc2FnZSBjb250
YWlucyBpbnZhbGlkIGNoYXJhY3RlcihzKS4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVs
OjpFcnJvciwgIldlYnNvY2tldCBtZXNzYWdlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyKHMp
LiIpOwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC0zNzgsNyArMzc4LDcgQEAgdm9pZCBXZWJTb2NrZXQ6OmNsb3NlKGludCBjb2RlLCBjb25zdCBT
dHJpbmcmIHJlYXNvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIH0KICAgICAgICAgQ1N0
cmluZyB1dGY4ID0gcmVhc29uLnV0ZjgoU3RyaWN0Q29udmVyc2lvblJlcGxhY2luZ1VucGFpcmVk
U3Vycm9nYXRlc1dpdGhGRkZEKTsKICAgICAgICAgaWYgKHV0ZjgubGVuZ3RoKCkgPiBtYXhSZWFz
b25TaXplSW5CeXRlcykgewotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2Vi
U29ja2V0IGNsb3NlIG1lc3NhZ2UgaXMgdG9vIGxvbmcuIik7CisgICAgICAgICAgICBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBN
ZXNzYWdlTGV2ZWw6OkVycm9yLCAiV2ViU29ja2V0IGNsb3NlIG1lc3NhZ2UgaXMgdG9vIGxvbmcu
Iik7CiAgICAgICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KQEAgLTQ0Myw3ICs0NDMsNyBAQCB2b2lkIFdlYlNvY2tldDo6c2V0QmluYXJ5VHlw
ZShjb25zdCBTdHJpbmcmIGJpbmFyeVR5cGUpCiAgICAgICAgIG1fYmluYXJ5VHlwZSA9IEJpbmFy
eVR5cGVBcnJheUJ1ZmZlcjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICInIiArIGJpbmFyeVR5cGUgKyAiJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBm
b3IgYmluYXJ5VHlwZTsgYmluYXJ5VHlwZSByZW1haW5zIHVuY2hhbmdlZC4iKTsKKyAgICBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpT
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiJyIgKyBiaW5hcnlUeXBlICsgIicgaXMgbm90IGEgdmFs
aWQgdmFsdWUgZm9yIGJpbmFyeVR5cGU7IGJpbmFyeVR5cGUgcmVtYWlucyB1bmNoYW5nZWQuIik7
CiB9CiAKIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIFdlYlNvY2tldDo6ZXZlbnRUYXJnZXRJbnRlcmZh
Y2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IDcxNjRlZGMuLjgxYzZmNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5j
cHAKQEAgLTQ4LDE0ICs0OCwxMiBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQcm9n
cmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNpbmNsdWRlICJT
Y3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAj
aW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTb2NrZXRTdHJlYW1FcnJvci5oIgogI2lu
Y2x1ZGUgIlNvY2tldFN0cmVhbUhhbmRsZS5oIgogI2luY2x1ZGUgIldlYlNvY2tldENoYW5uZWxD
bGllbnQuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRIYW5kc2hha2UuaCIKLQogI2luY2x1ZGUgPHJ1
bnRpbWUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3
dGYvRmFzdE1hbGxvYy5oPgpAQCAtMTk4LDcgKzE5Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5l
bDo6ZmFpbChjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBBU1NFUlQoIW1fc3VzcGVuZGVkKTsK
ICAgICBpZiAobV9kb2N1bWVudCkgewogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKG1fZG9jdW1lbnQsIG1faWRlbnRpZmllciwg
cmVhc29uKTsKLSAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTmV0d29ya01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8g
JyIgKyBtX2hhbmRzaGFrZS0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkg
KyAiJyBmYWlsZWQ6ICIgKyByZWFzb24pOworICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiV2Vi
U29ja2V0IGNvbm5lY3Rpb24gdG8gJyIgKyBtX2hhbmRzaGFrZS0+dXJsKCkuc3RyaW5nQ2VudGVy
RWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBmYWlsZWQ6ICIgKyByZWFzb24pOwogICAgIH0KIAog
ICAgIC8vIEh5YmktMTAgc3BlY2lmaWNhdGlvbiBleHBsaWNpdGx5IHN0YXRlcyB3ZSBtdXN0IG5v
dCBjb250aW51ZSB0byBoYW5kbGUgaW5jb21pbmcgZGF0YQpAQCAtMzM1LDcgKzMzMyw3IEBAIHZv
aWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkRmFpbFNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5k
bGUqIGhhbmRsZSwgY29uc3QgU29jCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1lc3NhZ2Ug
PSAiV2ViU29ja2V0IG5ldHdvcmsgZXJyb3I6ICIgKyBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlv
bigpOwogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2Nr
ZXRGcmFtZUVycm9yKG1fZG9jdW1lbnQsIG1faWRlbnRpZmllciwgbWVzc2FnZSk7Ci0gICAgICAg
IG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcmssIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3Nh
Z2UpOwogICAgIH0KICAgICBtX3Nob3VsZERpc2NhcmRSZWNlaXZlZERhdGEgPSB0cnVlOwogICAg
IGhhbmRsZS0+ZGlzY29ubmVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcAppbmRleCBlNjc4MmNmLi42ODZm
NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0SGFuZHNoYWtlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0SGFuZHNoYWtlLmNwcApAQCAtNDQsNyArNDQsNiBAQAogI2luY2x1ZGUgIlVSTC5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlIDx3dGYvQ3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Vz
ZUpTQy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCAyZGIwZmJkLi4x
MTYyOTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCkBAIC0xNTYsNyArMTU2LDYgQEAgbGlzdChBUFBFTkQg
V2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNw
cAogICAgIGJpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAKICAgICBiaW5kaW5ncy9qcy9T
Y3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwCi0gICAgYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeS5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAogICAgIGJp
bmRpbmdzL2pzL1NjcmlwdEdsb2JhbE9iamVjdC5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRQ
cm9maWxlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBkZmNhZjU1Li45NWIyOTRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjc3OCw3ICsyNzc4LDYgQEAgX19aTjdXZWJDb3JlMTlJbnNw
ZWN0b3JDb250cm9sbGVyMjZzZXRJbnNwZWN0b3JGcm9udGVuZENsaWVudEVOU3QzX18xMTB1bmlx
dWVfcHQKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjM5c2V0UmVzb3VyY2VzRGF0
YVNpemVMaW1pdHNGcm9tSW50ZXJuYWxzRWlpCiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRy
b2xsZXI0c2hvd0V2CiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXI1Y2xvc2VFdgot
X19aTjdXZWJDb3JlMjFJbnNwZWN0b3JDb25zb2xlQWdlbnQyOGNvbnNvbGVNZXNzYWdlQXJndW1l
bnRDb3VudHNFdgogX19aTjdXZWJDb3JlMjJpbnN0cnVtZW50YXRpb25Gb3JQYWdlRVBOU180UGFn
ZUUKIF9fWk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uMTdzX2Zyb250ZW5kQ291
bnRlckUKIF9fWk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uMjZpbnN0cnVtZW50
aW5nQWdlbnRzRm9yUGFnZUVQTlNfNFBhZ2VFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA1YjlmMGFmLi41YzI4ZmE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE3MjE2LDIw
ICsxNzIxNiw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAiPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNh
aXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZm
aXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3Vm
Zml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2lu
Q2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0
aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0
aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q29udHJvbGxlci5jcHAi
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTc1MDYs
MTQgKzE3NDkyLDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcQ29uc29sZU1lc3NhZ2UuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNh
aXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlv
bnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlv
bnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxET01FZGl0b3IuY3BwIj4KICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xNzUzMCwxNCArMTc1
MDgsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZS5j
cHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAg
LTE3NTc4LDE0ICsxNzU0OCw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAiPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xD
b21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNv
bnRyb2xsZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+CkBAIC0xNzg1OCwzMCArMTc4MjAsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRBcmd1bWVudHMuY3BwIj4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8
L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRD
YWxsRnJhbWUuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsU3RhY2suY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVj
dGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVj
dGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxUaW1lbGluZVJlY29yZEZhY3Rvcnku
Y3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBA
IC0xNzg5MCw2ICsxNzgyOCwxNCBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25zb2xlQWdlbnQuY3BwIj4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Jl
bGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGls
ZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJEZWJ1Z2dlckFnZW50
LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpA
QCAtMTg0OTYsNiArMTg0NDIsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNcaGVhcFxTbG90VmlzaXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxTdHJvbmdJbmxpbmVzLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xoZWFwXFdlYWsuaCIgLz4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxDb25z
b2xlTWVzc2FnZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNcaW5zcGVjdG9yXENvbnNvbGVUeXBlcy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXElkZW50aWZpZXJzRmFjdG9yeS5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9y
XEluamVjdGVkU2NyaXB0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJk
aW5nSGVhZGVyc1xpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRCYXNlLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcSW5qZWN0ZWRTY3Jp
cHRIb3N0LmgiIC8+CkBAIC0xODUxMSw3ICsxODQ2MCwxNCBAQAogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluc3BlY3RvckpTVHlwZUJ1aWxk
ZXJzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xp
bnNwZWN0b3JcSW5zcGVjdG9yVHlwZUJ1aWxkZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJbnNwZWN0b3JWYWx1ZXMuaCIgLz4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxT
Y3JpcHRBcmd1bWVudHMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRp
bmdIZWFkZXJzXGluc3BlY3RvclxTY3JpcHRCcmVha3BvaW50LmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0Q2FsbEZyYW1l
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNw
ZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxG
b3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFn
ZW50c1xJbnNwZWN0b3JBZ2VudC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
clxhZ2VudHNcSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JSdW50
aW1lQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFk
ZXJzXG1hc21cWDg2QXNzZW1ibGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxG
b3J3YXJkaW5nSGVhZGVyc1xwYXJzZXJcU291cmNlQ29kZS5oIiAvPgpAQCAtMTg3NjUsNyArMTg3
MjEsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxDaHJvbWVDbGllbnQuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcYW5pbWF0aW9uXENvbXBvc2l0ZUFu
aW1hdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxDb25zb2xlLmgi
IC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnNvbGVUeXBlcy5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGV4dE1lbnVDbGllbnQuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGV4dE1lbnVDb250cm9sbGVy
LmgiIC8+CkBAIC0yMDU0MSw3ICsyMDQ5Niw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xQYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjaGVkdWxlZEFjdGlvbi5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgiIC8+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3Jp
cHRDb250cm9sbGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xq
c1xTY3JpcHRIZWFwU25hcHNob3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJp
bmRpbmdzXGpzXFNjcmlwdEdsb2JhbE9iamVjdC5oIiAvPgpAQCAtMjA4NDUsMTkgKzIwNzk5LDE1
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxicmlkZ2VccnVudGltZV9tZXRob2QuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJyaWRnZVxydW50aW1lX29iamVjdC5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYnJpZGdlXHJ1bnRpbWVfcm9vdC5oIiAvPgot
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVBUElUeXBlcy5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbW1hbmRMaW5lQVBJSG9z
dC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbW1hbmRMaW5l
QVBJTW9kdWxlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29u
c29sZU1lc3NhZ2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxE
T01FZGl0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxET01Q
YXRjaFN1cHBvcnQuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJ
ZGVudGlmaWVyc0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNhbnZhc0FnZW50
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yQ2Fu
dmFzSW5zdHJ1bWVudGF0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcSW5zcGVjdG9yQ2xpZW50LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnRyb2xsZXIu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb3Vu
dGVycy5oIiAvPgpAQCAtMjA4OTgsMTAgKzIwODQ4LDggQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFBhZ2VSdW50aW1lQWdlbnQu
aCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRBcmd1bWVu
dHMuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxs
RnJhbWUuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRD
YWxsU3RhY2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxUaW1l
bGluZVJlY29yZEZhY3RvcnkuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxXZWJDb25zb2xlQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxXZWJEZWJ1Z2dlckFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcV29ya2VyQ29uc29sZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcV29ya2VyRGVidWdnZXJBZ2VudC5oIiAvPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmlu
ZGV4IGMwOTJhOTQuLjc4NDgwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTQ0OTQsOSArNDQ5NCw2IEBA
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDYWNoZWRGcmFt
ZURhdGEuY3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENh
bGxTdGFja0ZhY3RvcnkuY3BwIj4KLSAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4K
LSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpz
XFNjcmlwdENvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRl
cj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ3MjUsMTggKzQ3MjIsMTIgQEAKICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb21tYW5kTGluZUFQSU1vZHVsZS5jcHAiPgogICAg
ICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb25zb2xlTWVzc2FnZS5jcHAiPgotICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxET01FZGl0b3IuY3BwIj4KICAgICAgIDxGaWx0ZXI+
aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcRE9NUGF0Y2hTdXBwb3J0LmNwcCI+CiAgICAgICA8RmlsdGVyPmlu
c3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXElkZW50aWZpZXJzRmFjdG9yeS5jcHAiPgotICAgICAgPEZpbHRlcj5p
bnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZS5jcHAiPgogICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ3NTIsOSAr
NDc0Myw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9y
Q2xpZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNv
bnNvbGVBZ2VudC5jcHAiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8
L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0
b3JDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAg
IDwvQ2xDb21waWxlPgpAQCAtNDg1NCwxOCArNDg0MiwxMiBAQAogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXFBhZ2VSdW50aW1lQWdlbnQuY3BwIj4KICAgICAgIDxGaWx0ZXI+
aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmNwcCI+Ci0gICAgICA8RmlsdGVyPmlu
c3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXFNjcmlwdENhbGxGcmFtZS5jcHAiPgotICAgICAgPEZpbHRlcj5pbnNw
ZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsU3RhY2suY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVj
dG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCI+CiAgICAgICA8RmlsdGVyPmlu
c3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXFdlYkNvbnNvbGVBZ2VudC5jcHAiPgorICAgICAgPEZpbHRlcj5pbnNw
ZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxXZWJEZWJ1Z2dlckFnZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3Bl
Y3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtNzQ5Myw5ICs3NDc1LDYgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29uc29sZS5oIj4KICAgICAgIDxGaWx0ZXI+
cGFnZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGFnZVxDb25zb2xlVHlwZXMuaCI+Ci0gICAgICA8RmlsdGVyPnBhZ2U8L0ZpbHRlcj4KLSAg
ICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGVudFNl
Y3VyaXR5UG9saWN5LmgiPgogICAgICAgPEZpbHRlcj5wYWdlPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+CkBAIC0xMTM1NCw5ICsxMTMzMyw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCI+CiAgICAgICA8RmlsdGVyPmJp
bmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiPgotICAgICAgPEZp
bHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q29udHJvbGxlci5oIj4KICAgICAgIDxG
aWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTEyMDkyLDYg
KzEyMDY4LDE1IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xoZWFwXFN0cm9uZy5oIj4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaGVhcDwv
RmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmgiPgorICAgICAgPEZpbHRl
cj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxD
b25zb2xlVHlwZXMuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
cjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXElkZW50aWZpZXJzRmFjdG9yeS5oIj4KKyAgICAg
IDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbElu
Y2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNw
ZWN0b3JcSW5qZWN0ZWRTY3JpcHQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTIxMzcsOSArMTIxMjIs
MzAgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3Bl
Y3RvclxJbnNwZWN0b3JWYWx1ZXMuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdEFyZ3VtZW50cy5oIj4K
KyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xpbnNwZWN0b3JcU2NyaXB0QnJlYWtwb2ludC5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGlu
Z0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0Q2FsbEZy
YW1lLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRl
cj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRp
bmdIZWFkZXJzXGluc3BlY3RvclxTY3JpcHRDYWxsU3RhY2suaCI+CisgICAgICA8RmlsdGVyPkZv
cndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGlu
c3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JBZ2VudC5o
Ij4KICAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIj4KKyAgICAgIDxG
aWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1
ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0
b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCI+CisgICAgICA8RmlsdGVyPkZvcndh
cmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJ
bnNwZWN0b3JSdW50aW1lQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTIyNTcsMjEgKzEyMjYz
LDEyIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29tbWFuZExpbmVB
UElNb2R1bGUuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJ
bmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVBUElU
eXBlcy5oIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1
ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29uc29sZU1lc3NhZ2Uu
aCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXERPTUVkaXRvci5oIj4KICAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NUGF0Y2hTdXBwb3J0LmgiPgogICAgICAgPEZp
bHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuaCI+Ci0gICAgICA8Rmls
dGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlLmgiPgogICAg
ICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTEyMjg3
LDkgKzEyMjg0LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JDbGllbnQuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
ckNvbnNvbGVBZ2VudC5oIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAg
PC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVj
dG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMjQxMCwxOCArMTI0MDQsMTIgQEAKICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQYWdlUnVudGltZUFnZW50LmgiPgogICAg
ICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRBcmd1bWVudHMuaCI+Ci0gICAgICA8
RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdENhbGxGcmFtZS5oIj4KLSAgICAgIDxGaWx0
ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiPgotICAgICAgPEZpbHRlcj5p
bnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxUaW1lbGluZVJlY29yZEZhY3RvcnkuaCI+CiAgICAgICA8RmlsdGVy
Pmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXFdlYkNvbnNvbGVBZ2VudC5oIj4KKyAgICAgIDxGaWx0ZXI+aW5z
cGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVj
dG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMDRmZmE0Ny4uYTIxNGMxNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTA1Nyw3ICsxMDU3LDYgQEAKIAkJMkQ5RjBFMTMxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVh
clNSR0IuaWNjIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDlGMEUxMjE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgKi87IH07CiAJCTJE
QkFERTBCMTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRCQURFMDkxODhFNTkxNTAw
NEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkRCQURFMEMxODhFNTkxNTAwNEQ3OTgxIC8qIFdl
YkNvcmVDQUxheWVyRXh0cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkRCQURFMEExODhFNTkxNTAwNEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0
cmFzLm1tICovOyB9OwotCQkyREYyRTlENTE2NkUzOTc1MDAzNUJFRjIgLyogQ29uc29sZUFQSVR5
cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREYy
RTlENDE2NkUzOTc0MDAzNUJFRjIgLyogQ29uc29sZUFQSVR5cGVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkUwODg4RDQxMTQ4ODQ4QTAwQUY0
MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEu
Y3BwICovOyB9OwogCQkyRTA4ODhENTExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUwODg4RDMx
MTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCAqLzsgfTsKIAkJMkUwODg4RTYxMTQ4
ODRFMjAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGFDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUwODg4RTUxMTQ4ODRFMjAwQUY0MjY1IC8q
IEpTRE9NRm9ybURhdGFDdXN0b20uY3BwICovOyB9OwpAQCAtMTMzOSwxMCArMTMzOCw2IEBACiAJ
CTQxNjdFQkY1MTAyOTYyQkEwMDNEMjUyQSAvKiBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9y
eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTY3
RUJGMzEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3Bw
ICovOyB9OwogCQk0MTY3RUJGNjEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxNjdFQkY0MTAyOTYyQkEwMDNEMjUyQSAvKiBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3Np
dG9yeS5oICovOyB9OwogCQk0MTZFMjlBNjEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0
aW5nUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxNkUyOUE1MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5oICovOyB9
OwotCQk0MTZFNzVCRTBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZFNzVCQzBFREY4RkQ3
MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDE2RTc1QkYwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlw
dENhbGxTdGFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTZFNzVCRDBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLzsg
fTsKLQkJNDE2RTc1Q0IwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1QzkwRURGOTBD
NzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQxNkU3NUNDMEVERjkwQzcwMDM2MEUxRCAvKiBTY3Jp
cHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE2RTc1Q0EwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgKi87
IH07CiAJCTQxNzI1M0FBMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNB
ODEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwICovOyB9OwogCQk0
MTcyNTNBQjEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNzI1M0E5MTM1NEJCQkMw
MDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5oICovOyB9OwogCQk0MTdEQTZEOTEzNzM0
RTZFMDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RBNENGMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMu
Y3BwICovOyB9OwpAQCAtMTM4Miw4ICsxMzc3LDYgQEAKIAkJNDFFMUIxRDEwRkY1OTg2OTAwNTc2
QjNCIC8qIEFic3RyYWN0V29ya2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUUxQjFDQjBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIu
aCAqLzsgfTsKIAkJNDFFMUIxRDMwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUUxQjFDRDBG
RjU5ODY5MDA1NzZCM0IgLyogU2hhcmVkV29ya2VyLmNwcCAqLzsgfTsKIAkJNDFFMUIxRDQwRkY1
OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0UwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdv
cmtlci5oICovOyB9OwotCQk0MUYwNjE4RTBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3Nh
Z2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2
MThDMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5oICovOyB9OwotCQk0MUYwNjE4
RjBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGMDYxOEQwRjVGMDY5ODAwQTA3RUFDIC8q
IENvbnNvbGVNZXNzYWdlLmNwcCAqLzsgfTsKIAkJNDFGMDYyMTQwRjVGMTkyNjAwQTA3RUFDIC8q
IEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MjEyMEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JE
YXRhYmFzZVJlc291cmNlLmggKi87IH07CiAJCTQxRjA2MjE1MEY1RjE5MjYwMEEwN0VBQyAvKiBJ
bnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MjEzMEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JE
YXRhYmFzZVJlc291cmNlLmNwcCAqLzsgfTsKIAkJNDFGMDY2RTQwRjY0QkNGNjAwQTA3RUFDIC8q
IFNjcmlwdEdsb2JhbE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFGMDY2RTIwRjY0QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEdsb2JhbE9iamVj
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0x
OTg0LDggKzE5NzcsNiBAQAogCQk1OTA1QURDMDEzMDJGM0NFMDBGMTE2REYgLyogWE1MVHJlZVZp
ZXdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkw
NUFEQkUxMzAyRjNDRTAwRjExNkRGIC8qIFhNTFRyZWVWaWV3ZXIuaCAqLzsgfTsKIAkJNTkwRTFC
NDkxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0aW9uRGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwRTFCNDgxMUU0RUY0QjAwNjlG
Nzg0IC8qIERldmljZU9yaWVudGF0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU5MEUxQjRCMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi87IH07Ci0JCTU5MTNBMjQxMTNENDlFQkEwMEY1
QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTkxM0EyM0YxM0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZp
ZXJzRmFjdG9yeS5jcHAgKi87IH07Ci0JCTU5MTNBMjQyMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVu
dGlmaWVyc0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU5MTNBMjQwMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuaCAq
LzsgfTsKIAkJNTkzMDlBMTExMUY0QUU1ODAwMjUwNjAzIC8qIERldmljZU9yaWVudGF0aW9uQ2xp
ZW50TW9jay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1OTMwOUExMDExRjRBRTU4MDAyNTA2MDMgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2Nr
LmNwcCAqLzsgfTsKIAkJNTkzMDlBMTMxMUY0QUU2QTAwMjUwNjAzIC8qIERldmljZU9yaWVudGF0
aW9uQ2xpZW50TW9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTkzMDlBMTIxMUY0QUU2QTAwMjUwNjAzIC8qIERldmljZU9yaWVudGF0aW9uQ2xpZW50
TW9jay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTU5ODM2NUREMTM1NUY1NTcwMDFCMTg1RCAvKiBKU1Bvc2l0aW9uQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5ODM2NURDMTM1NUY1M0Mw
MDFCMTg1RCAvKiBKU1Bvc2l0aW9uQ2FsbGJhY2suaCAqLzsgfTsKQEAgLTM2MjksNiArMzYyMCw4
IEBACiAJCUE1NDE2RkU2MTg4MTBFRjgwMDA5RkM1RiAvKiBZb3VUdWJlRW1iZWRTaGFkb3dFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTQx
NkZFNDE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oICovOyB9
OwogCQlBNTRBODJFQzE1MjI4RDJGMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NEE4MkVBMTUyMjhDQTMw
MEM3MkJBNiAvKiBET01Ob2RlUHJpdmF0ZS5oICovOyB9OwogCQlBNTRBODJGMTE1MjI4REY2MDBD
NzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NEE4MkVBMTUyMjhDQTMwMEM3MkJBNiAv
KiBET01Ob2RlUHJpdmF0ZS5oICovOyB9OworCQlBNTZDNUI5QTE4OUYzNDU3MDA4MkQxM0MgLyog
V2ViQ29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1NkM1Qjk4MTg5RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuY3Bw
ICovOyB9OworCQlBNTZDNUI5QjE4OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTZDNUI5OTE4
OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmggKi87IH07CiAJCUE1NzMyQjBBMTM2
QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0
ZUNvbXBvbmVudHMuY3BwICovOyB9OwogCQlBNTczMkIwQjEzNkExNjFEMDA1QzhEN0MgLyogRGF0
ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1NzMyQjA5MTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE1ODQwRTFDMTg3Qjc0
RDUwMDg0M0IxMCAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU4NDBFMUExODdCNzRENTAw
ODQzQjEwIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5jcHAgKi87IH07CkBAIC01
MjM2LDcgKzUyMjksNiBAQAogCQlCQ0U0NDEzMzEyRjc0OEUyMDA5Qjg0QjggLyogUmVuZGVyQ29t
YmluZVRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNFNDQxMzExMkY3NDhFMjAwOUI4NEI4IC8qIFJlbmRlckNvbWJpbmVUZXh0LmNwcCAqLzsg
fTsKIAkJQkNFNDQxMzQxMkY3NDhFMjAwOUI4NEI4IC8qIFJlbmRlckNvbWJpbmVUZXh0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U0NDEzMjEyRjc0
OEUyMDA5Qjg0QjggLyogUmVuZGVyQ29tYmluZVRleHQuaCAqLzsgfTsKIAkJQkNFNDQxMzYxMkY3
NDkwQjAwOUI4NEI4IC8qIEZvbnRXaWR0aFZhcmlhbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTQ0MTM1MTJGNzQ5MEIwMDlCODRCOCAvKiBGb250
V2lkdGhWYXJpYW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKLQkJQkNFNTY0NEUxMzdBMzRENjAwN0QyOTM0IC8qIENvbnNvbGVUeXBlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFNTY0NEQxMzdBMzRE
NjAwN0QyOTM0IC8qIENvbnNvbGVUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUJDRTY1OEZGMEVBOTI0OEEwMDdFNDUzMyAvKiBUaGVtZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFNjU4RkUw
RUE5MjQ4QTAwN0U0NTMzIC8qIFRoZW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFNjU5QTkwRUE5MjdCOTAwN0U0NTMzIC8qIFRoZW1lVHlw
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTY1
OUE4MEVBOTI3QjkwMDdFNDUzMyAvKiBUaGVtZVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFNjU5RTYwRUE5MkZCMjAwN0U0NTMzIC8q
IFRoZW1lTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0U2NTlFNTBFQTkyRkIyMDA3RTQ1MzMgLyogVGhlbWVNYWMuaCAqLzsgfTsKQEAgLTYwMjQs
OCArNjAxNiw2IEBACiAJCUYyOTNCMjdFNTZDMTEyRjM3M0ZGRjI3RSAvKiBETlNSZXNvbHZlUXVl
dWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2
MDEyODA2MDA3OEJCNzBFMzY3QTk1IC8qIEROU1Jlc29sdmVRdWV1ZS5jcHAgKi87IH07CiAJCUYz
MjVBNDBBMTRFRTM2RkEwMDczMjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzI1QTQwODE0RUUzNkZBMDA3
MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuY3BwICovOyB9OwogCQlGMzI1QTQwQjE0RUUzNkZB
MDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzMjVBNDA5MTRFRTM2RkEwMDczMjRFMiAvKiBJbnNwZWN0
b3JDb3VudGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCUYzMzM1QkY4MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjMzMzVC
RjYxMkUwN0RDMzAwRDMzMDExIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi87IH07Ci0J
CUYzMzM1QkY5MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzMzM1QkY3MTJFMDdE
QzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLzsgfTsKIAkJRjMzRjAyODIx
MjA5NDdGMjAwRTU3NDNBIC8qIFNjcmlwdFByb2ZpbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjMzRjAyODExMjA5NDdGMjAwRTU3NDNBIC8qIFNj
cmlwdFByb2ZpbGUuY3BwICovOyB9OwogCQlGMzQ0QzcxNDExMjVCODJDMDBGMjZFRUUgLyogSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYzNDRDNzEyMTEyNUI4MkMwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUYzNDRDNzUzMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzQ0
Qzc1MjExMjk0RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC02MDUyLDEw
ICs2MDQyLDYgQEAKIAkJRjM4MjA4OTcxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlckNvbnNvbGVB
Z2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM4
MjA4OEYxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlckNvbnNvbGVBZ2VudC5oICovOyB9OwogCQlG
MzgyMDg5ODE0N0QzNUY5MDAxMEJDMDYgLyogV29ya2VyUnVudGltZUFnZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzODIwODkwMTQ3RDM1Rjkw
MDEwQkMwNiAvKiBXb3JrZXJSdW50aW1lQWdlbnQuY3BwICovOyB9OwogCQlGMzgyMDg5OTE0N0Qz
NUY5MDAxMEJDMDYgLyogV29ya2VyUnVudGltZUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzgyMDg5MTE0N0QzNUY5MDAxMEJDMDYgLyogV29y
a2VyUnVudGltZUFnZW50LmggKi87IH07Ci0JCUYzOTIyNDlDMTI2RjExQUUwMEE5MjZEOSAvKiBT
Y3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEYzOTIyNDlBMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5LmNwcCAqLzsgfTsKLQkJRjM5MjI0OUQxMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEYzOTIyNDlCMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0
b3J5LmggKi87IH07Ci0JCUYzOUJFOTVCMTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVu
dHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM5
QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi87IH07Ci0JCUYz
OUJFOTVDMTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzOUJFOTVBMTI2NzNCRjQwMEUwQTY3
NCAvKiBTY3JpcHRBcmd1bWVudHMuaCAqLzsgfTsKIAkJRjNBQkZFMEMxMzBFOURBMDAwRTdGN0Qx
IC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5n
QWdlbnRzLmggKi87IH07CiAJCUYzRDQ2MTQ4MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFu
ZGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
M0Q0NjE0NjExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuY3BwICovOyB9OwogCQlG
M0Q0NjE0OTExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRDQ2MTQ3MTE2MUQ1MzIwMENBMEQw
OSAvKiBKU0Vycm9ySGFuZGxlci5oICovOyB9OwpAQCAtNzg2Miw3ICs3ODQ4LDYgQEAKIAkJMkQ5
RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IGxpbmVhclNSR0Iu
aWNjOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyREJBREUwOTE4OEU1OTE1MDA0RDc5
ODEgLyogV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkRCQURFMEExODhFNTkxNTAwNEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZUNBTGF5ZXJFeHRy
YXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTJERjJFOUQ0MTY2RTM5NzQwMDM1
QkVGMiAvKiBDb25zb2xlQVBJVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ29uc29sZUFQSVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4
OEMzMTE0ODgzQTkwMEFGNDI2NSAvKiBET01Gb3JtRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gRE9NRm9ybURhdGEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4
ODhEMjExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTUZvcm1EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDMxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01Gb3JtRGF0YS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODE2OSwxMCArODE1NCw2IEBACiAJCTQxNjdFQkYz
MTAyOTYyQkEwMDNEMjUyQSAvKiBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5jcHA7IHBhdGggPSB3b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE2N0VCRjQxMDI5NjJCQTAwM0Qy
NTJBIC8qIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Lmg7IHBhdGggPSB3
b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxNkUyOUE1MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQ
cm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXb3JrZXJSZXBvcnRpbmdQ
cm94eS5oOyBwYXRoID0gd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk0MTZFNzVCQzBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2Fs
bFN0YWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFj
ay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTZFNzVCRDBFREY4RkQ3MDAzNjBF
MUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNjcmlwdENhbGxTdGFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQxNkU3NUM5MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q2FsbEZyYW1lLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTQxNkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJh
bWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbEZy
YW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE3MjUzQTgxMzU0QkJCQzAw
MzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDE3MjUzQTkxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxN0RBNENFMTM3MzQzMjYw
MDdDNTdGQiAvKiBJbnRlcm5hbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW50ZXJuYWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04MjE4LDggKzgxOTks
NiBAQAogCQk0MUUxQjFDRDBGRjU5ODY5MDA1NzZCM0IgLyogU2hhcmVkV29ya2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFNoYXJlZFdvcmtlci5jcHA7IHBhdGgg
PSB3b3JrZXJzL1NoYXJlZFdvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxRTFCMUNFMEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gU2hhcmVkV29ya2VyLmg7IHBhdGggPSB3b3JrZXJzL1NoYXJl
ZFdvcmtlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUUxQjFDRjBGRjU5ODY5
MDA1NzZCM0IgLyogU2hhcmVkV29ya2VyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBTaGFy
ZWRXb3JrZXIuaWRsOyBwYXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1l
c3NhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29uc29sZU1lc3NhZ2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFGMDYxOEQwRjVGMDY5ODAwQTA3RUFD
IC8qIENvbnNvbGVNZXNzYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IENvbnNvbGVNZXNzYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFG
MDYyMTIwRjVGMTkyNjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUYwNjIxMzBGNUYxOTI2MDBBMDdFQUMg
LyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDFGMDY2RTIwRjY0QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEdsb2Jh
bE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRHbG9iYWxP
YmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg4OTIsOCArODg3MSw2IEBA
CiAJCTU5MDVBREJFMTMwMkYzQ0UwMEYxMTZERiAvKiBYTUxUcmVlVmlld2VyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhNTFRyZWVWaWV3ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTkwRTFCNDgxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0
aW9uRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VPcmllbnRh
dGlvbkRhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTkwRTFCNEExMUU0RUY3
MDAwNjlGNzg0IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0
b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1OTEzQTIzRjEzRDQ5RUJBMDBG
NUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IElkZW50aWZpZXJzRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTU5MTNBMjQwMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3Rvcnku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWRlbnRpZmllcnNGYWN0b3J5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MzA5QTEwMTFGNEFFNTgwMDI1MDYwMyAv
KiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTkzMDlBMTIxMUY0QUU2QTAwMjUwNjAzIC8qIERldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTk1OEYxQ0IxMzQzOTE3QzAwODBCMzFGIC8qIFhNTFZpZXdlci5jc3MgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LmNzczsgcGF0aCA9IFhNTFZpZXdlci5jc3M7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMDU5Myw2ICsxMDU3MCw4IEBACiAJCUE1NDE2RkUzMTg4MTBFRjgwMDA5RkM1RiAvKiBZ
b3VUdWJlRW1iZWRTaGFkb3dFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNTQxNkZFNDE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hh
ZG93RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBZb3VUdWJlRW1i
ZWRTaGFkb3dFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1NEE4MkVB
MTUyMjhDQTMwMEM3MkJBNiAvKiBET01Ob2RlUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01Ob2RlUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNTZDNUI5ODE4OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvbnNvbGVBZ2VudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1NkM1Qjk5MTg5RjM0NTcwMDgyRDEzQyAvKiBX
ZWJDb25zb2xlQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29u
c29sZUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1NzMyQjA4MTM2QTE2
MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBEYXRlQ29tcG9uZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE1NzMyQjA5MTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlQ29tcG9uZW50cy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBNTg0MEUxQTE4N0I3NEQ1MDA4NDNCMTAgLyogSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xMjQzOCw3ICsxMjQxNyw2IEBACiAJCUJDRTQ0MTMxMTJGNzQ4RTIw
MDlCODRCOCAvKiBSZW5kZXJDb21iaW5lVGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBSZW5kZXJDb21iaW5lVGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUJDRTQ0MTMyMTJGNzQ4RTIwMDlCODRCOCAvKiBSZW5kZXJDb21iaW5lVGV4dC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJDb21iaW5lVGV4dC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U0NDEzNTEyRjc0OTBCMDA5Qjg0QjggLyog
Rm9udFdpZHRoVmFyaWFudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250
V2lkdGhWYXJpYW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRTU2NDREMTM3
QTM0RDYwMDdEMjkzNCAvKiBDb25zb2xlVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ29uc29sZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
RTY1OEZFMEVBOTI0OEEwMDdFNDUzMyAvKiBUaGVtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBUaGVtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U2NTlB
ODBFQTkyN0I5MDA3RTQ1MzMgLyogVGhlbWVUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBUaGVtZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
RTY1OUU1MEVBOTJGQjIwMDdFNDUzMyAvKiBUaGVtZU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBUaGVtZU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTMzNDAsOCArMTMzMTgsNiBAQAogCQlGMTIxNzFGNDE2QThCQzYzMDAwMDUzQ0EgLyogV2ViVlRU
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWVFRFbGVtZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzMjVBNDA4MTRFRTM2RkEwMDczMjRF
MiAvKiBJbnNwZWN0b3JDb3VudGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbnNwZWN0b3JDb3VudGVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUYzMjVBNDA5MTRFRTM2RkEwMDczMjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JDb3VudGVycy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlGMzMzNUJGNjEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVj
dG9yQ29uc29sZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUYzMzM1QkY3MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzM0YwMjgxMTIwOTQ3RjIwMEU1NzQzQSAvKiBT
Y3JpcHRQcm9maWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNj
cmlwdFByb2ZpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzQ0QzcxMjEx
MjVCODJDMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM0NEM3NTIxMTI5NEQ5RDAwRjI2RUVFIC8qIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTMzNjgsMTAgKzEzMzQ0LDYgQEAKIAkJRjM4MjA4OEYxNDdEMzVGOTAwMTBCQzA2IC8q
IFdvcmtlckNvbnNvbGVBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
b3JrZXJDb25zb2xlQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM4MjA4
OTAxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJSdW50aW1lQWdlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGMzgyMDg5MTE0N0QzNUY5MDAxMEJDMDYgLyogV29ya2Vy
UnVudGltZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlclJ1
bnRpbWVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzkyMjQ5QTEyNkYx
MUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjM5MjI0OUIxMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzlC
RTk1OTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdEFyZ3VtZW50cy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUYzOUJFOTVBMTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1
bWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0QXJndW1lbnRz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzQUJGRTBCMTMwRTlEQTAwMEU3RjdE
MSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3RydW1lbnRpbmdBZ2VudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjNENDYxNDYxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXJyb3JIYW5kbGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JI
YW5kbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXJyb3JIYW5kbGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDc4NywxNSArMTQ3NTksMTAgQEAK
IAkJCQlBNTg0RkUyOTE4NjM4NzBGMDA4NDNCMTAgLyogQ29tbWFuZExpbmVBUElNb2R1bGUuY3Bw
ICovLAogCQkJCUE1ODRGRTJBMTg2Mzg3MEYwMDg0M0IxMCAvKiBDb21tYW5kTGluZUFQSU1vZHVs
ZS5oICovLAogCQkJCUE1ODRGRTI3MTg2MzdEQ0EwMDg0M0IxMCAvKiBDb21tYW5kTGluZUFQSU1v
ZHVsZVNvdXJjZS5qcyAqLywKLQkJCQkyREYyRTlENDE2NkUzOTc0MDAzNUJFRjIgLyogQ29uc29s
ZUFQSVR5cGVzLmggKi8sCi0JCQkJNDFGMDYxOEQwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVN
ZXNzYWdlLmNwcCAqLywKLQkJCQk0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1l
c3NhZ2UuaCAqLywKIAkJCQk3QUFCQTI1NzE0QkM2MTMzMDBBQTlBMTEgLyogRE9NRWRpdG9yLmNw
cCAqLywKIAkJCQk3QUFCQTI1ODE0QkM2MTMzMDBBQTlBMTEgLyogRE9NRWRpdG9yLmggKi8sCiAJ
CQkJN0E1NDg4MTYxNEU0MzJBMTAwNkFFMDVBIC8qIERPTVBhdGNoU3VwcG9ydC5jcHAgKi8sCiAJ
CQkJN0E1NDg4MTUxNEU0MzJBMTAwNkFFMDVBIC8qIERPTVBhdGNoU3VwcG9ydC5oICovLAotCQkJ
CTU5MTNBMjNGMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovLAot
CQkJCTU5MTNBMjQwMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuaCAqLywK
IAkJCQlBQTczMTgzQzE1OTI1NUI5MDBBOTNFNkUgLyogSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1
bGUuY3BwICovLAogCQkJCUFBNzMxODNEMTU5MjU1QjkwMEE5M0U2RSAvKiBJbmplY3RlZFNjcmlw
dENhbnZhc01vZHVsZS5oICovLAogCQkJCUFBOTAzMEZFMTU3RTE2QTAwMDI3NjI0NyAvKiBJbmpl
Y3RlZFNjcmlwdENhbnZhc01vZHVsZVNvdXJjZS5qcyAqLywKQEAgLTE0ODA2LDggKzE0NzczLDYg
QEAKIAkJCQlBQUQ3NjZFQTE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yQ2FudmFzSW5zdHJ1
bWVudGF0aW9uLmggKi8sCiAJCQkJN0ExRjJCNTExMjZDNjFCMjAwMDZBN0U2IC8qIEluc3BlY3Rv
ckNsaWVudC5jcHAgKi8sCiAJCQkJMUM4MUI5NTgwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3Rv
ckNsaWVudC5oICovLAotCQkJCUYzMzM1QkY2MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwICovLAotCQkJCUYzMzM1QkY3MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlGM0Y1Q0YxMDEyRUQ4MUE4MDA4NEM1NjkgLyog
SW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oICovLAogCQkJCTFDODFCOTU3MEU5NzMz
MDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLywKIAkJCQkxQzgxQjk1NjBF
OTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5oICovLApAQCAtMTQ4ODYsMTYg
KzE0ODUxLDEyIEBACiAJCQkJQTU4NEZFMkUxODY0Q0I4NDAwODQzQjEwIC8qIFBhZ2VJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuaCAqLywKIAkJCQlGMzgyMDg4QzE0N0QzNUY5MDAxMEJDMDYgLyogUGFn
ZVJ1bnRpbWVBZ2VudC5jcHAgKi8sCiAJCQkJRjM4MjA4OEQxNDdEMzVGOTAwMTBCQzA2IC8qIFBh
Z2VSdW50aW1lQWdlbnQuaCAqLywKLQkJCQlGMzlCRTk1OTEyNjczQkY0MDBFMEE2NzQgLyogU2Ny
aXB0QXJndW1lbnRzLmNwcCAqLywKLQkJCQlGMzlCRTk1QTEyNjczQkY0MDBFMEE2NzQgLyogU2Ny
aXB0QXJndW1lbnRzLmggKi8sCi0JCQkJNDE2RTc1Q0EwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlw
dENhbGxGcmFtZS5jcHAgKi8sCi0JCQkJNDE2RTc1QzkwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlw
dENhbGxGcmFtZS5oICovLAotCQkJCTQxNkU3NUJEMEVERjhGRDcwMDM2MEUxRCAvKiBTY3JpcHRD
YWxsU3RhY2suY3BwICovLAotCQkJCTQxNkU3NUJDMEVERjhGRDcwMDM2MEUxRCAvKiBTY3JpcHRD
YWxsU3RhY2suaCAqLywKIAkJCQk5RkEzN0VFRjExNzJGRDQxMDBDNENENTUgLyogU2NyaXB0UHJv
ZmlsZS5pZGwgKi8sCiAJCQkJOUZBMzdFRjAxMTcyRkQ0MTAwQzRDRDU1IC8qIFNjcmlwdFByb2Zp
bGVOb2RlLmlkbCAqLywKIAkJCQk3NTUzQ0ZFNzEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmNwcCAqLywKIAkJCQk3NTUzQ0ZFNjEwOEY0NzNGMDBFQTI4MUUgLyogVGlt
ZWxpbmVSZWNvcmRGYWN0b3J5LmggKi8sCisJCQkJQTU2QzVCOTgxODlGMzQ1NzAwODJEMTNDIC8q
IFdlYkNvbnNvbGVBZ2VudC5jcHAgKi8sCisJCQkJQTU2QzVCOTkxODlGMzQ1NzAwODJEMTNDIC8q
IFdlYkNvbnNvbGVBZ2VudC5oICovLAogCQkJCUE1RTYxNjcxMTg5NDU4MUYwMDlBREY1MCAvKiBX
ZWJEZWJ1Z2dlckFnZW50LmNwcCAqLywKIAkJCQlBNUU2MTY3MjE4OTQ1ODFGMDA5QURGNTAgLyog
V2ViRGVidWdnZXJBZ2VudC5oICovLAogCQkJCUYzODIwODhFMTQ3RDM1RjkwMDEwQkMwNiAvKiBX
b3JrZXJDb25zb2xlQWdlbnQuY3BwICovLApAQCAtMTYwNDcsNyArMTYwMDgsNiBAQAogCQkJCUJD
MEIzNkExMENEM0M2N0MwMEFDN0VCNSAvKiBDb25zb2xlLmNwcCAqLywKIAkJCQlCQzBCMzZBMjBD
RDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5oICovLAogCQkJCUJDMEIzNkEzMENEM0M2N0MwMEFD
N0VCNSAvKiBDb25zb2xlLmlkbCAqLywKLQkJCQlCQ0U1NjQ0RDEzN0EzNEQ2MDA3RDI5MzQgLyog
Q29uc29sZVR5cGVzLmggKi8sCiAJCQkJOTdDNDcxRDkxMkY5MjVCQzAwODYzNTRCIC8qIENvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHAgKi8sCiAJCQkJOTdDNDcxREExMkY5MjVCRDAwODYzNTRCIC8q
IENvbnRlbnRTZWN1cml0eVBvbGljeS5oICovLAogCQkJCTA2NUFENEYyMEIwQzJFREEwMDVBMkIx
RCAvKiBDb250ZXh0TWVudUNsaWVudC5oICovLApAQCAtMjAxNjksOCArMjAxMjksNiBAQAogCQkJ
CUJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLywKIAkJCQk0
MUYxRDIxRTBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcCAqLywK
IAkJCQk0MUYxRDIxRDBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgg
Ki8sCi0JCQkJRjM5MjI0OUExMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuY3BwICovLAotCQkJCUYzOTIyNDlCMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5LmggKi8sCiAJCQkJOTNCNzBENTMwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENv
bnRyb2xsZXIuY3BwICovLAogCQkJCTkzQjcwRDU0MDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRD
b250cm9sbGVyLmggKi8sCiAJCQkJQTgzRTFDNzIwRTQ5MDQyQjAwMTQwQjlDIC8qIFNjcmlwdENv
bnRyb2xsZXJNYWMubW0gKi8sCkBAIC0yMjg3MSwxMCArMjI4MjksNyBAQAogCQkJCUZEMzE2MDhG
MTJCMDI2RjcwMEMxQTM1OSAvKiBDb25lLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUM5N0FGMzA4
RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzBCMzZBNTBD
RDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMkRGMkU5RDUx
NjZFMzk3NTAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NDFGMDYxOEUwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwNzNBQjRCMzE3RjhCQUNBMDA2RTBENkYgLyogQWxsVmlkZW9DYXBhYmlsaXRpZXMu
aCBpbiBIZWFkZXJzICovLAotCQkJCUJDRTU2NDRFMTM3QTM0RDYwMDdEMjkzNCAvKiBDb25zb2xl
VHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTg3MjFDMDk3N0QzQzAwMDU4MjZEOSAvKiBD
b250YWluZXJOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUExNDcwODExMTAyQjE1MDBFRUMw
RjMgLyogQ29udGFpbmVyTm9kZUFsZ29yaXRobXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OEUw
OTFEMTdEMTREMUMwMDQyMEFBMSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
aCBpbiBIZWFkZXJzICovLApAQCAtMjM3ODgsNiArMjM3NDMsNyBAQAogCQkJCTkzMzA5REU2MDk5
RTY0OTIwMDU2RTU4MSAvKiBIVE1MSW50ZXJjaGFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
MTM2OUU0MDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MS2V5Z2VuRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTgxMzY5RTIwOTczNzRGNjAwRDc0NDYzIC8qIEhUTUxMYWJlbEVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCUE1NkM1QjlCMTg5RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xl
QWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2OUUwMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBI
VE1MTGVnZW5kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThFQTc5RjYwQTE5MTZERjAw
QThFRjVGIC8qIEhUTUxMSUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFEQzIwMEEx
NTIwNTcwMEIxMkE2OCAvKiBIVE1MTGlua0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjM4
NzIsNyArMjM4MjgsNiBAQAogCQkJCTA3OEUwOTIxMTdEMTREMUMwMDQyMEFBMSAvKiBSVENEVE1G
VG9uZUNoYW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzI3N0U1MTE3RDAxOENDMDAx
NTUzNEQgLyogSlNNZWRpYVN0cmVhbUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTcxRDU3
QzBGMzM4MTkwMDBGOUNFNEUgLyogSWRlbnRpZmllclJlcC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NTkxM0EyNDIxM0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDlFOTExQzUwRUY4NkQ0NzAwOUQwQ0FGIC8qIElkZW50aXR5VHJhbnNmb3Jt
T3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI1Rjg1NjE4MkMwRjgzMDBEODRDRDkg
LyogQ3J5cHRvS2V5U2VyaWFsaXphdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4NEZFMjYx
ODYzN0RBQjAwODQzQjEwIC8qIENvbW1hbmRMaW5lQVBJTW9kdWxlU291cmNlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTIzOTI1LDcgKzIzODgwLDYgQEAKIAkJCQlBQUQ3NjZFQzE1N0U1MDJGMDBFODU0
MjMgLyogSW5zcGVjdG9yQ2FudmFzQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBRDc2NkVE
MTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JDYW52YXNJbnN0cnVtZW50YXRpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFDODFCOTVDMEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDbGll
bnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUYzMzM1QkY5MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzRjVDRjExMTJFRDgxQTgw
MDg0QzU2OSAvKiBJbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQzgxQjk1QTBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRjMyNUE0MEIxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3Rv
ckNvdW50ZXJzLmggaW4gSGVhZGVycyAqLywKQEAgLTI1MTEwLDExICsyNTA2NCw3IEBACiAJCQkJ
OUJEMEJGOTMxMkE0MkJGNTAwNzJGRDQzIC8qIFNjb3BlZEV2ZW50UXVldWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDRUMwMUJFMEMyNzREQUMwMDlGNEVDOSAvKiBTY3JlZW4uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4NEQ4MkMxMTFEMzQ3NDgwMDk3Mjk5MCAvKiBTY3JpcHRhYmxlRG9jdW1lbnRQ
YXJzZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUYzOUJFOTVDMTI2NzNCRjQwMEUwQTY3NCAvKiBT
Y3JpcHRBcmd1bWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRjFEMjFGMEVGMzVDMkEwMERB
ODc1MyAvKiBTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxNkU3
NUNCMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovLAot
CQkJCTQxNkU3NUJFMEVERjhGRDcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsU3RhY2suaCBpbiBIZWFk
ZXJzICovLAotCQkJCUYzOTIyNDlEMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0I3MEQ3MDA5RUIwQzdDMDA5RDg0NjggLyog
U2NyaXB0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5OEFFRDIxM0ZCMjI0RDAw
OTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDhBNDg0NzgwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjY0NzgsNyArMjY0MjgsNiBAQAogCQkJCUZEMzE2MDhFMTJCMDI2RjcwMEMxQTM1
OSAvKiBDb25lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxNDZGRTZGMTg0NDIwQUEwMDFBOTM3
QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwQjM2
QTQwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDFG
MDYxOEYwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4MTg3MjFGMDk3N0QzQzAwMDU4MjZEOSAvKiBDb250YWluZXJOb2RlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE3QTc4Q0Q1MTUzMkJBNjIwMDZDMjFFNCAvKiBDb250YWluZXJOb2Rl
QWxnb3JpdGhtcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVFQjk4MDBFODIwNzI1MDBCMjU5
NjUgLyogQ29udGVudERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNzIxNCw3ICsyNzE2Myw2
IEBACiAJCQkJQzU4NUE2NjIxMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJpbmRpbmdVdGlsaXRpZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE3MUQ1N0IwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50
aWZpZXJSZXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwNTg1MzExN0ZERTZEOTAwNUYyQkNC
IC8qIEpTTWVkaWFUcmFja0NvbnN0cmFpbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTkxM0Ey
NDExM0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlDM0NGMTdBNDE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlDM0NGMTdBNjE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRP
YnNlcnZlclJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyNzUzNTZGMEIwNTM4MTQw
MDJDRTY0RiAvKiBJbWFnZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI3MjU4LDcgKzI3MjA2LDYg
QEAKIAkJCQlFMUY4MEI4QTE4MzE3MkEyMDA3ODg1QzMgLyogSlNDcnlwdG9LZXlQYWlyQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUFBRDc2NkVCMTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNw
ZWN0b3JDYW52YXNBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTFGMkI1MjEyNkM2MUIy
MDAwNkE3RTYgLyogSW5zcGVjdG9yQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUYzMzM1
QkY4MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUM4MUI5NUIwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjMyNUE0MEExNEVFMzZGQTAwNzMyNEUyIC8qIElu
c3BlY3RvckNvdW50ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgyQUIxNzQzMTI0Qjk5RUMw
MEM1MDY5RCAvKiBJbnNwZWN0b3JDU1NBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4NDIy
LDExICsyODM2OSw3IEBACiAJCQkJOUJEMEJGOTQxMkE0MkJGNTAwNzJGRDQzIC8qIFNjb3BlZEV2
ZW50UXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFQzAxQkQwQzI3NERBQzAwOUY0RUM5
IC8qIFNjcmVlbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODREODJDMjExRDM0NzQ4MDA5NzI5
OTAgLyogU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUYz
OUJFOTVCMTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDFGMUQyMjAwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENhY2hlZEZyYW1lRGF0
YS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTZFNzVDQzBFREY5MEM3MDAzNjBFMUQgLyogU2Ny
aXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxNkU3NUJGMEVERjhGRDcwMDM2
MEUxRCAvKiBTY3JpcHRDYWxsU3RhY2suY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRjM5MjI0OUMx
MjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTNCNzBENkYwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTgzRTFDNzQwRTQ5MDQyQzAwMTQwQjlDIC8qIFNjcmlwdENv
bnRyb2xsZXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk0OTk4QUVEMTEzRkIyMjREMDA5MEIx
QUEgLyogU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
Mjg1OTksNiArMjg1NDIsNyBAQAogCQkJCTMxQTc5NUM4MTg4OEJDQjUwMDM4MkY5MCAvKiBBTkdM
RUluc3RhbmNlZEFycmF5cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTg0MEUyNDE4N0I4QUMy
MDA4NDNCMTAgLyogUGFnZUluamVjdGVkU2NyaXB0SG9zdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBOEM0QTdGRTA5RDU2MzI3MDAwM0FDOEQgLyogU3R5bGVkRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlBNTZDNUI5QTE4OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDNUVCOEI4MEU4MjAxQkQwMEIyNTk2NSAvKiBTdHlsZURl
cHJlY2F0ZWRGbGV4aWJsZUJveERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUE0QzNBNzYw
QjJCMTY3OTAwMjMzNEEyIC8qIElubGluZVN0eWxlU2hlZXRPd25lci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkzMTlBRTA2MzE0MkQ2QjI0MDA2NTYzQTEgLyogU3R5bGVGaWx0ZXJEYXRhLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNB
dWRpb0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRp
b0NvbnRleHRDdXN0b20uY3BwCmluZGV4IGUxOTVkZGYuLmFiNThkNGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHAKQEAgLTcz
LDcgKzczLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU0F1ZGlvQ29udGV4dENv
bnN0cnVjdG9yOjpjb25zdHJ1Y3RKU0F1ZGlvQ29udGV4dCgKICNpZiBFTkFCTEUoTEVHQUNZX1dF
Ql9BVURJTykKICAgICAgICAgLy8gQ29uc3RydWN0b3IgZm9yIG9mZmxpbmUgKHJlbmRlci10YXJn
ZXQpIEF1ZGlvQ29udGV4dCB3aGljaCByZW5kZXJzIGludG8gYW4gQXVkaW9CdWZmZXIuCiAgICAg
ICAgIC8vIG5ldyBBdWRpb0NvbnRleHQoaW4gdW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxz
LCBpbiB1bnNpZ25lZCBsb25nIG51bWJlck9mRnJhbWVzLCBpbiBmbG9hdCBzYW1wbGVSYXRlKTsK
LSAgICAgICAgZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJu
aW5nTWVzc2FnZUxldmVsLAorICAgICAgICBkb2N1bWVudC5hZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLAogICAgICAgICAgICAgIkRlcHJl
Y2F0ZWQgQXVkaW9Db250ZXh0IGNvbnN0cnVjdG9yOiB1c2UgT2ZmbGluZUF1ZGlvQ29udGV4dCBp
bnN0ZWFkIik7CiAKICAgICAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAppbmRl
eCAwNDI4ZTgzLi43MmVjOWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKQEAgLTE0Myw3ICsxNDMsNiBAQAogI2luY2x1ZGUgIlBh
Z2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAiCiAjaW5jbHVkZSAiU2NoZWR1bGVkQWN0aW9uLmNwcCIK
ICNpbmNsdWRlICJTY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIgotI2luY2x1ZGUgIlNjcmlwdENh
bGxTdGFja0ZhY3RvcnkuY3BwIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuY3BwIgogI2lu
Y2x1ZGUgIlNjcmlwdFByb2ZpbGVyLmNwcCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5jcHAiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNv
bHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNv
bHZlci5jcHAKaW5kZXggZjFiNjNmOC4uNGMxMGUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcApAQCAtODEsNyAr
ODEsNyBAQCBTdHJpbmcgSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVS
SShjb25zdCBTdHJpbmcmIHByZWZpeCkKICAgICAgICAgaWYgKGNhbGxUeXBlID09IENhbGxUeXBl
Tm9uZSkgewogICAgICAgICAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDMx
Mj4gSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVSSSBDb25zb2xlIE1l
c3NhZ2Ugc2hvdWxkIGluY2x1ZGUgTGluZSwgQ29sdW1uLCBhbmQgU291cmNlVVJMCiAgICAgICAg
ICAgICBpZiAoUGFnZUNvbnNvbGUqIGNvbnNvbGUgPSBtX2dsb2JhbE9iamVjdC0+aW1wbCgpLnBh
Z2VDb25zb2xlKCkpCi0gICAgICAgICAgICAgICAgY29uc29sZS0+YWRkTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhh
dmUgYSBsb29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIpOworICAgICAgICAgICAgICAgIGNvbnNv
bGUtPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhhdmUgYSBsb29rdXBOYW1lc3Bh
Y2VVUkkgbWV0aG9kLiIpKTsKICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICAgICAg
fQogICAgICAgICBmdW5jdGlvbiA9IG1fY3VzdG9tUmVzb2x2ZXIuZ2V0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAppbmRleCA1ODIyMWQwLi41NjMzODkw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTM0
LDggKzM0LDggQEAKICNpbmNsdWRlICJKU0RPTVdpbmRvd0N1c3RvbS5oIgogI2luY2x1ZGUgIkpT
RXhjZXB0aW9uQmFzZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAi
U2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgor
I2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0
b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgogI2luY2x1ZGUgPGludGVycHJldGVyL0ludGVy
cHJldGVyLmg+CiAjaW5jbHVkZSA8cnVudGltZS9EYXRlSW5zdGFuY2UuaD4KICNpbmNsdWRlIDxy
dW50aW1lL0Vycm9yLmg+CkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSA8d3RmL01hdGhFeHRy
YXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKK3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCmluZGV4IDE5YTc4MDAuLmMxNWJjY2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3Rv
bS5jcHAKQEAgLTE1MCw3ICsxNTAsNyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjplbmNyeXB0
KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwog
CiAgICAgaWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZUVuY3J5cHQpKSB7Ci0gICAgICAg
IG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ2VuY3J5cHQnIik7
CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBk
byBub3QgaW5jbHVkZSAnZW5jcnlwdCciKSk7CiAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVj
LCBOT1RfU1VQUE9SVEVEX0VSUik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAg
IH0KQEAgLTIwMiw3ICsyMDIsNyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjpkZWNyeXB0KEV4
ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAg
ICAgaWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZURlY3J5cHQpKSB7Ci0gICAgICAgIG1f
aW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ2RlY3J5cHQnIik7Cisg
ICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBkbyBu
b3QgaW5jbHVkZSAnZGVjcnlwdCciKSk7CiAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBO
T1RfU1VQUE9SVEVEX0VSUik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0K
QEAgLTI1Myw3ICsyNTMsNyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjpzaWduKEV4ZWNTdGF0
ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYg
KCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZVNpZ24pKSB7Ci0gICAgICAgIG1faW1wbC0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ3NpZ24nIik7CisgICAgICAgIG1faW1w
bC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAn
c2lnbiciKSk7CiAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBOT1RfU1VQUE9SVEVEX0VS
Uik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0KQEAgLTMwNCw3ICszMDQs
NyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjp2ZXJpZnkoRXhlY1N0YXRlKiBleGVjKQogICAg
ICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYyk7CiAKICAgICBpZiAoIWtleS0+YWxsb3dz
KENyeXB0b0tleVVzYWdlVmVyaWZ5KSkgewotICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkg
dXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd2ZXJpZnknIik7CisgICAgICAgIG1faW1wbC0+ZG9jdW1l
bnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAndmVyaWZ5JyIp
KTsKICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIE5PVF9TVVBQT1JURURfRVJSKTsKICAg
ICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgfQpAQCAtNjM5LDcgKzYzOSw3IEBAIEpT
VmFsdWUgSlNTdWJ0bGVDcnlwdG86OndyYXBLZXkoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICBy
ZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYyk7CiAKICAgICBpZiAoIXdyYXBwaW5nS2V5LT5hbGxv
d3MoQ3J5cHRvS2V5VXNhZ2VXcmFwS2V5KSkgewotICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJL
ZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd3cmFwS2V5JyIpOworICAgICAgICBtX2ltcGwtPmRv
Y3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2
ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ3dyYXBL
ZXknIikpOwogICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIp
OwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICB9CkBAIC03MTgsNyArNzE4LDcg
QEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6dW53cmFwS2V5KEV4ZWNTdGF0ZSogZXhlYykKICAg
ICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCF1bndyYXBwaW5n
S2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VVbndyYXBLZXkpKSB7Ci0gICAgICAgIG1faW1wbC0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ3Vud3JhcEtleSciKTsKKyAgICAg
ICAgbV9pbXBsLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpK
UywgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJLZXkgdXNhZ2VzIGRvIG5vdCBp
bmNsdWRlICd1bndyYXBLZXknIikpOwogICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgTk9U
X1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4
IGJkNThiODIuLmRhZGViM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiUGFnZS5oIgog
I2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKLSNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5j
bHVkZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIK
QEAgLTUwLDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgogI2lu
Y2x1ZGUgPGRlYnVnZ2VyL0RlYnVnZ2VyLmg+CiAjaW5jbHVkZSA8aGVhcC9TdHJvbmdJbmxpbmVz
Lmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHJ1
bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtNDgyLDcgKzQ4Miw3IEBAIGJvb2wgU2Ny
aXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMoUmVhc29uRm9yQ2FsbGluZ0NhbkV4ZWN1
dGVTY3JpcHRzIHJlYXNvCiAgICAgaWYgKG1fZnJhbWUuZG9jdW1lbnQoKSAmJiBtX2ZyYW1lLmRv
Y3VtZW50KCktPmlzU2FuZGJveGVkKFNhbmRib3hTY3JpcHRzKSkgewogICAgICAgICAvLyBGSVhN
RTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNv
bHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQg
ZXhpc3RzLgogICAgICAgICBpZiAocmVhc29uID09IEFib3V0VG9FeGVjdXRlU2NyaXB0KQotICAg
ICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBzY3JpcHQgZXhlY3V0aW9u
IGluICciICsgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVk
VG9MZW5ndGgoKSArICInIGJlY2F1c2UgdGhlIGRvY3VtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVk
IGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAg
ICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJCbG9ja2VkIHNjcmlwdCBleGVjdXRp
b24gaW4gJyIgKyBtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6
ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSB0aGUgZG9jdW1lbnQncyBmcmFtZSBpcyBzYW5kYm94
ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDFjZTU0NGEuLmM0NzRkYjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCkBAIC0zMDM2LDkgKzMwMzYsOSBAQCBzdWIgR2VuZXJhdGVDYWxsV2l0aAogICAgICAgICBw
dXNoKEBjYWxsV2l0aEFyZ3MsICJzY3JpcHRDb250ZXh0Iik7CiAgICAgfQogICAgIGlmICgkZnVu
Y3Rpb24gYW5kICRjb2RlR2VuZXJhdG9yLT5FeHRlbmRlZEF0dHJpYnV0ZUNvbnRhaW5zKCRjYWxs
V2l0aCwgIlNjcmlwdEFyZ3VtZW50cyIpKSB7Ci0gICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICBSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBzY3JpcHRBcmd1bWVudHMoY3JlYXRlU2NyaXB0
QXJndW1lbnRzKGV4ZWMsICIgLiBAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc30gLiAiKSk7XG4iKTsK
LSAgICAgICAgJGltcGxJbmNsdWRlc3siU2NyaXB0QXJndW1lbnRzLmgifSA9IDE7Ci0gICAgICAg
ICRpbXBsSW5jbHVkZXN7IlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCJ9ID0gMTsKKyAgICAgICAg
cHVzaChAJG91dHB1dEFycmF5LCAiICAgIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50
cz4gc2NyaXB0QXJndW1lbnRzKEluc3BlY3Rvcjo6Y3JlYXRlU2NyaXB0QXJndW1lbnRzKGV4ZWMs
ICIgLiBAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc30gLiAiKSk7XG4iKTsKKyAgICAgICAgJGltcGxJ
bmNsdWRlc3siPGluc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaD4ifSA9IDE7CisgICAgICAgICRp
bXBsSW5jbHVkZXN7IjxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPiJ9ID0gMTsK
ICAgICAgICAgcHVzaChAY2FsbFdpdGhBcmdzLCAic2NyaXB0QXJndW1lbnRzLnJlbGVhc2UoKSIp
OwogICAgIH0KICAgICByZXR1cm4gQGNhbGxXaXRoQXJnczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggMjhmNTI3
OC4uNzc5MmI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTQ0LDE0ICs0NCwxNCBAQAogI2luY2x1ZGUgIlNW
R0RvY3VtZW50LmgiCiAjaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJTVkdTdGF0aWNQ
cm9wZXJ0eVRlYXJPZmYuaCIKLSNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKLSNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgog
I2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CiAjaW5jbHVkZSAiVGVzdE9iai5oIgogI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgImJvb2wu
aCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+CisjaW5jbHVkZSA8aW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDxydW50aW1lL0Vycm9y
Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0FycmF5Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU1N0
cmluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBkMjZkNTkzLi41N2U4ZDhhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMTE0OTgsNyArMTE0OTgsNyBAQCB2b2lkIENT
U1BhcnNlcjo6bG9nRXJyb3IoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlcikK
IHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE0MzEzPiBDU1MgcGFyc2Vy
IGNvbnNvbGUgbWVzc2FnZSBlcnJvcnMgc2hvdWxkIGluY2x1ZGUgY29sdW1uIG51bWJlcnMuCiAg
ICAgUGFnZUNvbnNvbGUmIGNvbnNvbGUgPSBtX3N0eWxlU2hlZXQtPnNpbmdsZU93bmVyRG9jdW1l
bnQoKS0+cGFnZSgpLT5jb25zb2xlKCk7Ci0gICAgY29uc29sZS5hZGRNZXNzYWdlKENTU01lc3Nh
Z2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIG1fc3R5bGVTaGVldC0+YmFz
ZVVSTCgpLnN0cmluZygpLCBsaW5lTnVtYmVyICsgMSwgMCk7CisgICAgY29uc29sZS5hZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6OkNTUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBtZXNzYWdlLCBt
X3N0eWxlU2hlZXQtPmJhc2VVUkwoKS5zdHJpbmcoKSwgbGluZU51bWJlciArIDEsIDApOwogfQog
CiBQYXNzUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4gQ1NTUGFyc2VyOjpjcmVhdGVLZXlmcmFt
ZXNSdWxlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxWZWN0b3I8UmVmUHRyPFN0eWxl
S2V5ZnJhbWU+Pj4gcG9wS2V5ZnJhbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcAppbmRleCAy
MGY5MjhkLi4zY2ExMWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcApAQCAtMzEwLDcgKzMx
MCw3IEBAIHN0YXRpYyB2b2lkIGFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZShE
b2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluCiAKICAgICBtZXNzYWdlLmFwcGVuZChzZXJp
YWxpemVkRXhwcmVzc2lvbik7CiAKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoQ1NT
TWVzc2FnZVNvdXJjZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpDU1MsIE1lc3NhZ2VMZXZlbDo6RGVi
dWcsIG1lc3NhZ2UpOwogfQogCiB2b2lkIHJlcG9ydE1lZGlhUXVlcnlXYXJuaW5nSWZOZWVkZWQo
RG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBNZWRpYVF1ZXJ5U2V0KiBtZWRpYVF1ZXJ5U2V0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMmFlMTY1Zi4uZGYyOGJiNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCkBAIC02MCw5ICs2MCw2IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIK
ICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgot
I2luY2x1ZGUgIkhhc2hDaGFuZ2VFdmVudC5oIgotI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQu
aCIKLSNpbmNsdWRlICJIaXN0b3J5LmgiCiAjaW5jbHVkZSAiSFRNTEFsbENvbGxlY3Rpb24uaCIK
ICNpbmNsdWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxCYXNlRWxlbWVu
dC5oIgpAQCAtODYsNiArODMsOSBAQAogI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MVGl0bGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKKyNp
bmNsdWRlICJIYXNoQ2hhbmdlRXZlbnQuaCIKKyNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0Lmgi
CisjaW5jbHVkZSAiSGlzdG9yeS5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNs
dWRlICJJY29uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkltYWdlTG9hZGVyLmgiCkBAIC0xMjIs
NyArMTIyLDYgQEAKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVk
ZSAiU2NoZW1lUmVnaXN0cnkuaCIKICNpbmNsdWRlICJTY29wZWRFdmVudFF1ZXVlLmgiCi0jaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgog
I2luY2x1ZGUgIlNjcmlwdFJ1bm5lci5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIK
QEAgLTE0OSw2ICsxNDgsNyBAQAogI2luY2x1ZGUgIlhQYXRoTlNSZXNvbHZlci5oIgogI2luY2x1
ZGUgIlhQYXRoUmVzdWx0LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKKyNpbmNsdWRlIDxp
bnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CiAjaW5jbHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0J1ZmZlci5oPgpAQCAtMjU3Niw5ICsyNTc2LDkgQEAgRXZlbnRUYXJnZXQqIERvY3VtZW50
OjplcnJvckV2ZW50VGFyZ2V0KCkKICAgICByZXR1cm4gbV9kb21XaW5kb3cuZ2V0KCk7CiB9CiAK
LXZvaWQgRG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29s
dW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQordm9pZCBE
b2N1bWVudDo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdl
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1i
ZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsK
LSAgICBhZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGVycm9y
TWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNhbGxTdGFjayk7
CisgICAgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwg
ZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2FsbFN0
YWNrKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0VVJMKGNvbnN0IFVSTCYgdXJsKQpAQCAtMjg0
Myw3ICsyODQzLDcgQEAgdm9pZCBEb2N1bWVudDo6cHJvY2Vzc0h0dHBFcXVpdihjb25zdCBTdHJp
bmcmIGVxdWl2LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiAgICAgICAgICAgICAgICAgLy8gaW50
ZW50LCB3ZSBtdXN0IG5hdmlnYXRlIGF3YXkgZnJvbSB0aGUgcG9zc2libHkgcGFydGlhbGx5LXJl
bmRlcmVkIGRvY3VtZW50IHRvIGEgbG9jYXRpb24gdGhhdAogICAgICAgICAgICAgICAgIC8vIGRv
ZXNuJ3QgaW5oZXJpdCB0aGUgcGFyZW50J3MgU2VjdXJpdHlPcmlnaW4uCiAgICAgICAgICAgICAg
ICAgZnJhbWUtPm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZUxvY2F0aW9uQ2hhbmdlKHNl
Y3VyaXR5T3JpZ2luKCksIFNlY3VyaXR5T3JpZ2luOjp1cmxXaXRoVW5pcXVlU2VjdXJpdHlPcmln
aW4oKSwgU3RyaW5nKCkpOwotICAgICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKFNlY3Vy
aXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVu
dGlmaWVyKTsKKyAgICAgICAgICAgICAgICBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSwgcmVxdWVzdElkZW50aWZp
ZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9y
aW5nQ2FzZShlcXVpdiwgImNvbnRlbnQtc2VjdXJpdHktcG9saWN5IikpCkBAIC00ODM5LDcgKzQ4
MzksNyBAQCB2b2lkIERvY3VtZW50OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNv
dXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdAogICAgICAgICBwYWdlLT5jb25zb2xlKCku
YWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllciwgdGhp
cyk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogc3Rh
dGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIERvY3VtZW50OjphZGRN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENh
bGxTdGFjaz4gY2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIpCiB7CiAgICAgaWYgKCFpc0NvbnRleHRUaHJlYWQoKSkgewogICAg
ICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZShzb3VyY2UsIGxldmVs
LCBtZXNzYWdlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDMxYjA2NzkuLjM2ZDZhMTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTQzLDcgKzExNDMsNyBAQCBwdWJsaWM6CiAjZW5kaWYK
IAogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSBvdmVycmlkZTsK
LSAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJy
b3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBj
b2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1u
TnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPikgb3ZlcnJpZGU7
CiAKICAgICB2b2lkIGluaXRETlNQcmVmZXRjaCgpOwogCkBAIC0xMjY2LDcgKzEyNjYsNyBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCByZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgb3Zl
cnJpZGUgeyByZWYoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkZXJlZlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSBvdmVycmlkZSB7IGRlcmVmKCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29s
dW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9
IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlw
dENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIgPSAwKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW1UaW1l
ckludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50
LmNwcAppbmRleCBkN2IyYjc0Li5kZmQ3ZDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1l
bnQuY3BwCkBAIC0yNCw5ICsyNCw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RWxlbWVudC5oIgogCi0jaW5jbHVkZSAiQ2FjaGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAi
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZVJlcXVlc3Qu
aCIKKyNpbmNsdWRlICJDYWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQ
b2xpY3kuaCIKICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRl
ICJDdXJyZW50U2NyaXB0SW5jcmVtZW50ZXIuaCIKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRl
ICJJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIgogI2luY2x1ZGUgIk1J
TUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2Fs
bFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlw
dFJ1bm5lci5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKQEAgLTQ3LDYgKzQ2LDcg
QEAKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRleHROb2RlVHJhdmVyc2FsLmgi
CiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdI
YXNoLmg+CkBAIC0yOTQsNyArMjk0LDcgQEAgdm9pZCBTY3JpcHRFbGVtZW50OjpleGVjdXRlU2Ny
aXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCiAKICNpZiBFTkFCTEUoTk9T
TklGRikKICAgICBpZiAobV9pc0V4dGVybmFsU2NyaXB0ICYmIG1fY2FjaGVkU2NyaXB0ICYmICFt
X2NhY2hlZFNjcmlwdC0+bWltZVR5cGVBbGxvd2VkQnlOb3NuaWZmKCkpIHsKLSAgICAgICAgbV9l
bGVtZW50LT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJSZWZ1c2VkIHRvIGV4ZWN1dGUgc2NyaXB0IGZyb20gJyIg
KyBtX2NhY2hlZFNjcmlwdC0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkg
KyAiJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBl
KCkgKyAiJykgaXMgbm90IGV4ZWN1dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNoZWNraW5n
IGlzIGVuYWJsZWQuIik7CisgICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIlJl
ZnVzZWQgdG8gZXhlY3V0ZSBzY3JpcHQgZnJvbSAnIiArIG1fY2FjaGVkU2NyaXB0LT51cmwoKS5z
dHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgaXRzIE1JTUUgdHlw
ZSAoJyIgKyBtX2NhY2hlZFNjcmlwdC0+bWltZVR5cGUoKSArICInKSBpcyBub3QgZXhlY3V0YWJs
ZSwgYW5kIHN0cmljdCBNSU1FIHR5cGUgY2hlY2tpbmcgaXMgZW5hYmxlZC4iKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICNlbmRpZgpAQCAtMzUxLDcgKzM1MSw3IEBAIHZvaWQgU2NyaXB0RWxl
bWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogCiAgICAgICAg
IGRpc3BhdGNoRXJyb3JFdmVudCgpOwogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmlu
ZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9h
ZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7Ci0g
ICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIG1fZWxl
bWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVz
c2FnZUxldmVsOjpFcnJvciwgY29uc29sZU1lc3NhZ2UpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5k
ZXggY2E2MDQxZi4uMzY2NTIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcApAQCAtMzMsMTAgKzMzLDEwIEBACiAjaW5jbHVkZSAiRXJyb3JFdmVu
dC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAiUHVibGljVVJMTWFuYWdl
ci5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQu
aCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3Rm
L01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKQEAgLTUxLDYgKzUxLDggQEAK
ICNpbmNsdWRlICJEYXRhYmFzZUNvbnRleHQuaCIKICNlbmRpZgogCit1c2luZyBuYW1lc3BhY2Ug
SW5zcGVjdG9yOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFByb2Nlc3NNZXNzYWdl
c1Nvb25UYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggMWM3ZjBkYS4uYjVi
ZjgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBA
IC0yOSwxMCArMjksMTAgQEAKICNkZWZpbmUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dF9oCiAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKLSNp
bmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJTZWN1cml0eUNvbnRleHQuaCIKICNpbmNsdWRlICJT
dXBwbGVtZW50YWJsZS5oIgorI2luY2x1ZGUgIlVSTC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9D
b25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCiBuYW1lc3BhY2UgSlND
IHsKQEAgLTQwLDYgKzQwLDEwIEBAIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIFZNOwogfQogCitu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKK2NsYXNzIFNjcmlwdENhbGxTdGFjazsKK30KKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBDYWNoZWRTY3JpcHQ7CkBAIC00OSw3ICs1Myw2IEBAIGNs
YXNzIEV2ZW50TGlzdGVuZXI7CiBjbGFzcyBFdmVudFF1ZXVlOwogY2xhc3MgRXZlbnRUYXJnZXQ7
CiBjbGFzcyBNZXNzYWdlUG9ydDsKLWNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAogI2lmIEVOQUJM
RShCTE9CKQogY2xhc3MgUHVibGljVVJMTWFuYWdlcjsKQEAgLTc1LDcgKzc4LDcgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBzYW5pdGl6ZVNjcmlwdEVycm9yKFN0cmluZyYgZXJyb3JNZXNzYWdlLCBp
bnQmIGxpbmVOdW1iZXIsIGludCYgY29sdW1uTnVtYmVyLCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2Fj
aGVkU2NyaXB0KiA9IDApOwogICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQz
MTU+IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgbG9nIGV4Y2VwdGlvbiBzaG91bGQgaW5jbHVkZSBh
IGNvbHVtbiBudW1iZXIKLSAgICB2b2lkIHJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIENhY2hlZFNjcmlwdCog
PSAwKTsKKyAgICB2b2lkIHJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgQ2FjaGVkU2NyaXB0
KiA9IDApOwogCiAgICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3Rh
dGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogICAgIHZpcnR1
YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAp
ID0gMDsKQEAgLTE3Nyw5ICsxODAsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgQWN0aXZlRE9NT2JqZWN0
OjpSZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbkZvclN1c3BlbmRpbmdBY3RpdmVET01PYmplY3Rz
KCkgY29uc3QgeyByZXR1cm4gbV9yZWFzb25Gb3JTdXNwZW5kaW5nQWN0aXZlRE9NT2JqZWN0czsg
fQogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIgPSAwKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5O
dW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNT
dGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgPSAwOwogICAg
IHZpcnR1YWwgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVy
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbG9n
RXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KSA9IDA7CiAgICAgYm9vbCBkaXNwYXRjaEVy
cm9yRXZlbnQoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQg
Y29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0Kik7CiAK
ICAgICB2b2lkIGNsb3NlTWVzc2FnZVBvcnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0
QXJndW1lbnRzLmNwcAppbmRleCAyYzk1MzlkLi4wZjZjMDgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKQEAgLTQ0OCwxNSArNDQ4LDE1IEBAIHN0YXRpYyBNZXNz
YWdlTGV2ZWwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChWaWV3cG9ydEVycm9yQ29kZSBlcnJv
ckNvZGUpCiB7CiAgICAgc3dpdGNoIChlcnJvckNvZGUpIHsKICAgICBjYXNlIFRydW5jYXRlZFZp
ZXdwb3J0QXJndW1lbnRWYWx1ZUVycm9yOgotICAgICAgICByZXR1cm4gV2FybmluZ01lc3NhZ2VM
ZXZlbDsKKyAgICAgICAgcmV0dXJuIE1lc3NhZ2VMZXZlbDo6V2FybmluZzsKICAgICBjYXNlIFVu
cmVjb2duaXplZFZpZXdwb3J0QXJndW1lbnRLZXlFcnJvcjoKICAgICBjYXNlIFVucmVjb2duaXpl
ZFZpZXdwb3J0QXJndW1lbnRWYWx1ZUVycm9yOgogICAgIGNhc2UgTWF4aW11bVNjYWxlVG9vTGFy
Z2VFcnJvcjoKLSAgICAgICAgcmV0dXJuIEVycm9yTWVzc2FnZUxldmVsOworICAgICAgICByZXR1
cm4gTWVzc2FnZUxldmVsOjpFcnJvcjsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICByZXR1cm4gRXJyb3JNZXNzYWdlTGV2ZWw7CisgICAgcmV0dXJuIE1lc3NhZ2VMZXZl
bDo6RXJyb3I7CiB9CiAKIHZvaWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1
bWVudCwgVmlld3BvcnRFcnJvckNvZGUgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2Vt
ZW50MSwgY29uc3QgU3RyaW5nJiByZXBsYWNlbWVudDIpCkBAIC00NzUsNyArNDc1LDcgQEAgdm9p
ZCByZXBvcnRWaWV3cG9ydFdhcm5pbmcoRG9jdW1lbnQqIGRvY3VtZW50LCBWaWV3cG9ydEVycm9y
Q29kZSBlcnJvckNvZGUsIGNvbnMKICAgICAgICAgbWVzc2FnZS5hcHBlbmQoIiBOb3RlIHRoYXQg
JzsnIGlzIG5vdCBhIHNlcGFyYXRvciBpbiB2aWV3cG9ydCB2YWx1ZXMuIFRoZSBsaXN0IHNob3Vs
ZCBiZSBjb21tYS1zZXBhcmF0ZWQuIik7CiAKICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNo
b3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgIGRvY3Vt
ZW50LT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCB2aWV3cG9ydEVy
cm9yTWVzc2FnZUxldmVsKGVycm9yQ29kZSksIG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRD
b25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpSZW5kZXJpbmcsIHZpZXdwb3J0RXJyb3JNZXNz
YWdlTGV2ZWwoZXJyb3JDb2RlKSwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCmluZGV4IDY3MjZiZjQuLjYzNDFkMTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9CbG9iLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkJsb2JVUkwuaCIK
ICNpbmNsdWRlICJGaWxlLmgiCiAjaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgotI2luY2x1
ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKICNpbmNsdWRlICJUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRC
bG9iQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVy
LmNwcAppbmRleCBjNDdlYjFmLi44YTQ1ODA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L1dlYktpdEJsb2JCdWlsZGVyLmNwcApAQCAtMjksNyArMjksNiBAQAogICovCiAKICNpbmNsdWRl
ICJjb25maWcuaCIKLQogI2luY2x1ZGUgIldlYktpdEJsb2JCdWlsZGVyLmgiCiAKICNpbmNsdWRl
ICJCbG9iLmgiCkBAIC0zOCw3ICszNyw2IEBACiAjaW5jbHVkZSAiRmlsZS5oIgogI2luY2x1ZGUg
Ikhpc3RvZ3JhbVN1cHBvcnQuaCIKICNpbmNsdWRlICJMaW5lRW5kaW5nLmgiCi0jaW5jbHVkZSAi
U2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCiAjaW5jbHVkZSA8
cnVudGltZS9BcnJheUJ1ZmZlci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXJWaWV3
Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApp
bmRleCBlNjEwMjI5Li42Mzg4MTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTE4MCw3ICsxODAsNyBAQCBzdGF0aWMgYm9vbCBzaG91
bGRBdXRvZm9jdXMoSFRNTEZvcm1Db250cm9sRWxlbWVudCogZWxlbWVudCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIGlmIChlbGVtZW50LT5kb2N1bWVudCgpLmlzU2FuZGJveGVkKFNhbmRi
b3hBdXRvbWF0aWNGZWF0dXJlcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBz
aG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAg
ZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNv
bnRyb2wgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxv
dy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIGVsZW1lbnQtPmRv
Y3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBm
b3JtIGNvbnRyb2wgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhl
ICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIikpOwogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogICAgIGlmIChlbGVtZW50LT5oYXNBdXRvZm9jdXNlZCgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDEzMmVkOTEuLjYwYTEzODcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTI1Myw3ICsyNTMs
NyBAQCBib29sIEhUTUxGb3JtRWxlbWVudDo6dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KEV2ZW50KiBl
dmVudCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIFN0cmluZyBtZXNz
YWdlKCJBbiBpbnZhbGlkIGZvcm0gY29udHJvbCB3aXRoIG5hbWU9JyVuYW1lJyBpcyBub3QgZm9j
dXNhYmxlLiIpOwogICAgICAgICAgICAgbWVzc2FnZS5yZXBsYWNlKCIlbmFtZSIsIGNvbnRyb2wu
bmFtZSgpKTsKLSAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVy
aW5nTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICAg
ICAgZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpSZW5kZXJpbmcs
IE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCmluZGV4IGEyZjlkMTAuLjQxODEz
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCkBAIC04MSw3
ICs4MSw3IEBAIHZvaWQgSFRNTElGcmFtZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0CiAgICAgICAgIFN0cmluZyBpbnZhbGlk
VG9rZW5zOwogICAgICAgICBzZXRTYW5kYm94RmxhZ3ModmFsdWUuaXNOdWxsKCkgPyBTYW5kYm94
Tm9uZSA6IFNlY3VyaXR5Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KHZhbHVlLCBpbnZhbGlk
VG9rZW5zKSk7CiAgICAgICAgIGlmICghaW52YWxpZFRva2Vucy5pc051bGwoKSkKLSAgICAgICAg
ICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkVycm9yIHdoaWxlIHBhcnNpbmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1
dGU6ICIgKyBpbnZhbGlkVG9rZW5zKTsKKyAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29s
ZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJFcnJv
ciB3aGlsZSBwYXJzaW5nIHRoZSAnc2FuZGJveCcgYXR0cmlidXRlOiAiICsgaW52YWxpZFRva2Vu
cyk7CiAgICAgfSBlbHNlIGlmIChuYW1lID09IHNlYW1sZXNzQXR0cikgewogICAgICAgICAvLyBJ
ZiB3ZSdyZSBhZGRpbmcgb3IgcmVtb3ZpbmcgdGhlIHNlYW1sZXNzIGF0dHJpYnV0ZSwgd2UgbmVl
ZCB0byBmb3JjZSB0aGUgY29udGVudCBkb2N1bWVudCB0byByZWNhbGN1bGF0ZSBpdHMgU3R5bGVS
ZXNvbHZlci4KICAgICAgICAgaWYgKGNvbnRlbnREb2N1bWVudCgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggOWY5OTdiMC4uYzJjZDFmOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0yNzQ3LDcgKzI3NDcsNyBAQCB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJp
bmcmIGtleVN5c3RlbSwgUGFzc1JlZgogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUFfVjIpCiAg
ICAgc3RhdGljIGJvb2wgZmlyc3RUaW1lID0gdHJ1ZTsKICAgICBpZiAoZmlyc3RUaW1lICYmIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZl
bCwgIidIVE1MTWVkaWFFbGVtZW50LndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgpJyBpcyBkZXBy
ZWNhdGVkLiAgVXNlICdNZWRpYUtleXMuY3JlYXRlU2Vzc2lvbigpJyBpbnN0ZWFkLiIpOworICAg
ICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIEFTQ0lJTGl0ZXJhbCgiJ0hUTUxNZWRp
YUVsZW1lbnQud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCknIGlzIGRlcHJlY2F0ZWQuICBVc2Ug
J01lZGlhS2V5cy5jcmVhdGVTZXNzaW9uKCknIGluc3RlYWQuIikpOwogICAgICAgICBmaXJzdFRp
bWUgPSBmYWxzZTsKICAgICB9CiAjZW5kaWYKQEAgLTI3ODMsNyArMjc4Myw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6d2Via2l0QWRkS2V5KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBQYXNz
UmVmUHRyPFVpbnQ4QXJyCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQV9WMikKICAgICBzdGF0
aWMgYm9vbCBmaXJzdFRpbWUgPSB0cnVlOwogICAgIGlmIChmaXJzdFRpbWUgJiYgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiJ0hU
TUxNZWRpYUVsZW1lbnQud2Via2l0QWRkS2V5KCknIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ01lZGlh
S2V5U2Vzc2lvbi51cGRhdGUoKScgaW5zdGVhZC4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxl
dmVsOjpXYXJuaW5nLCBBU0NJSUxpdGVyYWwoIidIVE1MTWVkaWFFbGVtZW50LndlYmtpdEFkZEtl
eSgpJyBpcyBkZXByZWNhdGVkLiAgVXNlICdNZWRpYUtleVNlc3Npb24udXBkYXRlKCknIGluc3Rl
YWQuIikpOwogICAgICAgICBmaXJzdFRpbWUgPSBmYWxzZTsKICAgICB9CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuY3BwCmluZGV4IDQ3ZDg3ZWQuLmVhZWQ3ODQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtMTg0OCw3
ICsxODQ4LDcgQEAgUGFzc1JlZlB0cjxJbWFnZURhdGE+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6Z2V0SW1hZ2VEYXRhKEltYWdlQnVmZmVyOjpDb29yZGkKIHsKICAgICBpZiAoIWNhbnZhcygp
LT5vcmlnaW5DbGVhbigpKSB7CiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBj
b25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiVW5hYmxlIHRvIGdldCBpbWFnZSBkYXRhIGZy
b20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVkIGJ5IGNyb3NzLW9y
aWdpbiBkYXRhLiIpKSk7Ci0gICAgICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLmFkZENvbnNvbGVN
ZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVN
ZXNzYWdlKTsKKyAgICAgICAgY2FudmFzKCktPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGNvbnNvbGVNZXNz
YWdlKTsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHQuY3BwCmluZGV4IDM4MTAzOTkuLmE3ZmVmYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNTUyOCw3ICs1
NTI4LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnByaW50V2FybmluZ1RvQ29uc29s
ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKCFjYW52YXMoKSkKICAgICAgICAg
cmV0dXJuOwotICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKFJlbmRl
cmluZ01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGNh
bnZhcygpLT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlJlbmRl
cmluZywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBtZXNzYWdlKTsKIH0KIAogYm9vbCBXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlRnJhbWVidWZmZXJGdW5jUGFyYW1ldGVycyhjb25zdCBj
aGFyKiBmdW5jdGlvbk5hbWUsIEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gYXR0YWNobWVudCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKaW5kZXggMWJmNWEwOS4u
MTFiYzViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKQEAg
LTI4OCw3ICsyODgsNyBAQCB2b2lkIFhTU0F1ZGl0b3I6OmluaXQoRG9jdW1lbnQqIGRvY3VtZW50
LCBYU1NBdWRpdG9yRGVsZWdhdGUqIGF1ZGl0b3JEZWxlZ2F0ZSkKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgICAgICBpZiAoeHNzUHJvdGVjdGlvbkhlYWRlciA9PSBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OlJlZmxlY3RlZFhTU0ludmFsaWQpCi0gICAgICAgICAgICBkb2N1bWVudC0+YWRk
Q29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IkVycm9yIHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246ICIgKyBoZWFkZXJWYWx1ZSAr
ICI6ICIgICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIgcG9zaXRpb24gIiArIFN0cmlu
Zzo6Zm9ybWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhlIGRlZmF1bHQgcHJvdGVjdGlv
bnMgd2lsbCBiZSBhcHBsaWVkLiIpOworICAgICAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiRXJy
b3IgcGFyc2luZyBoZWFkZXIgWC1YU1MtUHJvdGVjdGlvbjogIiArIGhlYWRlclZhbHVlICsgIjog
IiAgKyBlcnJvckRldGFpbHMgKyAiIGF0IGNoYXJhY3RlciBwb3NpdGlvbiAiICsgU3RyaW5nOjpm
b3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlvbikgKyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0aW9ucyB3
aWxsIGJlIGFwcGxpZWQuIik7CiAKICAgICAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWZs
ZWN0ZWRYU1NEaXNwb3NpdGlvbiBjc3BIZWFkZXIgPSBkb2N1bWVudC0+Y29udGVudFNlY3VyaXR5
UG9saWN5KCktPnJlZmxlY3RlZFhTU0Rpc3Bvc2l0aW9uKCk7CiAgICAgICAgIG1fZGlkU2VuZFZh
bGlkQ1NQSGVhZGVyID0gY3NwSGVhZGVyICE9IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVmbGVj
dGVkWFNTVW5zZXQgJiYgY3NwSGVhZGVyICE9IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVmbGVj
dGVkWFNTSW52YWxpZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hT
U0F1ZGl0b3JEZWxlZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRp
dG9yRGVsZWdhdGUuY3BwCmluZGV4IGQwNjA2OWIuLjljYmEwNjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcApAQCAtOTgsNyArOTgs
NyBAQCB2b2lkIFhTU0F1ZGl0b3JEZWxlZ2F0ZTo6ZGlkQmxvY2tTY3JpcHQoY29uc3QgWFNTSW5m
byYgeHNzSW5mbykKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCi0gICAgbV9kb2N1
bWVudC5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBidWlsZENvbnNvbGVFcnJvcih4c3NJbmZvLCBtX2RvY3VtZW50LnVybCgpLnN0cmluZygpKSk7
CisgICAgbV9kb2N1bWVudC5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVz
c2FnZUxldmVsOjpFcnJvciwgYnVpbGRDb25zb2xlRXJyb3IoeHNzSW5mbywgbV9kb2N1bWVudC51
cmwoKS5zdHJpbmcoKSkpOwogCiAgICAgRnJhbWVMb2FkZXImIGZyYW1lTG9hZGVyID0gbV9kb2N1
bWVudC5mcmFtZSgpLT5sb2FkZXIoKTsKICAgICBpZiAoeHNzSW5mby5tX2RpZEJsb2NrRW50aXJl
UGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQ
SUhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5j
cHAKaW5kZXggOTJmMWQyNy4uZjQwNGE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJG
cmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckNsaWVudC5oIgotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9N
U3RvcmFnZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oIgpAQCAt
NDksNiArNDgsNyBAQAogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+CiAjaW5jbHVk
ZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yQWdlbnQuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckNvbnNvbGVBZ2VudC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
U3RkTGliRXh0cmFzLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b21tYW5kTGluZUFQSUhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGlu
ZUFQSUhvc3QuaAppbmRleCA2ZjkwMjVmLi4wOGYwYzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCkBAIC0zMCw4ICszMCw4IEBACiAjaWZuZGVm
IENvbW1hbmRMaW5lQVBJSG9zdF9oCiAjZGVmaW5lIENvbW1hbmRMaW5lQVBJSG9zdF9oCiAKLSNp
bmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1
ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KQEAgLTQyLDYgKzQyLDcgQEAgY2xhc3MgU2NyaXB0VmFsdWU7CiAKIG5hbWVzcGFjZSBJbnNw
ZWN0b3IgewogY2xhc3MgSW5zcGVjdG9yQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdl
bnQ7CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBJbnNwZWN0b3JWYWx1ZTsKIH0KQEAg
LTQ5LDcgKzUwLDYgQEAgY2xhc3MgSW5zcGVjdG9yVmFsdWU7CiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIERhdGFiYXNlOwotY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwogY2xhc3Mg
SW5zcGVjdG9yRE9NQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ7CiBjbGFz
cyBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OwpAQCAtNjQsMTEgKzY0LDExIEBAIHB1YmxpYzoKICAg
ICB+Q29tbWFuZExpbmVBUElIb3N0KCk7CiAKICAgICB2b2lkIGluaXQoSW5zcGVjdG9yOjpJbnNw
ZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQKLSAgICAgICAgICAgICwgSW5zcGVjdG9yQ29uc29s
ZUFnZW50KiBjb25zb2xlQWdlbnQKLSAgICAgICAgICAgICwgSW5zcGVjdG9yRE9NQWdlbnQqIGRv
bUFnZW50Ci0gICAgICAgICAgICAsIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCogZG9tU3RvcmFn
ZUFnZW50CisgICAgICAgICwgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudAorICAgICAgICAsIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudAorICAgICAgICAs
IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCogZG9tU3RvcmFnZUFnZW50CiAjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKLSAgICAgICAgICAgICwgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogZGF0YWJh
c2VBZ2VudAorICAgICAgICAsIEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGRhdGFiYXNlQWdlbnQK
ICNlbmRpZgogICAgICAgICApCiAgICAgewpAQCAtMTA4LDcgKzEwOCw3IEBAIHByaXZhdGU6CiAg
ICAgQ29tbWFuZExpbmVBUElIb3N0KCk7CiAKICAgICBJbnNwZWN0b3I6Okluc3BlY3RvckFnZW50
KiBtX2luc3BlY3RvckFnZW50OwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xl
QWdlbnQ7CisgICAgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqIG1fY29uc29sZUFn
ZW50OwogICAgIEluc3BlY3RvckRPTUFnZW50KiBtX2RvbUFnZW50OwogICAgIEluc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudCogbV9kb21TdG9yYWdlQWdlbnQ7CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9u
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCmlu
ZGV4IGY3MjUyMjMuLmJmYzQyZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckFsbEluT25lLmNwcApAQCAtMjcsMTYgKzI3LDEzIEBACiAKICNpbmNsdWRlICJDb21t
YW5kTGluZUFQSUhvc3QuY3BwIgogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcCIK
LSNpbmNsdWRlICJDb25zb2xlTWVzc2FnZS5jcHAiCiAjaW5jbHVkZSAiRE9NRWRpdG9yLmNwcCIK
ICNpbmNsdWRlICJET01QYXRjaFN1cHBvcnQuY3BwIgotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFj
dG9yeS5jcHAiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuY3BwIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yQ1NTQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvckNhbnZhc0FnZW50LmNwcCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuY3BwIgotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNv
bGVBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5jcHAiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yQ291bnRlcnMuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmNw
cCIKQEAgLTcwLDEwICs2Nyw4IEBACiAjaW5jbHVkZSAiUGFnZUluamVjdGVkU2NyaXB0SG9zdC5j
cHAiCiAjaW5jbHVkZSAiUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAiCiAjaW5jbHVkZSAi
UGFnZVJ1bnRpbWVBZ2VudC5jcHAiCi0jaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmNwcCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuY3BwIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5j
cHAiCiAjaW5jbHVkZSAiVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCIKKyNpbmNsdWRlICJXZWJD
b25zb2xlQWdlbnQuY3BwIgogI2luY2x1ZGUgIldlYkRlYnVnZ2VyQWdlbnQuY3BwIgogI2luY2x1
ZGUgIldvcmtlckNvbnNvbGVBZ2VudC5jcHAiCiAjaW5jbHVkZSAiV29ya2VyRGVidWdnZXJBZ2Vu
dC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
c29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0OWJhZDguLjAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCisrKyAv
ZGV2L251bGwKQEAgLTEsMTE1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQot
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgSW5zcGVj
dG9yQ29uc29sZUFnZW50X2gKLSNkZWZpbmUgSW5zcGVjdG9yQ29uc29sZUFnZW50X2gKLQotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0KLSNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKLSNpbmNs
dWRlICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JXZWJBZ2VudEJhc2UuaCIK
LSNpbmNsdWRlICJJbnNwZWN0b3JXZWJCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKLSNpbmNsdWRlICJJ
bnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCi0jaW5jbHVkZSAiU2NyaXB0U3RhdGUu
aCIKLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBDb25zb2xlTWVzc2FnZTsKLWNsYXNzIERPTVdpbmRvdzsKLWNsYXNzIEluc3RydW1lbnRp
bmdBZ2VudHM7Ci1jbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwotY2xhc3MgUmVzb3Vy
Y2VFcnJvcjsKLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci1jbGFzcyBTY3JpcHRBcmd1bWVudHM7
Ci1jbGFzcyBTY3JpcHRDYWxsU3RhY2s7Ci1jbGFzcyBTY3JpcHRQcm9maWxlOwotCi10eXBlZGVm
IFN0cmluZyBFcnJvclN0cmluZzsKLQotY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50IDogcHVi
bGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29s
ZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5z
cGVjdG9yQ29uc29sZUFnZW50KTsKLXB1YmxpYzoKLSAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKLSAgICB2
aXJ0dWFsIH5JbnNwZWN0b3JDb25zb2xlQWdlbnQoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBlbmFi
bGUoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJv
clN0cmluZyopIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBjbGVhck1lc3NhZ2VzKEVycm9y
U3RyaW5nKikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBlbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9l
bmFibGVkOyB9Ci0gICAgdm9pZCByZXNldCgpOwotCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCos
IEluc3BlY3Rvcjo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKLSAgICB2
aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNw
ZWN0b3JEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKLQotICAgIHZvaWQgYWRkTWVzc2FnZVRv
Q29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVu
dHM+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgdm9pZCBhZGRN
ZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3JpcHRJRCwgdW5zaWduZWQg
bGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4ZWNTdGF0ZSogPSBudWxs
cHRyLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0KLSAgICAvLyBGSVhN
RTogUmVtb3ZlIG9uY2Ugd2Ugbm8gbG9uZ2VyIGdlbmVyYXRlIHN0YWNrcyBvdXRzaWRlIG9mIElu
c3BlY3Rvci4KLSAgICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsK
LQotICAgIFZlY3Rvcjx1bnNpZ25lZD4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpOwot
Ci0gICAgdm9pZCBzdGFydFRpbWluZyhjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSAgICB2b2lkIHN0
b3BUaW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
KTsKLSAgICB2b2lkIGNvdW50KEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+KTsKLQotICAgIHZvaWQgZnJhbWVXaW5kb3dEaXNjYXJkZWQoRE9NV2luZG93Kik7Ci0K
LSAgICB2b2lkIGRpZEZpbmlzaFhIUkxvYWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgc2VuZFVSTCwgdW5zaWduZWQg
c2VuZExpbmVOdW1iZXIsIHVuc2lnbmVkIHNlbmRDb2x1bW5OdW1iZXIpOwotICAgIHZvaWQgZGlk
UmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmKTsKLSAgICB2b2lkIGRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKLSAgICB2b2lkIGFkZFBy
b2ZpbGVGaW5pc2hlZE1lc3NhZ2VUb0NvbnNvbGUoUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiwg
dW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCk7Ci0gICAgdm9pZCBhZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUo
Y29uc3QgU3RyaW5nJiB0aXRsZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1u
TnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7Ci0gICAgdmlydHVhbCB2b2lkIHNldE1v
bml0b3JpbmdYSFJFbmFibGVkKEVycm9yU3RyaW5nKiwgYm9vbCBlbmFibGVkKSBvdmVycmlkZTsK
LSAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyosIGludCBub2Rl
SWQpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0
cmluZyosIGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpIG92ZXJyaWRlOwotCi0gICAgdmlydHVh
bCBib29sIGlzV29ya2VyQWdlbnQoKSA9IDA7Ci0KLXByb3RlY3RlZDoKLSAgICB2b2lkIGFkZENv
bnNvbGVNZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3NhZ2U+KTsKLQotICAgIFBhZ2VJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwotICAgIHN0ZDo6dW5p
cXVlX3B0cjxJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXI+IG1f
ZnJvbnRlbmREaXNwYXRjaGVyOwotICAgIFJlZlB0cjxJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNv
bGVCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKLSAgICBDb25zb2xlTWVz
c2FnZSogbV9wcmV2aW91c01lc3NhZ2U7Ci0gICAgVmVjdG9yPE93blB0cjxDb25zb2xlTWVzc2Fn
ZT4+IG1fY29uc29sZU1lc3NhZ2VzOwotICAgIGludCBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNv
dW50OwotICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV9jb3VudHM7Ci0gICAgSGFzaE1h
cDxTdHJpbmcsIGRvdWJsZT4gbV90aW1lczsKLSAgICBib29sIG1fZW5hYmxlZDsKLSAgICBib29s
IG1fbW9uaXRvcmluZ1hIUkVuYWJsZWQ7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCi0jZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVj
dG9yQ29uc29sZUFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaAppbmRleCBlZWU3ODdjLi4xNDYw
YWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29s
ZUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBJ
bnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uX2gKIAogI2luY2x1ZGUgIkluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgotI2luY2x1ZGUg
IlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKKyNpbmNsdWRl
IDxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNz
YWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlw
ZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllcikKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2Fn
ZVRvQ29uc29sZShQYWdlKiBwYWdlLCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUg
dHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllcikKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvclBhZ2UocGFnZSkpCkBAIC01NSw3ICs1NSw3IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYWdlLCBNZXNzYWdlU291
CiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRN
ZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
VHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlND
OjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQoraW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdl
KHBhZ2UpKQpAQCAtOTEsNyArOTEsNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNvdQogI2VuZGlm
CiB9CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRv
Q29uc29sZShXb3JrZXJHbG9iYWxTY29wZSogd29ya2VyR2xvYmFsU2NvcGUsIE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShXb3JrZXJHbG9iYWxTY29wZSogd29ya2Vy
R2xvYmFsU2NvcGUsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNz
YWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxJbnNwZWN0
b3I6OlNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2Vy
R2xvYmFsU2NvcGUod29ya2VyR2xvYmFsU2NvcGUpKQpAQCAtMTI2LDcgKzEyNiw3IEBAIGlubGlu
ZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShXb3Jr
ZXJHbG9iYWxTY29wZSogd29yCiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpjb25zb2xlQ291bnQoUGFnZSogcGFnZSwgSlNDOjpFeGVjU3RhdGUqIHN0
YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQoraW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQ291bnQoUGFnZSogcGFnZSwgSlNDOjpF
eGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdl
KHBhZ2UpKQpAQCAtMTQ5LDcgKzE0OSw3IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6c3RhcnRDb25zb2xlVGltaW5nKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyCiAjZW5k
aWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdG9wQ29uc29s
ZVRpbWluZyhGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiBzdGFjaykKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6c3RvcENvbnNvbGVUaW1pbmcoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQ
YXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiBzdGFjaykKIHsKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKQEAgLTE2MSw3ICsx
NjEsNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xl
VGltaW5nKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaQogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZVRpbWVTdGFtcChGcmFtZSogZnJhbWUs
IFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCitpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVUaW1lU3RhbXAoRnJhbWUqIGZyYW1lLCBQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7CiAjaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsK
QEAgLTE4Nyw3ICsxODcsNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYQogI2VuZGlmCiB9CiAK
LWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkUHJvZmlsZShQYWdlKiBw
YWdlLCBSZWZQdHI8U2NyaXB0UHJvZmlsZT4gcHJvZmlsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNhbGxTdGFjaykKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
YWRkUHJvZmlsZShQYWdlKiBwYWdlLCBSZWZQdHI8U2NyaXB0UHJvZmlsZT4gcHJvZmlsZSwgUGFz
c1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQogewogI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCAyMzNiMDM4
Li45NDQyNDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElI
b3N0LmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3ND
b250ZXh0LmgiCi0jaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ1NTQWdl
bnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDYW52YXNBZ2VudC5oIgpAQCAtNzIsNiArNzEsNyBA
QAogI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJQYWdl
UnVudGltZUFnZW50LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlIDxpbnNwZWN0
b3IvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVyLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JB
Z2VudC5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CkBAIC0xNDEsOCArMTQxLDkgQEAg
SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlJiBwYWdlLCBJbnNw
ZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICAgICBtX3Jlc291cmNlQWdlbnQgPSByZXNvdXJjZUFn
ZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUocmVzb3VyY2VBZ2Vu
dFB0cikpOwogCi0gICAgYXV0byBjb25zb2xlQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPFBh
Z2VDb25zb2xlQWdlbnQ+KG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9pbmplY3RlZFNj
cmlwdE1hbmFnZXIuZ2V0KCksIG1fZG9tQWdlbnQpOwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dCogY29uc29sZUFnZW50ID0gY29uc29sZUFnZW50UHRyLmdldCgpOworICAgIGF1dG8gY29uc29s
ZUFnZW50UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlQ29uc29sZUFnZW50PihtX2luamVjdGVk
U2NyaXB0TWFuYWdlci5nZXQoKSwgbV9kb21BZ2VudCk7CisgICAgV2ViQ29uc29sZUFnZW50KiBj
b25zb2xlQWdlbnQgPSBjb25zb2xlQWdlbnRQdHIuZ2V0KCk7CisgICAgbV9pbnN0cnVtZW50aW5n
QWdlbnRzLT5zZXRXZWJDb25zb2xlQWdlbnQoY29uc29sZUFnZW50UHRyLmdldCgpKTsKICAgICBt
X2FnZW50cy5hcHBlbmQoc3RkOjptb3ZlKGNvbnNvbGVBZ2VudFB0cikpOwogCiAgICAgYXV0byBk
ZWJ1Z2dlckFnZW50UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlRGVidWdnZXJBZ2VudD4obV9p
bmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCksIG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwg
cGFnZUFnZW50LCBtX292ZXJsYXkuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggZjI0Y2FhYS4uYmYwM2UxNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC02Myw3ICs2
Myw2IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRlbXBsYXRlRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKLSNpbmNsdWRlICJJZGVudGlmaWVy
c0ZhY3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JIaXN0b3J5LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yTm9kZUZpbmRlci5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuaCIKQEAgLTkx
LDYgKzkwLDcgQEAKICNpbmNsdWRlICJYUGF0aFJlc3VsdC5oIgogI2luY2x1ZGUgImh0bWxlZGl0
aW5nLmgiCiAjaW5jbHVkZSAibWFya3VwLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL0lkZW50aWZp
ZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oPgogI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5oCmluZGV4IDlkYzY3YjAuLmFiMGU3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKQEAgLTI5LDcgKzI5LDYgQEAKICNp
Zm5kZWYgSW5zcGVjdG9yRnJvbnRlbmRIb3N0X2gKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRI
b3N0X2gKIAotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51
LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDIzNWVjY2UuLmYxNTg5MjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBA
IC0zNSw4ICszNSw2IEBACiAKICNpbmNsdWRlICJDU1NSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5
bGVSdWxlLmgiCi0jaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCi0jaW5jbHVkZSAiQ29uc29s
ZVR5cGVzLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldv
cmxkLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKQEAgLTQ2LDcgKzQ0LDYgQEAKICNpbmNsdWRl
ICJJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JD
U1NBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNhbnZhc0FnZW50LmgiCi0jaW5jbHVkZSAi
SW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yRE9NU3RvcmFnZUFnZW50LmgiCkBAIC02NCwxNiArNjEsMTggQEAKICNpbmNsdWRlICJQYWdl
UnVudGltZUFnZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVmlldy5oIgotI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgotI2luY2x1ZGUgIlNjcmlw
dENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJT
Y3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgIlN0
eWxlUnVsZS5oIgorI2luY2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIldvcmtl
ckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyUnVudGltZUFnZW50LmgiCiAjaW5jbHVk
ZSAiV29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3QuaCIKKyNpbmNsdWRl
IDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdEFy
Z3VtZW50cy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNs
dWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaD4KICNpbmNsdWRl
IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAt
MTgzLDcgKzE4Miw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZhbGlk
YXRlU3R5bGVBdHRySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpCiAKIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpmcmFtZVdpbmRvd0Rpc2NhcmRlZEltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgRE9NV2luZG93KiB3aW5kb3cpCiB7Ci0gICAgaWYg
KEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29u
c29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAg
ICAgIGNvbnNvbGVBZ2VudC0+ZnJhbWVXaW5kb3dEaXNjYXJkZWQod2luZG93KTsKIH0KIApAQCAt
NjAwLDcgKzU5OSw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZl
UmVzb3VyY2VSZXNwb25zZUltcGwoY29uc3QgSW5zcGVjdG9ySW5zCiAgICAgSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGNvb2tpZS5pbnN0cnVtZW50aW5nQWdlbnRz
KCk7CiAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCiAgICAgICAgIHJlc291
cmNlQWdlbnQtPmRpZFJlY2VpdmVSZXNwb25zZShpZGVudGlmaWVyLCBsb2FkZXIsIHJlc3BvbnNl
LCByZXNvdXJjZUxvYWRlcik7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29s
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisg
ICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlkUmVjZWl2ZVJl
c3BvbnNlKGlkZW50aWZpZXIsIHJlc3BvbnNlKTsgLy8gVGhpcyBzaG91bGQgY29tZSBBRlRFUiBy
ZXNvdXJjZSBub3RpZmljYXRpb24sIGZyb250LWVuZCByZWxpZXMgb24gdGhpcy4KIH0KIApAQCAt
NjQ1LDcgKzY0NCw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWlsTG9h
ZGluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVuCiAgICAgICAgIHRpbWVsaW5l
QWdlbnQtPmRpZEZpbmlzaExvYWRpbmdSZXNvdXJjZShpZGVudGlmaWVyLCB0cnVlLCAwLCBsb2Fk
ZXItPmZyYW1lKCkpOwogICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFn
ZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQogICAg
ICAgICByZXNvdXJjZUFnZW50LT5kaWRGYWlsTG9hZGluZyhpZGVudGlmaWVyLCBsb2FkZXIsIGVy
cm9yKTsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29u
c29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xl
QWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5kaWRGYWlsTG9hZGluZyhpZGVudGlmaWVy
LCBlcnJvcik7IC8vIFRoaXMgc2hvdWxkIGNvbWUgQUZURVIgcmVzb3VyY2Ugbm90aWZpY2F0aW9u
LCBmcm9udC1lbmQgcmVsaWVzIG9uIHRoaXMuCiB9CiAKQEAgLTY2OSw3ICs2NjgsNyBAQCB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmFpbFhIUkxvYWRpbmdJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RmluaXNoWEhSTG9hZGluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0Fn
ZW50cywgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50LCB1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlU3RyaW5nLCBjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgU3RyaW5nJiBzZW5kVVJMLCB1bnNpZ25lZCBzZW5kTGluZU51bWJlciwgdW5zaWduZWQgc2Vu
ZENvbHVtbk51bWJlcikKIHsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xl
QWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAg
ICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRz
LT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5kaWRGaW5pc2hYSFJM
b2FkaW5nKGlkZW50aWZpZXIsIHVybCwgc2VuZFVSTCwgc2VuZExpbmVOdW1iZXIsIHNlbmRDb2x1
bW5OdW1iZXIpOwogICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50
ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQogICAgICAg
ICByZXNvdXJjZUFnZW50LT5kaWRGaW5pc2hYSFJMb2FkaW5nKGNsaWVudCwgaWRlbnRpZmllciwg
c291cmNlU3RyaW5nKTsKQEAgLTc1Miw3ICs3NTEsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkQ29tbWl0TG9hZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dAogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobG9hZGVyLT5mcmFtZSgpLT5pc01haW5GcmFt
ZSgpKSB7Ci0gICAgICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9
IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgICAgICBp
ZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53
ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgICAgIGNvbnNvbGVBZ2VudC0+cmVzZXQoKTsKIAog
ICAgICAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3Ry
dW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKQEAgLTg2MiwxMyArODYx
LDEzIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUxJbXBsKGNv
bnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvCiAvLyBKYXZhU2NyaXB0Q29yZSBJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50IHNob3VsZCBrbm93IENvbnNvbGUgTWVzc2FnZVR5cGVzLgogc3RhdGlj
IGJvb2wgaXNDb25zb2xlQXNzZXJ0TWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZVR5cGUgdHlwZSkKIHsKLSAgICByZXR1cm4gc291cmNlID09IENvbnNvbGVBUElNZXNzYWdlU291
cmNlICYmIHR5cGUgPT0gQXNzZXJ0TWVzc2FnZVR5cGU7CisgICAgcmV0dXJuIHNvdXJjZSA9PSBN
ZXNzYWdlU291cmNlOjpDb25zb2xlQVBJICYmIHR5cGUgPT0gTWVzc2FnZVR5cGU6OkFzc2VydDsK
IH0KIAogLy8gRklYTUU6IERyb3AgdGhpcyBvbmNlIHdlIG5vIGxvbmdlciBnZW5lcmF0ZSBzdGFj
a3Mgb3V0c2lkZSBvZiBJbnNwZWN0b3IuCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cywgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VM
ZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAg
IGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQq
IGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQog
ICAgICAgICBjb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIGp1c3QgcGFzcyB0aGUgbWVzc2FnZSBvbiB0byB0aGUgZGVidWdnZXIg
YWdlbnQuIEphdmFTY3JpcHRDb3JlIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgc2hvdWxkIGtub3cg
Q29uc29sZSBNZXNzYWdlVHlwZXMuCiAgICAgaWYgKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIGRl
YnVnZ2VyQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JEZWJ1Z2dlckFnZW50
KCkpIHsKQEAgLTg3OSw3ICs4NzgsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdAogCiB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgaWYgKElu
c3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+
aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29s
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAg
IGNvbnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIHR5cGUsIGxldmVsLCBt
ZXNzYWdlLCBzdGF0ZSwgYXJndW1lbnRzLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIGp1c3QgcGFzcyB0aGUgbWVzc2FnZSBvbiB0byB0aGUgZGVidWdnZXIg
YWdlbnQuIEphdmFTY3JpcHRDb3JlIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgc2hvdWxkIGtub3cg
Q29uc29sZSBNZXNzYWdlVHlwZXMuCiAgICAgaWYgKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIGRl
YnVnZ2VyQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JEZWJ1Z2dlckFnZW50
KCkpIHsKQEAgLTg5MCwxMyArODg5LDEzIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0CiAKIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc2NyaXB0SUQsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2ln
bmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJl
cXVlc3RJZGVudGlmaWVyKQogewotICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQor
ICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VU
b0NvbnNvbGUoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc2NyaXB0SUQsIGxpbmVOdW1i
ZXIsIGNvbHVtbk51bWJlciwgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAogdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudEltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVm
UHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGlmIChJbnNwZWN0b3JDb25z
b2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNv
bnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGlu
c3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBjb25zb2xlQWdl
bnQtPmNvdW50KHN0YXRlLCBhcmd1bWVudHMpOwogfQogCkBAIC05MDQsMTMgKzkwMywxMyBAQCB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RhcnRDb25zb2xlVGltaW5nSW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cgogewogICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50
KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yVGltZWxpbmVB
Z2VudCgpKQogICAgICAgICB0aW1lbGluZUFnZW50LT50aW1lKGZyYW1lLCB0aXRsZSk7Ci0gICAg
aWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCog
Y29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAg
ICAgICAgIGNvbnNvbGVBZ2VudC0+c3RhcnRUaW1pbmcodGl0bGUpOwogfQogCiB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcENvbnNvbGVUaW1pbmdJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiB0
aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrKQogewotICAgIGlmIChJbnNw
ZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmlu
c3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVB
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBj
b25zb2xlQWdlbnQtPnN0b3BUaW1pbmcodGl0bGUsIHN0YWNrKTsKICAgICBpZiAoSW5zcGVjdG9y
VGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQoKSkKICAgICAgICAgdGltZWxpbmVBZ2VudC0+dGltZUVuZChmcmFt
ZSwgdGl0bGUpOwpAQCAtMTA3Miw3ICsxMDcxLDcgQEAgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmNhbnZhc0FnZW50RW5hYmxlZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHQK
IGJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQWdlbnRFbmFibGVkKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCiB7CiAgICAgSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNG
b3JDb250ZXh0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwotICAgIEluc3BlY3RvckNvbnNvbGVB
Z2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cyA/IGluc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpIDogbnVsbHB0cjsKKyAgICBJbnNwZWN0b3JD
b25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMgPyBpbnN0cnVt
ZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSA6IG51bGxwdHI7CiAgICAgcmV0dXJuIGNv
bnNvbGVBZ2VudCAmJiBjb25zb2xlQWdlbnQtPmVuYWJsZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGU1
ZjFiNDAuLmMxNjg1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTMyLDggKzMyLDYgQEAKICNkZWZpbmUgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uX2gKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCi0jaW5jbHVk
ZSAiQ29uc29sZUFQSVR5cGVzLmgiCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVk
ZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIK
QEAgLTQ0LDEyICs0MiwxOCBAQAogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAjaW5jbHVkZSAi
U3RvcmFnZUFyZWEuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRGcmFtZS5oIgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVz
cGFjZSBEZXByZWNhdGVkIHsKIGNsYXNzIFNjcmlwdE9iamVjdDsKIH0KIAorbmFtZXNwYWNlIElu
c3BlY3RvciB7CitjbGFzcyBTY3JpcHRBcmd1bWVudHM7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2s7
Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ1NTUnVsZTsKQEAgLTc3LDggKzgx
LDYgQEAgY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5nOwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xh
c3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKLWNsYXNzIFNjcmlw
dEFyZ3VtZW50czsKLWNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CkBA
IC0yMDMsMTggKzIwNSwxOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkV3JpdGVIVE1M
KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYsIHVuc2lnbmVkIGVuZExpbmUp
OwogCiAgICAgLy8gRklYTUU6IFJlbW92ZSBvbmNlIHdlIG5vIGxvbmdlciBnZW5lcmF0ZSBzdGFj
a3Mgb3V0c2lkZSBvZiBJbnNwZWN0b3IuCi0gICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKLSAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdl
VG9Db25zb2xlKFBhZ2UqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAg
c3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciA9IDApOworICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSosIE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1l
bnRzPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogICAgIHN0YXRpYyB2
b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBl
LCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3Jp
cHRJRCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4
ZWNTdGF0ZSogPSBudWxscHRyLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7
CiAKICAgICAvLyBGSVhNRTogQ29udmVydCB0byBTY3JpcHRBcmd1bWVudHMgdG8gbWF0Y2ggbm9u
LXdvcmtlciBjb250ZXh0LgotICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV29y
a2VyR2xvYmFsU2NvcGUqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAgIHN0YXRpYyB2b2lkIGFkZE1l
c3NhZ2VUb0NvbnNvbGUoV29ya2VyR2xvYmFsU2NvcGUqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdl
VHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
ID0gMCk7CiAgICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXb3JrZXJHbG9iYWxT
Y29wZSosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3JpcHRJRCwgdW5zaWduZWQgbGluZU51bWJl
ciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4ZWNTdGF0ZSogPSBudWxscHRyLCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAKLSAgICBzdGF0aWMgdm9pZCBjb25z
b2xlQ291bnQoUGFnZSosIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVu
dHM+KTsKKyAgICBzdGF0aWMgdm9pZCBjb25zb2xlQ291bnQoUGFnZSosIEpTQzo6RXhlY1N0YXRl
KiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwogICAgIHN0YXRpYyB2
b2lkIHN0YXJ0Q29uc29sZVRpbWluZyhGcmFtZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpOwotICAg
IHN0YXRpYyB2b2lkIHN0b3BDb25zb2xlVGltaW5nKEZyYW1lKiwgY29uc3QgU3RyaW5nJiB0aXRs
ZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKLSAgICBzdGF0aWMgdm9pZCBjb25zb2xl
VGltZVN0YW1wKEZyYW1lKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKKyAgICBzdGF0
aWMgdm9pZCBzdG9wQ29uc29sZVRpbWluZyhGcmFtZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIFBh
c3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICBzdGF0aWMgdm9pZCBj
b25zb2xlVGltZVN0YW1wKEZyYW1lKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3Vt
ZW50cz4pOwogCiAgICAgc3RhdGljIHZvaWQgZGlkUmVxdWVzdEFuaW1hdGlvbkZyYW1lKERvY3Vt
ZW50KiwgaW50IGNhbGxiYWNrSWQpOwogICAgIHN0YXRpYyB2b2lkIGRpZENhbmNlbEFuaW1hdGlv
bkZyYW1lKERvY3VtZW50KiwgaW50IGNhbGxiYWNrSWQpOwpAQCAtMjIyLDcgKzIyNCw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRGaXJlQW5pbWF0aW9uRnJhbWUoY29uc3QgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAKICAgICBzdGF0aWMgdm9pZCBhZGRTdGFydFBy
b2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUoUGFnZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpOwotICAgIHN0YXRpYyB2b2lkIGFkZFByb2ZpbGUoUGFnZSosIFJlZlB0cjxTY3JpcHRQ
cm9maWxlPiwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICBzdGF0aWMgdm9pZCBh
ZGRQcm9maWxlKFBhZ2UqLCBSZWZQdHI8U2NyaXB0UHJvZmlsZT4sIFBhc3NSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKICAgICBzdGF0aWMgU3RyaW5nIGdldEN1cnJlbnRVc2Vy
SW5pdGlhdGVkUHJvZmlsZU5hbWUoUGFnZSosIGJvb2wgaW5jcmVtZW50UHJvZmlsZU51bWJlcik7
CiAgICAgc3RhdGljIGJvb2wgcHJvZmlsZXJFbmFibGVkKFBhZ2UqKTsKIApAQCAtMzg1LDE2ICsz
ODcsMTYgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llIHdpbGxXcml0ZUhUTUxJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCB1bnNpZ25lZCBzdGFy
dExpbmUsIEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkV3JpdGVIVE1MSW1wbChjb25zdCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCB1bnNpZ25lZCBlbmRMaW5lKTsKIAotICAg
IHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
LCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+LCB1
bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRNZXNz
YWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNT
dGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+LCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25z
b2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUs
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlw
dElELCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhl
Y1N0YXRlKiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcik7CiAKICAgICAvLyBGSVhN
RTogUmVtb3ZlIG9uY2Ugd2Ugbm8gbG9uZ2VyIGdlbmVyYXRlIHN0YWNrcyBvdXRzaWRlIG9mIElu
c3BlY3Rvci4KLSAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2ln
bmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpOworICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VU
b0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdl
VHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
KTsKIAotICAgIHN0YXRpYyB2b2lkIGNvbnNvbGVDb3VudEltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyosIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKKyAgICBz
dGF0aWMgdm9pZCBjb25zb2xlQ291bnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBKU0M6OkV4
ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKICAgICBz
dGF0aWMgdm9pZCBzdGFydENvbnNvbGVUaW1pbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBG
cmFtZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpOwotICAgIHN0YXRpYyB2b2lkIHN0b3BDb25zb2xl
VGltaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRp
dGxlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwotICAgIHN0YXRpYyB2b2lkIGNvbnNv
bGVUaW1lU3RhbXBJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSosIFBhc3NSZWZQdHI8
U2NyaXB0QXJndW1lbnRzPik7CisgICAgc3RhdGljIHZvaWQgc3RvcENvbnNvbGVUaW1pbmdJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NS
ZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICBzdGF0aWMgdm9pZCBjb25z
b2xlVGltZVN0YW1wSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAKICAgICBzdGF0aWMgdm9pZCBkaWRSZXF1
ZXN0QW5pbWF0aW9uRnJhbWVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBpbnQgY2FsbGJhY2tJ
ZCwgRnJhbWUqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRDYW5jZWxBbmltYXRpb25GcmFtZUltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyosIGludCBjYWxsYmFja0lkLCBGcmFtZSopOwpAQCAtNDAyLDcg
KzQwNCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgZGlkRmlyZUFuaW1hdGlvbkZyYW1l
SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKIAogICAgIHN0YXRp
YyB2b2lkIGFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyosIGNvbnN0IFN0cmluZyYgdGl0bGUsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2ln
bmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwotICAgIHN0YXRpYyB2
b2lkIGFkZFByb2ZpbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBSZWZQdHI8U2NyaXB0UHJv
ZmlsZT4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGljIHZvaWQgYWRk
UHJvZmlsZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFJlZlB0cjxTY3JpcHRQcm9maWxlPiwg
UGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4pOwogICAgIHN0YXRpYyBTdHJp
bmcgZ2V0Q3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZUltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyosIGJvb2wgaW5jcmVtZW50UHJvZmlsZU51bWJlcik7CiAgICAgc3RhdGljIGJvb2wgcHJv
ZmlsZXJFbmFibGVkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCmluZGV4IDRj
MWYwMDYuLjMzYWZmODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckxheWVyVHJlZUFnZW50LmNwcApAQCAtMzQsNyArMzQsNiBAQAogCiAjaW5jbHVkZSAi
SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCIKIAotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9y
eS5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
V2ViRnJvbnRlbmREaXNwYXRjaGVycy5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMu
aCIKQEAgLTQ0LDYgKzQzLDcgQEAKICNpbmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKICNp
bmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3Lmgi
CisjaW5jbHVkZSA8aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogCiB1c2luZyBuYW1l
c3BhY2UgSW5zcGVjdG9yOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQYWdlQWdlbnQuY3BwCmluZGV4IGYyNzkzMGMuLmNmZWU1ZDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC0yOSwxMSArMjksMTAg
QEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9S
KQorCiAjaW5jbHVkZSAiQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIkNhY2hlZEZv
bnQuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgpAQCAtNTMsNyArNTIsNiBAQAogI2luY2x1
ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgogI2lu
Y2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKQEAgLTczLDYgKzcxLDcgQEAKICNpbmNsdWRlICJV
c2VyR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+
CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaD4KKyNpbmNsdWRl
IDxpbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0lu
c3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUg
PHd0Zi9MaXN0SGFzaFNldC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCmluZGV4IGU4NDA3ZWUuLmM1MmM2NmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAK
QEAgLTI4LDI5ICsyOCwyNyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm9maWxlckFnZW50LmgiCiAK
KyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0Lmgi
CiAjaW5jbHVkZSAiQ29uc29sZS5oIgotI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2lu
Y2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvcldlYkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRl
ICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCi0jaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgogI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJQ
YWdlU2NyaXB0RGVidWdTZXJ2ZXIuaCIKICNpbmNsdWRlICJTY3JpcHRIZWFwU25hcHNob3QuaCIK
ICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIK
KyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5oIgog
I2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdE9iamVjdC5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9D
b25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaD4KICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRp
bWUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
Q29uY2F0ZW5hdGUuaD4KQEAgLTE1NiwxNCArMTU0LDE0IEBAIHZvaWQgSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudDo6YWRkUHJvZmlsZUZpbmlzaGVkTWVzc2FnZVRvQ29uc29sZShQYXNzUmVmUHRyPFNj
cmlwCiAgICAgICAgIHJldHVybjsKICAgICBSZWZQdHI8U2NyaXB0UHJvZmlsZT4gcHJvZmlsZSA9
IHBycFByb2ZpbGU7CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBtYWtlU3RyaW5nKHByb2ZpbGUtPnRp
dGxlKCksICcjJywgU3RyaW5nOjpudW1iZXIocHJvZmlsZS0+dWlkKCkpKTsKLSAgICBtX2NvbnNv
bGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgUHJv
ZmlsZUVuZE1lc3NhZ2VUeXBlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgc291cmNlVVJM
LCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpOworICAgIG1fY29uc29sZUFnZW50LT5hZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpQcm9m
aWxlRW5kLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1i
ZXIsIGNvbHVtbk51bWJlcik7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6YWRk
U3RhcnRQcm9maWxpbmdNZXNzYWdlVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgdGl0bGUsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpCiB7CiAgICAgaWYgKCFtX2Zyb250ZW5kRGlzcGF0Y2hlcikKICAgICAgICAgcmV0dXJu
OwotICAgIG1fY29uc29sZUFnZW50LT5hZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNz
YWdlU291cmNlLCBQcm9maWxlTWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxldmVsLCB0aXRsZSwg
c291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpOworICAgIG1fY29uc29sZUFnZW50
LT5hZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VU
eXBlOjpQcm9maWxlLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCB0aXRsZSwgc291cmNlVVJMLCBsaW5l
TnVtYmVyLCBjb2x1bW5OdW1iZXIpOwogfQogCiB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6
OmNvbGxlY3RHYXJiYWdlKFdlYkNvcmU6OkVycm9yU3RyaW5nKikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCmluZGV4IGI5YjYwMzEuLjdk
ZmUxOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2Zp
bGVyQWdlbnQuaApAQCAtNDMsMTIgKzQzLDEyIEBACiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Igewog
Y2xhc3MgSW5zcGVjdG9yQXJyYXk7CitjbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdlbnQ7CiBjbGFz
cyBJbnNwZWN0b3JPYmplY3Q7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSW5z
cGVjdG9yQ29uc29sZUFnZW50OwogY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKIGNsYXNzIFBh
Z2U7CiBjbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwpAQCAtNjEsOCArNjEsOCBAQCB0
eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIGNsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdlbnQg
OiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JQ
cm9maWxlckJhY2tlbmREaXNwYXRjaGVySGFuZGxlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4g
Y3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBQYWdl
KiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOwotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqLCBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQqLCBXb3JrZXJHbG9iYWxTY29wZSosIFBhZ2VJbmplY3RlZFNj
cmlwdE1hbmFnZXIqKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclByb2Zp
bGVyQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yOjpJbnNwZWN0
b3JDb25zb2xlQWdlbnQqLCBQYWdlKiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOworICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKElu
c3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCosIFdv
cmtlckdsb2JhbFNjb3BlKiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOwogCiAgICAgdmly
dHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwogCkBAIC0xMDEsNyArMTAxLDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBnZXRIZWFwT2JqZWN0SWQoRXJyb3JTdHJpbmcqLCBjb25z
dCBTdHJpbmcmIG9iamVjdElkLCBTdHJpbmcqIGhlYXBTbmFwc2hvdE9iamVjdElkKSBvdmVycmlk
ZTsKIAogcHJvdGVjdGVkOgotICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQoSW5zdHJ1bWVudGlu
Z0FnZW50cyosIEluc3BlY3RvckNvbnNvbGVBZ2VudCosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqKTsKKyAgICBJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJ
bnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRQcm9maWxpbmcoY29uc3QgU3RyaW5nJiB0aXRs
ZSkgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wUHJvZmls
aW5nKGNvbnN0IFN0cmluZyYgdGl0bGUpID0gMDsKIApAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpQcm9maWxlcjo6UHJv
ZmlsZUhlYWRlcj4gY3JlYXRlUHJvZmlsZUhlYWRlcihjb25zdCBTY3JpcHRQcm9maWxlJik7CiAg
ICAgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpQcm9maWxlcjo6UHJvZmlsZUhl
YWRlcj4gY3JlYXRlU25hcHNob3RIZWFkZXIoY29uc3QgU2NyaXB0SGVhcFNuYXBzaG90Jik7CiAK
LSAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIG1fY29uc29sZUFnZW50OworICAgIEluc3BlY3Rv
cjo6SW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKICAgICBQYWdlSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JQcm9maWxlckZyb250ZW5kRGlzcGF0Y2hlcj4gbV9m
cm9udGVuZERpc3BhdGNoZXI7CiAgICAgUmVmUHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yUHJvZmls
ZXJCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAppbmRleCA2NWY4
ZGIxLi40ODBiZGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJlc291cmNlQWdlbnQuY3BwCkBAIC0yOSwxMSArMjksMTAgQEAKICAqLwogCiAjaW5jbHVk
ZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC5oIgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogI2luY2x1ZGUg
IkNhY2hlZFJhd1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgpAQCAtNDQsMTEgKzQzLDExIEBACiAjaW5jbHVk
ZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTWFwLmgiCiAjaW5jbHVkZSAi
SWNvbkNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQYWdlQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSAi
SW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5o
IgogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlc0Rh
dGEuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC01OCwxNSArNTcsMTYgQEAKICNpbmNsdWRlICJS
ZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUg
IlJlc291cmNlUmVzcG9uc2UuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNs
dWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3Vt
ZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdWJyZXNvdXJj
ZUxvYWRlci5oIgogI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEZyYW1lLmgi
CiAjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3QuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvSWRlbnRp
ZmllcnNGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgor
I2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0
b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQu
aD4KQEAgLTQzOSw3ICs0MzksNyBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFNj
aGVkdWxlU3R5bGVSZWNhbGN1bGF0aW9uKERvY3VtZW50KiBkb2N1bWVudCkKIAogUGFzc1JlZlB0
cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpOZXR3b3JrOjpJbml0aWF0b3I+IEluc3BlY3RvclJl
c291cmNlQWdlbnQ6OmJ1aWxkSW5pdGlhdG9yT2JqZWN0KERvY3VtZW50KiBkb2N1bWVudCkKIHsK
LSAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFja1RyYWNlID0gY3JlYXRlU2NyaXB0Q2Fs
bFN0YWNrKFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7
CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENh
bGxTdGFjayhKU01haW5UaHJlYWRFeGVjU3RhdGU6OmN1cnJlbnRTdGF0ZSgpLCBTY3JpcHRDYWxs
U3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpOwogICAgIGlmIChzdGFja1Ry
YWNlICYmIHN0YWNrVHJhY2UtPnNpemUoKSA+IDApIHsKICAgICAgICAgUmVmUHRyPEluc3BlY3Rv
cjo6VHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcj4gaW5pdGlhdG9yT2JqZWN0ID0gSW5z
cGVjdG9yOjpUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9yOjpjcmVhdGUoKQogICAgICAg
ICAgICAgLnNldFR5cGUoSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9y
OjpUeXBlOjpTY3JpcHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IDhhZWM2OGUuLjRhMGNlZmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAg
LTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ291bnRlcnMu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKQEAgLTUzLDYgKzUyLDcg
QEAKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmls
ZXIuaCIKICNpbmNsdWRlICJUaW1lbGluZVJlY29yZEZhY3RvcnkuaCIKKyNpbmNsdWRlIDxpbnNw
ZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CiAKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAKaW5kZXggOThlNmJkZC4uYjIyYzdiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcApA
QCAtNDksNyArNDksNyBAQCBJbnN0cnVtZW50aW5nQWdlbnRzOjpJbnN0cnVtZW50aW5nQWdlbnRz
KEluc3BlY3RvckVudmlyb25tZW50JiBlbnZpcm9ubWVudCkKICAgICAsIG1faW5zcGVjdG9yUGFn
ZUFnZW50KG51bGxwdHIpCiAgICAgLCBtX2luc3BlY3RvckNTU0FnZW50KG51bGxwdHIpCiAgICAg
LCBtX2luc3BlY3RvckxheWVyVHJlZUFnZW50KG51bGxwdHIpCi0gICAgLCBtX2luc3BlY3RvckNv
bnNvbGVBZ2VudChudWxscHRyKQorICAgICwgbV93ZWJDb25zb2xlQWdlbnQobnVsbHB0cikKICAg
ICAsIG1faW5zcGVjdG9yRE9NQWdlbnQobnVsbHB0cikKICAgICAsIG1faW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudChudWxscHRyKQogICAgICwgbV9wYWdlUnVudGltZUFnZW50KG51bGxwdHIpCkBAIC03
NSw3ICs3NSw3IEBAIHZvaWQgSW5zdHJ1bWVudGluZ0FnZW50czo6cmVzZXQoKQogICAgIG1faW5z
cGVjdG9yUGFnZUFnZW50ID0gbnVsbHB0cjsKICAgICBtX2luc3BlY3RvckNTU0FnZW50ID0gbnVs
bHB0cjsKICAgICBtX2luc3BlY3RvckxheWVyVHJlZUFnZW50ID0gbnVsbHB0cjsKLSAgICBtX2lu
c3BlY3RvckNvbnNvbGVBZ2VudCA9IG51bGxwdHI7CisgICAgbV93ZWJDb25zb2xlQWdlbnQgPSBu
dWxscHRyOwogICAgIG1faW5zcGVjdG9yRE9NQWdlbnQgPSBudWxscHRyOwogICAgIG1faW5zcGVj
dG9yUmVzb3VyY2VBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9wYWdlUnVudGltZUFnZW50ID0gbnVs
bHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5n
QWdlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5o
CmluZGV4IGM5OWQyNjkuLjM3ZmFiMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3RydW1lbnRpbmdBZ2VudHMuaApAQCAtNDcsNyArNDcsNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0
b3JDU1NBZ2VudDsKIGNsYXNzIEluc3BlY3RvckNhbnZhc0FnZW50OwotY2xhc3MgSW5zcGVjdG9y
Q29uc29sZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JE
T01EZWJ1Z2dlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OwpAQCAtNjIs
NiArNjEsNyBAQCBjbGFzcyBJbnNwZWN0b3JXb3JrZXJBZ2VudDsKIGNsYXNzIFBhZ2U7CiBjbGFz
cyBQYWdlRGVidWdnZXJBZ2VudDsKIGNsYXNzIFBhZ2VSdW50aW1lQWdlbnQ7CitjbGFzcyBXZWJD
b25zb2xlQWdlbnQ7CiBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKIGNsYXNzIFdvcmtlclJ1bnRp
bWVBZ2VudDsKIApAQCAtODcsOCArODcsOCBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yQ1NTQWdl
bnQqIGluc3BlY3RvckNTU0FnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JDU1NBZ2Vu
dDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yQ1NTQWdlbnQoSW5zcGVjdG9yQ1NTQWdlbnQqIGFn
ZW50KSB7IG1faW5zcGVjdG9yQ1NTQWdlbnQgPSBhZ2VudDsgfQogCi0gICAgSW5zcGVjdG9yQ29u
c29sZUFnZW50KiBpbnNwZWN0b3JDb25zb2xlQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3Bl
Y3RvckNvbnNvbGVBZ2VudDsgfQotICAgIHZvaWQgc2V0SW5zcGVjdG9yQ29uc29sZUFnZW50KElu
c3BlY3RvckNvbnNvbGVBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JDb25zb2xlQWdlbnQgPSBh
Z2VudDsgfQorICAgIFdlYkNvbnNvbGVBZ2VudCogd2ViQ29uc29sZUFnZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV93ZWJDb25zb2xlQWdlbnQ7IH0KKyAgICB2b2lkIHNldFdlYkNvbnNvbGVBZ2VudChX
ZWJDb25zb2xlQWdlbnQqIGFnZW50KSB7IG1fd2ViQ29uc29sZUFnZW50ID0gYWdlbnQ7IH0KIAog
ICAgIEluc3BlY3RvckRPTUFnZW50KiBpbnNwZWN0b3JET01BZ2VudCgpIGNvbnN0IHsgcmV0dXJu
IG1faW5zcGVjdG9yRE9NQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvckRPTUFnZW50KElu
c3BlY3RvckRPTUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckRPTUFnZW50ID0gYWdlbnQ7IH0K
QEAgLTE0OSw3ICsxNDksNyBAQCBwcml2YXRlOgogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9p
bnNwZWN0b3JQYWdlQWdlbnQ7CiAgICAgSW5zcGVjdG9yQ1NTQWdlbnQqIG1faW5zcGVjdG9yQ1NT
QWdlbnQ7CiAgICAgSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQqIG1faW5zcGVjdG9yTGF5ZXJUcmVl
QWdlbnQ7Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2luc3BlY3RvckNvbnNvbGVBZ2Vu
dDsKKyAgICBXZWJDb25zb2xlQWdlbnQqIG1fd2ViQ29uc29sZUFnZW50OwogICAgIEluc3BlY3Rv
ckRPTUFnZW50KiBtX2luc3BlY3RvckRPTUFnZW50OwogICAgIEluc3BlY3RvclJlc291cmNlQWdl
bnQqIG1faW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKICAgICBQYWdlUnVudGltZUFnZW50KiBtX3Bh
Z2VSdW50aW1lQWdlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFn
ZUNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVB
Z2VudC5jcHAKaW5kZXggMWFkYjQ0OS4uNzE1OWNkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAKICNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKLSNpbmNsdWRl
ICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUg
Ik5vZGUuaCIKICNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCkBAIC00Mywy
MSArNDIsMTcgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1QYWdlQ29uc29sZUFnZW50OjpQYWdlQ29uc29sZUFnZW50KEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGlu
amVjdGVkU2NyaXB0TWFuYWdlciwgSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50KQotICAgIDog
SW5zcGVjdG9yQ29uc29sZUFnZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIGluamVjdGVkU2NyaXB0
TWFuYWdlcikKK1BhZ2VDb25zb2xlQWdlbnQ6OlBhZ2VDb25zb2xlQWdlbnQoUGFnZUluamVjdGVk
U2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLCBJbnNwZWN0b3JET01BZ2VudCog
ZG9tQWdlbnQpCisgICAgOiBXZWJDb25zb2xlQWdlbnQoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQog
ICAgICwgbV9pbnNwZWN0b3JET01BZ2VudChkb21BZ2VudCkKIHsKIH0KIAotUGFnZUNvbnNvbGVB
Z2VudDo6flBhZ2VDb25zb2xlQWdlbnQoKQotewotICAgIG1faW5zcGVjdG9yRE9NQWdlbnQgPSBu
dWxscHRyOwotfQotCiB2b2lkIFBhZ2VDb25zb2xlQWdlbnQ6OmNsZWFyTWVzc2FnZXMoRXJyb3JT
dHJpbmcqIGVycm9yU3RyaW5nKQogewogICAgIG1faW5zcGVjdG9yRE9NQWdlbnQtPnJlbGVhc2VE
YW5nbGluZ05vZGVzKCk7Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpjbGVhck1lc3NhZ2Vz
KGVycm9yU3RyaW5nKTsKKworICAgIFdlYkNvbnNvbGVBZ2VudDo6Y2xlYXJNZXNzYWdlcyhlcnJv
clN0cmluZyk7CiB9CiAKIGNsYXNzIEluc3BlY3RhYmxlTm9kZSBmaW5hbCA6IHB1YmxpYyBDb21t
YW5kTGluZUFQSUhvc3Q6Okluc3BlY3RhYmxlT2JqZWN0IHsKQEAgLTc5LDcgKzc0LDcgQEAgdm9p
ZCBQYWdlQ29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nKiBlcnJvclN0
cmluZywgaW50IG5vZGVJZCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChDb21t
YW5kTGluZUFQSUhvc3QqIGNvbW1hbmRMaW5lQVBJSG9zdCA9IG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLT5jb21tYW5kTGluZUFQSUhvc3QoKSkKKyAgICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBj
b21tYW5kTGluZUFQSUhvc3QgPSBzdGF0aWNfY2FzdDxQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
Kj4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIpLT5jb21tYW5kTGluZUFQSUhvc3QoKSkKICAgICAg
ICAgY29tbWFuZExpbmVBUElIb3N0LT5hZGRJbnNwZWN0ZWRPYmplY3QoYWRvcHRQdHIobmV3IElu
c3BlY3RhYmxlTm9kZShub2RlKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VDb25zb2xlQWdlbnQuaAppbmRleCBkNTU3ZjFhLi5kMGI1NTY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmgKQEAgLTMxLDggKzMxLDcgQEAKICNpZm5k
ZWYgUGFnZUNvbnNvbGVBZ2VudF9oCiAjZGVmaW5lIFBhZ2VDb25zb2xlQWdlbnRfaAogCi0jaW5j
bHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KKyNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKIAogI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CiAKQEAgLTQwLDEzICszOSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3Bl
Y3RvckRPTUFnZW50OwogCi1jbGFzcyBQYWdlQ29uc29sZUFnZW50IDogcHVibGljIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudCB7CitjbGFzcyBQYWdlQ29uc29sZUFnZW50IGZpbmFsIDogcHVibGljIFdl
YkNvbnNvbGVBZ2VudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNvbnNvbGVBZ2Vu
dCk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgUGFnZUNvbnNv
bGVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlcios
IEluc3BlY3RvckRPTUFnZW50Kik7Ci0gICAgdmlydHVhbCB+UGFnZUNvbnNvbGVBZ2VudCgpOwor
ICAgIFBhZ2VDb25zb2xlQWdlbnQoUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciosIEluc3BlY3Rv
ckRPTUFnZW50Kik7CisgICAgdmlydHVhbCB+UGFnZUNvbnNvbGVBZ2VudCgpIHsgfQogCi0gICAg
dmlydHVhbCBib29sIGlzV29ya2VyQWdlbnQoKSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQor
ICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
ZmFsc2U7IH0KIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJNZXNzYWdlcyhFcnJv
clN0cmluZyopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1BhZ2VEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVi
dWdnZXJBZ2VudC5jcHAKaW5kZXggNjdmNDk1MS4uZTQ2NzBjZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwCkBAIC00Myw2ICs0Myw4IEBACiAj
aW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHQuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg+CisjaW5j
bHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAK
QEAgLTExMyw5ICsxMTUsOSBAQCB2b2lkIFBhZ2VEZWJ1Z2dlckFnZW50Ojp1bm11dGVDb25zb2xl
KCkKICAgICBQYWdlQ29uc29sZTo6dW5tdXRlKCk7CiB9CiAKLXZvaWQgUGFnZURlYnVnZ2VyQWdl
bnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCit2b2lkIFBhZ2VEZWJ1Z2dlckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAgbV9wYWdlQWdl
bnQtPnBhZ2UoKS0+Y29uc29sZSgpLmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNz
YWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIG1fcGFnZUFnZW50LT5wYWdlKCktPmNvbnNvbGUoKS5h
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkxvZywgbWVzc2FnZSwg
Y3JlYXRlU2NyaXB0Q2FsbFN0YWNrKGV4ZWMsIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNr
U2l6ZVRvQ2FwdHVyZSwgdHJ1ZSkpOwogfQogCiBJbmplY3RlZFNjcmlwdCBQYWdlRGVidWdnZXJB
Z2VudDo6aW5qZWN0ZWRTY3JpcHRGb3JFdmFsKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29u
c3QgaW50KiBleGVjdXRpb25Db250ZXh0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaAppbmRleCA2NTgyMTg4Li5hZmJjNmQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmgK
QEAgLTMyLDYgKzMyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBGSVhNRTogUmVu
YW1lIHRvIFdlYkluamVjdGVkU2NyaXB0SG9zdC4KIGNsYXNzIFBhZ2VJbmplY3RlZFNjcmlwdEhv
c3QgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdEhvc3QgewogcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Q+IGNyZWF0ZSgp
IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0KTsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgK
aW5kZXggMWY4NzA3ZS4uZTI3NGU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NV2luZG93OwogCisvLyBGSVhNRTogUmVuYW1lIHRv
IFdlYkluamVjdGVkU2NyaXB0TWFuYWdlci4KIGNsYXNzIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFn
ZXIgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdE1hbmFnZXIgewogcHVi
bGljOgogICAgIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIoSW5zcGVjdG9yOjpJbnNwZWN0b3JF
bnZpcm9ubWVudCYsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdEhvc3Q+KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3Rv
cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5j
cHAKaW5kZXggMTc1OTNiOC4uZDlkYTc0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKQEAgLTM3LDEzICszNywxNCBAQAogI2lu
Y2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSW50UmVj
dC5oIgorI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkxheW91
dFJlY3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5jbHVkZSAiU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNs
dWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1Nj
cmlwdENhbGxTdGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0
b3J5Lmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBJ
bnNwZWN0b3I7CkBAIC01Niw3ICs1Nyw3IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBU
aW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQoZG91YmxlIHN0CiAgICAg
cmVjb3JkLT5zZXROdW1iZXIoInN0YXJ0VGltZSIsIHN0YXJ0VGltZSk7CiAKICAgICBpZiAobWF4
Q2FsbFN0YWNrRGVwdGgpIHsKLSAgICAgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tU
cmFjZSA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhtYXhDYWxsU3RhY2tEZXB0aCwgdHJ1ZSk7Cisg
ICAgICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrVHJhY2UgPSBjcmVhdGVTY3JpcHRD
YWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSwgbWF4Q2FsbFN0
YWNrRGVwdGgsIHRydWUpOwogICAgICAgICBpZiAoc3RhY2tUcmFjZSAmJiBzdGFja1RyYWNlLT5z
aXplKCkpCiAgICAgICAgICAgICByZWNvcmQtPnNldFZhbHVlKCJzdGFja1RyYWNlIiwgc3RhY2tU
cmFjZS0+YnVpbGRJbnNwZWN0b3JBcnJheSgpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmY1NzFiYzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvV2ViQ29uc29sZUFnZW50LmNwcApAQCAtMCwwICsxLDEzMiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5oIgorCisjaWYg
RU5BQkxFKElOU1BFQ1RPUikKKworI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5oIgorI2lu
Y2x1ZGUgIkNvbnNvbGUuaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJQYWdl
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgorI2lu
Y2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgor
I2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVNZXNz
YWdlLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworV2ViQ29uc29sZUFnZW50OjpXZWJDb25zb2xlQWdlbnQoUGFnZUluamVjdGVkU2NyaXB0
TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIDogSW5zcGVjdG9yQ29uc29sZUFn
ZW50KGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICAsIG1fbW9uaXRvcmluZ1hIUkVuYWJsZWQo
ZmFsc2UpCit7Cit9CisKK3ZvaWQgV2ViQ29uc29sZUFnZW50OjpzZXRNb25pdG9yaW5nWEhSRW5h
YmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkKK3sKKyAgICBtX21vbml0b3JpbmdYSFJF
bmFibGVkID0gZW5hYmxlZDsKK30KKwordm9pZCBXZWJDb25zb2xlQWdlbnQ6OmZyYW1lV2luZG93
RGlzY2FyZGVkKERPTVdpbmRvdyogd2luZG93KQoreworICAgIEpTQzo6RXhlY1N0YXRlKiBzY3Jp
cHRTdGF0ZSA9IG1haW5Xb3JsZEV4ZWNTdGF0ZSh3aW5kb3ctPmZyYW1lKCkpOworICAgIHNpemVf
dCBtZXNzYWdlQ291bnQgPSBtX2NvbnNvbGVNZXNzYWdlcy5zaXplKCk7CisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBtZXNzYWdlQ291bnQ7ICsraSkKKyAgICAgICAgbV9jb25zb2xlTWVzc2Fn
ZXNbaV0tPnNjcmlwdFN0YXRlQ2xlYXJlZChzY3JpcHRTdGF0ZSk7CisKKyAgICBzdGF0aWNfY2Fz
dDxQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKj4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIpLT5k
aXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKHdpbmRvdyk7Cit9CisKK3ZvaWQgV2ViQ29uc29sZUFn
ZW50OjpkaWRGaW5pc2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2lnbmVkIHNlbmRM
aW5lTnVtYmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKQoreworICAgIGlmICghbV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9mcm9udGVuZERpc3BhdGNo
ZXIgJiYgbV9tb25pdG9yaW5nWEhSRW5hYmxlZCkgeworICAgICAgICBTdHJpbmcgbWVzc2FnZSA9
ICJYSFIgZmluaXNoZWQgbG9hZGluZzogXCIiICsgdXJsICsgIlwiLiI7CisgICAgICAgIGFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZTo6TmV0d29yaywgTWVzc2FnZVR5cGU6OkxvZywg
TWVzc2FnZUxldmVsOjpEZWJ1ZywgbWVzc2FnZSwgc2VuZFVSTCwgc2VuZExpbmVOdW1iZXIsIHNl
bmRDb2x1bW5OdW1iZXIsIG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICB9Cit9CisK
K3ZvaWQgV2ViQ29uc29sZUFnZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit7Cisg
ICAgaWYgKCFtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5k
ZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChyZXNw
b25zZS5odHRwU3RhdHVzQ29kZSgpID49IDQwMCkgeworICAgICAgICBTdHJpbmcgbWVzc2FnZSA9
ICJGYWlsZWQgdG8gbG9hZCByZXNvdXJjZTogdGhlIHNlcnZlciByZXNwb25kZWQgd2l0aCBhIHN0
YXR1cyBvZiAiICsgU3RyaW5nOjpudW1iZXIocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSkgKyAi
ICgiICsgcmVzcG9uc2UuaHR0cFN0YXR1c1RleHQoKSArICcpJzsKKyAgICAgICAgYWRkTWVzc2Fn
ZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlVHlwZTo6TG9nLCBNZXNz
YWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLCByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgMCwgMCwg
bnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOworICAgIH0KK30KKwordm9pZCBXZWJDb25zb2xl
QWdlbnQ6OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNv
bnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQoreworICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1h
bmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICAvLyBSZXBvcnQgZmFpbHVyZXMgb25seS4KKyAgICBpZiAo
ZXJyb3IuaXNDYW5jZWxsYXRpb24oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgU3RyaW5nQnVp
bGRlciBtZXNzYWdlOworICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiRmFpbGVkIHRvIGxvYWQg
cmVzb3VyY2UiKTsKKyAgICBpZiAoIWVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkuaXNFbXB0
eSgpKSB7CisgICAgICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiOiAiKTsKKyAgICAgICAgbWVz
c2FnZS5hcHBlbmQoZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSk7CisgICAgfQorCisgICAg
YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlVHlwZTo6
TG9nLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLnRvU3RyaW5nKCksIGVycm9yLmZhaWxp
bmdVUkwoKSwgMCwgMCwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOworfQorCitjbGFzcyBJ
bnNwZWN0YWJsZUhlYXBPYmplY3QgZmluYWwgOiBwdWJsaWMgQ29tbWFuZExpbmVBUElIb3N0OjpJ
bnNwZWN0YWJsZU9iamVjdCB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgSW5zcGVjdGFibGVIZWFw
T2JqZWN0KGludCBoZWFwT2JqZWN0SWQpCisgICAgICAgIDogbV9oZWFwT2JqZWN0SWQoaGVhcE9i
amVjdElkKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIERlcHJlY2F0ZWQ6OlNjcmlwdFZh
bHVlIGdldChKU0M6OkV4ZWNTdGF0ZSopIG92ZXJyaWRlCisgICAgeworICAgICAgICByZXR1cm4g
U2NyaXB0UHJvZmlsZXI6Om9iamVjdEJ5SGVhcE9iamVjdElkKG1faGVhcE9iamVjdElkKTsKKyAg
ICB9CisKK3ByaXZhdGU6CisgICAgaW50IG1faGVhcE9iamVjdElkOworfTsKKwordm9pZCBXZWJD
b25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJyb3JTdHJpbmcqLCBpbnQgaW5z
cGVjdGVkSGVhcE9iamVjdElkKQoreworICAgIGlmIChDb21tYW5kTGluZUFQSUhvc3QqIGNvbW1h
bmRMaW5lQVBJSG9zdCA9IHN0YXRpY19jYXN0PFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqPiht
X2luamVjdGVkU2NyaXB0TWFuYWdlciktPmNvbW1hbmRMaW5lQVBJSG9zdCgpKQorICAgICAgICBj
b21tYW5kTGluZUFQSUhvc3QtPmFkZEluc3BlY3RlZE9iamVjdChhZG9wdFB0cihuZXcgSW5zcGVj
dGFibGVIZWFwT2JqZWN0KGluc3BlY3RlZEhlYXBPYmplY3RJZCkpKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuaApzaW1pbGFyaXR5IGluZGV4IDUxJQpyZW5h
bWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmgKcmVuYW1l
IHRvIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuaAppbmRleCAxMWY2
NWVjLi40ZGViZmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29s
ZUFQSVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2Vu
dC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0y
MiwyNyArMjMsNDMgQEAKICAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgQ29uc29sZUFQSVR5cGVzX2gK
LSNkZWZpbmUgQ29uc29sZUFQSVR5cGVzX2gKKyNpZm5kZWYgV2ViQ29uc29sZUFnZW50X2gKKyNk
ZWZpbmUgV2ViQ29uc29sZUFnZW50X2gKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNs
dWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWVudW0gTWVzc2FnZVR5cGUgewotICAgIExvZ01lc3NhZ2VUeXBlLAot
ICAgIERpck1lc3NhZ2VUeXBlLAotICAgIERpclhNTE1lc3NhZ2VUeXBlLAotICAgIFRhYmxlTWVz
c2FnZVR5cGUsCi0gICAgVHJhY2VNZXNzYWdlVHlwZSwKLSAgICBTdGFydEdyb3VwTWVzc2FnZVR5
cGUsCi0gICAgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlLAotICAgIEVuZEdyb3VwTWVz
c2FnZVR5cGUsCi0gICAgQ2xlYXJNZXNzYWdlVHlwZSwKLSAgICBBc3NlcnRNZXNzYWdlVHlwZSwK
LSAgICBUaW1pbmdNZXNzYWdlVHlwZSwKLSAgICBQcm9maWxlTWVzc2FnZVR5cGUsCi0gICAgUHJv
ZmlsZUVuZE1lc3NhZ2VUeXBlCitjbGFzcyBET01XaW5kb3c7CitjbGFzcyBQYWdlSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyOworY2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVzcG9u
c2U7Cit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworY2xhc3MgV2ViQ29uc29sZUFnZW50
IDogcHVibGljIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXZWJDb25zb2xlQWdlbnQpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIFdlYkNvbnNvbGVBZ2VudChQYWdlSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKik7CisgICAgdmlydHVhbCB+V2ViQ29uc29sZUFnZW50KCkgeyB9CisKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQp
IG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0ZWRIZWFwT2JqZWN0
KEVycm9yU3RyaW5nKiwgaW50IGluc3BlY3RlZEhlYXBPYmplY3RJZCkgb3ZlcnJpZGUgZmluYWw7
CisKKyAgICB2b2lkIGZyYW1lV2luZG93RGlzY2FyZGVkKERPTVdpbmRvdyopOworCisgICAgdm9p
ZCBkaWRGaW5pc2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2lnbmVkIHNlbmRMaW5l
TnVtYmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVS
ZXNwb25zZSh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJik7CisgICAgdm9pZCBkaWRGYWlsTG9hZGluZyh1bnNpZ25lZCBsb25nIHJlcXVlc3RJ
ZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CisKK3Byb3RlY3RlZDoKKyAgICBib29s
IG1fbW9uaXRvcmluZ1hIUkVuYWJsZWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
LSNlbmRpZiAvLyBDb25zb2xlQVBJVHlwZXNfaAorI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
CisKKyNlbmRpZiAvLyAhZGVmaW5lZChXZWJDb25zb2xlQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggOWYxMDU2ZC4uMjU4
YThkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVB
Z2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2Vu
dC5jcHAKQEAgLTM4LDE4ICszOCwxNCBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdvcmtlckNvbnNvbGVBZ2VudDo6V29ya2VyQ29uc29sZUFn
ZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFBhZ2VJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKLSAgICA6IEluc3BlY3RvckNv
bnNvbGVBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCi17
Ci19Ci0KLVdvcmtlckNvbnNvbGVBZ2VudDo6fldvcmtlckNvbnNvbGVBZ2VudCgpCitXb3JrZXJD
b25zb2xlQWdlbnQ6OldvcmtlckNvbnNvbGVBZ2VudChQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgOiBXZWJDb25zb2xlQWdlbnQoaW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKQogewogfQogCiB2b2lkIFdvcmtlckNvbnNvbGVBZ2VudDo6YWRkSW5zcGVj
dGVkTm9kZShFcnJvclN0cmluZyogZXJyb3IsIGludCkKIHsKLSAgICAqZXJyb3IgPSAiYWRkSW5z
cGVjdGVkTm9kZSBpcyBub3Qgc3VwcG9ydGVkIGZvciB3b3JrZXJzIjsKKyAgICAqZXJyb3IgPSBB
U0NJSUxpdGVyYWwoImFkZEluc3BlY3RlZE5vZGUgaXMgbm90IHN1cHBvcnRlZCBmb3Igd29ya2Vy
cyIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmgKaW5kZXggOTlhZDU2Mi4uODc2YTZjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuaApAQCAtMzEsMjAg
KzMxLDIwIEBACiAjaWZuZGVmIFdvcmtlckNvbnNvbGVBZ2VudF9oCiAjZGVmaW5lIFdvcmtlckNv
bnNvbGVBZ2VudF9oCiAKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIKLSNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5oIgogCiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXb3Jr
ZXJDb25zb2xlQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ29uc29sZUFnZW50IHsKK2NsYXNzIFdv
cmtlckNvbnNvbGVBZ2VudCBmaW5hbCA6IHB1YmxpYyBXZWJDb25zb2xlQWdlbnQgewogICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlckNvbnNvbGVBZ2VudCk7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV29ya2VyQ29uc29sZUFnZW50KEluc3RydW1lbnRp
bmdBZ2VudHMqLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7Ci0gICAgdmlydHVhbCB+V29y
a2VyQ29uc29sZUFnZW50KCk7CisgICAgV29ya2VyQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNj
cmlwdE1hbmFnZXIqKTsKKyAgICB2aXJ0dWFsIH5Xb3JrZXJDb25zb2xlQWdlbnQoKSB7IH0KIAot
ICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsg
fQorICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0ZWROb2Rl
KEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggNTA1M2E0Yy4uYTcxZWZl
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50
LmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIHZvaWQgV29ya2VyRGVidWdnZXJBZ2VudDo6c3RvcExp
c3RlbmluZ1NjcmlwdERlYnVnU2VydmVyKGJvb2wgaXNCZWluZ0Rlc3Ryb3llZCkKIAogdm9pZCBX
b3JrZXJEZWJ1Z2dlckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIG1faW5zcGVjdGVkV29ya2VyR2xvYmFsU2Nv
cGUtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZUxldmVsLCBt
ZXNzYWdlKTsKKyAgICBtX2luc3BlY3RlZFdvcmtlckdsb2JhbFNjb3BlLT5hZGRDb25zb2xlTWVz
c2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpMb2csIG1lc3NhZ2UpOwogfQog
CiBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlciYgV29ya2VyRGVidWdnZXJBZ2VudDo6c2NyaXB0RGVi
dWdTZXJ2ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGQwYTlmNWEuLjdjMDE1YTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKQEAgLTM2LDcgKzM2LDYgQEAKIAogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVB
Z2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZvcndhcmRpbmcuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JIZWFwUHJvZmlsZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIgpAQCAtOTAsNyArODksOSBAQCBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpXb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyKFdvcmtlckdsb2JhbFNjb3BlJiB3b3JrZXJHbAogICAgIG1f
aW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0V29ya2VyUnVudGltZUFnZW50KG1fcnVudGltZUFnZW50
KTsKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptb3ZlKHJ1bnRpbWVBZ2VudCkpOwogCi0gICAg
YXV0byBjb25zb2xlQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckNvbnNvbGVBZ2VudD4o
bV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQo
KSk7CisgICAgYXV0byBjb25zb2xlQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckNvbnNv
bGVBZ2VudD4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpOworICAgIG1faW5zdHJ1bWVu
dGluZ0FnZW50cy0+c2V0V2ViQ29uc29sZUFnZW50KGNvbnNvbGVBZ2VudC5nZXQoKSk7CisKICAg
ICBhdXRvIGRlYnVnZ2VyQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckRlYnVnZ2VyQWdl
bnQ+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpLCBtX2luc3RydW1lbnRpbmdBZ2VudHMu
Z2V0KCksICZ3b3JrZXJHbG9iYWxTY29wZSk7CiAgICAgbV9ydW50aW1lQWdlbnQtPnNldFNjcmlw
dERlYnVnU2VydmVyKCZkZWJ1Z2dlckFnZW50LT5zY3JpcHREZWJ1Z1NlcnZlcigpKTsKICAgICBt
X2FnZW50cy5hcHBlbmQoc3RkOjptb3ZlKGRlYnVnZ2VyQWdlbnQpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDVkMGEwODUuLjUwMDZmMWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtNjE0LDcgKzYxNCw3IEBAIHZv
aWQgRG9jdW1lbnRMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlLCBjb25zdCBSZXNvdXJjZVJlCiAgICAgICAgIGlmIChmcmFtZUxvYWRlcigpLT5zaG91bGRJ
bnRlcnJ1cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyhjb250ZW50LCByZXNwb25zZS51cmwoKSwgaWRl
bnRpZmllcikpIHsKICAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGlu
dWVBZnRlclhGcmFtZU9wdGlvbnNEZW5pZWQobV9mcmFtZSwgdGhpcywgaWRlbnRpZmllciwgcmVz
cG9uc2UpOwogICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiUmVmdXNlZCB0byBkaXNwbGF5
ICciICsgcmVzcG9uc2UudXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAi
JyBpbiBhIGZyYW1lIGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlvbnMnIHRvICciICsgY29u
dGVudCArICInLiI7Ci0gICAgICAgICAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xl
TWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdl
LCBpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNv
bGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBt
ZXNzYWdlLCBpZGVudGlmaWVyKTsKICAgICAgICAgICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmVu
Zm9yY2VTYW5kYm94RmxhZ3MoU2FuZGJveE9yaWdpbik7CiAgICAgICAgICAgICBpZiAoSFRNTEZy
YW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQgPSBmcmFtZSgpLT5vd25lckVsZW1lbnQoKSkK
ICAgICAgICAgICAgICAgICBvd25lckVsZW1lbnQtPmRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkubG9hZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGQ1MjljNzguLmFjMzFjZDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtOTUsNyArOTUsNiBAQAogI2luY2x1ZGUgIlJlc291
cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiU2No
ZW1lUmVnaXN0cnkuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJT
Y3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1
ZGUgIlNjcm9sbEFuaW1hdG9yLmgiCkBAIC0zNzYsNyArMzc1LDcgQEAgdm9pZCBGcmFtZUxvYWRl
cjo6c3VibWl0Rm9ybShQYXNzUmVmUHRyPEZvcm1TdWJtaXNzaW9uPiBzdWJtaXNzaW9uKQogCiAg
ICAgaWYgKGlzRG9jdW1lbnRTYW5kYm94ZWQoJm1fZnJhbWUsIFNhbmRib3hGb3JtcykpIHsKICAg
ICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25z
b2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25z
b2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxv
Y2tlZCBmb3JtIHN1Ym1pc3Npb24gdG8gJyIgKyBzdWJtaXNzaW9uLT5hY3Rpb24oKS5zdHJpbmdD
ZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBp
cyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctZm9ybXMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4i
KTsKKyAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIkJsb2NrZWQgZm9ybSBzdWJt
aXNzaW9uIHRvICciICsgc3VibWlzc2lvbi0+YWN0aW9uKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXpl
ZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFu
ZCB0aGUgJ2FsbG93LWZvcm1zJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKQEAgLTE0ODUsNyArMTQ4NCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnJl
cG9ydExvY2FsTG9hZEZhaWxlZChGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgdXJsKQogICAg
IGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZyYW1lLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiTm90IGFsbG93ZWQgdG8gbG9hZCBsb2NhbCByZXNvdXJjZTogIiArIHVybCk7CisgICAgZnJh
bWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiTm90IGFsbG93ZWQgdG8gbG9hZCBsb2NhbCByZXNvdXJj
ZTogIiArIHVybCk7CiB9CiAKIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgRnJhbWVMb2FkZXI6Omlu
aXRpYWxSZXF1ZXN0KCkgY29uc3QKQEAgLTI4NDgsNyArMjg0Nyw3IEBAIGJvb2wgRnJhbWVMb2Fk
ZXI6OmhhbmRsZUJlZm9yZVVubG9hZEV2ZW50KENocm9tZSYgY2hyb21lLCBGcmFtZUxvYWRlciog
ZnJhbWVMb2FkCiAgICAgLy8gSWYgdGhlIG5hdmlnYXRpbmcgRnJhbWVMb2FkZXIgaGFzIGFscmVh
ZHkgc2hvd24gYSBiZWZvcmV1bmxvYWQgY29uZmlybWF0aW9uIHBhbmVsIGZvciB0aGUgY3VycmVu
dCBuYXZpZ2F0aW9uIGF0dGVtcHQsCiAgICAgLy8gdGhpcyBmcmFtZSBpcyBub3QgYWxsb3dlZCB0
byBjYXVzZSBhbm90aGVyIG9uZSB0byBiZSBzaG93bi4KICAgICBpZiAoZnJhbWVMb2FkZXJCZWlu
Z05hdmlnYXRlZC0+bV9jdXJyZW50TmF2aWdhdGlvbkhhc1Nob3duQmVmb3JlVW5sb2FkQ29uZmly
bVBhbmVsKSB7Ci0gICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBhdHRlbXB0IHRvIHNob3cgbXVsdGlw
bGUgYmVmb3JldW5sb2FkIGNvbmZpcm1hdGlvbiBkaWFsb2dzIGZvciB0aGUgc2FtZSBuYXZpZ2F0
aW9uLiIpOworICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQmxvY2tlZCBhdHRlbXB0
IHRvIHNob3cgbXVsdGlwbGUgYmVmb3JldW5sb2FkIGNvbmZpcm1hdGlvbiBkaWFsb2dzIGZvciB0
aGUgc2FtZSBuYXZpZ2F0aW9uLiIpKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBA
IC0yODYxLDcgKzI4NjAsNyBAQCBib29sIEZyYW1lTG9hZGVyOjpoYW5kbGVCZWZvcmVVbmxvYWRF
dmVudChDaHJvbWUmIGNocm9tZSwgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZAogICAgICAgICAgICAg
aWYgKCFwYXJlbnREb2N1bWVudCkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAg
ICAgICAgIGlmICghbV9mcmFtZS5kb2N1bWVudCgpIHx8ICFtX2ZyYW1lLmRvY3VtZW50KCktPnNl
Y3VyaXR5T3JpZ2luKCktPmNhbkFjY2VzcyhwYXJlbnREb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4o
KSkpIHsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXR0ZW1wdCB0byBzaG93IGJl
Zm9yZXVubG9hZCBjb25maXJtYXRpb24gZGlhbG9nIG9uIGJlaGFsZiBvZiBhIGZyYW1lIHdpdGgg
ZGlmZmVyZW50IHNlY3VyaXR5IG9yaWdpbi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMg
bXVzdCBtYXRjaC4iKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
QmxvY2tlZCBhdHRlbXB0IHRvIHNob3cgYmVmb3JldW5sb2FkIGNvbmZpcm1hdGlvbiBkaWFsb2cg
b24gYmVoYWxmIG9mIGEgZnJhbWUgd2l0aCBkaWZmZXJlbnQgc2VjdXJpdHkgb3JpZ2luLiBQcm90
b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLiIpKTsKICAgICAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIApAQCAtMzA3MSwxMCAr
MzA3MCwxMCBAQCBib29sIEZyYW1lTG9hZGVyOjpzaG91bGRJbnRlcnJ1cHRMb2FkRm9yWEZyYW1l
T3B0aW9ucyhjb25zdCBTdHJpbmcmIGNvbnRlbnQsIGNvbgogICAgIGNhc2UgWEZyYW1lT3B0aW9u
c0FsbG93QWxsOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgY2FzZSBYRnJhbWVPcHRpb25z
Q29uZmxpY3Q6Ci0gICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk11bHRpcGxlICdYLUZyYW1lLU9w
dGlvbnMnIGhlYWRlcnMgd2l0aCBjb25mbGljdGluZyB2YWx1ZXMgKCciICsgY29udGVudCArICIn
KSBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcgJyIgKyB1cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXpl
ZFRvTGVuZ3RoKCkgKyAiJy4gRmFsbGluZyBiYWNrIHRvICdERU5ZJy4iLCByZXF1ZXN0SWRlbnRp
Zmllcik7CisgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJNdWx0aXBsZSAnWC1GcmFtZS1P
cHRpb25zJyBoZWFkZXJzIHdpdGggY29uZmxpY3RpbmcgdmFsdWVzICgnIiArIGNvbnRlbnQgKyAi
JykgZW5jb3VudGVyZWQgd2hlbiBsb2FkaW5nICciICsgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6
ZWRUb0xlbmd0aCgpICsgIicuIEZhbGxpbmcgYmFjayB0byAnREVOWScuIiwgcmVxdWVzdElkZW50
aWZpZXIpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBjYXNlIFhGcmFtZU9wdGlvbnNJbnZh
bGlkOgotICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJJbnZhbGlkICdYLUZyYW1lLU9wdGlvbnMn
IGhlYWRlciBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcgJyIgKyB1cmwuc3RyaW5nQ2VudGVyRWxs
aXBzaXplZFRvTGVuZ3RoKCkgKyAiJzogJyIgKyBjb250ZW50ICsgIicgaXMgbm90IGEgcmVjb2du
aXplZCBkaXJlY3RpdmUuIFRoZSBoZWFkZXIgd2lsbCBiZSBpZ25vcmVkLiIsIHJlcXVlc3RJZGVu
dGlmaWVyKTsKKyAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIkludmFsaWQgJ1gtRnJhbWUt
T3B0aW9ucycgaGVhZGVyIGVuY291bnRlcmVkIHdoZW4gbG9hZGluZyAnIiArIHVybC5zdHJpbmdD
ZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInOiAnIiArIGNvbnRlbnQgKyAiJyBpcyBub3Qg
YSByZWNvZ25pemVkIGRpcmVjdGl2ZS4gVGhlIGhlYWRlciB3aWxsIGJlIGlnbm9yZWQuIiwgcmVx
dWVzdElkZW50aWZpZXIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgZGVmYXVsdDoKICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0zNDY2LDcgKzM0NjUsNyBAQCBQYXNzUmVm
UHRyPEZyYW1lPiBjcmVhdGVXaW5kb3coRnJhbWUqIG9wZW5lckZyYW1lLCBGcmFtZSogbG9va3Vw
RnJhbWUsIGNvbnN0IEZyYQogICAgIC8vIFNhbmRib3hlZCBmcmFtZXMgY2Fubm90IG9wZW4gbmV3
IGF1eGlsaWFyeSBicm93c2luZyBjb250ZXh0cy4KICAgICBpZiAoaXNEb2N1bWVudFNhbmRib3hl
ZChvcGVuZXJGcmFtZSwgU2FuZGJveFBvcHVwcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMg
bWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0
byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4K
LSAgICAgICAgb3BlbmVyRnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3Vy
aXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIG9wZW5pbmcgJyIg
KyByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRU
b0xlbmd0aCgpICsgIicgaW4gYSBuZXcgd2luZG93IGJlY2F1c2UgdGhlIHJlcXVlc3Qgd2FzIG1h
ZGUgaW4gYSBzYW5kYm94ZWQgZnJhbWUgd2hvc2UgJ2FsbG93LXBvcHVwcycgcGVybWlzc2lvbiBp
cyBub3Qgc2V0LiIpOworICAgICAgICBvcGVuZXJGcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJC
bG9ja2VkIG9wZW5pbmcgJyIgKyByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpLnN0cmlu
Z0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgaW4gYSBuZXcgd2luZG93IGJlY2F1c2Ug
dGhlIHJlcXVlc3Qgd2FzIG1hZGUgaW4gYSBzYW5kYm94ZWQgZnJhbWUgd2hvc2UgJ2FsbG93LXBv
cHVwcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IDEzYzMyZmYuLjQ1ZGEx
NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtMzUsNyArMzUsNyBA
QAogI2luY2x1ZGUgIkhUTUxPYmplY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklk
aW9tcy5oIgogI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0
YWNrLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUg
IlNlY3VyaXR5T3JpZ2luLmgiCiAKICNpZiBFTkFCTEUoU1ZHKQpAQCAtMjk2LDcgKzI5Niw3IEBA
IHZvaWQgSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJj
ZSkKICAgICAgICAgZXJyb3JFdmVudFNlbmRlcigpLmRpc3BhdGNoRXZlbnRTb29uKHRoaXMpOwog
CiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFT
Q0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIGltYWdlIGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdp
biBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iKSkpOwotICAgICAgICBtX2VsZW1lbnQtPmRvY3Vt
ZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCku
YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsIGNvbnNvbGVNZXNzYWdlKTsKIAogICAgICAgICBBU1NFUlQoIW1faGFzUGVuZGluZ0xv
YWRFdmVudCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRl
bnRDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2Vy
LmNwcAppbmRleCBlNTA3YWE2Li4xN2YzNGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L01peGVkQ29udGVudENoZWNrZXIuY3BwCkBAIC05NCw3ICs5NCw3IEBAIGJvb2wgTWl4ZWRDb250
ZW50Q2hlY2tlcjo6Y2FuUnVuSW5zZWN1cmVDb250ZW50KFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0
eU9yaWdpbiwKIHZvaWQgTWl4ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyhib29sIGFsbG93
ZWQsIGNvbnN0IFN0cmluZyYgYWN0aW9uLCBjb25zdCBVUkwmIHRhcmdldCkgY29uc3QKIHsKICAg
ICBTdHJpbmcgbWVzc2FnZSA9IG1ha2VTdHJpbmcoKGFsbG93ZWQgPyAiIiA6ICJbYmxvY2tlZF0g
IiksICJUaGUgcGFnZSBhdCAiLCBtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgpLnN0cmluZ0NlbnRl
ckVsbGlwc2l6ZWRUb0xlbmd0aCgpLCAiICIsIGFjdGlvbiwgIiBpbnNlY3VyZSBjb250ZW50IGZy
b20gIiwgdGFyZ2V0LnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpLCAiLlxuIik7Ci0g
ICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VT
b3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIG1fZnJhbWUuZG9jdW1l
bnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VM
ZXZlbDo6V2FybmluZywgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKaW5kZXggMzVkNzg4Yy4uNWYw
YmEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKQEAgLTM2
LDcgKzM2LDYgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUJ1ZmZlci5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGV4dFRyYWNrQ3VlLmgi
CiAjaW5jbHVkZSAiV2ViVlRUUGFyc2VyLmgiCkBAIC0xMTgsNyArMTE3LDcgQEAgdm9pZCBUZXh0
VHJhY2tMb2FkZXI6OmNvcnNQb2xpY3lQcmV2ZW50ZWRMb2FkKCkKIHsKICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9y
aWdpbiB0ZXh0IHRyYWNrIGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFy
aW5nIHBvbGljeS4iKSkpOwogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHRvRG9jdW1lbnQobV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2Uo
U2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2Up
OworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0
eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgY29uc29sZU1lc3NhZ2UpOwogICAgIG1fc3RhdGUgPSBG
YWlsZWQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggMTc2M2YwNi4uZTg3NzE4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVHcm91cC5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgpAQCAtNDcxLDcgKzQ3MSw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNo
ZUdyb3VwOjphYm9ydChGcmFtZSogZnJhbWUpCiAgICAgaWYgKG1fY29tcGxldGlvblR5cGUgIT0g
Tm9uZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNv
bGVNZXNzYWdlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgIkFwcGxp
Y2F0aW9uIENhY2hlIGRvd25sb2FkIHByb2Nlc3Mgd2FzIGFib3J0ZWQuIik7CisgICAgZnJhbWUt
PmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcmssIE1l
c3NhZ2VMZXZlbDo6RGVidWcsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUgZG93bmxv
YWQgcHJvY2VzcyB3YXMgYWJvcnRlZC4iKSk7CiAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKIH0K
IApAQCAtNTQ3LDcgKzU0Nyw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNl
aXZlUmVzcG9uc2UoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzCiAKICAgICBpZiAo
cmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyIHx8IHJlc3BvbnNlLnVybCgpICE9
IG1fY3VycmVudEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkpIHsKICAgICAgICAgaWYgKCh0
eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpFeHBsaWNpdCkgfHwgKHR5cGUgJiBBcHBs
aWNhdGlvbkNhY2hlUmVzb3VyY2U6OkZhbGxiYWNrKSkgewotICAgICAgICAgICAgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoQXBwQ2FjaGVNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ug
IiArIG1fY3VycmVudEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkuc3RyaW5nQ2VudGVyRWxs
aXBzaXplZFRvTGVuZ3RoKCkgKworICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGUsIE1lc3NhZ2VMZXZlbDo6RXJy
b3IsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyBtX2N1cnJl
bnRIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xl
bmd0aCgpICsKICAgICAgICAgICAgICAgICAoKHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgLyAx
MDAgIT0gMikgPyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIgOiAiIHdhcyByZWRpcmVjdGVkLiIp
KTsKICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBjYWNoZVVwZGF0ZUZhaWxlZCgpIGNhbiBjYXVz
ZSB0aGUgY2FjaGUgZ3JvdXAgdG8gYmUgZGVsZXRlZC4KICAgICAgICAgICAgIGNhY2hlVXBkYXRl
RmFpbGVkKCk7CkBAIC02MjYsNyArNjI2LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgZG91YmxlIGZpbmkKICAg
ICAvLyBGSVhNRTogU2hvdWxkIHdlIGJyZWFrIGVhcmxpZXIgYW5kIHByZXZlbnQgcmVkb3dubG9h
ZGluZyBvbiBsYXRlciBwYWdlIGxvYWRzPwogICAgIGlmIChtX29yaWdpblF1b3RhRXhjZWVkZWRQ
cmV2aW91c2x5ICYmIG1fYXZhaWxhYmxlU3BhY2VJblF1b3RhIDwgbV9jYWNoZUJlaW5nVXBkYXRl
ZC0+ZXN0aW1hdGVkU2l6ZUluU3RvcmFnZSgpKSB7CiAgICAgICAgIG1fY3VycmVudFJlc291cmNl
ID0gMDsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoQXBw
Q2FjaGVNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hl
IHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIik7CisgICAg
ICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6
OkFwcENhY2hlLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9u
IENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIikp
OwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpA
QCAtNjYxLDcgKzY2MSw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGYWlsKFJl
c291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlRXJyb3ImCiAgICAgbV9wZW5kaW5n
RW50cmllcy5yZW1vdmUodXJsKTsKIAogICAgIGlmICgodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVS
ZXNvdXJjZTo6RXhwbGljaXQpIHx8ICh0eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpG
YWxsYmFjaykpIHsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoQXBwQ2FjaGVNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9u
IENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2UgIiArIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNp
emVkVG9MZW5ndGgoKSArICIgY291bGQgbm90IGJlIGZldGNoZWQuIik7CisgICAgICAgIG1fZnJh
bWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hl
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwg
YmVjYXVzZSAiICsgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIiBjb3Vs
ZCBub3QgYmUgZmV0Y2hlZC4iKTsKICAgICAgICAgLy8gTm90ZSB0aGF0IGNhY2hlVXBkYXRlRmFp
bGVkKCkgY2FuIGNhdXNlIHRoZSBjYWNoZSBncm91cCB0byBiZSBkZWxldGVkLgogICAgICAgICBj
YWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgIH0gZWxzZSB7CkBAIC02OTAsMTMgKzY5MCwxMyBAQCB2
b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZU1hbmlmZXN0UmVzcG9uc2UoY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAocmVzcG9u
c2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyKSB7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZC4i
KTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGlj
YXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuIikpOwogICAgICAgICBj
YWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKHJl
c3BvbnNlLnVybCgpICE9IG1fbWFuaWZlc3RIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpKSB7
Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVz
dCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVzZSBhIHJlZGlyZWN0aW9uIHdhcyBhdHRlbXB0
ZWQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFw
cGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLCBiZWNhdXNlIGEg
cmVkaXJlY3Rpb24gd2FzIGF0dGVtcHRlZC4iKSk7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVk
KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MTYsNyArNzE2LDcgQEAgdm9pZCBBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OmRpZEZpbmlzaExvYWRpbmdNYW5pZmVzdCgpCiAKICAgICBpZiAo
IWlzVXBncmFkZUF0dGVtcHQgJiYgIW1fbWFuaWZlc3RSZXNvdXJjZSkgewogICAgICAgICAvLyBU
aGUgc2VydmVyIHJldHVybmVkIDMwNCBOb3QgTW9kaWZpZWQgZXZlbiB0aG91Z2ggd2UgZGlkbid0
IHNlbmQgYSBjb25kaXRpb25hbCByZXF1ZXN0LgotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQgYmVjYXVz
ZSBvZiBhbiB1bmV4cGVjdGVkIDMwNCBOb3QgTW9kaWZpZWQgc2VydmVyIHJlc3BvbnNlLiIpOwor
ICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlv
biBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCBiZWNhdXNlIG9mIGFuIHVuZXhw
ZWN0ZWQgMzA0IE5vdCBNb2RpZmllZCBzZXJ2ZXIgcmVzcG9uc2UuIikpOwogICAgICAgICBjYWNo
ZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNzQyLDcgKzc0Miw3
IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nTWFuaWZlc3Qo
KQogICAgIE1hbmlmZXN0IG1hbmlmZXN0OwogICAgIGlmICghcGFyc2VNYW5pZmVzdChtX21hbmlm
ZXN0VVJMLCBtX21hbmlmZXN0UmVzb3VyY2UtPmRhdGEoKS0+ZGF0YSgpLCBtX21hbmlmZXN0UmVz
b3VyY2UtPmRhdGEoKS0+c2l6ZSgpLCBtYW5pZmVzdCkpIHsKICAgICAgICAgLy8gQXQgdGhlIHRp
bWUgb2YgdGhpcyB3cml0aW5nLCBsYWNrIG9mICJDQUNIRSBNQU5JRkVTVCIgc2lnbmF0dXJlIGlz
IHRoZSBvbmx5IHJlYXNvbiBmb3IgcGFyc2VNYW5pZmVzdCB0byBmYWlsLgotICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJl
IHBhcnNlZC4gRG9lcyBpdCBzdGFydCB3aXRoIENBQ0hFIE1BTklGRVNUPyIpOworICAgICAgICBt
X2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhl
ciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlvbiBDYWNoZSBt
YW5pZmVzdCBjb3VsZCBub3QgYmUgcGFyc2VkLiBEb2VzIGl0IHN0YXJ0IHdpdGggQ0FDSEUgTUFO
SUZFU1Q/IikpOwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47
CiAgICAgfQpAQCAtOTI5LDcgKzkyOSw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpj
aGVja0lmTG9hZElzQ29tcGxldGUoKQogICAgICAgICAgICAgICAgIC8vIFdlIHJhbiBvdXQgb2Yg
c3BhY2UgZm9yIHRoaXMgb3JpZ2luLiBGYWxsIGRvd24gdG8gdGhlIG5vcm1hbCBlcnJvciBoYW5k
bGluZwogICAgICAgICAgICAgICAgIC8vIGFmdGVyIHJlY29yZGluZyB0aGlzIHN0YXRlLgogICAg
ICAgICAgICAgICAgIG1fb3JpZ2luUXVvdGFFeGNlZWRlZFByZXZpb3VzbHkgPSB0cnVlOwotICAg
ICAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVy
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRh
dGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIpOworICAgICAgICAg
ICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9u
IENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIikp
OwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoZmFpbHVyZVJlYXNvbiA9PSBBcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZTo6VG90YWxRdW90YVJlYWNoZWQgJiYgIW1fY2FsbGVkUmVhY2hl
ZE1heEFwcENhY2hlU2l6ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNjZiOGEwOS4uOWJmZGI2NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC02NDIsNyArNjQyLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJpbnRB
Y2Nlc3NEZW5pZWRNZXNzYWdlKGNvbnN0IFVSTCYgdXJsKSBjb25zdAogICAgIGVsc2UKICAgICAg
ICAgbWVzc2FnZSA9ICJVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCAiICsgdXJsLnN0cmluZ0Nl
bnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIiBmcm9tIGZyYW1lIHdpdGggVVJMICIgKyBtX2Rv
Y3VtZW50LT51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICIuIERvbWFp
bnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC5cbiI7CiAKLSAgICBmcmFtZSgpLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25z
b2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwg
bWVzc2FnZSk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNldEF1dG9Mb2FkSW1h
Z2VzKGJvb2wgZW5hYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggYWU1YjZk
MS4uZjZkNWQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yMyw4ICsyMyw2
IEBACiAjZGVmaW5lIENocm9tZUNsaWVudF9oCiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgi
Ci0jaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgi
CiAjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKICNpbmNs
dWRlICJGcmFtZUxvYWRlci5oIgpAQCAtMzcsNiArMzUsNyBAQAogI2luY2x1ZGUgIlNjcm9sbGlu
Z0Nvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiU2VhcmNoUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUtleWJvYXJkVUlNb2RlLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBl
cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnNvbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAppbmRleCBl
MjFiODYyLi5lNzNhNmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKQEAgLTMxLDggKzMxLDYg
QEAKIAogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgotI2lu
Y2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlci5oIgpAQCAtNDIsMTggKzQwLDIxIEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
IlBhZ2VDb25zb2xlLmgiCiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCi0jaW5jbHVkZSAiU2NyaXB0
QXJndW1lbnRzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5jbHVkZSAiU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNs
dWRlICJTY3JpcHRQcm9maWxlci5oIgogI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1bWVudFBhcnNl
ci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFs
dWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CisjaW5jbHVkZSA8aW5z
cGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgog
I2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIENvbnNvbGU6OkNvbnNvbGUoRnJhbWUqIGZyYW1lKQpA
QCAtODEsMTMgKzgyLDEzIEBAIHN0YXRpYyB2b2lkIGludGVybmFsQWRkTWVzc2FnZShQYWdlKiBw
YWdlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsCiAKICAgICBTdHJpbmcg
bWVzc2FnZTsKICAgICBib29sIGdvdE1lc3NhZ2UgPSBhcmd1bWVudHMtPmdldEZpcnN0QXJndW1l
bnRBc1N0cmluZyhtZXNzYWdlKTsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1l
c3NhZ2VUb0NvbnNvbGUocGFnZSwgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIHR5cGUsIGxldmVs
LCBtZXNzYWdlLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSwg
dHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHN0YXRlLCBhcmd1bWVudHMpOwogCiAgICAgaWYgKHBhZ2Ut
PnNldHRpbmdzKCkucHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBpZiAoZ290TWVzc2FnZSkKLSAgICAgICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkuYWRk
TWVzc2FnZVRvQ29uc29sZShDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1l
c3NhZ2UsIGxhc3RDYWxsZXIubGluZU51bWJlcigpLCBsYXN0Q2FsbGVyLmNvbHVtbk51bWJlcigp
LCBsYXN0Q2FsbGVyLnNvdXJjZVVSTCgpKTsKKyAgICAgICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50
KCkuYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSwgbGFzdENhbGxlci5saW5lTnVtYmVyKCksIGxhc3RDYWxsZXIuY29sdW1u
TnVtYmVyKCksIGxhc3RDYWxsZXIuc291cmNlVVJMKCkpOwogCiAgICAgaWYgKCFwYWdlLT5zZXR0
aW5ncygpLmxvZ3NQYWdlTWVzc2FnZXNUb1N5c3RlbUNvbnNvbGVFbmFibGVkKCkgJiYgIVBhZ2VD
b25zb2xlOjpzaG91bGRQcmludEV4Y2VwdGlvbnMoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtOTYs
NyArOTcsNyBAQCBzdGF0aWMgdm9pZCBpbnRlcm5hbEFkZE1lc3NhZ2UoUGFnZSogcGFnZSwgTWVz
c2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLAogCiAgICAgcHJpbnRmKCI6ICIpOwog
Ci0gICAgUGFnZUNvbnNvbGU6OnByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KENvbnNv
bGVBUElNZXNzYWdlU291cmNlLCBsZXZlbCwgcHJpbnRUcmFjZSk7CisgICAgUGFnZUNvbnNvbGU6
OnByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVB
UEksIGxldmVsLCBwcmludFRyYWNlKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJn
dW1lbnRzLT5hcmd1bWVudENvdW50KCk7ICsraSkgewogICAgICAgICBTdHJpbmcgYXJnQXNTdHJp
bmcgPSBhcmd1bWVudHMtPmFyZ3VtZW50QXQoaSkudG9TdHJpbmcoYXJndW1lbnRzLT5nbG9iYWxT
dGF0ZSgpKTsKQEAgLTEyNSwxMiArMTI2LDEyIEBAIHN0YXRpYyB2b2lkIGludGVybmFsQWRkTWVz
c2FnZShQYWdlKiBwYWdlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsCiAK
IHZvaWQgQ29uc29sZTo6ZGVidWcoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNj
cmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdl
KCksIExvZ01lc3NhZ2VUeXBlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7
CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkxvZywgTWVzc2Fn
ZUxldmVsOjpEZWJ1Zywgc3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6ZXJy
b3IoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJn
dW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIExvZ01lc3NhZ2VUeXBl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRN
ZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkxvZywgTWVzc2FnZUxldmVsOjpFcnJvciwgc3Rh
dGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6aW5mbyhKU0M6OkV4ZWNTdGF0ZSog
c3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCkBAIC0xNDAsMzcg
KzE0MSwzNyBAQCB2b2lkIENvbnNvbGU6OmluZm8oSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogCiB2b2lkIENvbnNvbGU6OmxvZyhK
U0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVu
dHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVzc2FnZVR5cGUsIExv
Z01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdl
KHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkxvZywgTWVzc2FnZUxldmVsOjpMb2csIHN0YXRlLCBhcmd1
bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6Ondhcm4oSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRk
TWVzc2FnZShwYWdlKCksIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBzdGF0
ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlw
ZTo6TG9nLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2
b2lkIENvbnNvbGU6OmRpcihKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwg
RGlyTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAg
aW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkRpciwgTWVzc2FnZUxldmVs
OjpMb2csIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6OmRpcnhtbChKU0M6
OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMp
CiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgRGlyWE1MTWVzc2FnZVR5cGUsIExv
Z01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdl
KHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkRpclhNTCwgTWVzc2FnZUxldmVsOjpMb2csIHN0YXRlLCBh
cmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6OnRhYmxlKEpTQzo6RXhlY1N0YXRlKiBzdGF0
ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5h
bEFkZE1lc3NhZ2UocGFnZSgpLCBUYWJsZU1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0
YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VU
eXBlOjpUYWJsZSwgTWVzc2FnZUxldmVsOjpMb2csIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2
b2lkIENvbnNvbGU6OmNsZWFyKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgp
LCBDbGVhck1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHRy
dWUpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpDbGVhciwg
TWVzc2FnZUxldmVsOjpMb2csIHN0YXRlLCBhcmd1bWVudHMsIHRydWUpOwogfQogCiB2b2lkIENv
bnNvbGU6OnRyYWNlKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBUcmFj
ZU1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHRydWUsIHRy
dWUpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpUcmFjZSwg
TWVzc2FnZUxldmVsOjpMb2csIHN0YXRlLCBhcmd1bWVudHMsIHRydWUsIHRydWUpOwogfQogCiB2
b2lkIENvbnNvbGU6OmFzc2VydENvbmRpdGlvbihKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NS
ZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIGJvb2wgY29uZGl0aW9uKQpAQCAtMTc4
LDcgKzE3OSw3IEBAIHZvaWQgQ29uc29sZTo6YXNzZXJ0Q29uZGl0aW9uKEpTQzo6RXhlY1N0YXRl
KiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+CiAgICAgaWYgKGNvbmRpdGlvbikK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgQXNzZXJ0
TWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlKTsK
KyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6QXNzZXJ0LCBNZXNz
YWdlTGV2ZWw6OkVycm9yLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlKTsKIH0KIAogdm9pZCBDb25z
b2xlOjpjb3VudChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1l
bnRzPiBhcmd1bWVudHMpCkBAIC0yNDMsMTcgKzI0NCwxNyBAQCB2b2lkIENvbnNvbGU6OnRpbWVT
dGFtcChQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogCiB2b2lkIENvbnNv
bGU6Omdyb3VwKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVu
dHM+IGFyZ3VtZW50cykKIHsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUocGFnZSgpLCBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgU3RhcnRHcm91cE1l
c3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIFN0cmluZygpLCBzdGF0ZSwgYXJndW1lbnRzKTsK
KyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSgp
LCBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6U3RhcnRHcm91cCwgTWVz
c2FnZUxldmVsOjpMb2csIFN0cmluZygpLCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBD
b25zb2xlOjpncm91cENvbGxhcHNlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8
U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UoKSwgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2Us
IFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBTdHJpbmco
KSwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRN
ZXNzYWdlVG9Db25zb2xlKHBhZ2UoKSwgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSwgTWVzc2Fn
ZVR5cGU6OlN0YXJ0R3JvdXBDb2xsYXBzZWQsIE1lc3NhZ2VMZXZlbDo6TG9nLCBTdHJpbmcoKSwg
c3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6Z3JvdXBFbmQoKQogewotICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlKCksIENv
bnNvbGVBUElNZXNzYWdlU291cmNlLCBFbmRHcm91cE1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2
ZWwsIFN0cmluZygpLCBTdHJpbmcoKSwgMCwgMCk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UoKSwgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQ
SSwgTWVzc2FnZVR5cGU6OkVuZEdyb3VwLCBNZXNzYWdlTGV2ZWw6OkxvZywgU3RyaW5nKCksIFN0
cmluZygpLCAwLCAwKTsKIH0KIAogUGFnZSogQ29uc29sZTo6cGFnZSgpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29uc29sZS5oCmluZGV4IDY0ZWFjMWEuLjk4ZTRiNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29uc29sZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5oCkBA
IC0zNywxMSArMzcsMTQgQEAKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworY2xhc3MgU2NyaXB0
QXJndW1lbnRzOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZyYW1lOwogY2xh
c3MgUGFnZTsKLWNsYXNzIFNjcmlwdEFyZ3VtZW50czsKIAogdHlwZWRlZiBWZWN0b3I8UmVmUHRy
PFNjcmlwdFByb2ZpbGU+PiBQcm9maWxlc0FycmF5OwogCkBAIC01MCwyNiArNTMsMjYgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENvbnNvbGU+IGNyZWF0ZShGcmFtZSogZnJhbWUp
IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDb25zb2xlKGZyYW1lKSk7IH0KICAgICB2aXJ0dWFsIH5D
b25zb2xlKCk7CiAKLSAgICB2b2lkIGRlYnVnKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGVycm9yKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1Jl
ZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGluZm8oSlNDOjpFeGVjU3RhdGUqLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgbG9nKEpTQzo6RXhlY1N0YXRl
KiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGNsZWFyKEpTQzo6RXhl
Y1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIHdhcm4oSlND
OjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgZGly
KEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lk
IGRpcnhtbChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0g
ICAgdm9pZCB0YWJsZShKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRz
Pik7Ci0gICAgdm9pZCB0cmFjZShKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPik7Ci0gICAgdm9pZCBhc3NlcnRDb25kaXRpb24oSlNDOjpFeGVjU3RhdGUqLCBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIGJvb2wgY29uZGl0aW9uKTsKLSAgICB2b2lkIGNvdW50
KEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lk
IGRlYnVnKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3Vt
ZW50cz4pOworICAgIHZvaWQgZXJyb3IoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBpbmZvKEpTQzo6RXhlY1N0YXRlKiwg
UGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgbG9nKEpT
Qzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwor
ICAgIHZvaWQgY2xlYXIoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2Ny
aXB0QXJndW1lbnRzPik7CisgICAgdm9pZCB3YXJuKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0
cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgZGlyKEpTQzo6RXhlY1N0
YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQg
ZGlyeG1sKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3Vt
ZW50cz4pOworICAgIHZvaWQgdGFibGUoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCB0cmFjZShKU0M6OkV4ZWNTdGF0ZSos
IFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGFzc2Vy
dENvbmRpdGlvbihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRB
cmd1bWVudHM+LCBib29sIGNvbmRpdGlvbik7CisgICAgdm9pZCBjb3VudChKU0M6OkV4ZWNTdGF0
ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKICAgICBjb25zdCBQ
cm9maWxlc0FycmF5JiBwcm9maWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvZmlsZXM7IH0KICAg
ICB2b2lkIHByb2ZpbGUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmID0gU3RyaW5nKCkp
OwogICAgIHZvaWQgcHJvZmlsZUVuZChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgPSBT
dHJpbmcoKSk7CiAgICAgdm9pZCB0aW1lKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgdGltZUVu
ZChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgdGltZVN0YW1wKFBh
c3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBncm91cChKU0M6OkV4ZWNTdGF0
ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBncm91cENvbGxhcHNl
ZChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9p
ZCB0aW1lU3RhbXAoUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAg
IHZvaWQgZ3JvdXAoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0
QXJndW1lbnRzPik7CisgICAgdm9pZCBncm91cENvbGxhcHNlZChKU0M6OkV4ZWNTdGF0ZSosIFBh
c3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKICAgICB2b2lkIGdyb3VwRW5k
KCk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVU
eXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggODA0YTE2Ny4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnNvbGVUeXBlcy5oCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpZm5kZWYgQ29uc29sZVR5cGVzX2gKLSNkZWZpbmUgQ29uc29sZVR5cGVzX2gKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1lbnVtIE1lc3NhZ2VTb3VyY2UgewotICAgIFhNTE1lc3Nh
Z2VTb3VyY2UsCi0gICAgSlNNZXNzYWdlU291cmNlLAotICAgIE5ldHdvcmtNZXNzYWdlU291cmNl
LAotICAgIENvbnNvbGVBUElNZXNzYWdlU291cmNlLAotICAgIFN0b3JhZ2VNZXNzYWdlU291cmNl
LAotICAgIEFwcENhY2hlTWVzc2FnZVNvdXJjZSwKLSAgICBSZW5kZXJpbmdNZXNzYWdlU291cmNl
LAotICAgIENTU01lc3NhZ2VTb3VyY2UsCi0gICAgU2VjdXJpdHlNZXNzYWdlU291cmNlLAotICAg
IE90aGVyTWVzc2FnZVNvdXJjZSwKLX07Ci0KLWVudW0gTWVzc2FnZUxldmVsIHsKLSAgICBEZWJ1
Z01lc3NhZ2VMZXZlbCA9IDQsCi0gICAgTG9nTWVzc2FnZUxldmVsID0gMSwKLSAgICBXYXJuaW5n
TWVzc2FnZUxldmVsID0gMiwKLSAgICBFcnJvck1lc3NhZ2VMZXZlbCA9IDMKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIENvbnNvbGVUeXBlc19oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggMGFlYTlhYS4uOTI3
YzA4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xp
Y3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNw
cApAQCAtMzUsMTcgKzM1LDE4IEBACiAjaW5jbHVkZSAiRm9ybURhdGFMaXN0LmgiCiAjaW5jbHVk
ZSAiRnJhbWUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKLSNpbmNs
dWRlICJVUkwuaCIKKyNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbmNsdWRl
ICJQaW5nTG9hZGVyLmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2lu
Y2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0j
aW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRl
LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1cml0eVBvbGlj
eVZpb2xhdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCisjaW5jbHVkZSAi
VVJMLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUg
PGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CkBAIC0xNzI2LDcgKzE3MjcsNyBAQCBzdGF0aWMgdm9pZCBnYXRoZXJTZWN1cml0eVBvbGljeVZp
b2xhdGlvbkV2ZW50RGF0YShTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SQogICAgIGluaXQu
c291cmNlRmlsZSA9IFN0cmluZygpOwogICAgIGluaXQubGluZU51bWJlciA9IDA7CiAKLSAgICBS
ZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjaygyLCBm
YWxzZSk7CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2sgPSBjcmVhdGVTY3JpcHRD
YWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSwgMiwgZmFsc2Up
OwogICAgIGlmICghc3RhY2spCiAgICAgICAgIHJldHVybjsKIApAQCAtMTc4OCw3ICsxNzg5LDcg
QEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydFZpb2xhdGlvbihjb25zdCBTdHJp
bmcmIGRpcmVjdGl2ZVRleHQsIGNvbnN0IFMKICAgICBjc3BSZXBvcnQtPnNldFN0cmluZygib3Jp
Z2luYWwtcG9saWN5IiwgaGVhZGVyKTsKICAgICBjc3BSZXBvcnQtPnNldFN0cmluZygiYmxvY2tl
ZC11cmkiLCBzdHJpcFVSTEZvclVzZUluUmVwb3J0KGRvY3VtZW50LCBibG9ja2VkVVJMKSk7CiAK
LSAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFj
aygyLCBmYWxzZSk7CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2sgPSBjcmVhdGVT
Y3JpcHRDYWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSwgMiwg
ZmFsc2UpOwogICAgIGlmIChzdGFjaykgewogICAgICAgICBjb25zdCBTY3JpcHRDYWxsRnJhbWUm
IGNhbGxGcmFtZSA9IGdldEZpcnN0Tm9uTmF0aXZlRnJhbWUoc3RhY2spOwogCkBAIC0xODk5LDcg
KzE5MDAsNyBAQCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0TWlzc2luZ1JlcG9y
dFVSSShjb25zdCBTdHJpbmcmIHBvbGljeSkgY29uc3QKIHZvaWQgQ29udGVudFNlY3VyaXR5UG9s
aWN5Ojpsb2dUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNv
bnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIEpTQzo6RXhl
Y1N0YXRlKiBzdGF0ZSkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3Jn
L2IvMTE0MzE3PiBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmxvZ1RvQ29uc29sZSBzaG91bGQgaW5j
bHVkZSBhIGNvbHVtbiBudW1iZXIKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENv
bnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLm9uZUJhc2VkSW50KCksIDAsIHN0YXRlKTsK
KyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLCBjb250ZXh0VVJM
LCBjb250ZXh0TGluZS5vbmVCYXNlZEludCgpLCAwLCBzdGF0ZSk7CiB9CiAKIHZvaWQgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpyZXBvcnRCbG9ja2VkU2NyaXB0RXhlY3V0aW9uVG9JbnNwZWN0b3Io
Y29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVNlY3VyaXR5UG9saWN5LmNwcAppbmRleCA3YTI2NGVlLi45OTRjOTZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1
ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlz
dC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAj
aW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1Rl
eHRQb3NpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCmluZGV4IDc1MzNiMDAuLjNkZjJjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgpAQCAtNjksNyArNjksNyBAQAogI2luY2x1ZGUgIkhUTUxGcmFtZU93
bmVyRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpc3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJVUkwuaCIKKyNpbmNsdWRlICJKU01haW5UaHJl
YWRFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1haW5GcmFt
ZS5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0LmgiCkBAIC04NSw4ICs4NSw2IEBACiAjaW5j
bHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNjaGVkdWxlZEFjdGlv
bi5oIgogI2luY2x1ZGUgIlNjcmVlbi5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgot
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRDb250
cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1cml0
eVBvbGljeS5oIgpAQCAtOTgsMTAgKzk2LDEzIEBACiAjaW5jbHVkZSAiU3R5bGVNZWRpYS5oIgog
I2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJTdWRkZW5UZXJtaW5hdGlvbi5o
IgorI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIldlYktpdFBvaW50LmgiCiAjaW5jbHVkZSAi
V2luZG93RmVhdHVyZXMuaCIKICNpbmNsdWRlICJXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3Iu
aCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CiAj
aW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
ICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpAQCAtMTI0LDYgKzEyNSw4IEBACiAjaW5jbHVk
ZSAiV0tDb250ZW50T2JzZXJ2YXRpb24uaCIKICNlbmRpZgogCit1c2luZyBuYW1lc3BhY2UgSW5z
cGVjdG9yOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBvc3RNZXNzYWdlVGltZXIg
OiBwdWJsaWMgVGltZXJCYXNlIHsKQEAgLTg0Myw3ICs4NDYsNyBAQCB2b2lkIERPTVdpbmRvdzo6
cG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2UsIGNv
bnN0IE1lcwogICAgIC8vIENhcHR1cmUgc3RhY2sgdHJhY2Ugb25seSB3aGVuIGluc3BlY3RvciBm
cm9udC1lbmQgaXMgbG9hZGVkIGFzIGl0IG1heSBiZSB0aW1lIGNvbnN1bWluZy4KICAgICBSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFja1RyYWNlOwogICAgIGlmIChJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmNvbnNvbGVBZ2VudEVuYWJsZWQoc291cmNlRG9jdW1lbnQpKQotICAgICAgICBz
dGFja1RyYWNlID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKFNjcmlwdENhbGxTdGFjazo6bWF4Q2Fs
bFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7CisgICAgICAgIHN0YWNrVHJhY2UgPSBjcmVhdGVT
Y3JpcHRDYWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSwgU2Ny
aXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0cnVlKTsKIAogICAgIC8v
IFNjaGVkdWxlIHRoZSBtZXNzYWdlLgogICAgIFBvc3RNZXNzYWdlVGltZXIqIHRpbWVyID0gbmV3
IFBvc3RNZXNzYWdlVGltZXIodGhpcywgbWVzc2FnZSwgc291cmNlT3JpZ2luLCAmc291cmNlLCBj
aGFubmVscy5yZWxlYXNlKCksIHRhcmdldC5nZXQoKSwgc3RhY2tUcmFjZS5yZWxlYXNlKCkpOwpA
QCAtODY3LDcgKzg3MCw3IEBAIHZvaWQgRE9NV2luZG93OjpkaXNwYXRjaE1lc3NhZ2VFdmVudFdp
dGhPcmlnaW5DaGVjayhTZWN1cml0eU9yaWdpbiogaW50ZW5kZWRUYXJnCiAgICAgICAgIGlmICgh
aW50ZW5kZWRUYXJnZXRPcmlnaW4tPmlzU2FtZVNjaGVtZUhvc3RQb3J0KGRvY3VtZW50KCktPnNl
Y3VyaXR5T3JpZ2luKCkpKSB7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJVbmFibGUg
dG8gcG9zdCBtZXNzYWdlIHRvICIgKyBpbnRlbmRlZFRhcmdldE9yaWdpbi0+dG9TdHJpbmcoKSAr
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIuIFJlY2lwaWVudCBoYXMgb3JpZ2luICIg
KyBkb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpICsgIi5cbiI7Ci0gICAg
ICAgICAgICBwYWdlQ29uc29sZSgpLT5hZGRNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHN0YWNrVHJhY2UpOworICAgICAgICAgICAgcGFn
ZUNvbnNvbGUoKS0+YWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxl
dmVsOjpFcnJvciwgbWVzc2FnZSwgc3RhY2tUcmFjZSk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICB9CkBAIC05NjYsNyArOTY5LDcgQEAgdm9pZCBET01XaW5kb3c6OmNsb3Nl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAgYm9vbCBhbGxvd1NjcmlwdHNU
b0Nsb3NlV2luZG93cyA9IG1fZnJhbWUtPnNldHRpbmdzKCkuYWxsb3dTY3JpcHRzVG9DbG9zZVdp
bmRvd3MoKTsKIAogICAgIGlmICghKHBhZ2UtPm9wZW5lZEJ5RE9NKCkgfHwgcGFnZS0+YmFja0Zv
cndhcmQoKS5jb3VudCgpIDw9IDEgfHwgYWxsb3dTY3JpcHRzVG9DbG9zZVdpbmRvd3MpKSB7Ci0g
ICAgICAgIHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5n
TWVzc2FnZUxldmVsLCBBU0NJSUxpdGVyYWwoIkNhbid0IGNsb3NlIHRoZSB3aW5kb3cgc2luY2Ug
aXQgd2FzIG5vdCBvcGVuZWQgYnkgSmF2YVNjcmlwdCIpKTsKKyAgICAgICAgcGFnZUNvbnNvbGUo
KS0+YWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBB
U0NJSUxpdGVyYWwoIkNhbid0IGNsb3NlIHRoZSB3aW5kb3cgc2luY2UgaXQgd2FzIG5vdCBvcGVu
ZWQgYnkgSmF2YVNjcmlwdCIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTkzNiw3
ICsxOTM5LDcgQEAgdm9pZCBET01XaW5kb3c6OnByaW50RXJyb3JNZXNzYWdlKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSkKICAgICBpZiAobWVzc2FnZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgcGFnZUNvbnNvbGUoKS0+YWRkTWVzc2FnZShNZXNz
YWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSk7CiB9CiAKIFN0cmlu
ZyBET01XaW5kb3c6OmNyb3NzRG9tYWluQWNjZXNzRXJyb3JNZXNzYWdlKGNvbnN0IERPTVdpbmRv
dyYgYWN0aXZlV2luZG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggOTI5NzgxYS4uZWZh
MTBlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0zNCw2ICszNCwxMCBAQAogI2luY2x1
ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KIAorbmFtZXNwYWNl
IEluc3BlY3RvciB7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2s7Cit9CisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEJhclByb3A7CkBAIC02NSw3ICs2OSw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBQb3N0TWVzc2FnZVRpbWVyOwogICAgIGNsYXNzIFNjaGVkdWxl
ZEFjdGlvbjsKICAgICBjbGFzcyBTY3JlZW47Ci0gICAgY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwog
ICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTsKICAgICBjbGFzcyBTdG9yYWdlOwpAQCAtMjM5LDcgKzI0Miw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgLy8gTmVlZGVkIGZvciBPYmplY3RpdmUtQyBiaW5kaW5ncyAoc2VlIGJ1
ZyAyODc3NCkuCiAgICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IG1lc3NhZ2UsIE1lc3NhZ2VQb3J0KiwgY29uc3QgU3RyaW5nJiB0YXJnZXRP
cmlnaW4sIERPTVdpbmRvdyYgc291cmNlLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgIHZvaWQg
cG9zdE1lc3NhZ2VUaW1lckZpcmVkKFBhc3NPd25QdHI8UG9zdE1lc3NhZ2VUaW1lcj4pOwotICAg
ICAgICB2b2lkIGRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKFNlY3VyaXR5T3Jp
Z2luKiBpbnRlbmRlZFRhcmdldE9yaWdpbiwgUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgICAgIHZvaWQgZGlzcGF0Y2hNZXNzYWdlRXZlbnRXaXRo
T3JpZ2luQ2hlY2soU2VjdXJpdHlPcmlnaW4qIGludGVuZGVkVGFyZ2V0T3JpZ2luLCBQYXNzUmVm
UHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4pOwogCiAg
ICAgICAgIHZvaWQgc2Nyb2xsQnkoaW50IHgsIGludCB5KSBjb25zdDsKICAgICAgICAgdm9pZCBz
Y3JvbGxUbyhpbnQgeCwgaW50IHkpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNw
cAppbmRleCA0Y2NmYmUzLi5lMWQ5NTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNw
cApAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCi0jaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgpAQCAtMjI4LDcgKzIyNyw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVS
ZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwCiAgICAg
ICAgICAgICBtZXNzYWdlLmFwcGVuZChjaGFyc2V0KTsKICAgICAgICAgICAgIG1lc3NhZ2UuYXBw
ZW5kTGl0ZXJhbCgiXCIpIHRoYXQgaXMgbm90IFVURi04LiBBYm9ydGluZyB0aGUgY29ubmVjdGlv
bi4iKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlzc2luZyB0aGUgc291cmNlIGxp
bmUuCi0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UudG9TdHJpbmco
KSk7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLnRvU3Ry
aW5nKCkpOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gVG8ga2VlcCB0aGUg
c2lnbmFsLXRvLW5vaXNlIHJhdGlvIGxvdywgd2Ugb25seSBsb2cgMjAwLXJlc3BvbnNlIHdpdGgg
YW4gaW52YWxpZCBNSU1FIHR5cGUuCkBAIC0yMzgsNyArMjM3LDcgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3AKICAgICAgICAgICAgIG1lc3NhZ2UuYXBwZW5kKHJlc3BvbnNlLm1pbWVUeXBlKCkp
OwogICAgICAgICAgICAgbWVzc2FnZS5hcHBlbmRMaXRlcmFsKCJcIikgdGhhdCBpcyBub3QgXCJ0
ZXh0L2V2ZW50LXN0cmVhbVwiLiBBYm9ydGluZyB0aGUgY29ubmVjdGlvbi4iKTsKICAgICAgICAg
ICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlzc2luZyB0aGUgc291cmNlIGxpbmUuCi0gICAgICAgICAg
ICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UudG9TdHJpbmcoKSk7CisgICAgICAgICAg
ICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLnRvU3RyaW5nKCkpOwogICAgICAg
ICB9CiAgICAgfQogCkBAIC0yOTAsNyArMjg5LDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlkRmFp
bChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIHZvaWQgRXZlbnRTb3VyY2U6OmRpZEZhaWxB
Y2Nlc3NDb250cm9sQ2hlY2soY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7CiAgICAgU3Ry
aW5nIG1lc3NhZ2UgPSBtYWtlU3RyaW5nKCJFdmVudFNvdXJjZSBjYW5ub3QgbG9hZCAiLCBlcnJv
ci5mYWlsaW5nVVJMKCksICIuICIsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkpOwotICAg
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVs
OjpFcnJvciwgbWVzc2FnZSk7CiAKICAgICBhYm9ydENvbm5lY3Rpb25BdHRlbXB0KCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCmluZGV4IDI5MTRjYmIuLjQ0MGY3OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCkBAIC0zMSwyNCArMzEsMjUgQEAKIAogI2luY2x1
ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgotI2luY2x1ZGUgIkNvbnNv
bGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlSW5z
dHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRl
ICJTY3JpcHRBcmd1bWVudHMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNs
dWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3Vt
ZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9T
Y3JpcHRWYWx1ZS5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KKyNpbmNs
dWRlIDxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1Nj
cmlwdENhbGxTdGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0
b3J5Lmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBJbnNw
ZWN0b3I7CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIHsKQEAgLTgwLDM0ICs4
MSwzNCBAQCB2b2lkIFBhZ2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZp
eChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZQogewogICAgIGNvbnN0IGNoYXIqIHNvdXJj
ZVN0cmluZzsKICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJj
ZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlhNTDoKICAgICAgICAgc291cmNlU3RyaW5nID0g
IlhNTCI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSlNNZXNzYWdlU291cmNlOgorICAgIGNh
c2UgTWVzc2FnZVNvdXJjZTo6SlM6CiAgICAgICAgIHNvdXJjZVN0cmluZyA9ICJKUyI7CiAgICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTmV0d29ya01lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNz
YWdlU291cmNlOjpOZXR3b3JrOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAiTkVUV09SSyI7CiAg
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2U6CisgICAgY2Fz
ZSBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAiQ09O
U09MRSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3RvcmFnZU1lc3NhZ2VTb3VyY2U6Cisg
ICAgY2FzZSBNZXNzYWdlU291cmNlOjpTdG9yYWdlOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAi
U1RPUkFHRSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQXBwQ2FjaGVNZXNzYWdlU291cmNl
OgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGU6CiAgICAgICAgIHNvdXJjZVN0cmlu
ZyA9ICJBUFBDQUNIRSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUmVuZGVyaW5nTWVzc2Fn
ZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlJlbmRlcmluZzoKICAgICAgICAgc291
cmNlU3RyaW5nID0gIlJFTkRFUklORyI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ1NTTWVz
c2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkNTUzoKICAgICAgICAgc291cmNl
U3RyaW5nID0gIkNTUyI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgU2VjdXJpdHlNZXNzYWdl
U291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHk6CiAgICAgICAgIHNvdXJj
ZVN0cmluZyA9ICJTRUNVUklUWSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgT3RoZXJNZXNz
YWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6T3RoZXI6CiAgICAgICAgIHNvdXJj
ZVN0cmluZyA9ICJPVEhFUiI7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC0xMTgs
MTYgKzExOSwxNiBAQCB2b2lkIFBhZ2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZl
bFByZWZpeChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZQogCiAgICAgY29uc3QgY2hhciog
bGV2ZWxTdHJpbmc7CiAgICAgc3dpdGNoIChsZXZlbCkgewotICAgIGNhc2UgRGVidWdNZXNzYWdl
TGV2ZWw6CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkRlYnVnOgogICAgICAgICBsZXZlbFN0cmlu
ZyA9ICJERUJVRyI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgTG9nTWVzc2FnZUxldmVsOgor
ICAgIGNhc2UgTWVzc2FnZUxldmVsOjpMb2c6CiAgICAgICAgIGxldmVsU3RyaW5nID0gIkxPRyI7
CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgV2FybmluZ01lc3NhZ2VMZXZlbDoKKyAgICBjYXNl
IE1lc3NhZ2VMZXZlbDo6V2FybmluZzoKICAgICAgICAgbGV2ZWxTdHJpbmcgPSAiV0FSTiI7CiAg
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgRXJyb3JNZXNzYWdlTGV2ZWw6CisgICAgY2FzZSBNZXNz
YWdlTGV2ZWw6OkVycm9yOgogICAgICAgICBsZXZlbFN0cmluZyA9ICJFUlJPUiI7CiAgICAgICAg
IGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC0xNDcsNiArMTQ4LDcgQEAgdm9pZCBQYWdlQ29uc29s
ZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBj
b25zdCBTdHIKICAgICBTdHJpbmcgdXJsOwogICAgIGlmIChkb2N1bWVudCkKICAgICAgICAgdXJs
ID0gZG9jdW1lbnQtPnVybCgpLnN0cmluZygpOworCiAgICAgLy8gRklYTUU6IFRoZSBiZWxvdyBj
b2RlIGF0dGVtcHRzIHRvIGRldGVybWluZSBsaW5lIG51bWJlcnMgZm9yIHBhcnNlciBnZW5lcmF0
ZWQgZXJyb3JzLCBidXQgdGhpcyBpcyBub3QgdGhlIG9ubHkgcmVhc29uIHdoeSB3ZSBjYW4gZ2V0
IGhlcmUuCiAgICAgLy8gRm9yIGV4YW1wbGUsIGlmIHdlIGFyZSBzdGlsbCBwYXJzaW5nIGFuZCBn
ZXQgYSBXZWJTb2NrZXQgbmV0d29yayBlcnJvciwgaXQgd2lsbCBiZSBlcnJvbmVvdXNseSBhdHRy
aWJ1dGVkIHRvIGEgbGluZSB3aGVyZSBwYXJzaW5nIHdhcyBwYXVzZWQuCiAgICAgLy8gQWxzbywg
d2Ugc2hvdWxkIGRldGVybWluZSBsaW5lIG51bWJlcnMgZm9yIHNjcmlwdCBnZW5lcmF0ZWQgbWVz
c2FnZXMgKGUuZy4gY2FsbGluZyBnZXRJbWFnZURhdGEgb24gYSBjYW52YXMpLgpAQCAtMTYyLDcg
KzE2NCw3IEBAIHZvaWQgUGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyCiAgICAgICAgICAgICBjb2x1bW4gPSBw
b3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpOwogICAgICAgICB9CiAgICAgfQotICAgIGFk
ZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgdXJsLCBsaW5lLCBjb2x1bW4sIDAsIDAs
IHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3Nh
Z2UsIHVybCwgbGluZSwgY29sdW1uLCAwLCBKU01haW5UaHJlYWRFeGVjU3RhdGU6OmN1cnJlbnRT
dGF0ZSgpLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAKIHZvaWQgUGFnZUNvbnNvbGU6OmFkZE1l
c3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQpAQCAt
MTcyLDE1ICsxNzQsMTUgQEAgdm9pZCBQYWdlQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291
cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHIKIAogdm9pZCBQYWdlQ29u
c29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgdXJsLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiBjYWxsU3RhY2ssIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0
SWRlbnRpZmllcikKIHsKLSAgICBpZiAobXV0ZUNvdW50ICYmIHNvdXJjZSAhPSBDb25zb2xlQVBJ
TWVzc2FnZVNvdXJjZSkKKyAgICBpZiAobXV0ZUNvdW50ICYmIHNvdXJjZSAhPSBNZXNzYWdlU291
cmNlOjpDb25zb2xlQVBJKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoY2FsbFN0YWNrKQot
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoJm1f
cGFnZSwgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywg
cmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoJm1fcGFnZSwgc291cmNlLCBNZXNzYWdlVHlwZTo6TG9nLCBsZXZl
bCwgbWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgZWxzZQotICAg
ICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoJm1fcGFn
ZSwgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZU51bWJl
ciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoJm1fcGFnZSwgc291cmNl
LCBNZXNzYWdlVHlwZTo6TG9nLCBsZXZlbCwgbWVzc2FnZSwgdXJsLCBsaW5lTnVtYmVyLCBjb2x1
bW5OdW1iZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CiAKLSAgICBpZiAoc291cmNlID09
IENTU01lc3NhZ2VTb3VyY2UpCisgICAgaWYgKHNvdXJjZSA9PSBNZXNzYWdlU291cmNlOjpDU1Mp
CiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChtX3BhZ2Uuc2V0dGluZ3MoKS5wcml2YXRlQnJv
d3NpbmdFbmFibGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25z
b2xlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmgKaW5kZXggOWE3MGU1NC4u
NWFiNzEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuaApAQCAtMjksOCArMjksOCBAQAog
I2lmbmRlZiBQYWdlQ29uc29sZV9oCiAjZGVmaW5lIFBhZ2VDb25zb2xlX2gKIAotI2luY2x1ZGUg
IkNvbnNvbGVUeXBlcy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgorI2luY2x1ZGUg
PGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogCkBAIC01MSw4ICs1MSw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBwcmlu
dFNvdXJjZVVSTEFuZFBvc2l0aW9uKGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIgPSAwKTsKICAgICBzdGF0aWMgdm9pZCBw
cmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2
ZWwsIGJvb2wgc2hvd0FzVHJhY2UgPSBmYWxzZSk7CiAKLSAgICB2b2lkIGFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1i
ZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIEpTQzo6RXhlY1N0YXRlKiA9IDAs
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKLSAgICB2b2lkIGFkZE1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VT
b3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQ
YXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIEpTQzo6RXhlY1N0YXRl
KiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFk
ZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKICAgICB2b2lkIGFk
ZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwLCBEb2N1bWVudCogPSAwKTsK
IAogICAgIHN0YXRpYyB2b2lkIG11dGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRl
ckxvY2tDb250cm9sbGVyLmNwcAppbmRleCA1ZDZmNWE1Li4yNTk2ZmZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCkBAIC01Niw3ICs1Niw3IEBA
IHZvaWQgUG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2soRWxlbWVudCog
dGFyZ2V0KQogCiAgICAgaWYgKHRhcmdldC0+ZG9jdW1lbnQoKS5pc1NhbmRib3hlZChTYW5kYm94
UG9pbnRlckxvY2spKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJl
IG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24gdG8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMuCi0gICAgICAgIHRhcmdldC0+
ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiQmxvY2tlZCBwb2ludGVyIGxvY2sgb24gYW4gZWxlbWVudCBiZWNhdXNl
IHRoZSBlbGVtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXBvaW50ZXIt
bG9jaycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAgICAgICB0YXJnZXQtPmRvY3VtZW50
KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZl
bDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQmxvY2tlZCBwb2ludGVyIGxvY2sgb24gYW4gZWxlbWVu
dCBiZWNhdXNlIHRoZSBlbGVtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93
LXBvaW50ZXItbG9jaycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpKTsKICAgICAgICAgZW5xdWV1
ZUV2ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRwb2ludGVybG9ja2Vycm9yRXZlbnQsIHRhcmdldCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Jvc3NU
aHJlYWRDb3BpZXIuaAppbmRleCAzZjgxY2EwLi5jYWYyNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmgKQEAgLTY2LDggKzY2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgdHlwZWRlZiBUIFR5cGU7CiAgICAgICAgIH07CiAKLSAg
ICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElzQ29udmVydGlibGVUb0ludGVnZXIg
ewotICAgICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBzdGQ6OmlzX2ludGVncmFs
PFQ+Ojp2YWx1ZSB8fCBzdGQ6OmlzX2NvbnZlcnRpYmxlPFQsIGxvbmcgZG91YmxlPjo6dmFsdWU7
CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc0VudW1PckNvbnZlcnRpYmxl
VG9JbnRlZ2VyIHsKKyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gc3RkOjpp
c19pbnRlZ3JhbDxUPjo6dmFsdWUgfHwgc3RkOjppc19lbnVtPFQ+Ojp2YWx1ZSB8fCBzdGQ6Omlz
X2NvbnZlcnRpYmxlPFQsIGxvbmcgZG91YmxlPjo6dmFsdWU7CiAgICAgICAgIH07CiAKICAgICAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElzVGhyZWFkU2FmZVJlZkNvdW50ZWRQb2lu
dGVyIHsKQEAgLTgzLDcgKzgzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB9CiAg
ICAgfTsKIAotICAgIHRlbXBsYXRlPGJvb2wgaXNDb252ZXJ0aWJsZVRvSW50ZWdlciwgYm9vbCBp
c1RocmVhZFNhZmVSZWZDb3VudGVkLCB0eXBlbmFtZSBUPiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3Bp
ZXJCYXNlOworICAgIHRlbXBsYXRlPGJvb2wgaXNFbnVtT3JDb252ZXJ0aWJsZVRvSW50ZWdlciwg
Ym9vbCBpc1RocmVhZFNhZmVSZWZDb3VudGVkLCB0eXBlbmFtZSBUPiBzdHJ1Y3QgQ3Jvc3NUaHJl
YWRDb3BpZXJCYXNlOwogCiAgICAgLy8gSW50ZWdlcnMgZ2V0IHBhc3NlZCB0aHJvdWdoIHdpdGhv
dXQgYW55IGNoYW5nZXMuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IENyb3NzVGhy
ZWFkQ29waWVyQmFzZTx0cnVlLCBmYWxzZSwgVD4gOiBwdWJsaWMgQ3Jvc3NUaHJlYWRDb3BpZXJQ
YXNzVGhyb3VnaDxUPiB7CkBAIC0xOTksNyArMTk5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
I2VuZGlmCiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIHN0cnVjdCBDcm9zc1RocmVh
ZENvcGllciA6IHB1YmxpYyBDcm9zc1RocmVhZENvcGllckJhc2U8Q3Jvc3NUaHJlYWRDb3BpZXJC
YXNlSGVscGVyOjpJc0NvbnZlcnRpYmxlVG9JbnRlZ2VyPFQ+Ojp2YWx1ZSwgQ3Jvc3NUaHJlYWRD
b3BpZXJCYXNlSGVscGVyOjpJc1RocmVhZFNhZmVSZWZDb3VudGVkUG9pbnRlcjxUPjo6dmFsdWUs
IFQ+IHsKKyAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3BpZXIgOiBwdWJsaWMgQ3Jvc3NUaHJlYWRD
b3BpZXJCYXNlPENyb3NzVGhyZWFkQ29waWVyQmFzZUhlbHBlcjo6SXNFbnVtT3JDb252ZXJ0aWJs
ZVRvSW50ZWdlcjxUPjo6dmFsdWUsIENyb3NzVGhyZWFkQ29waWVyQmFzZUhlbHBlcjo6SXNUaHJl
YWRTYWZlUmVmQ291bnRlZFBvaW50ZXI8VD46OnZhbHVlLCBUPiB7CiAgICAgfTsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzV3JhcHBlciB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlSW5mby5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlSW5mby5jcHAKaW5kZXgg
NzhkZmY5OS4uZGZkZTI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3No
YXBlcy9TaGFwZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMv
U2hhcGVJbmZvLmNwcApAQCAtNTAsNyArNTAsNyBAQCBib29sIGNoZWNrU2hhcGVJbWFnZU9yaWdp
bihEb2N1bWVudCYgZG9jdW1lbnQsIENhY2hlZEltYWdlJiBjYWNoZWRJbWFnZSkKIAogICAgIGNv
bnN0IFVSTCYgdXJsID0gY2FjaGVkSW1hZ2UudXJsKCk7CiAgICAgU3RyaW5nIHVybFN0cmluZyA9
IHVybC5pc051bGwoKSA/ICInJyIgOiB1cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3Ro
KCk7Ci0gICAgZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMICIgKyB1cmxT
dHJpbmcgKyAiLiIpOworICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiVW5zYWZlIGF0dGVtcHQgdG8gbG9h
ZCBVUkwgIiArIHVybFN0cmluZyArICIuIik7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCmluZGV4IDY1NWIyYTEu
LmE2MDVlNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVu
c2lvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMu
Y3BwCkBAIC0xMzMsMTcgKzEzMywxNyBAQCB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6ZGlz
cGF0Y2hTVkdMb2FkRXZlbnRUb091dGVybW9zdFNWR0VsZW1lbnRzKCkKIHN0YXRpYyB2b2lkIHJl
cG9ydE1lc3NhZ2UoRG9jdW1lbnQqIGRvY3VtZW50LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBpZiAoZG9jdW1lbnQtPmZyYW1lKCkpCi0gICAgICAg
IGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBsZXZl
bCwgbWVzc2FnZSk7CisgICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpSZW5kZXJpbmcsIGxldmVsLCBtZXNzYWdlKTsKIH0KIAogdm9pZCBTVkdEb2N1bWVu
dEV4dGVuc2lvbnM6OnJlcG9ydFdhcm5pbmcoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAg
IHJlcG9ydE1lc3NhZ2UobV9kb2N1bWVudCwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIldhcm5pbmc6
ICIgKyBtZXNzYWdlKTsKKyAgICByZXBvcnRNZXNzYWdlKG1fZG9jdW1lbnQsIE1lc3NhZ2VMZXZl
bDo6V2FybmluZywgIldhcm5pbmc6ICIgKyBtZXNzYWdlKTsKIH0KIAogdm9pZCBTVkdEb2N1bWVu
dEV4dGVuc2lvbnM6OnJlcG9ydEVycm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBy
ZXBvcnRNZXNzYWdlKG1fZG9jdW1lbnQsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3I6ICIgKyBt
ZXNzYWdlKTsKKyAgICByZXBvcnRNZXNzYWdlKG1fZG9jdW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJy
b3IsICJFcnJvcjogIiArIG1lc3NhZ2UpOwogfQogCiB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9u
czo6YWRkUGVuZGluZ1Jlc291cmNlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIEVsZW1lbnQqIGVs
ZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggN2Q4ZWZjNS4uNmY2
MmQ1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTcsNyArNTcsNiBA
QAogI2luY2x1ZGUgIkhpc3RvcnlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSGlzdG9yeUl0ZW0u
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25z
b2xlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yQ291bnRlcnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGb3J3YXJkaW5nLmgiCkBA
IC02NSw4ICs2NCw4IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2Vu
dHMuaCIKLSNpbmNsdWRlICJJbnRlcm5hbFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5o
IgorI2luY2x1ZGUgIkludGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJMYW5ndWFnZS5oIgog
I2luY2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIk1hbGxvY1N0YXRpc3RpY3MuaCIKQEAg
LTk1LDYgKzk0LDcgQEAKICNpbmNsdWRlICJUcmVlU2NvcGUuaCIKICNpbmNsdWRlICJUeXBlQ29u
dmVyc2lvbnMuaCIKICNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgorI2luY2x1ZGUgIldl
YkNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPGJ5
dGVjb2RlL0NvZGVCbG9jay5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJh
c2UuaD4KQEAgLTE0MjcsOSArMTQyNywxMSBAQCBWZWN0b3I8U3RyaW5nPiBJbnRlcm5hbHM6OmNv
bnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMoKSBjb25zdAogICAgIEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKGRvY3VtZW50
LT5wYWdlKCkpOwogICAgIGlmICghaW5zdHJ1bWVudGluZ0FnZW50cykKICAgICAgICAgcmV0dXJu
IFZlY3RvcjxTdHJpbmc+KCk7Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdl
bnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKTsKKworICAg
IEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+d2ViQ29uc29sZUFnZW50KCk7CiAgICAgaWYgKCFjb25zb2xlQWdlbnQpCiAgICAgICAgIHJl
dHVybiBWZWN0b3I8U3RyaW5nPigpOworCiAgICAgVmVjdG9yPHVuc2lnbmVkPiBjb3VudHMgPSBj
b25zb2xlQWdlbnQtPmNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMoKTsKICAgICBWZWN0b3I8
U3RyaW5nPiByZXN1bHQoY291bnRzLnNpemUoKSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBjb3VudHMuc2l6ZSgpOyBpKyspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCmluZGV4IGE2NGE0YzkuLmQzYTM2
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuY3BwCkBAIC00NCw3ICs0NCw2IEBACiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmF0ZWdpZXMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luSGFzaC5oIgogI2luY2x1ZGUg
IlNoYXJlZFdvcmtlci5oIgpAQCAtNTYsNiArNTUsNyBAQAogI2luY2x1ZGUgIldvcmtlclJlcG9y
dGluZ1Byb3h5LmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSAi
V29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5oPgogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCAxMzhiZmFjLi4yM2YyZmE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNw
cApAQCAtMzgsOSArMzgsOSBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJN
ZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgIlNj
cmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAi
U2hhcmVkV29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTgwLDEwICs4MCwxMCBAQCBTaGFyZWRX
b3JrZXJUaHJlYWQqIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjp0aHJlYWQoKQogICAgIHJldHVy
biBzdGF0aWNfY2FzdDxTaGFyZWRXb3JrZXJUaHJlYWQqPihCYXNlOjp0aHJlYWQoKSk7CiB9CiAK
LXZvaWQgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrKQordm9pZCBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6bG9nRXhjZXB0aW9uVG9Db25z
b2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
aW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpT
Y3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKICAgICBXb3JrZXJHbG9iYWxTY29wZTo6bG9n
RXhjZXB0aW9uVG9Db25zb2xlKGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBj
b2x1bW5OdW1iZXIsIGNhbGxTdGFjayk7Ci0gICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVS
TCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBjYWxsU3RhY2spOworICAgIGFkZE1lc3NhZ2VU
b1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGVy
cm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNhbGxTdGFj
ayk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCBjZTY4NzAyLi5jMTQ3MTdiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5o
CkBAIC02MCw3ICs2MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHByaXZhdGU6CiAg
ICAgICAgIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
VVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRp
bmdzPiwgU2hhcmVkV29ya2VyVGhyZWFkKik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNl
cHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYg
c291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+KSBvdmVycmlkZTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2Vw
dGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPElu
c3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPikgb3ZlcnJpZGU7CiAKICAgICAgICAgU3RyaW5nIG1f
bmFtZTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmNwcAppbmRleCAyODg5MjM2Li5hYjE5OThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtMjEsMTIgKzIxLDExIEBACiAgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogICoKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KICNpbmNsdWRlICJXb3JrZXJHbG9i
YWxTY29wZS5oIgogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCkBAIC0zOSwxMyArMzgs
MTIgQEAKICNpbmNsdWRlICJFdmVudEV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5j
bHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgogI2luY2x1ZGUgIlNjaGVkdWxlZEFjdGlvbi5oIgotI2luY2x1ZGUgIlNjcmlw
dENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIldvcmtlckluc3Bl
Y3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXb3JrZXJMb2NhdGlvbi5oIgogI2luY2x1ZGUg
Ildvcmtlck5hdmlnYXRvci5oIgpAQCAtNTUsMTIgKzUzLDE1IEBACiAjaW5jbHVkZSAiV29ya2Vy
VGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgi
CiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiAjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRl
ICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNlbmRpZgogCit1c2luZyBuYW1lc3BhY2UgSW5zcGVj
dG9yOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENsb3NlV29ya2VyR2xvYmFsU2Nv
cGVUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewpAQCAtMjc1LDkg
KzI3Niw5IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNv
bGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMCiB7CiAgICAgQVNTRVJUKGlzQ29udGV4
dFRocmVhZCgpKTsKICAgICBpZiAoY2FsbFN0YWNrKQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291
cmNlLCBNZXNzYWdlVHlwZTo6TG9nLCBsZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0
SWRlbnRpZmllcik7CiAgICAgZWxzZQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVx
dWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1l
c3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNlLCBNZXNzYWdlVHlwZTo6TG9nLCBsZXZlbCwgbWVz
c2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHN0YXRlLCByZXF1ZXN0
SWRlbnRpZmllcik7CiB9CiAKIGJvb2wgV29ya2VyR2xvYmFsU2NvcGU6OmlzQ29udGV4dFRocmVh
ZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5k
ZXggNTgxOTk2NS4uZTRlMWI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuaApAQCAtMTM5LDggKzEzOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdzPiwgV29ya2VyVGhyZWFkKiwgUGFzc1JlZlB0
cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKTsKICAgICAgICAgdm9pZCBhcHBseUNvbnRlbnRT
ZWN1cml0eVBvbGljeUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSk7CiAKLSAgICAgICAgdmlydHVh
bCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVy
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pIG92ZXJyaWRlOwotICAgICAgICB2b2lkIGFk
ZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiwgSlNDOjpFeGVjU3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDApOworICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1i
ZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3Rh
Y2s+KSBvdmVycmlkZTsKKyAgICAgICAgdm9pZCBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBT
dHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVt
YmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgSlNDOjpFeGVjU3Rh
dGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogCiAgICAgcHJp
dmF0ZToKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBv
dmVycmlkZSB7IHJlZigpOyB9CkBAIC0xNDksNyArMTQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7
IHJlZigpOyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJp
ZGUgZmluYWwgeyBkZXJlZigpOyB9CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5O
dW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgSlNDOjpFeGVjU3RhdGUqID0gMCwg
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApIG92ZXJyaWRlOworICAgICAgICB2
aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlw
dENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIgPSAwKSBvdmVycmlkZTsKIAogICAgICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBl
cnJvckV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggMzI0Y2Q4OS4uNTc1ZmYyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTI2
LDE0ICsyNiwxMyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQogI2luY2x1ZGUgIldv
cmtlck1lc3NhZ2luZ1Byb3h5LmgiCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3ku
aCIKICNpbmNsdWRlICJDcm9zc1RocmVhZFRhc2suaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIK
ICNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkRlZGlj
YXRlZFdvcmtlclRocmVhZC5oIgotI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRXJyb3JFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCkBA
IC00MywxMiArNDIsMTMgQEAKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgotI2luY2x1ZGUgIlNjcmlw
dENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNs
dWRlICJXb3JrZXIuaCIKICNpbmNsdWRlICJXb3JrZXJEZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVk
ZSAiV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25z
b2xlVHlwZXMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmg+Cisj
aW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9NYWlu
VGhyZWFkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaAppbmRleCA2MWE2NjExLi4wMDNkMGUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oCkBAIC0zMSw3ICsz
MSw3IEBACiAjaWZuZGVmIFdvcmtlclJlcG9ydGluZ1Byb3h5X2gKICNkZWZpbmUgV29ya2VyUmVw
b3J0aW5nUHJveHlfaAogCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCisjaW5jbHVkZSA8aW5z
cGVjdG9yL0NvbnNvbGVUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IGM0
YWNiZTcuLjgxNjc3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAt
NDMsNyArNDMsNiBAQAogI2luY2x1ZGUgIlBhcnNlZENvbnRlbnRUeXBlLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgotI2luY2x1ZGUg
IlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTE2MCw3ICsx
NTksNyBAQCBzdGF0aWMgdm9pZCBsb2dDb25zb2xlRXJyb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBtZXNzYQogICAgICAgICByZXR1cm47CiAgICAgLy8g
RklYTUU6IEl0J3Mgbm90IGdvb2QgdG8gcmVwb3J0IHRoZSBiYWQgdXNhZ2Ugd2l0aG91dCBpbmRp
Y2F0aW5nIHdoYXQgc291cmNlIGxpbmUgaXQgY2FtZSBmcm9tLgogICAgIC8vIFdlIHNob3VsZCBw
YXNzIGFkZGl0aW9uYWwgcGFyYW1ldGVycyBzbyB3ZSBjYW4gdGVsbCB0aGUgY29uc29sZSB3aGVy
ZSB0aGUgbWlzdGFrZSBvY2N1cnJlZC4KLSAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBjb250ZXh0
LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJv
ciwgbWVzc2FnZSk7CiB9CiAKIFBhc3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IFhNTEh0dHBSZXF1
ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKQEAgLTcxMyw3ICs3
MTIsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKERPTUZvcm1EYXRhKiBib2R5LCBFeGNl
cHRpb25Db2RlJiBlYykKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNlbmQoQXJyYXlCdWZmZXIqIGJv
ZHksIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFN0cmluZyBjb25zb2xlTWVzc2FnZSgiQXJy
YXlCdWZmZXIgaXMgZGVwcmVjYXRlZCBpbiBYTUxIdHRwUmVxdWVzdC5zZW5kKCkuIFVzZSBBcnJh
eUJ1ZmZlclZpZXcgaW5zdGVhZC4iKTsKLSAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgY29u
c29sZU1lc3NhZ2UpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgY29uc29sZU1l
c3NhZ2UpOwogCiAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldl
YkNvcmUuWEhSLnNlbmQuQXJyYXlCdWZmZXJPclZpZXciLCBYTUxIdHRwUmVxdWVzdFNlbmRBcnJh
eUJ1ZmZlciwgWE1MSHR0cFJlcXVlc3RTZW5kQXJyYXlCdWZmZXJPclZpZXdNYXgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwIGIvU291
cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcAppbmRleCA4MDkzMTE4Li4x
YzBkN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhz
bHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAK
QEAgLTg2LDIwICs4NiwyMCBAQCB2b2lkIFhTTFRQcm9jZXNzb3I6OnBhcnNlRXJyb3JGdW5jKHZv
aWQqIHVzZXJEYXRhLCB4bWxFcnJvciogZXJyb3IpCiAgICAgTWVzc2FnZUxldmVsIGxldmVsOwog
ICAgIHN3aXRjaCAoZXJyb3ItPmxldmVsKSB7CiAgICAgY2FzZSBYTUxfRVJSX05PTkU6Ci0gICAg
ICAgIGxldmVsID0gRGVidWdNZXNzYWdlTGV2ZWw7CisgICAgICAgIGxldmVsID0gTWVzc2FnZUxl
dmVsOjpEZWJ1ZzsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBYTUxfRVJSX1dBUk5JTkc6Ci0g
ICAgICAgIGxldmVsID0gV2FybmluZ01lc3NhZ2VMZXZlbDsKKyAgICAgICAgbGV2ZWwgPSBNZXNz
YWdlTGV2ZWw6Oldhcm5pbmc7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgWE1MX0VSUl9FUlJP
UjoKICAgICBjYXNlIFhNTF9FUlJfRkFUQUw6CiAgICAgZGVmYXVsdDoKLSAgICAgICAgbGV2ZWwg
PSBFcnJvck1lc3NhZ2VMZXZlbDsKKyAgICAgICAgbGV2ZWwgPSBNZXNzYWdlTGV2ZWw6OkVycm9y
OwogICAgICAgICBicmVhazsKICAgICB9CiAKICAgICAvLyB4bWxFcnJvci0+aW50MiBpcyB0aGUg
Y29sdW1uIG51bWJlciBvZiB0aGUgZXJyb3Igb3IgMCBpZiBOL0EuCi0gICAgY29uc29sZS0+YWRk
TWVzc2FnZShYTUxNZXNzYWdlU291cmNlLCBsZXZlbCwgZXJyb3ItPm1lc3NhZ2UsIGVycm9yLT5m
aWxlLCBlcnJvci0+bGluZSwgZXJyb3ItPmludDIpOworICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6WE1MLCBsZXZlbCwgZXJyb3ItPm1lc3NhZ2UsIGVycm9yLT5maWxlLCBl
cnJvci0+bGluZSwgZXJyb3ItPmludDIpOwogfQogCiAvLyBGSVhNRTogVGhlcmUgc2VlbXMgdG8g
YmUgbm8gd2F5IHRvIGNvbnRyb2wgdGhlIGN0eHQgcG9pbnRlciBmb3IgbG9hZGluZyBoZXJlLCB0
aHVzIHdlIGhhdmUgZ2xvYmFscy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGUzMGYzYTAu
LjM0OGRmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0
LTAyLTAzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL0luc3BlY3RvckpTQmFja2VuZENvbW1hbmRzLmpzOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzOgorICAgICAgICBDb25zb2xl
QWdlbnQgbW92ZWQgdG8gSmF2YVNjcmlwdCBzZWN0aW9uLgorCiAyMDE0LTAxLTMwICBUaW1vdGh5
IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBTaG93IHByb2ZpbGUgZGF0
YSBpbiB0aGUgZGlzY3JldGUgU2NyaXB0cyB0aW1lbGluZSB2aWV3LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9ySlNCYWNrZW5kQ29tbWFu
ZHMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JKU0Jh
Y2tlbmRDb21tYW5kcy5qcwppbmRleCAyMzRiZDY5Li5mMzhkZmVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JKU0JhY2tlbmRDb21tYW5k
cy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JK
U0JhY2tlbmRDb21tYW5kcy5qcwpAQCAtNiw2ICs2LDIxIEBACiAvLyBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgogCiAKKy8vIENvbnNvbGUuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29u
c29sZURpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hl
ci5iaW5kKEluc3BlY3RvckJhY2tlbmQsICJDb25zb2xlIik7CitJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyRW51bSgiQ29uc29sZS5Db25zb2xlTWVzc2FnZVNvdXJjZSIsIHtYTUw6ICJ4bWwiLCBK
YXZhc2NyaXB0OiAiamF2YXNjcmlwdCIsIE5ldHdvcms6ICJuZXR3b3JrIiwgQ29uc29sZUFQSTog
ImNvbnNvbGUtYXBpIiwgU3RvcmFnZTogInN0b3JhZ2UiLCBBcHBjYWNoZTogImFwcGNhY2hlIiwg
UmVuZGVyaW5nOiAicmVuZGVyaW5nIiwgQ1NTOiAiY3NzIiwgU2VjdXJpdHk6ICJzZWN1cml0eSIs
IE90aGVyOiAib3RoZXIifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiQ29uc29s
ZS5Db25zb2xlTWVzc2FnZUxldmVsIiwge0xvZzogImxvZyIsIFdhcm5pbmc6ICJ3YXJuaW5nIiwg
RXJyb3I6ICJlcnJvciIsIERlYnVnOiAiZGVidWcifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyRW51bSgiQ29uc29sZS5Db25zb2xlTWVzc2FnZVR5cGUiLCB7TG9nOiAibG9nIiwgRGlyOiAi
ZGlyIiwgRGlyWE1MOiAiZGlyeG1sIiwgVGFibGU6ICJ0YWJsZSIsIFRyYWNlOiAidHJhY2UiLCBD
bGVhcjogImNsZWFyIiwgU3RhcnRHcm91cDogInN0YXJ0R3JvdXAiLCBTdGFydEdyb3VwQ29sbGFw
c2VkOiAic3RhcnRHcm91cENvbGxhcHNlZCIsIEVuZEdyb3VwOiAiZW5kR3JvdXAiLCBBc3NlcnQ6
ICJhc3NlcnQiLCBUaW1pbmc6ICJ0aW1pbmciLCBQcm9maWxlOiAicHJvZmlsZSIsIFByb2ZpbGVF
bmQ6ICJwcm9maWxlRW5kIn0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJDb25z
b2xlLm1lc3NhZ2VBZGRlZCIsIFsibWVzc2FnZSJdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJFdmVudCgiQ29uc29sZS5tZXNzYWdlUmVwZWF0Q291bnRVcGRhdGVkIiwgWyJjb3VudCJdKTsK
K0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiQ29uc29sZS5tZXNzYWdlc0NsZWFyZWQi
LCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5lbmFibGUi
LCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuZGlz
YWJsZSIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29s
ZS5jbGVhck1lc3NhZ2VzIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21t
YW5kKCJDb25zb2xlLnNldE1vbml0b3JpbmdYSFJFbmFibGVkIiwgW3sibmFtZSI6ICJlbmFibGVk
IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKK0luc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmFkZEluc3BlY3RlZE5vZGUiLCBbeyJu
YW1lIjogIm5vZGVJZCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtd
KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmFkZEluc3BlY3Rl
ZEhlYXBPYmplY3QiLCBbeyJuYW1lIjogImhlYXBPYmplY3RJZCIsICJ0eXBlIjogIm51bWJlciIs
ICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKKwogLy8gRGVidWdnZXIuCiBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiRGVidWdnZXIiKTsKIElu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJEZWJ1Z2dlci5CcmVha3BvaW50QWN0aW9uVHlw
ZSIsIHtMb2c6ICJsb2ciLCBFdmFsdWF0ZTogImV2YWx1YXRlIiwgU291bmQ6ICJzb3VuZCIsIFBy
b2JlOiAicHJvYmUifSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMKaW5kZXgg
MWIzYTMxNS4uODY0MTY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcwpA
QCAtNjMsMjEgKzYzLDYgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNhbnZh
cy5yZXBsYXlUcmFjZUxvZyIsIFt7Im5hbWUiOiAidHJhY2VMb2dJZCIKIEluc3BlY3RvckJhY2tl
bmQucmVnaXN0ZXJDb21tYW5kKCJDYW52YXMuZ2V0UmVzb3VyY2VJbmZvIiwgW3sibmFtZSI6ICJy
ZXNvdXJjZUlkIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgWyJyZXNv
dXJjZUluZm8iXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ2FudmFzLmdl
dFJlc291cmNlU3RhdGUiLCBbeyJuYW1lIjogInRyYWNlTG9nSWQiLCAidHlwZSI6ICJzdHJpbmci
LCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJyZXNvdXJjZUlkIiwgInR5cGUiOiAic3Ry
aW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgWyJyZXNvdXJjZVN0YXRlIl0pOwogCi0vLyBDb25z
b2xlLgotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbnNvbGVEaXNwYXRjaGVyID0gSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5k
LCAiQ29uc29sZSIpOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29u
c29sZU1lc3NhZ2VTb3VyY2UiLCB7WE1MOiAieG1sIiwgSmF2YXNjcmlwdDogImphdmFzY3JpcHQi
LCBOZXR3b3JrOiAibmV0d29yayIsIENvbnNvbGVBUEk6ICJjb25zb2xlLWFwaSIsIFN0b3JhZ2U6
ICJzdG9yYWdlIiwgQXBwY2FjaGU6ICJhcHBjYWNoZSIsIFJlbmRlcmluZzogInJlbmRlcmluZyIs
IENTUzogImNzcyIsIFNlY3VyaXR5OiAic2VjdXJpdHkiLCBPdGhlcjogIm90aGVyIn0pOwotSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29sZU1lc3NhZ2VMZXZlbCIs
IHtMb2c6ICJsb2ciLCBXYXJuaW5nOiAid2FybmluZyIsIEVycm9yOiAiZXJyb3IiLCBEZWJ1Zzog
ImRlYnVnIn0pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29s
ZU1lc3NhZ2VUeXBlIiwge0xvZzogImxvZyIsIERpcjogImRpciIsIERpclhNTDogImRpcnhtbCIs
IFRhYmxlOiAidGFibGUiLCBUcmFjZTogInRyYWNlIiwgQ2xlYXI6ICJjbGVhciIsIFN0YXJ0R3Jv
dXA6ICJzdGFydEdyb3VwIiwgU3RhcnRHcm91cENvbGxhcHNlZDogInN0YXJ0R3JvdXBDb2xsYXBz
ZWQiLCBFbmRHcm91cDogImVuZEdyb3VwIiwgQXNzZXJ0OiAiYXNzZXJ0IiwgVGltaW5nOiAidGlt
aW5nIiwgUHJvZmlsZTogInByb2ZpbGUiLCBQcm9maWxlRW5kOiAicHJvZmlsZUVuZCJ9KTsKLUlu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiQ29uc29sZS5tZXNzYWdlQWRkZWQiLCBbIm1l
c3NhZ2UiXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2Fn
ZVJlcGVhdENvdW50VXBkYXRlZCIsIFsiY291bnQiXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZXNDbGVhcmVkIiwgW10pOwotSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuZW5hYmxlIiwgW10sIFtdKTsKLUluc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmRpc2FibGUiLCBbXSwgW10pOwotSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuY2xlYXJNZXNzYWdlcyIsIFtdLCBb
XSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5zZXRNb25pdG9y
aW5nWEhSRW5hYmxlZCIsIFt7Im5hbWUiOiAiZW5hYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAi
b3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFu
ZCgiQ29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIiwgW3sibmFtZSI6ICJub2RlSWQiLCAidHlwZSI6
ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ29tbWFuZCgiQ29uc29sZS5hZGRJbnNwZWN0ZWRIZWFwT2JqZWN0IiwgW3sibmFtZSI6
ICJoZWFwT2JqZWN0SWQiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBb
XSk7Ci0KIC8vIERPTS4KIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJET01EaXNwYXRjaGVyID0g
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JC
YWNrZW5kLCAiRE9NIik7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkRPTS5kb2N1
bWVudFVwZGF0ZWQiLCBbXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggYmVmY2VhZC4uM2QxMDg2YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVj
b3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRk
IENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VU
b0NvbnNvbGUpOgorCiAyMDE0LTAxLTMxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlh
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXhpbmcgdGhlIEdUSyBidWlsZCBhZnRlciBy
MTYzMjMyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEd0ay5jcHAKaW5kZXggZjYxZjlkYS4uYWVlMWI5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC0zNjIs
NyArMzYyLDcgQEAgYm9vbCBDaHJvbWVDbGllbnQ6OnJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5l
bChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgV2ViQ28KICAgICByZXR1cm4gcnVuSmF2YVNj
cmlwdENvbmZpcm0oZnJhbWUsIG1lc3NhZ2UpOwogfQogCi12b2lkIENocm9tZUNsaWVudDo6YWRk
TWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlIHNvdXJjZSwgV2ViQ29yZTo6
TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
bGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291
cmNlSWQpCit2b2lkIENocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShJbnNwZWN0b3I6
Ok1lc3NhZ2VTb3VyY2Ugc291cmNlLCBJbnNwZWN0b3I6Ok1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNv
bHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlkKQogewogICAgIGdib29sZWFu
IHJldHZhbDsKICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUobV93ZWJWaWV3LCAiY29uc29sZS1t
ZXNzYWdlIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpLCBsaW5lTnVtYmVyLCBzb3VyY2VJZC51dGY4
KCkuZGF0YSgpLCAmcmV0dmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA5ZTliZGQwLi41MjYwNGQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQ
ZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
ZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5t
bToKKyAgICAgICAgKHN0cmluZ0Zvck1lc3NhZ2VTb3VyY2UpOgorICAgICAgICAoc3RyaW5nRm9y
TWVzc2FnZUxldmVsKToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29u
c29sZSk6CisKIDIwMTQtMDItMDMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAg
ICAgICAgIEZlYXR1cmUgZmxhZyBmb3Igc2hhcGUtaW5zaWRlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDMzYTc0MDQuLjI4
NmVmNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCkBAIC03LDEzICs3LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKiAz
LiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9y
IHRoZSBuYW1lcyBvZgogICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KICAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtMzUsOSAr
MzUsNiBAQAogI2ltcG9ydCA8d3RmL1BsYXRmb3JtLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ2hyb21lLmg+Ci0KLXVzaW5nIFdlYkNvcmU6Ok1l
c3NhZ2VMZXZlbDsKLXVzaW5nIFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2U7CiAjZW5kaWYKIAogQGNs
YXNzIFdlYlZpZXc7CkBAIC04Miw3ICs3OSw3IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFs
IHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpIG92ZXJyaWRlOwogICAgIAotICAgIHZpcnR1YWwgdm9p
ZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1l
c3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZVVSTCkg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoSW5zcGVjdG9y
OjpNZXNzYWdlU291cmNlLCBJbnNwZWN0b3I6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJp
bmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwg
Y29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZVVSTCkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGJv
b2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVz
c2FnZSwgV2ViQ29yZTo6RnJhbWUqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCA3ODczOTE3Li40ZjIz
MTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lm1tCkBAIC03LDEzICs3LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKiAz
LiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9y
IHRoZSBuYW1lcyBvZgogICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KICAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtMzcwLDI1
ICszNzAsMjUgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNldFJlc2l6YWJsZShib29sIGIpCiBp
bmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlU291cmNlKE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlKQogewogICAgIHN3aXRjaCAoc291cmNlKSB7Ci0gICAgY2FzZSBYTUxNZXNzYWdl
U291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6WE1MOgogICAgICAgICByZXR1cm4gV2Vi
Q29uc29sZU1lc3NhZ2VYTUxNZXNzYWdlU291cmNlOwotICAgIGNhc2UgSlNNZXNzYWdlU291cmNl
OgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6SlM6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xl
TWVzc2FnZUpTTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIE5ldHdvcmtNZXNzYWdlU291cmNlOgor
ICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6TmV0d29yazoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNv
bGVNZXNzYWdlTmV0d29ya01lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBDb25zb2xlQVBJTWVzc2Fn
ZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEk6CiAgICAgICAgIHJl
dHVybiBXZWJDb25zb2xlTWVzc2FnZUNvbnNvbGVBUElNZXNzYWdlU291cmNlOwotICAgIGNhc2Ug
U3RvcmFnZU1lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpTdG9yYWdlOgog
ICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VTdG9yYWdlTWVzc2FnZVNvdXJjZTsKLSAg
ICBjYXNlIEFwcENhY2hlTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkFw
cENhY2hlOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VBcHBDYWNoZU1lc3NhZ2VT
b3VyY2U7Ci0gICAgY2FzZSBSZW5kZXJpbmdNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2Fn
ZVNvdXJjZTo6UmVuZGVyaW5nOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VSZW5k
ZXJpbmdNZXNzYWdlU291cmNlOwotICAgIGNhc2UgQ1NTTWVzc2FnZVNvdXJjZToKKyAgICBjYXNl
IE1lc3NhZ2VTb3VyY2U6OkNTUzoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQ1NT
TWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIFNlY3VyaXR5TWVzc2FnZVNvdXJjZToKKyAgICBjYXNl
IE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5OgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3Nh
Z2VTZWN1cml0eU1lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBPdGhlck1lc3NhZ2VTb3VyY2U6Cisg
ICAgY2FzZSBNZXNzYWdlU291cmNlOjpPdGhlcjoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVN
ZXNzYWdlT3RoZXJNZXNzYWdlU291cmNlOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKQEAgLTM5OCwyMCArMzk4LDIwIEBAIGlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zv
ck1lc3NhZ2VTb3VyY2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UpCiBpbmxpbmUgc3RhdGljIE5TU3Ry
aW5nICpzdHJpbmdGb3JNZXNzYWdlTGV2ZWwoTWVzc2FnZUxldmVsIGxldmVsKQogewogICAgIHN3
aXRjaCAobGV2ZWwpIHsKLSAgICBjYXNlIERlYnVnTWVzc2FnZUxldmVsOgorICAgIGNhc2UgTWVz
c2FnZUxldmVsOjpEZWJ1ZzoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlRGVidWdN
ZXNzYWdlTGV2ZWw7Ci0gICAgY2FzZSBMb2dNZXNzYWdlTGV2ZWw6CisgICAgY2FzZSBNZXNzYWdl
TGV2ZWw6OkxvZzoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlTG9nTWVzc2FnZUxl
dmVsOwotICAgIGNhc2UgV2FybmluZ01lc3NhZ2VMZXZlbDoKKyAgICBjYXNlIE1lc3NhZ2VMZXZl
bDo6V2FybmluZzoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlV2FybmluZ01lc3Nh
Z2VMZXZlbDsKLSAgICBjYXNlIEVycm9yTWVzc2FnZUxldmVsOgorICAgIGNhc2UgTWVzc2FnZUxl
dmVsOjpFcnJvcjoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlRXJyb3JNZXNzYWdl
TGV2ZWw7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBAIiI7
CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
dW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29s
ZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7CiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBpZCBkZWxl
Z2F0ZSA9IFttX3dlYlZpZXcgVUlEZWxlZ2F0ZV07CkBAIC00MzIsNyArNDMyLDcgQEAgdm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VMZXZlbCBsZXYKICAgICAgICAgcmVzcG9uZHNUb05ld1NlbGVjdG9yID0gWUVTOwog
ICAgIGVsc2UgewogICAgICAgICAvLyBUaGUgb2xkIHNlbGVjdG9yIG9ubHkgdGFrZXMgSlNNZXNz
YWdlU291cmNlIG1lc3NhZ2VzLgotICAgICAgICBpZiAoc291cmNlICE9IEpTTWVzc2FnZVNvdXJj
ZSkKKyAgICAgICAgaWYgKHNvdXJjZSAhPSBNZXNzYWdlU291cmNlOjpKUykKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgc2VsZWN0b3IgPSBAc2VsZWN0b3Iod2ViVmlldzphZGRNZXNzYWdl
VG9Db25zb2xlOik7CiAgICAgICAgIGlmICghW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3Rvcjpz
ZWxlY3Rvcl0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggODEzYTlmYi4uMDNlMmU2NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVjb3Jhcm8gIDxw
ZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIENvbnNvbGUg
c3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aDoKKwogMjAxNC0wMi0wMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgVHJ5IHRvIGZpeCB0aGUgV2luQ2Fpcm8gYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDhhZGI5MTEuLmU2NWNk
OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCkBAIC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBz
ZXRSZXNpemFibGUoYm9vbCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29s
ZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdU
Rjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5O
dW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiB1cmwpOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNz
YWdlVG9Db25zb2xlKEluc3BlY3Rvcjo6TWVzc2FnZVNvdXJjZSwgSW5zcGVjdG9yOjpNZXNzYWdl
TGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1
bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiB1cmwpOwogCiAgICAgdmly
dHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwogICAgIHZpcnR1YWwg
Ym9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcmIG1lc3Nh
Z2UsIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IDg3ZDY0
NGEuLjg4Y2M5NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTQt
MDItMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6CisKIDIwMTQtMDEtMzAgIEFuZHJlaSBCdWN1
ciAgPGFidWN1ckBhZG9iZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBBQ0NFTEVSQVRFRF9D
T01QT1NJVElORyBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKaW5kZXggMWFjOTA2Mi4uNzU5OGRiMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5D
RS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
V2luQ0UuaApAQCAtNzUsNyArNzUsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0
UmVzaXphYmxlKGJvb2wpIG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VU
b0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBj
b25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQg
Y29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSUQpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKEluc3BlY3Rvcjo6TWVzc2FnZVNvdXJj
ZSwgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1
bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdURjo6U3Ry
aW5nJiBzb3VyY2VJRCkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9y
ZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6
RnJhbWUqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5MWE4YmE4Li4yYjZiZGE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBw
b3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lmg6CisKIDIwMTQtMDItMDMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgog
CiAgICAgICAgIEZlYXR1cmUgZmxhZyBmb3Igc2hhcGUtaW5zaWRlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAppbmRleCBiNzUzMWQxLi40N2NjZjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTkwLDcg
KzkwLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJv
b2wpIG92ZXJyaWRlOwogICAgIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xl
KFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIs
IGNvbnN0IFN0cmluZyYgc291cmNlSUQpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBhZGRN
ZXNzYWdlVG9Db25zb2xlKEluc3BlY3Rvcjo6TWVzc2FnZVNvdXJjZSwgSW5zcGVjdG9yOjpNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5z
aWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKSBvdmVycmlkZTsKICAg
ICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCkgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223077</attachid>
            <date>2014-02-03 23:53:11 -0800</date>
            <delta_ts>2014-02-06 12:00:51 -0800</delta_ts>
            <desc>[PATCH] For Bots 4</desc>
            <filename>for-bots-4.patch</filename>
            <type>text/plain</type>
            <size>384504</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjZDZhMWM1Li45NTdjNTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rv
ci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFtZU9wdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAg
IFVwZGF0ZSB3aXRoIGJldHRlciBsaW5lL2NvbHVtbiBudW1iZXJzIG5vdy4KKwogMjAxNC0wMi0w
MyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgTmVlZCByZWdyZXNz
aW9uIHRlc3QgZm9yIHRoZSBkZWJ1Z2dlciBtb2RpZnlpbmcgbG9jYWxzIGluIGEgREZHIGZyYW1l
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3BhZ2UvZGVueS1Y
LUZyYW1lT3B0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2Nv
bC9wYWdlL2RlbnktWC1GcmFtZU9wdGlvbi1leHBlY3RlZC50eHQKaW5kZXggODM1MjIyMy4uYzFm
NjE2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3BhZ2UvZGVu
eS1YLUZyYW1lT3B0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
cHJvdG9jb2wvcGFnZS9kZW55LVgtRnJhbWVPcHRpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGRpc3BsYXkgJ2RlbnktWC1GcmFtZU9w
dGlvbi5odG1sJyBpbiBhIGZyYW1lIGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlvbnMnIHRv
ICdkZW55Jy4KIAotZGVueS1YLUZyYW1lT3B0aW9uLmh0bWw6MDowCitkZW55LVgtRnJhbWVPcHRp
b24uaHRtbDozMDoxNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWM4
NDczMy4uMDMxNzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlz
dHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjI3
LDcgKzIyNyw5IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaGVhcC9Xcml0ZUJh
cnJpZXJCdWZmZXIuY3BwCiAgICAgaGVhcC9Xcml0ZUJhcnJpZXJTdXBwb3J0LmNwcAogCisgICAg
aW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAogICAgIGluc3BlY3Rvci9Db250ZW50U2VhcmNo
VXRpbGl0aWVzLmNwcAorICAgIGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwCiAgICAg
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcAogICAgIGluc3BlY3Rvci9JbmplY3RlZFNjcmlw
dEJhc2UuY3BwCiAgICAgaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTI0MSw4
ICsyNDMsMTMgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAogICAgIGluc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJh
bWVQcm90b3R5cGUuY3BwCiAgICAgaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCisg
ICAgaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5jcHAKKyAgICBpbnNwZWN0b3IvU2NyaXB0Q2Fs
bEZyYW1lLmNwcAorICAgIGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwCisgICAgaW5zcGVj
dG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCiAgICAgaW5zcGVjdG9yL1NjcmlwdERlYnVn
U2VydmVyLmNwcAogICAgIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCisgICAg
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yUnVudGltZUFnZW50LmNwcAogCkBAIC03OTUsNiArODAyLDcgQEAgQUREX1NPVVJD
RV9ERVBFTkRFTkNJRVMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3BhcnNlci9MZXhlci5j
cHAgJHtERVJJVkVEX1MKIHNldChKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfU0NSSVBUU19ESVIg
IiR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3Ivc2NyaXB0cyIpCiAKIHNldChKYXZhU2Ny
aXB0Q29yZV9JTlNQRUNUT1JfRE9NQUlOUworICAgIGluc3BlY3Rvci9wcm90b2NvbC9Db25zb2xl
Lmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbgogICAgIGluc3BlY3Rv
ci9wcm90b2NvbC9HZW5lcmljVHlwZXMuanNvbgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9JbnNw
ZWN0b3JEb21haW4uanNvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggZmNiZWVlYi4uYjEy
YTIyZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTQtMDIt
MDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFr
ZWZpbGUuYW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgICogSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkIG5ldyBm
aWxlcy4KKworICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50
LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25z
b2xlQWdlbnQuY3BwLgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29s
ZUFnZW50Lmg6IEFkZGVkLgorICAgICAgICBOZXcgYWdlbnQgbW92ZWQgZnJvbSBXZWJDb3JlLiBS
ZW5hbWUgYSBtZXRob2QgdG8gd29yayBpbiBKUyBvbmx5IGNvbnRleHQuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICBJbnN0YW50aWF0ZSBDb25zb2xlQWdl
bnQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFn
ZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRT
Y3JpcHRIb3N0LmguCisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENv
bnNvbGVBZ2VudC5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdl
SW5qZWN0ZWRTY3JpcHRIb3N0LmguCisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0
Q29uc29sZUFnZW50OjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudCk6CisgICAgICAgIChJbnNw
ZWN0b3I6OkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50OjpzZXRNb25pdG9yaW5nWEhSRW5hYmxl
ZCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50OjphZGRJ
bnNwZWN0ZWROb2RlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RDb25zb2xl
QWdlbnQ6OmFkZEluc3BlY3RlZEhlYXBPYmplY3QpOgorICAgICAgICBKU0dsb2JhbE9iamVjdCBp
bXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmpl
Y3REZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9i
amVjdERlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVj
dERlYnVnZ2VyQWdlbnQ6OkpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudCk6CisgICAgICAgIChJ
bnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxv
Zyk6CisgICAgICAgIFVzZSBDb25zb2xlQWdlbnQgdG8gcmVwb3J0IGxvZ3MuCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcC4KKyAgICAgICAgKiBpbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25z
b2xlTWVzc2FnZS5oLgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oLgorICAgICAg
ICAqIGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAuCisgICAgICAgICogaW5z
cGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oLgorICAgICAgICAqIGluc3BlY3Rvci9TY3Jp
cHRBcmd1bWVudHMuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Nj
cmlwdEFyZ3VtZW50cy5jcHAuCisgICAgICAgICogaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5o
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5o
LgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAuCisgICAgICAgICog
aW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oLgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRD
YWxsU3RhY2suY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5jcHAuCisgICAgICAgICogaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oOiBS
ZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oLgor
ICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3Bw
LgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmgu
CisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbjogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24uCisgICAgICAg
ICogaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHk6
CisKIDIwMTQtMDItMDMgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBMaWZ0IHRoZSBGVEwgdGllci11cCB0aHJlc2hvbGQgZnJvbSAyNTAwMCB0byAxMDAwMDAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTE1NmU5Ny4uNjAy
NzQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTgz
LDYgKzgzLDcgQEAgdWRpczg2X2l0YWIuaDogJChKYXZhU2NyaXB0Q29yZSkvZGlzYXNzZW1ibGVy
L3VkaXM4Ni9pdGFiLnB5ICQoSmF2YVNjcmlwdENvcmUpL2QKICMgSW5zcGVjdG9yIGludGVyZmFj
ZXMKIAogSU5TUEVDVE9SX0RPTUFJTlMgPSBcCisgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVj
dG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVj
dG9yL3Byb3RvY29sL0RlYnVnZ2VyLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3Bl
Y3Rvci9wcm90b2NvbC9HZW5lcmljVHlwZXMuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkv
aW5zcGVjdG9yL3Byb3RvY29sL0luc3BlY3RvckRvbWFpbi5qc29uIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5hbQppbmRleCBmZTU0NDhkLi5jYzNiYzE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMDIsNiArMjAyLDcgQEAgRVhUUkFfRElTVCArPSBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS9MSUNFTlNFIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaWN1L1JFQURNRSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdFNvdXJjZS5qcyBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90
b2NvbC9Db25zb2xlLmpzb24gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJv
dG9jb2wvRGVidWdnZXIuanNvbiBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9w
cm90b2NvbC9HZW5lcmljVHlwZXMuanNvbiBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbiBcCkBAIC0yNDMsNiArMjQ0LDcgQEAg
ZW5kaWYKICMgSW5zcGVjdG9yIEludGVyZmFjZXMKIAogSmF2YVNjcmlwdENvcmVfSU5TUEVDVE9S
X0RPTUFJTlMgOj0gXAorICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9D
b25zb2xlLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9E
ZWJ1Z2dlci5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wv
R2VuZXJpY1R5cGVzLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90
b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbiBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCmluZGV4IGY2NThlOGMuLjc3NDIzMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC02MzAsOCArNjMwLDEzIEBAIGphdmFzY3JpcHRj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dGZf
b2xkLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dHlwZXMuaCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3V2ZXJzaW9uLmggXAorCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwIFwKKwlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmggXAorCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAgXAogCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5oIFwKKwlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAgXAorCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmggXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmggXAogCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNlLmNwcCBcCkBAIC02NjIsMTYgKzY2
NywyNiBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIFwKIAlTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaCBcCisJU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwIFwKKwlTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEJyZWFrcG9pbnQuaCBcCisJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIFwKKwlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAgXAorCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgXAorCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5jcHAgXAogCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaCBcCi0JU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwIFwK
LQlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckFnZW50LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCBcCi0JU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50Lmgg
XAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVn
Z2VyQWdlbnQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yUnVudGltZUFnZW50LmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9BYnN0cmFjdFBDLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0Fic3RyYWN0UEMuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0NhY2hlZENhbGwuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpp
bmRleCBjODQ0ZTM3Li4yZTc3MDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZj
eHByb2oKQEAgLTQ3Niw3ICs0NzYsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caGVh
cFxXZWFrU2V0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGhlYXBcV3JpdGVC
YXJyaWVyQnVmZmVyLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGhlYXBcV3Jp
dGVCYXJyaWVyU3VwcG9ydC5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcQ29uc29sZU1lc3NhZ2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwIiAvPgorICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXElkZW50aWZpZXJzRmFjdG9yeS5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHQuY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0QmFzZS5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRI
b3N0LmNwcCIgLz4KQEAgLTQ5MCw4ICs0OTIsMTMgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSmF2YVNjcmlwdENh
bGxGcmFtZS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2Ny
aXB0QXJndW1lbnRzLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3Rv
clxTY3JpcHRDYWxsRnJhbWUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXFNjcmlwdENhbGxTdGFjay5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIiAvPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JBZ2VudC5jcHAi
IC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3Rv
ckNvbnNvbGVBZ2VudC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW50ZXJwcmV0ZXJcQWJzdHJhY3RQQy5jcHAi
IC8+CkBAIC0xMDUzLDcgKzEwNjAsMTAgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGhl
YXBcV2Vha1NldElubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGhlYXBc
V3JpdGVCYXJyaWVyQnVmZmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxoZWFw
XFdyaXRlQmFycmllclN1cHBvcnQuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxDb25zb2xlTWVzc2FnZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXENvbnNvbGVUeXBlcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdC5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0QmFzZS5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0SG9zdC5oIiAv
PgpAQCAtMTA3MSwxMCArMTA4MSwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEphdmFTY3JpcHRDYWxsRnJhbWUuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRBcmd1bWVudHMu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRCcmVha3Bv
aW50LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2Fs
bEZyYW1lLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0
Q2FsbFN0YWNrLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXFNjcmlwdERlYnVnTGlzdGVuZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxTY3JpcHREZWJ1Z1NlcnZlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JBZ2VudC5oIiAvPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JDb25zb2xlQWdlbnQu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVj
dG9yRGVidWdnZXJBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXGFnZW50c1xJbnNwZWN0b3JSdW50aW1lQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGludGVycHJldGVyXEFic3RyYWN0UEMuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZDk5NjMwOC4uYWU4NjFlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTEwMDksNiArMTAwOSwyMyBAQAogCQlBNUNFRUUxNDE4N0YzQkFEMDBFNTVDOTkg
LyogSW5zcGVjdG9yQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVDRUVFMTIxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmNw
cCAqLzsgfTsKIAkJQTVDRUVFMTUxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUNFRUUxMzE4
N0YzQkFEMDBFNTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNUQwQTFCQjE4NjIzMDFCMDBDN0I0OTYgLyog
SW5zcGVjdG9yRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1RDBBMUJBMTg2MjMwMUIwMEM3QjQ5NiAvKiBJbnNwZWN0b3JFbnZpcm9u
bWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE1RkQwMDY3MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNjUxODlBRkU5QzAw
NjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi87IH07CisJCUE1RkQwMDY4MTg5QUZFOUMw
MDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDY2MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1
bWVudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlBNUZEMDA2RDE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDY5MTg5QjAwQTkw
MDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OworCQlBNUZEMDA2RTE4OUIwMEFB
MDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2QTE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bEZyYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQTVGRDAwNkYxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2QjE4OUIwMEE5
MDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLzsgfTsKKwkJQTVGRDAwNzAxODlCMDBB
QTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNkMxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENh
bGxTdGFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUE1RkQwMDc0MTg5QjAzOEMwMDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDcxMTg5QjAzOEMwMDYz
MzIzMSAvKiBDb25zb2xlVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBNUZEMDA3NTE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNG
YWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1RkQwMDcyMTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovOyB9
OworCQlBNUZEMDA3NjE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3MzE4OUIw
MzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNzkxODlCMDUxMDAwNjMzMjMxIC8q
IENvbnNvbGVNZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1RkQwMDc3MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5jcHAg
Ki87IH07CisJCUE1RkQwMDdBMTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNzgxODlC
MDUxMDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwN0QxODlCMEI0QzAwNjMzMjMxIC8qIFNj
cmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTVGRDAwN0IxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuY3BwICovOyB9OworCQlBNUZEMDA3RTE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVGRDAwN0MxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlB
NUZEMDA4MTE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDdGMTg5QjE5
MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwICovOyB9OworCQlBNUZEMDA4
MjE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA4MDE4OUIxOTFBMDA2MzMy
MzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwODUxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xv
YmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1RkQwMDgzMTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVj
dENvbnNvbGVBZ2VudC5jcHAgKi87IH07CisJCUE1RkQwMDg2MTg5QjFCN0UwMDYzMzIzMSAvKiBK
U0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwODQxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2Jq
ZWN0Q29uc29sZUFnZW50LmggKi87IH07CiAJCUE3MDA4NzM5MTdDQkU4NTMwMEMzRTY0MyAvKiBN
YXBDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzAwODczNzE3Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuY3BwICov
OyB9OwogCQlBNzAwODczQTE3Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MDA4NzM4MTdDQkU4
NTMwMEMzRTY0MyAvKiBNYXBDb25zdHJ1Y3Rvci5oICovOyB9OwogCQlBNzAwODczRDE3Q0JFOEQz
MDBDM0U2NDMgLyogTWFwUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE3MDA4NzNCMTdDQkU4RDMwMEMzRTY0MyAvKiBNYXBQcm90b3R5
cGUuY3BwICovOyB9OwpAQCAtMjQ1MCw2ICsyNDY3LDIzIEBACiAJCUE1Q0VFRTEyMTg3RjNCQUQw
MEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJbnNwZWN0b3JBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE1Q0VFRTEzMTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JBZ2VudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBNUQwQTFCQTE4NjIzMDFCMDBDN0I0OTYgLyogSW5zcGVjdG9yRW52
aXJvbm1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRW52
aXJvbm1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNjUxODlBRkU5
QzAwNjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTY3JpcHRBcmd1bWVudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNUZEMDA2NjE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEFyZ3VtZW50cy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA2OTE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0
Q2FsbEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlw
dENhbGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDZBMTg5
QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU2NyaXB0Q2FsbEZyYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE1RkQwMDZCMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbFN0YWNrLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNkMxODlCMDBBQTAwNjMzMjMxIC8qIFNj
cmlwdENhbGxTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRD
YWxsU3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzExODlCMDM4
QzAwNjMzMjMxIC8qIENvbnNvbGVUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDb25zb2xlVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAw
NzIxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3MzE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRp
ZmllcnNGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElkZW50aWZp
ZXJzRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3NzE4OUIw
NTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQ29uc29sZU1lc3NhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNUZEMDA3ODE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29uc29sZU1lc3NhZ2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwN0IxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENh
bGxTdGFja0ZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE1RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwN0YxODlCMTkxQTAwNjMzMjMxIC8q
IEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNUZEMDA4MDE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckNvbnNvbGVBZ2Vu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA4MzE4OUIxQjdFMDA2MzMy
MzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA4NDE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9i
YWxPYmplY3RDb25zb2xlQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTcwMDg3MzcxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0cnVjdG9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hcENvbnN0cnVjdG9yLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcwMDg3MzgxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENv
bnN0cnVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hcENvbnN0cnVj
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MDA4NzNCMTdDQkU4RDMwMEMz
RTY0MyAvKiBNYXBQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTWFwUHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0
NzQsMTAgKzQ1MDgsMTQgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUE1Q0VFRTEyMTg3RjNCQUQw
MEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5jcHAgKi8sCiAJCQkJQTVDRUVFMTMxODdGM0JBRDAw
RTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmggKi8sCisJCQkJQTVGRDAwN0YxODlCMTkxQTAwNjMz
MjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8sCisJCQkJQTVGRDAwODAxODlCMTkx
QTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oICovLAogCQkJCUE1N0QyM0UzMTg5
MENFQkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCAqLywKIAkJCQlBNTdE
MjNFNDE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oICovLAogCQkJ
CUE1MEU0QjVEMTg4MDlERDUwMDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwICov
LAogCQkJCUE1MEU0QjVFMTg4MDlERDUwMDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQu
aCAqLywKKwkJCQlBNUZEMDA4MzE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25z
b2xlQWdlbnQuY3BwICovLAorCQkJCUE1RkQwMDg0MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2Jh
bE9iamVjdENvbnNvbGVBZ2VudC5oICovLAogCQkJCUE1N0QyM0U3MTg5MUIwNzcwMDMxQzdGQSAv
KiBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwICovLAogCQkJCUE1N0QyM0U4MTg5MUIw
NzcwMDMxQzdGQSAvKiBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaCAqLywKIAkJCQlBNTBF
NEI1RjE4ODA5REQ1MDA2OEE0NkQgLyogSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwICov
LApAQCAtNDUyMCwxMCArNDU1OCwxNSBAQAogCQkJCUE1MTNFNUNDMTg1RkI5OTIwMDdFOTVBRCAv
KiBhZ2VudHMgKi8sCiAJCQkJQTVCQTE1RTAxODIzNDA5RDAwQTgyRTY5IC8qIHJlbW90ZSAqLywK
IAkJCQlBNTMyNDM4RTE4NTY5NkNFMDAyRUQ2OTIgLyogc2NyaXB0cyAqLywKKwkJCQlBNUZEMDA3
NzE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwICovLAorCQkJCUE1RkQwMDc4
MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oICovLAorCQkJCUE1RkQwMDcxMTg5
QjAzOEMwMDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCAqLywKIAkJCQlBNTdEMjNFRjE4OTFCNUI0
MDAzMUM3RkEgLyogQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAgKi8sCiAJCQkJQTU3RDIzRjAx
ODkxQjVCNDAwMzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaCAqLywKIAkJCQlBNTQ5
ODIwMTE4OTFEMEIwMDA4MUU1QjggLyogRXZlbnRMb29wLmNwcCAqLywKIAkJCQlBNTQ5ODIwMjE4
OTFEMEIwMDA4MUU1QjggLyogRXZlbnRMb29wLmggKi8sCisJCQkJQTVGRDAwNzIxODlCMDM4QzAw
NjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgKi8sCisJCQkJQTVGRDAwNzMxODlCMDM4
QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oICovLAogCQkJCUE1MTNFNUI1MTg1QjhC
RDMwMDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5jcHAgKi8sCiAJCQkJQTUxM0U1QjYxODVCOEJE
MzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0LmggKi8sCiAJCQkJQTUxNEIyQzAxODVBNjg0NDAw
RjNDN0NCIC8qIEluamVjdGVkU2NyaXB0QmFzZS5jcHAgKi8sCkBAIC00NTU5LDcgKzQ2MDIsMTUg
QEAKIAkJCQlBNTAzRkExODE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
UHJvdG90eXBlLmggKi8sCiAJCQkJQTUwM0ZBMTMxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3Jp
cHRDYWxsRnJhbWUuY3BwICovLAogCQkJCUE1MDNGQTE0MTg4RTBGQUYwMDExMEYxNCAvKiBKYXZh
U2NyaXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJQTVGRDAwNjUxODlBRkU5QzAwNjMzMjMxIC8qIFNj
cmlwdEFyZ3VtZW50cy5jcHAgKi8sCisJCQkJQTVGRDAwNjYxODlBRkU5QzAwNjMzMjMxIC8qIFNj
cmlwdEFyZ3VtZW50cy5oICovLAogCQkJCUE1MDNGQTFGMTg4RUZGNjgwMDExMEYxNCAvKiBTY3Jp
cHRCcmVha3BvaW50LmggKi8sCisJCQkJQTVGRDAwNjkxODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlw
dENhbGxGcmFtZS5jcHAgKi8sCisJCQkJQTVGRDAwNkExODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlw
dENhbGxGcmFtZS5oICovLAorCQkJCUE1RkQwMDZCMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRD
YWxsU3RhY2suY3BwICovLAorCQkJCUE1RkQwMDZDMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRD
YWxsU3RhY2suaCAqLywKKwkJCQlBNUZEMDA3QjE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5jcHAgKi8sCisJCQkJQTVGRDAwN0MxODlCMEI0QzAwNjMzMjMxIC8qIFNj
cmlwdENhbGxTdGFja0ZhY3RvcnkuaCAqLywKIAkJCQlBNTAzRkEyMDE4OEVGRjY4MDAxMTBGMTQg
LyogU2NyaXB0RGVidWdMaXN0ZW5lci5oICovLAogCQkJCUE1MDNGQTIzMTg4RUZGRkQwMDExMEYx
NCAvKiBTY3JpcHREZWJ1Z1NlcnZlci5jcHAgKi8sCiAJCQkJQTUwM0ZBMjQxODhFRkZGRDAwMTEw
RjE0IC8qIFNjcmlwdERlYnVnU2VydmVyLmggKi8sCkBAIC00NzE1LDYgKzQ3NjYsNyBAQAogCQkJ
CTBGNkIxQ0M2MTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExVbndpbmRJbmZvLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDMjIzOUQxODE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUMyMjM5RDE5MTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGlu
ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDdBMTg5QjA1MTAwMDYzMzIzMSAvKiBDb25z
b2xlTWVzc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzIxOEQxNDAxNjU1Q0ZENTAwNjJCQjgx
IC8qIENvcHlXb3JrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNURFNkU1QjMwRTE3MjhFQzAw
MTgwNDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0MjZBNEIx
NDYwQ0Q2RTAwMTMxRjhGIC8qIERhdGFGb3JtYXQuaCBpbiBIZWFkZXJzICovLApAQCAtNDc1MSw2
ICs0ODAzLDcgQEAKIAkJCQkwRkZCOTIxQTE2RDAyRUM1MDA1NUE1REIgLyogREZHQmFzaWNCbG9j
a0lubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3MEIwODMzMTdBMEI3OUIwMERBRjE0QiAv
KiBERkdCaW5hcnlTd2l0Y2guaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDg5Q0Y0MTdBMEI4Q0Mw
MDc3M0FEOCAvKiBERkdCbG9ja0luc2VydGlvblNldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVG
RDAwNkUxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEY4MzY0QjcxNjRCMEMxMTAwNTMzMjlBIC8qIERGR0JyYW5jaERpcmVjdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTFBMDA5QzAxODMxQTIyRDAwQ0Y4NzExIC8qIE1hY3JvQXNzZW1i
bGVyQVJNNjQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2RUM5REM1MTMyOERGODIwMDJCMkFENyAv
KiBERkdCeXRlQ29kZVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCkBAIC00NzY4LDYgKzQ4MjEsNyBA
QAogCQkJCUE1MDNGQTFFMTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQ
cm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMzhCMDFBMTdDRkU3NTUwMEIxNDREMyAv
KiBERkdDb21waWxhdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGM0IzQTFCMTUzRTY4
RjQwMDNFRDBGRiAvKiBERkdDb25zdGFudEZvbGRpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTVGRDAwODIxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEZCRTBGNzMxNkMxREIwNTAwODJDNUU4IC8qIERGR0NQU1JldGhy
ZWFkaW5nUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDg5Q0Y2MTdBMEI4Q0MwMDc3M0FE
OCAvKiBERkdDcml0aWNhbEVkZ2VCcmVha2luZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RkZGQzk1QTE0RUY5MEE5MDBDNzI1MzIgLyogREZHQ1NFUGhhc2UuaCBpbiBIZWFkZXJzICovLApA
QCAtNDgxNSw2ICs0ODY5LDcgQEAKIAkJCQkwRjJCREM0NTE1MjI4MDFCMDBDRDg5MTAgLyogREZH
TWluaWZpZWRHcmFwaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyRTg5MkQxNkQwMkJBRjAwOUU0
RkQyIC8qIERGR01pbmlmaWVkSUQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkJEQzQ2MTUyMjgw
MjAwMENEODkxMCAvKiBERkdNaW5pZmllZE5vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQw
MDY4MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE3Mzc4MTBFMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg2RUNBM0VBMTMyREVGMUMwMDJCMkFENyAvKiBERkdOb2RlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRkZCOTIxQjE2RDAyRjAxMDA1NUE1REIgLyogREZHTm9kZUFsbG9jYXRv
ci5oIGluIEhlYWRlcnMgKi8sCkBAIC00ODYzLDYgKzQ5MTgsNyBAQAogCQkJCTBGMkJEQzQ4MTUy
MjgwMjkwMENEODkxMCAvKiBERkdWYWx1ZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY2
MjAxNzQxNDNGQ0QzMzAwNjhCNzdDIC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0YS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEZEREJGQjYxNjY2RUVEQTAwQzU1RkVGIC8qIERGR1ZhcmlhYmxlQWNjZXNz
RGF0YUR1bXAuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDc0MTg5QjAzOEMwMDYzMzIzMSAv
KiBDb25zb2xlVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkJEQzQ5MTUyMjgwOTYwMENE
ODkxMCAvKiBERkdWYXJpYWJsZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCREM0QjE1
MjI4MDlEMDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVudFN0cmVhbS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTUxNEIyQzMxODVBNjg0NDAwRjNDN0NCIC8qIEluamVjdGVkU2NyaXB0QmFzZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC00OTEyLDYgKzQ5NjgsNyBAQAogCQkJCTBGRUEwQTI0MTcwOTYwNjkw
MEJCNzIyQyAvKiBGVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RkVBMEEwRTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMSklUQ29kZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTc4QTk3ODExNzk3MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTVGRDAwNzYxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9y
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1QTYyODQxODhDOThENDAwNzJDOURGIC8qIEZUTFZh
bHVlUmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYyQjk2MTcyRTA0QTMwMDdEQkRBNSAv
KiBGVExMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNFRkFFMDE4MDczOEMwMDA0NzJDRTQg
LyogRlRMTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtNTAxMCw2ICs1MDY3LDcgQEAKIAkJ
CQlBN0E0QUUxMDE3OTczQjREMDA1NjEyQjEgLyogSklUU3R1YnNYODZDb21tb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGNUVGOTFGMTY4NzhGN0QwMDNFNUMyNSAvKiBKSVRUaHVua3MuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGQzcxMkUzMTdDRDg3OTMwMDhDQzkzQyAvKiBKSVRUb0RGR0RlZmVy
cmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVGRDAwNzAxODlC
MDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc2
RjU0QTMxM0IyOEFBQjAwRUYyQkNFIC8qIEpJVFdyaXRlQmFycmllci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkMxOEM0MTYwRTE2RjVDRDAwQjM0NDYwIC8qIEpTQWN0aXZhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY2QjFDQjkxODYxMjQ0QzAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tNb2RlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTUxODcsNiArNTI0NSw3IEBACiAJCQkJQkMwMkU5MTEwRTE4MzlE
QjAwMEY5Mjk3IC8qIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMDJFOTEzMEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvclByb3RvdHlwZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZGQjkyMjAxNkQwMzNCNzAwNTVBNURCIC8qIE5vZGVDb25zdHJ1Y3Rv
cnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDdFMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk3RUZGMDA2NDBFQzA1QTlB
MDBBQTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDNGMEUxNkY1
Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDEwRTE2RjVD
RDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKQEAgLTUzMzYs
NiArNTM5NSw3IEBACiAJCQkJQTdBOEFGNDExN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQxNkFycmF5
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NjY3MzlEMzEzQkZERTcxMDAyM0Q4N0MgLyogVWludDE2
V2l0aEZyYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0E4QUY0MjE3QURCNUYzMDA1QUIx
NzQgLyogVWludDMyQXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDg2MTg5QjFCN0Uw
MDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTdBOEFGM0YxN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQ4QXJyYXkuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3QThBRjQwMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OENsYW1wZWRBcnJheS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEY1RjA4Q0YxNDZDNzYzMzAwMDQ3MkE5IC8qIFVuY29uZGl0aW9u
YWxGaW5hbGl6ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNTgwOSw2ICs1ODY5LDcgQEAKIAkJCQlB
NzkwREQ2RjE4MkY0OTk3MDA1ODg4MDcgLyogSlNTZXRJdGVyYXRvci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjYzOTQ1NDE1RDA3MDU1MDA2QTU5N0MgLyogQXJyYXlQcm9maWxlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTE0N0YzOUMwMTA3RUMzNzYwMDQyN0E0OCAvKiBBcnJheVByb3RvdHlw
ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA2RDE4OUIwMEFBMDA2MzMyMzEgLyogU2Ny
aXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjRFNTQwMTdFQTlGNTkwMEFC
QjIxNyAvKiBBc3NlbWJseUhlbHBlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ4MTZFMUIx
NTRDQzU2QzAwQjgwNTRDIC8qIEJsb2NrQWxsb2NhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTE0MjgwODYzMTA3RUMxMUEwMDEzRTdCMiAvKiBCb29sZWFuQ29uc3RydWN0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC01OTYyLDYgKzYwMjMsNyBAQAogCQkJCTE0N0YzOUM4MTA3RUMzNzYwMDQy
N0E0OCAvKiBFcnJvckNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUM5
MTA3RUMzNzYwMDQyN0E0OCAvKiBFcnJvckluc3RhbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTE0N0YzOUNBMTA3RUMzNzYwMDQyN0E0OCAvKiBFcnJvclByb3RvdHlwZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlBNUZEMDA2NzE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE0MjlEODc4MEVEMjFBQ0QwMEI4OTYxOSAvKiBFeGNlcHRp
b25IZWxwZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2Q0EwMzJFMTAzOEU4NDQwMDI4QTYw
OSAvKiBFeGVjdXRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3QjQ4RjQ5MEVFODkzNkYw
MERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTk5
MCw2ICs2MDUyLDcgQEAKIAkJCQlBNzhBOTc4MDE3OTczOEQ1MDA5REY3NDQgLyogRlRMSklURmlu
YWxpemVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOEYyQjk1MTcyRTA0QTAwMDdEQkRBNSAv
KiBGVExMaW5rLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3NERFRjk1MTgyRDk5MTQwMDUyMkMy
MiAvKiBKU01hcEl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQwMDgxMTg5QjE5
MUEwMDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEZDRUZBREYxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGRUEwQTBGMTcwNTEzREIwMEJCNzIyQyAvKiBGVExMb3dlckRGR1RvTExWTS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NS
RW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC02MDc5LDcgKzYxNDIsOSBAQAogCQkJCTg2RTND
NjE2MTY3QkFCRUUwMDZENzYwQSAvKiBKU0NvbnRleHQubW0gaW4gU291cmNlcyAqLywKIAkJCQkx
NEJENUEzMDBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE3MjAyOEI2MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwNzUxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZp
ZXJzRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNTlGODkzOTE4OTFGMjlGMDBENUND
REMgLyogVW5saW5rZWRJbnN0cnVjdGlvblN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlB
NUZEMDA2RjE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGMkI2NkVCMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMkI2NkVEMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJv
dG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3ODgwMTQwMTQ3MUFEOTIwMDQxQjAxNiAv
KiBKU0RhdGVNYXRoLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjE4OCw2ICs2MjUzLDcgQEAKIAkJ
CQkxNDhGMjFCQzEwN0VDNTREMDA0MkVDMkMgLyogUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjlGQzhDMzE0RTFCNUZFMDBENTJBRTAgLyogUG9seW1vcnBoaWNQdXRCeUlk
TGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA4NTE4OUIxQjdFMDA2MzMyMzEgLyog
SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5ODIw
NjAxNkJGRTM4MTAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFyZ2V0cy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5NTc0MkY2NTBERDExRjVBMDAwOTE3RkIgLyogUHJvZmlsZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRkM5N0YzNTE4MjAyMEQ3MDAyQzlCMjYgLyogUHJvZmlsZWRDb2RlQmxvY2tK
ZXR0aXNvbmluZ1dhdGNocG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC02MjM1LDYgKzYzMDEs
NyBAQAogCQkJCUMyMjU0OTQzMTVGN0RCQUEwMDY1RTg5OCAvKiBTbG90VmlzaXRvci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5MzMwNDAyQzBFNkE3NjQwMDA3ODZFNkEgLyogU21hbGxTdHJpbmdz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOEYyQjlFMTczMDZDOEQwMDdEQkRBNSAvKiBTb3Vy
Y2VDb2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQwMDc5MTg5QjA1MTAwMDYzMzIzMSAv
KiBDb25zb2xlTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ5M0FGQTE2RDBDQUQz
MDA4NDUwOEIgLyogU291cmNlUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ5REMx
NkIxMkVGMjkzRTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY2QjFDQzkxODY0MURGODAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tGYWlsUmV0dXJu
VGh1bmtzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjI1Nyw2ICs2MzI0LDcgQEAKIAkJCQlDMkRG
NDQyRjE3MDdBQzAxMDBBNUNBOTYgLyogU3VwZXJSZWdpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEY5MTlEMjgxNTg1Njc3MzAwNEE0RTdEIC8qIFN5bWJvbFRhYmxlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGQzMxNDEzMTgxNDU1OTEwMDAzMzIzMiAvKiBUZW1wUmVnaXN0ZXJTZXQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwN0QxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENh
bGxTdGFja0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZBMkMxN0IxN0Q3Q0Y4NDAw
OUQwMTVGIC8qIFRlc3RSdW5uZXJVdGlscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzM4NjU1
NTExODY5N0I0MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3JzLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTBGMkI2NzA3MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5Q29udHJvbGxlci5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25z
b2xlTWVzc2FnZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVN
ZXNzYWdlLmNwcApzaW1pbGFyaXR5IGluZGV4IDcwJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAppbmRleCBkM2I5M2FjLi41OTdiMTZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3Bw
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4
IE1hdHQgTGlsZWsgPHdlYmtpdEBtYXR0bGlsZWsuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDA5
LCAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMzMsMjEgKzMz
LDE3IEBACiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCi0jaW5jbHVkZSAiQ29uc29sZS5oIgog
I2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgorI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0
LmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiSW5zcGVj
dG9yVmFsdWVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0Q2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAi
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgotI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVl
Lmg+Ci0jaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg+Ci0jaW5jbHVkZSA8aW5z
cGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oPgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuaD4KLSNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgIlNj
cmlwdFZhbHVlLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBDb25zb2xlTWVzc2FnZTo6Q29uc29s
ZU1lc3NhZ2UoYm9vbCBjYW5HZW5lcmF0ZUNhbGxTdGFjaywgTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogICAgIDogbV9zb3VyY2Uoc291
cmNlKQpAQCAtMTE2LDE1ICsxMTIsMTYgQEAgQ29uc29sZU1lc3NhZ2U6On5Db25zb2xlTWVzc2Fn
ZSgpCiB7CiB9CiAKLXZvaWQgQ29uc29sZU1lc3NhZ2U6OmF1dG9nZW5lcmF0ZU1ldGFkYXRhKGJv
b2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSkKKy8vIEZJWE1F
OiBSZW1vdmUgdGhlIGdlbmVyYXRlIHdpdGhvdXQgRXhlY1N0YXRlIHBhdGguIFRoZSBjYWxsZXIg
c2hvdWxkIGFsd2F5cyBwcm92aWRlIGFuIEV4ZWNTdGF0ZS4KK3ZvaWQgQ29uc29sZU1lc3NhZ2U6
OmF1dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wgLypjYW5HZW5lcmF0ZUNhbGxTdGFjayovLCBKU0M6
OkV4ZWNTdGF0ZSogc3RhdGUpCiB7Ci0gICAgaWYgKG1fdHlwZSA9PSBFbmRHcm91cE1lc3NhZ2VU
eXBlKQorICAgIGlmIChtX3R5cGUgPT0gTWVzc2FnZVR5cGU6OkVuZEdyb3VwKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBpZiAoc3RhdGUpCiAgICAgICAgIG1fY2FsbFN0YWNrID0gY3JlYXRlU2Ny
aXB0Q2FsbFN0YWNrRm9yQ29uc29sZShzdGF0ZSk7Ci0gICAgZWxzZSBpZiAoY2FuR2VuZXJhdGVD
YWxsU3RhY2spCi0gICAgICAgIG1fY2FsbFN0YWNrID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKFNj
cmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7CisgICAgLy8g
ZWxzZSBpZiAoY2FuR2VuZXJhdGVDYWxsU3RhY2spCisgICAgLy8gICAgIG1fY2FsbFN0YWNrID0g
Y3JlYXRlU2NyaXB0Q2FsbFN0YWNrKFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRv
Q2FwdHVyZSwgdHJ1ZSk7CiAgICAgZWxzZQogICAgICAgICByZXR1cm47CiAKQEAgLTEzOSwyMCAr
MTM2LDE5IEBAIHZvaWQgQ29uc29sZU1lc3NhZ2U6OmF1dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wg
Y2FuR2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhlY1N0CiAgICAgbV9jYWxsU3RhY2suY2xlYXIo
KTsKIH0KIAotLy8gS2VlcCBpbiBzeW5jIHdpdGggaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xl
Vmlldy5qcwogc3RhdGljIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpTb3VyY2U6OkVudW0gbWVzc2FnZVNvdXJjZVZhbHVlKE1lc3NhZ2VTb3VyY2Ugc291
cmNlKQogewogICAgIHN3aXRjaCAoc291cmNlKSB7Ci0gICAgY2FzZSBYTUxNZXNzYWdlU291cmNl
OiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6
OlNvdXJjZTo6WE1MOwotICAgIGNhc2UgSlNNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6SmF2YXNjcmlw
dDsKLSAgICBjYXNlIE5ldHdvcmtNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBl
QnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6TmV0d29yazsKLSAgICBj
YXNlIENvbnNvbGVBUElNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRl
cjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6Q29uc29sZUFQSTsKLSAgICBjYXNl
IFN0b3JhZ2VNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29u
c29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U3RvcmFnZTsKLSAgICBjYXNlIEFwcENhY2hl
TWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNv
bnNvbGVNZXNzYWdlOjpTb3VyY2U6OkFwcGNhY2hlOwotICAgIGNhc2UgUmVuZGVyaW5nTWVzc2Fn
ZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpTb3VyY2U6OlJlbmRlcmluZzsKLSAgICBjYXNlIENTU01lc3NhZ2VTb3VyY2U6IHJl
dHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291
cmNlOjpDU1M7Ci0gICAgY2FzZSBTZWN1cml0eU1lc3NhZ2VTb3VyY2U6IHJldHVybiBJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpTZWN1cml0
eTsKLSAgICBjYXNlIE90aGVyTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1
aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok90aGVyOworICAgIGNhc2Ug
TWVzc2FnZVNvdXJjZTo6WE1MOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29s
ZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6WE1MOworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6
SlM6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2Fn
ZTo6U291cmNlOjpKYXZhc2NyaXB0OworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6TmV0d29yazog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpT
b3VyY2U6Ok5ldHdvcms7CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJOiByZXR1
cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJj
ZTo6Q29uc29sZUFQSTsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlN0b3JhZ2U6IHJldHVybiBJ
bnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpT
dG9yYWdlOworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGU6IHJldHVybiBJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpBcHBjYWNo
ZTsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlJlbmRlcmluZzogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlJlbmRlcmluZzsK
KyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkNTUzogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxk
ZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkNTUzsKKyAgICBjYXNlIE1lc3Nh
Z2VTb3VyY2U6OlNlY3VyaXR5OiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29s
ZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U2VjdXJpdHk7CisgICAgY2FzZSBNZXNzYWdlU291
cmNlOjpPdGhlcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNv
bGVNZXNzYWdlOjpTb3VyY2U6Ok90aGVyOwogICAgIH0KICAgICByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6T3RoZXI7CiB9CkBA
IC0xNjAsMTkgKzE1NiwxOSBAQCBzdGF0aWMgSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29s
ZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6RW51bSBtZXNzYWdlU291cgogc3RhdGljIEluc3Bl
Y3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpFbnVtIG1l
c3NhZ2VUeXBlVmFsdWUoTWVzc2FnZVR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsK
LSAgICBjYXNlIExvZ01lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkxvZzsKLSAgICBjYXNlIENsZWFyTWVzc2Fn
ZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVz
c2FnZTo6VHlwZTo6Q2xlYXI7Ci0gICAgY2FzZSBEaXJNZXNzYWdlVHlwZTogcmV0dXJuIEluc3Bl
Y3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpEaXI7Ci0g
ICAgY2FzZSBEaXJYTUxNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpEaXJYTUw7Ci0gICAgY2FzZSBUYWJsZU1l
c3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29s
ZU1lc3NhZ2U6OlR5cGU6OlRhYmxlOwotICAgIGNhc2UgVHJhY2VNZXNzYWdlVHlwZTogcmV0dXJu
IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpU
cmFjZTsKLSAgICBjYXNlIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpTdGFydEdyb3VwOwot
ICAgIGNhc2UgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlN0YXJ0R3JvdXBD
b2xsYXBzZWQ7Ci0gICAgY2FzZSBFbmRHcm91cE1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkVuZEdyb3VwOwot
ICAgIGNhc2UgQXNzZXJ0TWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVy
OjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6QXNzZXJ0OwotICAgIGNhc2UgVGltaW5n
TWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25z
b2xlTWVzc2FnZTo6VHlwZTo6VGltaW5nOwotICAgIGNhc2UgUHJvZmlsZU1lc3NhZ2VUeXBlOiBy
ZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5
cGU6OlByb2ZpbGU7Ci0gICAgY2FzZSBQcm9maWxlRW5kTWVzc2FnZVR5cGU6IHJldHVybiBJbnNw
ZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6UHJvZmls
ZUVuZDsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpMb2c6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVC
dWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6TG9nOworICAgIGNhc2UgTWVz
c2FnZVR5cGU6OkNsZWFyOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkNsZWFyOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkRpcjog
cmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpU
eXBlOjpEaXI7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6RGlyWE1MOiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkRpclhNTDsKKyAg
ICBjYXNlIE1lc3NhZ2VUeXBlOjpUYWJsZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpUYWJsZTsKKyAgICBjYXNlIE1lc3NhZ2VU
eXBlOjpUcmFjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNv
bGVNZXNzYWdlOjpUeXBlOjpUcmFjZTsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpTdGFydEdyb3Vw
OiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6
OlR5cGU6OlN0YXJ0R3JvdXA7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6U3RhcnRHcm91cENvbGxh
cHNlZDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpUeXBlOjpTdGFydEdyb3VwQ29sbGFwc2VkOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkVu
ZEdyb3VwOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1l
c3NhZ2U6OlR5cGU6OkVuZEdyb3VwOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkFzc2VydDogcmV0
dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBl
OjpBc3NlcnQ7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6VGltaW5nOiByZXR1cm4gSW5zcGVjdG9y
OjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlRpbWluZzsKKyAg
ICBjYXNlIE1lc3NhZ2VUeXBlOjpQcm9maWxlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRl
cjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlByb2ZpbGU7CisgICAgY2FzZSBNZXNz
YWdlVHlwZTo6UHJvZmlsZUVuZDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNv
bGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpQcm9maWxlRW5kOwogICAgIH0KICAgICByZXR1cm4g
SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6Okxv
ZzsKIH0KQEAgLTE4MCwxMCArMTc2LDEwIEBAIHN0YXRpYyBJbnNwZWN0b3I6OlR5cGVCdWlsZGVy
OjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6RW51bSBtZXNzYWdlVHlwZVZhCiBzdGF0
aWMgSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVs
OjpFbnVtIG1lc3NhZ2VMZXZlbFZhbHVlKE1lc3NhZ2VMZXZlbCBsZXZlbCkKIHsKICAgICBzd2l0
Y2ggKGxldmVsKSB7Ci0gICAgY2FzZSBEZWJ1Z01lc3NhZ2VMZXZlbDogcmV0dXJuIEluc3BlY3Rv
cjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6RGVidWc7Ci0g
ICAgY2FzZSBMb2dNZXNzYWdlTGV2ZWw6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkxvZzsKLSAgICBjYXNlIFdhcm5pbmdNZXNz
YWdlTGV2ZWw6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xl
TWVzc2FnZTo6TGV2ZWw6Oldhcm5pbmc7Ci0gICAgY2FzZSBFcnJvck1lc3NhZ2VMZXZlbDogcmV0
dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZl
bDo6RXJyb3I7CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkxvZzogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6TG9nOworICAgIGNh
c2UgTWVzc2FnZUxldmVsOjpXYXJuaW5nOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpXYXJuaW5nOworICAgIGNhc2UgTWVzc2Fn
ZUxldmVsOjpFcnJvcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNv
bnNvbGVNZXNzYWdlOjpMZXZlbDo6RXJyb3I7CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkRlYnVn
OiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6
OkxldmVsOjpEZWJ1ZzsKICAgICB9CiAgICAgcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6TG9nOwogfQpAQCAtMTk0LDE5ICsxOTAs
MjIgQEAgdm9pZCBDb25zb2xlTWVzc2FnZTo6YWRkVG9Gcm9udGVuZChJbnNwZWN0b3JDb25zb2xl
RnJvbnRlbmREaXNwYXRjaGVyKiBjb25zb2xlRnIKICAgICAgICAgLnNldFNvdXJjZShtZXNzYWdl
U291cmNlVmFsdWUobV9zb3VyY2UpKQogICAgICAgICAuc2V0TGV2ZWwobWVzc2FnZUxldmVsVmFs
dWUobV9sZXZlbCkpCiAgICAgICAgIC5zZXRUZXh0KG1fbWVzc2FnZSk7CisKICAgICAvLyBGSVhN
RTogb25seSBzZW5kIG91dCB0eXBlIGZvciBDb25zb2xlQVBJIHNvdXJjZSBtZXNzYWdlcy4KICAg
ICBqc29uT2JqLT5zZXRUeXBlKG1lc3NhZ2VUeXBlVmFsdWUobV90eXBlKSk7CiAgICAganNvbk9i
ai0+c2V0TGluZShzdGF0aWNfY2FzdDxpbnQ+KG1fbGluZSkpOwogICAgIGpzb25PYmotPnNldENv
bHVtbihzdGF0aWNfY2FzdDxpbnQ+KG1fY29sdW1uKSk7CiAgICAganNvbk9iai0+c2V0VXJsKG1f
dXJsKTsKICAgICBqc29uT2JqLT5zZXRSZXBlYXRDb3VudChzdGF0aWNfY2FzdDxpbnQ+KG1fcmVw
ZWF0Q291bnQpKTsKLSAgICBpZiAobV9zb3VyY2UgPT0gTmV0d29ya01lc3NhZ2VTb3VyY2UgJiYg
IW1fcmVxdWVzdElkLmlzRW1wdHkoKSkKKworICAgIGlmIChtX3NvdXJjZSA9PSBNZXNzYWdlU291
cmNlOjpOZXR3b3JrICYmICFtX3JlcXVlc3RJZC5pc0VtcHR5KCkpCiAgICAgICAgIGpzb25PYmot
PnNldE5ldHdvcmtSZXF1ZXN0SWQobV9yZXF1ZXN0SWQpOworCiAgICAgaWYgKG1fYXJndW1lbnRz
ICYmIG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCkpIHsKICAgICAgICAgSW5qZWN0ZWRTY3Jp
cHQgaW5qZWN0ZWRTY3JpcHQgPSBpbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0
Rm9yKG1fYXJndW1lbnRzLT5nbG9iYWxTdGF0ZSgpKTsKICAgICAgICAgaWYgKCFpbmplY3RlZFNj
cmlwdC5oYXNOb1ZhbHVlKCkpIHsKICAgICAgICAgICAgIFJlZlB0cjxJbnNwZWN0b3I6OlR5cGVC
dWlsZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmpl
Y3Q+PiBqc29uQXJncyA9IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD46OmNyZWF0ZSgpOwotICAgICAgICAg
ICAgaWYgKG1fdHlwZSA9PSBUYWJsZU1lc3NhZ2VUeXBlICYmIGdlbmVyYXRlUHJldmlldyAmJiBt
X2FyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgpKSB7CisgICAgICAgICAgICBpZiAobV90eXBlID09
IE1lc3NhZ2VUeXBlOjpUYWJsZSAmJiBnZW5lcmF0ZVByZXZpZXcgJiYgbV9hcmd1bWVudHMtPmFy
Z3VtZW50Q291bnQoKSkgewogICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVl
IHRhYmxlID0gbV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoMCk7CiAgICAgICAgICAgICAgICAgRGVw
cmVjYXRlZDo6U2NyaXB0VmFsdWUgY29sdW1ucyA9IG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50
KCkgPiAxID8gbV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoMSkgOiBEZXByZWNhdGVkOjpTY3JpcHRW
YWx1ZSgpOwogICAgICAgICAgICAgICAgIFJlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpS
dW50aW1lOjpSZW1vdGVPYmplY3Q+IGluc3BlY3RvclZhbHVlID0gaW5qZWN0ZWRTY3JpcHQud3Jh
cFRhYmxlKHRhYmxlLCBjb2x1bW5zKTsKQEAgLTIyOCw4ICsyMjcsMTAgQEAgdm9pZCBDb25zb2xl
TWVzc2FnZTo6YWRkVG9Gcm9udGVuZChJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVy
KiBjb25zb2xlRnIKICAgICAgICAgICAgIGpzb25PYmotPnNldFBhcmFtZXRlcnMoanNvbkFyZ3Mp
OwogICAgICAgICB9CiAgICAgfQorCiAgICAgaWYgKG1fY2FsbFN0YWNrKQogICAgICAgICBqc29u
T2JqLT5zZXRTdGFja1RyYWNlKG1fY2FsbFN0YWNrLT5idWlsZEluc3BlY3RvckFycmF5KCkpOwor
CiAgICAgY29uc29sZUZyb250ZW5kRGlzcGF0Y2hlci0+bWVzc2FnZUFkZGVkKGpzb25PYmopOwog
fQogCkBAIC0yNDMsNiArMjQ0LDcgQEAgYm9vbCBDb25zb2xlTWVzc2FnZTo6aXNFcXVhbChDb25z
b2xlTWVzc2FnZSogbXNnKSBjb25zdAogICAgIGlmIChtX2FyZ3VtZW50cykgewogICAgICAgICBp
ZiAoIW1fYXJndW1lbnRzLT5pc0VxdWFsKG1zZy0+bV9hcmd1bWVudHMuZ2V0KCkpKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIC8vIE5ldmVyIHRyZWF0IG9iamVjdHMgYXMg
ZXF1YWwgLSB0aGVpciBwcm9wZXJ0aWVzIG1pZ2h0IGNoYW5nZSBvdmVyIHRpbWUuCiAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9hcmd1bWVudHMtPmFyZ3VtZW50Q291bnQoKTsgKytp
KSB7CiAgICAgICAgICAgICBpZiAobV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoaSkuaXNPYmplY3Qo
KSkKQEAgLTI2NywyNCArMjY5LDI3IEBAIGJvb2wgQ29uc29sZU1lc3NhZ2U6OmlzRXF1YWwoQ29u
c29sZU1lc3NhZ2UqIG1zZykgY29uc3QKICAgICAgICAgJiYgbXNnLT5tX3JlcXVlc3RJZCA9PSBt
X3JlcXVlc3RJZDsKIH0KIAotdm9pZCBDb25zb2xlTWVzc2FnZTo6d2luZG93Q2xlYXJlZChET01X
aW5kb3cqIHdpbmRvdykKK3ZvaWQgQ29uc29sZU1lc3NhZ2U6OnNjcmlwdFN0YXRlQ2xlYXJlZChK
U0M6OkV4ZWNTdGF0ZSogZXhlY1N0YXRlKQogewogICAgIGlmICghbV9hcmd1bWVudHMpCiAgICAg
ICAgIHJldHVybjsKLSAgICBpZiAoZG9tV2luZG93RnJvbUV4ZWNTdGF0ZShtX2FyZ3VtZW50cy0+
Z2xvYmFsU3RhdGUoKSkgIT0gd2luZG93KQorCisgICAgaWYgKG1fYXJndW1lbnRzLT5nbG9iYWxT
dGF0ZSgpICE9IGV4ZWNTdGF0ZSkKICAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKCFtX21lc3Nh
Z2UpCi0gICAgICAgIG1fbWVzc2FnZSA9ICI8bWVzc2FnZSBjb2xsZWN0ZWQ+IjsKKyAgICAgICAg
bV9tZXNzYWdlID0gQVNDSUlMaXRlcmFsKCI8bWVzc2FnZSBjb2xsZWN0ZWQ+Iik7CiAgICAgbV9h
cmd1bWVudHMuY2xlYXIoKTsKIH0KIAotdW5zaWduZWQgQ29uc29sZU1lc3NhZ2U6OmFyZ3VtZW50
Q291bnQoKQordW5zaWduZWQgQ29uc29sZU1lc3NhZ2U6OmFyZ3VtZW50Q291bnQoKSBjb25zdAog
ewogICAgIGlmIChtX2FyZ3VtZW50cykKICAgICAgICAgcmV0dXJuIG1fYXJndW1lbnRzLT5hcmd1
bWVudENvdW50KCk7CisKICAgICByZXR1cm4gMDsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9S
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKc2ltaWxh
cml0eSBpbmRleCA4NCUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmgKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuaAppbmRleCAxYTFlYWExLi45ODQ1MmIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAgLTMxLDI3ICszMSwyNSBAQAogI2lm
bmRlZiBDb25zb2xlTWVzc2FnZV9oCiAjZGVmaW5lIENvbnNvbGVNZXNzYWdlX2gKIAotI2luY2x1
ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKICNpbmNsdWRl
ICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNo
ZXJzLmgiCi0jaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JKU0Zy
b250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBFeGVjU3RhdGU7Cit9CiAK
IG5hbWVzcGFjZSBJbnNwZWN0b3IgeworCiBjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7Ci1j
bGFzcyBJbnNwZWN0b3JPYmplY3Q7Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3Mg
RE9NV2luZG93OwogY2xhc3MgU2NyaXB0QXJndW1lbnRzOwotY2xhc3MgU2NyaXB0Q2FsbEZyYW1l
OwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogCi1jbGFzcyBDb25zb2xlTWVzc2FnZSB7Ci0gICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIENvbnNvbGVNZXNzYWdlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2FnZSk7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgQ29uc29sZU1lc3NhZ2UoYm9vbCBjYW5HZW5lcmF0ZUNhbGxT
dGFjaywgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAgICAg
Q29uc29sZU1lc3NhZ2UoYm9vbCBjYW5HZW5lcmF0ZUNhbGxTdGFjaywgTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBT
dHJpbmcmIHVybCwgdW5zaWduZWQgbGluZSwgdW5zaWduZWQgY29sdW1uLCBKU0M6OkV4ZWNTdGF0
ZSogPSBudWxscHRyLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CkBAIC01
OSwxOCArNTcsMjAgQEAgcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKGJvb2wgY2FuR2VuZXJh
dGVDYWxsU3RhY2ssIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+LCBKU0M6OkV4
ZWNTdGF0ZSosIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKICAgICB+Q29u
c29sZU1lc3NhZ2UoKTsKIAotICAgIHZvaWQgYWRkVG9Gcm9udGVuZChJbnNwZWN0b3I6Okluc3Bl
Y3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXIqLCBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0
TWFuYWdlciosIGJvb2wgZ2VuZXJhdGVQcmV2aWV3KTsKLSAgICB2b2lkIHVwZGF0ZVJlcGVhdENv
dW50SW5Db25zb2xlKEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUZyb250ZW5kRGlzcGF0Y2hl
ciopOwotICAgIHZvaWQgaW5jcmVtZW50Q291bnQoKSB7ICsrbV9yZXBlYXRDb3VudDsgfQotICAg
IGJvb2wgaXNFcXVhbChDb25zb2xlTWVzc2FnZSogbXNnKSBjb25zdDsKKyAgICB2b2lkIGFkZFRv
RnJvbnRlbmQoSW5zcGVjdG9yQ29uc29sZUZyb250ZW5kRGlzcGF0Y2hlciosIEluamVjdGVkU2Ny
aXB0TWFuYWdlciosIGJvb2wgZ2VuZXJhdGVQcmV2aWV3KTsKKyAgICB2b2lkIHVwZGF0ZVJlcGVh
dENvdW50SW5Db25zb2xlKEluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXIqKTsKIAog
ICAgIE1lc3NhZ2VTb3VyY2Ugc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2U7IH0KICAg
ICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UoKSBjb25zdCB7IHJldHVybiBtX21lc3NhZ2U7IH0KICAg
ICBNZXNzYWdlVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAKLSAgICB2b2lk
IHdpbmRvd0NsZWFyZWQoRE9NV2luZG93Kik7CisgICAgdm9pZCBpbmNyZW1lbnRDb3VudCgpIHsg
KyttX3JlcGVhdENvdW50OyB9CiAKLSAgICB1bnNpZ25lZCBhcmd1bWVudENvdW50KCk7CisgICAg
dW5zaWduZWQgYXJndW1lbnRDb3VudCgpIGNvbnN0OworCisgICAgYm9vbCBpc0VxdWFsKENvbnNv
bGVNZXNzYWdlKiBtc2cpIGNvbnN0OworCisgICAgdm9pZCBzY3JpcHRTdGF0ZUNsZWFyZWQoSlND
OjpFeGVjU3RhdGUqKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIGF1dG9nZW5lcmF0ZU1ldGFkYXRh
KGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIpOwpA
QCAtODgsNiArODgsOCBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3JlcXVlc3RJZDsKIH07CiAK
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5k
aWYgLy8gQ29uc29sZU1lc3NhZ2VfaAorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKc2ltaWxhcml0eSBp
bmRleCA2NCUKY29weSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlw
ZXMuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZVR5cGVz
LmgKaW5kZXggMTFmNjVlYy4uMWM5NDA5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvQ29uc29sZVR5cGVzLmgKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApA
QCAtMjIsMjcgKzIzLDUyIEBACiAgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIENvbnNvbGVBUElUeXBl
c19oCi0jZGVmaW5lIENvbnNvbGVBUElUeXBlc19oCisjaWZuZGVmIENvbnNvbGVUeXBlc19oCisj
ZGVmaW5lIENvbnNvbGVUeXBlc19oCiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJ
bnNwZWN0b3IgewogCi1lbnVtIE1lc3NhZ2VUeXBlIHsKLSAgICBMb2dNZXNzYWdlVHlwZSwKLSAg
ICBEaXJNZXNzYWdlVHlwZSwKLSAgICBEaXJYTUxNZXNzYWdlVHlwZSwKLSAgICBUYWJsZU1lc3Nh
Z2VUeXBlLAotICAgIFRyYWNlTWVzc2FnZVR5cGUsCi0gICAgU3RhcnRHcm91cE1lc3NhZ2VUeXBl
LAotICAgIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSwKLSAgICBFbmRHcm91cE1lc3Nh
Z2VUeXBlLAotICAgIENsZWFyTWVzc2FnZVR5cGUsCi0gICAgQXNzZXJ0TWVzc2FnZVR5cGUsCi0g
ICAgVGltaW5nTWVzc2FnZVR5cGUsCi0gICAgUHJvZmlsZU1lc3NhZ2VUeXBlLAotICAgIFByb2Zp
bGVFbmRNZXNzYWdlVHlwZQorZW51bSBjbGFzcyBNZXNzYWdlU291cmNlIHsKKyAgICBYTUwsCisg
ICAgSlMsCisgICAgTmV0d29yaywKKyAgICBDb25zb2xlQVBJLAorICAgIFN0b3JhZ2UsCisgICAg
QXBwQ2FjaGUsCisgICAgUmVuZGVyaW5nLAorICAgIENTUywKKyAgICBTZWN1cml0eSwKKyAgICBP
dGhlciwKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK2VudW0gY2xhc3MgTWVzc2FnZVR5
cGUgeworICAgIExvZywKKyAgICBEaXIsCisgICAgRGlyWE1MLAorICAgIFRhYmxlLAorICAgIFRy
YWNlLAorICAgIFN0YXJ0R3JvdXAsCisgICAgU3RhcnRHcm91cENvbGxhcHNlZCwKKyAgICBFbmRH
cm91cCwKKyAgICBDbGVhciwKKyAgICBBc3NlcnQsCisgICAgVGltaW5nLAorICAgIFByb2ZpbGUs
CisgICAgUHJvZmlsZUVuZCwKK307CisKK2VudW0gY2xhc3MgTWVzc2FnZUxldmVsIHsKKyAgICBM
b2cgPSAxLAorICAgIFdhcm5pbmcgPSAyLAorICAgIEVycm9yID0gMywKKyAgICBEZWJ1ZyA9IDQs
Cit9OworCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKKworLy8gVGhlc2Ugd2lsbCBsaWtlbHkg
bW92ZSBvdXQgb2YgdGhlIGluc3BlY3RvciBuYW1lc3BhY2UuCit1c2luZyBJbnNwZWN0b3I6Ok1l
c3NhZ2VTb3VyY2U7Cit1c2luZyBJbnNwZWN0b3I6Ok1lc3NhZ2VUeXBlOwordXNpbmcgSW5zcGVj
dG9yOjpNZXNzYWdlTGV2ZWw7CiAKLSNlbmRpZiAvLyBDb25zb2xlQVBJVHlwZXNfaAorI2VuZGlm
IC8vIENvbnNvbGVUeXBlc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SWRlbnRpZmllcnNGYWN0b3J5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SWRlbnRpZmllcnNGYWN0b3J5LmNwcApzaW1pbGFyaXR5IGluZGV4IDkzJQpyZW5hbWUgZnJvbSBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcApyZW5hbWUgdG8g
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwCmlu
ZGV4IGRjZTJhMjguLjRmYmIzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcApAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dApAQCAtMjQsMjkgKzI1LDI1IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgot
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5o
IgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CiAK
IG5hbWVzcGFjZSB7CiBzdGF0aWMgbG9uZyBzX2xhc3RVc2VkSWRlbnRpZmllciA9IDA7CiB9CiAK
LS8vIHN0YXRpYwotbG9uZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnNfcHJvY2Vzc0lkOworbG9uZyBJ
ZGVudGlmaWVyc0ZhY3Rvcnk6OnNfcHJvY2Vzc0lkID0gMDsKIAotLy8gc3RhdGljCiBTdHJpbmcg
SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCkKIHsKICAgICByZXR1cm4gYWRk
UHJvY2Vzc0lkUHJlZml4VG8oU3RyaW5nOjpudW1iZXIoKytzX2xhc3RVc2VkSWRlbnRpZmllcikp
OwogfQogCi0vLyBzdGF0aWMKIFN0cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZCh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7CiAgICAgaWYgKGlkZW50aWZpZXIpCkBAIC01NCw3
ICs1MSw2IEBAIFN0cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZCh1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi0vLyBzdGF0aWMKIFN0
cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OmFkZFByb2Nlc3NJZFByZWZpeFRvKGNvbnN0IFN0cmlu
ZyYgaWQpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwpAQCAtNjQsNiArNjAsNiBAQCBT
dHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjphZGRQcm9jZXNzSWRQcmVmaXhUbyhjb25zdCBTdHJp
bmcmIGlkKQogICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiB9CiAKLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVudGlm
aWVyc0ZhY3RvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmll
cnNGYWN0b3J5LmgKc2ltaWxhcml0eSBpbmRleCA5NSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCmluZGV4IGIxYTljNDguLmIy
ODRhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0Zh
Y3RvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJz
RmFjdG9yeS5oCkBAIC0yNiwyNCArMjYsMjUgQEAKICNpZm5kZWYgSWRlbnRpZmllcnNGYWN0b3J5
X2gKICNkZWZpbmUgSWRlbnRpZmllcnNGYWN0b3J5X2gKIAotI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgotCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotbmFtZXNwYWNlIFdlYkNvcmUg
eworI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi1jbGFzcyBJZGVudGlmaWVyc0Zh
Y3RvcnkgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CisKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRF
IElkZW50aWZpZXJzRmFjdG9yeSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0UHJvY2Vz
c0lkKGxvbmcgcHJvY2Vzc0lkKSB7IHNfcHJvY2Vzc0lkID0gcHJvY2Vzc0lkOyB9CiAgICAgc3Rh
dGljIFN0cmluZyBjcmVhdGVJZGVudGlmaWVyKCk7CiAgICAgc3RhdGljIFN0cmluZyByZXF1ZXN0
SWQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKTsKKwogcHJpdmF0ZToKICAgICBzdGF0aWMgU3Ry
aW5nIGFkZFByb2Nlc3NJZFByZWZpeFRvKGNvbnN0IFN0cmluZyYgaWQpOwogCiAgICAgc3RhdGlj
IGxvbmcgc19wcm9jZXNzSWQ7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5h
bWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vICFkZWZpbmVkKElkZW50aWZpZXJzRmFjdG9y
eV9oKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xv
YmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggNDI0
YTg3Zi4uNzVkYmRiNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNw
cApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgiCiAjaW5jbHVkZSAiSlNH
bG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oIgog
I2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oIgogI2luY2x1ZGUgIkpTR2xv
YmFsT2JqZWN0UnVudGltZUFnZW50LmgiCiAKQEAgLTUzLDcgKzU0LDExIEBAIEpTR2xvYmFsT2Jq
ZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVy
KEpTR2xvYmFsT2JqCiAgICAgSW5zcGVjdG9yUnVudGltZUFnZW50KiBydW50aW1lQWdlbnQgPSBy
dW50aW1lQWdlbnRQdHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bW92ZShydW50
aW1lQWdlbnRQdHIpKTsKIAotICAgIGF1dG8gZGVidWdnZXJBZ2VudFB0ciA9IHN0ZDo6bWFrZV91
bmlxdWU8SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50PihtX2luamVjdGVkU2NyaXB0TWFuYWdl
ci5nZXQoKSwgbV9nbG9iYWxPYmplY3QpOworICAgIGF1dG8gY29uc29sZUFnZW50UHRyID0gc3Rk
OjptYWtlX3VuaXF1ZTxKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudD4obV9pbmplY3RlZFNjcmlw
dE1hbmFnZXIuZ2V0KCkpOworICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50
ID0gY29uc29sZUFnZW50UHRyLmdldCgpOworICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUo
Y29uc29sZUFnZW50UHRyKSk7CisKKyAgICBhdXRvIGRlYnVnZ2VyQWdlbnRQdHIgPSBzdGQ6Om1h
a2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudD4obV9pbmplY3RlZFNjcmlwdE1h
bmFnZXIuZ2V0KCksIG1fZ2xvYmFsT2JqZWN0LCBjb25zb2xlQWdlbnQpOwogICAgIEluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQqIGRlYnVnZ2VyQWdlbnQgPSBkZWJ1Z2dlckFnZW50UHRyLmdldCgpOwog
ICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUoZGVidWdnZXJBZ2VudFB0cikpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcApzaW1pbGFy
aXR5IGluZGV4IDkwJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0
QXJndW1lbnRzLmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9T
Y3JpcHRBcmd1bWVudHMuY3BwCmluZGV4IDllNjVmN2UuLjE1ZjE0ZGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcApAQCAtMSwxMCArMSwx
MSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogICogbWV0Ogot
ICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKQEAgLTE0LDcgKzE1LDcg
QEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgogICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMTcgKzMyLDE3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCiAKLSNpbmNsdWRlIDxiaW5k
aW5ncy9TY3JpcHRWYWx1ZS5oPgorI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCiAKLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBQYXNzUmVmUHRyPFNjcmlwdEFy
Z3VtZW50cz4gU2NyaXB0QXJndW1lbnRzOjpjcmVhdGUoSlNDOjpFeGVjU3RhdGUqIHNjcmlwdFN0
YXRlLCBWZWN0b3I8RGVwcmVjYXRlZDo6U2NyaXB0VmFsdWU+JiBhcmd1bWVudHMpCiB7CiAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JpcHRBcmd1bWVudHMoc2NyaXB0U3RhdGUsIGFyZ3VtZW50
cykpOwogfQogCi1TY3JpcHRBcmd1bWVudHM6OlNjcmlwdEFyZ3VtZW50cyhKU0M6OkV4ZWNTdGF0
ZSogc2NyaXB0U3RhdGUsIFZlY3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4mIGFyZ3VtZW50
cykKLSAgICA6IG1fZ2xvYmFsT2JqZWN0KHNjcmlwdFN0YXRlLT52bSgpLCBzY3JpcHRTdGF0ZS0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpKQorU2NyaXB0QXJndW1lbnRzOjpTY3JpcHRBcmd1bWVudHMo
SlNDOjpFeGVjU3RhdGUqIGV4ZWNTdGF0ZSwgVmVjdG9yPERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVl
PiYgYXJndW1lbnRzKQorICAgIDogbV9nbG9iYWxPYmplY3QoZXhlY1N0YXRlLT52bSgpLCBleGVj
U3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKSkKIHsKICAgICBtX2FyZ3VtZW50cy5zd2FwKGFy
Z3VtZW50cyk7CiB9CkBAIC02MCw2ICs2MSw3IEBAIEpTQzo6RXhlY1N0YXRlKiBTY3JpcHRBcmd1
bWVudHM6Omdsb2JhbFN0YXRlKCkgY29uc3QKIHsKICAgICBpZiAobV9nbG9iYWxPYmplY3QpCiAg
ICAgICAgIHJldHVybiBjb25zdF9jYXN0PEpTQzo6SlNHbG9iYWxPYmplY3QqPihtX2dsb2JhbE9i
amVjdC5nZXQoKSktPmdsb2JhbEV4ZWMoKTsKKwogICAgIHJldHVybiBudWxscHRyOwogfQogCkBA
IC05NSw3ICs5Nyw4IEBAIGJvb2wgU2NyaXB0QXJndW1lbnRzOjppc0VxdWFsKFNjcmlwdEFyZ3Vt
ZW50cyogb3RoZXIpIGNvbnN0CiAgICAgICAgIGlmICghbV9hcmd1bWVudHNbaV0uaXNFcXVhbChv
dGhlci0+Z2xvYmFsU3RhdGUoKSwgb3RoZXItPm1fYXJndW1lbnRzW2ldKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICB9CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oCnNpbWlsYXJpdHkgaW5kZXggOTAlCnJl
bmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaApyZW5h
bWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaApp
bmRleCA0N2E5NjIzLi41MzM3ZTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvU2NyaXB0QXJndW1lbnRzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9TY3JpcHRBcmd1bWVudHMuaApAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBA
IC00NiwxMiArNDcsMTEgQEAgY2xhc3MgRXhlY1N0YXRlOwogY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiB9CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCi1jbGFz
cyBTY3JpcHRBcmd1bWVudHMgOiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRBcmd1bWVudHM+IHsK
K2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFNjcmlwdEFyZ3VtZW50cyA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFNjcmlwdEFyZ3VtZW50cz4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNj
cmlwdEFyZ3VtZW50cz4gY3JlYXRlKEpTQzo6RXhlY1N0YXRlKiwgVmVjdG9yPERlcHJlY2F0ZWQ6
OlNjcmlwdFZhbHVlPiYgYXJndW1lbnRzKTsKLQogICAgIH5TY3JpcHRBcmd1bWVudHMoKTsKIAog
ICAgIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBhcmd1bWVudEF0KHNpemVfdCkgY29u
c3Q7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKIAogICAgIEpTQzo6RXhlY1N0YXRlKiBnbG9i
YWxTdGF0ZSgpIGNvbnN0OwogCi0gICAgYm9vbCBnZXRGaXJzdEFyZ3VtZW50QXNTdHJpbmcoV1RG
OjpTdHJpbmcmIHJlc3VsdCwgYm9vbCBjaGVja0Zvck51bGxPclVuZGVmaW5lZCA9IGZhbHNlKTsK
KyAgICBib29sIGdldEZpcnN0QXJndW1lbnRBc1N0cmluZyhTdHJpbmcmIHJlc3VsdCwgYm9vbCBj
aGVja0Zvck51bGxPclVuZGVmaW5lZCA9IGZhbHNlKTsKICAgICBib29sIGlzRXF1YWwoU2NyaXB0
QXJndW1lbnRzKikgY29uc3Q7CiAKIHByaXZhdGU6CkBAIC02OSw2ICs2OSw2IEBAIHByaXZhdGU6
CiAgICAgVmVjdG9yPERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlPiBtX2FyZ3VtZW50czsKIH07CiAK
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5k
aWYgLy8gU2NyaXB0QXJndW1lbnRzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9TY3JpcHRDYWxsRnJhbWUuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFtZSBmcm9tIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCnJlbmFtZSB0byBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAKaW5kZXggNjlj
MjhmOS4uYzdhODIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Njcmlw
dENhbGxGcmFtZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3Jp
cHRDYWxsRnJhbWUuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKgorICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogCisgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCiAgKiBtZXQ6Ci0gKiAKKyAqCiAgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgogICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQpAQCAtMTQsNyArMTUsNyBAQAogICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KICAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
Ci0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCkBA
IC0zMSwxMyArMzIsMTAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JpcHRD
YWxsRnJhbWUuaCIKIAotI2luY2x1ZGUgIkluc3BlY3RvcldlYkZyb250ZW5kRGlzcGF0Y2hlcnMu
aCIKLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+Ci0jaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgorI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgorI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBTY3JpcHRDYWxsRnJhbWU6OlNjcmlw
dENhbGxGcmFtZShjb25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSwgY29uc3QgU3RyaW5nJiBzY3Jp
cHROYW1lLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW4pCiAgICAgOiBtX2Z1
bmN0aW9uTmFtZShmdW5jdGlvbk5hbWUpCkBAIC03MSw0ICs2OSw0IEBAIFBhc3NSZWZQdHI8SW5z
cGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q2FsbEZyYW1lPiBTY3JpcHRDYWxsRnJhbWU6
OmJ1aWxkSW5zCiB9CiAjZW5kaWYKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENh
bGxGcmFtZS5oCnNpbWlsYXJpdHkgaW5kZXggOTMlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaAppbmRleCBkNmRjZmEzLi4wMDUyNGRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaApAQCAt
MSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQog
ICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKQEAgLTE0
LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgogICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMjAgKzMyLDE2IEBACiAj
aWZuZGVmIFNjcmlwdENhbGxGcmFtZV9oCiAjZGVmaW5lIFNjcmlwdENhbGxGcmFtZV9oCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIkluc3BlY3RvcldlYlR5cGVCdWlsZGVycy5o
IgotI2VuZGlmCi0KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyNpbmNsdWRlICJJbnNwZWN0
b3JKU1R5cGVCdWlsZGVycy5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewotY2xh
c3MgSW5zcGVjdG9yT2JqZWN0OwotfQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFNj
cmlwdENhbGxGcmFtZSAgeworY2xhc3MgSlNfRVhQT1JUX1BSSVZBVEUgU2NyaXB0Q2FsbEZyYW1l
ICB7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FsbEZyYW1lKGNvbnN0IFN0cmluZyYgZnVuY3Rpb25O
YW1lLCBjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2ln
bmVkIGNvbHVtbik7CiAgICAgflNjcmlwdENhbGxGcmFtZSgpOwpAQCAtNjcsNiArNjQsNiBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fY29sdW1uOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBTY3JpcHRDYWxsRnJh
bWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5j
cHAKc2ltaWxhcml0eSBpbmRleCA5MiUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1NjcmlwdENhbGxTdGFjay5jcHAKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcAppbmRleCBjNGFmMWI0Li4yZGQyODVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKQEAg
LTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDA4LCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICogCisgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CiAgKiBtZXQ6Ci0gKiAKKyAqCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQpAQCAt
MTQsNyArMTUsNyBAQAogICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KICAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKiAKKyAqCiAgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCkBAIC0zMSwxMiArMzIsOSBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogCi0jaW5j
bHVkZSAiSW5zcGVjdG9yV2ViVHlwZUJ1aWxkZXJzLmgiCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0lu
c3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogCi11c2luZyBu
YW1lc3BhY2UgSW5zcGVjdG9yOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAogUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IFNjcmlwdENhbGxTdGFjazo6
Y3JlYXRlKFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBmcmFtZXMpCiB7CkBAIC01Miw3ICs1MCw3
IEBAIFNjcmlwdENhbGxTdGFjazo6flNjcmlwdENhbGxTdGFjaygpCiB7CiB9CiAKLWNvbnN0IFNj
cmlwdENhbGxGcmFtZSAmU2NyaXB0Q2FsbFN0YWNrOjphdChzaXplX3QgaW5kZXgpIGNvbnN0Citj
b25zdCBTY3JpcHRDYWxsRnJhbWUmIFNjcmlwdENhbGxTdGFjazo6YXQoc2l6ZV90IGluZGV4KSBj
b25zdAogewogICAgIEFTU0VSVChtX2ZyYW1lcy5zaXplKCkgPiBpbmRleCk7CiAgICAgcmV0dXJu
IG1fZnJhbWVzW2luZGV4XTsKQEAgLTkwLDQgKzg4LDQgQEAgUGFzc1JlZlB0cjxJbnNwZWN0b3I6
OlR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDYWxs
RnIKIH0KICNlbmRpZgogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
LmgKc2ltaWxhcml0eSBpbmRleCA4OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1NjcmlwdENhbGxTdGFjay5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCmluZGV4IDE5NzVkYTVjLi5kZGFhMmJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaApAQCAtMSwxMCAr
MSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDgsIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQog
ICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKQEAgLTE0
LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgogICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMTggKzMyLDE4IEBACiAj
aWZuZGVmIFNjcmlwdENhbGxTdGFja19oCiAjZGVmaW5lIFNjcmlwdENhbGxTdGFja19oCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIkluc3BlY3RvcldlYlR5cGVCdWlsZGVycy5o
IgotI2VuZGlmCi0KICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyNp
bmNsdWRlICJJbnNwZWN0b3JKU1R5cGVCdWlsZGVycy5oIgorI2VuZGlmCiAKLWNsYXNzIFNjcmlw
dENhbGxTdGFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFNjcmlwdENhbGxTdGFjaz4geworbmFtZXNw
YWNlIEluc3BlY3RvciB7CisKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFNjcmlwdENhbGxTdGFj
ayA6IHB1YmxpYyBSZWZDb3VudGVkPFNjcmlwdENhbGxTdGFjaz4gewogcHVibGljOgogICAgIHN0
YXRpYyBjb25zdCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIwMDsKICAgICAK
QEAgLTUwLDcgKzUxLDcgQEAgcHVibGljOgogCiAgICAgflNjcmlwdENhbGxTdGFjaygpOwogCi0g
ICAgY29uc3QgU2NyaXB0Q2FsbEZyYW1lICZhdChzaXplX3QpIGNvbnN0OworICAgIGNvbnN0IFNj
cmlwdENhbGxGcmFtZSYgYXQoc2l6ZV90KSBjb25zdDsKICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0
OwogCiAgICAgYm9vbCBpc0VxdWFsKFNjcmlwdENhbGxTdGFjayopIGNvbnN0OwpAQCAtNjUsNiAr
NjYsNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+IG1fZnJhbWVzOwog
fTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAK
ICNlbmRpZiAvLyBTY3JpcHRDYWxsU3RhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCnNpbWlsYXJpdHkgaW5k
ZXggNjklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxT
dGFja0ZhY3RvcnkuY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCmluZGV4IDdkNjk1YTQuLjNiMTNkZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3Rvcnku
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeS5jcHAKQEAgLTEsMTEgKzEsMTIgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUmVz
ZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICAqIG1ldDoKLSAqIAorICoKICAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xNSw3ICsxNiw3IEBACiAgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKQEAgLTMyLDc4ICszMywzMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKIAotI2luY2x1ZGUgIkluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgotI2luY2x1ZGUgIkpTTWFp
blRocmVhZEV4ZWNTdGF0ZS5oIgorI2luY2x1ZGUgIkFyZ0xpc3QuaCIKKyNpbmNsdWRlICJDYWxs
RnJhbWUuaCIKKyNpbmNsdWRlICJDYWxsRnJhbWVJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNDSlNW
YWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJTY3JpcHRBcmd1bWVu
dHMuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxs
U3RhY2suaCIKLSNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgotI2luY2x1ZGUgPGlu
dGVycHJldGVyL0NhbGxGcmFtZS5oPgotI2luY2x1ZGUgPGludGVycHJldGVyL0NhbGxGcmFtZUlu
bGluZXMuaD4KLSNpbmNsdWRlIDxpbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuaD4KLSNpbmNsdWRl
IDxydW50aW1lL0FyZ0xpc3QuaD4KLSNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFsdWUuaD4KLSNp
bmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24uaD4KLSNpbmNsdWRlIDxydW50aW1lL1ZNLmg+Cisj
aW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJTdGFja1Zpc2l0b3IuaCIKKyNpbmNs
dWRlICJWTS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1jbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworbmFtZXNwYWNlIElu
c3BlY3RvciB7CiAKIGNsYXNzIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IgewogcHVibGlj
OgotICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IoVmVjdG9yPFNjcmlwdENhbGxGcmFt
ZT4mIGZyYW1lcywgIHNpemVfdCByZW1haW5pbmdDYXBhY2l0eSkKLSAgICAgICAgOiBtX2ZyYW1l
cyhmcmFtZXMpCi0gICAgICAgICwgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZShy
ZW1haW5pbmdDYXBhY2l0eSkKLSAgICB7Ci0gICAgfQotCi0gICAgU3RhY2tWaXNpdG9yOjpTdGF0
dXMgb3BlcmF0b3IoKShTdGFja1Zpc2l0b3ImIHZpc2l0b3IpCi0gICAgewotICAgICAgICBpZiAo
bV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZSkgewotICAgICAgICAgICAgdW5zaWdu
ZWQgbGluZTsKLSAgICAgICAgICAgIHVuc2lnbmVkIGNvbHVtbjsKLSAgICAgICAgICAgIHZpc2l0
b3ItPmNvbXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUsIGNvbHVtbik7Ci0gICAgICAgICAgICBtX2Zy
YW1lcy5hcHBlbmQoU2NyaXB0Q2FsbEZyYW1lKHZpc2l0b3ItPmZ1bmN0aW9uTmFtZSgpLCB2aXNp
dG9yLT5zb3VyY2VVUkwoKSwgbGluZSwgY29sdW1uKSk7Ci0KLSAgICAgICAgICAgIG1fcmVtYWlu
aW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUtLTsKLSAgICAgICAgICAgIHJldHVybiBTdGFja1Zp
c2l0b3I6OkNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6
OkRvbmU7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBt
X2ZyYW1lczsKLSAgICBzaXplX3QgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZTsK
LX07Ci0KLVBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2so
c2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0eUlzQWxsb3dlZCkKLXsKLSAgICBWZWN0b3I8
U2NyaXB0Q2FsbEZyYW1lPiBmcmFtZXM7Ci0gICAgaWYgKEpTQzo6RXhlY1N0YXRlKiBleGVjID0g
SlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSkgewotICAgICAgICBDYWxsRnJh
bWUqIGZyYW1lID0gZXhlYy0+dm0oKS50b3BDYWxsRnJhbWU7Ci0gICAgICAgIENyZWF0ZVNjcmlw
dENhbGxTdGFja0Z1bmN0b3IgZnVuY3RvcihmcmFtZXMsIG1heFN0YWNrU2l6ZSk7Ci0gICAgICAg
IGZyYW1lLT5pdGVyYXRlKGZ1bmN0b3IpOwotICAgIH0KLSAgICBpZiAoZnJhbWVzLmlzRW1wdHko
KSAmJiAhZW1wdHlJc0FsbG93ZWQpIHsKLSAgICAgICAgLy8gTm8gZnJhbWVzIGZvdW5kLiBJdCBt
YXkgaGFwcGVuIGluIHRoZSBjYXNlIHdoZXJlCi0gICAgICAgIC8vIGEgYm91bmQgZnVuY3Rpb24g
aXMgY2FsbGVkIGZyb20gbmF0aXZlIGNvZGUgZm9yIGV4YW1wbGUuCi0gICAgICAgIC8vIEZhbGxi
YWNrIHRvIHNldHRpbmcgbGluZU51bWJlciB0byAwLCBhbmQgc291cmNlIGFuZCBmdW5jdGlvbiBu
YW1lIHRvICJ1bmRlZmluZWQiLgotICAgICAgICBmcmFtZXMuYXBwZW5kKFNjcmlwdENhbGxGcmFt
ZSgidW5kZWZpbmVkIiwgInVuZGVmaW5lZCIsIDAsIDApKTsKLSAgICB9Ci0gICAgcmV0dXJuIFNj
cmlwdENhbGxTdGFjazo6Y3JlYXRlKGZyYW1lcyk7Ci19Ci0KLWNsYXNzIENyZWF0ZVNjcmlwdENh
bGxTdGFja0ZvckNvbnNvbGVGdW5jdG9yIHsKLXB1YmxpYzoKLSAgICBDcmVhdGVTY3JpcHRDYWxs
U3RhY2tGb3JDb25zb2xlRnVuY3Rvcihib29sIG5lZWRUb1NraXBBRnJhbWUsICBzaXplX3QgcmVt
YWluaW5nQ2FwYWNpdHksIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBmcmFtZXMpCisgICAgQ3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrRnVuY3Rvcihib29sIG5lZWRUb1NraXBBRnJhbWUsIFZlY3RvcjxT
Y3JpcHRDYWxsRnJhbWU+JiBmcmFtZXMsIHNpemVfdCByZW1haW5pbmdDYXBhY2l0eSkKICAgICAg
ICAgOiBtX25lZWRUb1NraXBBRnJhbWUobmVlZFRvU2tpcEFGcmFtZSkKLSAgICAgICAgLCBtX3Jl
bWFpbmluZ0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlKHJlbWFpbmluZ0NhcGFjaXR5KQogICAgICAg
ICAsIG1fZnJhbWVzKGZyYW1lcykKKyAgICAgICAgLCBtX3JlbWFpbmluZ0NhcGFjaXR5Rm9yRnJh
bWVDYXB0dXJlKHJlbWFpbmluZ0NhcGFjaXR5KQogICAgIHsKICAgICB9CiAKQEAgLTExNSwxMiAr
NjgsNiBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobV9yZW1haW5pbmdDYXBh
Y2l0eUZvckZyYW1lQ2FwdHVyZSkgewotICAgICAgICAgICAgLy8gVGhpcyBlYXJseSBleGl0IGlz
IG5lY2Vzc2FyeSB0byBtYWludGFpbiBvdXIgb2xkIGJlaGF2aW91cgotICAgICAgICAgICAgLy8g
YnV0IHRoZSBzdGFjayB0cmFjZSB3ZSBwcm9kdWNlIG5vdyBpcyBjb21wbGV0ZSBhbmQgaGFuZGxl
cyBhbGwKLSAgICAgICAgICAgIC8vIHdheXMgaW4gd2hpY2ggY29kZSBtYXkgYmUgcnVubmluZwot
ICAgICAgICAgICAgaWYgKCF2aXNpdG9yLT5jYWxsZWUoKSAmJiBtX2ZyYW1lcy5zaXplKCkpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIFN0YWNrVmlzaXRvcjo6RG9uZTsKLQogICAgICAgICAgICAg
dW5zaWduZWQgbGluZTsKICAgICAgICAgICAgIHVuc2lnbmVkIGNvbHVtbjsKICAgICAgICAgICAg
IHZpc2l0b3ItPmNvbXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUsIGNvbHVtbik7CkBAIC0xMjksMjkg
Kzc2LDU4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFt
ZUNhcHR1cmUtLTsKICAgICAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkNvbnRpbnVlOwog
ICAgICAgICB9CisKICAgICAgICAgcmV0dXJuIFN0YWNrVmlzaXRvcjo6RG9uZTsKICAgICB9CiAK
IHByaXZhdGU6CiAgICAgYm9vbCBtX25lZWRUb1NraXBBRnJhbWU7Ci0gICAgc2l6ZV90IG1fcmVt
YWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmU7CiAgICAgVmVjdG9yPFNjcmlwdENhbGxGcmFt
ZT4mIG1fZnJhbWVzOworICAgIHNpemVfdCBtX3JlbWFpbmluZ0NhcGFjaXR5Rm9yRnJhbWVDYXB0
dXJlOwogfTsKIAorUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxT
dGFjayhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0
eUlzQWxsb3dlZCkKK3sKKyAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBmcmFtZXM7CisKKyAg
ICBpZiAoZXhlYykgeworICAgICAgICBDYWxsRnJhbWUqIGZyYW1lID0gZXhlYy0+dm0oKS50b3BD
YWxsRnJhbWU7CisgICAgICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IgZnVuY3Rvcihm
YWxzZSwgZnJhbWVzLCBtYXhTdGFja1NpemUpOworICAgICAgICBmcmFtZS0+aXRlcmF0ZShmdW5j
dG9yKTsKKyAgICB9CisKKyAgICBpZiAoZnJhbWVzLmlzRW1wdHkoKSAmJiAhZW1wdHlJc0FsbG93
ZWQpIHsKKyAgICAgICAgLy8gTm8gZnJhbWVzIGZvdW5kLiBJdCBtYXkgaGFwcGVuIGluIHRoZSBj
YXNlIHdoZXJlCisgICAgICAgIC8vIGEgYm91bmQgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gbmF0
aXZlIGNvZGUgZm9yIGV4YW1wbGUuCisgICAgICAgIC8vIEZhbGxiYWNrIHRvIHNldHRpbmcgbGlu
ZU51bWJlciB0byAwLCBhbmQgc291cmNlIGFuZCBmdW5jdGlvbiBuYW1lIHRvICJ1bmRlZmluZWQi
LgorICAgICAgICBmcmFtZXMuYXBwZW5kKFNjcmlwdENhbGxGcmFtZShBU0NJSUxpdGVyYWwoInVu
ZGVmaW5lZCIpLCBBU0NJSUxpdGVyYWwoInVuZGVmaW5lZCIpLCAwLCAwKSk7CisgICAgfQorCisg
ICAgcmV0dXJuIFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGZyYW1lcyk7Cit9CisKIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIHNpemVfdCBtYXhTdGFja1NpemUpCiB7CiAgICAgVmVjdG9yPFNjcmlwdENhbGxGcmFt
ZT4gZnJhbWVzOwotICAgIEFTU0VSVChleGVjKTsKKwogICAgIENhbGxGcmFtZSogZnJhbWUgPSBl
eGVjLT52bSgpLnRvcENhbGxGcmFtZTsKLSAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25z
b2xlRnVuY3RvciBmdW5jdG9yKHRydWUsIG1heFN0YWNrU2l6ZSwgZnJhbWVzKTsKKyAgICBDcmVh
dGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IodHJ1ZSwgZnJhbWVzLCBtYXhTdGFja1Np
emUpOwogICAgIGZyYW1lLT5pdGVyYXRlKGZ1bmN0b3IpOworCiAgICAgaWYgKGZyYW1lcy5pc0Vt
cHR5KCkpIHsKLSAgICAgICAgQ3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZUZ1bmN0b3Ig
ZnVuY3RvcihmYWxzZSwgbWF4U3RhY2tTaXplLCBmcmFtZXMpOworICAgICAgICBDcmVhdGVTY3Jp
cHRDYWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IoZmFsc2UsIGZyYW1lcywgbWF4U3RhY2tTaXplKTsK
ICAgICAgICAgZnJhbWUtPml0ZXJhdGUoZnVuY3Rvcik7CiAgICAgfQorCiAgICAgcmV0dXJuIFNj
cmlwdENhbGxTdGFjazo6Y3JlYXRlKGZyYW1lcyk7CiB9CiAKK1Bhc3NSZWZQdHI8U2NyaXB0Q2Fs
bFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlKEpTQzo6RXhlY1N0YXRlKiBl
eGVjKQoreworICAgIC8vIEZJWE1FOiBDYWxsZXIgc2hvdWxkIHVzZSBjcmVhdGVTY3JpcHRDYWxs
U3RhY2sgYWx0ZXJuYXRpdmUgd2l0aCB0aGUgZXhlYyBhbmQgYXBwcm9wcmlhdGUgbWF4LgorICAg
IHJldHVybiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soZXhlYywgU2NyaXB0Q2FsbFN0YWNrOjptYXhD
YWxsU3RhY2tTaXplVG9DYXB0dXJlKTsKK30KKwogUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqIGV4ZWMs
IEpTQzo6SlNWYWx1ZSYgZXhjZXB0aW9uLCBzaXplX3QgbWF4U3RhY2tTaXplKQogewogICAgIFZl
Y3RvcjxTY3JpcHRDYWxsRnJhbWU+IGZyYW1lczsKQEAgLTE2MCwxMCArMTM2LDEwIEBAIFBhc3NS
ZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGcm9tRXhjZXB0aW9u
KEpTQzo6RXhlY1N0YXRlKiBlCiAgICAgICAgIGlmICghc3RhY2tUcmFjZVtpXS5jYWxsZWUgJiYg
ZnJhbWVzLnNpemUoKSkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIFN0cmluZyBmdW5j
dGlvbk5hbWUgPSBzdGFja1RyYWNlW2ldLmZyaWVuZGx5RnVuY3Rpb25OYW1lKGV4ZWMpOwogICAg
ICAgICB1bnNpZ25lZCBsaW5lOwogICAgICAgICB1bnNpZ25lZCBjb2x1bW47CiAgICAgICAgIHN0
YWNrVHJhY2VbaV0uY29tcHV0ZUxpbmVBbmRDb2x1bW4obGluZSwgY29sdW1uKTsKKyAgICAgICAg
U3RyaW5nIGZ1bmN0aW9uTmFtZSA9IHN0YWNrVHJhY2VbaV0uZnJpZW5kbHlGdW5jdGlvbk5hbWUo
ZXhlYyk7CiAgICAgICAgIGZyYW1lcy5hcHBlbmQoU2NyaXB0Q2FsbEZyYW1lKGZ1bmN0aW9uTmFt
ZSwgc3RhY2tUcmFjZVtpXS5zb3VyY2VVUkwsIGxpbmUsIGNvbHVtbikpOwogICAgIH0KIApAQCAt
MTg2LDE3ICsxNjIsNiBAQCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0
Q2FsbFN0YWNrRnJvbUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSogZQogICAgIHJldHVybiBTY3Jp
cHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOwogfQogCi1QYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSogZXhl
YykKLXsKLSAgICBzaXplX3QgbWF4U3RhY2tTaXplID0gMTsKLSAgICBpZiAoSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSkgewotICAgICAgICBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0ID0ganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0
Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
OwotICAgICAgICBpZiAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQWdlbnRFbmFi
bGVkKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKQotICAgICAgICAgICAgbWF4U3RhY2tTaXplID0g
U2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlOwotICAgIH0KLSAgICBy
ZXR1cm4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKGV4ZWMsIG1heFN0YWNrU2l6ZSk7Ci19Ci0KIFBh
c3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3JpcHRBcmd1bWVudHMoSlNDOjpFeGVj
U3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHNraXBBcmd1bWVudENvdW50KQogewogICAgIFZlY3RvcjxE
ZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4gYXJndW1lbnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKc2ltaWxhcml0eSBp
bmRleCA2OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaAppbmRleCAyOThiYmJkLi43Y2U5YzkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0
b3J5LmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKICAqIG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCkBAIC0xNCw3ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoK
ICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAgLTMyLDI1ICsz
MywyNCBAQAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5X2gKIAogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRBcnJheS5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIEpTVmFsdWU7Ci1zdHJ1Y3QgU3RhY2tG
cmFtZTsKIH0KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CiAK
IGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAotUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzaXplX3QgbWF4U3Rh
Y2tTaXplLCBib29sIGVtcHR5U3RhY2tJc0FsbG93ZWQpOwotUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSosIHNpemVfdCBtYXhT
dGFja1NpemUpOwotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxT
dGFja0Zyb21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUmIGV4Y2VwdGlv
biwgc2l6ZV90IG1heFN0YWNrU2l6ZSk7Ci1QYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSopOwotUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IGNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhKU0M6OkV4ZWNTdGF0ZSos
IHVuc2lnbmVkIHNraXBBcmd1bWVudENvdW50KTsKKy8vIEZJWE1FOiBUaGUgc3VidGxlIGRpZmZl
cmVuY2VzIGJldHdlZW4gdGhlc2Ugc2hvdWxkIGJlIGVsaW1pbmF0ZWQuCitKU19FWFBPUlRfUFJJ
VkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpT
Qzo6RXhlY1N0YXRlKiwgc2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0eUlzQWxsb3dlZCk7
CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2Ny
aXB0Q2FsbFN0YWNrKEpTQzo6RXhlY1N0YXRlKiwgc2l6ZV90IG1heFN0YWNrU2l6ZSk7CitKU19F
WFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2Fs
bFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSopOworSlNfRVhQT1JUX1BSSVZBVEUgUGFz
c1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zyb21FeGNlcHRp
b24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUmIGV4Y2VwdGlvbiwgc2l6ZV90IG1heFN0
YWNrU2l6ZSk7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4g
Y3JlYXRlU2NyaXB0QXJndW1lbnRzKEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgc2tpcEFyZ3Vt
ZW50Q291bnQpOwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBJbnNw
ZWN0b3IKIAogI2VuZGlmIC8vIFNjcmlwdENhbGxTdGFja0ZhY3RvcnlfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
Y3BwCnNpbWlsYXJpdHkgaW5kZXggNjIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCmluZGV4IDhh
NDZkNjkuLmRiNmY5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTEsNCArMSw1IEBACiAvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dApAQCAtMjIsNjcgKzIzLDY2IEBACiAgKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0KICNpbmNs
dWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuaCIKIAotI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5oIgot
I2luY2x1ZGUgIkNvbnNvbGUuaCIKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAjaW5jbHVkZSAi
Q29uc29sZU1lc3NhZ2UuaCIKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKLSNpbmNsdWRlICJJbnNw
ZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCi0jaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oIgotI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKLSNpbmNsdWRl
ICJSZXNvdXJjZUVycm9yLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1
ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5o
IgogI2luY2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFj
ay5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKLSNpbmNsdWRlICJTY3Jp
cHRQcm9maWxlci5oIgotI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdE9iamVjdC5oPgorI2luY2x1
ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAotdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewor
bmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhpbXVtQ29u
c29sZU1lc3NhZ2VzID0gMTAwMDsKIHN0YXRpYyBjb25zdCBpbnQgZXhwaXJlQ29uc29sZU1lc3Nh
Z2VzU3RlcCA9IDEwMDsKIAotSW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25zb2xl
QWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgUGFnZUluamVj
dGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQotICAgIDogSW5zcGVjdG9y
QWdlbnRCYXNlKEFTQ0lJTGl0ZXJhbCgiQ29uc29sZSIpLCBpbnN0cnVtZW50aW5nQWdlbnRzKQor
SW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0b3JBZ2VudEJh
c2UoQVNDSUlMaXRlcmFsKCJDb25zb2xlIikpCiAgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdl
cihpbmplY3RlZFNjcmlwdE1hbmFnZXIpCiAgICAgLCBtX3ByZXZpb3VzTWVzc2FnZShudWxscHRy
KQogICAgICwgbV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCgwKQogICAgICwgbV9lbmFibGVk
KGZhbHNlKQotICAgICwgbV9tb25pdG9yaW5nWEhSRW5hYmxlZChmYWxzZSkKIHsKLSAgICBtX2lu
c3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNvbnNvbGVBZ2VudCh0aGlzKTsKIH0KIAog
SW5zcGVjdG9yQ29uc29sZUFnZW50Ojp+SW5zcGVjdG9yQ29uc29sZUFnZW50KCkKIHsKLSAgICBt
X2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNvbnNvbGVBZ2VudChudWxscHRyKTsK
LSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMgPSBudWxscHRyOwotICAgIG1faW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyID0gbnVsbHB0cjsKK30KKwordm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZyb250ZW5kQ2hh
bm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciogYmFja2Vu
ZERpc3BhdGNoZXIpCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5p
cXVlPEluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7
CisgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3RvckNvbnNvbGVCYWNrZW5kRGlzcGF0
Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKK30KKwordm9pZCBJbnNwZWN0
b3JDb25zb2xlQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3RvckRp
c2Nvbm5lY3RSZWFzb24pCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBudWxscHRyOwor
ICAgIG1fYmFja2VuZERpc3BhdGNoZXIuY2xlYXIoKTsKKworICAgIFN0cmluZyBlcnJvclN0cmlu
ZzsKKyAgICBkaXNhYmxlKCZlcnJvclN0cmluZyk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29uc29s
ZUFnZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQogewogICAgIGlmIChtX2VuYWJsZWQpCiAgICAg
ICAgIHJldHVybjsKKwogICAgIG1fZW5hYmxlZCA9IHRydWU7CiAKICAgICBpZiAobV9leHBpcmVk
Q29uc29sZU1lc3NhZ2VDb3VudCkgewotICAgICAgICBDb25zb2xlTWVzc2FnZSBleHBpcmVkTWVz
c2FnZSghaXNXb3JrZXJBZ2VudCgpLCBPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBl
LCBXYXJuaW5nTWVzc2FnZUxldmVsLCBTdHJpbmc6OmZvcm1hdCgiJWQgY29uc29sZSBtZXNzYWdl
cyBhcmUgbm90IHNob3duLiIsIG1fZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQpKTsKKyAgICAg
ICAgQ29uc29sZU1lc3NhZ2UgZXhwaXJlZE1lc3NhZ2UoIWlzV29ya2VyQWdlbnQoKSwgTWVzc2Fn
ZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6V2FybmluZywg
U3RyaW5nOjpmb3JtYXQoIiVkIGNvbnNvbGUgbWVzc2FnZXMgYXJlIG5vdCBzaG93bi4iLCBtX2V4
cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50KSk7CiAgICAgICAgIGV4cGlyZWRNZXNzYWdlLmFkZFRv
RnJvbnRlbmQobV9mcm9udGVuZERpc3BhdGNoZXIuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLCBmYWxzZSk7CiAgICAgfQogCkBAIC05NSw2ICs5NSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29u
c29sZUFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKIHsKICAgICBpZiAoIW1fZW5hYmxlZCkK
ICAgICAgICAgcmV0dXJuOworCiAgICAgbV9lbmFibGVkID0gZmFsc2U7CiB9CiAKQEAgLTEwMyw3
ICsxMDQsOSBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJNZXNzYWdlcyhFcnJv
clN0cmluZyopCiAgICAgbV9jb25zb2xlTWVzc2FnZXMuY2xlYXIoKTsKICAgICBtX2V4cGlyZWRD
b25zb2xlTWVzc2FnZUNvdW50ID0gMDsKICAgICBtX3ByZXZpb3VzTWVzc2FnZSA9IG51bGxwdHI7
Ci0gICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVhc2VPYmplY3RHcm91cCgiY29uc29s
ZSIpOworCisgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVhc2VPYmplY3RHcm91cChB
U0NJSUxpdGVyYWwoImNvbnNvbGUiKSk7CisKICAgICBpZiAobV9mcm9udGVuZERpc3BhdGNoZXIg
JiYgbV9lbmFibGVkKQogICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+bWVzc2FnZXNDbGVh
cmVkKCk7CiB9CkBAIC0xMTIsMzEgKzExNSwxNyBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dDo6cmVzZXQoKQogewogICAgIEVycm9yU3RyaW5nIGVycm9yOwogICAgIGNsZWFyTWVzc2FnZXMo
JmVycm9yKTsKKwogICAgIG1fdGltZXMuY2xlYXIoKTsKICAgICBtX2NvdW50cy5jbGVhcigpOwog
fQogCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWws
IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKLXsKLSAgICBt
X2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQ29uc29sZUZy
b250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKLSAgICBtX2JhY2tlbmREaXNwYXRj
aGVyID0gSW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERp
c3BhdGNoZXIsIHRoaXMpOwotfQotCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6d2lsbERl
c3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbikKLXsKLSAg
ICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IG51bGxwdHI7Ci0gICAgbV9iYWNrZW5kRGlzcGF0Y2hl
ci5jbGVhcigpOwotCi0gICAgU3RyaW5nIGVycm9yU3RyaW5nOwotICAgIGRpc2FibGUoJmVycm9y
U3RyaW5nKTsKLX0KLQogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAgIGlm
ICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQoKSkKKyAgICBpZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNw
ZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaWYgKHR5cGUgPT0gQ2xlYXJNZXNzYWdlVHlwZSkgeworICAgIGlmICh0eXBl
ID09IE1lc3NhZ2VUeXBlOjpDbGVhcikgewogICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAg
ICAgICAgY2xlYXJNZXNzYWdlcygmZXJyb3IpOwogICAgIH0KQEAgLTE0NiwxMCArMTM1LDEwIEBA
IHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwCiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50Ojph
ZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBl
LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3Rh
dGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzLCB1bnNpZ25l
ZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAgIGlmICghbV9pbnN0cnVtZW50aW5nQWdl
bnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKKyAg
ICBpZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRl
dmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHR5cGUg
PT0gQ2xlYXJNZXNzYWdlVHlwZSkgeworICAgIGlmICh0eXBlID09IE1lc3NhZ2VUeXBlOjpDbGVh
cikgewogICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAgICAgICAgY2xlYXJNZXNzYWdlcygm
ZXJyb3IpOwogICAgIH0KQEAgLTE1OSwxMCArMTQ4LDEwIEBAIHZvaWQgSW5zcGVjdG9yQ29uc29s
ZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
VHlwCiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1l
c3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3JpcHRJRCwgdW5zaWduZWQg
bGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUs
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgaWYgKCFtX2luc3RydW1l
bnRpbmdBZ2VudHMtPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxl
ZCgpKQorICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3RvckVudmlyb25t
ZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBp
ZiAodHlwZSA9PSBDbGVhck1lc3NhZ2VUeXBlKSB7CisgICAgaWYgKHR5cGUgPT0gTWVzc2FnZVR5
cGU6OkNsZWFyKSB7CiAgICAgICAgIEVycm9yU3RyaW5nIGVycm9yOwogICAgICAgICBjbGVhck1l
c3NhZ2VzKCZlcnJvcik7CiAgICAgfQpAQCAtMTcxLDcgKzE2MCw3IEBAIHZvaWQgSW5zcGVjdG9y
Q29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlVHlwCiAgICAgYWRkQ29uc29sZU1lc3NhZ2UoYWRvcHRQdHIobmV3IENvbnNvbGVNZXNz
YWdlKGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBz
Y3JpcHRJRCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZp
ZXIpKSk7CiB9CiAKLVZlY3Rvcjx1bnNpZ25lZD4gSW5zcGVjdG9yQ29uc29sZUFnZW50Ojpjb25z
b2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkKK1ZlY3Rvcjx1bnNpZ25lZD4gSW5zcGVjdG9yQ29u
c29sZUFnZW50Ojpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkgY29uc3QKIHsKICAgICBW
ZWN0b3I8dW5zaWduZWQ+IHJlc3VsdChtX2NvbnNvbGVNZXNzYWdlcy5zaXplKCkpOwogICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jb25zb2xlTWVzc2FnZXMuc2l6ZSgpOyBpKyspCkBAIC0y
MDUsNyArMTk0LDcgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnN0b3BUaW1pbmcoY29u
c3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWwKIAogICAgIGRvdWJsZSBlbGFw
c2VkID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzdGFydFRpbWU7CiAgICAgU3Ry
aW5nIG1lc3NhZ2UgPSB0aXRsZSArIFN0cmluZzo6Zm9ybWF0KCI6ICUuM2ZtcyIsIGVsYXBzZWQg
KiAxMDAwKTsKLSAgICBhZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNzYWdlU291cmNl
LCBUaW1pbmdNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFj
ayk7CisgICAgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBN
ZXNzYWdlVHlwZTo6VGltaW5nLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdlLCBjYWxsU3Rh
Y2spOwogfQogCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y291bnQoSlNDOjpFeGVjU3Rh
dGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpAQCAtMjMw
LDY4ICsyMTksMTkgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmNvdW50KEpTQzo6RXhl
Y1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWUKICAgICBtX2NvdW50cy5hZGQo
aWRlbnRpZmllciwgY291bnQpOwogCiAgICAgU3RyaW5nIG1lc3NhZ2UgPSB0aXRsZSArICI6ICIg
KyBTdHJpbmc6Om51bWJlcihjb3VudCk7Ci0gICAgYWRkTWVzc2FnZVRvQ29uc29sZShDb25zb2xl
QVBJTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxldmVsLCBtZXNz
YWdlLCBjYWxsU3RhY2spOwotfQotCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZnJhbWVX
aW5kb3dEaXNjYXJkZWQoRE9NV2luZG93KiB3aW5kb3cpCi17Ci0gICAgc2l6ZV90IG1lc3NhZ2VD
b3VudCA9IG1fY29uc29sZU1lc3NhZ2VzLnNpemUoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG1lc3NhZ2VDb3VudDsgKytpKQotICAgICAgICBtX2NvbnNvbGVNZXNzYWdlc1tpXS0+d2lu
ZG93Q2xlYXJlZCh3aW5kb3cpOwotICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5kaXNjYXJk
SW5qZWN0ZWRTY3JpcHRzRm9yKHdpbmRvdyk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29uc29sZUFn
ZW50OjpkaWRGaW5pc2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2lnbmVkIHNlbmRM
aW5lTnVtYmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKQotewotICAgIGlmICghbV9pbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0Vu
YWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChtX2Zyb250ZW5kRGlzcGF0Y2hlciAm
JiBtX21vbml0b3JpbmdYSFJFbmFibGVkKSB7Ci0gICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlhI
UiBmaW5pc2hlZCBsb2FkaW5nOiBcIiIgKyB1cmwgKyAiXCIuIjsKLSAgICAgICAgYWRkTWVzc2Fn
ZVRvQ29uc29sZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIERlYnVnTWVz
c2FnZUxldmVsLCBtZXNzYWdlLCBzZW5kVVJMLCBzZW5kTGluZU51bWJlciwgc2VuZENvbHVtbk51
bWJlciwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOwotICAgIH0KLX0KLQotdm9pZCBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIHJlcXVl
c3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLXsKLSAgICBp
ZiAoIW1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9w
ZXJFeHRyYXNFbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChyZXNwb25zZS5o
dHRwU3RhdHVzQ29kZSgpID49IDQwMCkgewotICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJGYWls
ZWQgdG8gbG9hZCByZXNvdXJjZTogdGhlIHNlcnZlciByZXNwb25kZWQgd2l0aCBhIHN0YXR1cyBv
ZiAiICsgU3RyaW5nOjpudW1iZXIocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSkgKyAiICgiICsg
cmVzcG9uc2UuaHR0cFN0YXR1c1RleHQoKSArICcpJzsKLSAgICAgICAgYWRkTWVzc2FnZVRvQ29u
c29sZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCBtZXNzYWdlLCByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgMCwgMCwgbnVsbHB0ciwgcmVx
dWVzdElkZW50aWZpZXIpOwotICAgIH0KLX0KLQotdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6
OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJl
c291cmNlRXJyb3ImIGVycm9yKQotewotICAgIGlmICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5p
bnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKLSAgICAgICAg
cmV0dXJuOwotICAgIGlmIChlcnJvci5pc0NhbmNlbGxhdGlvbigpKSAvLyBSZXBvcnQgZmFpbHVy
ZXMgb25seS4KLSAgICAgICAgcmV0dXJuOwotICAgIFN0cmluZ0J1aWxkZXIgbWVzc2FnZTsKLSAg
ICBtZXNzYWdlLmFwcGVuZExpdGVyYWwoIkZhaWxlZCB0byBsb2FkIHJlc291cmNlIik7Ci0gICAg
aWYgKCFlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLmlzRW1wdHkoKSkgewotICAgICAgICBt
ZXNzYWdlLmFwcGVuZExpdGVyYWwoIjogIik7Ci0gICAgICAgIG1lc3NhZ2UuYXBwZW5kKGVycm9y
LmxvY2FsaXplZERlc2NyaXB0aW9uKCkpOwotICAgIH0KLSAgICBhZGRNZXNzYWdlVG9Db25zb2xl
KE5ldHdvcmtNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UudG9TdHJpbmcoKSwgZXJyb3IuZmFpbGluZ1VSTCgpLCAwLCAwLCBudWxscHRyLCBy
ZXF1ZXN0SWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpzZXRN
b25pdG9yaW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkKLXsKLSAgICBt
X21vbml0b3JpbmdYSFJFbmFibGVkID0gZW5hYmxlZDsKKyAgICBhZGRNZXNzYWdlVG9Db25zb2xl
KE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZl
bDo6RGVidWcsIG1lc3NhZ2UsIGNhbGxTdGFjayk7CiB9CiAKIHN0YXRpYyBib29sIGlzR3JvdXBN
ZXNzYWdlKE1lc3NhZ2VUeXBlIHR5cGUpCiB7Ci0gICAgcmV0dXJuIHR5cGUgPT0gU3RhcnRHcm91
cE1lc3NhZ2VUeXBlCi0gICAgICAgIHx8IHR5cGUgPT0gIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNz
YWdlVHlwZQotICAgICAgICB8fCB0eXBlID09IEVuZEdyb3VwTWVzc2FnZVR5cGU7CisgICAgcmV0
dXJuIHR5cGUgPT0gTWVzc2FnZVR5cGU6OlN0YXJ0R3JvdXAKKyAgICAgICAgfHwgdHlwZSA9PSBN
ZXNzYWdlVHlwZTo6U3RhcnRHcm91cENvbGxhcHNlZAorICAgICAgICB8fCB0eXBlID09IE1lc3Nh
Z2VUeXBlOjpFbmRHcm91cDsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZENv
bnNvbGVNZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3NhZ2U+IGNvbnNvbGVNZXNzYWdlKQog
ewotICAgIEFTU0VSVChtX2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckVudmlyb25tZW50
KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQobV9pbmplY3RlZFNjcmlw
dE1hbmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgp
KTsKICAgICBBU1NFUlRfQVJHKGNvbnNvbGVNZXNzYWdlLCBjb25zb2xlTWVzc2FnZSk7CiAKICAg
ICBpZiAobV9wcmV2aW91c01lc3NhZ2UgJiYgIWlzR3JvdXBNZXNzYWdlKG1fcHJldmlvdXNNZXNz
YWdlLT50eXBlKCkpICYmIG1fcHJldmlvdXNNZXNzYWdlLT5pc0VxdWFsKGNvbnNvbGVNZXNzYWdl
LmdldCgpKSkgewpAQCAtMzExLDIzICsyNTEsNiBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dDo6YWRkQ29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxDb25zb2xlTWVzc2FnZT4gY29uc29sZQog
ICAgIH0KIH0KIAotY2xhc3MgSW5zcGVjdGFibGVIZWFwT2JqZWN0IGZpbmFsIDogcHVibGljIENv
bW1hbmRMaW5lQVBJSG9zdDo6SW5zcGVjdGFibGVPYmplY3QgewotcHVibGljOgotICAgIGV4cGxp
Y2l0IEluc3BlY3RhYmxlSGVhcE9iamVjdChpbnQgaGVhcE9iamVjdElkKSA6IG1faGVhcE9iamVj
dElkKGhlYXBPYmplY3RJZCkgeyB9Ci0gICAgdmlydHVhbCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1
ZSBnZXQoSlNDOjpFeGVjU3RhdGUqKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgcmV0dXJuIFNj
cmlwdFByb2ZpbGVyOjpvYmplY3RCeUhlYXBPYmplY3RJZChtX2hlYXBPYmplY3RJZCk7Ci0gICAg
fQotcHJpdmF0ZToKLSAgICBpbnQgbV9oZWFwT2JqZWN0SWQ7Ci19OwotCi12b2lkIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyosIGludCBp
bnNwZWN0ZWRIZWFwT2JqZWN0SWQpCi17Ci0gICAgaWYgKENvbW1hbmRMaW5lQVBJSG9zdCogY29t
bWFuZExpbmVBUElIb3N0ID0gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmNvbW1hbmRMaW5lQVBJ
SG9zdCgpKQotICAgICAgICBjb21tYW5kTGluZUFQSUhvc3QtPmFkZEluc3BlY3RlZE9iamVjdChh
ZG9wdFB0cihuZXcgSW5zcGVjdGFibGVIZWFwT2JqZWN0KGluc3BlY3RlZEhlYXBPYmplY3RJZCkp
KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9y
CiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWE3OWU2Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
Q29uc29sZUFnZW50LmgKQEAgLTAsMCArMSwxMDMgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAx
NCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisqIGFyZSBtZXQ6CisqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTCisqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2lmbmRlZiBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAor
I2RlZmluZSBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikK
KworI2luY2x1ZGUgIkluc3BlY3RvckpTQmFja2VuZERpc3BhdGNoZXJzLmgiCisjaW5jbHVkZSAi
SW5zcGVjdG9ySlNGcm9udGVuZERpc3BhdGNoZXJzLmgiCisjaW5jbHVkZSAiaW5zcGVjdG9yL0Nv
bnNvbGVUeXBlcy5oIgorI2luY2x1ZGUgImluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2UuaCIK
KyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBFeGVj
U3RhdGU7Cit9CisKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCitjbGFzcyBDb25zb2xlTWVzc2Fn
ZTsKK2NsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNzIFNjcmlwdEFyZ3VtZW50czsK
K2NsYXNzIFNjcmlwdENhbGxTdGFjazsKK3R5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOworCitj
bGFzcyBKU19FWFBPUlRfUFJJVkFURSBJbnNwZWN0b3JDb25zb2xlQWdlbnQgOiBwdWJsaWMgSW5z
cGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRjaGVy
SGFuZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQ29uc29sZUFnZW50
KTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JD
b25zb2xlQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAgdmlydHVhbCB+SW5zcGVj
dG9yQ29uc29sZUFnZW50KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOworCisgICAgdmly
dHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9p
ZCBkaXNhYmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGNsZWFy
TWVzc2FnZXMoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TW9u
aXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyos
IGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpID0gMDsKKworICAgIHZpcnR1YWwgYm9vbCBpc1dv
cmtlckFnZW50KCkgY29uc3QgPSAwOworCisgICAgYm9vbCBlbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9lbmFibGVkOyB9CisgICAgdm9pZCByZXNldCgpOworCisgICAgdm9pZCBhZGRNZXNzYWdl
VG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3Vt
ZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFk
ZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlwdElELCB1bnNpZ25l
ZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhlY1N0YXRlKiA9IG51
bGxwdHIsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFk
ZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKworICAgIFZlY3Rvcjx1bnNpZ25l
ZD4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpIGNvbnN0OworCisgICAgdm9pZCBzdGFy
dFRpbWluZyhjb25zdCBTdHJpbmcmIHRpdGxlKTsKKyAgICB2b2lkIHN0b3BUaW1pbmcoY29uc3Qg
U3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICB2b2lkIGNv
dW50KEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKKworcHJv
dGVjdGVkOgorICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxDb25zb2xlTWVz
c2FnZT4pOworCisgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFu
YWdlcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQ29uc29sZUZyb250ZW5kRGlzcGF0
Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7CisgICAgUmVmUHRyPEluc3BlY3RvckNvbnNvbGVC
YWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKKyAgICBDb25zb2xlTWVzc2Fn
ZSogbV9wcmV2aW91c01lc3NhZ2U7CisgICAgVmVjdG9yPE93blB0cjxDb25zb2xlTWVzc2FnZT4+
IG1fY29uc29sZU1lc3NhZ2VzOworICAgIGludCBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50
OworICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV9jb3VudHM7CisgICAgSGFzaE1hcDxT
dHJpbmcsIGRvdWJsZT4gbV90aW1lczsKKyAgICBib29sIG1fZW5hYmxlZDsKK307CisKK30gLy8g
bmFtZXNwYWNlIEluc3BlY3RvcgorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKKworI2Vu
ZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckNvbnNvbGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50
LmNwcApzaW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcAppbmRleCA2
NTgyMTg4Li4xZmUyZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFn
ZUluamVjdGVkU2NyaXB0SG9zdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMjUgKzIzLDMzIEBACiAgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgUGFnZUluamVjdGVkU2NyaXB0SG9zdF9oCi0jZGVm
aW5lIFBhZ2VJbmplY3RlZFNjcmlwdEhvc3RfaAorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oPgorbmFtZXNwYWNl
IEluc3BlY3RvciB7CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK0pTR2xvYmFsT2JqZWN0Q29uc29s
ZUFnZW50OjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIq
IGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckNvbnNvbGVBZ2VudChpbmpl
Y3RlZFNjcmlwdE1hbmFnZXIpCit7Cit9CiAKLWNsYXNzIFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Qg
ZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdEhvc3QgewotcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Q+IGNyZWF0ZSgpIHsg
cmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0KTsgfQordm9pZCBKU0ds
b2JhbE9iamVjdENvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJp
bmcqIGVycm9yU3RyaW5nLCBib29sKQoreworICAgICplcnJvclN0cmluZyA9IEFTQ0lJTGl0ZXJh
bCgiTm90IHN1cHBvcnRlZCBmb3IgSmF2YVNjcmlwdCBjb250ZXh0Iik7Cit9CiAKLSAgICB2aXJ0
dWFsIEpTQzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKSBvdmVy
cmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29sbGVjdGlvbihKU0M6OkpTVmFsdWUp
IG92ZXJyaWRlOwotfTsKK3ZvaWQgSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6OmFkZEluc3Bl
Y3RlZE5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQpCit7CisgICAgKmVycm9yU3Ry
aW5nID0gQVNDSUlMaXRlcmFsKCJOb3Qgc3VwcG9ydGVkIGZvciBKYXZhU2NyaXB0IGNvbnRleHQi
KTsKK30KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQordm9pZCBKU0dsb2JhbE9iamVjdENvbnNv
bGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcs
IGludCkKK3sKKyAgICAqZXJyb3JTdHJpbmcgPSBBU0NJSUxpdGVyYWwoIk5vdCBzdXBwb3J0ZWQg
Zm9yIEphdmFTY3JpcHQgY29udGV4dCIpOworfQorCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IK
IAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KLSNlbmRpZiAvLyAhZGVmaW5lZChQYWdl
SW5qZWN0ZWRTY3JpcHRIb3N0X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaApzaW1pbGFyaXR5IGluZGV4
IDU4JQpjb3B5IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlw
dEhvc3QuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pT
R2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgKaW5kZXggNjU4MjE4OC4uZTU4NWViZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVj
dENvbnNvbGVBZ2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yMywyNSArMjMsMzMgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRl
ZiBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0X2gKLSNkZWZpbmUgUGFnZUluamVjdGVkU2NyaXB0SG9z
dF9oCisjaWZuZGVmIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50X2gKKyNkZWZpbmUgSlNHbG9i
YWxPYmplY3RDb25zb2xlQWdlbnRfaAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotI2luY2x1
ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaD4KKyNpbmNsdWRlICJJbnNwZWN0b3JD
b25zb2xlQWdlbnQuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVy
LmgiCiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCi1jbGFz
cyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0IGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6SW5qZWN0
ZWRTY3JpcHRIb3N0IHsKK2NsYXNzIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50IGZpbmFsIDog
cHVibGljIEluc3BlY3RvckNvbnNvbGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Q+
IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0KTsg
fQorICAgIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciop
OworICAgIHZpcnR1YWwgfkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KCkgeyB9CiAKLSAgICB2
aXJ0dWFsIEpTQzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKSBv
dmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29sbGVjdGlvbihKU0M6OkpTVmFs
dWUpIG92ZXJyaWRlOworICAgIC8vIEZJWE1FOiBYSFJzIGFuZCBOb2RlcyBvbmx5IG1ha2VzIHNl
bnNlIGRlYnVnZ2luZyBhIFdlYiBjb250ZXh0LiBDYW4gdGhpcyBiZSBtb3ZlZCB0byBhIGRpZmZl
cmVudCBhZ2VudD8KKyAgICB2aXJ0dWFsIHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJy
b3JTdHJpbmcqLCBib29sIGVuYWJsZWQpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBhZGRJ
bnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCkgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCB2b2lkIGFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJyb3JTdHJpbmcqLCBpbnQgaW5zcGVj
dGVkSGVhcE9iamVjdElkKSBvdmVycmlkZTsKKworICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFn
ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKIAotI2VuZGlmIC8vICFkZWZpbmVkKFBhZ2VJbmplY3RlZFNjcmlwdEhvc3RfaCkKKyNlbmRp
ZiAvLyAhZGVmaW5lZChKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1
Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pT
R2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKaW5kZXggZDRjMzJkNy4uMmUxNzUwYiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxP
YmplY3REZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwCkBAIC0yOSwxNSArMjks
MjAgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAi
SlNHbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKKyNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2suaCIKKyNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmgi
CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCi1KU0ds
b2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OkpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudChJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwgSlNDOjpKU0dsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0KQorSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50OjpKU0dsb2Jh
bE9iamVjdERlYnVnZ2VyQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlw
dE1hbmFnZXIsIEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSW5zcGVjdG9yQ29u
c29sZUFnZW50KiBjb25zb2xlQWdlbnQpCiAgICAgOiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KGlu
amVjdGVkU2NyaXB0TWFuYWdlcikKICAgICAsIG1fc2NyaXB0RGVidWdTZXJ2ZXIoZ2xvYmFsT2Jq
ZWN0KQorICAgICwgbV9jb25zb2xlQWdlbnQoY29uc29sZUFnZW50KQogewogfQogCkBAIC02Miw2
ICs2NywxMSBAQCBJbmplY3RlZFNjcmlwdCBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6Omlu
amVjdGVkU2NyaXB0Rm9yRXZhbChFcnJvclN0cmluZyogZQogICAgIHJldHVybiBpbmplY3RlZFNj
cmlwdE1hbmFnZXIoKS0+aW5qZWN0ZWRTY3JpcHRGb3IoZXhlYyk7CiB9CiAKK3ZvaWQgSlNHbG9i
YWxPYmplY3REZWJ1Z2dlckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRl
KiBleGVjLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7CisgICAgbV9jb25zb2xlQWdlbnQtPmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VUeXBlOjpMb2csIE1l
c3NhZ2VMZXZlbDo6TG9nLCBtZXNzYWdlLCBjcmVhdGVTY3JpcHRDYWxsU3RhY2soZXhlYywgU2Ny
aXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0cnVlKSwgMCk7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xv
YmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmgKaW5kZXggYTlmZDY3OS4uNDQz
YmZhMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmgKQEAgLTMzLDEx
ICszMywxMyBAQAogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAorY2xhc3MgSW5zcGVjdG9yQ29u
c29sZUFnZW50OworCiBjbGFzcyBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQgZmluYWwgOiBw
dWJsaWMgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50KTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKLSAgICBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQoSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKiwgSlNDOjpKU0dsb2JhbE9iamVjdCYpOworICAgIEpTR2xvYmFsT2JqZWN0RGVi
dWdnZXJBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBKU0M6OkpTR2xvYmFsT2JqZWN0Jiwg
SW5zcGVjdG9yQ29uc29sZUFnZW50Kik7CiAgICAgdmlydHVhbCB+SlNHbG9iYWxPYmplY3REZWJ1
Z2dlckFnZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIEpTR2xvYmFsT2JqZWN0U2NyaXB0RGVidWdT
ZXJ2ZXImIHNjcmlwdERlYnVnU2VydmVyKCkgb3ZlcnJpZGUgeyByZXR1cm4gbV9zY3JpcHREZWJ1
Z1NlcnZlcjsgfQpAQCAtNDYsOCArNDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHN0
b3BMaXN0ZW5pbmdTY3JpcHREZWJ1Z1NlcnZlcihib29sIGlzQmVpbmdEZXN0cm95ZWQpIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgSW5qZWN0ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHRGb3JFdmFsKEVy
cm9yU3RyaW5nKiwgY29uc3QgaW50KiBleGVjdXRpb25Db250ZXh0SWQpIG92ZXJyaWRlOwogCi0g
ICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgYSBDb25zb2xlQWdlbnQgdG8gc2VuZCBhIGxvZyB0by4K
LSAgICB2aXJ0dWFsIHZvaWQgYnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNv
bnN0IFN0cmluZyYpIG92ZXJyaWRlIGZpbmFsIHsgfQorICAgIHZpcnR1YWwgdm9pZCBicmVha3Bv
aW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGUgZmlu
YWw7CiAKICAgICAvLyBGSVhNRTogSmF2YVNjcmlwdCBpbnNwZWN0b3IgZG9lcyBub3QgeWV0IGhh
dmUgYSBjb25zb2xlIG9iamVjdCB0byBtdXRlLgogICAgIHZpcnR1YWwgdm9pZCBtdXRlQ29uc29s
ZSgpIG92ZXJyaWRlIHsgfQpAQCAtNTUsNiArNTYsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAg
ICAgSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlciBtX3NjcmlwdERlYnVnU2VydmVyOwor
ICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9w
cm90b2NvbC9Db25zb2xlLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3By
b3RvY29sL0NvbnNvbGUuanNvbgpzaW1pbGFyaXR5IGluZGV4IDg2JQpyZW5hbWUgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCnJlbmFtZSB0byBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbgppbmRleCAz
NWJkMTFhLi5mYzNjOTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJv
dG9jb2wvQ29uc29sZS5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cHJvdG9jb2wvQ29uc29sZS5qc29uCkBAIC0zLDYgKzMsMTYgQEAKICAgICAiZGVzY3JpcHRpb24i
OiAiQ29uc29sZSBkb21haW4gZGVmaW5lcyBtZXRob2RzIGFuZCBldmVudHMgZm9yIGludGVyYWN0
aW9uIHdpdGggdGhlIEphdmFTY3JpcHQgY29uc29sZS4gQ29uc29sZSBjb2xsZWN0cyBtZXNzYWdl
cyBjcmVhdGVkIGJ5IG1lYW5zIG9mIHRoZSA8YSBocmVmPSdodHRwOi8vZ2V0ZmlyZWJ1Zy5jb20v
d2lraS9pbmRleC5waHAvQ29uc29sZV9BUEknPkphdmFTY3JpcHQgQ29uc29sZSBBUEk8L2E+LiBP
bmUgbmVlZHMgdG8gZW5hYmxlIHRoaXMgZG9tYWluIHVzaW5nIDxjb2RlPmVuYWJsZTwvY29kZT4g
Y29tbWFuZCBpbiBvcmRlciB0byBzdGFydCByZWNlaXZpbmcgdGhlIGNvbnNvbGUgbWVzc2FnZXMu
IEJyb3dzZXIgY29sbGVjdHMgbWVzc2FnZXMgaXNzdWVkIHdoaWxlIGNvbnNvbGUgZG9tYWluIGlz
IG5vdCBlbmFibGVkIGFzIHdlbGwgYW5kIHJlcG9ydHMgdGhlbSB1c2luZyA8Y29kZT5tZXNzYWdl
QWRkZWQ8L2NvZGU+IG5vdGlmaWNhdGlvbiB1cG9uIGVuYWJsaW5nLiIsCiAgICAgInR5cGVzIjog
WwogICAgICAgICB7CisgICAgICAgICAgICAiaWQiOiAiQ29uc29sZU5ldHdvcmtSZXF1ZXN0SWQi
LAorICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJVbmlxdWUgcmVxdWVzdCBpZGVudGlmaWVyLiBGSVhNRTogRHVwbGljYXRlIG9mIE5ldHdv
cmsuUmVxdWVzdElkIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMjU2NjQ+IFdlYiBJbnNwZWN0b3I6
IEZJWCBUeXBlIERlcGVuZGVuY3kgSXNzdWVzIgorICAgICAgICB9LAorICAgICAgICB7CisgICAg
ICAgICAgICAiaWQiOiAiQ29uc29sZURPTU5vZGVJZCIsCisgICAgICAgICAgICAidHlwZSI6ICJp
bnRlZ2VyIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUgRE9NIG5vZGUgaWRl
bnRpZmllci4gRklYTUU6IER1cGxpY2F0ZSBvZiBET00uTm9kZUlkIDxodHRwczovL3dlYmtpdC5v
cmcvYi8xMjU2NjQ+IFdlYiBJbnNwZWN0b3I6IEZJWCBUeXBlIERlcGVuZGVuY3kgSXNzdWVzIgor
ICAgICAgICB9LAorICAgICAgICB7CiAgICAgICAgICAgICAiaWQiOiAiQ29uc29sZU1lc3NhZ2Ui
LAogICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJDb25zb2xlIG1lc3NhZ2UuIiwKQEAgLTE3LDcgKzI3LDcgQEAKICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogInJlcGVhdENvdW50IiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6
IHRydWUsICJkZXNjcmlwdGlvbiI6ICJSZXBlYXQgY291bnQgZm9yIHJlcGVhdGVkIG1lc3NhZ2Vz
LiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhcmFtZXRlcnMiLCAidHlwZSI6ICJh
cnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiUnVudGltZS5SZW1vdGVPYmplY3QiIH0sICJvcHRp
b25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJNZXNzYWdlIHBhcmFtZXRlcnMgaW4gY2FzZSBv
ZiB0aGUgZm9ybWF0dGVkIG1lc3NhZ2UuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
c3RhY2tUcmFjZSIsICIkcmVmIjogIlN0YWNrVHJhY2UiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVz
Y3JpcHRpb24iOiAiSmF2YVNjcmlwdCBzdGFjayB0cmFjZSBmb3IgYXNzZXJ0aW9ucyBhbmQgZXJy
b3IgbWVzc2FnZXMuIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmV0d29ya1JlcXVl
c3RJZCIsICIkcmVmIjogIk5ldHdvcmsuUmVxdWVzdElkIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIklkZW50aWZpZXIgb2YgdGhlIG5ldHdvcmsgcmVxdWVzdCBhc3NvY2lhdGVk
IHdpdGggdGhpcyBtZXNzYWdlLiIgfQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmV0d29y
a1JlcXVlc3RJZCIsICIkcmVmIjogIkNvbnNvbGVOZXR3b3JrUmVxdWVzdElkIiwgIm9wdGlvbmFs
IjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIgb2YgdGhlIG5ldHdvcmsgcmVxdWVz
dCBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZXNzYWdlLiIgfQogICAgICAgICAgICAgXQogICAgICAg
ICB9LAogICAgICAgICB7CkBAIC02MSw3ICs3MSw3IEBACiAgICAgICAgIHsKICAgICAgICAgICAg
ICJuYW1lIjogImFkZEluc3BlY3RlZE5vZGUiLAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBb
Ci0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJET00uTm9kZUlk
IiwgImRlc2NyaXB0aW9uIjogIkRPTSBub2RlIGlkIHRvIGJlIGFjY2Vzc2libGUgYnkgbWVhbnMg
b2YgJHggY29tbWFuZCBsaW5lIEFQSS4iIH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5v
ZGVJZCIsICIkcmVmIjogIkNvbnNvbGVET01Ob2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiRE9NIG5v
ZGUgaWQgdG8gYmUgYWNjZXNzaWJsZSBieSBtZWFucyBvZiAkeCBjb21tYW5kIGxpbmUgQVBJLiIg
fQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIGNv
bnNvbGUgdG8gcmVmZXIgdG8gdGhlIG5vZGUgd2l0aCBnaXZlbiBpZCB2aWEgJHggKHNlZSBDb21t
YW5kIExpbmUgQVBJIGZvciBtb3JlIGRldGFpbHMgJHggZnVuY3Rpb25zKS4iCiAgICAgICAgIH0s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2Vu
ZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkKaW5k
ZXggZGIxNjNiZi4uNTM2NjAzMSAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1jb21iaW5l
ZC1pbnNwZWN0b3ItanNvbi5weQpAQCAtNjYsMyArNjYsNCBAQCBmb3IgZmlsZSBpbiBmaWxlczoK
IAogICAgIHByaW50KHN0cmluZy5yc3RyaXAoKSkKIHByaW50KCJdfSIpCisKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggYTdlZTIzNi4uODE4MGQzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTc2
MCw3ICs3NjAsNiBAQCBzZXQoV2ViQ29yZV9JTlNQRUNUT1JfRE9NQUlOUwogICAgIGluc3BlY3Rv
ci9wcm90b2NvbC9BcHBsaWNhdGlvbkNhY2hlLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9jb2wv
Q1NTLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9jb2wvQ2FudmFzLmpzb24KLSAgICBpbnNwZWN0
b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29u
CiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0RPTURlYnVnZ2VyLmpzb24KICAgICBpbnNwZWN0b3Iv
cHJvdG9jb2wvRE9NU3RvcmFnZS5qc29uCkBAIC0xNTY2LDE2ICsxNTY1LDEzIEBAIHNldChXZWJD
b3JlX1NPVVJDRVMKIAogICAgIGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCiAgICAg
aW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcAotICAgIGluc3BlY3Rvci9Db25zb2xl
TWVzc2FnZS5jcHAKICAgICBpbnNwZWN0b3IvRE9NRWRpdG9yLmNwcAogICAgIGluc3BlY3Rvci9E
T01QYXRjaFN1cHBvcnQuY3BwCi0gICAgaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAK
ICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuY3BwCiAgICAgaW5zcGVj
dG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5z
cGVjdG9yQ1NTQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhc0FnZW50LmNw
cAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuY3BwCi0gICAgaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuY3BwCiAgICAgaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTYwOSwxMCArMTYwNSw4IEBAIHNldChXZWJDb3JlX1NP
VVJDRVMKICAgICBpbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5jcHAKICAgICBpbnNw
ZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKICAgICBpbnNwZWN0b3IvUGFnZVJ1
bnRpbWVBZ2VudC5jcHAKLSAgICBpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcAotICAgIGlu
c3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCi0gICAgaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5jcHAKICAgICBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAorICAgIGluc3Bl
Y3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL1dlYkRlYnVnZ2VyQWdlbnQu
Y3BwCiAgICAgaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3Iv
V29ya2VyRGVidWdnZXJBZ2VudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1M2YzMzQ5Li5lNzE4YzA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjc0IEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIENvbnNv
bGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgICAtIE1vdmUgSW5zcGVjdG9yQ29uc29sZUFnZW50
IGFuZCBkZXBlbmRlbmNpZXMgdG8gSmF2YVNjcmlwdENvcmUKKyAgICAgICAgICAgIGFuZCBpbnRv
IHRoZSBJbnNwZWN0b3IgbmFtZXNwYWNlLgorICAgICAgICAgIC0gVXBkYXRlIENvbnNvbGUgTWVz
c2FnZSBlbnVtIHR5cGVzIHRvIGVudW0gY2xhc3NlcyBhbmQgdXBkYXRlCisgICAgICAgICAgICBh
bGwgdXNlcnMgdG8gdGhlIG5ldywgc2ltcGxlciBuYW1lcy4KKyAgICAgICAgICAtIFNpbmNlIHdl
IGFyZSB1cGRhdGluZyBhZGRDb25zb2xlTWVzc2FnZSBjYWxsc2l0ZXMgYW55d2F5cywgYWRkCisg
ICAgICAgICAgICBBU0NJSUxpdGVyYWwgd2hlcmUgYXBwcm9wcmlhdGUuCisgICAgICAgICAgLSBB
ZGQgV2ViQ29uc29sZUFnZW50IGJhc2Ugb2YgUGFnZS9Xb3JrZXIgQ29uc29sZUFnZW50IHRvIGlt
cGxlbWVudAorICAgICAgICAgICAgd2hhdCBjb3VsZCBub3QgYmUgcHVzaGVkIGludG8gSmF2YVNj
cmlwdENvcmUuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5tYWtlOgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25z
b2xlTWVzc2FnZS5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0
b3IvQ29uc29sZVR5cGVzLmg6IEFkZGVkLgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2lu
c3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGlu
Z0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oOiBBZGRlZC4KKyAgICAgICAgKiBG
b3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmg6IEFkZGVkLgorICAg
ICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaDogQWRk
ZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaDogQWRkZWQuCisgICAgICAgICogR05VbWFr
ZWZpbGUuYW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgQWRkIC8g
cmVtb3ZlIGZpbGVzIGZyb20gYnVpbGRzLgorCisgICAgICAgICogaW5zcGVjdG9yL1dlYkNvbnNv
bGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2VudDo6V2ViQ29uc29sZUFnZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVuYWJs
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50OjpmcmFtZVdpbmRvd0Rpc2Nh
cmRlZCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6OmRpZEZpbmlzaFhIUkxv
YWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50OjpkaWRSZWNlaXZlUmVz
cG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50OjpkaWRGYWlsTG9hZGlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZEhlYXBP
YmplY3QpOgorICAgICAgICBJbXBsZW1lbnQgd2hhdCBjb3VsZCBub3QgYmUgcHVzaGVkIGRvd24g
aW50byBKYXZhU2NyaXB0Q29yZS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5n
QWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjp3ZWJDb25z
b2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0V2Vi
Q29uc29sZUFnZW50KToKKyAgICAgICAgSG9sZCBhIFdlYkNvbnNvbGVBZ2VudCBpbnN0ZWFkIG9m
IEluc3BlY3RvckNvbnNvbGVBZ2VudC4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lE
QkN1cnNvci5jcHA6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3Bw
OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVdpbmRvd1F1b3RhOjp3ZWJraXRTdG9yYWdlSW5mbyk6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVm
ZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0NvbnRleHQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQYW5uZXJOb2RlOjpzZXRQYW5uaW5nTW9kZWwpOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFiYXNlQmFzZTo6bG9nRXJyb3JNZXNzYWdlKToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRh
YmFzZU1hbmFnZXI6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmNvbm5lY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlNvY2tldDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZXRCaW5h
cnlUeXBlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpmYWlsKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0pOgorICAgICAg
ICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAgICAq
IFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U0F1ZGlvQ29udGV4dENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKU0F1ZGlvQ29udGV4dCk6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SlNDdXN0b21YUGF0aE5TUmVzb2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVSSSk6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1N1YnRs
ZUNyeXB0bzo6ZW5jcnlwdCk6CisgICAgICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6ZGVj
cnlwdCk6CisgICAgICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6c2lnbik6CisgICAgICAg
IChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6dmVyaWZ5KToKKyAgICAgICAgKFdlYkNvcmU6OkpT
U3VidGxlQ3J5cHRvOjp3cmFwS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkpTU3VidGxlQ3J5cHRv
Ojp1bndyYXBLZXkpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAg
ICAoR2VuZXJhdGVDYWxsV2l0aCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5jcHA6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OmxvZ0Vycm9yKToKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29uc29s
ZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OnByb2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZE1lc3Nh
Z2UpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OmV4ZWN1dGVTY3JpcHQp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6bm90aWZ5RmluaXNoZWQpOgorICAg
ICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKiBkb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp2aWV3cG9ydEVycm9yTWVzc2FnZUxldmVsKToKKyAgICAg
ICAgKFdlYkNvcmU6OnJlcG9ydFZpZXdwb3J0V2FybmluZyk6CisgICAgICAgICogZmlsZWFwaS9C
bG9iLmNwcDoKKyAgICAgICAgKiBmaWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcDoKKyAgICAg
ICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
c2hvdWxkQXV0b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVseSk6
CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
Z2V0SW1hZ2VEYXRhKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpwcmludFdh
cm5pbmdUb0NvbnNvbGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6aW5pdCk6CisgICAgICAgICogaHRtbC9wYXJz
ZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0b3JE
ZWxlZ2F0ZTo6ZGlkQmxvY2tTY3JpcHQpOgorICAgICAgICAqIGluc3BlY3Rvci9Db21tYW5kTGlu
ZUFQSUhvc3QuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbW1hbmRMaW5lQVBJSG9zdDo6aW5pdCk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZUFnZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZVRpbWVTdGFtcCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZFByb2ZpbGUp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpmcmFtZVdpbmRvd0Rpc2NhcmRlZEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZUltcGwp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWlsTG9h
ZGluZ0ltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRGaW5pc2hYSFJMb2FkaW5nSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OmlzQ29u
c29sZUFzc2VydE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudEltcGwpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdGFydENvbnNvbGVUaW1pbmdJbXBsKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcENvbnNvbGVUaW1p
bmdJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29u
c29sZUFnZW50RW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5j
cHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6YWRkUHJvZmlsZUZpbmlzaGVkTWVzc2FnZVRvQ29u
c29sZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjphZGRTdGFy
dFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JQcm9maWxlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNl
QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6YnVp
bGRJbml0aWF0b3JPYmplY3QpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpJbnN0cnVtZW50aW5nQWdl
bnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlQ29uc29sZUFnZW50OjpQYWdlQ29uc29sZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VDb25zb2xlQWdlbnQ6OmNsZWFyTWVzc2FnZXMpOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZUNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZSk6CisgICAgICAgICogaW5zcGVjdG9yL1Bh
Z2VDb25zb2xlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZURlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rp
b25Mb2cpOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZCk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6On5XZWJDb25zb2xlQWdlbnQpOgorICAgICAgICAqIGlu
c3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
Q29uc29sZUFnZW50OjpXb3JrZXJDb25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyQ29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
V29ya2VyQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2Vy
QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyRGVidWdnZXJBZ2VudDo6YnJlYWtw
b2ludEFjdGlvbkxvZyk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6
V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJlY2Vp
dmVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6aGFuZGxlQmVmb3JlVW5sb2FkRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXI6OnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKToKKyAgICAgICAgKFdlYkNv
cmU6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICog
bG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWl4ZWRD
b250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmNvcnNQb2xpY3lQ
cmV2ZW50ZWRMb2FkKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6YWJv
cnQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNlaXZl
UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRG
aW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJl
Y2VpdmVNYW5pZmVzdFJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2Fj
aGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFw
cGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKToKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVuaWVkTWVzc2FnZSk6CisgICAgICAg
ICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6aW50ZXJuYWxBZGRNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
bnNvbGU6OmRlYnVnKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmVycm9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnNvbGU6OmxvZyk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjp3
YXJuKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmRpcik6CisgICAgICAgIChXZWJDb3Jl
OjpDb25zb2xlOjpkaXJ4bWwpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6dGFibGUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29u
c29sZTo6dHJhY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6YXNzZXJ0Q29uZGl0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Omdyb3VwKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnNvbGU6Omdyb3VwQ29sbGFwc2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Omdy
b3VwRW5kKToKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaDoKKyAgICAgICAgKiBwYWdlL0NvbnNv
bGVUeXBlcy5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0Vmlv
bGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6bG9nVG9D
b25zb2xlKToKKyAgICAgICAgKiBwYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnBvc3RN
ZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdlRXZl
bnRXaXRoT3JpZ2luQ2hlY2spOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjbG9zZSk6
CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnByaW50RXJyb3JNZXNzYWdlKToKKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkRmFpbEFjY2Vzc0NvbnRyb2xDaGVjayk6Cisg
ICAgICAgICogcGFnZS9QYWdlQ29uc29sZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ29u
c29sZTo6cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgpOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbnNvbGUu
aDoKKyAgICAgICAgKiBwYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQb2ludGVyTG9ja0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayk6CisgICAg
ICAgICogcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
c2hhcGVzL1NoYXBlSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjaGVja1NoYXBlSW1hZ2VP
cmlnaW4pOgorICAgICAgICAqIHN2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6cmVwb3J0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVu
dEV4dGVuc2lvbnM6OnJlcG9ydFdhcm5pbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1l
bnRFeHRlbnNpb25zOjpyZXBvcnRFcnJvcik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpjb25zb2xlTWVzc2FnZUFyZ3VtZW50
Q291bnRzKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
LmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpsb2dFeGNlcHRpb25Ub0Nv
bnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlckdsb2JhbFNjb3BlOjphZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKToKKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94
eS5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpsb2dDb25zb2xlRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnNl
bmQpOgorICAgICAgICAqIHhtbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpYU0xUUHJvY2Vzc29yOjpwYXJzZUVycm9yRnVuYyk6CisKIDIwMTQtMDItMDMgIEFu
ZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzdHJheSB2
ZXN0aWdlIGZyb20gOjotd2Via2l0LWRpc3RyaWJ1dGVkIHNlbGVjdG9yLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKaW5kZXggMWQ1YzgwYi4uYjkxMmRkYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xMDk4LDcgKzEwOTgsNiBAQCBJTlNQRUNUT1JfRE9NQUlOUyA9IFwK
ICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9BcHBsaWNhdGlvbkNhY2hlLmpzb24g
XAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uIFwKICAgICAkKFdl
YkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9DYW52YXMuanNvbiBcCi0gICAgJChXZWJDb3JlKS9p
bnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rv
ci9wcm90b2NvbC9ET00uanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wv
RE9NRGVidWdnZXIuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9N
U3RvcmFnZS5qc29uIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFk
ZXJzL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uY2Q1N2QxNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0wLDAgKzEs
NCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9Db25zb2xlTWVzc2FnZV9oCisjZGVmaW5lIFdlYkNv
cmVfRldEX0NvbnNvbGVNZXNzYWdlX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xl
TWVzc2FnZS5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5n
SGVhZGVycy9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJk
aW5nSGVhZGVycy9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uN2I3MjlkNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlVHlwZXMuaApAQCAtMCwwICsxLDQg
QEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfQ29uc29sZVR5cGVzX2gKKyNkZWZpbmUgV2ViQ29yZV9G
V0RfQ29uc29sZVR5cGVzX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMu
aD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMv
aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjhhMTM1YjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmgKQEAg
LTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0lkZW50aWZpZXJzRmFjdG9yeV9oCisj
ZGVmaW5lIFdlYkNvcmVfRldEX0lkZW50aWZpZXJzRmFjdG9yeV9oCisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVu
dHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWE2Zjk4Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1Nj
cmlwdEFyZ3VtZW50cy5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9TY3Jp
cHRBcmd1bWVudHNfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHRBcmd1bWVudHNfaAorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEFyZ3VtZW50cy5oPgorI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2Fs
bEZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc2Nzg1
OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2lu
c3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29y
ZV9GV0RfU2NyaXB0Q2FsbEZyYW1lX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0Q2FsbEZy
YW1lX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsRnJhbWUuaD4KKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFjay5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjdkOTdmN2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5n
SGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTAsMCArMSw0IEBACisjaWZu
ZGVmIFdlYkNvcmVfRldEX1NjcmlwdENhbGxTdGFja19oCisjZGVmaW5lIFdlYkNvcmVfRldEX1Nj
cmlwdENhbGxTdGFja19oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNr
Lmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJz
L2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3
YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MWU3YzQKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9TY3JpcHRDYWxs
U3RhY2tGYWN0b3J5X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eV9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvRm9y
d2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmVjZWFhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JDb25zb2xlQWdlbnQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9G
V0RfSW5zcGVjdG9yQ29uc29sZUFnZW50X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfSW5zcGVjdG9y
Q29uc29sZUFnZW50X2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JDb25zb2xl
QWdlbnQuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAyM2M4OTRkLi42NGI1ODM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMzM5LDcgKzMzOSw2IEBAIFdlYkNvcmVfSU5TUEVD
VE9SX0RPTUFJTlMgOj0gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0FwcGxp
Y2F0aW9uQ2FjaGUuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1NT
Lmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZhcy5qc29uIFwK
LSAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24gXAogICAgICQo
V2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9wcm90b2NvbC9ET01EZWJ1Z2dlci5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3Bl
Y3Rvci9wcm90b2NvbC9ET01TdG9yYWdlLmpzb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KaW5kZXggNWU1ZjJmNy4uMzMwZjZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC0yNDM2LDggKzI0MzYsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBcCi0JU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
SGVhcFNuYXBzaG90LmggXApAQCAtMzc0NCwxNSArMzc0MiwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaCBcCiAJ
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmggXAotCVNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaCBcCi0JU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0Nv
bnNvbGVNZXNzYWdlLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0b3IuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmggXAogCVNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvRE9NUGF0Y2hTdXBwb3J0LmggXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVu
dGlmaWVyc0ZhY3RvcnkuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmll
cnNGYWN0b3J5LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdENh
bnZhc01vZHVsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dENhbnZhc01vZHVsZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50LmNwcCBcCkBAIC0zNzY0LDggKzM3NTcsNiBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaCBc
CiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIFwKLQlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBcCi0JU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuaCBcCkBAIC0zODM4LDE0ICszODI5LDEwIEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50
aW1lQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2Vu
dC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcCBcCi0J
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIFwKLQlTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbFN0YWNrLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFjay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcCBcCisJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvV2ViRGVidWdnZXJBZ2VudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9XZWJEZWJ1Z2dlckFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3Jr
ZXJDb25zb2xlQWdlbnQuY3BwIFwKQEAgLTQwNTQsNyArNDA0MSw2IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGFnZS9Db25zb2xlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgg
XAotCVNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZW50U2VjdXJpdHlQb2xpY3kuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNsaWVudC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJz
b3IuY3BwCmluZGV4IGY2ZWEzMGUuLjkxYTc3ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcApAQCAtMzcsOCArMzcsOCBAQAogI2luY2x1ZGUg
IklEQlJlcXVlc3QuaCIKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbi5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5o
PgogI2luY2x1ZGUgPGxpbWl0cz4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCmluZGV4IDQwMTExOWEu
LjgzZTQ3ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJE
YXRhYmFzZS5jcHAKQEAgLTQ0LDkgKzQ0LDkgQEAKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbi5o
IgogI2luY2x1ZGUgIklEQlZlcnNpb25DaGFuZ2VFdmVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCiAjaW5jbHVkZSA8YXRvbWljPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3Jp
cHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL0F0b21pY3Mu
aD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNh
Y3Rpb24uY3BwCmluZGV4IDVkMmYzZjguLmE1MGEwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKQEAgLTM5LDcgKzM5LDYg
QEAKICNpbmNsdWRlICJJREJPcGVuREJSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSURCUGVuZGluZ1Ry
YW5zYWN0aW9uTW9uaXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJTY3Jp
cHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVv
dGEvRE9NV2luZG93UXVvdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01X
aW5kb3dRdW90YS5jcHAKaW5kZXggZWEzZDY1OS4uYTNmMWVlNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAKQEAgLTc1LDcgKzc1LDcgQEAg
U3RvcmFnZUluZm8qIERPTVdpbmRvd1F1b3RhOjp3ZWJraXRTdG9yYWdlSW5mbyhET01XaW5kb3cq
IHdpbmRvdykKIFN0b3JhZ2VJbmZvKiBET01XaW5kb3dRdW90YTo6d2Via2l0U3RvcmFnZUluZm8o
KSBjb25zdAogewogICAgIGlmICghbV9zdG9yYWdlSW5mbyAmJiBmcmFtZSgpKSB7Ci0gICAgICAg
IGZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
V2FybmluZ01lc3NhZ2VMZXZlbCwgIndpbmRvdy53ZWJraXRTdG9yYWdlSW5mbyBpcyBkZXByZWNh
dGVkLiBVc2UgbmF2aWdhdG9yLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2Ugb3IgbmF2aWdhdG9yLndl
YmtpdFBlcnNpc3RlbnRTdG9yYWdlIGluc3RlYWQuIik7CisgICAgICAgIGZyYW1lKCktPmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6
Oldhcm5pbmcsICJ3aW5kb3cud2Via2l0U3RvcmFnZUluZm8gaXMgZGVwcmVjYXRlZC4gVXNlIG5h
dmlnYXRvci53ZWJraXRUZW1wb3JhcnlTdG9yYWdlIG9yIG5hdmlnYXRvci53ZWJraXRQZXJzaXN0
ZW50U3RvcmFnZSBpbnN0ZWFkLiIpOwogICAgICAgICBtX3N0b3JhZ2VJbmZvID0gU3RvcmFnZUlu
Zm86OmNyZWF0ZSgpOwogICAgIH0KICAgICByZXR1cm4gbV9zdG9yYWdlSW5mby5nZXQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3Vy
Y2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJT
b3VyY2VOb2RlLmNwcAppbmRleCA4ZWU2ZDYxLi45OTUxODYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3Bw
CkBAIC0zMiwxMCArMzIsMTAgQEAKICNpbmNsdWRlICJBdWRpb05vZGVPdXRwdXQuaCIKICNpbmNs
dWRlICJBdWRpb1V0aWxpdGllcy5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgotI2lu
Y2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSA8YWxnb3JpdGht
PgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDx3dGYv
TWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgpAQCAtNDYwLDcgKzQ2MCw3IEBAIGJvb2wgQXVkaW9CdWZmZXJTb3Vy
Y2VOb2RlOjpsb29waW5nKCkKIHsKICAgICBzdGF0aWMgYm9vbCBmaXJzdFRpbWUgPSB0cnVlOwog
ICAgIGlmIChmaXJzdFRpbWUgJiYgY29udGV4dCgpICYmIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKSB7Ci0gICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2
ZWwsICJBdWRpb0J1ZmZlclNvdXJjZU5vZGUgJ2xvb3BpbmcnIGF0dHJpYnV0ZSBpcyBkZXByZWNh
dGVkLiAgVXNlICdsb29wJyBpbnN0ZWFkLiIpOworICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1l
c3NhZ2VMZXZlbDo6V2FybmluZywgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0
cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7CiAgICAgICAgIGZp
cnN0VGltZSA9IGZhbHNlOwogICAgIH0KIApAQCAtNDcxLDcgKzQ3MSw3IEBAIHZvaWQgQXVkaW9C
dWZmZXJTb3VyY2VOb2RlOjpzZXRMb29waW5nKGJvb2wgbG9vcGluZykKIHsKICAgICBzdGF0aWMg
Ym9vbCBmaXJzdFRpbWUgPSB0cnVlOwogICAgIGlmIChmaXJzdFRpbWUgJiYgY29udGV4dCgpICYm
IGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7Ci0gICAgICAgIGNvbnRleHQo
KS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsICJBdWRpb0J1ZmZlclNvdXJjZU5vZGUgJ2xvb3Bp
bmcnIGF0dHJpYnV0ZSBpcyBkZXByZWNhdGVkLiAgVXNlICdsb29wJyBpbnN0ZWFkLiIpOworICAg
ICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgIkF1ZGlvQnVmZmVy
U291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3An
IGluc3RlYWQuIik7CiAgICAgICAgIGZpcnN0VGltZSA9IGZhbHNlOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IDQ4
NTRmZjAuLmFjMjI1MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5jcHAKQEAgLTU1LDcgKzU1LDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUGFubmVyTm9kZS5oIgogI2luY2x1ZGUgIlBlcmlvZGljV2F2ZS5oIgotI2luY2x1
ZGUgIlNjcmlwdENhbGxTdGFjay5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3Rh
Y2suaD4KICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJv
Y2Vzc29yTm9kZS5oIgogI2luY2x1ZGUgIldhdmVTaGFwZXJOb2RlLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcAppbmRleCAxN2JmMTMwLi45MDI3
NjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5v
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5j
cHAKQEAgLTIwNSw3ICsyMDUsNyBAQCBib29sIFBhbm5lck5vZGU6OnNldFBhbm5pbmdNb2RlbCh1
bnNpZ25lZCBtb2RlbCkKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTT1VOREZJRUxEOgogICAg
ICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHNvdW5kIGZpZWxkIG1vZGVsLiBTZWUgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzY3LgotICAgICAgICBjb250ZXh0
KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdl
U291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiJ3NvdW5kZmllbGQnIHBhbm5pbmcgbW9kZWwg
bm90IGltcGxlbWVudGVkLiIpOworICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZl
bDo6V2FybmluZywgIidzb3VuZGZpZWxkJyBwYW5uaW5nIG1vZGVsIG5vdCBpbXBsZW1lbnRlZC4i
KTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJh
c2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhc2Uu
Y3BwCmluZGV4IGFmMjM3N2EuLjVmMTBiZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAKQEAgLTQ2LDcgKzQ2LDcgQEAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogRGF0YWJhc2VCYXNlOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgY29uc3QKIAogdm9pZCBEYXRhYmFzZUJhc2U6OmxvZ0Vycm9yTWVzc2FnZShjb25zdCBTdHJp
bmcmIG1lc3NhZ2UpCiB7Ci0gICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xl
TWVzc2FnZShTdG9yYWdlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2Up
OworICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6U3RvcmFnZSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSk7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcAppbmRleCAwYjYwYzk2Li4xZjAyNWFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFu
YWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFz
ZU1hbmFnZXIuY3BwCkBAIC00NjcsNyArNDY3LDcgQEAgdm9pZCBEYXRhYmFzZU1hbmFnZXI6Omlu
dGVycnVwdEFsbERhdGFiYXNlc0ZvckNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY28K
IAogdm9pZCBEYXRhYmFzZU1hbmFnZXI6OmxvZ0Vycm9yTWVzc2FnZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAgY29udGV4dC0+
YWRkQ29uc29sZU1lc3NhZ2UoU3RvcmFnZU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBtZXNzYWdlKTsKKyAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpTdG9yYWdlLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmNwcAppbmRleCA3MmIxOTJhLi44MzRjMDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtNDgsMTIgKzQ4LDEyIEBACiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVzc2Fn
ZUV2ZW50LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNs
dWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0Q2hhbm5lbC5oIgorI2luY2x1ZGUgPGluc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CiAj
aW5jbHVkZSA8cnVudGltZS9BcnJheUJ1ZmZlclZpZXcuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNl
dC5oPgpAQCAtMjE0LDI2ICsyMTQsMjYgQEAgdm9pZCBXZWJTb2NrZXQ6OmNvbm5lY3QoY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwcm90b2NvbHMsIEV4Y2UKICAgICBt
X3VybCA9IFVSTChVUkwoKSwgdXJsKTsKIAogICAgIGlmICghbV91cmwuaXNWYWxpZCgpKSB7Ci0g
ICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkludmFsaWQgdXJsIGZvciBXZWJTb2NrZXQg
IiArIG1fdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpKTsKKyAgICAgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpK
UywgTWVzc2FnZUxldmVsOjpFcnJvciwgIkludmFsaWQgdXJsIGZvciBXZWJTb2NrZXQgIiArIG1f
dXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpKTsKICAgICAgICAgbV9zdGF0ZSA9
IENMT1NFRDsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCiAgICAgaWYgKCFtX3VybC5wcm90b2NvbElzKCJ3cyIpICYmICFtX3VybC5wcm90b2NvbElz
KCJ3c3MiKSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXcm9uZyB1cmwgc2No
ZW1lIGZvciBXZWJTb2NrZXQgIiArIG1fdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0
aCgpKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldyb25nIHVybCBzY2hl
bWUgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3Ro
KCkpOwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKG1fdXJsLmhhc0ZyYWdtZW50SWRlbnRp
ZmllcigpKSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVSTCBoYXMgZnJhZ21l
bnQgY29tcG9uZW50ICIgKyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7
CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJVUkwgaGFzIGZyYWdtZW50IGNv
bXBvbmVudCAiICsgbV91cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOwogICAg
ICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgaWYgKCFwb3J0QWxsb3dlZChtX3VybCkpIHsKLSAgICAgICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IHBvcnQgIiArIFN0cmluZzo6bnVtYmVy
KG1fdXJsLnBvcnQoKSkgKyAiIGJsb2NrZWQiKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVs
OjpFcnJvciwgIldlYlNvY2tldCBwb3J0ICIgKyBTdHJpbmc6Om51bWJlcihtX3VybC5wb3J0KCkp
ICsgIiBibG9ja2VkIik7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0g
U0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1cm47CkBAIC0yNjQsNyArMjY0LDcgQEAgdm9pZCBX
ZWJTb2NrZXQ6OmNvbm5lY3QoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBwcm90b2NvbHMsIEV4Y2UKICAgICAvLyBjb21wbHkgd2l0aCBXZWJTb2NrZXQgQVBJIHNwZWNp
ZmljYXRpb24sIGJ1dCBpdCBzZWVtcyB0byBiZSB0aGUgb25seSByZWFzb25hYmxlIHdheSB0byBo
YW5kbGUgdGhpcyBjb25mbGljdC4KICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3RvY29s
cy5zaXplKCk7ICsraSkgewogICAgICAgICBpZiAoIWlzVmFsaWRQcm90b2NvbFN0cmluZyhwcm90
b2NvbHNbaV0pKSB7Ci0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENv
bnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXcm9uZyBw
cm90b2NvbCBmb3IgV2ViU29ja2V0ICciICsgZW5jb2RlUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xz
W2ldKSArICInIik7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiV3Jv
bmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3Rv
Y29sc1tpXSkgKyAiJyIpOwogICAgICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAg
ICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTI3Myw3ICsyNzMs
NyBAQCB2b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVj
dG9yPFN0cmluZz4mIHByb3RvY29scywgRXhjZQogICAgIEhhc2hTZXQ8U3RyaW5nPiB2aXNpdGVk
OwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvdG9jb2xzLnNpemUoKTsgKytpKSB7CiAg
ICAgICAgIGlmICghdmlzaXRlZC5hZGQocHJvdG9jb2xzW2ldKS5pc05ld0VudHJ5KSB7Ci0gICAg
ICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcHJvdG9jb2xzIGNvbnRh
aW4gZHVwbGljYXRlczogJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsg
IiciKTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJXZWJTb2NrZXQg
cHJvdG9jb2xzIGNvbnRhaW4gZHVwbGljYXRlczogJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhw
cm90b2NvbHNbaV0pICsgIiciKTsKICAgICAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAg
ICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0zMDUsNyAr
MzA1LDcgQEAgdm9pZCBXZWJTb2NrZXQ6OnNlbmQoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFeGNl
cHRpb25Db2RlJiBlYykKICAgICBBU1NFUlQobV9jaGFubmVsKTsKICAgICBUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbDo6U2VuZFJlc3VsdCByZXN1bHQgPSBtX2NoYW5uZWwtPnNlbmQobWVzc2Fn
ZSk7CiAgICAgaWYgKHJlc3VsdCA9PSBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6SW52YWxp
ZE1lc3NhZ2UpIHsKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xl
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2Vic29ja2V0IG1l
c3NhZ2UgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIocykuIik7CisgICAgICAgIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1l
c3NhZ2VMZXZlbDo6RXJyb3IsICJXZWJzb2NrZXQgbWVzc2FnZSBjb250YWlucyBpbnZhbGlkIGNo
YXJhY3RlcihzKS4iKTsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICByZXR1cm47
CiAgICAgfQpAQCAtMzc4LDcgKzM3OCw3IEBAIHZvaWQgV2ViU29ja2V0OjpjbG9zZShpbnQgY29k
ZSwgY29uc3QgU3RyaW5nJiByZWFzb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICB9CiAg
ICAgICAgIENTdHJpbmcgdXRmOCA9IHJlYXNvbi51dGY4KFN0cmljdENvbnZlcnNpb25SZXBsYWNp
bmdVbnBhaXJlZFN1cnJvZ2F0ZXNXaXRoRkZGRCk7CiAgICAgICAgIGlmICh1dGY4Lmxlbmd0aCgp
ID4gbWF4UmVhc29uU2l6ZUluQnl0ZXMpIHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIldlYlNvY2tldCBjbG9zZSBtZXNzYWdlIGlzIHRvbyBsb25nLiIpOworICAgICAgICAg
ICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldlYlNvY2tldCBjbG9zZSBtZXNzYWdlIGlz
IHRvbyBsb25nLiIpOwogICAgICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CkBAIC00NDMsNyArNDQzLDcgQEAgdm9pZCBXZWJTb2NrZXQ6OnNl
dEJpbmFyeVR5cGUoY29uc3QgU3RyaW5nJiBiaW5hcnlUeXBlKQogICAgICAgICBtX2JpbmFyeVR5
cGUgPSBCaW5hcnlUeXBlQXJyYXlCdWZmZXI7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiJyIgKyBiaW5hcnlUeXBlICsgIicgaXMgbm90IGEgdmFs
aWQgdmFsdWUgZm9yIGJpbmFyeVR5cGU7IGJpbmFyeVR5cGUgcmVtYWlucyB1bmNoYW5nZWQuIik7
CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIiciICsgYmluYXJ5VHlwZSArICInIGlz
IG5vdCBhIHZhbGlkIHZhbHVlIGZvciBiaW5hcnlUeXBlOyBiaW5hcnlUeXBlIHJlbWFpbnMgdW5j
aGFuZ2VkLiIpOwogfQogCiBFdmVudFRhcmdldEludGVyZmFjZSBXZWJTb2NrZXQ6OmV2ZW50VGFy
Z2V0SW50ZXJmYWNlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA3MTY0ZWRjLi44MWM2Zjc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuY3BwCkBAIC00OCwxNCArNDgsMTIgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5j
bHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCi0j
aW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU29ja2V0U3RyZWFtRXJy
b3IuaCIKICNpbmNsdWRlICJTb2NrZXRTdHJlYW1IYW5kbGUuaCIKICNpbmNsdWRlICJXZWJTb2Nr
ZXRDaGFubmVsQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlLmgiCi0KICNp
bmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAj
aW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KQEAgLTE5OCw3ICsxOTYsNyBAQCB2b2lkIFdlYlNv
Y2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgQVNTRVJUKCFtX3N1
c3BlbmRlZCk7CiAgICAgaWYgKG1fZG9jdW1lbnQpIHsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihtX2RvY3VtZW50LCBtX2lk
ZW50aWZpZXIsIHJlYXNvbik7Ci0gICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdl
KE5ldHdvcmtNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBjb25u
ZWN0aW9uIHRvICciICsgbV9oYW5kc2hha2UtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRU
b0xlbmd0aCgpICsgIicgZmFpbGVkOiAiICsgcmVhc29uKTsKKyAgICAgICAgbV9kb2N1bWVudC0+
YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6TmV0d29yaywgTWVzc2FnZUxldmVsOjpF
cnJvciwgIldlYlNvY2tldCBjb25uZWN0aW9uIHRvICciICsgbV9oYW5kc2hha2UtPnVybCgpLnN0
cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgZmFpbGVkOiAiICsgcmVhc29uKTsK
ICAgICB9CiAKICAgICAvLyBIeWJpLTEwIHNwZWNpZmljYXRpb24gZXhwbGljaXRseSBzdGF0ZXMg
d2UgbXVzdCBub3QgY29udGludWUgdG8gaGFuZGxlIGluY29taW5nIGRhdGEKQEAgLTMzNSw3ICsz
MzMsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0oU29ja2V0
U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFNvYwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBtZXNzYWdlID0gIldlYlNvY2tldCBuZXR3b3JrIGVycm9yOiAiICsgZXJyb3IubG9jYWxpemVk
RGVzY3JpcHRpb24oKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNl
aXZlV2ViU29ja2V0RnJhbWVFcnJvcihtX2RvY3VtZW50LCBtX2lkZW50aWZpZXIsIG1lc3NhZ2Up
OwotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShOZXR3b3JrTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICBtX2RvY3VtZW50LT5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCBtZXNzYWdlKTsKICAgICB9CiAgICAgbV9zaG91bGREaXNjYXJkUmVjZWl2ZWREYXRhID0g
dHJ1ZTsKICAgICBoYW5kbGUtPmRpc2Nvbm5lY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKaW5kZXggZTY3
ODJjZi4uNjg2ZjRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKQEAgLTQ0LDcgKzQ0LDYgQEAKICNpbmNs
dWRlICJVUkwuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1
ZXN0LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSA8
d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKaW5kZXgg
MmRiMGZiZC4uMTE2Mjk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQpAQCAtMTU2LDcgKzE1Niw2IEBAIGxp
c3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL1BhZ2VTY3JpcHREZWJ1
Z1NlcnZlci5jcHAKICAgICBiaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwCiAgICAgYmlu
ZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcAotICAgIGJpbmRpbmdzL2pzL1Njcmlw
dENhbGxTdGFja0ZhY3RvcnkuY3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5j
cHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmplY3QuY3BwCiAgICAgYmluZGluZ3Mv
anMvU2NyaXB0UHJvZmlsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZGZjYWY1NS4uOTVi
Mjk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI3NzgsNyArMjc3OCw2IEBAIF9fWk43V2Vi
Q29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjI2c2V0SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRFTlN0
M19fMTEwdW5pcXVlX3B0CiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIzOXNldFJl
c291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0VpaQogX19aTjdXZWJDb3JlMTlJbnNw
ZWN0b3JDb250cm9sbGVyNHNob3dFdgogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVy
NWNsb3NlRXYKLV9fWk43V2ViQ29yZTIxSW5zcGVjdG9yQ29uc29sZUFnZW50Mjhjb25zb2xlTWVz
c2FnZUFyZ3VtZW50Q291bnRzRXYKIF9fWk43V2ViQ29yZTIyaW5zdHJ1bWVudGF0aW9uRm9yUGFn
ZUVQTlNfNFBhZ2VFCiBfX1pON1dlYkNvcmUyNEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjE3c19m
cm9udGVuZENvdW50ZXJFCiBfX1pON1dlYkNvcmUyNEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjI2
aW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2VFUE5TXzRQYWdlRQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggZTRkYjNjNy4uMzAyNWY1NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBA
IC0xNzE4OCwyMCArMTcxODgsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIj4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
X1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Jl
bGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
X1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29t
cGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENvbnRy
b2xsZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
QEAgLTE3NDc4LDE0ICsxNzQ2NCw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmNwcCI+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9X
aW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVs
ZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBp
bGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NRWRpdG9yLmNwcCI+
CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTc1
MDIsMTQgKzE3NDgwLDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmNwcCI+Ci0gICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRDYW52
YXNNb2R1bGUuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+CkBAIC0xNzU1MCwxNCArMTc1MjAsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIj4K
LSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0g
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
LSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJ
bnNwZWN0b3JDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTc4MzAsMzAgKzE3NzkyLDYgQEAKICAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmNw
cCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcU2NyaXB0Q2FsbEZyYW1lLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmNwcCI+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENv
bXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcVGltZWxpbmVSZWNv
cmRGYWN0b3J5LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgpAQCAtMTc4NjIsNiArMTc4MDAsMTQgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258
eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViQ29uc29sZUFnZW50LmNwcCI+CisgICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAg
PC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViRGVi
dWdnZXJBZ2VudC5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KQEAgLTE4NDY3LDYgKzE4NDEzLDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcU2xvdFZpc2l0b3IuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcU3Ryb25nSW5saW5lcy5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxXZWFr
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNw
ZWN0b3JcQ29uc29sZU1lc3NhZ2UuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZv
cndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxDb25zb2xlVHlwZXMuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJZGVudGlmaWVyc0Zh
Y3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvclxJbmplY3RlZFNjcmlwdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluamVjdGVkU2NyaXB0QmFzZS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXElu
amVjdGVkU2NyaXB0SG9zdC5oIiAvPgpAQCAtMTg0ODIsNyArMTg0MzEsMTQgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJbnNwZWN0b3JK
U1R5cGVCdWlsZGVycy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGlu
Z0hlYWRlcnNcaW5zcGVjdG9yXEluc3BlY3RvclR5cGVCdWlsZGVyLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcSW5zcGVjdG9yVmFs
dWVzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xp
bnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0QnJlYWtwb2ludC5oIiAvPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlw
dENhbGxGcmFtZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxTdGFjay5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGlu
c3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQ29uc29s
ZUFnZW50LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVy
c1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5z
cGVjdG9yUnVudGltZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3
YXJkaW5nSGVhZGVyc1xtYXNtXFg4NkFzc2VtYmxlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccGFyc2VyXFNvdXJjZUNvZGUuaCIgLz4KQEAgLTE4
NzM2LDcgKzE4NjkyLDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ2hyb21l
Q2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXGFuaW1hdGlvblxD
b21wb3NpdGVBbmltYXRpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2Vc
Q29uc29sZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxDb25zb2xlVHlw
ZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGVudFNlY3VyaXR5
UG9saWN5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnRleHRNZW51
Q2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnRleHRNZW51
Q29udHJvbGxlci5oIiAvPgpAQCAtMjA1MTEsNyArMjA0NjYsNiBAQAogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cYmluZGluZ3NcanNcUGFnZVNjcmlwdERlYnVnU2VydmVyLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY2hlZHVsZWRBY3Rpb24uaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENhY2hlZEZyYW1l
RGF0YS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGlu
Z3NcanNcU2NyaXB0Q29udHJvbGxlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcU2NyaXB0SGVhcFNuYXBzaG90LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRHbG9iYWxPYmplY3QuaCIgLz4KQEAgLTIwODE1LDE5
ICsyMDc2OSwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYnJpZGdlXHJ1bnRpbWVf
bWV0aG9kLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxicmlkZ2VccnVudGltZV9v
YmplY3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJyaWRnZVxydW50aW1lX3Jv
b3QuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb25zb2xlQVBJ
VHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxDb21tYW5k
TGluZUFQSUhvc3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxD
b21tYW5kTGluZUFQSU1vZHVsZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXENvbnNvbGVNZXNzYWdlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcRE9NRWRpdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcRE9NUGF0Y2hTdXBwb3J0LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdl
bnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JD
YW52YXNBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXElu
c3BlY3RvckNhbnZhc0luc3RydW1lbnRhdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNsaWVudC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRp
b24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JD
b250cm9sbGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5z
cGVjdG9yQ291bnRlcnMuaCIgLz4KQEAgLTIwODY4LDEwICsyMDgxOCw4IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcUGFnZUluamVjdGVkU2NyaXB0SG9zdC5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFBhZ2VJbmplY3RlZFNjcmlwdE1h
bmFnZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQYWdlUnVu
dGltZUFnZW50LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2Ny
aXB0QXJndW1lbnRzLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
U2NyaXB0Q2FsbEZyYW1lLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcU2NyaXB0Q2FsbFN0YWNrLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcV2ViQ29uc29sZUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXFdvcmtlckNvbnNvbGVBZ2VudC5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdvcmtlckRlYnVnZ2VyQWdlbnQuaCIgLz4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycwppbmRleCBjMGEwNjExLi5kMzA4NGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00NDkxLDkg
KzQ0OTEsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+
CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xq
c1xTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCI+Ci0gICAgICA8RmlsdGVyPmJpbmRpbmdzXGpz
PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxi
aW5kaW5nc1xqc1xTY3JpcHRDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdz
XGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC00NzIyLDE4ICs0NzE5LDEyIEBACiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29tbWFuZExpbmVBUElNb2R1bGUu
Y3BwIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcQ29uc29sZU1lc3NhZ2UuY3Bw
Ij4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NRWRpdG9yLmNwcCI+CiAgICAg
ICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXERPTVBhdGNoU3VwcG9ydC5jcHAiPgogICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuY3BwIj4KLSAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuY3Bw
Ij4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBA
IC00NzQ5LDkgKzQ3NDAsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XEluc3BlY3RvckNsaWVudC5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4K
ICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJ
bnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0
ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcSW5zcGVjdG9yQ29udHJvbGxlci5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0Zp
bHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ4NTEsMTggKzQ4MzksMTIgQEAKICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQYWdlUnVudGltZUFnZW50LmNwcCI+CiAgICAg
ICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdEFyZ3VtZW50cy5jcHAiPgotICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsRnJhbWUuY3BwIj4KLSAgICAgIDxG
aWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmNwcCI+Ci0gICAgICA8Rmls
dGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAiPgogICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25zb2xlQWdlbnQuY3BwIj4KKyAgICAgIDxG
aWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5jcHAiPgogICAgICAgPEZp
bHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTc0ODcsOSArNzQ2
OSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnNvbGUuaCI+CiAgICAg
ICA8RmlsdGVyPnBhZ2U8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBhZ2VcQ29uc29sZVR5cGVzLmgiPgotICAgICAgPEZpbHRlcj5wYWdlPC9G
aWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdl
XENvbnRlbnRTZWN1cml0eVBvbGljeS5oIj4KICAgICAgIDxGaWx0ZXI+cGFnZTwvRmlsdGVyPgog
ICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTEzNDUsOSArMTEzMjQsNiBAQAogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgiPgogICAgICAg
PEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIj4K
LSAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENvbnRyb2xsZXIuaCI+
CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBA
IC0xMjA4Myw2ICsxMjA1OSwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNcaGVhcFxTdHJvbmcuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFk
ZXJzXGhlYXA8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxDb25zb2xlTWVzc2FnZS5oIj4KKyAg
ICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9D
bEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xp
bnNwZWN0b3JcQ29uc29sZVR5cGVzLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVy
c1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3Rvcnku
aCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgor
ICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNcaW5zcGVjdG9yXEluamVjdGVkU2NyaXB0LmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJk
aW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTEyMTI4
LDkgKzEyMTEzLDMwIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVh
ZGVyc1xpbnNwZWN0b3JcSW5zcGVjdG9yVmFsdWVzLmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJk
aW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxTY3JpcHRBcmd1
bWVudHMuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmls
dGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdEJyZWFrcG9pbnQuaCI+CisgICAgICA8RmlsdGVy
PkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNj
cmlwdENhbGxGcmFtZS5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVj
dG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiPgorICAgICAg
PEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5j
bHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3Bl
Y3RvclxTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5n
SGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVj
dG9yQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rvcjwv
RmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCI+
CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAg
IDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRl
cnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgiPgorICAgICAgPEZp
bHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVk
ZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
clxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJk
aW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTEyMjQ4
LDIxICsxMjI1NCwxMiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENv
bW1hbmRMaW5lQVBJTW9kdWxlLmgiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4K
ICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxD
b25zb2xlQVBJVHlwZXMuaCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAg
IDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNv
bGVNZXNzYWdlLmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0Ns
SW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxET01FZGl0b3Iu
aCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXERPTVBhdGNoU3VwcG9ydC5oIj4K
ICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmgiPgot
ICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdENhbnZhc01vZHVs
ZS5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
CkBAIC0xMjI3OCw5ICsxMjI3NSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcSW5zcGVjdG9yQ2xpZW50LmgiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRl
cj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3Rv
clxJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmls
dGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCI+CiAgICAgICA8RmlsdGVyPmlu
c3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTI0MDEsMTggKzEyMzk1LDEy
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcUGFnZVJ1bnRpbWVBZ2Vu
dC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmgi
PgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KLSAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxsRnJhbWUuaCI+Ci0g
ICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdENhbGxTdGFjay5oIj4KLSAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgiPgogICAg
ICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25zb2xlQWdlbnQuaCI+CisgICAgICA8
RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdlYkRlYnVnZ2VyQWdlbnQuaCI+CiAgICAgICA8Rmls
dGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGY5YTYxZDUuLjY4
YzM3OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTEwNTcsNyArMTA1Nyw2IEBACiAJCTJEOUYwRTEzMTRGRjFDQkYwMEJBMEZG
NyAvKiBsaW5lYXJTUkdCLmljYyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICov
OyB9OwogCQkyREJBREUwQjE4OEU1OTE1MDA0RDc5ODEgLyogV2ViQ29yZUNBTGF5ZXJFeHRyYXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQkFERTA5
MTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJEQkFERTBDMTg4RTU5MTUwMDRE
Nzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQkFERTBBMTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3Jl
Q0FMYXllckV4dHJhcy5tbSAqLzsgfTsKLQkJMkRGMkU5RDUxNjZFMzk3NTAwMzVCRUYyIC8qIENv
bnNvbGVBUElUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkRGMkU5RDQxNjZFMzk3NDAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJFMDg4OEQ0MTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RP
TUZvcm1EYXRhLmNwcCAqLzsgfTsKIAkJMkUwODg4RDUxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9N
Rm9ybURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi87IH07CiAJCTJF
MDg4OEU2MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEU1MTE0ODg0RTIw
MEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCAqLzsgfTsKQEAgLTEzMzksMTAgKzEz
MzgsNiBAQAogCQk0MTY3RUJGNTEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE2N0VCRjMxMDI5NjJCQTAwM0QyNTJBIC8qIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5LmNwcCAqLzsgfTsKIAkJNDE2N0VCRjYxMDI5NjJCQTAwM0QyNTJBIC8qIERlZmF1bHRT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTY3RUJGNDEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdv
cmtlclJlcG9zaXRvcnkuaCAqLzsgfTsKIAkJNDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRFIC8qIFdv
cmtlclJlcG9ydGluZ1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5nUHJv
eHkuaCAqLzsgfTsKLQkJNDE2RTc1QkUwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFj
ay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1
QkMwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFjay5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQxNkU3NUJGMEVERjhGRDcwMDM2MEUx
RCAvKiBTY3JpcHRDYWxsU3RhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDE2RTc1QkQwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFj
ay5jcHAgKi87IH07Ci0JCTQxNkU3NUNCMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJh
bWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkU3
NUM5MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0MTZFNzVDQzBFREY5MEM3MDAzNjBF
MUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxNkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJh
bWUuY3BwICovOyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCAq
LzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNB
OTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLzsgfTsKIAkJNDE3
REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRDRjEzNzM0MzI2MDA3QzU3RkIgLyog
SW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTEzODIsOCArMTM3Nyw2IEBACiAJCTQxRTFCMUQxMEZG
NTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0IwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3Ry
YWN0V29ya2VyLmggKi87IH07CiAJCTQxRTFCMUQzMEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRX
b3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDFFMUIxQ0QwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5jcHAgKi87IH07CiAJCTQx
RTFCMUQ0MEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTFCMUNFMEZGNTk4NjkwMDU3NkIzQiAv
KiBTaGFyZWRXb3JrZXIuaCAqLzsgfTsKLQkJNDFGMDYxOEUwRjVGMDY5ODAwQTA3RUFDIC8qIENv
bnNvbGVNZXNzYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuaCAqLzsgfTsK
LQkJNDFGMDYxOEYwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MThEMEY1RjA2OTgw
MEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi87IH07CiAJCTQxRjA2MjE0MEY1RjE5MjYw
MEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjIxMjBGNUYxOTI2MDBBMDdFQUMgLyog
SW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oICovOyB9OwogCQk0MUYwNjIxNTBGNUYxOTI2MDBB
MDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjIxMzBGNUYxOTI2MDBBMDdFQUMgLyog
SW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgKi87IH07CiAJCTQxRjA2NkU0MEY2NEJDRjYw
MEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2NkUyMEY2NEJDRjYwMEEwN0VBQyAvKiBTY3JpcHRH
bG9iYWxPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtMTk4NCw4ICsxOTc3LDYgQEAKIAkJNTkwNUFEQzAxMzAyRjNDRTAwRjExNkRGIC8q
IFhNTFRyZWVWaWV3ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU5MDVBREJFMTMwMkYzQ0UwMEYxMTZERiAvKiBYTUxUcmVlVmlld2VyLmggKi87IH07
CiAJCTU5MEUxQjQ5MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbkRhdGEuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MEUxQjQ4MTFF
NEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbkRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1OTBFMUI0QjExRTRFRjcwMDA2OUY3
ODQgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MEUxQjRBMTFFNEVGNzAwMDY5Rjc4NCAv
KiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwICovOyB9OwotCQk1OTEzQTI0MTEz
RDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MTNBMjNGMTNENDlFQkEwMEY1QjA1QyAv
KiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovOyB9OwotCQk1OTEzQTI0MjEzRDQ5RUJBMDBGNUIw
NUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1OTEzQTI0MDEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNG
YWN0b3J5LmggKi87IH07CiAJCTU5MzA5QTExMTFGNEFFNTgwMDI1MDYwMyAvKiBEZXZpY2VPcmll
bnRhdGlvbkNsaWVudE1vY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTkzMDlBMTAxMUY0QUU1ODAwMjUwNjAzIC8qIERldmljZU9yaWVudGF0aW9u
Q2xpZW50TW9jay5jcHAgKi87IH07CiAJCTU5MzA5QTEzMTFGNEFFNkEwMDI1MDYwMyAvKiBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU5MzA5QTEyMTFGNEFFNkEwMDI1MDYwMyAvKiBEZXZpY2VPcmllbnRh
dGlvbkNsaWVudE1vY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk1OTgzNjVERDEzNTVGNTU3MDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTgzNjVE
QzEzNTVGNTNDMDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNrLmggKi87IH07CkBAIC0zNjMw
LDYgKzM2MjEsOCBAQAogCQlBNTQxNkZFNjE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVk
U2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTU0MTZGRTQxODgxMEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1l
bnQuaCAqLzsgfTsKIAkJQTU0QTgyRUMxNTIyOEQyRjAwQzcyQkE2IC8qIERPTU5vZGVQcml2YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTRBODJF
QTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCAqLzsgfTsKIAkJQTU0QTgyRjEx
NTIyOERGNjAwQzcyQkE2IC8qIERPTU5vZGVQcml2YXRlLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTRBODJFQTE1MjI4Q0Ez
MDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCAqLzsgfTsKKwkJQTU2QzVCOUExODlGMzQ1NzAw
ODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNTZDNUI5ODE4OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29s
ZUFnZW50LmNwcCAqLzsgfTsKKwkJQTU2QzVCOUIxODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNv
bGVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTU2QzVCOTkxODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5oICovOyB9OwogCQlB
NTczMkIwQTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3MzJCMDgxMzZBMTYxRDAwNUM4
RDdDIC8qIERhdGVDb21wb25lbnRzLmNwcCAqLzsgfTsKIAkJQTU3MzJCMEIxMzZBMTYxRDAwNUM4
RDdDIC8qIERhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNTczMkIwOTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNTg0
MEUxQzE4N0I3NEQ1MDA4NDNCMTAgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1ODQwRTFB
MTg3Qjc0RDUwMDg0M0IxMCAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3BwICov
OyB9OwpAQCAtNTIzNyw3ICs1MjMwLDYgQEAKIAkJQkNFNDQxMzMxMkY3NDhFMjAwOUI4NEI4IC8q
IFJlbmRlckNvbWJpbmVUZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDRTQ0MTMxMTJGNzQ4RTIwMDlCODRCOCAvKiBSZW5kZXJDb21iaW5lVGV4
dC5jcHAgKi87IH07CiAJCUJDRTQ0MTM0MTJGNzQ4RTIwMDlCODRCOCAvKiBSZW5kZXJDb21iaW5l
VGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNF
NDQxMzIxMkY3NDhFMjAwOUI4NEI4IC8qIFJlbmRlckNvbWJpbmVUZXh0LmggKi87IH07CiAJCUJD
RTQ0MTM2MTJGNzQ5MEIwMDlCODRCOCAvKiBGb250V2lkdGhWYXJpYW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U0NDEzNTEyRjc0OTBCMDA5Qjg0
QjggLyogRm9udFdpZHRoVmFyaWFudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0JCUJDRTU2NDRFMTM3QTM0RDYwMDdEMjkzNCAvKiBDb25zb2xlVHlw
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTU2
NDREMTM3QTM0RDYwMDdEMjkzNCAvKiBDb25zb2xlVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0U2NThGRjBFQTkyNDhBMDA3RTQ1MzMg
LyogVGhlbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDRTY1OEZFMEVBOTI0OEEwMDdFNDUzMyAvKiBUaGVtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRTY1OUE5MEVBOTI3QjkwMDdFNDUzMyAv
KiBUaGVtZVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0U2NTlBODBFQTkyN0I5MDA3RTQ1MzMgLyogVGhlbWVUeXBlcy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRTY1OUU2MEVBOTJGQjIw
MDdFNDUzMyAvKiBUaGVtZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNFNjU5RTUwRUE5MkZCMjAwN0U0NTMzIC8qIFRoZW1lTWFjLmggKi87IH07
CkBAIC02MDI1LDggKzYwMTcsNiBAQAogCQlGMjkzQjI3RTU2QzExMkYzNzNGRkYyN0UgLyogRE5T
UmVzb2x2ZVF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdDNjAxMjgwNjAwNzhCQjcwRTM2N0E5NSAvKiBETlNSZXNvbHZlUXVldWUuY3BwICov
OyB9OwogCQlGMzI1QTQwQTE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjMyNUE0MDgx
NEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50ZXJzLmNwcCAqLzsgfTsKIAkJRjMyNUE0
MEIxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50ZXJzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzI1QTQwOTE0RUUzNkZBMDA3MzI0RTIg
LyogSW5zcGVjdG9yQ291bnRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQlGMzMzNUJGODEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29u
c29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEYzMzM1QkY2MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3Bw
ICovOyB9OwotCQlGMzMzNUJGOTEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzMz
NUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi87IH07CiAJ
CUYzM0YwMjgyMTIwOTQ3RjIwMEU1NzQzQSAvKiBTY3JpcHRQcm9maWxlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzM0YwMjgxMTIwOTQ3RjIwMEU1
NzQzQSAvKiBTY3JpcHRQcm9maWxlLmNwcCAqLzsgfTsKIAkJRjM0NEM3MTQxMTI1QjgyQzAwRjI2
RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzQ0QzcxMjExMjVCODJDMDBGMjZFRUUgLyogSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlGMzQ0Qzc1MzExMjk0RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjM0NEM3NTIxMTI5NEQ5RDAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtNjA1MywxMCArNjA0Myw2IEBACiAJCUYzODIwODk3MTQ3RDM1RjkwMDEwQkMwNiAvKiBXb3Jr
ZXJDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEYzODIwODhGMTQ3RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJDb25zb2xlQWdlbnQuaCAq
LzsgfTsKIAkJRjM4MjA4OTgxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzgyMDg5
MDE0N0QzNUY5MDAxMEJDMDYgLyogV29ya2VyUnVudGltZUFnZW50LmNwcCAqLzsgfTsKIAkJRjM4
MjA4OTkxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM4MjA4OTExNDdEMzVGOTAwMTBC
QzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oICovOyB9OwotCQlGMzkyMjQ5QzEyNkYxMUFFMDBB
OTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QTEyNkYxMUFFMDBBOTI2RDkgLyogU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgKi87IH07Ci0JCUYzOTIyNDlEMTI2RjExQUUwMEE5MjZE
OSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QjEyNkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oICovOyB9OwotCQlGMzlCRTk1QjEyNjczQkY0MDBFMEE2NzQgLyogU2Ny
aXB0QXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEYzOUJFOTU5MTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICov
OyB9OwotCQlGMzlCRTk1QzEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzlCRTk1QTEyNjcz
QkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggKi87IH07CiAJCUYzQUJGRTBDMTMwRTlE
QTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0FCRkUwQjEzMEU5REEwMDBFN0Y3RDEgLyogSW5z
dHJ1bWVudGluZ0FnZW50cy5oICovOyB9OwogCQlGM0Q0NjE0ODExNjFENTMyMDBDQTBEMDkgLyog
SlNFcnJvckhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjNENDYxNDYxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmNwcCAq
LzsgfTsKIAkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0Q0NjE0NzExNjFE
NTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLzsgfTsKQEAgLTc4NjIsNyArNzg0OCw2
IEBACiAJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSBs
aW5lYXJTUkdCLmljYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRCQURFMDkxODhF
NTkxNTAwNEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVDQUxheWVyRXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJEQkFERTBBMTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4
dHJhcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVD
QUxheWVyRXh0cmFzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkyREYyRTlENDE2
NkUzOTc0MDAzNUJFRjIgLyogQ29uc29sZUFQSVR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvbnNvbGVBUElUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01Gb3JtRGF0YS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RP
TUZvcm1EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NRm9ybURh
dGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTgxNjksMTAgKzgxNTQsNiBAQAog
CQk0MTY3RUJGMzEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuY3BwOyBwYXRoID0gd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNjdFQkY0MTAy
OTYyQkEwMDNEMjUyQSAvKiBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5o
OyBwYXRoID0gd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2Vy
UmVwb3J0aW5nUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV29ya2Vy
UmVwb3J0aW5nUHJveHkuaDsgcGF0aCA9IHdvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE2RTc1QkMwRURGOEZENzAwMzYwRTFEIC8q
IFNjcmlwdENhbGxTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3Jp
cHRDYWxsU3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE2RTc1QkQwRURG
OEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk0MTZFNzVDOTBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxGcmFtZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTZFNzVDQTBFREY5MEM3MDAzNjBFMUQgLyogU2Ny
aXB0Q2FsbEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNj
cmlwdENhbGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzI1M0E4
MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRp
YUNvbnRyb2xFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRp
YUNvbnRyb2xFbGVtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTdEQTRD
RTEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEludGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODIx
OCw4ICs4MTk5LDYgQEAKIAkJNDFFMUIxQ0QwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTaGFyZWRXb3JrZXIu
Y3BwOyBwYXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MUUxQjFDRTBGRjU5ODY5MDA1NzZCM0IgLyogU2hhcmVkV29ya2VyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNoYXJlZFdvcmtlci5oOyBwYXRoID0gd29y
a2Vycy9TaGFyZWRXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFMUIx
Q0YwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBu
YW1lID0gU2hhcmVkV29ya2VyLmlkbDsgcGF0aCA9IHdvcmtlcnMvU2hhcmVkV29ya2VyLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFGMDYxOEMwRjVGMDY5ODAwQTA3RUFDIC8q
IENvbnNvbGVNZXNzYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNv
bGVNZXNzYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxRjA2MThEMEY1RjA2
OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDb25zb2xlTWVzc2FnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxRjA2MjEyMEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckRhdGFiYXNl
UmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFGMDYyMTMwRjVGMTky
NjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRjA2NkUyMEY2NEJDRjYwMEEwN0VBQyAvKiBT
Y3JpcHRHbG9iYWxPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Ny
aXB0R2xvYmFsT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04ODkyLDgg
Kzg4NzEsNiBAQAogCQk1OTA1QURCRTEzMDJGM0NFMDBGMTE2REYgLyogWE1MVHJlZVZpZXdlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBYTUxUcmVlVmlld2VyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MEUxQjQ4MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZp
Y2VPcmllbnRhdGlvbkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2
aWNlT3JpZW50YXRpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MEUx
QjRBMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTkxM0EyM0Yx
M0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk1OTEzQTI0MDEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmll
cnNGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElkZW50aWZpZXJz
RmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTMwOUExMDExRjRBRTU4
MDAyNTA2MDMgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MzA5QTEyMTFGNEFFNkEwMDI1MDYwMyAv
KiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTU5NThGMUNCMTM0MzkxN0MwMDgwQjMxRiAvKiBYTUxWaWV3ZXIuY3NzICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5jc3M7IHBhdGggPSBYTUxWaWV3ZXIuY3NzOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTA1OTQsNiArMTA1NzEsOCBAQAogCQlBNTQxNkZFMzE4ODEwRUY4MDAw
OUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBZb3VUdWJlRW1iZWRTaGFkb3dFbGVtZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU0MTZGRTQxODgxMEVGODAwMDlGQzVGIC8qIFlvdVR1
YmVFbWJlZFNoYWRvd0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
WW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNTRBODJFQTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTm9kZVByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTU2QzVCOTgxODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2Vu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb25zb2xlQWdl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTZDNUI5OTE4OUYzNDU3MDA4
MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkNvbnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTcz
MkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZUNvbXBvbmVudHMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBNTczMkIwOTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVu
dHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZUNvbXBvbmVudHMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU4NDBFMUExODdCNzRENTAwODQzQjEwIC8q
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI0MzksNyArMTI0MTgsNiBAQAogCQlCQ0U0NDEz
MTEyRjc0OEUyMDA5Qjg0QjggLyogUmVuZGVyQ29tYmluZVRleHQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyQ29tYmluZVRleHQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCQ0U0NDEzMjEyRjc0OEUyMDA5Qjg0QjggLyogUmVuZGVyQ29t
YmluZVRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyQ29tYmlu
ZVRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFNDQxMzUxMkY3NDkwQjAw
OUI4NEI4IC8qIEZvbnRXaWR0aFZhcmlhbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRm9udFdpZHRoVmFyaWFudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlC
Q0U1NjQ0RDEzN0EzNEQ2MDA3RDI5MzQgLyogQ29uc29sZVR5cGVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQ0U2NThGRTBFQTkyNDhBMDA3RTQ1MzMgLyogVGhlbWUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkNFNjU5QTgwRUE5MjdCOTAwN0U0NTMzIC8qIFRoZW1lVHlwZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWVUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQ0U2NTlFNTBFQTkyRkIyMDA3RTQ1MzMgLyogVGhlbWVNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWVNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEzMzQxLDggKzEzMzE5LDYgQEAKIAkJRjEyMTcxRjQxNkE4QkM2MzAwMDA1M0NB
IC8qIFdlYlZUVEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
VlRURWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzI1QTQwODE0RUUz
NkZBMDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQ291bnRlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGMzI1QTQwOTE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRl
cnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ291bnRlcnMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjMzMzVCRjYxMkUwN0RDMzAwRDMzMDEx
IC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlGMzMzNUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckNvbnNvbGVB
Z2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzNGMDI4MTEyMDk0N0YyMDBF
NTc0M0EgLyogU2NyaXB0UHJvZmlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTY3JpcHRQcm9maWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjM0NEM3MTIxMTI1QjgyQzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZyb250ZW5kQ2xpZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzNDRDNzUyMTEyOTREOUQwMEYyNkVFRSAv
KiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTEzMzY5LDEwICsxMzM0NSw2IEBACiAJCUYzODIwODhGMTQ3RDM1Rjkw
MDEwQkMwNiAvKiBXb3JrZXJDb25zb2xlQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV29ya2VyQ29uc29sZUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUYzODIwODkwMTQ3RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJSdW50aW1lQWdlbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV29ya2VyUnVudGltZUFnZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM4MjA4OTExNDdEMzVGOTAwMTBCQzA2
IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXb3JrZXJSdW50aW1lQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjM5
MjI0OUExMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUYzOTIyNDlCMTI2RjExQUUwMEE5MjZE
OSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJRjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRBcmd1bWVudHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzlCRTk1QTEyNjczQkY0MDBFMEE2NzQgLyog
U2NyaXB0QXJndW1lbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlw
dEFyZ3VtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGM0FCRkUwQjEzMEU5
REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBJbnN0cnVtZW50aW5nQWdlbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUYzRDQ2MTQ2MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFuZGxlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Vycm9ySGFuZGxlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRDQ2MTQ3MTE2MUQ1MzIwMENBMEQwOSAv
KiBKU0Vycm9ySGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Vy
cm9ySGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ3ODcsMTUgKzE0
NzU5LDEwIEBACiAJCQkJQTU4NEZFMjkxODYzODcwRjAwODQzQjEwIC8qIENvbW1hbmRMaW5lQVBJ
TW9kdWxlLmNwcCAqLywKIAkJCQlBNTg0RkUyQTE4NjM4NzBGMDA4NDNCMTAgLyogQ29tbWFuZExp
bmVBUElNb2R1bGUuaCAqLywKIAkJCQlBNTg0RkUyNzE4NjM3RENBMDA4NDNCMTAgLyogQ29tbWFu
ZExpbmVBUElNb2R1bGVTb3VyY2UuanMgKi8sCi0JCQkJMkRGMkU5RDQxNjZFMzk3NDAwMzVCRUYy
IC8qIENvbnNvbGVBUElUeXBlcy5oICovLAotCQkJCTQxRjA2MThEMEY1RjA2OTgwMEEwN0VBQyAv
KiBDb25zb2xlTWVzc2FnZS5jcHAgKi8sCi0JCQkJNDFGMDYxOEMwRjVGMDY5ODAwQTA3RUFDIC8q
IENvbnNvbGVNZXNzYWdlLmggKi8sCiAJCQkJN0FBQkEyNTcxNEJDNjEzMzAwQUE5QTExIC8qIERP
TUVkaXRvci5jcHAgKi8sCiAJCQkJN0FBQkEyNTgxNEJDNjEzMzAwQUE5QTExIC8qIERPTUVkaXRv
ci5oICovLAogCQkJCTdBNTQ4ODE2MTRFNDMyQTEwMDZBRTA1QSAvKiBET01QYXRjaFN1cHBvcnQu
Y3BwICovLAogCQkJCTdBNTQ4ODE1MTRFNDMyQTEwMDZBRTA1QSAvKiBET01QYXRjaFN1cHBvcnQu
aCAqLywKLQkJCQk1OTEzQTIzRjEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5
LmNwcCAqLywKLQkJCQk1OTEzQTI0MDEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0
b3J5LmggKi8sCiAJCQkJQUE3MzE4M0MxNTkyNTVCOTAwQTkzRTZFIC8qIEluamVjdGVkU2NyaXB0
Q2FudmFzTW9kdWxlLmNwcCAqLywKIAkJCQlBQTczMTgzRDE1OTI1NUI5MDBBOTNFNkUgLyogSW5q
ZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuaCAqLywKIAkJCQlBQTkwMzBGRTE1N0UxNkEwMDAyNzYy
NDcgLyogSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3VyY2UuanMgKi8sCkBAIC0xNDgwNiw4
ICsxNDc3Myw2IEBACiAJCQkJQUFENzY2RUExNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3RvckNh
bnZhc0luc3RydW1lbnRhdGlvbi5oICovLAogCQkJCTdBMUYyQjUxMTI2QzYxQjIwMDA2QTdFNiAv
KiBJbnNwZWN0b3JDbGllbnQuY3BwICovLAogCQkJCTFDODFCOTU4MEU5NzMzMDgwMDI2NkUwNyAv
KiBJbnNwZWN0b3JDbGllbnQuaCAqLywKLQkJCQlGMzMzNUJGNjEyRTA3REMzMDBEMzMwMTEgLyog
SW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCAqLywKLQkJCQlGMzMzNUJGNzEyRTA3REMzMDBEMzMw
MTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8sCiAJCQkJRjNGNUNGMTAxMkVEODFBODAw
ODRDNTY5IC8qIEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCAqLywKIAkJCQkxQzgx
Qjk1NzBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJ
MUM4MUI5NTYwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuaCAqLywKQEAg
LTE0ODg2LDE2ICsxNDg1MSwxMiBAQAogCQkJCUE1ODRGRTJFMTg2NENCODQwMDg0M0IxMCAvKiBQ
YWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggKi8sCiAJCQkJRjM4MjA4OEMxNDdEMzVGOTAwMTBC
QzA2IC8qIFBhZ2VSdW50aW1lQWdlbnQuY3BwICovLAogCQkJCUYzODIwODhEMTQ3RDM1RjkwMDEw
QkMwNiAvKiBQYWdlUnVudGltZUFnZW50LmggKi8sCi0JCQkJRjM5QkU5NTkxMjY3M0JGNDAwRTBB
Njc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8sCi0JCQkJRjM5QkU5NUExMjY3M0JGNDAwRTBB
Njc0IC8qIFNjcmlwdEFyZ3VtZW50cy5oICovLAotCQkJCTQxNkU3NUNBMEVERjkwQzcwMDM2MEUx
RCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovLAotCQkJCTQxNkU3NUM5MEVERjkwQzcwMDM2MEUx
RCAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLywKLQkJCQk0MTZFNzVCRDBFREY4RkQ3MDAzNjBFMUQg
LyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLywKLQkJCQk0MTZFNzVCQzBFREY4RkQ3MDAzNjBFMUQg
LyogU2NyaXB0Q2FsbFN0YWNrLmggKi8sCiAJCQkJOUZBMzdFRUYxMTcyRkQ0MTAwQzRDRDU1IC8q
IFNjcmlwdFByb2ZpbGUuaWRsICovLAogCQkJCTlGQTM3RUYwMTE3MkZENDEwMEM0Q0Q1NSAvKiBT
Y3JpcHRQcm9maWxlTm9kZS5pZGwgKi8sCiAJCQkJNzU1M0NGRTcxMDhGNDczRjAwRUEyODFFIC8q
IFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgKi8sCiAJCQkJNzU1M0NGRTYxMDhGNDczRjAwRUEy
ODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oICovLAorCQkJCUE1NkM1Qjk4MTg5RjM0NTcw
MDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuY3BwICovLAorCQkJCUE1NkM1Qjk5MTg5RjM0NTcw
MDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuaCAqLywKIAkJCQlBNUU2MTY3MTE4OTQ1ODFGMDA5
QURGNTAgLyogV2ViRGVidWdnZXJBZ2VudC5jcHAgKi8sCiAJCQkJQTVFNjE2NzIxODk0NTgxRjAw
OUFERjUwIC8qIFdlYkRlYnVnZ2VyQWdlbnQuaCAqLywKIAkJCQlGMzgyMDg4RTE0N0QzNUY5MDAx
MEJDMDYgLyogV29ya2VyQ29uc29sZUFnZW50LmNwcCAqLywKQEAgLTE2MDQ3LDcgKzE2MDA4LDYg
QEAKIAkJCQlCQzBCMzZBMTBDRDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5jcHAgKi8sCiAJCQkJ
QkMwQjM2QTIwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUuaCAqLywKIAkJCQlCQzBCMzZBMzBD
RDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5pZGwgKi8sCi0JCQkJQkNFNTY0NEQxMzdBMzRENjAw
N0QyOTM0IC8qIENvbnNvbGVUeXBlcy5oICovLAogCQkJCTk3QzQ3MUQ5MTJGOTI1QkMwMDg2MzU0
QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuY3BwICovLAogCQkJCTk3QzQ3MURBMTJGOTI1QkQw
MDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCAqLywKIAkJCQkwNjVBRDRGMjBCMEMy
RURBMDA1QTJCMUQgLyogQ29udGV4dE1lbnVDbGllbnQuaCAqLywKQEAgLTIwMTc3LDggKzIwMTM3
LDYgQEAKIAkJCQlCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmgg
Ki8sCiAJCQkJNDFGMUQyMUUwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENhY2hlZEZyYW1lRGF0
YS5jcHAgKi8sCiAJCQkJNDFGMUQyMUQwRUYzNUMyQTAwREE4NzUzIC8qIFNjcmlwdENhY2hlZEZy
YW1lRGF0YS5oICovLAotCQkJCUYzOTIyNDlBMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxs
U3RhY2tGYWN0b3J5LmNwcCAqLywKLQkJCQlGMzkyMjQ5QjEyNkYxMUFFMDBBOTI2RDkgLyogU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovLAogCQkJCTkzQjcwRDUzMDlFQjBDN0MwMDlEODQ2OCAv
KiBTY3JpcHRDb250cm9sbGVyLmNwcCAqLywKIAkJCQk5M0I3MEQ1NDA5RUIwQzdDMDA5RDg0Njgg
LyogU2NyaXB0Q29udHJvbGxlci5oICovLAogCQkJCUE4M0UxQzcyMEU0OTA0MkIwMDE0MEI5QyAv
KiBTY3JpcHRDb250cm9sbGVyTWFjLm1tICovLApAQCAtMjI4NzcsMTAgKzIyODM1LDcgQEAKIAkJ
CQlGRDMxNjA4RjEyQjAyNkY3MDBDMUEzNTkgLyogQ29uZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NjVDOTdBRjMwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMwQjM2QTUwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTJERjJFOUQ1MTY2RTM5NzUwMDM1QkVGMiAvKiBDb25zb2xlQVBJVHlwZXMuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTQxRjA2MThFMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMDczQUI0QjMxN0Y4QkFDQTAwNkUwRDZGIC8qIEFsbFZpZGVvQ2Fw
YWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0U1NjQ0RTEzN0EzNEQ2MDA3RDI5MzQg
LyogQ29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIxQzA5NzdEM0MwMDA1
ODI2RDkgLyogQ29udGFpbmVyTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBMTQ3MDgxMTEw
MkIxNTAwRUVDMEYzIC8qIENvbnRhaW5lck5vZGVBbGdvcml0aG1zLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwNzhFMDkxRDE3RDE0RDFDMDA0MjBBQTEgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKQEAgLTIzNzkzLDYgKzIzNzQ4LDcgQEAKIAkJCQk5
MzMwOURFNjA5OUU2NDkyMDA1NkU1ODEgLyogSFRNTEludGVyY2hhbmdlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBODEzNjlFNDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTEtleWdlbkVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4MTM2OUUyMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MTGFiZWxF
bGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTZDNUI5QjE4OUYzNDU3MDA4MkQxM0MgLyog
V2ViQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODEzNjlFMDA5NzM3NEY2MDBE
NzQ0NjMgLyogSFRNTExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4RUE3OUY2
MEExOTE2REYwMEE4RUY1RiAvKiBIVE1MTElFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlB
ODcxREMyMDBBMTUyMDU3MDBCMTJBNjggLyogSFRNTExpbmtFbGVtZW50LmggaW4gSGVhZGVycyAq
LywKQEAgLTIzODc3LDcgKzIzODMzLDYgQEAKIAkJCQkwNzhFMDkyMTE3RDE0RDFDMDA0MjBBQTEg
LyogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcyNzdFNTEx
N0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUE3MUQ1N0MwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50aWZpZXJSZXAuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTU5MTNBMjQyMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3Rvcnku
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUM1MEVGODZENDcwMDlEMENBRiAvKiBJZGVudGl0
eVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4NTYxODJDMEY4
MzAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE1ODRGRTI2MTg2MzdEQUIwMDg0M0IxMCAvKiBDb21tYW5kTGluZUFQSU1vZHVsZVNvdXJjZS5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yMzkzMCw3ICsyMzg4NSw2IEBACiAJCQkJQUFENzY2RUMxNTdF
NTAyRjAwRTg1NDIzIC8qIEluc3BlY3RvckNhbnZhc0FnZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBQUQ3NjZFRDE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yQ2FudmFzSW5zdHJ1bWVudGF0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzgxQjk1QzBFOTczMzA4MDAyNjZFMDcgLyogSW5z
cGVjdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzMzNUJGOTEyRTA3REMzMDBEMzMw
MTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGM0Y1Q0Yx
MTEyRUQ4MUE4MDA4NEM1NjkgLyogSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUM4MUI5NUEwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzMjVBNDBCMTRFRTM2RkEwMDczMjRFMiAv
KiBJbnNwZWN0b3JDb3VudGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTExNiwxMSArMjUwNzAs
NyBAQAogCQkJCTlCRDBCRjkzMTJBNDJCRjUwMDcyRkQ0MyAvKiBTY29wZWRFdmVudFF1ZXVlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0VDMDFCRTBDMjc0REFDMDA5RjRFQzkgLyogU2NyZWVuLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBODREODJDMTExRDM0NzQ4MDA5NzI5OTAgLyogU2NyaXB0YWJs
ZURvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzlCRTk1QzEyNjczQkY0MDBF
MEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUYxRDIxRjBF
RjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmggaW4gSGVhZGVycyAqLywK
LQkJCQk0MTZFNzVDQjBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVh
ZGVycyAqLywKLQkJCQk0MTZFNzVCRTBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNr
LmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzkyMjQ5RDEyNkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNCNzBENzAwOUVCMEM3QzAw
OUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OThBRUQy
MTNGQjIyNEQwMDkwQjFBQSAvKiBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTA4QTQ4NDc4MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTI2NDg0LDcgKzI2NDM0LDYgQEAKIAkJCQlGRDMxNjA4RTEyQjAy
NkY3MDBDMUEzNTkgLyogQ29uZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTQ2RkU2RjE4NDQy
MEFBMDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDMEIzNkE0MENEM0M2N0MwMEFDN0VCNSAvKiBDb25zb2xlLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCTQxRjA2MThGMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBODE4NzIxRjA5NzdEM0MwMDA1ODI2RDkgLyogQ29udGFpbmVyTm9k
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0E3OENENTE1MzJCQTYyMDA2QzIxRTQgLyogQ29u
dGFpbmVyTm9kZUFsZ29yaXRobXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1RUI5ODAwRTgy
MDcyNTAwQjI1OTY1IC8qIENvbnRlbnREYXRhLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjcyMjAs
NyArMjcxNjksNiBAQAogCQkJCUM1ODVBNjYyMTFENEZBQzUwMDRDM0U0QiAvKiBJREJCaW5kaW5n
VXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNzFENTdCMEYzMzgxOTAwMEY5Q0U0
RSAvKiBJZGVudGlmaWVyUmVwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MDU4NTMxMTdGREU2
RDkwMDVGMkJDQiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50LmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTU5MTNBMjQxMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3QTQxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2Jz
ZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3QTYxNUIwMDYzRjAwMjc2RDM5IC8q
IElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjc1MzU2
RjBCMDUzODE0MDAyQ0U2NEYgLyogSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNzI2NCw3
ICsyNzIxMiw2IEBACiAJCQkJRTFGODBCOEExODMxNzJBMjAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5
UGFpckN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBQUQ3NjZFQjE1N0U1MDJGMDBFODU0
MjMgLyogSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0ExRjJC
NTIxMjZDNjFCMjAwMDZBN0U2IC8qIEluc3BlY3RvckNsaWVudC5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQlGMzMzNUJGODEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFDODFCOTVCMEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0
b3JDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUYzMjVBNDBBMTRFRTM2RkEwMDcz
MjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MkFCMTc0
MzEyNEI5OUVDMDBDNTA2OUQgLyogSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0yODQyOCwxMSArMjgzNzUsNyBAQAogCQkJCTlCRDBCRjk0MTJBNDJCRjUwMDcyRkQ0MyAv
KiBTY29wZWRFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUMwMUJEMEMyNzRE
QUMwMDlGNEVDOSAvKiBTY3JlZW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg0RDgyQzIxMUQz
NDc0ODAwOTcyOTkwIC8qIFNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQlGMzlCRTk1QjEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTQxRjFEMjIwMEVGMzVDMkEwMERBODc1MyAvKiBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE2RTc1Q0MwRURGOTBDNzAwMzYw
RTFEIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTZFNzVCRjBF
REY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CUYzOTIyNDlDMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzQjcwRDZGMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250
cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4M0UxQzc0MEU0OTA0MkMwMDE0MEI5QyAv
KiBTY3JpcHRDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk5OEFFRDExM0ZC
MjI0RDAwOTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTI4NjA1LDYgKzI4NTQ4LDcgQEAKIAkJCQkzMUE3OTVDODE4ODhCQ0I1MDAzODJG
OTAgLyogQU5HTEVJbnN0YW5jZWRBcnJheXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU4NDBF
MjQxODdCOEFDMjAwODQzQjEwIC8qIFBhZ2VJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQThDNEE3RkUwOUQ1NjMyNzAwMDNBQzhEIC8qIFN0eWxlZEVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJQTU2QzVCOUExODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNv
bGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVFQjhCODBFODIwMUJEMDBCMjU5NjUg
LyogU3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUFBNEMzQTc2MEIyQjE2NzkwMDIzMzRBMiAvKiBJbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMzE5QUUwNjMxNDJENkIyNDAwNjU2M0ExIC8qIFN0eWxlRmlsdGVy
RGF0YS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcAppbmRleCBlMTk1ZGRmLi5hYjU4ZDRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnRleHRDdXN0b20u
Y3BwCkBAIC03Myw3ICs3Myw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNBdWRp
b0NvbnRleHRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNBdWRpb0NvbnRleHQoCiAjaWYgRU5BQkxF
KExFR0FDWV9XRUJfQVVESU8pCiAgICAgICAgIC8vIENvbnN0cnVjdG9yIGZvciBvZmZsaW5lIChy
ZW5kZXItdGFyZ2V0KSBBdWRpb0NvbnRleHQgd2hpY2ggcmVuZGVycyBpbnRvIGFuIEF1ZGlvQnVm
ZmVyLgogICAgICAgICAvLyBuZXcgQXVkaW9Db250ZXh0KGluIHVuc2lnbmVkIGxvbmcgbnVtYmVy
T2ZDaGFubmVscywgaW4gdW5zaWduZWQgbG9uZyBudW1iZXJPZkZyYW1lcywgaW4gZmxvYXQgc2Ft
cGxlUmF0ZSk7Ci0gICAgICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwKKyAgICAgICAgZG9jdW1lbnQuYWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywKICAgICAgICAg
ICAgICJEZXByZWNhdGVkIEF1ZGlvQ29udGV4dCBjb25zdHJ1Y3RvcjogdXNlIE9mZmxpbmVBdWRp
b0NvbnRleHQgaW5zdGVhZCIpOwogCiAgICAgICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkg
PCAzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0Fs
bEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9u
ZS5jcHAKaW5kZXggMDQyOGU4My4uNzJlYzljZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0xNDMsNyArMTQzLDYgQEAKICNp
bmNsdWRlICJQYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIlNjaGVkdWxlZEFj
dGlvbi5jcHAiCiAjaW5jbHVkZSAiU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcCIKLSNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVy
LmNwcCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5jcHAiCiAjaW5jbHVkZSAiU2NyaXB0U3Rh
dGUuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Y
UGF0aE5TUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Y
UGF0aE5TUmVzb2x2ZXIuY3BwCmluZGV4IGYxYjYzZjguLjRjMTBlMDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAK
QEAgLTgxLDcgKzgxLDcgQEAgU3RyaW5nIEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBO
YW1lc3BhY2VVUkkoY29uc3QgU3RyaW5nJiBwcmVmaXgpCiAgICAgICAgIGlmIChjYWxsVHlwZSA9
PSBDYWxsVHlwZU5vbmUpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5v
cmcvYi8xMTQzMTI+IEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VVUkkg
Q29uc29sZSBNZXNzYWdlIHNob3VsZCBpbmNsdWRlIExpbmUsIENvbHVtbiwgYW5kIFNvdXJjZVVS
TAogICAgICAgICAgICAgaWYgKFBhZ2VDb25zb2xlKiBjb25zb2xlID0gbV9nbG9iYWxPYmplY3Qt
PmltcGwoKS5wYWdlQ29uc29sZSgpKQotICAgICAgICAgICAgICAgIGNvbnNvbGUtPmFkZE1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlhQYXRoTlNSZXNvbHZlciBk
b2VzIG5vdCBoYXZlIGEgbG9va3VwTmFtZXNwYWNlVVJJIG1ldGhvZC4iKTsKKyAgICAgICAgICAg
ICAgICBjb25zb2xlLT5hZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6
OkVycm9yLCBBU0NJSUxpdGVyYWwoIlhQYXRoTlNSZXNvbHZlciBkb2VzIG5vdCBoYXZlIGEgbG9v
a3VwTmFtZXNwYWNlVVJJIG1ldGhvZC4iKSk7CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7
CiAgICAgICAgIH0KICAgICAgICAgZnVuY3Rpb24gPSBtX2N1c3RvbVJlc29sdmVyLmdldCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKaW5kZXggNTgyMjFk
MC4uNTYzMzg5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01C
aW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcu
Y3BwCkBAIC0zNCw4ICszNCw4IEBACiAjaW5jbHVkZSAiSlNET01XaW5kb3dDdXN0b20uaCIKICNp
bmNsdWRlICJKU0V4Y2VwdGlvbkJhc2UuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgot
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5jbHVk
ZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDxpbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmg+CiAj
aW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgpAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgPHd0
Zi9NYXRoRXh0cmFzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7Cit1c2luZyBuYW1lc3BhY2Ug
SW5zcGVjdG9yOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAppbmRleCAxOWE3ODAwLi5j
MTViY2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNy
eXB0b0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVD
cnlwdG9DdXN0b20uY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0
bzo6ZW5jcnlwdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJv
cihleGVjKTsKIAogICAgIGlmICgha2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VFbmNyeXB0KSkg
ewotICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICdl
bmNyeXB0JyIpOworICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktl
eSB1c2FnZXMgZG8gbm90IGluY2x1ZGUgJ2VuY3J5cHQnIikpOwogICAgICAgICBzZXRET01FeGNl
cHRpb24oZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRlZmlu
ZWQoKTsKICAgICB9CkBAIC0yMDIsNyArMjAyLDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6
ZGVjcnlwdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihl
eGVjKTsKIAogICAgIGlmICgha2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VEZWNyeXB0KSkgewot
ICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICdkZWNy
eXB0JyIpOworICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktleSB1
c2FnZXMgZG8gbm90IGluY2x1ZGUgJ2RlY3J5cHQnIikpOwogICAgICAgICBzZXRET01FeGNlcHRp
b24oZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQo
KTsKICAgICB9CkBAIC0yNTMsNyArMjUzLDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6c2ln
bihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjKTsK
IAogICAgIGlmICgha2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VTaWduKSkgewotICAgICAgICBt
X2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICdzaWduJyIpOworICAg
ICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6
OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktleSB1c2FnZXMgZG8gbm90
IGluY2x1ZGUgJ3NpZ24nIikpOwogICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgTk9UX1NV
UFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICB9CkBAIC0z
MDQsNyArMzA0LDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6dmVyaWZ5KEV4ZWNTdGF0ZSog
ZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCFr
ZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZVZlcmlmeSkpIHsKLSAgICAgICAgbV9pbXBsLT5kb2N1
bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxl
dmVsLCAiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAndmVyaWZ5JyIpOworICAgICAgICBtX2lt
cGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNz
YWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUg
J3ZlcmlmeSciKSk7CiAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBOT1RfU1VQUE9SVEVE
X0VSUik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0KQEAgLTYzOSw3ICs2
MzksNyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjp3cmFwS2V5KEV4ZWNTdGF0ZSogZXhlYykK
ICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCF3cmFwcGlu
Z0tleS0+YWxsb3dzKENyeXB0b0tleVVzYWdlV3JhcEtleSkpIHsKLSAgICAgICAgbV9pbXBsLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAnd3JhcEtleSciKTsKKyAgICAgICAg
bV9pbXBsLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywg
TWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNs
dWRlICd3cmFwS2V5JyIpKTsKICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIE5PVF9TVVBQ
T1JURURfRVJSKTsKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgfQpAQCAtNzE4
LDcgKzcxOCw3IEBAIEpTVmFsdWUgSlNTdWJ0bGVDcnlwdG86OnVud3JhcEtleShFeGVjU3RhdGUq
IGV4ZWMpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjKTsKIAogICAgIGlmICgh
dW53cmFwcGluZ0tleS0+YWxsb3dzKENyeXB0b0tleVVzYWdlVW53cmFwS2V5KSkgewotICAgICAg
ICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd1bndyYXBLZXkn
Iik7CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVzYWdl
cyBkbyBub3QgaW5jbHVkZSAndW53cmFwS2V5JyIpKTsKICAgICAgICAgc2V0RE9NRXhjZXB0aW9u
KGV4ZWMsIE5PVF9TVVBQT1JURURfRVJSKTsKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVy
LmNwcAppbmRleCBiZDU4YjgyLi5kYWRlYjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQbHVnaW5WaWV3Lmgi
Ci0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29k
ZS5oIgogI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCkBAIC01MCw2ICs0OSw3IEBACiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFs
dWUuaD4KICNpbmNsdWRlIDxkZWJ1Z2dlci9EZWJ1Z2dlci5oPgogI2luY2x1ZGUgPGhlYXAvU3Ry
b25nSW5saW5lcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNp
bmNsdWRlIDxydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaD4KICNpbmNsdWRlIDxydW50aW1l
L0pTTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KQEAgLTQ4Miw3ICs0ODIsNyBA
QCBib29sIFNjcmlwdENvbnRyb2xsZXI6OmNhbkV4ZWN1dGVTY3JpcHRzKFJlYXNvbkZvckNhbGxp
bmdDYW5FeGVjdXRlU2NyaXB0cyByZWFzbwogICAgIGlmIChtX2ZyYW1lLmRvY3VtZW50KCkgJiYg
bV9mcmFtZS5kb2N1bWVudCgpLT5pc1NhbmRib3hlZChTYW5kYm94U2NyaXB0cykpIHsKICAgICAg
ICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xl
IG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAzMjc0IGV4aXN0cy4KICAgICAgICAgaWYgKHJlYXNvbiA9PSBBYm91dFRvRXhlY3V0ZVNj
cmlwdCkKLSAgICAgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
U2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgc2NyaXB0
IGV4ZWN1dGlvbiBpbiAnIiArIG1fZnJhbWUuZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nQ2VudGVy
RWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIHRoZSBkb2N1bWVudCdzIGZyYW1lIGlz
IHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQu
Iik7CisgICAgICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQmxvY2tlZCBzY3Jp
cHQgZXhlY3V0aW9uIGluICciICsgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmdDZW50
ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgdGhlIGRvY3VtZW50J3MgZnJhbWUg
aXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNl
dC4iKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAxY2U1NDRhLi5j
NDc0ZGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQpAQCAtMzAzNiw5ICszMDM2LDkgQEAgc3ViIEdlbmVyYXRlQ2FsbFdpdGgK
ICAgICAgICAgcHVzaChAY2FsbFdpdGhBcmdzLCAic2NyaXB0Q29udGV4dCIpOwogICAgIH0KICAg
ICBpZiAoJGZ1bmN0aW9uIGFuZCAkY29kZUdlbmVyYXRvci0+RXh0ZW5kZWRBdHRyaWJ1dGVDb250
YWlucygkY2FsbFdpdGgsICJTY3JpcHRBcmd1bWVudHMiKSkgewotICAgICAgICBwdXNoKEAkb3V0
cHV0QXJyYXksICIgICAgUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gc2NyaXB0QXJndW1lbnRzKGNy
ZWF0ZVNjcmlwdEFyZ3VtZW50cyhleGVjLCAiIC4gQHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9IC4g
IikpO1xuIik7Ci0gICAgICAgICRpbXBsSW5jbHVkZXN7IlNjcmlwdEFyZ3VtZW50cy5oIn0gPSAx
OwotICAgICAgICAkaW1wbEluY2x1ZGVzeyJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgifSA9IDE7
CisgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSZWZQdHI8SW5zcGVjdG9yOjpTY3Jp
cHRBcmd1bWVudHM+IHNjcmlwdEFyZ3VtZW50cyhJbnNwZWN0b3I6OmNyZWF0ZVNjcmlwdEFyZ3Vt
ZW50cyhleGVjLCAiIC4gQHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9IC4gIikpO1xuIik7CisgICAg
ICAgICRpbXBsSW5jbHVkZXN7IjxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+In0gPSAxOwor
ICAgICAgICAkaW1wbEluY2x1ZGVzeyI8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3Rvcnku
aD4ifSA9IDE7CiAgICAgICAgIHB1c2goQGNhbGxXaXRoQXJncywgInNjcmlwdEFyZ3VtZW50cy5y
ZWxlYXNlKCkiKTsKICAgICB9CiAgICAgcmV0dXJuIEBjYWxsV2l0aEFyZ3M7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmlu
ZGV4IDI4ZjUyNzguLjc3OTJiNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC00NCwxNCArNDQsMTQgQEAKICNp
bmNsdWRlICJTVkdEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5jbHVkZSAi
U1ZHU3RhdGljUHJvcGVydHlUZWFyT2ZmLmgiCi0jaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgi
Ci0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdFBy
b2ZpbGUuaCIKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRlc3RPYmouaCIKICNpbmNsdWRlICJVUkwuaCIKICNpbmNs
dWRlICJib29sLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oPgorI2lu
Y2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8cnVu
dGltZS9FcnJvci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNBcnJheS5oPgogI2luY2x1ZGUgPHJ1
bnRpbWUvSlNTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggNGMyN2E2MS4u
MDliYjFiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTExNDg2LDcgKzExNDg2LDcg
QEAgdm9pZCBDU1NQYXJzZXI6OmxvZ0Vycm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxp
bmVOdW1iZXIpCiB7CiAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDMxMz4g
Q1NTIHBhcnNlciBjb25zb2xlIG1lc3NhZ2UgZXJyb3JzIHNob3VsZCBpbmNsdWRlIGNvbHVtbiBu
dW1iZXJzLgogICAgIFBhZ2VDb25zb2xlJiBjb25zb2xlID0gbV9zdHlsZVNoZWV0LT5zaW5nbGVP
d25lckRvY3VtZW50KCktPnBhZ2UoKS0+Y29uc29sZSgpOwotICAgIGNvbnNvbGUuYWRkTWVzc2Fn
ZShDU1NNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBtX3N0eWxl
U2hlZXQtPmJhc2VVUkwoKS5zdHJpbmcoKSwgbGluZU51bWJlciArIDEsIDApOworICAgIGNvbnNv
bGUuYWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpDU1MsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywg
bWVzc2FnZSwgbV9zdHlsZVNoZWV0LT5iYXNlVVJMKCkuc3RyaW5nKCksIGxpbmVOdW1iZXIgKyAx
LCAwKTsKIH0KIAogUGFzc1JlZlB0cjxTdHlsZVJ1bGVLZXlmcmFtZXM+IENTU1BhcnNlcjo6Y3Jl
YXRlS2V5ZnJhbWVzUnVsZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8VmVjdG9yPFJl
ZlB0cjxTdHlsZUtleWZyYW1lPj4+IHBvcEtleWZyYW1lcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5j
cHAKaW5kZXggMjBmOTI4ZC4uM2NhMTFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAKQEAg
LTMxMCw3ICszMTAsNyBAQCBzdGF0aWMgdm9pZCBhZGRSZXNvbHV0aW9uV2FybmluZ01lc3NhZ2VU
b0NvbnNvbGUoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbgogCiAgICAgbWVzc2FnZS5h
cHBlbmQoc2VyaWFsaXplZEV4cHJlc3Npb24pOwogCi0gICAgZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKENTU01lc3NhZ2VTb3VyY2UsIERlYnVnTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAg
ICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6Q1NTLCBNZXNzYWdl
TGV2ZWw6OkRlYnVnLCBtZXNzYWdlKTsKIH0KIAogdm9pZCByZXBvcnRNZWRpYVF1ZXJ5V2Fybmlu
Z0lmTmVlZGVkKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgTWVkaWFRdWVyeVNldCogbWVkaWFR
dWVyeVNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGE5NmY5NzAuLjNmODNjNDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjAsOSArNjAsNiBAQAogI2luY2x1ZGUgIkZyYW1l
TG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJGcmFt
ZVZpZXcuaCIKLSNpbmNsdWRlICJIYXNoQ2hhbmdlRXZlbnQuaCIKLSNpbmNsdWRlICJIaXN0b2dy
YW1TdXBwb3J0LmgiCi0jaW5jbHVkZSAiSGlzdG9yeS5oIgogI2luY2x1ZGUgIkhUTUxBbGxDb2xs
ZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
QmFzZUVsZW1lbnQuaCIKQEAgLTg2LDYgKzgzLDkgQEAKICNpbmNsdWRlICJIVE1MU3R5bGVFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRpdGxlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUVFBQYXJz
ZXJzLmgiCisjaW5jbHVkZSAiSGFzaENoYW5nZUV2ZW50LmgiCisjaW5jbHVkZSAiSGlzdG9ncmFt
U3VwcG9ydC5oIgorI2luY2x1ZGUgIkhpc3RvcnkuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0
LmgiCiAjaW5jbHVkZSAiSWNvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJJbWFnZUxvYWRlci5o
IgpAQCAtMTIyLDcgKzEyMiw2IEBACiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
IgogI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2NvcGVkRXZlbnRRdWV1
ZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRSdW5uZXIuaCIKICNpbmNsdWRlICJTY3JpcHRTb3Vy
Y2VDb2RlLmgiCkBAIC0xNDksNiArMTQ4LDcgQEAKICNpbmNsdWRlICJYUGF0aE5TUmVzb2x2ZXIu
aCIKICNpbmNsdWRlICJYUGF0aFJlc3VsdC5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCisj
aW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9DdXJy
ZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9UZW1wb3JhcnlDaGFuZ2UuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdCdWZmZXIuaD4KQEAgLTI1ODMsOSArMjU4Myw5IEBAIEV2ZW50VGFyZ2V0
KiBEb2N1bWVudDo6ZXJyb3JFdmVudFRhcmdldCgpCiAgICAgcmV0dXJuIG1fZG9tV2luZG93Lmdl
dCgpOwogfQogCi12b2lkIERvY3VtZW50Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJl
ciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFj
aykKK3ZvaWQgRG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQg
Y29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiBjYWxs
U3RhY2spCiB7Ci0gICAgYWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxl
dmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBj
YWxsU3RhY2spOworICAgIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZl
bDo6RXJyb3IsIGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1i
ZXIsIGNhbGxTdGFjayk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnNldFVSTChjb25zdCBVUkwmIHVy
bCkKQEAgLTI4NTAsNyArMjg1MCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYo
Y29uc3QgU3RyaW5nJiBlcXVpdiwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogICAgICAgICAgICAg
ICAgIC8vIGludGVudCwgd2UgbXVzdCBuYXZpZ2F0ZSBhd2F5IGZyb20gdGhlIHBvc3NpYmx5IHBh
cnRpYWxseS1yZW5kZXJlZCBkb2N1bWVudCB0byBhIGxvY2F0aW9uIHRoYXQKICAgICAgICAgICAg
ICAgICAvLyBkb2Vzbid0IGluaGVyaXQgdGhlIHBhcmVudCdzIFNlY3VyaXR5T3JpZ2luLgogICAg
ICAgICAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCkuc2NoZWR1bGVMb2NhdGlv
bkNoYW5nZShzZWN1cml0eU9yaWdpbigpLCBTZWN1cml0eU9yaWdpbjo6dXJsV2l0aFVuaXF1ZVNl
Y3VyaXR5T3JpZ2luKCksIFN0cmluZygpKTsKLSAgICAgICAgICAgICAgICBhZGRDb25zb2xlTWVz
c2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBy
ZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgYWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UsIHJlcXVl
c3RJZGVudGlmaWVyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UoZXF1aXYsICJjb250ZW50LXNlY3VyaXR5LXBvbGljeSIpKQpAQCAt
NDg0Niw3ICs0ODQ2LDcgQEAgdm9pZCBEb2N1bWVudDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QKICAgICAgICAgcGFnZS0+
Y29uc29sZSgpLmFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgcmVxdWVzdElkZW50
aWZpZXIsIHRoaXMpOwogfQogCi12b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVt
bk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgSlNDOjpFeGVj
U3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9pZCBEb2N1
bWVudDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25l
ZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9y
OjpTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewogICAgIGlmICghaXNDb250ZXh0VGhyZWFk
KCkpIHsKICAgICAgICAgcG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291
cmNlLCBsZXZlbCwgbWVzc2FnZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAwMWNjMzE0Li5i
ODBlNzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTE1Miw3ICsxMTUyLDcgQEAgcHVibGlj
OgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCkg
b3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBT
dHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVt
YmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5n
JiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwg
aW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4p
IG92ZXJyaWRlOwogCiAgICAgdm9pZCBpbml0RE5TUHJlZmV0Y2goKTsKIApAQCAtMTI3NSw3ICsx
Mjc1LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVmU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIG92ZXJyaWRlIHsgcmVmKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZTY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9CiAKLSAgICB2aXJ0dWFsIHZv
aWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVu
c2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4
ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNp
Z25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25n
IHJlcXVlc3RJZGVudGlmaWVyID0gMCkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGRvdWJsZSBt
aW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RWxlbWVudC5jcHAKaW5kZXggZDdiMmI3NC4uZGZkN2Q2MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFbGVtZW50LmNwcApAQCAtMjQsOSArMjQsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIlNjcmlwdEVsZW1lbnQuaCIKIAotI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgog
I2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiQ29udGVu
dFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmgi
CiAjaW5jbHVkZSAiQ3VycmVudFNjcmlwdEluY3JlbWVudGVyLmgiCkBAIC0zOCw3ICszOCw2IEBA
CiAjaW5jbHVkZSAiSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCIKICNp
bmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUg
IlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJTY3JpcHRSdW5uZXIuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCkBAIC00
Nyw2ICs0Niw3IEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJUZXh0Tm9kZVRy
YXZlcnNhbC5oIgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+CisjaW5jbHVkZSA8
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgU2NyaXB0RWxlbWVudDo6
ZXhlY3V0ZVNjcmlwdChjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQogCiAjaWYg
RU5BQkxFKE5PU05JRkYpCiAgICAgaWYgKG1faXNFeHRlcm5hbFNjcmlwdCAmJiBtX2NhY2hlZFNj
cmlwdCAmJiAhbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBlQWxsb3dlZEJ5Tm9zbmlmZigpKSB7Ci0g
ICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiUmVmdXNlZCB0byBleGVjdXRlIHNjcmlw
dCBmcm9tICciICsgbV9jYWNoZWRTY3JpcHQtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRU
b0xlbmd0aCgpICsgIicgYmVjYXVzZSBpdHMgTUlNRSB0eXBlICgnIiArIG1fY2FjaGVkU2NyaXB0
LT5taW1lVHlwZSgpICsgIicpIGlzIG5vdCBleGVjdXRhYmxlLCBhbmQgc3RyaWN0IE1JTUUgdHlw
ZSBjaGVja2luZyBpcyBlbmFibGVkLiIpOworICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCku
YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsICJSZWZ1c2VkIHRvIGV4ZWN1dGUgc2NyaXB0IGZyb20gJyIgKyBtX2NhY2hlZFNjcmlw
dC0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIGl0
cyBNSU1FIHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBlKCkgKyAiJykgaXMgbm90
IGV4ZWN1dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNoZWNraW5nIGlzIGVuYWJsZWQuIik7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKQEAgLTM1MSw3ICszNTEsNyBAQCB2b2lk
IFNjcmlwdEVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkK
IAogICAgICAgICBkaXNwYXRjaEVycm9yRXZlbnQoKTsKICAgICAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJDcm9zcy1vcmlnaW4g
c2NyaXB0IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGlj
eS4iKSkpOwotICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAg
ICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGNvbnNvbGVNZXNzYWdlKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwCmluZGV4IGNhNjA0MWYuLjM2NjUyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTMzLDEwICszMywxMCBAQAogI2luY2x1ZGUg
IkVycm9yRXZlbnQuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUgIlB1Ymxp
Y1VSTE1hbmFnZXIuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29y
a2VyVGhyZWFkLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2lu
Y2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogCkBAIC01MSw2
ICs1MSw4IEBACiAjaW5jbHVkZSAiRGF0YWJhc2VDb250ZXh0LmgiCiAjZW5kaWYKIAordXNpbmcg
bmFtZXNwYWNlIEluc3BlY3RvcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQcm9j
ZXNzTWVzc2FnZXNTb29uVGFzayA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNr
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IDFj
N2YwZGEuLmI1YmY4MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaApAQCAtMjksMTAgKzI5LDEwIEBACiAjZGVmaW5lIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRfaAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5jbHVkZSAiQ29uc29sZVR5
cGVzLmgiCi0jaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlDb250ZXh0LmgiCiAj
aW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKyNpbmNsdWRlICJVUkwuaCIKKyNpbmNsdWRlIDxp
bnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CkBAIC00MCw2ICs0MCwxMCBAQCBjbGFzcyBFeGVjU3RhdGU7CiBjbGFzcyBW
TTsKIH0KIAorbmFtZXNwYWNlIEluc3BlY3RvciB7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2s7Cit9
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkU2NyaXB0OwpAQCAtNDksNyAr
NTMsNiBAQCBjbGFzcyBFdmVudExpc3RlbmVyOwogY2xhc3MgRXZlbnRRdWV1ZTsKIGNsYXNzIEV2
ZW50VGFyZ2V0OwogY2xhc3MgTWVzc2FnZVBvcnQ7Ci1jbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiAK
ICNpZiBFTkFCTEUoQkxPQikKIGNsYXNzIFB1YmxpY1VSTE1hbmFnZXI7CkBAIC03NSw3ICs3OCw3
IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2FuaXRpemVTY3JpcHRFcnJvcihTdHJpbmcmIGVycm9y
TWVzc2FnZSwgaW50JiBsaW5lTnVtYmVyLCBpbnQmIGNvbHVtbk51bWJlciwgU3RyaW5nJiBzb3Vy
Y2VVUkwsIENhY2hlZFNjcmlwdCogPSAwKTsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQu
b3JnL2IvMTE0MzE1PiBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGxvZyBleGNlcHRpb24gc2hvdWxk
IGluY2x1ZGUgYSBjb2x1bW4gbnVtYmVyCi0gICAgdm9pZCByZXBvcnRFeGNlcHRpb24oY29uc3Qg
U3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBDYWNo
ZWRTY3JpcHQqID0gMCk7CisgICAgdm9pZCByZXBvcnRFeGNlcHRpb24oY29uc3QgU3RyaW5nJiBl
cnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4sIENh
Y2hlZFNjcmlwdCogPSAwKTsKIAogICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYg
c291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIEpT
Qzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsK
ICAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50
aWZpZXIgPSAwKSA9IDA7CkBAIC0xNzcsOSArMTgwLDkgQEAgcHJvdGVjdGVkOgogICAgIEFjdGl2
ZURPTU9iamVjdDo6UmVhc29uRm9yU3VzcGVuc2lvbiByZWFzb25Gb3JTdXNwZW5kaW5nQWN0aXZl
RE9NT2JqZWN0cygpIGNvbnN0IHsgcmV0dXJuIG1fcmVhc29uRm9yU3VzcGVuZGluZ0FjdGl2ZURP
TU9iamVjdHM7IH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJl
ciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBh
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWdu
ZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwg
SlNDOjpFeGVjU3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAp
ID0gMDsKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCkgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJv
ck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNv
bHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVy
LCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPikgPSAwOwogICAgIGJvb2wg
ZGlzcGF0Y2hFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51
bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIENhY2hlZFNj
cmlwdCopOwogCiAgICAgdm9pZCBjbG9zZU1lc3NhZ2VQb3J0cygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKaW5kZXggMmM5NTM5ZC4uMGY2YzA4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCkBAIC00NDgsMTUgKzQ0OCwxNSBAQCBz
dGF0aWMgTWVzc2FnZUxldmVsIHZpZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwoVmlld3BvcnRFcnJv
ckNvZGUgZXJyb3JDb2RlKQogewogICAgIHN3aXRjaCAoZXJyb3JDb2RlKSB7CiAgICAgY2FzZSBU
cnVuY2F0ZWRWaWV3cG9ydEFyZ3VtZW50VmFsdWVFcnJvcjoKLSAgICAgICAgcmV0dXJuIFdhcm5p
bmdNZXNzYWdlTGV2ZWw7CisgICAgICAgIHJldHVybiBNZXNzYWdlTGV2ZWw6Oldhcm5pbmc7CiAg
ICAgY2FzZSBVbnJlY29nbml6ZWRWaWV3cG9ydEFyZ3VtZW50S2V5RXJyb3I6CiAgICAgY2FzZSBV
bnJlY29nbml6ZWRWaWV3cG9ydEFyZ3VtZW50VmFsdWVFcnJvcjoKICAgICBjYXNlIE1heGltdW1T
Y2FsZVRvb0xhcmdlRXJyb3I6Ci0gICAgICAgIHJldHVybiBFcnJvck1lc3NhZ2VMZXZlbDsKKyAg
ICAgICAgcmV0dXJuIE1lc3NhZ2VMZXZlbDo6RXJyb3I7CiAgICAgfQogCiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEVycm9yTWVzc2FnZUxldmVsOworICAgIHJldHVybiBN
ZXNzYWdlTGV2ZWw6OkVycm9yOwogfQogCiB2b2lkIHJlcG9ydFZpZXdwb3J0V2FybmluZyhEb2N1
bWVudCogZG9jdW1lbnQsIFZpZXdwb3J0RXJyb3JDb2RlIGVycm9yQ29kZSwgY29uc3QgU3RyaW5n
JiByZXBsYWNlbWVudDEsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnQyKQpAQCAtNDc1LDcgKzQ3
NSw3IEBAIHZvaWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1bWVudCwgVmll
d3BvcnRFcnJvckNvZGUgZXJyb3JDb2RlLCBjb25zCiAgICAgICAgIG1lc3NhZ2UuYXBwZW5kKCIg
Tm90ZSB0aGF0ICc7JyBpcyBub3QgYSBzZXBhcmF0b3IgaW4gdmlld3BvcnQgdmFsdWVzLiBUaGUg
bGlzdCBzaG91bGQgYmUgY29tbWEtc2VwYXJhdGVkLiIpOwogCiAgICAgLy8gRklYTUU6IFRoaXMg
bWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0
byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4K
LSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwg
dmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdlKTsKKyAgICBkb2N1
bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6UmVuZGVyaW5nLCB2aWV3cG9y
dEVycm9yTWVzc2FnZUxldmVsKGVycm9yQ29kZSksIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAppbmRleCA2NzI2YmY0Li42MzQxZDEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJC
bG9iVVJMLmgiCiAjaW5jbHVkZSAiRmlsZS5oIgogI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQu
aCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oIgogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRC
bG9iQnVpbGRlci5jcHAKaW5kZXggYzQ3ZWIxZi4uOGE0NTgwNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KICNpbmNsdWRlICJXZWJLaXRCbG9iQnVpbGRlci5oIgog
CiAjaW5jbHVkZSAiQmxvYi5oIgpAQCAtMzgsNyArMzcsNiBAQAogI2luY2x1ZGUgIkZpbGUuaCIK
ICNpbmNsdWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiTGluZUVuZGluZy5oIgot
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgog
I2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDxydW50aW1lL0FycmF5
QnVmZmVyVmlldy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNv
bnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5jcHAKaW5kZXggZTYxMDIyOS4uNjM4ODEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0xODAsNyArMTgwLDcgQEAgc3RhdGlj
IGJvb2wgc2hvdWxkQXV0b2ZvY3VzKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGVsZW1lbnQpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZWxlbWVudC0+ZG9jdW1lbnQoKS5pc1NhbmRi
b3hlZChTYW5kYm94QXV0b21hdGljRmVhdHVyZXMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24g
dG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMu
Ci0gICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXV0b2ZvY3VzaW5nIG9u
IGEgZm9ybSBjb250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5k
IHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAgICAgICBl
bGVtZW50LT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3Vy
aXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgYXV0b2ZvY3Vz
aW5nIG9uIGEgZm9ybSBjb250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94
ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpKTsKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBpZiAoZWxlbWVudC0+aGFzQXV0b2ZvY3Vz
ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCAxMzJlZDkx
Li42MGExMzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC0y
NTMsNyArMjUzLDcgQEAgYm9vbCBIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVs
eShFdmVudCogZXZlbnQpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBT
dHJpbmcgbWVzc2FnZSgiQW4gaW52YWxpZCBmb3JtIGNvbnRyb2wgd2l0aCBuYW1lPSclbmFtZScg
aXMgbm90IGZvY3VzYWJsZS4iKTsKICAgICAgICAgICAgIG1lc3NhZ2UucmVwbGFjZSgiJW5hbWUi
LCBjb250cm9sLm5hbWUoKSk7Ci0gICAgICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVNZXNz
YWdlKFJlbmRlcmluZ01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsK
KyAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6
UmVuZGVyaW5nLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKICAgICAgICAgfQogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAppbmRleCBhMmY5
ZDEwLi40MTgxMzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNw
cApAQCAtODEsNyArODEsNyBAQCB2b2lkIEhUTUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdAogICAgICAgICBTdHJp
bmcgaW52YWxpZFRva2VuczsKICAgICAgICAgc2V0U2FuZGJveEZsYWdzKHZhbHVlLmlzTnVsbCgp
ID8gU2FuZGJveE5vbmUgOiBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeSh2YWx1
ZSwgaW52YWxpZFRva2VucykpOwogICAgICAgICBpZiAoIWludmFsaWRUb2tlbnMuaXNOdWxsKCkp
Ci0gICAgICAgICAgICBkb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciB3aGlsZSBwYXJzaW5nIHRoZSAnc2FuZGJv
eCcgYXR0cmlidXRlOiAiICsgaW52YWxpZFRva2Vucyk7CisgICAgICAgICAgICBkb2N1bWVudCgp
LmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTogIiArIGlu
dmFsaWRUb2tlbnMpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBzZWFtbGVzc0F0dHIpIHsKICAg
ICAgICAgLy8gSWYgd2UncmUgYWRkaW5nIG9yIHJlbW92aW5nIHRoZSBzZWFtbGVzcyBhdHRyaWJ1
dGUsIHdlIG5lZWQgdG8gZm9yY2UgdGhlIGNvbnRlbnQgZG9jdW1lbnQgdG8gcmVjYWxjdWxhdGUg
aXRzIFN0eWxlUmVzb2x2ZXIuCiAgICAgICAgIGlmIChjb250ZW50RG9jdW1lbnQoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDlmOTk3YjAuLmMyY2QxZjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjc0Nyw3ICsy
NzQ3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3Qo
Y29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWYKICNpZiBFTkFCTEUoRU5DUllQVEVEX01F
RElBX1YyKQogICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9IHRydWU7CiAgICAgaWYgKGZpcnN0
VGltZSAmJiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdN
ZXNzYWdlTGV2ZWwsICInSFRNTE1lZGlhRWxlbWVudC53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3Qo
KScgaXMgZGVwcmVjYXRlZC4gIFVzZSAnTWVkaWFLZXlzLmNyZWF0ZVNlc3Npb24oKScgaW5zdGVh
ZC4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBBU0NJSUxpdGVyYWwo
IidIVE1MTWVkaWFFbGVtZW50LndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgpJyBpcyBkZXByZWNh
dGVkLiAgVXNlICdNZWRpYUtleXMuY3JlYXRlU2Vzc2lvbigpJyBpbnN0ZWFkLiIpKTsKICAgICAg
ICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAgfQogI2VuZGlmCkBAIC0yNzgzLDcgKzI3ODMsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdEFkZEtleShjb25zdCBTdHJpbmcmIGtleVN5
c3RlbSwgUGFzc1JlZlB0cjxVaW50OEFycgogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUFfVjIp
CiAgICAgc3RhdGljIGJvb2wgZmlyc3RUaW1lID0gdHJ1ZTsKICAgICBpZiAoZmlyc3RUaW1lICYm
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VM
ZXZlbCwgIidIVE1MTWVkaWFFbGVtZW50LndlYmtpdEFkZEtleSgpJyBpcyBkZXByZWNhdGVkLiAg
VXNlICdNZWRpYUtleVNlc3Npb24udXBkYXRlKCknIGluc3RlYWQuIik7CisgICAgICAgIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMs
IE1lc3NhZ2VMZXZlbDo6V2FybmluZywgQVNDSUlMaXRlcmFsKCInSFRNTE1lZGlhRWxlbWVudC53
ZWJraXRBZGRLZXkoKScgaXMgZGVwcmVjYXRlZC4gIFVzZSAnTWVkaWFLZXlTZXNzaW9uLnVwZGF0
ZSgpJyBpbnN0ZWFkLiIpKTsKICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAgfQogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmNwcAppbmRleCA0N2Q4N2VkLi5lYWVkNzg0IDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAK
QEAgLTE4NDgsNyArMTg0OCw3IEBAIFBhc3NSZWZQdHI8SW1hZ2VEYXRhPiBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQ6OmdldEltYWdlRGF0YShJbWFnZUJ1ZmZlcjo6Q29vcmRpCiB7CiAgICAgaWYg
KCFjYW52YXMoKS0+b3JpZ2luQ2xlYW4oKSkgewogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIlVuYWJsZSB0byBnZXQgaW1h
Z2UgZGF0YSBmcm9tIGNhbnZhcyBiZWNhdXNlIHRoZSBjYW52YXMgaGFzIGJlZW4gdGFpbnRlZCBi
eSBjcm9zcy1vcmlnaW4gZGF0YS4iKSkpOwotICAgICAgICBjYW52YXMoKS0+ZG9jdW1lbnQoKS5h
ZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLmFkZENvbnNv
bGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBj
b25zb2xlTWVzc2FnZSk7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1
cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCAzODEwMzk5Li5hN2ZlZmI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAg
LTU1MjgsNyArNTUyOCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpwcmludFdhcm5p
bmdUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIGlmICghY2FudmFzKCkp
CiAgICAgICAgIHJldHVybjsKLSAgICBjYW52YXMoKS0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVz
c2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdl
KTsKKyAgICBjYW52YXMoKS0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpSZW5kZXJpbmcsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgbWVzc2FnZSk7CiB9CiAKIGJv
b2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUZyYW1lYnVmZmVyRnVuY1BhcmFtZXRl
cnMoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIGF0
dGFjaG1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRp
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwCmluZGV4
IDFiZjVhMDkuLjExYmM1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L1hTU0F1ZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0
b3IuY3BwCkBAIC0yODgsNyArMjg4LDcgQEAgdm9pZCBYU1NBdWRpdG9yOjppbml0KERvY3VtZW50
KiBkb2N1bWVudCwgWFNTQXVkaXRvckRlbGVnYXRlKiBhdWRpdG9yRGVsZWdhdGUpCiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKHhzc1Byb3RlY3Rpb25IZWFkZXIgPT0gQ29u
dGVudFNlY3VyaXR5UG9saWN5OjpSZWZsZWN0ZWRYU1NJbnZhbGlkKQotICAgICAgICAgICAgZG9j
dW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJFcnJvciBwYXJzaW5nIGhlYWRlciBYLVhTUy1Qcm90ZWN0aW9uOiAiICsgaGVh
ZGVyVmFsdWUgKyAiOiAiICArIGVycm9yRGV0YWlscyArICIgYXQgY2hhcmFjdGVyIHBvc2l0aW9u
ICIgKyBTdHJpbmc6OmZvcm1hdCgiJXUiLCBlcnJvclBvc2l0aW9uKSArICIuIFRoZSBkZWZhdWx0
IHByb3RlY3Rpb25zIHdpbGwgYmUgYXBwbGllZC4iKTsKKyAgICAgICAgICAgIGRvY3VtZW50LT5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpF
cnJvciwgIkVycm9yIHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246ICIgKyBoZWFkZXJW
YWx1ZSArICI6ICIgICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIgcG9zaXRpb24gIiAr
IFN0cmluZzo6Zm9ybWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhlIGRlZmF1bHQgcHJv
dGVjdGlvbnMgd2lsbCBiZSBhcHBsaWVkLiIpOwogCiAgICAgICAgIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6UmVmbGVjdGVkWFNTRGlzcG9zaXRpb24gY3NwSGVhZGVyID0gZG9jdW1lbnQtPmNvbnRl
bnRTZWN1cml0eVBvbGljeSgpLT5yZWZsZWN0ZWRYU1NEaXNwb3NpdGlvbigpOwogICAgICAgICBt
X2RpZFNlbmRWYWxpZENTUEhlYWRlciA9IGNzcEhlYWRlciAhPSBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OlJlZmxlY3RlZFhTU1Vuc2V0ICYmIGNzcEhlYWRlciAhPSBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OlJlZmxlY3RlZFhTU0ludmFsaWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcAppbmRleCBkMDYwNjliLi45Y2JhMDY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKQEAg
LTk4LDcgKzk4LDcgQEAgdm9pZCBYU1NBdWRpdG9yRGVsZWdhdGU6OmRpZEJsb2NrU2NyaXB0KGNv
bnN0IFhTU0luZm8mIHhzc0luZm8pCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAot
ICAgIG1fZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgYnVpbGRDb25zb2xlRXJyb3IoeHNzSW5mbywgbV9kb2N1bWVudC51cmwoKS5z
dHJpbmcoKSkpOworICAgIG1fZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGJ1aWxkQ29uc29sZUVycm9yKHhzc0luZm8sIG1f
ZG9jdW1lbnQudXJsKCkuc3RyaW5nKCkpKTsKIAogICAgIEZyYW1lTG9hZGVyJiBmcmFtZUxvYWRl
ciA9IG1fZG9jdW1lbnQuZnJhbWUoKS0+bG9hZGVyKCk7CiAgICAgaWYgKHhzc0luZm8ubV9kaWRC
bG9ja0VudGlyZVBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29t
bWFuZExpbmVBUElIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGlu
ZUFQSUhvc3QuY3BwCmluZGV4IDkyZjFkMjcuLmY0MDRhNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAj
aW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25z
b2xlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRhdGFiYXNlQWdl
bnQuaCIKQEAgLTQ5LDYgKzQ4LDcgQEAKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5o
PgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDxpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50Lmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29tbWFuZExpbmVBUElIb3N0LmgKaW5kZXggNmY5MDI1Zi4uMDhmMGMxNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaApAQCAtMzAsOCArMzAsOCBA
QAogI2lmbmRlZiBDb21tYW5kTGluZUFQSUhvc3RfaAogI2RlZmluZSBDb21tYW5kTGluZUFQSUhv
c3RfaAogCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUu
aCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CkBAIC00Miw2ICs0Miw3IEBAIGNsYXNzIFNjcmlwdFZhbHVlOwogCiBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKIGNsYXNzIEluc3BlY3RvckFnZW50OworY2xhc3MgSW5zcGVjdG9y
Q29uc29sZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9yVmFs
dWU7CiB9CkBAIC00OSw3ICs1MCw2IEBAIGNsYXNzIEluc3BlY3RvclZhbHVlOwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBEYXRhYmFzZTsKLWNsYXNzIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dDsKIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKQEAgLTY0LDExICs2NCwxMSBAQCBw
dWJsaWM6CiAgICAgfkNvbW1hbmRMaW5lQVBJSG9zdCgpOwogCiAgICAgdm9pZCBpbml0KEluc3Bl
Y3Rvcjo6SW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50Ci0gICAgICAgICAgICAsIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50Ci0gICAgICAgICAgICAsIEluc3BlY3RvckRP
TUFnZW50KiBkb21BZ2VudAotICAgICAgICAgICAgLCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQq
IGRvbVN0b3JhZ2VBZ2VudAorICAgICAgICAsIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFn
ZW50KiBjb25zb2xlQWdlbnQKKyAgICAgICAgLCBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQK
KyAgICAgICAgLCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIGRvbVN0b3JhZ2VBZ2VudAogI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCi0gICAgICAgICAgICAsIEluc3BlY3RvckRhdGFiYXNlQWdl
bnQqIGRhdGFiYXNlQWdlbnQKKyAgICAgICAgLCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBkYXRh
YmFzZUFnZW50CiAjZW5kaWYKICAgICAgICAgKQogICAgIHsKQEAgLTEwOCw3ICsxMDgsNyBAQCBw
cml2YXRlOgogICAgIENvbW1hbmRMaW5lQVBJSG9zdCgpOwogCiAgICAgSW5zcGVjdG9yOjpJbnNw
ZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsKLSAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQq
IG1fY29uc29sZUFnZW50OworICAgIEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50KiBt
X2NvbnNvbGVBZ2VudDsKICAgICBJbnNwZWN0b3JET01BZ2VudCogbV9kb21BZ2VudDsKICAgICBJ
bnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIG1fZG9tU3RvcmFnZUFnZW50OwogI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbElu
T25lLmNwcAppbmRleCBmNzI1MjIzLi5iZmM0MmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTI3LDE2ICsyNywxMyBAQAogCiAjaW5j
bHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmNwcCIKICNpbmNsdWRlICJDb21tYW5kTGluZUFQSU1v
ZHVsZS5jcHAiCi0jaW5jbHVkZSAiQ29uc29sZU1lc3NhZ2UuY3BwIgogI2luY2x1ZGUgIkRPTUVk
aXRvci5jcHAiCiAjaW5jbHVkZSAiRE9NUGF0Y2hTdXBwb3J0LmNwcCIKLSNpbmNsdWRlICJJZGVu
dGlmaWVyc0ZhY3RvcnkuY3BwIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxl
LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckNTU0FnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JDYW52YXNB
Z2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmNwcCIKLSNpbmNsdWRlICJJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuY3Bw
IgogI2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJzLmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JE
T01BZ2VudC5jcHAiCkBAIC03MCwxMCArNjcsOCBAQAogI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNj
cmlwdEhvc3QuY3BwIgogI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIgog
I2luY2x1ZGUgIlBhZ2VSdW50aW1lQWdlbnQuY3BwIgotI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50
cy5jcHAiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmNwcCIKLSNpbmNsdWRlICJTY3JpcHRD
YWxsU3RhY2suY3BwIgogI2luY2x1ZGUgIlRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAiCisjaW5j
bHVkZSAiV2ViQ29uc29sZUFnZW50LmNwcCIKICNpbmNsdWRlICJXZWJEZWJ1Z2dlckFnZW50LmNw
cCIKICNpbmNsdWRlICJXb3JrZXJDb25zb2xlQWdlbnQuY3BwIgogI2luY2x1ZGUgIldvcmtlckRl
YnVnZ2VyQWdlbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnNvbGVBZ2VudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDliYWQ4Li4w
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdl
bnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
LSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIEluc3BlY3RvckNvbnNvbGVBZ2VudF9oCi0jZGVmaW5lIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dF9oCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCi0jaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVz
LmgiCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViQWdl
bnRCYXNlLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViQmFja2VuZERpc3BhdGNoZXJzLmgiCi0j
aW5jbHVkZSAiSW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVycy5oIgotI2luY2x1ZGUgIlNj
cmlwdFN0YXRlLmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotY2xhc3MgQ29uc29sZU1lc3NhZ2U7Ci1jbGFzcyBET01XaW5kb3c7Ci1jbGFzcyBJ
bnN0cnVtZW50aW5nQWdlbnRzOwotY2xhc3MgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlcjsKLWNs
YXNzIFJlc291cmNlRXJyb3I7Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwotY2xhc3MgU2NyaXB0
QXJndW1lbnRzOwotY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwotY2xhc3MgU2NyaXB0UHJvZmlsZTsK
LQotdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7Ci0KLWNsYXNzIEluc3BlY3RvckNvbnNvbGVB
Z2VudCA6IHB1YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2UsIHB1YmxpYyBJbnNwZWN0b3I6Okluc3Bl
Y3RvckNvbnNvbGVCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgewotICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEluc3BlY3RvckNvbnNvbGVBZ2VudCk7Ci1wdWJsaWM6Ci0gICAgSW5zcGVjdG9yQ29u
c29sZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
Kik7Ci0gICAgdmlydHVhbCB+SW5zcGVjdG9yQ29uc29sZUFnZW50KCk7Ci0KLSAgICB2aXJ0dWFs
IHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRp
c2FibGUoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgY2xlYXJNZXNz
YWdlcyhFcnJvclN0cmluZyopIG92ZXJyaWRlOwotICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fZW5hYmxlZDsgfQotICAgIHZvaWQgcmVzZXQoKTsKLQotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwqLCBJbnNwZWN0b3I6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJp
ZGU7Ci0gICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3Bl
Y3Rvcjo6SW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7Ci0KLSAgICB2b2lkIGFk
ZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwotICAg
IHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2NyaXB0SUQs
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3Rh
dGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwotCi0g
ICAgLy8gRklYTUU6IFJlbW92ZSBvbmNlIHdlIG5vIGxvbmdlciBnZW5lcmF0ZSBzdGFja3Mgb3V0
c2lkZSBvZiBJbnNwZWN0b3IuCi0gICAgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VT
b3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
UGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlm
aWVyID0gMCk7Ci0KLSAgICBWZWN0b3I8dW5zaWduZWQ+IGNvbnNvbGVNZXNzYWdlQXJndW1lbnRD
b3VudHMoKTsKLQotICAgIHZvaWQgc3RhcnRUaW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSk7Ci0g
ICAgdm9pZCBzdG9wVGltaW5nKGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPik7Ci0gICAgdm9pZCBjb3VudChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8
U2NyaXB0QXJndW1lbnRzPik7Ci0KLSAgICB2b2lkIGZyYW1lV2luZG93RGlzY2FyZGVkKERPTVdp
bmRvdyopOwotCi0gICAgdm9pZCBkaWRGaW5pc2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVx
dWVzdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkws
IHVuc2lnbmVkIHNlbmRMaW5lTnVtYmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKTsKLSAg
ICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgdm9pZCBkaWRGYWlsTG9hZGluZyh1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJik7Ci0gICAg
dm9pZCBhZGRQcm9maWxlRmluaXNoZWRNZXNzYWdlVG9Db25zb2xlKFBhc3NSZWZQdHI8U2NyaXB0
UHJvZmlsZT4sIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwpOwotICAgIHZvaWQgYWRkU3RhcnRQcm9maWxpbmdNZXNzYWdl
VG9Db25zb2xlKGNvbnN0IFN0cmluZyYgdGl0bGUsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2ln
bmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwotICAgIHZpcnR1YWwg
dm9pZCBzZXRNb25pdG9yaW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkg
b3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcq
LCBpbnQgbm9kZUlkKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZEhlYXBPYmpl
Y3QoRXJyb3JTdHJpbmcqLCBpbnQgaW5zcGVjdGVkSGVhcE9iamVjdElkKSBvdmVycmlkZTsKLQot
ICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgPSAwOwotCi1wcm90ZWN0ZWQ6Ci0gICAg
dm9pZCBhZGRDb25zb2xlTWVzc2FnZShQYXNzT3duUHRyPENvbnNvbGVNZXNzYWdlPik7Ci0KLSAg
ICBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsKLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNw
YXRjaGVyPiBtX2Zyb250ZW5kRGlzcGF0Y2hlcjsKLSAgICBSZWZQdHI8SW5zcGVjdG9yOjpJbnNw
ZWN0b3JDb25zb2xlQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7Ci0gICAg
Q29uc29sZU1lc3NhZ2UqIG1fcHJldmlvdXNNZXNzYWdlOwotICAgIFZlY3RvcjxPd25QdHI8Q29u
c29sZU1lc3NhZ2U+PiBtX2NvbnNvbGVNZXNzYWdlczsKLSAgICBpbnQgbV9leHBpcmVkQ29uc29s
ZU1lc3NhZ2VDb3VudDsKLSAgICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1fY291bnRzOwot
ICAgIEhhc2hNYXA8U3RyaW5nLCBkb3VibGU+IG1fdGltZXM7Ci0gICAgYm9vbCBtX2VuYWJsZWQ7
Ci0gICAgYm9vbCBtX21vbml0b3JpbmdYSFJFbmFibGVkOwotfTsKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQotI2VuZGlmIC8vICFkZWZp
bmVkKEluc3BlY3RvckNvbnNvbGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggZWVl
Nzg3Yy4uMTQ2MGFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oCkBAIC0zMiwxNCArMzIsMTQgQEAK
ICNkZWZpbmUgSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbl9oCiAKICNpbmNsdWRlICJJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIK
LSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgi
CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oPgorI2luY2x1ZGUgPGluc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYWdlLCBNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2ln
bmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAg
ICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1l
bnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQpAQCAtNTUsNyArNTUsNyBAQCBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwg
TWVzc2FnZVNvdQogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYWdlLCBNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
IGFyZ3VtZW50cywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKK2lubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYWdl
LCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1Jl
ZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzLCB1bnNpZ25lZCBsb25n
IHJlcXVlc3RJZGVudGlmaWVyKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdl
bnRzRm9yUGFnZShwYWdlKSkKQEAgLTkxLDcgKzkxLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VT
b3UKICNlbmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2VyR2xvYmFsU2NvcGUqIHdvcmtlckdsb2JhbFNjb3BlLCBN
ZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxs
U3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCitpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2VyR2xvYmFsU2Nv
cGUqIHdvcmtlckdsb2JhbFNjb3BlLCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUg
dHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllcikKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0Zvcldvcmtlckdsb2JhbFNjb3BlKHdvcmtlckdsb2JhbFNjb3BlKSkKQEAgLTEyNiw3ICsxMjYs
NyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUoV29ya2VyR2xvYmFsU2NvcGUqIHdvcgogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZUNvdW50KFBhZ2UqIHBhZ2UsIEpTQzo6RXhl
Y1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKK2lu
bGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZUNvdW50KFBhZ2UqIHBh
Z2UsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFy
Z3VtZW50cz4gYXJndW1lbnRzKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdl
bnRzRm9yUGFnZShwYWdlKSkKQEAgLTE0OSw3ICsxNDksNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OnN0YXJ0Q29uc29sZVRpbWluZyhGcmFtZSogZnJhbWUsIGNvbnN0
IFN0cgogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
c3RvcENvbnNvbGVUaW1pbmcoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2spCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gc3RhY2spCiB7
CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCkBA
IC0xNjEsNyArMTYxLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpz
dG9wQ29uc29sZVRpbWluZyhGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmkKICNlbmRpZgogfQogCi1p
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVUaW1lU3RhbXAoRnJh
bWUqIGZyYW1lLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQoraW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlVGltZVN0YW1wKEZyYW1lKiBm
cmFtZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQog
ewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRT
KHZvaWQoKSk7CkBAIC0xODcsNyArMTg3LDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjphZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGEKICNl
bmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZFByb2Zp
bGUoUGFnZSogcGFnZSwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHByb2ZpbGUsIFBhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmFkZFByb2ZpbGUoUGFnZSogcGFnZSwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHBy
b2ZpbGUsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykK
IHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5k
ZXggMjMzYjAzOC4uOTQ0MjQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkNvbW1h
bmRMaW5lQVBJSG9zdC5oIgogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUg
IkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckNTU0FnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2FudmFzQWdlbnQuaCIKQEAgLTcy
LDYgKzcxLDcgQEAKICNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCiAjaW5j
bHVkZSAiUGFnZVJ1bnRpbWVBZ2VudC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVk
ZSA8aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9J
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yQWdlbnQuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgpAQCAtMTQxLDgg
KzE0MSw5IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSYg
cGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgbV9yZXNvdXJjZUFnZW50ID0g
cmVzb3VyY2VBZ2VudFB0ci5nZXQoKTsKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptb3ZlKHJl
c291cmNlQWdlbnRQdHIpKTsKIAotICAgIGF1dG8gY29uc29sZUFnZW50UHRyID0gc3RkOjptYWtl
X3VuaXF1ZTxQYWdlQ29uc29sZUFnZW50PihtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1f
aW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpLCBtX2RvbUFnZW50KTsKLSAgICBJbnNwZWN0b3JD
b25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGNvbnNvbGVBZ2VudFB0ci5nZXQoKTsKKyAgICBh
dXRvIGNvbnNvbGVBZ2VudFB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZUNvbnNvbGVBZ2VudD4o
bV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCksIG1fZG9tQWdlbnQpOworICAgIFdlYkNvbnNv
bGVBZ2VudCogY29uc29sZUFnZW50ID0gY29uc29sZUFnZW50UHRyLmdldCgpOworICAgIG1faW5z
dHJ1bWVudGluZ0FnZW50cy0+c2V0V2ViQ29uc29sZUFnZW50KGNvbnNvbGVBZ2VudFB0ci5nZXQo
KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bW92ZShjb25zb2xlQWdlbnRQdHIpKTsKIAog
ICAgIGF1dG8gZGVidWdnZXJBZ2VudFB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZURlYnVnZ2Vy
QWdlbnQ+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpLCBtX2luc3RydW1lbnRpbmdBZ2Vu
dHMuZ2V0KCksIHBhZ2VBZ2VudCwgbV9vdmVybGF5LmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IGYyNGNhYWEuLmJmMDNlMTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApA
QCAtNjMsNyArNjMsNiBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxU
ZW1wbGF0ZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCi0jaW5jbHVkZSAi
SWRlbnRpZmllcnNGYWN0b3J5LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySGlzdG9yeS5oIgogI2lu
Y2x1ZGUgIkluc3BlY3Rvck5vZGVGaW5kZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5
LmgiCkBAIC05MSw2ICs5MCw3IEBACiAjaW5jbHVkZSAiWFBhdGhSZXN1bHQuaCIKICNpbmNsdWRl
ICJodG1sZWRpdGluZy5oIgogI2luY2x1ZGUgIm1hcmt1cC5oIgorI2luY2x1ZGUgPGluc3BlY3Rv
ci9JZGVudGlmaWVyc0ZhY3RvcnkuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHQuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuaAppbmRleCA5ZGM2N2IwLi5hYjBlN2QzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCkBAIC0yOSw3ICsy
OSw2IEBACiAjaWZuZGVmIEluc3BlY3RvckZyb250ZW5kSG9zdF9oCiAjZGVmaW5lIEluc3BlY3Rv
ckZyb250ZW5kSG9zdF9oCiAKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJD
b250ZXh0TWVudS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51UHJvdmlkZXIuaCIKICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCAyMzVlY2NlLi5mMTU4OTIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcApAQCAtMzUsOCArMzUsNiBAQAogCiAjaW5jbHVkZSAiQ1NTUnVsZS5oIgogI2luY2x1
ZGUgIkNTU1N0eWxlUnVsZS5oIgotI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1
ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRP
TVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCkBAIC00Niw3ICs0NCw2IEBA
CiAjaW5jbHVkZSAiSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yQ1NTQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDYW52YXNBZ2VudC5oIgot
I2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRP
TUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIgpAQCAtNjQsMTYgKzYxLDE4IEBACiAjaW5j
bHVkZSAiUGFnZVJ1bnRpbWVBZ2VudC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2lu
Y2x1ZGUgIlJlbmRlclZpZXcuaCIKLSNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKLSNpbmNs
dWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNp
bmNsdWRlICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKICNpbmNs
dWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlclJ1bnRpbWVBZ2VudC5o
IgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0Lmgi
CisjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rv
ci9TY3JpcHRBcmd1bWVudHMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg+
CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KQEAgLTE4Myw3ICsxODIsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkSW52YWxpZGF0ZVN0eWxlQXR0ckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaQogCiB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVXaW5kb3dEaXNjYXJkZWRJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIERPTVdpbmRvdyogd2luZG93KQog
ewotICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1l
bnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xl
QWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2Vu
dCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPmZyYW1lV2luZG93RGlzY2FyZGVkKHdpbmRvdyk7
CiB9CiAKQEAgLTYwMCw3ICs1OTksNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkUmVjZWl2ZVJlc291cmNlUmVzcG9uc2VJbXBsKGNvbnN0IEluc3BlY3RvcklucwogICAgIElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBjb29raWUuaW5zdHJ1bWVu
dGluZ0FnZW50cygpOwogICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFn
ZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQogICAg
ICAgICByZXNvdXJjZUFnZW50LT5kaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgbG9hZGVy
LCByZXNwb25zZSwgcmVzb3VyY2VMb2FkZXIpOwotICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdl
bnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVB
Z2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1l
bnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPmRp
ZFJlY2VpdmVSZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25zZSk7IC8vIFRoaXMgc2hvdWxkIGNv
bWUgQUZURVIgcmVzb3VyY2Ugbm90aWZpY2F0aW9uLCBmcm9udC1lbmQgcmVsaWVzIG9uIHRoaXMu
CiB9CiAKQEAgLTY0NSw3ICs2NDQsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRmFpbExvYWRpbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbgogICAgICAg
ICB0aW1lbGluZUFnZW50LT5kaWRGaW5pc2hMb2FkaW5nUmVzb3VyY2UoaWRlbnRpZmllciwgdHJ1
ZSwgMCwgbG9hZGVyLT5mcmFtZSgpKTsKICAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCog
cmVzb3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclJlc291cmNlQWdl
bnQoKSkKICAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkRmFpbExvYWRpbmcoaWRlbnRpZmllciwg
bG9hZGVyLCBlcnJvcik7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFn
ZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAg
aWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+
d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlkRmFpbExvYWRpbmco
aWRlbnRpZmllciwgZXJyb3IpOyAvLyBUaGlzIHNob3VsZCBjb21lIEFGVEVSIHJlc291cmNlIG5v
dGlmaWNhdGlvbiwgZnJvbnQtZW5kIHJlbGllcyBvbiB0aGlzLgogfQogCkBAIC02NjksNyArNjY4
LDcgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxYSFJMb2FkaW5nSW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnUKIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZEZpbmlzaFhIUkxvYWRpbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgdW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZywgY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IFN0cmluZyYgc2VuZFVSTCwgdW5zaWduZWQgc2VuZExpbmVOdW1iZXIsIHVu
c2lnbmVkIHNlbmRDb2x1bW5OdW1iZXIpCiB7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2Vu
dCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFn
ZW50KCkpCisgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVu
dGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlk
RmluaXNoWEhSTG9hZGluZyhpZGVudGlmaWVyLCB1cmwsIHNlbmRVUkwsIHNlbmRMaW5lTnVtYmVy
LCBzZW5kQ29sdW1uTnVtYmVyKTsKICAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVz
b3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclJlc291cmNlQWdlbnQo
KSkKICAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkRmluaXNoWEhSTG9hZGluZyhjbGllbnQsIGlk
ZW50aWZpZXIsIHNvdXJjZVN0cmluZyk7CkBAIC03NTIsNyArNzUxLDcgQEAgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnQKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGxvYWRlci0+ZnJhbWUoKS0+
aXNNYWluRnJhbWUoKSkgewotICAgICAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25z
b2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkK
KyAgICAgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGlu
Z0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgICAgICBjb25zb2xlQWdlbnQtPnJl
c2V0KCk7CiAKICAgICAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdl
bnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCkBAIC04
NjIsMTMgKzg2MSwxMyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkV3JpdGVI
VE1MSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25DbwogLy8gSmF2YVNjcmlwdENv
cmUgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCBzaG91bGQga25vdyBDb25zb2xlIE1lc3NhZ2VUeXBl
cy4KIHN0YXRpYyBib29sIGlzQ29uc29sZUFzc2VydE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VUeXBlIHR5cGUpCiB7Ci0gICAgcmV0dXJuIHNvdXJjZSA9PSBDb25zb2xlQVBJ
TWVzc2FnZVNvdXJjZSAmJiB0eXBlID09IEFzc2VydE1lc3NhZ2VUeXBlOworICAgIHJldHVybiBz
b3VyY2UgPT0gTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSAmJiB0eXBlID09IE1lc3NhZ2VUeXBl
OjpBc3NlcnQ7CiB9CiAKIC8vIEZJWE1FOiBEcm9wIHRoaXMgb25jZSB3ZSBubyBsb25nZXIgZ2Vu
ZXJhdGUgc3RhY2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgogdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBl
LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
cikKIHsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29u
c29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xl
QWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5hZGRNZXNzYWdlVG9Db25zb2xlKHNvdXJj
ZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOwog
ICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBqdXN0IHBhc3MgdGhlIG1lc3NhZ2Ugb24gdG8gdGhl
IGRlYnVnZ2VyIGFnZW50LiBKYXZhU2NyaXB0Q29yZSBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHNo
b3VsZCBrbm93IENvbnNvbGUgTWVzc2FnZVR5cGVzLgogICAgIGlmIChJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50KiBkZWJ1Z2dlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRGVi
dWdnZXJBZ2VudCgpKSB7CkBAIC04NzksNyArODc4LDcgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3QKIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGVJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFy
Z3VtZW50cz4gYXJndW1lbnRzLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewot
ICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRp
bmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdl
bnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgp
KQogICAgICAgICBjb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCB0eXBl
LCBsZXZlbCwgbWVzc2FnZSwgc3RhdGUsIGFyZ3VtZW50cywgcmVxdWVzdElkZW50aWZpZXIpOwog
ICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBqdXN0IHBhc3MgdGhlIG1lc3NhZ2Ugb24gdG8gdGhl
IGRlYnVnZ2VyIGFnZW50LiBKYXZhU2NyaXB0Q29yZSBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHNo
b3VsZCBrbm93IENvbnNvbGUgTWVzc2FnZVR5cGVzLgogICAgIGlmIChJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50KiBkZWJ1Z2dlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRGVi
dWdnZXJBZ2VudCgpKSB7CkBAIC04OTAsMTMgKzg4OSwxMyBAQCB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdAogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29s
ZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgTWVzc2FnZVNv
dXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlwdElELCB1bnNpZ25lZCBsaW5lTnVt
YmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgdW5zaWdu
ZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFn
ZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xl
QWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5h
ZGRNZXNzYWdlVG9Db25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNjcmlwdElE
LCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9
CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQ291bnRJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEpTQzo6RXhlY1N0YXRlKiBzdGF0
ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpZiAoSW5z
cGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5p
bnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xl
QWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAg
Y29uc29sZUFnZW50LT5jb3VudChzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIApAQCAtOTA0LDEzICs5
MDMsMTMgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0YXJ0Q29uc29sZVRpbWlu
Z0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHIKIHsKICAgICBpZiAoSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3Rv
clRpbWVsaW5lQWdlbnQoKSkKICAgICAgICAgdGltZWxpbmVBZ2VudC0+dGltZShmcmFtZSwgdGl0
bGUpOwotICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3Ry
dW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25z
b2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVB
Z2VudCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPnN0YXJ0VGltaW5nKHRpdGxlKTsKIH0KIAog
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nSW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBGcmFtZSogZnJhbWUsIGNvbnN0
IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFjaykKIHsKLSAg
ICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5n
QWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50
KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkK
ICAgICAgICAgY29uc29sZUFnZW50LT5zdG9wVGltaW5nKHRpdGxlLCBzdGFjayk7CiAgICAgaWYg
KEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdl
bnRzLT5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPnRp
bWVFbmQoZnJhbWUsIHRpdGxlKTsKQEAgLTEwNzIsNyArMTA3MSw3IEBAIGJvb2wgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpjYW52YXNBZ2VudEVuYWJsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogc2NyaXB0CiBib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZUFnZW50RW5h
YmxlZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQogewog
ICAgIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yQ29udGV4dChzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICBJbnNwZWN0
b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMgPyBpbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSA6IG51bGxwdHI7CisgICAg
SW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRz
ID8gaW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkgOiBudWxscHRyOwogICAg
IHJldHVybiBjb25zb2xlQWdlbnQgJiYgY29uc29sZUFnZW50LT5lbmFibGVkKCk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aAppbmRleCBlNWYxYjQwLi5jMTY4NTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0zMiw4ICszMiw2IEBACiAjZGVm
aW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbl9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5o
IgotI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5o
IgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJGb3JtRGF0YS5oIgogI2luY2x1ZGUg
IkZyYW1lLmgiCkBAIC00NCwxMiArNDIsMTggQEAKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgog
I2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0RnJhbWUuaCIKKyNp
bmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCiBuYW1lc3BhY2UgRGVwcmVjYXRlZCB7CiBjbGFzcyBTY3JpcHRPYmplY3Q7CiB9CiAKK25h
bWVzcGFjZSBJbnNwZWN0b3IgeworY2xhc3MgU2NyaXB0QXJndW1lbnRzOworY2xhc3MgU2NyaXB0
Q2FsbFN0YWNrOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENTU1J1bGU7CkBA
IC03Nyw4ICs4MSw2IEBAIGNsYXNzIFJlbmRlckxheWVyQmFja2luZzsKIGNsYXNzIFJlbmRlck9i
amVjdDsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci1j
bGFzcyBTY3JpcHRBcmd1bWVudHM7Ci1jbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5
T3JpZ2luOwpAQCAtMjAzLDE4ICsyMDUsMTggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRp
ZFdyaXRlSFRNTChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCB1bnNpZ25l
ZCBlbmRMaW5lKTsKIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSB3ZSBubyBsb25nZXIgZ2Vu
ZXJhdGUgc3RhY2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgotICAgIHN0YXRpYyB2b2lkIGFkZE1l
c3NhZ2VUb0NvbnNvbGUoUGFnZSosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdl
TGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgc3RhdGljIHZvaWQg
YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NS
ZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDApOworICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSosIE1lc3NhZ2VT
b3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
UGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVx
dWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xl
KFBhZ2UqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNj
cmlwdEFyZ3VtZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKICAg
ICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBNZXNzYWdlU291cmNlLCBN
ZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgc2NyaXB0SUQsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJl
ciwgSlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciA9IDApOwogCiAgICAgLy8gRklYTUU6IENvbnZlcnQgdG8gU2NyaXB0QXJndW1lbnRzIHRv
IG1hdGNoIG5vbi13b3JrZXIgY29udGV4dC4KLSAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9D
b25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICBzdGF0aWMg
dm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiwgTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0
SWRlbnRpZmllciA9IDApOwogICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV29y
a2VyR2xvYmFsU2NvcGUqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2NyaXB0SUQsIHVuc2lnbmVk
IGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3RhdGUqID0gbnVs
bHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogCi0gICAgc3RhdGlj
IHZvaWQgY29uc29sZUNvdW50KFBhZ2UqLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPik7CisgICAgc3RhdGljIHZvaWQgY29uc29sZUNvdW50KFBhZ2UqLCBKU0M6
OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKICAg
ICBzdGF0aWMgdm9pZCBzdGFydENvbnNvbGVUaW1pbmcoRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRp
dGxlKTsKLSAgICBzdGF0aWMgdm9pZCBzdG9wQ29uc29sZVRpbWluZyhGcmFtZSosIGNvbnN0IFN0
cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7Ci0gICAgc3RhdGljIHZv
aWQgY29uc29sZVRpbWVTdGFtcChGcmFtZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7
CisgICAgc3RhdGljIHZvaWQgc3RvcENvbnNvbGVUaW1pbmcoRnJhbWUqLCBjb25zdCBTdHJpbmcm
IHRpdGxlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3Rh
dGljIHZvaWQgY29uc29sZVRpbWVTdGFtcChGcmFtZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpT
Y3JpcHRBcmd1bWVudHM+KTsKIAogICAgIHN0YXRpYyB2b2lkIGRpZFJlcXVlc3RBbmltYXRpb25G
cmFtZShEb2N1bWVudCosIGludCBjYWxsYmFja0lkKTsKICAgICBzdGF0aWMgdm9pZCBkaWRDYW5j
ZWxBbmltYXRpb25GcmFtZShEb2N1bWVudCosIGludCBjYWxsYmFja0lkKTsKQEAgLTIyMiw3ICsy
MjQsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkRmlyZUFuaW1hdGlvbkZyYW1lKGNv
bnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogCiAgICAgc3RhdGljIHZvaWQg
YWRkU3RhcnRQcm9maWxpbmdNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBjb25zdCBTdHJpbmcmIHRp
dGxlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMKTsKLSAgICBzdGF0aWMgdm9pZCBhZGRQcm9maWxlKFBhZ2UqLCBSZWZQ
dHI8U2NyaXB0UHJvZmlsZT4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3Rh
dGljIHZvaWQgYWRkUHJvZmlsZShQYWdlKiwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+LCBQYXNzUmVm
UHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CiAgICAgc3RhdGljIFN0cmluZyBnZXRD
dXJyZW50VXNlckluaXRpYXRlZFByb2ZpbGVOYW1lKFBhZ2UqLCBib29sIGluY3JlbWVudFByb2Zp
bGVOdW1iZXIpOwogICAgIHN0YXRpYyBib29sIHByb2ZpbGVyRW5hYmxlZChQYWdlKik7CiAKQEAg
LTM4NSwxNiArMzg3LDE2IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSB3aWxsV3JpdGVIVE1MSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgdW5z
aWduZWQgc3RhcnRMaW5lLCBGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFdyaXRlSFRNTElt
cGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwgdW5zaWduZWQgZW5kTGlu
ZSk7CiAKLSAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgc3RhdGljIHZv
aWQgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VT
b3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
SlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiwg
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgc3RhdGljIHZvaWQgYWRkTWVz
c2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBzY3JpcHRJRCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVy
LCBKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpOwogCiAg
ICAgLy8gRklYTUU6IFJlbW92ZSBvbmNlIHdlIG5vIGxvbmdlciBnZW5lcmF0ZSBzdGFja3Mgb3V0
c2lkZSBvZiBJbnNwZWN0b3IuCi0gICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgdm9pZCBh
ZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0
SWRlbnRpZmllcik7CiAKLSAgICBzdGF0aWMgdm9pZCBjb25zb2xlQ291bnRJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRz
Pik7CisgICAgc3RhdGljIHZvaWQgY29uc29sZUNvdW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRz
Pik7CiAgICAgc3RhdGljIHZvaWQgc3RhcnRDb25zb2xlVGltaW5nSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzKiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSAgICBzdGF0aWMgdm9pZCBz
dG9wQ29uc29sZVRpbWluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgY29uc3Qg
U3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKLSAgICBzdGF0aWMg
dm9pZCBjb25zb2xlVGltZVN0YW1wSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOworICAgIHN0YXRpYyB2b2lkIHN0b3BDb25zb2xl
VGltaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRp
dGxlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGlj
IHZvaWQgY29uc29sZVRpbWVTdGFtcEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwg
UGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwogCiAgICAgc3RhdGljIHZv
aWQgZGlkUmVxdWVzdEFuaW1hdGlvbkZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgaW50
IGNhbGxiYWNrSWQsIEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkQ2FuY2VsQW5pbWF0aW9u
RnJhbWVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBpbnQgY2FsbGJhY2tJZCwgRnJhbWUqKTsK
QEAgLTQwMiw3ICs0MDQsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRpZEZpcmVBbmlt
YXRpb25GcmFtZUltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAK
ICAgICBzdGF0aWMgdm9pZCBhZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGVJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCB1bnNpZ25lZCBsaW5lTnVt
YmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAg
ICBzdGF0aWMgdm9pZCBhZGRQcm9maWxlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUmVmUHRy
PFNjcmlwdFByb2ZpbGU+LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgIHN0YXRp
YyB2b2lkIGFkZFByb2ZpbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBSZWZQdHI8U2NyaXB0
UHJvZmlsZT4sIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKICAgICBz
dGF0aWMgU3RyaW5nIGdldEN1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWVJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqLCBib29sIGluY3JlbWVudFByb2ZpbGVOdW1iZXIpOwogICAgIHN0YXRp
YyBib29sIHByb2ZpbGVyRW5hYmxlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNw
cAppbmRleCA0YzFmMDA2Li4zM2FmZjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKIAog
I2luY2x1ZGUgIkluc3BlY3RvckxheWVyVHJlZUFnZW50LmgiCiAKLSNpbmNsdWRlICJJZGVudGlm
aWVyc0ZhY3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvcldlYkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50
aW5nQWdlbnRzLmgiCkBAIC00NCw2ICs0Myw3IEBACiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJCYWNr
aW5nLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVmlldy5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaD4KIAog
dXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAppbmRleCBmMjc5MzBjLi5jZmVlNWQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtMjks
MTEgKzI5LDEwIEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgogCisjaWYgRU5BQkxF
KElOU1BFQ1RPUikKKwogI2luY2x1ZGUgIkNhY2hlZENTU1N0eWxlU2hlZXQuaCIKICNpbmNsdWRl
ICJDYWNoZWRGb250LmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKQEAgLTUzLDcgKzUyLDYg
QEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3Rv
cnkuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVu
dC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCkBAIC03Myw2ICs3MSw3IEBACiAj
aW5jbHVkZSAiVXNlckdlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3Jp
cHRWYWx1ZS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmg+
CisjaW5jbHVkZSA8aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4K
ICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcAppbmRleCBlODQwN2VlLi5jNTJjNjZh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVy
QWdlbnQuY3BwCkBAIC0yOCwyOSArMjgsMjcgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgi
Ci0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudC5oIgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogI2luY2x1ZGUgIkNvbW1hbmRMaW5l
QVBJSG9zdC5oIgogI2luY2x1ZGUgIkNvbnNvbGUuaCIKLSNpbmNsdWRlICJDb25zb2xlQVBJVHlw
ZXMuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25z
b2xlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgi
CiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCiAj
aW5jbHVkZSAiUGFnZVNjcmlwdERlYnVnU2VydmVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0SGVhcFNu
YXBzaG90LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFBy
b2ZpbGVyLmgiCisjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0RGVidWdT
ZXJ2ZXIuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRPYmplY3QuaD4KKyNpbmNsdWRlIDxp
bnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUg
PGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg+CiAjaW5jbHVkZSA8d3Rm
L0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+CkBAIC0xNTYsMTQgKzE1NCwxNCBAQCB2b2lkIEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQ6OmFkZFByb2ZpbGVGaW5pc2hlZE1lc3NhZ2VUb0NvbnNvbGUoUGFz
c1JlZlB0cjxTY3JpcAogICAgICAgICByZXR1cm47CiAgICAgUmVmUHRyPFNjcmlwdFByb2ZpbGU+
IHByb2ZpbGUgPSBwcnBQcm9maWxlOwogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZyhw
cm9maWxlLT50aXRsZSgpLCAnIycsIFN0cmluZzo6bnVtYmVyKHByb2ZpbGUtPnVpZCgpKSk7Ci0g
ICAgbV9jb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoQ29uc29sZUFQSU1lc3NhZ2VT
b3VyY2UsIFByb2ZpbGVFbmRNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2Us
IHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICBtX2NvbnNvbGVBZ2Vu
dC0+YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdl
VHlwZTo6UHJvZmlsZUVuZCwgTWVzc2FnZUxldmVsOjpEZWJ1ZywgbWVzc2FnZSwgc291cmNlVVJM
LCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpOwogfQogCiB2b2lkIEluc3BlY3RvclByb2ZpbGVy
QWdlbnQ6OmFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZShjb25zdCBTdHJpbmcmIHRp
dGxlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMKQogewogICAgIGlmICghbV9mcm9udGVuZERpc3BhdGNoZXIpCiAgICAg
ICAgIHJldHVybjsKLSAgICBtX2NvbnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShDb25z
b2xlQVBJTWVzc2FnZVNvdXJjZSwgUHJvZmlsZU1lc3NhZ2VUeXBlLCBEZWJ1Z01lc3NhZ2VMZXZl
bCwgdGl0bGUsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICBtX2Nv
bnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJ
LCBNZXNzYWdlVHlwZTo6UHJvZmlsZSwgTWVzc2FnZUxldmVsOjpEZWJ1ZywgdGl0bGUsIHNvdXJj
ZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JQcm9m
aWxlckFnZW50Ojpjb2xsZWN0R2FyYmFnZShXZWJDb3JlOjpFcnJvclN0cmluZyopCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBi
OWI2MDMxLi43ZGZlMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQcm9maWxlckFnZW50LmgKQEAgLTQzLDEyICs0MywxMiBAQAogCiBuYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIGNsYXNzIEluc3BlY3RvckFycmF5OworY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFn
ZW50OwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7
CiBjbGFzcyBQYWdlOwogY2xhc3MgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlcjsKQEAgLTYxLDgg
KzYxLDggQEAgdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiBjbGFzcyBJbnNwZWN0b3JQcm9m
aWxlckFnZW50IDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6
SW5zcGVjdG9yUHJvZmlsZXJCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclByb2Zp
bGVyQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yQ29uc29sZUFn
ZW50KiwgUGFnZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKLSAgICBzdGF0aWMgc3Rk
Ojp1bmlxdWVfcHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5n
QWdlbnRzKiwgSW5zcGVjdG9yQ29uc29sZUFnZW50KiwgV29ya2VyR2xvYmFsU2NvcGUqLCBQYWdl
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbnNw
ZWN0b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3Rv
cjo6SW5zcGVjdG9yQ29uc29sZUFnZW50KiwgUGFnZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+
IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xl
QWdlbnQqLCBXb3JrZXJHbG9iYWxTY29wZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsK
IAogICAgIHZpcnR1YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKIApAQCAtMTAxLDcgKzEw
MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2V0SGVhcE9iamVjdElkKEVycm9yU3Ry
aW5nKiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgU3RyaW5nKiBoZWFwU25hcHNob3RPYmplY3RJ
ZCkgb3ZlcnJpZGU7CiAKIHByb3RlY3RlZDoKLSAgICBJbnNwZWN0b3JQcm9maWxlckFnZW50KElu
c3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBQYWdlSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKik7CisgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnN0cnVtZW50aW5n
QWdlbnRzKiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBQYWdlSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKik7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0UHJvZmlsaW5nKGNvbnN0IFN0
cmluZyYgdGl0bGUpID0gMDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4g
c3RvcFByb2ZpbGluZyhjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7CiAKQEAgLTExNSw3ICsxMTUs
NyBAQCBwcml2YXRlOgogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UHJv
ZmlsZXI6OlByb2ZpbGVIZWFkZXI+IGNyZWF0ZVByb2ZpbGVIZWFkZXIoY29uc3QgU2NyaXB0UHJv
ZmlsZSYpOwogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UHJvZmlsZXI6
OlByb2ZpbGVIZWFkZXI+IGNyZWF0ZVNuYXBzaG90SGVhZGVyKGNvbnN0IFNjcmlwdEhlYXBTbmFw
c2hvdCYpOwogCi0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKKyAg
ICBJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7CiAgICAg
UGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yUHJvZmlsZXJGcm9udGVuZERpc3Bh
dGNoZXI+IG1fZnJvbnRlbmREaXNwYXRjaGVyOwogICAgIFJlZlB0cjxJbnNwZWN0b3I6Okluc3Bl
Y3RvclByb2ZpbGVyQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAK
aW5kZXggNjVmOGRiMS4uNDgwYmRlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtMjksMTEgKzI5LDEwIEBACiAgKi8K
IAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1
ZGUgIkluc3BlY3RvclJlc291cmNlQWdlbnQuaCIKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisK
ICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNl
LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTQ0LDExICs0MywxMSBA
QAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgog
I2luY2x1ZGUgIkljb25Db250cm9sbGVyLmgiCi0jaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFn
ZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVycy5oIgog
I2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJKU01haW5UaHJlYWRF
eGVjU3RhdGUuaCIKICNpbmNsdWRlICJNZW1vcnlDYWNoZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtS
ZXNvdXJjZXNEYXRhLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtNTgsMTUgKzU3LDE2IEBACiAj
aW5jbHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNr
LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlw
dGFibGVEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAi
U3VicmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJXZWJTb2Nr
ZXRGcmFtZS5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0LmgiCisjaW5jbHVkZSA8aW5zcGVj
dG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JW
YWx1ZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5jbHVk
ZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDx3dGYvQ3Vy
cmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvSGV4TnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL0xp
c3RIYXNoU2V0Lmg+CkBAIC00MzksNyArNDM5LDcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50OjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbihEb2N1bWVudCogZG9jdW1lbnQpCiAK
IFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9yPiBJ
bnNwZWN0b3JSZXNvdXJjZUFnZW50OjpidWlsZEluaXRpYXRvck9iamVjdChEb2N1bWVudCogZG9j
dW1lbnQpCiB7Ci0gICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0
ZVNjcmlwdENhbGxTdGFjayhTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1
cmUsIHRydWUpOworICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrVHJhY2UgPSBjcmVh
dGVTY3JpcHRDYWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSwg
U2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0cnVlKTsKICAgICBp
ZiAoc3RhY2tUcmFjZSAmJiBzdGFja1RyYWNlLT5zaXplKCkgPiAwKSB7CiAgICAgICAgIFJlZlB0
cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpOZXR3b3JrOjpJbml0aWF0b3I+IGluaXRpYXRvck9i
amVjdCA9IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcjo6Y3JlYXRl
KCkKICAgICAgICAgICAgIC5zZXRUeXBlKEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6Ok5ldHdvcms6
OkluaXRpYXRvcjo6VHlwZTo6U2NyaXB0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCA4YWVjNjhlLi40YTBjZWZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuY3BwCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFj
dG9yeS5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckNvdW50ZXJzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCkBAIC01
Myw2ICs1Miw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNj
cmlwdFByb2ZpbGVyLmgiCiAjaW5jbHVkZSAiVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgiCisjaW5j
bHVkZSA8aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJy
ZW50VGltZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCmluZGV4IDk4ZTZiZGQuLmIy
MmM3YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5n
QWdlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0Fn
ZW50cy5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAgSW5zdHJ1bWVudGluZ0FnZW50czo6SW5zdHJ1bWVu
dGluZ0FnZW50cyhJbnNwZWN0b3JFbnZpcm9ubWVudCYgZW52aXJvbm1lbnQpCiAgICAgLCBtX2lu
c3BlY3RvclBhZ2VBZ2VudChudWxscHRyKQogICAgICwgbV9pbnNwZWN0b3JDU1NBZ2VudChudWxs
cHRyKQogICAgICwgbV9pbnNwZWN0b3JMYXllclRyZWVBZ2VudChudWxscHRyKQotICAgICwgbV9p
bnNwZWN0b3JDb25zb2xlQWdlbnQobnVsbHB0cikKKyAgICAsIG1fd2ViQ29uc29sZUFnZW50KG51
bGxwdHIpCiAgICAgLCBtX2luc3BlY3RvckRPTUFnZW50KG51bGxwdHIpCiAgICAgLCBtX2luc3Bl
Y3RvclJlc291cmNlQWdlbnQobnVsbHB0cikKICAgICAsIG1fcGFnZVJ1bnRpbWVBZ2VudChudWxs
cHRyKQpAQCAtNzUsNyArNzUsNyBAQCB2b2lkIEluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KCkK
ICAgICBtX2luc3BlY3RvclBhZ2VBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9pbnNwZWN0b3JDU1NB
Z2VudCA9IG51bGxwdHI7CiAgICAgbV9pbnNwZWN0b3JMYXllclRyZWVBZ2VudCA9IG51bGxwdHI7
Ci0gICAgbV9pbnNwZWN0b3JDb25zb2xlQWdlbnQgPSBudWxscHRyOworICAgIG1fd2ViQ29uc29s
ZUFnZW50ID0gbnVsbHB0cjsKICAgICBtX2luc3BlY3RvckRPTUFnZW50ID0gbnVsbHB0cjsKICAg
ICBtX2luc3BlY3RvclJlc291cmNlQWdlbnQgPSBudWxscHRyOwogICAgIG1fcGFnZVJ1bnRpbWVB
Z2VudCA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
dHJ1bWVudGluZ0FnZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRp
bmdBZ2VudHMuaAppbmRleCBjOTlkMjY5Li4zN2ZhYjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTQ3LDcgKzQ3LDYgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OwogY2xh
c3MgSW5zcGVjdG9yQ1NTQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JDYW52YXNBZ2VudDsKLWNsYXNz
IEluc3BlY3RvckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3Mg
SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2Vu
dDsKQEAgLTYyLDYgKzYxLDcgQEAgY2xhc3MgSW5zcGVjdG9yV29ya2VyQWdlbnQ7CiBjbGFzcyBQ
YWdlOwogY2xhc3MgUGFnZURlYnVnZ2VyQWdlbnQ7CiBjbGFzcyBQYWdlUnVudGltZUFnZW50Owor
Y2xhc3MgV2ViQ29uc29sZUFnZW50OwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiBjbGFzcyBX
b3JrZXJSdW50aW1lQWdlbnQ7CiAKQEAgLTg3LDggKzg3LDggQEAgcHVibGljOgogICAgIEluc3Bl
Y3RvckNTU0FnZW50KiBpbnNwZWN0b3JDU1NBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVj
dG9yQ1NTQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvckNTU0FnZW50KEluc3BlY3RvckNT
U0FnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckNTU0FnZW50ID0gYWdlbnQ7IH0KIAotICAgIElu
c3BlY3RvckNvbnNvbGVBZ2VudCogaW5zcGVjdG9yQ29uc29sZUFnZW50KCkgY29uc3QgeyByZXR1
cm4gbV9pbnNwZWN0b3JDb25zb2xlQWdlbnQ7IH0KLSAgICB2b2lkIHNldEluc3BlY3RvckNvbnNv
bGVBZ2VudChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yQ29uc29s
ZUFnZW50ID0gYWdlbnQ7IH0KKyAgICBXZWJDb25zb2xlQWdlbnQqIHdlYkNvbnNvbGVBZ2VudCgp
IGNvbnN0IHsgcmV0dXJuIG1fd2ViQ29uc29sZUFnZW50OyB9CisgICAgdm9pZCBzZXRXZWJDb25z
b2xlQWdlbnQoV2ViQ29uc29sZUFnZW50KiBhZ2VudCkgeyBtX3dlYkNvbnNvbGVBZ2VudCA9IGFn
ZW50OyB9CiAKICAgICBJbnNwZWN0b3JET01BZ2VudCogaW5zcGVjdG9yRE9NQWdlbnQoKSBjb25z
dCB7IHJldHVybiBtX2luc3BlY3RvckRPTUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JE
T01BZ2VudChJbnNwZWN0b3JET01BZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JET01BZ2VudCA9
IGFnZW50OyB9CkBAIC0xNDksNyArMTQ5LDcgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JQYWdl
QWdlbnQqIG1faW5zcGVjdG9yUGFnZUFnZW50OwogICAgIEluc3BlY3RvckNTU0FnZW50KiBtX2lu
c3BlY3RvckNTU0FnZW50OwogICAgIEluc3BlY3RvckxheWVyVHJlZUFnZW50KiBtX2luc3BlY3Rv
ckxheWVyVHJlZUFnZW50OwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9pbnNwZWN0b3JD
b25zb2xlQWdlbnQ7CisgICAgV2ViQ29uc29sZUFnZW50KiBtX3dlYkNvbnNvbGVBZ2VudDsKICAg
ICBJbnNwZWN0b3JET01BZ2VudCogbV9pbnNwZWN0b3JET01BZ2VudDsKICAgICBJbnNwZWN0b3JS
ZXNvdXJjZUFnZW50KiBtX2luc3BlY3RvclJlc291cmNlQWdlbnQ7CiAgICAgUGFnZVJ1bnRpbWVB
Z2VudCogbV9wYWdlUnVudGltZUFnZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VDb25zb2xlQWdlbnQuY3BwCmluZGV4IDFhZGI0NDkuLjcxNTljZGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0Lmgi
Ci0jaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIK
ICNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5o
IgpAQCAtNDMsMjEgKzQyLDE3IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotUGFnZUNvbnNvbGVBZ2VudDo6UGFnZUNvbnNvbGVBZ2VudChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBQYWdlSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIsIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2Vu
dCkKLSAgICA6IEluc3BlY3RvckNvbnNvbGVBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBpbmpl
Y3RlZFNjcmlwdE1hbmFnZXIpCitQYWdlQ29uc29sZUFnZW50OjpQYWdlQ29uc29sZUFnZW50KFBh
Z2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwgSW5zcGVjdG9y
RE9NQWdlbnQqIGRvbUFnZW50KQorICAgIDogV2ViQ29uc29sZUFnZW50KGluamVjdGVkU2NyaXB0
TWFuYWdlcikKICAgICAsIG1faW5zcGVjdG9yRE9NQWdlbnQoZG9tQWdlbnQpCiB7CiB9CiAKLVBh
Z2VDb25zb2xlQWdlbnQ6On5QYWdlQ29uc29sZUFnZW50KCkKLXsKLSAgICBtX2luc3BlY3RvckRP
TUFnZW50ID0gbnVsbHB0cjsKLX0KLQogdm9pZCBQYWdlQ29uc29sZUFnZW50OjpjbGVhck1lc3Nh
Z2VzKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZykKIHsKICAgICBtX2luc3BlY3RvckRPTUFnZW50
LT5yZWxlYXNlRGFuZ2xpbmdOb2RlcygpOwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xl
YXJNZXNzYWdlcyhlcnJvclN0cmluZyk7CisKKyAgICBXZWJDb25zb2xlQWdlbnQ6OmNsZWFyTWVz
c2FnZXMoZXJyb3JTdHJpbmcpOwogfQogCiBjbGFzcyBJbnNwZWN0YWJsZU5vZGUgZmluYWwgOiBw
dWJsaWMgQ29tbWFuZExpbmVBUElIb3N0OjpJbnNwZWN0YWJsZU9iamVjdCB7CkBAIC03OSw3ICs3
NCw3IEBAIHZvaWQgUGFnZUNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmlu
ZyogZXJyb3JTdHJpbmcsIGludCBub2RlSWQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBjb21tYW5kTGluZUFQSUhvc3QgPSBtX2luamVjdGVk
U2NyaXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElIb3N0KCkpCisgICAgaWYgKENvbW1hbmRMaW5l
QVBJSG9zdCogY29tbWFuZExpbmVBUElIb3N0ID0gc3RhdGljX2Nhc3Q8UGFnZUluamVjdGVkU2Ny
aXB0TWFuYWdlcio+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKS0+Y29tbWFuZExpbmVBUElIb3N0
KCkpCiAgICAgICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+YWRkSW5zcGVjdGVkT2JqZWN0KGFkb3B0
UHRyKG5ldyBJbnNwZWN0YWJsZU5vZGUobm9kZSkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmgKaW5kZXggZDU1N2YxYS4uZDBiNTU2NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oCkBAIC0zMSw4ICszMSw3
IEBACiAjaWZuZGVmIFBhZ2VDb25zb2xlQWdlbnRfaAogI2RlZmluZSBQYWdlQ29uc29sZUFnZW50
X2gKIAotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgotI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CisjaW5jbHVkZSAiV2ViQ29uc29sZUFnZW50LmgiCiAKICNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogCkBAIC00MCwxMyArMzksMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBJbnNwZWN0b3JET01BZ2VudDsKIAotY2xhc3MgUGFnZUNvbnNvbGVBZ2VudCA6IHB1Ymxp
YyBJbnNwZWN0b3JDb25zb2xlQWdlbnQgeworY2xhc3MgUGFnZUNvbnNvbGVBZ2VudCBmaW5hbCA6
IHB1YmxpYyBXZWJDb25zb2xlQWdlbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VD
b25zb2xlQWdlbnQpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAg
IFBhZ2VDb25zb2xlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhZ2VJbmplY3RlZFNjcmlw
dE1hbmFnZXIqLCBJbnNwZWN0b3JET01BZ2VudCopOwotICAgIHZpcnR1YWwgflBhZ2VDb25zb2xl
QWdlbnQoKTsKKyAgICBQYWdlQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIq
LCBJbnNwZWN0b3JET01BZ2VudCopOworICAgIHZpcnR1YWwgflBhZ2VDb25zb2xlQWdlbnQoKSB7
IH0KIAotICAgIHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgb3ZlcnJpZGUgeyByZXR1cm4g
ZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyTWVz
c2FnZXMoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IDY3ZjQ5NTEuLmU0NjcwY2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcApAQCAtNDMsNiAr
NDMsOCBAQAogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdl
ci5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxp
bnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgogCiB1c2luZyBuYW1lc3BhY2UgSW5z
cGVjdG9yOwogCkBAIC0xMTMsOSArMTE1LDkgQEAgdm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6dW5t
dXRlQ29uc29sZSgpCiAgICAgUGFnZUNvbnNvbGU6OnVubXV0ZSgpOwogfQogCi12b2lkIFBhZ2VE
ZWJ1Z2dlckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlKQordm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlv
bkxvZyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAg
IG1fcGFnZUFnZW50LT5wYWdlKCktPmNvbnNvbGUoKS5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgTG9nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBtX3BhZ2VBZ2VudC0+cGFnZSgpLT5j
b25zb2xlKCkuYWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpMb2cs
IG1lc3NhZ2UsIGNyZWF0ZVNjcmlwdENhbGxTdGFjayhleGVjLCBTY3JpcHRDYWxsU3RhY2s6Om1h
eENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpKTsKIH0KIAogSW5qZWN0ZWRTY3JpcHQgUGFn
ZURlYnVnZ2VyQWdlbnQ6OmluamVjdGVkU2NyaXB0Rm9yRXZhbChFcnJvclN0cmluZyogZXJyb3JT
dHJpbmcsIGNvbnN0IGludCogZXhlY3V0aW9uQ29udGV4dElkKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmgKaW5kZXggNjU4MjE4OC4uYWZi
YzZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNj
cmlwdEhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2Ny
aXB0SG9zdC5oCkBAIC0zMiw2ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8g
RklYTUU6IFJlbmFtZSB0byBXZWJJbmplY3RlZFNjcmlwdEhvc3QuCiBjbGFzcyBQYWdlSW5qZWN0
ZWRTY3JpcHRIb3N0IGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRIb3N0
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGFnZUluamVjdGVkU2NyaXB0SG9zdCk7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0
TWFuYWdlci5oCmluZGV4IDFmODcwN2UuLmUyNzRlNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaApAQCAtMzQsNiArMzQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERPTVdpbmRvdzsKIAorLy8gRklYTUU6
IFJlbmFtZSB0byBXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuCiBjbGFzcyBQYWdlSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyIGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyIHsKIHB1YmxpYzoKICAgICBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKEluc3BlY3Rvcjo6
SW5zcGVjdG9yRW52aXJvbm1lbnQmLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3Jp
cHRIb3N0Pik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29y
ZEZhY3RvcnkuY3BwCmluZGV4IDE3NTkzYjguLmQ5ZGE3NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwCkBAIC0zNywxMyArMzcs
MTQgQEAKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1
ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbmNs
dWRlICJMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VSZXNwb25zZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2lu
Y2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxl
LmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiB1c2luZyBu
YW1lc3BhY2UgSW5zcGVjdG9yOwpAQCAtNTYsNyArNTcsNyBAQCBQYXNzUmVmUHRyPEluc3BlY3Rv
ck9iamVjdD4gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKGRvdWJs
ZSBzdAogICAgIHJlY29yZC0+c2V0TnVtYmVyKCJzdGFydFRpbWUiLCBzdGFydFRpbWUpOwogCiAg
ICAgaWYgKG1heENhbGxTdGFja0RlcHRoKSB7Ci0gICAgICAgIFJlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IHN0YWNrVHJhY2UgPSBjcmVhdGVTY3JpcHRDYWxsU3RhY2sobWF4Q2FsbFN0YWNrRGVwdGgs
IHRydWUpOworICAgICAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFja1RyYWNlID0gY3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCks
IG1heENhbGxTdGFja0RlcHRoLCB0cnVlKTsKICAgICAgICAgaWYgKHN0YWNrVHJhY2UgJiYgc3Rh
Y2tUcmFjZS0+c2l6ZSgpKQogICAgICAgICAgICAgcmVjb3JkLT5zZXRWYWx1ZSgic3RhY2tUcmFj
ZSIsIHN0YWNrVHJhY2UtPmJ1aWxkSW5zcGVjdG9yQXJyYXkoKSk7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5mNTcxYmM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAKQEAgLTAsMCArMSwxMzIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQu
aCIKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhv
c3QuaCIKKyNpbmNsdWRlICJDb25zb2xlLmgiCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5j
bHVkZSAiUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIlJlc291cmNlRXJy
b3IuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2NyaXB0UHJv
ZmlsZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5oPgorCit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOworCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK1dlYkNvbnNvbGVBZ2VudDo6V2ViQ29uc29sZUFnZW50KFBhZ2VJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3Rv
ckNvbnNvbGVBZ2VudChpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgLCBtX21vbml0b3JpbmdY
SFJFbmFibGVkKGZhbHNlKQoreworfQorCit2b2lkIFdlYkNvbnNvbGVBZ2VudDo6c2V0TW9uaXRv
cmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpCit7CisgICAgbV9tb25p
dG9yaW5nWEhSRW5hYmxlZCA9IGVuYWJsZWQ7Cit9CisKK3ZvaWQgV2ViQ29uc29sZUFnZW50Ojpm
cmFtZVdpbmRvd0Rpc2NhcmRlZChET01XaW5kb3cqIHdpbmRvdykKK3sKKyAgICBKU0M6OkV4ZWNT
dGF0ZSogc2NyaXB0U3RhdGUgPSBtYWluV29ybGRFeGVjU3RhdGUod2luZG93LT5mcmFtZSgpKTsK
KyAgICBzaXplX3QgbWVzc2FnZUNvdW50ID0gbV9jb25zb2xlTWVzc2FnZXMuc2l6ZSgpOworICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbWVzc2FnZUNvdW50OyArK2kpCisgICAgICAgIG1fY29u
c29sZU1lc3NhZ2VzW2ldLT5zY3JpcHRTdGF0ZUNsZWFyZWQoc2NyaXB0U3RhdGUpOworCisgICAg
c3RhdGljX2Nhc3Q8UGFnZUluamVjdGVkU2NyaXB0TWFuYWdlcio+KG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKS0+ZGlzY2FyZEluamVjdGVkU2NyaXB0c0Zvcih3aW5kb3cpOworfQorCit2b2lkIFdl
YkNvbnNvbGVBZ2VudDo6ZGlkRmluaXNoWEhSTG9hZGluZyh1bnNpZ25lZCBsb25nIHJlcXVlc3RJ
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBzZW5kVVJMLCB1bnNp
Z25lZCBzZW5kTGluZU51bWJlciwgdW5zaWduZWQgc2VuZENvbHVtbk51bWJlcikKK3sKKyAgICBp
ZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVs
b3BlckV4dHJhc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fZnJvbnRl
bmREaXNwYXRjaGVyICYmIG1fbW9uaXRvcmluZ1hIUkVuYWJsZWQpIHsKKyAgICAgICAgU3RyaW5n
IG1lc3NhZ2UgPSAiWEhSIGZpbmlzaGVkIGxvYWRpbmc6IFwiIiArIHVybCArICJcIi4iOworICAg
ICAgICBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcmssIE1lc3NhZ2VU
eXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6RGVidWcsIG1lc3NhZ2UsIHNlbmRVUkwsIHNlbmRMaW5l
TnVtYmVyLCBzZW5kQ29sdW1uTnVtYmVyLCBudWxscHRyLCByZXF1ZXN0SWRlbnRpZmllcik7Cisg
ICAgfQorfQorCit2b2lkIFdlYkNvbnNvbGVBZ2VudDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2ln
bmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlKQoreworICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3RvckVudmly
b25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA+PSA0MDApIHsKKyAgICAgICAgU3RyaW5n
IG1lc3NhZ2UgPSAiRmFpbGVkIHRvIGxvYWQgcmVzb3VyY2U6IHRoZSBzZXJ2ZXIgcmVzcG9uZGVk
IHdpdGggYSBzdGF0dXMgb2YgIiArIFN0cmluZzo6bnVtYmVyKHJlc3BvbnNlLmh0dHBTdGF0dXND
b2RlKCkpICsgIiAoIiArIHJlc3BvbnNlLmh0dHBTdGF0dXNUZXh0KCkgKyAnKSc7CisgICAgICAg
IGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZTo6TmV0d29yaywgTWVzc2FnZVR5cGU6
OkxvZywgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSwgcmVzcG9uc2UudXJsKCkuc3RyaW5n
KCksIDAsIDAsIG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICB9Cit9CisKK3ZvaWQg
V2ViQ29uc29sZUFnZW50OjpkaWRGYWlsTG9hZGluZyh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKK3sKKyAgICBpZiAoIW1faW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0Vu
YWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gUmVwb3J0IGZhaWx1cmVzIG9ubHku
CisgICAgaWYgKGVycm9yLmlzQ2FuY2VsbGF0aW9uKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IFN0cmluZ0J1aWxkZXIgbWVzc2FnZTsKKyAgICBtZXNzYWdlLmFwcGVuZExpdGVyYWwoIkZhaWxl
ZCB0byBsb2FkIHJlc291cmNlIik7CisgICAgaWYgKCFlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlv
bigpLmlzRW1wdHkoKSkgeworICAgICAgICBtZXNzYWdlLmFwcGVuZExpdGVyYWwoIjogIik7Cisg
ICAgICAgIG1lc3NhZ2UuYXBwZW5kKGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkpOworICAg
IH0KKworICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZTo6TmV0d29yaywgTWVz
c2FnZVR5cGU6OkxvZywgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZS50b1N0cmluZygpLCBl
cnJvci5mYWlsaW5nVVJMKCksIDAsIDAsIG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKK30K
KworY2xhc3MgSW5zcGVjdGFibGVIZWFwT2JqZWN0IGZpbmFsIDogcHVibGljIENvbW1hbmRMaW5l
QVBJSG9zdDo6SW5zcGVjdGFibGVPYmplY3QgeworcHVibGljOgorICAgIGV4cGxpY2l0IEluc3Bl
Y3RhYmxlSGVhcE9iamVjdChpbnQgaGVhcE9iamVjdElkKQorICAgICAgICA6IG1faGVhcE9iamVj
dElkKGhlYXBPYmplY3RJZCkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBEZXByZWNhdGVk
OjpTY3JpcHRWYWx1ZSBnZXQoSlNDOjpFeGVjU3RhdGUqKSBvdmVycmlkZQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIFNjcmlwdFByb2ZpbGVyOjpvYmplY3RCeUhlYXBPYmplY3RJZChtX2hlYXBPYmpl
Y3RJZCk7CisgICAgfQorCitwcml2YXRlOgorICAgIGludCBtX2hlYXBPYmplY3RJZDsKK307CisK
K3ZvaWQgV2ViQ29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWRIZWFwT2JqZWN0KEVycm9yU3RyaW5n
KiwgaW50IGluc3BlY3RlZEhlYXBPYmplY3RJZCkKK3sKKyAgICBpZiAoQ29tbWFuZExpbmVBUElI
b3N0KiBjb21tYW5kTGluZUFQSUhvc3QgPSBzdGF0aWNfY2FzdDxQYWdlSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKj4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIpLT5jb21tYW5kTGluZUFQSUhvc3QoKSkK
KyAgICAgICAgY29tbWFuZExpbmVBUElIb3N0LT5hZGRJbnNwZWN0ZWRPYmplY3QoYWRvcHRQdHIo
bmV3IEluc3BlY3RhYmxlSGVhcE9iamVjdChpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpKSk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmgKc2ltaWxhcml0eSBpbmRl
eCA1MSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBl
cy5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmgK
aW5kZXggMTFmNjVlYy4uNGRlYmZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbnNvbGVBUElUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJD
b25zb2xlQWdlbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjIsMjcgKzIzLDQzIEBACiAgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIENvbnNvbGVB
UElUeXBlc19oCi0jZGVmaW5lIENvbnNvbGVBUElUeXBlc19oCisjaWZuZGVmIFdlYkNvbnNvbGVB
Z2VudF9oCisjZGVmaW5lIFdlYkNvbnNvbGVBZ2VudF9oCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9S
KQorCisjaW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIE1lc3NhZ2VUeXBlIHsKLSAgICBMb2dNZXNz
YWdlVHlwZSwKLSAgICBEaXJNZXNzYWdlVHlwZSwKLSAgICBEaXJYTUxNZXNzYWdlVHlwZSwKLSAg
ICBUYWJsZU1lc3NhZ2VUeXBlLAotICAgIFRyYWNlTWVzc2FnZVR5cGUsCi0gICAgU3RhcnRHcm91
cE1lc3NhZ2VUeXBlLAotICAgIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSwKLSAgICBF
bmRHcm91cE1lc3NhZ2VUeXBlLAotICAgIENsZWFyTWVzc2FnZVR5cGUsCi0gICAgQXNzZXJ0TWVz
c2FnZVR5cGUsCi0gICAgVGltaW5nTWVzc2FnZVR5cGUsCi0gICAgUHJvZmlsZU1lc3NhZ2VUeXBl
LAotICAgIFByb2ZpbGVFbmRNZXNzYWdlVHlwZQorY2xhc3MgRE9NV2luZG93OworY2xhc3MgUGFn
ZUluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNzIFJlc291cmNlRXJyb3I7CitjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwordHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIFdlYkNv
bnNvbGVBZ2VudCA6IHB1YmxpYyBJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29uc29sZUFnZW50KTsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBXZWJDb25zb2xlQWdlbnQoUGFnZUluamVjdGVk
U2NyaXB0TWFuYWdlciopOworICAgIHZpcnR1YWwgfldlYkNvbnNvbGVBZ2VudCgpIHsgfQorCisg
ICAgdmlydHVhbCB2b2lkIHNldE1vbml0b3JpbmdYSFJFbmFibGVkKEVycm9yU3RyaW5nKiwgYm9v
bCBlbmFibGVkKSBvdmVycmlkZSBmaW5hbDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVk
SGVhcE9iamVjdChFcnJvclN0cmluZyosIGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpIG92ZXJy
aWRlIGZpbmFsOworCisgICAgdm9pZCBmcmFtZVdpbmRvd0Rpc2NhcmRlZChET01XaW5kb3cqKTsK
KworICAgIHZvaWQgZGlkRmluaXNoWEhSTG9hZGluZyh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBzZW5kVVJMLCB1bnNpZ25l
ZCBzZW5kTGluZU51bWJlciwgdW5zaWduZWQgc2VuZENvbHVtbk51bWJlcik7CisgICAgdm9pZCBk
aWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYpOworICAgIHZvaWQgZGlkRmFpbExvYWRpbmcodW5zaWduZWQgbG9u
ZyByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYpOworCitwcm90ZWN0ZWQ6
CisgICAgYm9vbCBtX21vbml0b3JpbmdYSFJFbmFibGVkOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCi0jZW5kaWYgLy8gQ29uc29sZUFQSVR5cGVzX2gKKyNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQorCisjZW5kaWYgLy8gIWRlZmluZWQoV2ViQ29uc29sZUFnZW50X2gpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwCmluZGV4IDlm
MTA1NmQuLjI1OGE4ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3Jr
ZXJDb25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJD
b25zb2xlQWdlbnQuY3BwCkBAIC0zOCwxOCArMzgsMTQgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3Bl
Y3RvcjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1Xb3JrZXJDb25zb2xlQWdlbnQ6Oldvcmtl
ckNvbnNvbGVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBQ
YWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCi0gICAgOiBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQoaW5zdHJ1bWVudGluZ0FnZW50cywgaW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKQotewotfQotCi1Xb3JrZXJDb25zb2xlQWdlbnQ6On5Xb3JrZXJDb25zb2xlQWdlbnQo
KQorV29ya2VyQ29uc29sZUFnZW50OjpXb3JrZXJDb25zb2xlQWdlbnQoUGFnZUluamVjdGVkU2Ny
aXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIDogV2ViQ29uc29sZUFnZW50
KGluamVjdGVkU2NyaXB0TWFuYWdlcikKIHsKIH0KIAogdm9pZCBXb3JrZXJDb25zb2xlQWdlbnQ6
OmFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcqIGVycm9yLCBpbnQpCiB7Ci0gICAgKmVycm9y
ID0gImFkZEluc3BlY3RlZE5vZGUgaXMgbm90IHN1cHBvcnRlZCBmb3Igd29ya2VycyI7CisgICAg
KmVycm9yID0gQVNDSUlMaXRlcmFsKCJhZGRJbnNwZWN0ZWROb2RlIGlzIG5vdCBzdXBwb3J0ZWQg
Zm9yIHdvcmtlcnMiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oCmluZGV4IDk5YWQ1NjIuLjg3NmE2
Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdl
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmgK
QEAgLTMxLDIwICszMSwyMCBAQAogI2lmbmRlZiBXb3JrZXJDb25zb2xlQWdlbnRfaAogI2RlZmlu
ZSBXb3JrZXJDb25zb2xlQWdlbnRfaAogCi0jaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50
LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlICJXZWJDb25zb2xlQWdl
bnQuaCIKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgV29ya2VyQ29uc29sZUFnZW50IDogcHVibGljIEluc3BlY3RvckNvbnNvbGVBZ2VudCB7
CitjbGFzcyBXb3JrZXJDb25zb2xlQWdlbnQgZmluYWwgOiBwdWJsaWMgV2ViQ29uc29sZUFnZW50
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJDb25zb2xlQWdlbnQpOworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdvcmtlckNvbnNvbGVBZ2VudChJ
bnN0cnVtZW50aW5nQWdlbnRzKiwgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciopOwotICAgIHZp
cnR1YWwgfldvcmtlckNvbnNvbGVBZ2VudCgpOworICAgIFdvcmtlckNvbnNvbGVBZ2VudChQYWdl
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAgdmlydHVhbCB+V29ya2VyQ29uc29sZUFnZW50
KCkgeyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpIG92ZXJyaWRlIHsgcmV0
dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIHRydWU7IH0KIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgYWRkSW5z
cGVjdGVkTm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IDUwNTNh
NGMuLmE3MWVmZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJE
ZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVi
dWdnZXJBZ2VudC5jcHAKQEAgLTEyOSw3ICsxMjksNyBAQCB2b2lkIFdvcmtlckRlYnVnZ2VyQWdl
bnQ6OnN0b3BMaXN0ZW5pbmdTY3JpcHREZWJ1Z1NlcnZlcihib29sIGlzQmVpbmdEZXN0cm95ZWQp
CiAKIHZvaWQgV29ya2VyRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6OkV4
ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBtX2luc3BlY3RlZFdvcmtl
ckdsb2JhbFNjb3BlLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VMZXZlbCwgbWVzc2FnZSk7CisgICAgbV9pbnNwZWN0ZWRXb3JrZXJHbG9iYWxTY29wZS0+YWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6TG9nLCBtZXNz
YWdlKTsKIH0KIAogV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXImIFdvcmtlckRlYnVnZ2VyQWdlbnQ6
OnNjcmlwdERlYnVnU2VydmVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBkMGE5ZjVhLi43YzAxNWE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwCkBAIC0zNiw3ICszNiw2IEBACiAKICNpbmNsdWRlICJDb21tYW5kTGluZUFQ
SUhvc3QuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0
b3JDb25zb2xlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGb3J3YXJkaW5nLmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9ySGVhcFByb2ZpbGVyQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaCIKQEAgLTkwLDcgKzg5LDkgQEAgV29ya2VySW5zcGVjdG9yQ29udHJv
bGxlcjo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcihXb3JrZXJHbG9iYWxTY29wZSYgd29ya2Vy
R2wKICAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldFdvcmtlclJ1bnRpbWVBZ2VudChtX3J1
bnRpbWVBZ2VudCk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bW92ZShydW50aW1lQWdlbnQp
KTsKIAotICAgIGF1dG8gY29uc29sZUFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJDb25z
b2xlQWdlbnQ+KG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9pbmplY3RlZFNjcmlwdE1h
bmFnZXIuZ2V0KCkpOworICAgIGF1dG8gY29uc29sZUFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxX
b3JrZXJDb25zb2xlQWdlbnQ+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKTsKKyAgICBt
X2luc3RydW1lbnRpbmdBZ2VudHMtPnNldFdlYkNvbnNvbGVBZ2VudChjb25zb2xlQWdlbnQuZ2V0
KCkpOworCiAgICAgYXV0byBkZWJ1Z2dlckFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJE
ZWJ1Z2dlckFnZW50PihtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSwgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLmdldCgpLCAmd29ya2VyR2xvYmFsU2NvcGUpOwogICAgIG1fcnVudGltZUFnZW50
LT5zZXRTY3JpcHREZWJ1Z1NlcnZlcigmZGVidWdnZXJBZ2VudC0+c2NyaXB0RGVidWdTZXJ2ZXIo
KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bW92ZShkZWJ1Z2dlckFnZW50KSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA1ZDBhMDg1Li41MDA2ZjFh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTYxNCw3ICs2
MTQsNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZQogICAgICAgICBpZiAoZnJhbWVMb2FkZXIo
KS0+c2hvdWxkSW50ZXJydXB0TG9hZEZvclhGcmFtZU9wdGlvbnMoY29udGVudCwgcmVzcG9uc2Uu
dXJsKCksIGlkZW50aWZpZXIpKSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmNvbnRpbnVlQWZ0ZXJYRnJhbWVPcHRpb25zRGVuaWVkKG1fZnJhbWUsIHRoaXMsIGlkZW50
aWZpZXIsIHJlc3BvbnNlKTsKICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlJlZnVzZWQg
dG8gZGlzcGxheSAnIiArIHJlc3BvbnNlLnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xl
bmd0aCgpICsgIicgaW4gYSBmcmFtZSBiZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0
byAnIiArIGNvbnRlbnQgKyAiJy4iOwotICAgICAgICAgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgbWVzc2FnZSwgaWRlbnRpZmllcik7CisgICAgICAgICAgICBmcmFtZSgpLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVs
OjpFcnJvciwgbWVzc2FnZSwgaWRlbnRpZmllcik7CiAgICAgICAgICAgICBmcmFtZSgpLT5kb2N1
bWVudCgpLT5lbmZvcmNlU2FuZGJveEZsYWdzKFNhbmRib3hPcmlnaW4pOwogICAgICAgICAgICAg
aWYgKEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXJFbGVtZW50ID0gZnJhbWUoKS0+b3duZXJF
bGVtZW50KCkpCiAgICAgICAgICAgICAgICAgb3duZXJFbGVtZW50LT5kaXNwYXRjaEV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmxvYWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBkNTI5Yzc4Li5hYzMxY2QzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTk1LDcgKzk1LDYgQEAKICNpbmNs
dWRlICJSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2lu
Y2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAj
aW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUu
aCIKICNpbmNsdWRlICJTY3JvbGxBbmltYXRvci5oIgpAQCAtMzc2LDcgKzM3NSw3IEBAIHZvaWQg
RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0oUGFzc1JlZlB0cjxGb3JtU3VibWlzc2lvbj4gc3VibWlz
c2lvbikKIAogICAgIGlmIChpc0RvY3VtZW50U2FuZGJveGVkKCZtX2ZyYW1lLCBTYW5kYm94Rm9y
bXMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9m
ZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMuCi0gICAgICAgIG1fZnJhbWUuZG9jdW1lbnQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIkJsb2NrZWQgZm9ybSBzdWJtaXNzaW9uIHRvICciICsgc3VibWlzc2lvbi0+YWN0aW9u
KCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIHRoZSBmb3Jt
J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LWZvcm1zJyBwZXJtaXNzaW9uIGlz
IG5vdCBzZXQuIik7CisgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJCbG9ja2Vk
IGZvcm0gc3VibWlzc2lvbiB0byAnIiArIHN1Ym1pc3Npb24tPmFjdGlvbigpLnN0cmluZ0NlbnRl
ckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNh
bmRib3hlZCBhbmQgdGhlICdhbGxvdy1mb3JtcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNDg1LDcgKzE0ODQsNyBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpyZXBvcnRMb2NhbExvYWRGYWlsZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcm
IHVybCkKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgIk5vdCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1cmwp
OworICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIk5vdCBhbGxvd2VkIHRvIGxvYWQgbG9j
YWwgcmVzb3VyY2U6ICIgKyB1cmwpOwogfQogCiBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIEZyYW1l
TG9hZGVyOjppbml0aWFsUmVxdWVzdCgpIGNvbnN0CkBAIC0yODQ4LDcgKzI4NDcsNyBAQCBib29s
IEZyYW1lTG9hZGVyOjpoYW5kbGVCZWZvcmVVbmxvYWRFdmVudChDaHJvbWUmIGNocm9tZSwgRnJh
bWVMb2FkZXIqIGZyYW1lTG9hZAogICAgIC8vIElmIHRoZSBuYXZpZ2F0aW5nIEZyYW1lTG9hZGVy
IGhhcyBhbHJlYWR5IHNob3duIGEgYmVmb3JldW5sb2FkIGNvbmZpcm1hdGlvbiBwYW5lbCBmb3Ig
dGhlIGN1cnJlbnQgbmF2aWdhdGlvbiBhdHRlbXB0LAogICAgIC8vIHRoaXMgZnJhbWUgaXMgbm90
IGFsbG93ZWQgdG8gY2F1c2UgYW5vdGhlciBvbmUgdG8gYmUgc2hvd24uCiAgICAgaWYgKGZyYW1l
TG9hZGVyQmVpbmdOYXZpZ2F0ZWQtPm1fY3VycmVudE5hdmlnYXRpb25IYXNTaG93bkJlZm9yZVVu
bG9hZENvbmZpcm1QYW5lbCkgewotICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXR0ZW1wdCB0byBz
aG93IG11bHRpcGxlIGJlZm9yZXVubG9hZCBjb25maXJtYXRpb24gZGlhbG9ncyBmb3IgdGhlIHNh
bWUgbmF2aWdhdGlvbi4iKTsKKyAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2Nr
ZWQgYXR0ZW1wdCB0byBzaG93IG11bHRpcGxlIGJlZm9yZXVubG9hZCBjb25maXJtYXRpb24gZGlh
bG9ncyBmb3IgdGhlIHNhbWUgbmF2aWdhdGlvbi4iKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KIApAQCAtMjg2MSw3ICsyODYwLDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6aGFuZGxlQmVm
b3JlVW5sb2FkRXZlbnQoQ2hyb21lJiBjaHJvbWUsIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWQKICAg
ICAgICAgICAgIGlmICghcGFyZW50RG9jdW1lbnQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgICAgICBpZiAoIW1fZnJhbWUuZG9jdW1lbnQoKSB8fCAhbV9mcmFtZS5kb2N1
bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5BY2Nlc3MocGFyZW50RG9jdW1lbnQtPnNlY3Vy
aXR5T3JpZ2luKCkpKSB7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIGF0dGVtcHQg
dG8gc2hvdyBiZWZvcmV1bmxvYWQgY29uZmlybWF0aW9uIGRpYWxvZyBvbiBiZWhhbGYgb2YgYSBm
cmFtZSB3aXRoIGRpZmZlcmVudCBzZWN1cml0eSBvcmlnaW4uIFByb3RvY29scywgZG9tYWlucywg
YW5kIHBvcnRzIG11c3QgbWF0Y2guIik7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQtPmFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJ
SUxpdGVyYWwoIkJsb2NrZWQgYXR0ZW1wdCB0byBzaG93IGJlZm9yZXVubG9hZCBjb25maXJtYXRp
b24gZGlhbG9nIG9uIGJlaGFsZiBvZiBhIGZyYW1lIHdpdGggZGlmZmVyZW50IHNlY3VyaXR5IG9y
aWdpbi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4iKSk7CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKQEAg
LTMwNzEsMTAgKzMwNzAsMTAgQEAgYm9vbCBGcmFtZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0TG9h
ZEZvclhGcmFtZU9wdGlvbnMoY29uc3QgU3RyaW5nJiBjb250ZW50LCBjb24KICAgICBjYXNlIFhG
cmFtZU9wdGlvbnNBbGxvd0FsbDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2UgWEZy
YW1lT3B0aW9uc0NvbmZsaWN0OgotICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJNdWx0aXBsZSAn
WC1GcmFtZS1PcHRpb25zJyBoZWFkZXJzIHdpdGggY29uZmxpY3RpbmcgdmFsdWVzICgnIiArIGNv
bnRlbnQgKyAiJykgZW5jb3VudGVyZWQgd2hlbiBsb2FkaW5nICciICsgdXJsLnN0cmluZ0NlbnRl
ckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicuIEZhbGxpbmcgYmFjayB0byAnREVOWScuIiwgcmVx
dWVzdElkZW50aWZpZXIpOworICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiTXVsdGlwbGUg
J1gtRnJhbWUtT3B0aW9ucycgaGVhZGVycyB3aXRoIGNvbmZsaWN0aW5nIHZhbHVlcyAoJyIgKyBj
b250ZW50ICsgIicpIGVuY291bnRlcmVkIHdoZW4gbG9hZGluZyAnIiArIHVybC5zdHJpbmdDZW50
ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInLiBGYWxsaW5nIGJhY2sgdG8gJ0RFTlknLiIsIHJl
cXVlc3RJZGVudGlmaWVyKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgY2FzZSBYRnJhbWVP
cHRpb25zSW52YWxpZDoKLSAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCAnWC1GcmFt
ZS1PcHRpb25zJyBoZWFkZXIgZW5jb3VudGVyZWQgd2hlbiBsb2FkaW5nICciICsgdXJsLnN0cmlu
Z0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIic6ICciICsgY29udGVudCArICInIGlzIG5v
dCBhIHJlY29nbml6ZWQgZGlyZWN0aXZlLiBUaGUgaGVhZGVyIHdpbGwgYmUgaWdub3JlZC4iLCBy
ZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJJbnZhbGlk
ICdYLUZyYW1lLU9wdGlvbnMnIGhlYWRlciBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcgJyIgKyB1
cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJzogJyIgKyBjb250ZW50ICsg
IicgaXMgbm90IGEgcmVjb2duaXplZCBkaXJlY3RpdmUuIFRoZSBoZWFkZXIgd2lsbCBiZSBpZ25v
cmVkLiIsIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGRl
ZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMzQ2Niw3ICszNDY1LDcg
QEAgUGFzc1JlZlB0cjxGcmFtZT4gY3JlYXRlV2luZG93KEZyYW1lKiBvcGVuZXJGcmFtZSwgRnJh
bWUqIGxvb2t1cEZyYW1lLCBjb25zdCBGcmEKICAgICAvLyBTYW5kYm94ZWQgZnJhbWVzIGNhbm5v
dCBvcGVuIG5ldyBhdXhpbGlhcnkgYnJvd3NpbmcgY29udGV4dHMuCiAgICAgaWYgKGlzRG9jdW1l
bnRTYW5kYm94ZWQob3BlbmVyRnJhbWUsIFNhbmRib3hQb3B1cHMpKSB7CiAgICAgICAgIC8vIEZJ
WE1FOiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEg
c29sdXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3
NCBleGlzdHMuCi0gICAgICAgIG9wZW5lckZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBv
cGVuaW5nICciICsgcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJF
bGxpcHNpemVkVG9MZW5ndGgoKSArICInIGluIGEgbmV3IHdpbmRvdyBiZWNhdXNlIHRoZSByZXF1
ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJveGVkIGZyYW1lIHdob3NlICdhbGxvdy1wb3B1cHMnIHBl
cm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAgICAgb3BlbmVyRnJhbWUtPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6
OkVycm9yLCAiQmxvY2tlZCBvcGVuaW5nICciICsgcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51
cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGluIGEgbmV3IHdpbmRv
dyBiZWNhdXNlIHRoZSByZXF1ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJveGVkIGZyYW1lIHdob3Nl
ICdhbGxvdy1wb3B1cHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJu
IDA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCAxM2Mz
MmZmLi40NWRhMTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTM1
LDcgKzM1LDcgQEAKICNpbmNsdWRlICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgotI2luY2x1ZGUgIlNj
cmlwdENhbGxTdGFjay5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4K
ICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogCiAjaWYgRU5BQkxFKFNWRykKQEAgLTI5Niw3
ICsyOTYsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJj
ZSogcmVzb3VyY2UpCiAgICAgICAgIGVycm9yRXZlbnRTZW5kZXIoKS5kaXNwYXRjaEV2ZW50U29v
bih0aGlzKTsKIAogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1l
c3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiBpbWFnZSBsb2FkIGRlbmllZCBieSBD
cm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIikpKTsKLSAgICAgICAgbV9lbGVt
ZW50LT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgbV9lbGVtZW50LT5k
b2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNz
YWdlTGV2ZWw6OkVycm9yLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICAgICAgQVNTRVJUKCFtX2hh
c1BlbmRpbmdMb2FkRXZlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TWl4ZWRDb250ZW50Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250
ZW50Q2hlY2tlci5jcHAKaW5kZXggZTUwN2FhNi4uMTdmMzRlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcApAQCAtOTQsNyArOTQsNyBAQCBib29s
IE1peGVkQ29udGVudENoZWNrZXI6OmNhblJ1bkluc2VjdXJlQ29udGVudChTZWN1cml0eU9yaWdp
biogc2VjdXJpdHlPcmlnaW4sCiB2b2lkIE1peGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmco
Ym9vbCBhbGxvd2VkLCBjb25zdCBTdHJpbmcmIGFjdGlvbiwgY29uc3QgVVJMJiB0YXJnZXQpIGNv
bnN0CiB7CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBtYWtlU3RyaW5nKChhbGxvd2VkID8gIiIgOiAi
W2Jsb2NrZWRdICIpLCAiVGhlIHBhZ2UgYXQgIiwgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5z
dHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSwgIiAiLCBhY3Rpb24sICIgaW5zZWN1cmUg
Y29udGVudCBmcm9tICIsIHRhcmdldC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSwg
Ii5cbiIpOwotICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJp
dHlNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBtX2Zy
YW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5
LCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCmluZGV4IDM1
ZDc4OGMuLjVmMGJhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJh
Y2tMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIu
Y3BwCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VCdWZmZXIuaCIKLSNpbmNsdWRlICJTY3JpcHRD
YWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlRleHRU
cmFja0N1ZS5oIgogI2luY2x1ZGUgIldlYlZUVFBhcnNlci5oIgpAQCAtMTE4LDcgKzExNyw3IEBA
IHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpjb3JzUG9saWN5UHJldmVudGVkTG9hZCgpCiB7CiAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFs
KCJDcm9zcy1vcmlnaW4gdGV4dCB0cmFjayBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVz
b3VyY2UgU2hhcmluZyBwb2xpY3kuIikpKTsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSB0b0Rv
Y3VtZW50KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7Ci0gICAgZG9jdW1lbnQtPmFkZENvbnNv
bGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNv
bGVNZXNzYWdlKTsKKyAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGNvbnNvbGVNZXNzYWdlKTsKICAgICBt
X3N0YXRlID0gRmFpbGVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDE3NjNmMDYuLmU4Nzcx
ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTQ3MSw3ICs0NzEsNyBAQCB2b2lkIEFwcGxp
Y2F0aW9uQ2FjaGVHcm91cDo6YWJvcnQoRnJhbWUqIGZyYW1lKQogICAgIGlmIChtX2NvbXBsZXRp
b25UeXBlICE9IE5vbmUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZyYW1lLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgRGVidWdNZXNzYWdlTGV2
ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBkb3dubG9hZCBwcm9jZXNzIHdhcyBhYm9ydGVkLiIpOwor
ICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpO
ZXR3b3JrLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENh
Y2hlIGRvd25sb2FkIHByb2Nlc3Mgd2FzIGFib3J0ZWQuIikpOwogICAgIGNhY2hlVXBkYXRlRmFp
bGVkKCk7CiB9CiAKQEAgLTU0Nyw3ICs1NDcsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91
cDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlcwog
CiAgICAgaWYgKHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgLyAxMDAgIT0gMiB8fCByZXNwb25z
ZS51cmwoKSAhPSBtX2N1cnJlbnRIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpKSB7CiAgICAg
ICAgIGlmICgodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6RXhwbGljaXQpIHx8ICh0
eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpGYWxsYmFjaykpIHsKLSAgICAgICAgICAg
IG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEFwcENhY2hlTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVk
LCBiZWNhdXNlICIgKyBtX2N1cnJlbnRIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpLnN0cmlu
Z0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsKKyAgICAgICAgICAgIG1fZnJhbWUtPmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAi
ICsgbV9jdXJyZW50SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJFbGxp
cHNpemVkVG9MZW5ndGgoKSArCiAgICAgICAgICAgICAgICAgKChyZXNwb25zZS5odHRwU3RhdHVz
Q29kZSgpIC8gMTAwICE9IDIpID8gIiBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iIDogIiB3YXMgcmVk
aXJlY3RlZC4iKSk7CiAgICAgICAgICAgICAvLyBOb3RlIHRoYXQgY2FjaGVVcGRhdGVGYWlsZWQo
KSBjYW4gY2F1c2UgdGhlIGNhY2hlIGdyb3VwIHRvIGJlIGRlbGV0ZWQuCiAgICAgICAgICAgICBj
YWNoZVVwZGF0ZUZhaWxlZCgpOwpAQCAtNjI2LDcgKzYyNiw3IEBAIHZvaWQgQXBwbGljYXRpb25D
YWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGRvdWJs
ZSBmaW5pCiAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSBicmVhayBlYXJsaWVyIGFuZCBwcmV2ZW50
IHJlZG93bmxvYWRpbmcgb24gbGF0ZXIgcGFnZSBsb2Fkcz8KICAgICBpZiAobV9vcmlnaW5RdW90
YUV4Y2VlZGVkUHJldmlvdXNseSAmJiBtX2F2YWlsYWJsZVNwYWNlSW5RdW90YSA8IG1fY2FjaGVC
ZWluZ1VwZGF0ZWQtPmVzdGltYXRlZFNpemVJblN0b3JhZ2UoKSkgewogICAgICAgICBtX2N1cnJl
bnRSZXNvdXJjZSA9IDA7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKEFwcENhY2hlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNh
dGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVk
LiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlOjpBcHBDYWNoZSwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJB
cHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4
Y2VlZGVkLiIpKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KQEAgLTY2MSw3ICs2NjEsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
ZGlkRmFpbChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZUVycm9yJgogICAg
IG1fcGVuZGluZ0VudHJpZXMucmVtb3ZlKHVybCk7CiAKICAgICBpZiAoKHR5cGUgJiBBcHBsaWNh
dGlvbkNhY2hlUmVzb3VyY2U6OkV4cGxpY2l0KSB8fCAodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVS
ZXNvdXJjZTo6RmFsbGJhY2spKSB7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENv
bnNvbGVNZXNzYWdlKEFwcENhY2hlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJB
cHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyB1cmwuc3RyaW5nQ2Vu
dGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpOworICAg
ICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpBcHBDYWNoZSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0
ZSBmYWlsZWQsIGJlY2F1c2UgIiArIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgo
KSArICIgY291bGQgbm90IGJlIGZldGNoZWQuIik7CiAgICAgICAgIC8vIE5vdGUgdGhhdCBjYWNo
ZVVwZGF0ZUZhaWxlZCgpIGNhbiBjYXVzZSB0aGUgY2FjaGUgZ3JvdXAgdG8gYmUgZGVsZXRlZC4K
ICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICB9IGVsc2UgewpAQCAtNjkwLDEzICs2
OTAsMTMgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVNYW5pZmVzdFJl
c3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIKICAgICAgICAgcmV0dXJuOwogCiAgICAg
aWYgKHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgLyAxMDAgIT0gMikgewotICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJl
IGZldGNoZWQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVy
YWwoIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpKTsK
ICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAog
ICAgIGlmIChyZXNwb25zZS51cmwoKSAhPSBtX21hbmlmZXN0SGFuZGxlLT5maXJzdFJlcXVlc3Qo
KS51cmwoKSkgewotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2Fj
aGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQsIGJlY2F1c2UgYSByZWRpcmVjdGlvbiB3
YXMgYXR0ZW1wdGVkLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlM
aXRlcmFsKCJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwg
YmVjYXVzZSBhIHJlZGlyZWN0aW9uIHdhcyBhdHRlbXB0ZWQuIikpOwogICAgICAgICBjYWNoZVVw
ZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNzE2LDcgKzcxNiw3IEBA
IHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nTWFuaWZlc3QoKQog
CiAgICAgaWYgKCFpc1VwZ3JhZGVBdHRlbXB0ICYmICFtX21hbmlmZXN0UmVzb3VyY2UpIHsKICAg
ICAgICAgLy8gVGhlIHNlcnZlciByZXR1cm5lZCAzMDQgTm90IE1vZGlmaWVkIGV2ZW4gdGhvdWdo
IHdlIGRpZG4ndCBzZW5kIGEgY29uZGl0aW9uYWwgcmVxdWVzdC4KLSAgICAgICAgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRj
aGVkIGJlY2F1c2Ugb2YgYW4gdW5leHBlY3RlZCAzMDQgTm90IE1vZGlmaWVkIHNlcnZlciByZXNw
b25zZS4iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
QXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQgYmVjYXVzZSBv
ZiBhbiB1bmV4cGVjdGVkIDMwNCBOb3QgTW9kaWZpZWQgc2VydmVyIHJlc3BvbnNlLiIpKTsKICAg
ICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTc0
Miw3ICs3NDIsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGlu
Z01hbmlmZXN0KCkKICAgICBNYW5pZmVzdCBtYW5pZmVzdDsKICAgICBpZiAoIXBhcnNlTWFuaWZl
c3QobV9tYW5pZmVzdFVSTCwgbV9tYW5pZmVzdFJlc291cmNlLT5kYXRhKCktPmRhdGEoKSwgbV9t
YW5pZmVzdFJlc291cmNlLT5kYXRhKCktPnNpemUoKSwgbWFuaWZlc3QpKSB7CiAgICAgICAgIC8v
IEF0IHRoZSB0aW1lIG9mIHRoaXMgd3JpdGluZywgbGFjayBvZiAiQ0FDSEUgTUFOSUZFU1QiIHNp
Z25hdHVyZSBpcyB0aGUgb25seSByZWFzb24gZm9yIHBhcnNlTWFuaWZlc3QgdG8gZmFpbC4KLSAg
ICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdl
U291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNv
dWxkIG5vdCBiZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBDQUNIRSBNQU5JRkVTVD8iKTsK
KyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRp
b24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIHBhcnNlZC4gRG9lcyBpdCBzdGFydCB3aXRo
IENBQ0hFIE1BTklGRVNUPyIpKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KQEAgLTkyOSw3ICs5MjksNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cDo6Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKCkKICAgICAgICAgICAgICAgICAvLyBXZSBy
YW4gb3V0IG9mIHNwYWNlIGZvciB0aGlzIG9yaWdpbi4gRmFsbCBkb3duIHRvIHRoZSBub3JtYWwg
ZXJyb3IgaGFuZGxpbmcKICAgICAgICAgICAgICAgICAvLyBhZnRlciByZWNvcmRpbmcgdGhpcyBz
dGF0ZS4KICAgICAgICAgICAgICAgICBtX29yaWdpblF1b3RhRXhjZWVkZWRQcmV2aW91c2x5ID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24g
Q2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNlZWRlZC4iKTsK
KyAgICAgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJB
cHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4
Y2VlZGVkLiIpKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgaWYgKGZhaWx1cmVSZWFz
b24gPT0gQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6OlRvdGFsUXVvdGFSZWFjaGVkICYmICFtX2Nh
bGxlZFJlYWNoZWRNYXhBcHBDYWNoZVNpemUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDY2YjhhMDkuLjliZmRi
NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcApAQCAtNjQyLDcgKzY0Miw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OnByaW50QWNjZXNzRGVuaWVkTWVzc2FnZShjb25zdCBVUkwmIHVybCkgY29uc3QKICAgICBl
bHNlCiAgICAgICAgIG1lc3NhZ2UgPSAiVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgIiArIHVy
bC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICIgZnJvbSBmcmFtZSB3aXRoIFVS
TCAiICsgbV9kb2N1bWVudC0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkg
KyAiLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guXG4iOwogCi0gICAg
ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgZnJhbWUoKS0+ZG9jdW1lbnQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZl
bDo6RXJyb3IsIG1lc3NhZ2UpOwogfQogCiB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpzZXRB
dXRvTG9hZEltYWdlcyhib29sIGVuYWJsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmlu
ZGV4IGFlNWI2ZDEuLmY2ZDVkNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAt
MjMsOCArMjMsNiBAQAogI2RlZmluZSBDaHJvbWVDbGllbnRfaAogCiAjaW5jbHVkZSAiQVhPYmpl
Y3RDYWNoZS5oIgotI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNv
bGVUeXBlcy5oIgogI2luY2x1ZGUgIkN1cnNvci5oIgogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9u
LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKQEAgLTM3LDYgKzM1LDcgQEAKICNpbmNsdWRl
ICJTY3JvbGxpbmdDb29yZGluYXRvci5oIgogI2luY2x1ZGUgIlNlYXJjaFBvcHVwTWVudS5oIgog
I2luY2x1ZGUgIldlYkNvcmVLZXlib2FyZFVJTW9kZS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9D
b25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5j
cHAKaW5kZXggZTIxYjg2Mi4uZTczYTZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db25zb2xlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCkBAIC0z
MSw4ICszMSw2IEBACiAKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGll
bnQuaCIKLSNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlw
ZXMuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVk
ZSAiRnJhbWVMb2FkZXIuaCIKQEAgLTQyLDE4ICs0MCwyMSBAQAogI2luY2x1ZGUgIlBhZ2UuaCIK
ICNpbmNsdWRlICJQYWdlQ29uc29sZS5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgotI2luY2x1
ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2lu
Y2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxl
LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRhYmxlRG9j
dW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPGJpbmRpbmdz
L1NjcmlwdFZhbHVlLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oPgorI2lu
Y2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAordXNpbmcgbmFtZXNwYWNlIElu
c3BlY3RvcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDb25zb2xlOjpDb25zb2xlKEZyYW1l
KiBmcmFtZSkKQEAgLTgxLDEzICs4MiwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlcm5hbEFkZE1lc3Nh
Z2UoUGFnZSogcGFnZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLAogCiAg
ICAgU3RyaW5nIG1lc3NhZ2U7CiAgICAgYm9vbCBnb3RNZXNzYWdlID0gYXJndW1lbnRzLT5nZXRG
aXJzdEFyZ3VtZW50QXNTdHJpbmcobWVzc2FnZSk7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIENvbnNvbGVBUElNZXNzYWdlU291cmNlLCB0
eXBlLCBsZXZlbCwgbWVzc2FnZSwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIE1lc3NhZ2VTb3VyY2U6OkNv
bnNvbGVBUEksIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzdGF0ZSwgYXJndW1lbnRzKTsKIAogICAg
IGlmIChwYWdlLT5zZXR0aW5ncygpLnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKGdvdE1lc3NhZ2UpCi0gICAgICAgIHBhZ2UtPmNocm9tZSgpLmNs
aWVudCgpLmFkZE1lc3NhZ2VUb0NvbnNvbGUoQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIHR5cGUs
IGxldmVsLCBtZXNzYWdlLCBsYXN0Q2FsbGVyLmxpbmVOdW1iZXIoKSwgbGFzdENhbGxlci5jb2x1
bW5OdW1iZXIoKSwgbGFzdENhbGxlci5zb3VyY2VVUkwoKSk7CisgICAgICAgIHBhZ2UtPmNocm9t
ZSgpLmNsaWVudCgpLmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQ
SSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxhc3RDYWxsZXIubGluZU51bWJlcigpLCBsYXN0Q2Fs
bGVyLmNvbHVtbk51bWJlcigpLCBsYXN0Q2FsbGVyLnNvdXJjZVVSTCgpKTsKIAogICAgIGlmICgh
cGFnZS0+c2V0dGluZ3MoKS5sb2dzUGFnZU1lc3NhZ2VzVG9TeXN0ZW1Db25zb2xlRW5hYmxlZCgp
ICYmICFQYWdlQ29uc29sZTo6c2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTk2LDcgKzk3LDcgQEAgc3RhdGljIHZvaWQgaW50ZXJuYWxBZGRNZXNzYWdlKFBhZ2Uq
IHBhZ2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwKIAogICAgIHByaW50
ZigiOiAiKTsKIAotICAgIFBhZ2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFBy
ZWZpeChDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIHByaW50VHJhY2UpOworICAgIFBh
Z2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNl
OjpDb25zb2xlQVBJLCBsZXZlbCwgcHJpbnRUcmFjZSk7CiAKICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGFyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgpOyArK2kpIHsKICAgICAgICAgU3RyaW5n
IGFyZ0FzU3RyaW5nID0gYXJndW1lbnRzLT5hcmd1bWVudEF0KGkpLnRvU3RyaW5nKGFyZ3VtZW50
cy0+Z2xvYmFsU3RhdGUoKSk7CkBAIC0xMjUsMTIgKzEyNiwxMiBAQCBzdGF0aWMgdm9pZCBpbnRl
cm5hbEFkZE1lc3NhZ2UoUGFnZSogcGFnZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVs
IGxldmVsLAogCiB2b2lkIENvbnNvbGU6OmRlYnVnKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1l
c3NhZ2UocGFnZSgpLCBMb2dNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIHN0YXRlLCBh
cmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpM
b2csIE1lc3NhZ2VMZXZlbDo6RGVidWcsIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2b2lkIENv
bnNvbGU6OmVycm9yKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBMb2dN
ZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGlu
dGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6OmluZm8oSlNDOjpF
eGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpA
QCAtMTQwLDM3ICsxNDEsMzcgQEAgdm9pZCBDb25zb2xlOjppbmZvKEpTQzo6RXhlY1N0YXRlKiBz
dGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAogdm9pZCBDb25z
b2xlOjpsb2coSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4gYXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIExvZ01lc3Nh
Z2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFs
QWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6TG9nLCBz
dGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25zb2xlOjp3YXJuKEpTQzo6RXhlY1N0YXRl
KiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBp
bnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VM
ZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwg
TWVzc2FnZVR5cGU6OkxvZywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBzdGF0ZSwgYXJndW1lbnRz
KTsKIH0KIAogdm9pZCBDb25zb2xlOjpkaXIoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVm
UHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2Fn
ZShwYWdlKCksIERpck1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVu
dHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpEaXIsIE1l
c3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25zb2xlOjpk
aXJ4bWwoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4g
YXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIERpclhNTE1lc3Nh
Z2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFs
QWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpEaXJYTUwsIE1lc3NhZ2VMZXZlbDo6TG9n
LCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25zb2xlOjp0YWJsZShKU0M6OkV4ZWNT
dGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0g
ICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgVGFibGVNZXNzYWdlVHlwZSwgTG9nTWVzc2Fn
ZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgp
LCBNZXNzYWdlVHlwZTo6VGFibGUsIE1lc3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRz
KTsKIH0KIAogdm9pZCBDb25zb2xlOjpjbGVhcihKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NS
ZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNz
YWdlKHBhZ2UoKSwgQ2xlYXJNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJn
dW1lbnRzLCB0cnVlKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlw
ZTo6Q2xlYXIsIE1lc3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlKTsKIH0K
IAogdm9pZCBDb25zb2xlOjp0cmFjZShKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8
U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBh
Z2UoKSwgVHJhY2VNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRz
LCB0cnVlLCB0cnVlKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlw
ZTo6VHJhY2UsIE1lc3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlLCB0cnVl
KTsKIH0KIAogdm9pZCBDb25zb2xlOjphc3NlcnRDb25kaXRpb24oSlNDOjpFeGVjU3RhdGUqIHN0
YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzLCBib29sIGNvbmRpdGlv
bikKQEAgLTE3OCw3ICsxNzksNyBAQCB2b2lkIENvbnNvbGU6OmFzc2VydENvbmRpdGlvbihKU0M6
OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPgogICAgIGlmIChj
b25kaXRpb24pCiAgICAgICAgIHJldHVybjsKIAotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdl
KCksIEFzc2VydE1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50
cywgdHJ1ZSk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkFz
c2VydCwgTWVzc2FnZUxldmVsOjpFcnJvciwgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSk7CiB9CiAK
IHZvaWQgQ29uc29sZTo6Y291bnQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNj
cmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpAQCAtMjQzLDE3ICsyNDQsMTcgQEAgdm9pZCBDb25z
b2xlOjp0aW1lU3RhbXAoUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAog
dm9pZCBDb25zb2xlOjpncm91cChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UoKSwgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIFN0
YXJ0R3JvdXBNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBTdHJpbmcoKSwgc3RhdGUsIGFy
Z3VtZW50cyk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25z
b2xlKHBhZ2UoKSwgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSwgTWVzc2FnZVR5cGU6OlN0YXJ0
R3JvdXAsIE1lc3NhZ2VMZXZlbDo6TG9nLCBTdHJpbmcoKSwgc3RhdGUsIGFyZ3VtZW50cyk7CiB9
CiAKIHZvaWQgQ29uc29sZTo6Z3JvdXBDb2xsYXBzZWQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlKCksIENvbnNvbGVBUElNZXNz
YWdlU291cmNlLCBTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZl
bCwgU3RyaW5nKCksIHN0YXRlLCBhcmd1bWVudHMpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlKCksIE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVB
UEksIE1lc3NhZ2VUeXBlOjpTdGFydEdyb3VwQ29sbGFwc2VkLCBNZXNzYWdlTGV2ZWw6OkxvZywg
U3RyaW5nKCksIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6Omdyb3VwRW5k
KCkKIHsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUo
cGFnZSgpLCBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgRW5kR3JvdXBNZXNzYWdlVHlwZSwgTG9n
TWVzc2FnZUxldmVsLCBTdHJpbmcoKSwgU3RyaW5nKCksIDAsIDApOworICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlKCksIE1lc3NhZ2VTb3VyY2U6
OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpFbmRHcm91cCwgTWVzc2FnZUxldmVsOjpMb2csIFN0
cmluZygpLCBTdHJpbmcoKSwgMCwgMCk7CiB9CiAKIFBhZ2UqIENvbnNvbGU6OnBhZ2UoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnNvbGUuaAppbmRleCA2NGVhYzFhLi45OGU0YjQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnNvbGUuaApAQCAtMzcsMTEgKzM3LDE0IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCituYW1lc3BhY2UgSW5zcGVjdG9yIHsKK2Ns
YXNzIFNjcmlwdEFyZ3VtZW50czsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBG
cmFtZTsKIGNsYXNzIFBhZ2U7Ci1jbGFzcyBTY3JpcHRBcmd1bWVudHM7CiAKIHR5cGVkZWYgVmVj
dG9yPFJlZlB0cjxTY3JpcHRQcm9maWxlPj4gUHJvZmlsZXNBcnJheTsKIApAQCAtNTAsMjYgKzUz
LDI2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDb25zb2xlPiBjcmVhdGUoRnJh
bWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ29uc29sZShmcmFtZSkpOyB9CiAgICAg
dmlydHVhbCB+Q29uc29sZSgpOwogCi0gICAgdm9pZCBkZWJ1ZyhKU0M6OkV4ZWNTdGF0ZSosIFBh
c3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBlcnJvcihKU0M6OkV4ZWNTdGF0
ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBpbmZvKEpTQzo6RXhl
Y1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGxvZyhKU0M6
OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBjbGVh
cihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9p
ZCB3YXJuKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAg
ICB2b2lkIGRpcihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7
Ci0gICAgdm9pZCBkaXJ4bWwoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3Vt
ZW50cz4pOwotICAgIHZvaWQgdGFibGUoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlw
dEFyZ3VtZW50cz4pOwotICAgIHZvaWQgdHJhY2UoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRy
PFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgYXNzZXJ0Q29uZGl0aW9uKEpTQzo6RXhlY1N0
YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+LCBib29sIGNvbmRpdGlvbik7Ci0gICAg
dm9pZCBjb3VudChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7
CisgICAgdm9pZCBkZWJ1ZyhKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpT
Y3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGVycm9yKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1Jl
ZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgaW5mbyhKU0M6OkV4
ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2
b2lkIGxvZyhKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1
bWVudHM+KTsKKyAgICB2b2lkIGNsZWFyKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNw
ZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgd2FybihKU0M6OkV4ZWNTdGF0ZSos
IFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGRpcihK
U0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsK
KyAgICB2b2lkIGRpcnhtbChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpT
Y3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIHRhYmxlKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1Jl
ZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgdHJhY2UoSlNDOjpF
eGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAg
dm9pZCBhc3NlcnRDb25kaXRpb24oSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rv
cjo6U2NyaXB0QXJndW1lbnRzPiwgYm9vbCBjb25kaXRpb24pOworICAgIHZvaWQgY291bnQoSlND
OjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAg
ICAgY29uc3QgUHJvZmlsZXNBcnJheSYgcHJvZmlsZXMoKSBjb25zdCB7IHJldHVybiBtX3Byb2Zp
bGVzOyB9CiAgICAgdm9pZCBwcm9maWxlKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiA9
IFN0cmluZygpKTsKICAgICB2b2lkIHByb2ZpbGVFbmQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBT
dHJpbmcmID0gU3RyaW5nKCkpOwogICAgIHZvaWQgdGltZShjb25zdCBTdHJpbmcmKTsKICAgICB2
b2lkIHRpbWVFbmQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIHRp
bWVTdGFtcChQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgZ3JvdXAoSlND
OjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgZ3Jv
dXBDb2xsYXBzZWQoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4p
OworICAgIHZvaWQgdGltZVN0YW1wKFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVu
dHM+KTsKKyAgICB2b2lkIGdyb3VwKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0
b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgZ3JvdXBDb2xsYXBzZWQoSlNDOjpFeGVj
U3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAgICAgdm9p
ZCBncm91cEVuZCgpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db25zb2xlVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwNGExNjcuLjAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIENvbnNvbGVUeXBlc19oCi0jZGVmaW5lIENvbnNvbGVU
eXBlc19oCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotZW51bSBNZXNzYWdlU291cmNlIHsKLSAg
ICBYTUxNZXNzYWdlU291cmNlLAotICAgIEpTTWVzc2FnZVNvdXJjZSwKLSAgICBOZXR3b3JrTWVz
c2FnZVNvdXJjZSwKLSAgICBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwKLSAgICBTdG9yYWdlTWVz
c2FnZVNvdXJjZSwKLSAgICBBcHBDYWNoZU1lc3NhZ2VTb3VyY2UsCi0gICAgUmVuZGVyaW5nTWVz
c2FnZVNvdXJjZSwKLSAgICBDU1NNZXNzYWdlU291cmNlLAotICAgIFNlY3VyaXR5TWVzc2FnZVNv
dXJjZSwKLSAgICBPdGhlck1lc3NhZ2VTb3VyY2UsCi19OwotCi1lbnVtIE1lc3NhZ2VMZXZlbCB7
Ci0gICAgRGVidWdNZXNzYWdlTGV2ZWwgPSA0LAotICAgIExvZ01lc3NhZ2VMZXZlbCA9IDEsCi0g
ICAgV2FybmluZ01lc3NhZ2VMZXZlbCA9IDIsCi0gICAgRXJyb3JNZXNzYWdlTGV2ZWwgPSAzCi19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBDb25zb2xlVHlwZXNfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4IDBh
ZWE5YWEuLjkyN2MwODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNl
Y3VyaXR5UG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0
eVBvbGljeS5jcHAKQEAgLTM1LDE3ICszNSwxOCBAQAogI2luY2x1ZGUgIkZvcm1EYXRhTGlzdC5o
IgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgiCi0jaW5jbHVkZSAiVVJMLmgiCisjaW5jbHVkZSAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgi
CiAjaW5jbHVkZSAiUGluZ0xvYWRlci5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaCIKICNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxT
dGFjay5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJT
Y3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgor
I2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4K
KyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5jbHVkZSA8aW5zcGVj
dG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtMTcyNiw3ICsxNzI3LDcgQEAgc3RhdGljIHZvaWQgZ2F0aGVyU2VjdXJp
dHlQb2xpY3lWaW9sYXRpb25FdmVudERhdGEoU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudEkK
ICAgICBpbml0LnNvdXJjZUZpbGUgPSBTdHJpbmcoKTsKICAgICBpbml0LmxpbmVOdW1iZXIgPSAw
OwogCi0gICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2sgPSBjcmVhdGVTY3JpcHRDYWxs
U3RhY2soMiwgZmFsc2UpOworICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrID0gY3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCks
IDIsIGZhbHNlKTsKICAgICBpZiAoIXN0YWNrKQogICAgICAgICByZXR1cm47CiAKQEAgLTE3ODgs
NyArMTc4OSw3IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRWaW9sYXRpb24o
Y29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBjb25zdCBTCiAgICAgY3NwUmVwb3J0LT5zZXRT
dHJpbmcoIm9yaWdpbmFsLXBvbGljeSIsIGhlYWRlcik7CiAgICAgY3NwUmVwb3J0LT5zZXRTdHJp
bmcoImJsb2NrZWQtdXJpIiwgc3RyaXBVUkxGb3JVc2VJblJlcG9ydChkb2N1bWVudCwgYmxvY2tl
ZFVSTCkpOwogCi0gICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2sgPSBjcmVhdGVTY3Jp
cHRDYWxsU3RhY2soMiwgZmFsc2UpOworICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNr
ID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0
YXRlKCksIDIsIGZhbHNlKTsKICAgICBpZiAoc3RhY2spIHsKICAgICAgICAgY29uc3QgU2NyaXB0
Q2FsbEZyYW1lJiBjYWxsRnJhbWUgPSBnZXRGaXJzdE5vbk5hdGl2ZUZyYW1lKHN0YWNrKTsKIApA
QCAtMTg5OSw3ICsxOTAwLDcgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydE1p
c3NpbmdSZXBvcnRVUkkoY29uc3QgU3RyaW5nJiBwb2xpY3kpIGNvbnN0CiB2b2lkIENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6bG9nVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5l
LCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IDxodHRwOi8v
d2Via2l0Lm9yZy9iLzExNDMxNz4gQ29udGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0NvbnNvbGUg
c2hvdWxkIGluY2x1ZGUgYSBjb2x1bW4gbnVtYmVyCi0gICAgbV9zY3JpcHRFeGVjdXRpb25Db250
ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBtZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZS5vbmVCYXNlZEludCgpLCAw
LCBzdGF0ZSk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSwg
Y29udGV4dFVSTCwgY29udGV4dExpbmUub25lQmFzZWRJbnQoKSwgMCwgc3RhdGUpOwogfQogCiB2
b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0QmxvY2tlZFNjcmlwdEV4ZWN1dGlvblRv
SW5zcGVjdG9yKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKaW5kZXggN2EyNjRlZS4uOTk0Yzk2YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKQEAgLTMwLDcgKzMwLDYg
QEAKICNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkRP
TVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxT
dGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDx3
dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA3NTMzYjAwLi4zZGYyY2M0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yMSw3ICsyMSw3IEBACiAgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTY5LDcgKzY5LDcgQEAKICNpbmNsdWRlICJI
VE1MRnJhbWVPd25lckVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXN0b3J5LmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiVVJMLmgiCisjaW5jbHVkZSAi
SlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiTG9jYXRpb24uaCIKICNpbmNsdWRl
ICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TGlzdC5oIgpAQCAtODUsOCArODUs
NiBAQAogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTY2hl
ZHVsZWRBY3Rpb24uaCIKICNpbmNsdWRlICJTY3JlZW4uaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxs
U3RhY2suaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAi
U2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVk
ZSAiU2VjdXJpdHlQb2xpY3kuaCIKQEAgLTk4LDEwICs5NiwxMyBAQAogI2luY2x1ZGUgIlN0eWxl
TWVkaWEuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAjaW5jbHVkZSAiU3VkZGVuVGVy
bWluYXRpb24uaCIKKyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJXZWJLaXRQb2ludC5oIgog
I2luY2x1ZGUgIldpbmRvd0ZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiV2luZG93Rm9jdXNBbGxvd2Vk
SW5kaWNhdG9yLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPGluc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFj
dG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9NYWlu
VGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTEyNCw2ICsxMjUsOCBA
QAogI2luY2x1ZGUgIldLQ29udGVudE9ic2VydmF0aW9uLmgiCiAjZW5kaWYKIAordXNpbmcgbmFt
ZXNwYWNlIEluc3BlY3RvcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQb3N0TWVz
c2FnZVRpbWVyIDogcHVibGljIFRpbWVyQmFzZSB7CkBAIC04NDMsNyArODQ2LDcgQEAgdm9pZCBE
T01XaW5kb3c6OnBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBt
ZXNzYWdlLCBjb25zdCBNZXMKICAgICAvLyBDYXB0dXJlIHN0YWNrIHRyYWNlIG9ubHkgd2hlbiBp
bnNwZWN0b3IgZnJvbnQtZW5kIGlzIGxvYWRlZCBhcyBpdCBtYXkgYmUgdGltZSBjb25zdW1pbmcu
CiAgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZTsKICAgICBpZiAoSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQWdlbnRFbmFibGVkKHNvdXJjZURvY3VtZW50KSkK
LSAgICAgICAgc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhTY3JpcHRDYWxsU3Rh
Y2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpOworICAgICAgICBzdGFja1RyYWNl
ID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0
YXRlKCksIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7
CiAKICAgICAvLyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBQb3N0TWVzc2FnZVRpbWVyKiB0
aW1lciA9IG5ldyBQb3N0TWVzc2FnZVRpbWVyKHRoaXMsIG1lc3NhZ2UsIHNvdXJjZU9yaWdpbiwg
JnNvdXJjZSwgY2hhbm5lbHMucmVsZWFzZSgpLCB0YXJnZXQuZ2V0KCksIHN0YWNrVHJhY2UucmVs
ZWFzZSgpKTsKQEAgLTg2Nyw3ICs4NzAsNyBAQCB2b2lkIERPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNz
YWdlRXZlbnRXaXRoT3JpZ2luQ2hlY2soU2VjdXJpdHlPcmlnaW4qIGludGVuZGVkVGFyZwogICAg
ICAgICBpZiAoIWludGVuZGVkVGFyZ2V0T3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChkb2N1
bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKSkgewogICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2Ug
PSAiVW5hYmxlIHRvIHBvc3QgbWVzc2FnZSB0byAiICsgaW50ZW5kZWRUYXJnZXRPcmlnaW4tPnRv
U3RyaW5nKCkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLiBSZWNpcGllbnQgaGFz
IG9yaWdpbiAiICsgZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSArICIu
XG4iOwotICAgICAgICAgICAgcGFnZUNvbnNvbGUoKS0+YWRkTWVzc2FnZShTZWN1cml0eU1lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBzdGFja1RyYWNlKTsKKyAgICAg
ICAgICAgIHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHks
IE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UsIHN0YWNrVHJhY2UpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAgICAgfQpAQCAtOTY2LDcgKzk2OSw3IEBAIHZvaWQgRE9NV2lu
ZG93OjpjbG9zZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogICAgIGJvb2wgYWxs
b3dTY3JpcHRzVG9DbG9zZVdpbmRvd3MgPSBtX2ZyYW1lLT5zZXR0aW5ncygpLmFsbG93U2NyaXB0
c1RvQ2xvc2VXaW5kb3dzKCk7CiAKICAgICBpZiAoIShwYWdlLT5vcGVuZWRCeURPTSgpIHx8IHBh
Z2UtPmJhY2tGb3J3YXJkKCkuY291bnQoKSA8PSAxIHx8IGFsbG93U2NyaXB0c1RvQ2xvc2VXaW5k
b3dzKSkgewotICAgICAgICBwYWdlQ29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgQVNDSUlMaXRlcmFsKCJDYW4ndCBjbG9zZSB0aGUgd2lu
ZG93IHNpbmNlIGl0IHdhcyBub3Qgb3BlbmVkIGJ5IEphdmFTY3JpcHQiKSk7CisgICAgICAgIHBh
Z2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6
V2FybmluZywgQVNDSUlMaXRlcmFsKCJDYW4ndCBjbG9zZSB0aGUgd2luZG93IHNpbmNlIGl0IHdh
cyBub3Qgb3BlbmVkIGJ5IEphdmFTY3JpcHQiKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTE5MzYsNyArMTkzOSw3IEBAIHZvaWQgRE9NV2luZG93OjpwcmludEVycm9yTWVzc2FnZShj
b25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBwYWdlQ29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIHBhZ2VDb25zb2xlKCktPmFkZE1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwog
fQogCiBTdHJpbmcgRE9NV2luZG93Ojpjcm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVzc2FnZShjb25z
dCBET01XaW5kb3cmIGFjdGl2ZVdpbmRvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDky
OTc4MWEuLmVmYTEwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzQsNiArMzQsMTAg
QEAKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAK
K25hbWVzcGFjZSBJbnNwZWN0b3IgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOworfQorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBCYXJQcm9wOwpAQCAtNjUsNyArNjksNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUG9zdE1lc3NhZ2VUaW1lcjsKICAgICBjbGFz
cyBTY2hlZHVsZWRBY3Rpb247CiAgICAgY2xhc3MgU2NyZWVuOwotICAgIGNsYXNzIFNjcmlwdENh
bGxTdGFjazsKICAgICBjbGFzcyBTZWN1cml0eU9yaWdpbjsKICAgICBjbGFzcyBTZXJpYWxpemVk
U2NyaXB0VmFsdWU7CiAgICAgY2xhc3MgU3RvcmFnZTsKQEAgLTIzOSw3ICsyNDIsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIE5lZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmluZGlu
Z3MgKHNlZSBidWcgMjg3NzQpLgogICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBNZXNzYWdlUG9ydCosIGNvbnN0IFN0cmlu
ZyYgdGFyZ2V0T3JpZ2luLCBET01XaW5kb3cmIHNvdXJjZSwgRXhjZXB0aW9uQ29kZSYpOwogICAg
ICAgICB2b2lkIHBvc3RNZXNzYWdlVGltZXJGaXJlZChQYXNzT3duUHRyPFBvc3RNZXNzYWdlVGlt
ZXI+KTsKLSAgICAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VFdmVudFdpdGhPcmlnaW5DaGVjayhT
ZWN1cml0eU9yaWdpbiogaW50ZW5kZWRUYXJnZXRPcmlnaW4sIFBhc3NSZWZQdHI8RXZlbnQ+LCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgICAgICB2b2lkIGRpc3BhdGNoTWVzc2Fn
ZUV2ZW50V2l0aE9yaWdpbkNoZWNrKFNlY3VyaXR5T3JpZ2luKiBpbnRlbmRlZFRhcmdldE9yaWdp
biwgUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3Rh
Y2s+KTsKIAogICAgICAgICB2b2lkIHNjcm9sbEJ5KGludCB4LCBpbnQgeSkgY29uc3Q7CiAgICAg
ICAgIHZvaWQgc2Nyb2xsVG8oaW50IHgsIGludCB5KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dFNvdXJjZS5jcHAKaW5kZXggNGNjZmJlMy4uZTFkOTUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dFNvdXJjZS5jcHAKQEAgLTQ2LDcgKzQ2LDYgQEAKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25z
ZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKQEAgLTIyOCw3ICsyMjcsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpk
aWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcAogICAgICAgICAgICAgbWVzc2FnZS5hcHBlbmQoY2hhcnNldCk7CiAgICAgICAgICAgICBt
ZXNzYWdlLmFwcGVuZExpdGVyYWwoIlwiKSB0aGF0IGlzIG5vdCBVVEYtOC4gQWJvcnRpbmcgdGhl
IGNvbm5lY3Rpb24uIik7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIG1pc3NpbmcgdGhl
IHNvdXJjZSBsaW5lLgotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRD
b25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdl
LnRvU3RyaW5nKCkpOworICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRD
b25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVz
c2FnZS50b1N0cmluZygpKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIFRv
IGtlZXAgdGhlIHNpZ25hbC10by1ub2lzZSByYXRpbyBsb3csIHdlIG9ubHkgbG9nIDIwMC1yZXNw
b25zZSB3aXRoIGFuIGludmFsaWQgTUlNRSB0eXBlLgpAQCAtMjM4LDcgKzIzNyw3IEBAIHZvaWQg
RXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwCiAgICAgICAgICAgICBtZXNzYWdlLmFwcGVuZChyZXNwb25zZS5t
aW1lVHlwZSgpKTsKICAgICAgICAgICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiXCIpIHRoYXQg
aXMgbm90IFwidGV4dC9ldmVudC1zdHJlYW1cIi4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rpb24uIik7
CiAgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJjZSBsaW5lLgot
ICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOwor
ICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZS50b1N0cmluZygp
KTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMjkwLDcgKzI4OSw3IEBAIHZvaWQgRXZlbnRTb3Vy
Y2U6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB2b2lkIEV2ZW50U291cmNl
OjpkaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQog
ewogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZygiRXZlbnRTb3VyY2UgY2Fubm90IGxv
YWQgIiwgZXJyb3IuZmFpbGluZ1VSTCgpLCAiLiAiLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlv
bigpKTsKLSAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1l
c3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogCiAgICAgYWJvcnRDb25uZWN0aW9uQXR0ZW1w
dCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcAppbmRleCAyOTE0Y2JiLi40NDBm
NzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcApAQCAtMzEsMjQgKzMxLDI1IEBA
CiAKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKLSNpbmNs
dWRlICJDb25zb2xlQVBJVHlwZXMuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
Q29uc29sZUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIu
aCIKICNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJQYWdlLmgi
Ci0jaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNr
LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlw
dGFibGVEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8
YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVz
Lmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oPgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCit1c2luZyBuYW1l
c3BhY2UgSW5zcGVjdG9yOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSB7CkBA
IC04MCwzNCArODEsMzQgQEAgdm9pZCBQYWdlQ29uc29sZTo6cHJpbnRNZXNzYWdlU291cmNlQW5k
TGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2UKIHsKICAgICBjb25zdCBj
aGFyKiBzb3VyY2VTdHJpbmc7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIFhNTE1l
c3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpYTUw6CiAgICAgICAgIHNvdXJj
ZVN0cmluZyA9ICJYTUwiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEpTTWVzc2FnZVNvdXJj
ZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkpTOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAi
SlMiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIE5ldHdvcmtNZXNzYWdlU291cmNlOgorICAg
IGNhc2UgTWVzc2FnZVNvdXJjZTo6TmV0d29yazoKICAgICAgICAgc291cmNlU3RyaW5nID0gIk5F
VFdPUksiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbnNvbGVBUElNZXNzYWdlU291cmNl
OgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSToKICAgICAgICAgc291cmNlU3Ry
aW5nID0gIkNPTlNPTEUiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFN0b3JhZ2VNZXNzYWdl
U291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6U3RvcmFnZToKICAgICAgICAgc291cmNl
U3RyaW5nID0gIlNUT1JBR0UiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEFwcENhY2hlTWVz
c2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlOgogICAgICAgICBz
b3VyY2VTdHJpbmcgPSAiQVBQQ0FDSEUiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFJlbmRl
cmluZ01lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpSZW5kZXJpbmc6CiAg
ICAgICAgIHNvdXJjZVN0cmluZyA9ICJSRU5ERVJJTkciOwogICAgICAgICBicmVhazsKLSAgICBj
YXNlIENTU01lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDU1M6CiAgICAg
ICAgIHNvdXJjZVN0cmluZyA9ICJDU1MiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFNlY3Vy
aXR5TWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5OgogICAg
ICAgICBzb3VyY2VTdHJpbmcgPSAiU0VDVVJJVFkiOwogICAgICAgICBicmVhazsKLSAgICBjYXNl
IE90aGVyTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6Ok90aGVyOgogICAg
ICAgICBzb3VyY2VTdHJpbmcgPSAiT1RIRVIiOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0
OgpAQCAtMTE4LDE2ICsxMTksMTYgQEAgdm9pZCBQYWdlQ29uc29sZTo6cHJpbnRNZXNzYWdlU291
cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2UKIAogICAgIGNv
bnN0IGNoYXIqIGxldmVsU3RyaW5nOwogICAgIHN3aXRjaCAobGV2ZWwpIHsKLSAgICBjYXNlIERl
YnVnTWVzc2FnZUxldmVsOgorICAgIGNhc2UgTWVzc2FnZUxldmVsOjpEZWJ1ZzoKICAgICAgICAg
bGV2ZWxTdHJpbmcgPSAiREVCVUciOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIExvZ01lc3Nh
Z2VMZXZlbDoKKyAgICBjYXNlIE1lc3NhZ2VMZXZlbDo6TG9nOgogICAgICAgICBsZXZlbFN0cmlu
ZyA9ICJMT0ciOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFdhcm5pbmdNZXNzYWdlTGV2ZWw6
CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6Oldhcm5pbmc6CiAgICAgICAgIGxldmVsU3RyaW5nID0g
IldBUk4iOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEVycm9yTWVzc2FnZUxldmVsOgorICAg
IGNhc2UgTWVzc2FnZUxldmVsOjpFcnJvcjoKICAgICAgICAgbGV2ZWxTdHJpbmcgPSAiRVJST1Ii
OwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAtMTQ3LDYgKzE0OCw3IEBAIHZvaWQg
UGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgU3RyCiAgICAgU3RyaW5nIHVybDsKICAgICBpZiAoZG9jdW1lbnQpCiAg
ICAgICAgIHVybCA9IGRvY3VtZW50LT51cmwoKS5zdHJpbmcoKTsKKwogICAgIC8vIEZJWE1FOiBU
aGUgYmVsb3cgY29kZSBhdHRlbXB0cyB0byBkZXRlcm1pbmUgbGluZSBudW1iZXJzIGZvciBwYXJz
ZXIgZ2VuZXJhdGVkIGVycm9ycywgYnV0IHRoaXMgaXMgbm90IHRoZSBvbmx5IHJlYXNvbiB3aHkg
d2UgY2FuIGdldCBoZXJlLgogICAgIC8vIEZvciBleGFtcGxlLCBpZiB3ZSBhcmUgc3RpbGwgcGFy
c2luZyBhbmQgZ2V0IGEgV2ViU29ja2V0IG5ldHdvcmsgZXJyb3IsIGl0IHdpbGwgYmUgZXJyb25l
b3VzbHkgYXR0cmlidXRlZCB0byBhIGxpbmUgd2hlcmUgcGFyc2luZyB3YXMgcGF1c2VkLgogICAg
IC8vIEFsc28sIHdlIHNob3VsZCBkZXRlcm1pbmUgbGluZSBudW1iZXJzIGZvciBzY3JpcHQgZ2Vu
ZXJhdGVkIG1lc3NhZ2VzIChlLmcuIGNhbGxpbmcgZ2V0SW1hZ2VEYXRhIG9uIGEgY2FudmFzKS4K
QEAgLTE2Miw3ICsxNjQsNyBAQCB2b2lkIFBhZ2VDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cgogICAgICAgICAgICAg
Y29sdW1uID0gcG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQoKTsKICAgICAgICAgfQogICAg
IH0KLSAgICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZSwgY29s
dW1uLCAwLCAwLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgYWRkTWVzc2FnZShzb3VyY2UsIGxl
dmVsLCBtZXNzYWdlLCB1cmwsIGxpbmUsIGNvbHVtbiwgMCwgSlNNYWluVGhyZWFkRXhlY1N0YXRl
OjpjdXJyZW50U3RhdGUoKSwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCiB2b2lkIFBhZ2VDb25z
b2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxT
dGFjaykKQEAgLTE3MiwxNSArMTc0LDE1IEBAIHZvaWQgUGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyCiAKIHZv
aWQgUGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VM
ZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHVybCwgdW5z
aWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlw
dENhbGxTdGFjaz4gY2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxv
bmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgaWYgKG11dGVDb3VudCAmJiBzb3VyY2UgIT0g
Q29uc29sZUFQSU1lc3NhZ2VTb3VyY2UpCisgICAgaWYgKG11dGVDb3VudCAmJiBzb3VyY2UgIT0g
TWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNh
bGxTdGFjaykKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9D
b25zb2xlKCZtX3BhZ2UsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlLCBj
YWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKCZtX3BhZ2UsIHNvdXJjZSwgTWVzc2FnZVR5cGU6
OkxvZywgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOwogICAg
IGVsc2UKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25z
b2xlKCZtX3BhZ2UsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlLCB1cmws
IGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKCZtX3Bh
Z2UsIHNvdXJjZSwgTWVzc2FnZVR5cGU6OkxvZywgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZU51
bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOwogCi0gICAgaWYg
KHNvdXJjZSA9PSBDU1NNZXNzYWdlU291cmNlKQorICAgIGlmIChzb3VyY2UgPT0gTWVzc2FnZVNv
dXJjZTo6Q1NTKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9wYWdlLnNldHRpbmdzKCku
cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uc29sZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5oCmluZGV4
IDlhNzBlNTQuLjVhYjcxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bnNvbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmgKQEAgLTI5LDgg
KzI5LDggQEAKICNpZm5kZWYgUGFnZUNvbnNvbGVfaAogI2RlZmluZSBQYWdlQ29uc29sZV9oCiAK
LSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIK
KyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtNTEsOCArNTEsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IHZvaWQgcHJpbnRTb3VyY2VVUkxBbmRQb3NpdGlvbihjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
dW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyID0gMCk7CiAgICAgc3Rh
dGljIHZvaWQgcHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZUxldmVsLCBib29sIHNob3dBc1RyYWNlID0gZmFsc2UpOwogCi0gICAgdm9pZCBhZGRN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQg
Y29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gPSAwLCBKU0M6OkV4ZWNT
dGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgdm9p
ZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgIHZvaWQgYWRkTWVzc2Fn
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVt
bk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gPSAwLCBKU0M6
OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Cisg
ICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CiAg
ICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCwgRG9jdW1l
bnQqID0gMCk7CiAKICAgICBzdGF0aWMgdm9pZCBtdXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXggNWQ2ZjVhNS4uMjU5NmZmYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcApAQCAtNTYs
NyArNTYsNyBAQCB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2Nr
KEVsZW1lbnQqIHRhcmdldCkKIAogICAgIGlmICh0YXJnZXQtPmRvY3VtZW50KCkuaXNTYW5kYm94
ZWQoU2FuZGJveFBvaW50ZXJMb2NrKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdl
IHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAg
ICB0YXJnZXQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgcG9pbnRlciBsb2NrIG9uIGFuIGVsZW1l
bnQgYmVjYXVzZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxv
dy1wb2ludGVyLWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAgICAgdGFyZ2V0
LT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBN
ZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgcG9pbnRlciBsb2NrIG9u
IGFuIGVsZW1lbnQgYmVjYXVzZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQg
dGhlICdhbGxvdy1wb2ludGVyLWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKSk7CiAgICAg
ICAgIGVucXVldWVFdmVudChldmVudE5hbWVzKCkud2Via2l0cG9pbnRlcmxvY2tlcnJvckV2ZW50
LCB0YXJnZXQpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0Nyb3NzVGhyZWFkQ29waWVyLmgKaW5kZXggM2Y4MWNhMC4uY2FmMjc5ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oCkBAIC02Niw4ICs2Niw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHR5cGVkZWYgVCBUeXBlOwogICAgICAg
ICB9OwogCi0gICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc0NvbnZlcnRpYmxl
VG9JbnRlZ2VyIHsKLSAgICAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gc3RkOjpp
c19pbnRlZ3JhbDxUPjo6dmFsdWUgfHwgc3RkOjppc19jb252ZXJ0aWJsZTxULCBsb25nIGRvdWJs
ZT46OnZhbHVlOworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSXNFbnVtT3JD
b252ZXJ0aWJsZVRvSW50ZWdlciB7CisgICAgICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1
ZSA9IHN0ZDo6aXNfaW50ZWdyYWw8VD46OnZhbHVlIHx8IHN0ZDo6aXNfZW51bTxUPjo6dmFsdWUg
fHwgc3RkOjppc19jb252ZXJ0aWJsZTxULCBsb25nIGRvdWJsZT46OnZhbHVlOwogICAgICAgICB9
OwogCiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc1RocmVhZFNhZmVSZWZD
b3VudGVkUG9pbnRlciB7CkBAIC04Myw3ICs4Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgfQogICAgIH07CiAKLSAgICB0ZW1wbGF0ZTxib29sIGlzQ29udmVydGlibGVUb0ludGVn
ZXIsIGJvb2wgaXNUaHJlYWRTYWZlUmVmQ291bnRlZCwgdHlwZW5hbWUgVD4gc3RydWN0IENyb3Nz
VGhyZWFkQ29waWVyQmFzZTsKKyAgICB0ZW1wbGF0ZTxib29sIGlzRW51bU9yQ29udmVydGlibGVU
b0ludGVnZXIsIGJvb2wgaXNUaHJlYWRTYWZlUmVmQ291bnRlZCwgdHlwZW5hbWUgVD4gc3RydWN0
IENyb3NzVGhyZWFkQ29waWVyQmFzZTsKIAogICAgIC8vIEludGVnZXJzIGdldCBwYXNzZWQgdGhy
b3VnaCB3aXRob3V0IGFueSBjaGFuZ2VzLgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBDcm9zc1RocmVhZENvcGllckJhc2U8dHJ1ZSwgZmFsc2UsIFQ+IDogcHVibGljIENyb3NzVGhy
ZWFkQ29waWVyUGFzc1Rocm91Z2g8VD4gewpAQCAtMTk5LDcgKzE5OSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICNlbmRpZgogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBzdHJ1Y3Qg
Q3Jvc3NUaHJlYWRDb3BpZXIgOiBwdWJsaWMgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPENyb3NzVGhy
ZWFkQ29waWVyQmFzZUhlbHBlcjo6SXNDb252ZXJ0aWJsZVRvSW50ZWdlcjxUPjo6dmFsdWUsIENy
b3NzVGhyZWFkQ29waWVyQmFzZUhlbHBlcjo6SXNUaHJlYWRTYWZlUmVmQ291bnRlZFBvaW50ZXI8
VD46OnZhbHVlLCBUPiB7CisgICAgc3RydWN0IENyb3NzVGhyZWFkQ29waWVyIDogcHVibGljIENy
b3NzVGhyZWFkQ29waWVyQmFzZTxDcm9zc1RocmVhZENvcGllckJhc2VIZWxwZXI6OklzRW51bU9y
Q29udmVydGlibGVUb0ludGVnZXI8VD46OnZhbHVlLCBDcm9zc1RocmVhZENvcGllckJhc2VIZWxw
ZXI6OklzVGhyZWFkU2FmZVJlZkNvdW50ZWRQb2ludGVyPFQ+Ojp2YWx1ZSwgVD4gewogICAgIH07
CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQWxsb3dDcm9zc1RocmVhZEFjY2Vz
c1dyYXBwZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9T
aGFwZUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZUluZm8u
Y3BwCmluZGV4IDc4ZGZmOTkuLmRmZGUyNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zaGFwZXMvU2hhcGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc2hhcGVzL1NoYXBlSW5mby5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgYm9vbCBjaGVja1NoYXBl
SW1hZ2VPcmlnaW4oRG9jdW1lbnQmIGRvY3VtZW50LCBDYWNoZWRJbWFnZSYgY2FjaGVkSW1hZ2Up
CiAKICAgICBjb25zdCBVUkwmIHVybCA9IGNhY2hlZEltYWdlLnVybCgpOwogICAgIFN0cmluZyB1
cmxTdHJpbmcgPSB1cmwuaXNOdWxsKCkgPyAiJyciIDogdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6
ZWRUb0xlbmd0aCgpOwotICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVS
TCAiICsgdXJsU3RyaW5nICsgIi4iKTsKKyAgICBkb2N1bWVudC5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIlVuc2FmZSBhdHRl
bXB0IHRvIGxvYWQgVVJMICIgKyB1cmxTdHJpbmcgKyAiLiIpOwogCiAgICAgcmV0dXJuIGZhbHNl
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9u
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAppbmRl
eCA2NTViMmExLi5hNjA1ZTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRF
eHRlbnNpb25zLmNwcApAQCAtMTMzLDE3ICsxMzMsMTcgQEAgdm9pZCBTVkdEb2N1bWVudEV4dGVu
c2lvbnM6OmRpc3BhdGNoU1ZHTG9hZEV2ZW50VG9PdXRlcm1vc3RTVkdFbGVtZW50cygpCiBzdGF0
aWMgdm9pZCByZXBvcnRNZXNzYWdlKERvY3VtZW50KiBkb2N1bWVudCwgTWVzc2FnZUxldmVsIGxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKGRvY3VtZW50LT5mcmFtZSgp
KQotICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNv
dXJjZSwgbGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6UmVuZGVyaW5nLCBsZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZXBvcnRXYXJuaW5nKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKIHsKLSAgICByZXBvcnRNZXNzYWdlKG1fZG9jdW1lbnQsIFdhcm5pbmdNZXNzYWdlTGV2ZWws
ICJXYXJuaW5nOiAiICsgbWVzc2FnZSk7CisgICAgcmVwb3J0TWVzc2FnZShtX2RvY3VtZW50LCBN
ZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJXYXJuaW5nOiAiICsgbWVzc2FnZSk7CiB9CiAKIHZvaWQg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZXBvcnRFcnJvcihjb25zdCBTdHJpbmcmIG1lc3NhZ2Up
CiB7Ci0gICAgcmVwb3J0TWVzc2FnZShtX2RvY3VtZW50LCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVy
cm9yOiAiICsgbWVzc2FnZSk7CisgICAgcmVwb3J0TWVzc2FnZShtX2RvY3VtZW50LCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCAiRXJyb3I6ICIgKyBtZXNzYWdlKTsKIH0KIAogdm9pZCBTVkdEb2N1bWVu
dEV4dGVuc2lvbnM6OmFkZFBlbmRpbmdSZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBF
bGVtZW50KiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDdk
OGVmYzUuLjZmNjJkNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTU3
LDcgKzU3LDYgQEAKICNpbmNsdWRlICJIaXN0b3J5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkhp
c3RvcnlJdGVtLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCi0jaW5jbHVkZSAiSW5z
cGVjdG9yQ29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRm9yd2Fy
ZGluZy5oIgpAQCAtNjUsOCArNjQsOCBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuaCIKICNpbmNsdWRlICJJbnN0cnVt
ZW50aW5nQWdlbnRzLmgiCi0jaW5jbHVkZSAiSW50ZXJuYWxTZXR0aW5ncy5oIgogI2luY2x1ZGUg
IkludFJlY3QuaCIKKyNpbmNsdWRlICJJbnRlcm5hbFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiTGFu
Z3VhZ2UuaCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJNYWxsb2NTdGF0aXN0
aWNzLmgiCkBAIC05NSw2ICs5NCw3IEBACiAjaW5jbHVkZSAiVHJlZVNjb3BlLmgiCiAjaW5jbHVk
ZSAiVHlwZUNvbnZlcnNpb25zLmgiCiAjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKKyNp
bmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNp
bmNsdWRlIDxieXRlY29kZS9Db2RlQmxvY2suaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yQWdlbnRCYXNlLmg+CkBAIC0xNDI3LDkgKzE0MjcsMTEgQEAgVmVjdG9yPFN0cmluZz4gSW50
ZXJuYWxzOjpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkgY29uc3QKICAgICBJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGF0aW9uRm9yUGFn
ZShkb2N1bWVudC0+cGFnZSgpKTsKICAgICBpZiAoIWluc3RydW1lbnRpbmdBZ2VudHMpCiAgICAg
ICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCog
Y29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50
KCk7CisKKyAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1l
bnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpOwogICAgIGlmICghY29uc29sZUFnZW50KQog
ICAgICAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKKwogICAgIFZlY3Rvcjx1bnNpZ25lZD4g
Y291bnRzID0gY29uc29sZUFnZW50LT5jb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCk7CiAg
ICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0KGNvdW50cy5zaXplKCkpOwogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgY291bnRzLnNpemUoKTsgaSsrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAppbmRleCBhNjRh
NGM5Li5kM2EzNjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcApAQCAtNDQsNyArNDQsNiBAQAogI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJhdGVnaWVzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5j
bHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkhhc2guaCIK
ICNpbmNsdWRlICJTaGFyZWRXb3JrZXIuaCIKQEAgLTU2LDYgKzU1LDcgQEAKICNpbmNsdWRlICJX
b3JrZXJSZXBvcnRpbmdQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5oIgog
I2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgPGluc3BlY3Rv
ci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggMTM4YmZhYy4uMjNm
MmZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9i
YWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9i
YWxTY29wZS5jcHAKQEAgLTM4LDkgKzM4LDkgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAj
aW5jbHVkZSAiTWVzc2FnZUV2ZW50LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgog
I2luY2x1ZGUgIlNoYXJlZFdvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3Jp
cHRDYWxsU3RhY2suaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC04MCwxMCArODAsMTAg
QEAgU2hhcmVkV29ya2VyVGhyZWFkKiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6dGhyZWFkKCkK
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U2hhcmVkV29ya2VyVGhyZWFkKj4oQmFzZTo6dGhyZWFk
KCkpOwogfQogCi12b2lkIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpsb2dFeGNlcHRpb25Ub0Nv
bnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
LCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNhbGxTdGFjaykKK3ZvaWQgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmxvZ0V4Y2Vw
dGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPElu
c3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCiB7CiAgICAgV29ya2VyR2xvYmFs
U2NvcGU6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGlu
ZU51bWJlciwgY29sdW1uTnVtYmVyLCBjYWxsU3RhY2spOwotICAgIGFkZE1lc3NhZ2VUb1dvcmtl
ckNvbnNvbGUoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNzYWdl
LCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2FsbFN0YWNrKTsKKyAgICBh
ZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6
OkVycm9yLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVy
LCBjYWxsU3RhY2spOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggY2U2ODcwMi4u
YzE0NzE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJH
bG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xv
YmFsU2NvcGUuaApAQCAtNjAsNyArNjAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBw
cml2YXRlOgogICAgICAgICBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBzdGQ6OnVuaXF1ZV9wdHI8
R3JvdXBTZXR0aW5ncz4sIFNoYXJlZFdvcmtlclRocmVhZCopOwotICAgICAgICB2aXJ0dWFsIHZv
aWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikgb3ZlcnJpZGU7CisgICAgICAgIHZpcnR1YWwgdm9p
ZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFz
c1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4pIG92ZXJyaWRlOwogCiAgICAgICAg
IFN0cmluZyBtX25hbWU7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5jcHAKaW5kZXggMjg4OTIzNi4uYWIxOTk4ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTIxLDEyICsyMSwxMSBAQAogICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KICAqCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCiAjaW5jbHVkZSAi
V29ya2VyR2xvYmFsU2NvcGUuaCIKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgpAQCAt
MzksMTMgKzM4LDEyIEBACiAjaW5jbHVkZSAiRXZlbnRFeGNlcHRpb24uaCIKICNpbmNsdWRlICJF
eGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlv
bi5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJTY2hlZHVsZWRBY3Rpb24uaCIKLSNpbmNs
dWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAj
aW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJX
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyTG9jYXRpb24uaCIK
ICNpbmNsdWRlICJXb3JrZXJOYXZpZ2F0b3IuaCIKQEAgLTU1LDEyICs1MywxNSBAQAogI2luY2x1
ZGUgIldvcmtlclRocmVhZGFibGVMb2FkZXIuaCIKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdEV4
Y2VwdGlvbi5oIgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+CisjaW5jbHVkZSA8
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAog
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgiCiAjZW5kaWYKIAordXNpbmcgbmFtZXNw
YWNlIEluc3BlY3RvcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDbG9zZVdvcmtl
ckdsb2JhbFNjb3BlVGFzayA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsK
QEAgLTI3NSw5ICsyNzYsOSBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjphZGRNZXNzYWdlVG9X
b3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTAogewogICAgIEFTU0VS
VChpc0NvbnRleHRUaHJlYWQoKSk7CiAgICAgaWYgKGNhbGxTdGFjaykKLSAgICAgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9n
TWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVy
KTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xl
KHRoaXMsIHNvdXJjZSwgTWVzc2FnZVR5cGU6OkxvZywgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFj
aywgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIGVsc2UKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9nTWVzc2FnZVR5
cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwg
c3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTWVzc2FnZVR5cGU6OkxvZywg
bGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0
ZSwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCiBib29sIFdvcmtlckdsb2JhbFNjb3BlOjppc0Nv
bnRleHRUaHJlYWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5oCmluZGV4IDU4MTk5NjUuLmU0ZTFiODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTEzOSw4ICsxMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4sIFdvcmtlclRocmVhZCos
IFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbik7CiAgICAgICAgIHZvaWQgYXBw
bHlDb250ZW50U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29udGVudFNl
Y3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUpOwogCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJv
ck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNv
bHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSBvdmVycmlkZTsKLSAgICAg
ICAgdm9pZCBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5z
aWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlw
dENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIgPSAwKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29s
ZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGlu
dCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2Ny
aXB0Q2FsbFN0YWNrPikgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgYWRkTWVzc2FnZVRvV29ya2Vy
Q29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVk
IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4sIEpT
Qzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsK
IAogICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZTY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQpAQCAtMTQ5LDcgKzE0OSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJp
ZGUgZmluYWwgeyByZWYoKTsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdl
dCgpIG92ZXJyaWRlIGZpbmFsIHsgZGVyZWYoKTsgfQogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBh
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWdu
ZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0
YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBvdmVycmlkZTsK
KyAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNp
Z25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25n
IHJlcXVlc3RJZGVudGlmaWVyID0gMCkgb3ZlcnJpZGU7CiAKICAgICAgICAgdmlydHVhbCBFdmVu
dFRhcmdldCogZXJyb3JFdmVudFRhcmdldCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IDMyNGNkODkuLjU3NWZm
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
Y3BwCkBAIC0yNiwxNCArMjYsMTMgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KICNp
bmNsdWRlICJXb3JrZXJNZXNzYWdpbmdQcm94eS5oIgogCiAjaW5jbHVkZSAiQ29udGVudFNlY3Vy
aXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiQ3Jvc3NUaHJlYWRUYXNrLmgiCisjaW5jbHVkZSAiRE9N
V2luZG93LmgiCiAjaW5jbHVkZSAiRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNs
dWRlICJEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaCIKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVycm9yRXZlbnQuaCIKICNpbmNsdWRlICJF
dmVudC5oIgpAQCAtNDMsMTIgKzQyLDEzIEBACiAjaW5jbHVkZSAiTWVzc2FnZUV2ZW50LmgiCiAj
aW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKLSNpbmNs
dWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCiAjaW5jbHVkZSAiV29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2VyRGVidWdnZXJBZ2VudC5o
IgogI2luY2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDxpbnNw
ZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckFnZW50
QmFzZS5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgKaW5kZXggNjFhNjYxMS4uMDAzZDBl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaApA
QCAtMzEsNyArMzEsNyBAQAogI2lmbmRlZiBXb3JrZXJSZXBvcnRpbmdQcm94eV9oCiAjZGVmaW5l
IFdvcmtlclJlcG9ydGluZ1Byb3h5X2gKIAotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgorI2lu
Y2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cAppbmRleCBjNGFjYmU3Li44MTY3NzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAKQEAgLTQzLDcgKzQzLDYgQEAKICNpbmNsdWRlICJQYXJzZWRDb250ZW50VHlwZS5oIgog
I2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIK
LSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCkBA
IC0xNjAsNyArMTU5LDcgQEAgc3RhdGljIHZvaWQgbG9nQ29uc29sZUVycm9yKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbWVzc2EKICAgICAgICAgcmV0dXJu
OwogICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBnb29kIHRvIHJlcG9ydCB0aGUgYmFkIHVzYWdlIHdp
dGhvdXQgaW5kaWNhdGluZyB3aGF0IHNvdXJjZSBsaW5lIGl0IGNhbWUgZnJvbS4KICAgICAvLyBX
ZSBzaG91bGQgcGFzcyBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgc28gd2UgY2FuIHRlbGwgdGhlIGNv
bnNvbGUgd2hlcmUgdGhlIG1pc3Rha2Ugb2NjdXJyZWQuCi0gICAgY29udGV4dC0+YWRkQ29uc29s
ZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7Cisg
ICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VM
ZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogfQogCiBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBY
TUxIdHRwUmVxdWVzdDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCkBA
IC03MTMsNyArNzEyLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2VuZChET01Gb3JtRGF0YSog
Ym9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEFycmF5
QnVmZmVyKiBib2R5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBTdHJpbmcgY29uc29sZU1l
c3NhZ2UoIkFycmF5QnVmZmVyIGlzIGRlcHJlY2F0ZWQgaW4gWE1MSHR0cFJlcXVlc3Quc2VuZCgp
LiBVc2UgQXJyYXlCdWZmZXJWaWV3IGluc3RlYWQuIik7Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdl
TGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcs
IGNvbnNvbGVNZXNzYWdlKTsKIAogICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1l
cmF0aW9uKCJXZWJDb3JlLlhIUi5zZW5kLkFycmF5QnVmZmVyT3JWaWV3IiwgWE1MSHR0cFJlcXVl
c3RTZW5kQXJyYXlCdWZmZXIsIFhNTEh0dHBSZXF1ZXN0U2VuZEFycmF5QnVmZmVyT3JWaWV3TWF4
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAKaW5kZXgg
ODA5MzExOC4uMWMwZDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9j
ZXNzb3JMaWJ4c2x0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3Nvckxp
YnhzbHQuY3BwCkBAIC04NiwyMCArODYsMjAgQEAgdm9pZCBYU0xUUHJvY2Vzc29yOjpwYXJzZUVy
cm9yRnVuYyh2b2lkKiB1c2VyRGF0YSwgeG1sRXJyb3IqIGVycm9yKQogICAgIE1lc3NhZ2VMZXZl
bCBsZXZlbDsKICAgICBzd2l0Y2ggKGVycm9yLT5sZXZlbCkgewogICAgIGNhc2UgWE1MX0VSUl9O
T05FOgotICAgICAgICBsZXZlbCA9IERlYnVnTWVzc2FnZUxldmVsOworICAgICAgICBsZXZlbCA9
IE1lc3NhZ2VMZXZlbDo6RGVidWc7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgWE1MX0VSUl9X
QVJOSU5HOgotICAgICAgICBsZXZlbCA9IFdhcm5pbmdNZXNzYWdlTGV2ZWw7CisgICAgICAgIGxl
dmVsID0gTWVzc2FnZUxldmVsOjpXYXJuaW5nOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFhN
TF9FUlJfRVJST1I6CiAgICAgY2FzZSBYTUxfRVJSX0ZBVEFMOgogICAgIGRlZmF1bHQ6Ci0gICAg
ICAgIGxldmVsID0gRXJyb3JNZXNzYWdlTGV2ZWw7CisgICAgICAgIGxldmVsID0gTWVzc2FnZUxl
dmVsOjpFcnJvcjsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgLy8geG1sRXJyb3ItPmlu
dDIgaXMgdGhlIGNvbHVtbiBudW1iZXIgb2YgdGhlIGVycm9yIG9yIDAgaWYgTi9BLgotICAgIGNv
bnNvbGUtPmFkZE1lc3NhZ2UoWE1MTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIGVycm9yLT5tZXNzYWdl
LCBlcnJvci0+ZmlsZSwgZXJyb3ItPmxpbmUsIGVycm9yLT5pbnQyKTsKKyAgICBjb25zb2xlLT5h
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlhNTCwgbGV2ZWwsIGVycm9yLT5tZXNzYWdlLCBlcnJv
ci0+ZmlsZSwgZXJyb3ItPmxpbmUsIGVycm9yLT5pbnQyKTsKIH0KIAogLy8gRklYTUU6IFRoZXJl
IHNlZW1zIHRvIGJlIG5vIHdheSB0byBjb250cm9sIHRoZSBjdHh0IHBvaW50ZXIgZm9yIGxvYWRp
bmcgaGVyZSwgdGh1cyB3ZSBoYXZlIGdsb2JhbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRl
eCBlMzBmM2EwLi4zNDhkZmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxNC0wMi0wMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0
IEluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyNzk0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9JbnNwZWN0b3JKU0JhY2tlbmRDb21tYW5kcy5qczoKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qczoKKyAgICAg
ICAgQ29uc29sZUFnZW50IG1vdmVkIHRvIEphdmFTY3JpcHQgc2VjdGlvbi4KKwogMjAxNC0wMS0z
MCAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgU2hvdyBw
cm9maWxlIGRhdGEgaW4gdGhlIGRpc2NyZXRlIFNjcmlwdHMgdGltZWxpbmUgdmlldy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvckpTQmFj
a2VuZENvbW1hbmRzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5z
cGVjdG9ySlNCYWNrZW5kQ29tbWFuZHMuanMKaW5kZXggMjM0YmQ2OS4uZjM4ZGZlZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9ySlNCYWNr
ZW5kQ29tbWFuZHMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
SW5zcGVjdG9ySlNCYWNrZW5kQ29tbWFuZHMuanMKQEAgLTYsNiArNiwyMSBAQAogLy8gZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KIAogCisvLyBDb25zb2xlLgorSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckNvbnNvbGVEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFp
bkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiQ29uc29sZSIpOworSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29sZU1lc3NhZ2VTb3VyY2UiLCB7WE1M
OiAieG1sIiwgSmF2YXNjcmlwdDogImphdmFzY3JpcHQiLCBOZXR3b3JrOiAibmV0d29yayIsIENv
bnNvbGVBUEk6ICJjb25zb2xlLWFwaSIsIFN0b3JhZ2U6ICJzdG9yYWdlIiwgQXBwY2FjaGU6ICJh
cHBjYWNoZSIsIFJlbmRlcmluZzogInJlbmRlcmluZyIsIENTUzogImNzcyIsIFNlY3VyaXR5OiAi
c2VjdXJpdHkiLCBPdGhlcjogIm90aGVyIn0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVu
dW0oIkNvbnNvbGUuQ29uc29sZU1lc3NhZ2VMZXZlbCIsIHtMb2c6ICJsb2ciLCBXYXJuaW5nOiAi
d2FybmluZyIsIEVycm9yOiAiZXJyb3IiLCBEZWJ1ZzogImRlYnVnIn0pOworSW5zcGVjdG9yQmFj
a2VuZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29sZU1lc3NhZ2VUeXBlIiwge0xvZzogImxv
ZyIsIERpcjogImRpciIsIERpclhNTDogImRpcnhtbCIsIFRhYmxlOiAidGFibGUiLCBUcmFjZTog
InRyYWNlIiwgQ2xlYXI6ICJjbGVhciIsIFN0YXJ0R3JvdXA6ICJzdGFydEdyb3VwIiwgU3RhcnRH
cm91cENvbGxhcHNlZDogInN0YXJ0R3JvdXBDb2xsYXBzZWQiLCBFbmRHcm91cDogImVuZEdyb3Vw
IiwgQXNzZXJ0OiAiYXNzZXJ0IiwgVGltaW5nOiAidGltaW5nIiwgUHJvZmlsZTogInByb2ZpbGUi
LCBQcm9maWxlRW5kOiAicHJvZmlsZUVuZCJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJF
dmVudCgiQ29uc29sZS5tZXNzYWdlQWRkZWQiLCBbIm1lc3NhZ2UiXSk7CitJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZVJlcGVhdENvdW50VXBkYXRlZCIsIFsi
Y291bnQiXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2Fn
ZXNDbGVhcmVkIiwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNv
bGUuZW5hYmxlIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJD
b25zb2xlLmRpc2FibGUiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1h
bmQoIkNvbnNvbGUuY2xlYXJNZXNzYWdlcyIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ29tbWFuZCgiQ29uc29sZS5zZXRNb25pdG9yaW5nWEhSRW5hYmxlZCIsIFt7Im5hbWUi
OiAiZW5hYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7
CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5hZGRJbnNwZWN0ZWRO
b2RlIiwgW3sibmFtZSI6ICJub2RlSWQiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBm
YWxzZX1dLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5h
ZGRJbnNwZWN0ZWRIZWFwT2JqZWN0IiwgW3sibmFtZSI6ICJoZWFwT2JqZWN0SWQiLCAidHlwZSI6
ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CisKIC8vIERlYnVnZ2VyLgogSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckRlYnVnZ2VyRGlzcGF0Y2hlciA9IEluc3BlY3RvckJhY2tl
bmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVjdG9yQmFja2VuZCwgIkRlYnVn
Z2VyIik7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiRGVidWdnZXIuQnJlYWtwb2lu
dEFjdGlvblR5cGUiLCB7TG9nOiAibG9nIiwgRXZhbHVhdGU6ICJldmFsdWF0ZSIsIFNvdW5kOiAi
c291bmQiLCBQcm9iZTogInByb2JlIn0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRz
LmpzCmluZGV4IDFiM2EzMTUuLjg2NDE2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29t
bWFuZHMuanMKQEAgLTYzLDIxICs2Myw2IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21t
YW5kKCJDYW52YXMucmVwbGF5VHJhY2VMb2ciLCBbeyJuYW1lIjogInRyYWNlTG9nSWQiCiBJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ2FudmFzLmdldFJlc291cmNlSW5mbyIsIFt7
Im5hbWUiOiAicmVzb3VyY2VJZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNl
fV0sIFsicmVzb3VyY2VJbmZvIl0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQo
IkNhbnZhcy5nZXRSZXNvdXJjZVN0YXRlIiwgW3sibmFtZSI6ICJ0cmFjZUxvZ0lkIiwgInR5cGUi
OiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAicmVzb3VyY2VJZCIsICJ0
eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsicmVzb3VyY2VTdGF0ZSJdKTsK
IAotLy8gQ29uc29sZS4KLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb25zb2xlRGlzcGF0Y2hl
ciA9IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVj
dG9yQmFja2VuZCwgIkNvbnNvbGUiKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJD
b25zb2xlLkNvbnNvbGVNZXNzYWdlU291cmNlIiwge1hNTDogInhtbCIsIEphdmFzY3JpcHQ6ICJq
YXZhc2NyaXB0IiwgTmV0d29yazogIm5ldHdvcmsiLCBDb25zb2xlQVBJOiAiY29uc29sZS1hcGki
LCBTdG9yYWdlOiAic3RvcmFnZSIsIEFwcGNhY2hlOiAiYXBwY2FjaGUiLCBSZW5kZXJpbmc6ICJy
ZW5kZXJpbmciLCBDU1M6ICJjc3MiLCBTZWN1cml0eTogInNlY3VyaXR5IiwgT3RoZXI6ICJvdGhl
ciJ9KTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDb25zb2xlLkNvbnNvbGVNZXNz
YWdlTGV2ZWwiLCB7TG9nOiAibG9nIiwgV2FybmluZzogIndhcm5pbmciLCBFcnJvcjogImVycm9y
IiwgRGVidWc6ICJkZWJ1ZyJ9KTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDb25z
b2xlLkNvbnNvbGVNZXNzYWdlVHlwZSIsIHtMb2c6ICJsb2ciLCBEaXI6ICJkaXIiLCBEaXJYTUw6
ICJkaXJ4bWwiLCBUYWJsZTogInRhYmxlIiwgVHJhY2U6ICJ0cmFjZSIsIENsZWFyOiAiY2xlYXIi
LCBTdGFydEdyb3VwOiAic3RhcnRHcm91cCIsIFN0YXJ0R3JvdXBDb2xsYXBzZWQ6ICJzdGFydEdy
b3VwQ29sbGFwc2VkIiwgRW5kR3JvdXA6ICJlbmRHcm91cCIsIEFzc2VydDogImFzc2VydCIsIFRp
bWluZzogInRpbWluZyIsIFByb2ZpbGU6ICJwcm9maWxlIiwgUHJvZmlsZUVuZDogInByb2ZpbGVF
bmQifSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZUFk
ZGVkIiwgWyJtZXNzYWdlIl0pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJDb25z
b2xlLm1lc3NhZ2VSZXBlYXRDb3VudFVwZGF0ZWQiLCBbImNvdW50Il0pOwotSW5zcGVjdG9yQmFj
a2VuZC5yZWdpc3RlckV2ZW50KCJDb25zb2xlLm1lc3NhZ2VzQ2xlYXJlZCIsIFtdKTsKLUluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmVuYWJsZSIsIFtdLCBbXSk7Ci1J
bnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5kaXNhYmxlIiwgW10sIFtd
KTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmNsZWFyTWVzc2Fn
ZXMiLCBbXSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUu
c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQiLCBbeyJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJi
b29sZWFuIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlckNvbW1hbmQoIkNvbnNvbGUuYWRkSW5zcGVjdGVkTm9kZSIsIFt7Im5hbWUiOiAibm9kZUlk
IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwotSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuYWRkSW5zcGVjdGVkSGVhcE9iamVjdCIs
IFt7Im5hbWUiOiAiaGVhcE9iamVjdElkIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjog
ZmFsc2V9XSwgW10pOwotCiAvLyBET00uCiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlz
cGF0Y2hlciA9IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQo
SW5zcGVjdG9yQmFja2VuZCwgIkRPTSIpOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50
KCJET00uZG9jdW1lbnRVcGRhdGVkIiwgW10pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IGJlZmNlYWQu
LjNkMTA4NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNC0wMi0wMyAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk0MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50Ojph
ZGRNZXNzYWdlVG9Db25zb2xlKToKKwogMjAxNC0wMS0zMSAgWmFuIERvYmVyc2VrICA8emRvYmVy
c2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4aW5nIHRoZSBHVEsgYnVp
bGQgYWZ0ZXIgcjE2MzIzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCmluZGV4IGY2MWY5ZGEuLmFlZTFiOWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNw
cApAQCAtMzYyLDcgKzM2Miw3IEBAIGJvb2wgQ2hyb21lQ2xpZW50OjpydW5CZWZvcmVVbmxvYWRD
b25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvCiAgICAgcmV0dXJu
IHJ1bkphdmFTY3JpcHRDb25maXJtKGZyYW1lLCBtZXNzYWdlKTsKIH0KIAotdm9pZCBDaHJvbWVD
bGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSBzb3VyY2Us
IFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2Us
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgV1RGOjpT
dHJpbmcmIHNvdXJjZUlkKQordm9pZCBDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUo
SW5zcGVjdG9yOjpNZXNzYWdlU291cmNlIHNvdXJjZSwgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWwg
bGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1
bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJZCkKIHsKICAg
ICBnYm9vbGVhbiByZXR2YWw7CiAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKG1fd2ViVmlldywg
ImNvbnNvbGUtbWVzc2FnZSIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSwgbGluZU51bWJlciwgc291
cmNlSWQudXRmOCgpLmRhdGEoKSwgJnJldHZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggOWU5YmRk
MC4uNTI2MDRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE0LTAyLTAz
ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQubW06CisgICAgICAgIChzdHJpbmdGb3JNZXNzYWdlU291cmNlKToKKyAgICAgICAg
KHN0cmluZ0Zvck1lc3NhZ2VMZXZlbCk6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmFkZE1l
c3NhZ2VUb0NvbnNvbGUpOgorCiAyMDE0LTAyLTAzICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxl
LmNvbT4KIAogICAgICAgICBGZWF0dXJlIGZsYWcgZm9yIHNoYXBlLWluc2lkZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAz
M2E3NDA0Li4yODZlZjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNywxMyArNywxMyBAQAogICogYXJlIG1ldDoKICAq
CiAgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAogICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgogICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJB
cHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAK
KyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
QEAgLTM1LDkgKzM1LDYgQEAKICNpbXBvcnQgPHd0Zi9QbGF0Zm9ybS5oPgogI2ltcG9ydCA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nocm9tZS5oPgotCi11c2luZyBX
ZWJDb3JlOjpNZXNzYWdlTGV2ZWw7Ci11c2luZyBXZWJDb3JlOjpNZXNzYWdlU291cmNlOwogI2Vu
ZGlmCiAKIEBjbGFzcyBXZWJWaWV3OwpAQCAtODIsNyArNzksNyBAQCBwdWJsaWM6CiAgICAgCiAg
ICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKSBvdmVycmlkZTsKICAgICAKLSAgICB2
aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBX
ZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25l
ZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBz
b3VyY2VVUkwpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xl
KEluc3BlY3Rvcjo6TWVzc2FnZVNvdXJjZSwgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWwsIGNvbnN0
IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1
bW5OdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VVUkwpIG92ZXJyaWRlOwogCiAgICAg
dmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpIG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpT
dHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggNzg3
MzkxNy4uNGYyMzE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtNywxMyArNywxMyBAQAogICogYXJlIG1ldDoKICAq
CiAgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAogICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgogICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJB
cHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAK
KyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
QEAgLTM3MCwyNSArMzcwLDI1IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRSZXNpemFibGUo
Ym9vbCBiKQogaW5saW5lIHN0YXRpYyBOU1N0cmluZyAqc3RyaW5nRm9yTWVzc2FnZVNvdXJjZShN
ZXNzYWdlU291cmNlIHNvdXJjZSkKIHsKICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgIGNhc2Ug
WE1MTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlhNTDoKICAgICAgICAg
cmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlWE1MTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIEpTTWVz
c2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkpTOgogICAgICAgICByZXR1cm4g
V2ViQ29uc29sZU1lc3NhZ2VKU01lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBOZXR3b3JrTWVzc2Fn
ZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcms6CiAgICAgICAgIHJldHVy
biBXZWJDb25zb2xlTWVzc2FnZU5ldHdvcmtNZXNzYWdlU291cmNlOwotICAgIGNhc2UgQ29uc29s
ZUFQSU1lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJOgog
ICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VDb25zb2xlQVBJTWVzc2FnZVNvdXJjZTsK
LSAgICBjYXNlIFN0b3JhZ2VNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6
U3RvcmFnZToKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlU3RvcmFnZU1lc3NhZ2VT
b3VyY2U7Ci0gICAgY2FzZSBBcHBDYWNoZU1lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdl
U291cmNlOjpBcHBDYWNoZToKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQXBwQ2Fj
aGVNZXNzYWdlU291cmNlOwotICAgIGNhc2UgUmVuZGVyaW5nTWVzc2FnZVNvdXJjZToKKyAgICBj
YXNlIE1lc3NhZ2VTb3VyY2U6OlJlbmRlcmluZzoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVN
ZXNzYWdlUmVuZGVyaW5nTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIENTU01lc3NhZ2VTb3VyY2U6
CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDU1M6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xl
TWVzc2FnZUNTU01lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBTZWN1cml0eU1lc3NhZ2VTb3VyY2U6
CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpTZWN1cml0eToKICAgICAgICAgcmV0dXJuIFdlYkNv
bnNvbGVNZXNzYWdlU2VjdXJpdHlNZXNzYWdlU291cmNlOwotICAgIGNhc2UgT3RoZXJNZXNzYWdl
U291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6T3RoZXI6CiAgICAgICAgIHJldHVybiBX
ZWJDb25zb2xlTWVzc2FnZU90aGVyTWVzc2FnZVNvdXJjZTsKICAgICB9CiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CkBAIC0zOTgsMjAgKzM5OCwyMCBAQCBpbmxpbmUgc3RhdGljIE5TU3RyaW5n
ICpzdHJpbmdGb3JNZXNzYWdlU291cmNlKE1lc3NhZ2VTb3VyY2Ugc291cmNlKQogaW5saW5lIHN0
YXRpYyBOU1N0cmluZyAqc3RyaW5nRm9yTWVzc2FnZUxldmVsKE1lc3NhZ2VMZXZlbCBsZXZlbCkK
IHsKICAgICBzd2l0Y2ggKGxldmVsKSB7Ci0gICAgY2FzZSBEZWJ1Z01lc3NhZ2VMZXZlbDoKKyAg
ICBjYXNlIE1lc3NhZ2VMZXZlbDo6RGVidWc6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVz
c2FnZURlYnVnTWVzc2FnZUxldmVsOwotICAgIGNhc2UgTG9nTWVzc2FnZUxldmVsOgorICAgIGNh
c2UgTWVzc2FnZUxldmVsOjpMb2c6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUxv
Z01lc3NhZ2VMZXZlbDsKLSAgICBjYXNlIFdhcm5pbmdNZXNzYWdlTGV2ZWw6CisgICAgY2FzZSBN
ZXNzYWdlTGV2ZWw6Oldhcm5pbmc6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVdh
cm5pbmdNZXNzYWdlTGV2ZWw7Ci0gICAgY2FzZSBFcnJvck1lc3NhZ2VMZXZlbDoKKyAgICBjYXNl
IE1lc3NhZ2VMZXZlbDo6RXJyb3I6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUVy
cm9yTWVzc2FnZUxldmVsOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBy
ZXR1cm4gQCIiOwogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29s
ZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIs
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5O
dW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewogI2lmICFQTEFURk9STShJT1MpCiAg
ICAgaWQgZGVsZWdhdGUgPSBbbV93ZWJWaWV3IFVJRGVsZWdhdGVdOwpAQCAtNDMyLDcgKzQzMiw3
IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2CiAgICAgICAgIHJlc3BvbmRzVG9OZXdTZWxlY3Rv
ciA9IFlFUzsKICAgICBlbHNlIHsKICAgICAgICAgLy8gVGhlIG9sZCBzZWxlY3RvciBvbmx5IHRh
a2VzIEpTTWVzc2FnZVNvdXJjZSBtZXNzYWdlcy4KLSAgICAgICAgaWYgKHNvdXJjZSAhPSBKU01l
c3NhZ2VTb3VyY2UpCisgICAgICAgIGlmIChzb3VyY2UgIT0gTWVzc2FnZVNvdXJjZTo6SlMpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHNlbGVjdG9yID0gQHNlbGVjdG9yKHdlYlZpZXc6
YWRkTWVzc2FnZVRvQ29uc29sZTopOwogICAgICAgICBpZiAoIVtkZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6c2VsZWN0b3JdKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDgxM2E5ZmIuLjAzZTJlNjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNC0wMi0wMyAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFk
ZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk0MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lmg6CisKIDIwMTQtMDItMDMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFRyeSB0byBmaXggdGhlIFdpbkNhaXJvIGJ1aWxkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA4YWRi
OTExLi5lNjVjZDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNzcsNyArNzcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwogCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3Nh
Z2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVs
LCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWdu
ZWQgY29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgdXJsKTsKKyAgICB2aXJ0dWFsIHZv
aWQgYWRkTWVzc2FnZVRvQ29uc29sZShJbnNwZWN0b3I6Ok1lc3NhZ2VTb3VyY2UsIEluc3BlY3Rv
cjo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGlu
ZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgdXJsKTsK
IAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKTsKICAg
ICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdURjo6U3Ry
aW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpGcmFtZSogZnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpp
bmRleCA4N2Q2NDRhLi44OGNjOTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQg
SW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oOgorCiAyMDE0LTAxLTMwICBB
bmRyZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIFJlbW92ZSB0aGUgQUND
RUxFUkFURURfQ09NUE9TSVRJTkcgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5j
ZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5j
ZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCmluZGV4IDFhYzkwNjIuLjc1OThk
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50V2luQ0UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFdpbkNFLmgKQEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCB2b2lkIHNldFJlc2l6YWJsZShib29sKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgdm9pZCBh
ZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3Nh
Z2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlEKSBvdmVy
cmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShJbnNwZWN0b3I6Ok1l
c3NhZ2VTb3VyY2UsIEluc3BlY3Rvcjo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYg
bWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25z
dCBXVEY6OlN0cmluZyYgc291cmNlSUQpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBib29sIGNh
blJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9v
bCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2Us
IFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTU0YWI0NC4uMDMyOGNi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIENv
bnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDE0LTAyLTAzICBCcmFkeSBFaWRzb24gIDxiZWlkc29u
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBhZnRlciBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNjMzNjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4
IGI3NTMxZDEuLjQ3Y2NmNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtOTAsNyArOTAsNyBA
QCBwcml2YXRlOgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgb3Zl
cnJpZGU7CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29y
ZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VJRCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VU
b0NvbnNvbGUoSW5zcGVjdG9yOjpNZXNzYWdlU291cmNlLCBJbnNwZWN0b3I6Ok1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBj
b2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpIG92ZXJyaWRlOwogICAgIAogICAg
IHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKSBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqKSBvdmVycmlkZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223360</attachid>
            <date>2014-02-06 12:00:51 -0800</date>
            <delta_ts>2014-02-06 13:24:59 -0800</delta_ts>
            <desc>[PATCH] For Bots 5</desc>
            <filename>for-bots-5.patch</filename>
            <type>text/plain</type>
            <size>386912</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0OTEzNTNiLi4yMjA1MzI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rv
ci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFtZU9wdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAg
IFVwZGF0ZSB3aXRoIGJldHRlciBsaW5lL2NvbHVtbiBudW1iZXJzIG5vdy4KKwogMjAxNC0wMi0w
NiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYSBj
b3B5L3Bhc3RlIG1pc3Rha2UgaW4gVGVzdEV4cGVjdGF0aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2xvYWRpbmctaWZyYW1lLWRvY3Vt
ZW50LW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L2xvYWRpbmctaWZyYW1lLWRvY3VtZW50LW5vZGUuaHRtbAppbmRleCBlNTg3MTgxLi44MWIxNmE0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9s
b2FkaW5nLWlmcmFtZS1kb2N1bWVudC1ub2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbG9hZGluZy1pZnJhbWUtZG9jdW1lbnQtbm9kZS5odG1s
CkBAIC03MCw3ICs3MCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgImluY2x1ZGVD
b21tYW5kTGluZUFQSSI6IGZhbHNlLAogICAgICAgICAgICAgImNvbnRleHRJZCI6IGV2ZW50LnBh
cmFtcy5jb250ZXh0LmlkLAogICAgICAgICAgICAgImRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRN
dXRlQ29uc29sZSI6IGZhbHNlLAotICAgICAgICAgICAgInJldHVybkJ5VmFsdWUiOiBmYWxzZSwg
CisgICAgICAgICAgICAicmV0dXJuQnlWYWx1ZSI6IGZhbHNlLAogICAgICAgICAgICAgImdlbmVy
YXRlUHJldmlldyI6IGZhbHNlCiAgICAgICAgIH0sIGNhbGxiYWNrKTsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwppbmRleCBiYjcz
NTk4Li4zMGJhYzQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcwpAQCAtMTMsMTcgKzEzLDE3IEBAIGNvbnNvbGUuZXJyb3IgPSBj
b25zb2xlT3V0cHV0SG9vay5iaW5kKEluc3BlY3RvclRlc3QsICJlcnJvciIpOwogY29uc29sZS5p
bmZvID0gY29uc29sZU91dHB1dEhvb2suYmluZChJbnNwZWN0b3JUZXN0LCAiaW5mbyIpOwogCiBJ
bnNwZWN0b3JUZXN0Lk91dHB1dCA9IHsgICAvLyBvdmVycmlkZSBpbiB3aW5kb3cuaW5pdGlhbGl6
ZV95b3VyTmFtZQotICAgIHRlc3RDb21wbGV0ZTogZnVuY3Rpb24oKSAKKyAgICB0ZXN0Q29tcGxl
dGU6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZGlk
RXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCgiICsgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3RD
YWxsSWQgKyAiLCBcIlwiKSIsICJ0ZXN0Iik7CiAgICAgfSwKIAotICAgIGFkZFJlc3VsdDogZnVu
Y3Rpb24odGV4dCkgCisgICAgYWRkUmVzdWx0OiBmdW5jdGlvbih0ZXh0KQogICAgIHsKICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgib3V0cHV0KHVuZXNjYXBlKCciICsgZXNj
YXBlKHRleHQpICsgIicpKSIpOwogICAgIH0sCiAgICAgCi0gICAgY2xlYXJSZXN1bHRzOiBmdW5j
dGlvbigpIAorICAgIGNsZWFyUmVzdWx0czogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY2xlYXJPdXRwdXQoKSIpOwogICAgIH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFtZU9w
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcGFnZS9k
ZW55LVgtRnJhbWVPcHRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDgzNTIyMjMuLmMxZjYxNjggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFt
ZU9wdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L3BhZ2UvZGVueS1YLUZyYW1lT3B0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIENP
TlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBkaXNwbGF5ICdkZW55LVgtRnJhbWVPcHRpb24uaHRt
bCcgaW4gYSBmcmFtZSBiZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0byAnZGVueScu
CiAKLWRlbnktWC1GcmFtZU9wdGlvbi5odG1sOjA6MAorZGVueS1YLUZyYW1lT3B0aW9uLmh0bWw6
MzA6MTcKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGFkZTlhNTkuLjA4
Yjk5ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIyNyw3ICsyMjcs
OSBAQCBzZXQoSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGhlYXAvV3JpdGVCYXJyaWVyQnVm
ZmVyLmNwcAogICAgIGhlYXAvV3JpdGVCYXJyaWVyU3VwcG9ydC5jcHAKIAorICAgIGluc3BlY3Rv
ci9Db25zb2xlTWVzc2FnZS5jcHAKICAgICBpbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGll
cy5jcHAKKyAgICBpbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcAogICAgIGluc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdC5jcHAKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNlLmNw
cAogICAgIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCkBAIC0yNDEsOCArMjQzLDEz
IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL0pTSmF2YVNjcmlw
dENhbGxGcmFtZS5jcHAKICAgICBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90
eXBlLmNwcAogICAgIGluc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAorICAgIGluc3Bl
Y3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCisgICAgaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5j
cHAKKyAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcAorICAgIGluc3BlY3Rvci9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmNwcAogICAgIGluc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5j
cHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcAorICAgIGluc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
clJ1bnRpbWVBZ2VudC5jcHAKIApAQCAtNzk2LDYgKzgwMyw3IEBAIEFERF9TT1VSQ0VfREVQRU5E
RU5DSUVTKCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9wYXJzZXIvTGV4ZXIuY3BwICR7REVS
SVZFRF9TCiBzZXQoSmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX1NDUklQVFNfRElSICIke0pBVkFT
Q1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL3NjcmlwdHMiKQogCiBzZXQoSmF2YVNjcmlwdENvcmVf
SU5TUEVDVE9SX0RPTUFJTlMKKyAgICBpbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCiAg
ICAgaW5zcGVjdG9yL3Byb3RvY29sL0RlYnVnZ2VyLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9j
b2wvR2VuZXJpY1R5cGVzLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9jb2wvSW5zcGVjdG9yRG9t
YWluLmpzb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDU1MjRmMTAuLmMwMmUyMjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE0LTAyLTAzICBKb3Nl
cGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFt
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogSmF2YVNjcmlwdENv
cmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAgICAqIEphdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIEFkZCBuZXcgZmlsZXMuCisK
KyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHA6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50
LmNwcC4KKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5o
OiBBZGRlZC4KKyAgICAgICAgTmV3IGFnZW50IG1vdmVkIGZyb20gV2ViQ29yZS4gUmVuYW1lIGEg
bWV0aG9kIHRvIHdvcmsgaW4gSlMgb25seSBjb250ZXh0LgorCisgICAgICAgICogaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChJbnNwZWN0
b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgSW5zdGFudGlhdGUgQ29uc29sZUFnZW50LgorCisg
ICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9z
dC5oLgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdl
bnQuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVk
U2NyaXB0SG9zdC5oLgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdENvbnNvbGVB
Z2VudDo6SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQpOgorICAgICAgICAoSW5zcGVjdG9yOjpK
U0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQpOgorICAg
ICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVk
Tm9kZSk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Ojph
ZGRJbnNwZWN0ZWRIZWFwT2JqZWN0KToKKyAgICAgICAgSlNHbG9iYWxPYmplY3QgaW1wbGVtZW50
YXRpb24uCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdn
ZXJBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1
Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3REZWJ1Z2dl
ckFnZW50OjpKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQpOgorICAgICAgICAoSW5zcGVjdG9y
OjpKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2cpOgorICAg
ICAgICBVc2UgQ29uc29sZUFnZW50IHRvIHJlcG9ydCBsb2dzLgorCisgICAgICAgICogaW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Db25zb2xlTWVzc2FnZS5jcHAuCisgICAgICAgICogaW5zcGVjdG9yL0NvbnNvbGVNZXNz
YWdlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3Nh
Z2UuaC4KKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaC4KKyAgICAgICAgKiBpbnNw
ZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwLgorICAgICAgICAqIGluc3BlY3Rvci9J
ZGVudGlmaWVyc0ZhY3RvcnkuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JZGVudGlmaWVyc0ZhY3RvcnkuaC4KKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0QXJndW1l
bnRzLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1
bWVudHMuY3BwLgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwLgorICAgICAgICAqIGluc3BlY3Rv
ci9TY3JpcHRDYWxsRnJhbWUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9TY3JpcHRDYWxsRnJhbWUuaC4KKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3Rh
Y2suY3BwLgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaC4KKyAgICAgICAg
KiBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHA6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oLgorICAgICAg
ICAqIGluc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb246IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uLgorICAgICAgICAqIGluc3Bl
Y3Rvci9zY3JpcHRzL2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5OgorCiAyMDE0
LTAyLTA2ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSAz
MmJpdCBwYXNzIHRoZSBjb3JyZWN0IHRoaXMgdmFsdWUgdG8gY3VzdG9tIGdldHRlcnMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTE1NmU5Ny4uNjAyNzQ2
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTgzLDYg
KzgzLDcgQEAgdWRpczg2X2l0YWIuaDogJChKYXZhU2NyaXB0Q29yZSkvZGlzYXNzZW1ibGVyL3Vk
aXM4Ni9pdGFiLnB5ICQoSmF2YVNjcmlwdENvcmUpL2QKICMgSW5zcGVjdG9yIGludGVyZmFjZXMK
IAogSU5TUEVDVE9SX0RPTUFJTlMgPSBcCisgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9y
L3Byb3RvY29sL0NvbnNvbGUuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9y
L3Byb3RvY29sL0RlYnVnZ2VyLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rv
ci9wcm90b2NvbC9HZW5lcmljVHlwZXMuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5z
cGVjdG9yL3Byb3RvY29sL0luc3BlY3RvckRvbWFpbi5qc29uIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9H
TlVtYWtlZmlsZS5hbQppbmRleCBmZTU0NDhkLi5jYzNiYzE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0dOVW1ha2VmaWxlLmFtCkBAIC0yMDIsNiArMjAyLDcgQEAgRVhUUkFfRElTVCArPSBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2ljdS9MSUNFTlNFIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aWN1L1JFQURNRSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdFNvdXJjZS5qcyBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2Nv
bC9Db25zb2xlLmpzb24gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9j
b2wvRGVidWdnZXIuanNvbiBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90
b2NvbC9HZW5lcmljVHlwZXMuanNvbiBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbiBcCkBAIC0yNDMsNiArMjQ0LDcgQEAgZW5k
aWYKICMgSW5zcGVjdG9yIEludGVyZmFjZXMKIAogSmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX0RP
TUFJTlMgOj0gXAorICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9Db25z
b2xlLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9EZWJ1
Z2dlci5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvR2Vu
ZXJpY1R5cGVzLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2Nv
bC9JbnNwZWN0b3JEb21haW4uanNvbiBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IGY1MWMwZmMuLjdkMDAzYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC02MzMsOCArNjMzLDEzIEBAIGphdmFzY3JpcHRjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dGZfb2xk
LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dHlwZXMuaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3V2ZXJzaW9uLmggXAorCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5oIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAgXAorCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmggXAogCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwIFwKIAlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNlLmNwcCBcCkBAIC02NjUsMTYgKzY3MCwy
NiBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaCBcCisJU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwIFwKKwlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEJyZWFrcG9pbnQuaCBcCisJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oIFwKKwlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgXAorCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5jcHAgXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaCBcCi0JU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwIFwKLQlT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckFnZW50LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckNvbnNvbGVBZ2VudC5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCBcCi0JU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmggXAor
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yUnVudGltZUFnZW50LmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9BYnN0cmFjdFBDLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0Fic3RyYWN0UEMuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0NhY2hlZENhbGwuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRl
eCBjMDUwNDgzLi5jMjhjMWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2oKQEAgLTQ3Niw3ICs0NzYsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caGVhcFxX
ZWFrU2V0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGhlYXBcV3JpdGVCYXJy
aWVyQnVmZmVyLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGhlYXBcV3JpdGVC
YXJyaWVyU3VwcG9ydC5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcQ29uc29sZU1lc3NhZ2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXElkZW50aWZpZXJzRmFjdG9yeS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHQuY3BwIiAvPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0QmFzZS5jcHAiIC8+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRIb3N0
LmNwcCIgLz4KQEAgLTQ5MCw4ICs0OTIsMTMgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSmF2YVNjcmlwdENhbGxG
cmFtZS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0
QXJndW1lbnRzLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxT
Y3JpcHRDYWxsRnJhbWUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXFNjcmlwdENhbGxTdGFjay5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JBZ2VudC5jcHAiIC8+
CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckNv
bnNvbGVBZ2VudC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
YWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW50ZXJwcmV0ZXJcQWJzdHJhY3RQQy5jcHAiIC8+
CkBAIC0xMDU0LDcgKzEwNjEsMTAgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGhlYXBc
V2Vha1NldElubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGhlYXBcV3Jp
dGVCYXJyaWVyQnVmZmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxoZWFwXFdy
aXRlQmFycmllclN1cHBvcnQuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxDb25zb2xlTWVzc2FnZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXENvbnNvbGVUeXBlcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0QmFzZS5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0SG9zdC5oIiAvPgpA
QCAtMTA3MiwxMCArMTA4MiwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEphdmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRBcmd1bWVudHMuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRCcmVha3BvaW50
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbEZy
YW1lLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2Fs
bFN0YWNrLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXFNjcmlwdERlYnVnTGlzdGVuZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxTY3JpcHREZWJ1Z1NlcnZlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JBZ2VudC5oIiAvPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9y
RGVidWdnZXJBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XGFnZW50c1xJbnNwZWN0b3JSdW50aW1lQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGludGVycHJldGVyXEFic3RyYWN0UEMuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggOWFlMTMyOC4uNDg2M2M1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTEwMTMsNiArMTAxMywyMyBAQAogCQlBNUNFRUUxNDE4N0YzQkFEMDBFNTVDOTkgLyog
SW5zcGVjdG9yQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVDRUVFMTIxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmNwcCAq
LzsgfTsKIAkJQTVDRUVFMTUxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUNFRUUxMzE4N0Yz
QkFEMDBFNTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNUQwQTFCQjE4NjIzMDFCMDBDN0I0OTYgLyogSW5z
cGVjdG9yRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1RDBBMUJBMTg2MjMwMUIwMEM3QjQ5NiAvKiBJbnNwZWN0b3JFbnZpcm9ubWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1
RkQwMDY3MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNjUxODlBRkU5QzAwNjMz
MjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi87IH07CisJCUE1RkQwMDY4MTg5QUZFOUMwMDYz
MzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1RkQwMDY2MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVu
dHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlB
NUZEMDA2RDE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDY5MTg5QjAwQTkwMDYz
MzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OworCQlBNUZEMDA2RTE4OUIwMEFBMDA2
MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2QTE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZy
YW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTVGRDAwNkYxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2QjE4OUIwMEE5MDA2
MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLzsgfTsKKwkJQTVGRDAwNzAxODlCMDBBQTAw
NjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNkMxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxT
dGFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE1RkQwMDc0MTg5QjAzOEMwMDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDcxMTg5QjAzOEMwMDYzMzIz
MSAvKiBDb25zb2xlVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlBNUZEMDA3NTE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0
b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
RkQwMDcyMTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovOyB9Owor
CQlBNUZEMDA3NjE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3MzE4OUIwMzhD
MDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNzkxODlCMDUxMDAwNjMzMjMxIC8qIENv
bnNvbGVNZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1RkQwMDc3MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi87
IH07CisJCUE1RkQwMDdBMTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNzgxODlCMDUx
MDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwN0QxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVGRDAwN0IxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuY3BwICovOyB9OworCQlBNUZEMDA3RTE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTVGRDAwN0MxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3Rvcnku
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUZE
MDA4MTE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDdGMTg5QjE5MUEw
MDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwICovOyB9OworCQlBNUZEMDA4MjE4
OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA4MDE4OUIxOTFBMDA2MzMyMzEg
LyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwODUxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFs
T2JqZWN0Q29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1RkQwMDgzMTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENv
bnNvbGVBZ2VudC5jcHAgKi87IH07CisJCUE1RkQwMDg2MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0ds
b2JhbE9iamVjdENvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTVGRDAwODQxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2JqZWN0
Q29uc29sZUFnZW50LmggKi87IH07CiAJCUE3MDA4NzM5MTdDQkU4NTMwMEMzRTY0MyAvKiBNYXBD
b25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNzAwODczNzE3Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuY3BwICovOyB9
OwogCQlBNzAwODczQTE3Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MDA4NzM4MTdDQkU4NTMw
MEMzRTY0MyAvKiBNYXBDb25zdHJ1Y3Rvci5oICovOyB9OwogCQlBNzAwODczRDE3Q0JFOEQzMDBD
M0U2NDMgLyogTWFwUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3MDA4NzNCMTdDQkU4RDMwMEMzRTY0MyAvKiBNYXBQcm90b3R5cGUu
Y3BwICovOyB9OwpAQCAtMjQ1OCw2ICsyNDc1LDIzIEBACiAJCUE1Q0VFRTEyMTg3RjNCQUQwMEU1
NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbnNwZWN0b3JBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE1Q0VFRTEzMTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNUQwQTFCQTE4NjIzMDFCMDBDN0I0OTYgLyogSW5zcGVjdG9yRW52aXJv
bm1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRW52aXJv
bm1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNjUxODlBRkU5QzAw
NjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTY3JpcHRBcmd1bWVudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNUZEMDA2NjE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEFyZ3VtZW50cy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA2OTE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdENh
bGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDZBMTg5QjAw
QTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2NyaXB0Q2FsbEZyYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE1RkQwMDZCMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbFN0YWNrLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNkMxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlw
dENhbGxTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRDYWxs
U3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzExODlCMDM4QzAw
NjMzMjMxIC8qIENvbnNvbGVUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDb25zb2xlVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzIx
ODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3MzE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmll
cnNGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElkZW50aWZpZXJz
RmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3NzE4OUIwNTEw
MDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ29uc29sZU1lc3NhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNUZEMDA3ODE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29uc29sZU1lc3NhZ2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwN0IxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwN0YxODlCMTkxQTAwNjMzMjMxIC8qIElu
c3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNUZEMDA4MDE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckNvbnNvbGVBZ2VudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA4MzE4OUIxQjdFMDA2MzMyMzEg
LyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA4NDE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxP
YmplY3RDb25zb2xlQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNH
bG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTcwMDg3MzcxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0cnVjdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hcENvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcwMDg3MzgxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0
cnVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hcENvbnN0cnVjdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MDA4NzNCMTdDQkU4RDMwMEMzRTY0
MyAvKiBNYXBQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTWFwUHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0ODYs
MTAgKzQ1MjAsMTQgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUE1Q0VFRTEyMTg3RjNCQUQwMEU1
NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5jcHAgKi8sCiAJCQkJQTVDRUVFMTMxODdGM0JBRDAwRTU1
Qzk5IC8qIEluc3BlY3RvckFnZW50LmggKi8sCisJCQkJQTVGRDAwN0YxODlCMTkxQTAwNjMzMjMx
IC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8sCisJCQkJQTVGRDAwODAxODlCMTkxQTAw
NjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oICovLAogCQkJCUE1N0QyM0UzMTg5MENF
QkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCAqLywKIAkJCQlBNTdEMjNF
NDE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oICovLAogCQkJCUE1
MEU0QjVEMTg4MDlERDUwMDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwICovLAog
CQkJCUE1MEU0QjVFMTg4MDlERDUwMDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuaCAq
LywKKwkJCQlBNUZEMDA4MzE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xl
QWdlbnQuY3BwICovLAorCQkJCUE1RkQwMDg0MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9i
amVjdENvbnNvbGVBZ2VudC5oICovLAogCQkJCUE1N0QyM0U3MTg5MUIwNzcwMDMxQzdGQSAvKiBK
U0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwICovLAogCQkJCUE1N0QyM0U4MTg5MUIwNzcw
MDMxQzdGQSAvKiBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaCAqLywKIAkJCQlBNTBFNEI1
RjE4ODA5REQ1MDA2OEE0NkQgLyogSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwICovLApA
QCAtNDUzMiwxMCArNDU3MCwxNSBAQAogCQkJCUE1MTNFNUNDMTg1RkI5OTIwMDdFOTVBRCAvKiBh
Z2VudHMgKi8sCiAJCQkJQTVCQTE1RTAxODIzNDA5RDAwQTgyRTY5IC8qIHJlbW90ZSAqLywKIAkJ
CQlBNTMyNDM4RTE4NTY5NkNFMDAyRUQ2OTIgLyogc2NyaXB0cyAqLywKKwkJCQlBNUZEMDA3NzE4
OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwICovLAorCQkJCUE1RkQwMDc4MTg5
QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oICovLAorCQkJCUE1RkQwMDcxMTg5QjAz
OEMwMDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCAqLywKIAkJCQlBNTdEMjNFRjE4OTFCNUI0MDAz
MUM3RkEgLyogQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAgKi8sCiAJCQkJQTU3RDIzRjAxODkx
QjVCNDAwMzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaCAqLywKIAkJCQlBNTQ5ODIw
MTE4OTFEMEIwMDA4MUU1QjggLyogRXZlbnRMb29wLmNwcCAqLywKIAkJCQlBNTQ5ODIwMjE4OTFE
MEIwMDA4MUU1QjggLyogRXZlbnRMb29wLmggKi8sCisJCQkJQTVGRDAwNzIxODlCMDM4QzAwNjMz
MjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgKi8sCisJCQkJQTVGRDAwNzMxODlCMDM4QzAw
NjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oICovLAogCQkJCUE1MTNFNUI1MTg1QjhCRDMw
MDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5jcHAgKi8sCiAJCQkJQTUxM0U1QjYxODVCOEJEMzAw
N0U5NUFEIC8qIEluamVjdGVkU2NyaXB0LmggKi8sCiAJCQkJQTUxNEIyQzAxODVBNjg0NDAwRjND
N0NCIC8qIEluamVjdGVkU2NyaXB0QmFzZS5jcHAgKi8sCkBAIC00NTcxLDcgKzQ2MTQsMTUgQEAK
IAkJCQlBNTAzRkExODE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJv
dG90eXBlLmggKi8sCiAJCQkJQTUwM0ZBMTMxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3JpcHRD
YWxsRnJhbWUuY3BwICovLAogCQkJCUE1MDNGQTE0MTg4RTBGQUYwMDExMEYxNCAvKiBKYXZhU2Ny
aXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJQTVGRDAwNjUxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlw
dEFyZ3VtZW50cy5jcHAgKi8sCisJCQkJQTVGRDAwNjYxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlw
dEFyZ3VtZW50cy5oICovLAogCQkJCUE1MDNGQTFGMTg4RUZGNjgwMDExMEYxNCAvKiBTY3JpcHRC
cmVha3BvaW50LmggKi8sCisJCQkJQTVGRDAwNjkxODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENh
bGxGcmFtZS5jcHAgKi8sCisJCQkJQTVGRDAwNkExODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENh
bGxGcmFtZS5oICovLAorCQkJCUE1RkQwMDZCMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxs
U3RhY2suY3BwICovLAorCQkJCUE1RkQwMDZDMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxs
U3RhY2suaCAqLywKKwkJCQlBNUZEMDA3QjE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0
YWNrRmFjdG9yeS5jcHAgKi8sCisJCQkJQTVGRDAwN0MxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuaCAqLywKIAkJCQlBNTAzRkEyMDE4OEVGRjY4MDAxMTBGMTQgLyog
U2NyaXB0RGVidWdMaXN0ZW5lci5oICovLAogCQkJCUE1MDNGQTIzMTg4RUZGRkQwMDExMEYxNCAv
KiBTY3JpcHREZWJ1Z1NlcnZlci5jcHAgKi8sCiAJCQkJQTUwM0ZBMjQxODhFRkZGRDAwMTEwRjE0
IC8qIFNjcmlwdERlYnVnU2VydmVyLmggKi8sCkBAIC00NzMwLDYgKzQ3ODEsNyBAQAogCQkJCTBG
NkIxQ0M2MTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExVbndpbmRJbmZvLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDMjIzOUQxODE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUMyMjM5RDE5MTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGluZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDdBMTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xl
TWVzc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzIxOEQxNDAxNjU1Q0ZENTAwNjJCQjgxIC8q
IENvcHlXb3JrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNURFNkU1QjMwRTE3MjhFQzAwMTgw
NDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0MjZBNEIxNDYw
Q0Q2RTAwMTMxRjhGIC8qIERhdGFGb3JtYXQuaCBpbiBIZWFkZXJzICovLApAQCAtNDc2Niw2ICs0
ODE4LDcgQEAKIAkJCQkwRkZCOTIxQTE2RDAyRUM1MDA1NUE1REIgLyogREZHQmFzaWNCbG9ja0lu
bGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3MEIwODMzMTdBMEI3OUIwMERBRjE0QiAvKiBE
RkdCaW5hcnlTd2l0Y2guaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDg5Q0Y0MTdBMEI4Q0MwMDc3
M0FEOCAvKiBERkdCbG9ja0luc2VydGlvblNldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVGRDAw
NkUxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY4MzY0QjcxNjRCMEMxMTAwNTMzMjlBIC8qIERGR0JyYW5jaERpcmVjdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTFBMDA5QzAxODMxQTIyRDAwQ0Y4NzExIC8qIE1hY3JvQXNzZW1ibGVy
QVJNNjQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2RUM5REM1MTMyOERGODIwMDJCMkFENyAvKiBE
RkdCeXRlQ29kZVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCkBAIC00NzgzLDYgKzQ4MzYsNyBAQAog
CQkJCUE1MDNGQTFFMTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90
b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMzhCMDFBMTdDRkU3NTUwMEIxNDREMyAvKiBE
RkdDb21waWxhdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGM0IzQTFCMTUzRTY4RjQw
MDNFRDBGRiAvKiBERkdDb25zdGFudEZvbGRpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTVGRDAwODIxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZCRTBGNzMxNkMxREIwNTAwODJDNUU4IC8qIERGR0NQU1JldGhyZWFk
aW5nUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDg5Q0Y2MTdBMEI4Q0MwMDc3M0FEOCAv
KiBERkdDcml0aWNhbEVkZ2VCcmVha2luZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkZG
Qzk1QTE0RUY5MEE5MDBDNzI1MzIgLyogREZHQ1NFUGhhc2UuaCBpbiBIZWFkZXJzICovLApAQCAt
NDgzMCw2ICs0ODg0LDcgQEAKIAkJCQkwRjJCREM0NTE1MjI4MDFCMDBDRDg5MTAgLyogREZHTWlu
aWZpZWRHcmFwaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyRTg5MkQxNkQwMkJBRjAwOUU0RkQy
IC8qIERGR01pbmlmaWVkSUQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkJEQzQ2MTUyMjgwMjAw
MENEODkxMCAvKiBERkdNaW5pZmllZE5vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDY4
MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE3Mzc4MTBFMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTg2RUNBM0VBMTMyREVGMUMwMDJCMkFENyAvKiBERkdOb2RlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkZCOTIxQjE2RDAyRjAxMDA1NUE1REIgLyogREZHTm9kZUFsbG9jYXRvci5o
IGluIEhlYWRlcnMgKi8sCkBAIC00ODc4LDYgKzQ5MzMsNyBAQAogCQkJCTBGMkJEQzQ4MTUyMjgw
MjkwMENEODkxMCAvKiBERkdWYWx1ZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY2MjAx
NzQxNDNGQ0QzMzAwNjhCNzdDIC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0YS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEZEREJGQjYxNjY2RUVEQTAwQzU1RkVGIC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0
YUR1bXAuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDc0MTg5QjAzOEMwMDYzMzIzMSAvKiBD
b25zb2xlVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkJEQzQ5MTUyMjgwOTYwMENEODkx
MCAvKiBERkdWYXJpYWJsZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCREM0QjE1MjI4
MDlEMDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVudFN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTUxNEIyQzMxODVBNjg0NDAwRjNDN0NCIC8qIEluamVjdGVkU2NyaXB0QmFzZS5oIGluIEhl
YWRlcnMgKi8sCkBAIC00OTI3LDYgKzQ5ODMsNyBAQAogCQkJCTBGRUEwQTI0MTcwOTYwNjkwMEJC
NzIyQyAvKiBGVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVB
MEEwRTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMSklUQ29kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTc4QTk3ODExNzk3MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTVGRDAwNzYxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1QTYyODQxODhDOThENDAwNzJDOURGIC8qIEZUTFZhbHVl
UmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYyQjk2MTcyRTA0QTMwMDdEQkRBNSAvKiBG
VExMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNFRkFFMDE4MDczOEMwMDA0NzJDRTQgLyog
RlRMTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtNTAyNSw2ICs1MDgyLDcgQEAKIAkJCQlB
N0E0QUUxMDE3OTczQjREMDA1NjEyQjEgLyogSklUU3R1YnNYODZDb21tb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNUVGOTFGMTY4NzhGN0QwMDNFNUMyNSAvKiBKSVRUaHVua3MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGQzcxMkUzMTdDRDg3OTMwMDhDQzkzQyAvKiBKSVRUb0RGR0RlZmVycmVk
Q29tcGlsYXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVGRDAwNzAxODlCMDBB
QTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc2RjU0
QTMxM0IyOEFBQjAwRUYyQkNFIC8qIEpJVFdyaXRlQmFycmllci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkMxOEM0MTYwRTE2RjVDRDAwQjM0NDYwIC8qIEpTQWN0aXZhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEY2QjFDQjkxODYxMjQ0QzAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tNb2RlLmggaW4g
SGVhZGVycyAqLywKQEAgLTUyMDEsNiArNTI1OSw3IEBACiAJCQkJQkMwMkU5MTEwRTE4MzlEQjAw
MEY5Mjk3IC8qIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
MDJFOTEzMEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvclByb3RvdHlwZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEZGQjkyMjAxNkQwMzNCNzAwNTVBNURCIC8qIE5vZGVDb25zdHJ1Y3RvcnMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDdFMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk3RUZGMDA2NDBFQzA1QTlBMDBB
QTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDNGMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKQEAgLTUzNTEsNiAr
NTQxMCw3IEBACiAJCQkJQTdBOEFGNDExN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQxNkFycmF5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4NjY3MzlEMzEzQkZERTcxMDAyM0Q4N0MgLyogVWludDE2V2l0
aEZyYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0E4QUY0MjE3QURCNUYzMDA1QUIxNzQg
LyogVWludDMyQXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDg2MTg5QjFCN0UwMDYz
MzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTdBOEFGM0YxN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQ4QXJyYXkuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE3QThBRjQwMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OENsYW1wZWRBcnJheS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEY1RjA4Q0YxNDZDNzYzMzAwMDQ3MkE5IC8qIFVuY29uZGl0aW9uYWxG
aW5hbGl6ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNTgyNCw2ICs1ODg0LDcgQEAKIAkJCQlBNzkw
REQ2RjE4MkY0OTk3MDA1ODg4MDcgLyogSlNTZXRJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjYzOTQ1NDE1RDA3MDU1MDA2QTU5N0MgLyogQXJyYXlQcm9maWxlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTE0N0YzOUMwMTA3RUMzNzYwMDQyN0E0OCAvKiBBcnJheVByb3RvdHlwZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA2RDE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0
Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjRFNTQwMTdFQTlGNTkwMEFCQjIx
NyAvKiBBc3NlbWJseUhlbHBlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ4MTZFMUIxNTRD
QzU2QzAwQjgwNTRDIC8qIEJsb2NrQWxsb2NhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0
MjgwODYzMTA3RUMxMUEwMDEzRTdCMiAvKiBCb29sZWFuQ29uc3RydWN0b3IuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC01OTc3LDYgKzYwMzgsNyBAQAogCQkJCTE0N0YzOUM4MTA3RUMzNzYwMDQyN0E0
OCAvKiBFcnJvckNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUM5MTA3
RUMzNzYwMDQyN0E0OCAvKiBFcnJvckluc3RhbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0
N0YzOUNBMTA3RUMzNzYwMDQyN0E0OCAvKiBFcnJvclByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBNUZEMDA2NzE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTE0MjlEODc4MEVEMjFBQ0QwMEI4OTYxOSAvKiBFeGNlcHRpb25I
ZWxwZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2Q0EwMzJFMTAzOEU4NDQwMDI4QTYwOSAv
KiBFeGVjdXRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3QjQ4RjQ5MEVFODkzNkYwMERD
QkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjAwNSw2
ICs2MDY3LDcgQEAKIAkJCQlBNzhBOTc4MDE3OTczOEQ1MDA5REY3NDQgLyogRlRMSklURmluYWxp
emVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOEYyQjk1MTcyRTA0QTAwMDdEQkRBNSAvKiBG
VExMaW5rLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3NERFRjk1MTgyRDk5MTQwMDUyMkMyMiAv
KiBKU01hcEl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQwMDgxMTg5QjE5MUEw
MDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEZDRUZBREYxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGRUEwQTBGMTcwNTEzREIwMEJCNzIyQyAvKiBGVExMb3dlckRGR1RvTExWTS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50
cnkuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC02MDk1LDcgKzYxNTgsOSBAQAogCQkJCTg2RTNDNjE2
MTY3QkFCRUUwMDZENzYwQSAvKiBKU0NvbnRleHQubW0gaW4gU291cmNlcyAqLywKIAkJCQkxNEJE
NUEzMDBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE3MjAyOEI2MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwNzUxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJz
RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNTlGODkzOTE4OTFGMjlGMDBENUNDREMg
LyogVW5saW5rZWRJbnN0cnVjdGlvblN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZE
MDA2RjE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGMkI2NkVCMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGMkI2NkVEMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJvdG90
eXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3ODgwMTQwMTQ3MUFEOTIwMDQxQjAxNiAvKiBK
U0RhdGVNYXRoLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjIwNCw2ICs2MjY5LDcgQEAKIAkJCQkx
NDhGMjFCQzEwN0VDNTREMDA0MkVDMkMgLyogUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjlGQzhDMzE0RTFCNUZFMDBENTJBRTAgLyogUG9seW1vcnBoaWNQdXRCeUlkTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA4NTE4OUIxQjdFMDA2MzMyMzEgLyogSlNH
bG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5ODIwNjAx
NkJGRTM4MTAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFyZ2V0cy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5NTc0MkY2NTBERDExRjVBMDAwOTE3RkIgLyogUHJvZmlsZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRkM5N0YzNTE4MjAyMEQ3MDAyQzlCMjYgLyogUHJvZmlsZWRDb2RlQmxvY2tKZXR0
aXNvbmluZ1dhdGNocG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC02MjUxLDYgKzYzMTcsNyBA
QAogCQkJCUMyMjU0OTQzMTVGN0RCQUEwMDY1RTg5OCAvKiBTbG90VmlzaXRvci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5MzMwNDAyQzBFNkE3NjQwMDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGOEYyQjlFMTczMDZDOEQwMDdEQkRBNSAvKiBTb3VyY2VD
b2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQwMDc5MTg5QjA1MTAwMDYzMzIzMSAvKiBD
b25zb2xlTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ5M0FGQTE2RDBDQUQzMDA4
NDUwOEIgLyogU291cmNlUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ5REMxNkIx
MkVGMjkzRTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEY2QjFDQzkxODY0MURGODAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1
bmtzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjI3Myw2ICs2MzQwLDcgQEAKIAkJCQlDMkRGNDQy
RjE3MDdBQzAxMDBBNUNBOTYgLyogU3VwZXJSZWdpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEY5MTlEMjgxNTg1Njc3MzAwNEE0RTdEIC8qIFN5bWJvbFRhYmxlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGQzMxNDEzMTgxNDU1OTEwMDAzMzIzMiAvKiBUZW1wUmVnaXN0ZXJTZXQuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwN0QxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZBMkMxN0IxN0Q3Q0Y4NDAwOUQw
MTVGIC8qIFRlc3RSdW5uZXJVdGlscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzM4NjU1NTEx
ODY5N0I0MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3JzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGMkI2NzA3MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5Q29udHJvbGxlci5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xl
TWVzc2FnZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNz
YWdlLmNwcApzaW1pbGFyaXR5IGluZGV4IDY5JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAppbmRleCBkM2I5M2FjLi5iM2E3NTJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IE1h
dHQgTGlsZWsgPHdlYmtpdEBtYXR0bGlsZWsuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDA5LCAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMzMsMjEgKzMzLDE3
IEBACiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCi0jaW5jbHVkZSAiQ29uc29sZS5oIgogI2lu
Y2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgorI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0Lmgi
CisjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9y
VmFsdWVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiU2NyaXB0
Q2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgotI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+
Ci0jaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg+Ci0jaW5jbHVkZSA8aW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oPgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0
b3JWYWx1ZXMuaD4KLSNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgIlNjcmlw
dFZhbHVlLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBDb25zb2xlTWVzc2FnZTo6Q29uc29sZU1l
c3NhZ2UoYm9vbCBjYW5HZW5lcmF0ZUNhbGxTdGFjaywgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogICAgIDogbV9zb3VyY2Uoc291cmNl
KQpAQCAtMTE2LDE1ICsxMTIsMTYgQEAgQ29uc29sZU1lc3NhZ2U6On5Db25zb2xlTWVzc2FnZSgp
CiB7CiB9CiAKLXZvaWQgQ29uc29sZU1lc3NhZ2U6OmF1dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wg
Y2FuR2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSkKKy8vIEZJWE1FOiBS
ZW1vdmUgdGhlIGdlbmVyYXRlIHdpdGhvdXQgRXhlY1N0YXRlIHBhdGguIFRoZSBjYWxsZXIgc2hv
dWxkIGFsd2F5cyBwcm92aWRlIGFuIEV4ZWNTdGF0ZS4KK3ZvaWQgQ29uc29sZU1lc3NhZ2U6OmF1
dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wgLypjYW5HZW5lcmF0ZUNhbGxTdGFjayovLCBKU0M6OkV4
ZWNTdGF0ZSogc3RhdGUpCiB7Ci0gICAgaWYgKG1fdHlwZSA9PSBFbmRHcm91cE1lc3NhZ2VUeXBl
KQorICAgIGlmIChtX3R5cGUgPT0gTWVzc2FnZVR5cGU6OkVuZEdyb3VwKQogICAgICAgICByZXR1
cm47CiAKICAgICBpZiAoc3RhdGUpCiAgICAgICAgIG1fY2FsbFN0YWNrID0gY3JlYXRlU2NyaXB0
Q2FsbFN0YWNrRm9yQ29uc29sZShzdGF0ZSk7Ci0gICAgZWxzZSBpZiAoY2FuR2VuZXJhdGVDYWxs
U3RhY2spCi0gICAgICAgIG1fY2FsbFN0YWNrID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKFNjcmlw
dENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7CisgICAgLy8gZWxz
ZSBpZiAoY2FuR2VuZXJhdGVDYWxsU3RhY2spCisgICAgLy8gICAgIG1fY2FsbFN0YWNrID0gY3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrKFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2Fw
dHVyZSwgdHJ1ZSk7CiAgICAgZWxzZQogICAgICAgICByZXR1cm47CiAKQEAgLTEzOSwyMCArMTM2
LDE5IEBAIHZvaWQgQ29uc29sZU1lc3NhZ2U6OmF1dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wgY2Fu
R2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhlY1N0CiAgICAgbV9jYWxsU3RhY2suY2xlYXIoKTsK
IH0KIAotLy8gS2VlcCBpbiBzeW5jIHdpdGggaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qcwogc3RhdGljIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpTb3VyY2U6OkVudW0gbWVzc2FnZVNvdXJjZVZhbHVlKE1lc3NhZ2VTb3VyY2Ugc291cmNl
KQogewogICAgIHN3aXRjaCAoc291cmNlKSB7Ci0gICAgY2FzZSBYTUxNZXNzYWdlU291cmNlOiBy
ZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNv
dXJjZTo6WE1MOwotICAgIGNhc2UgSlNNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6SmF2YXNjcmlwdDsK
LSAgICBjYXNlIE5ldHdvcmtNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVp
bGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6TmV0d29yazsKLSAgICBjYXNl
IENvbnNvbGVBUElNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6Q29uc29sZUFQSTsKLSAgICBjYXNlIFN0
b3JhZ2VNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29s
ZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U3RvcmFnZTsKLSAgICBjYXNlIEFwcENhY2hlTWVz
c2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNv
bGVNZXNzYWdlOjpTb3VyY2U6OkFwcGNhY2hlOwotICAgIGNhc2UgUmVuZGVyaW5nTWVzc2FnZVNv
dXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpTb3VyY2U6OlJlbmRlcmluZzsKLSAgICBjYXNlIENTU01lc3NhZ2VTb3VyY2U6IHJldHVy
biBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNl
OjpDU1M7Ci0gICAgY2FzZSBTZWN1cml0eU1lc3NhZ2VTb3VyY2U6IHJldHVybiBJbnNwZWN0b3I6
OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpTZWN1cml0eTsK
LSAgICBjYXNlIE90aGVyTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxk
ZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok90aGVyOworICAgIGNhc2UgTWVz
c2FnZVNvdXJjZTo6WE1MOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6WE1MOworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6SlM6
IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6
U291cmNlOjpKYXZhc2NyaXB0OworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6TmV0d29yazogcmV0
dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3Vy
Y2U6Ok5ldHdvcms7CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJOiByZXR1cm4g
SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6
Q29uc29sZUFQSTsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlN0b3JhZ2U6IHJldHVybiBJbnNw
ZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpTdG9y
YWdlOworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGU6IHJldHVybiBJbnNwZWN0b3I6
OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpBcHBjYWNoZTsK
KyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlJlbmRlcmluZzogcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlJlbmRlcmluZzsKKyAg
ICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkNTUzogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkNTUzsKKyAgICBjYXNlIE1lc3NhZ2VT
b3VyY2U6OlNlY3VyaXR5OiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U2VjdXJpdHk7CisgICAgY2FzZSBNZXNzYWdlU291cmNl
OjpPdGhlcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpTb3VyY2U6Ok90aGVyOwogICAgIH0KICAgICByZXR1cm4gSW5zcGVjdG9yOjpUeXBl
QnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6T3RoZXI7CiB9CkBAIC0x
NjAsMTkgKzE1NiwxOSBAQCBzdGF0aWMgSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6RW51bSBtZXNzYWdlU291cgogc3RhdGljIEluc3BlY3Rv
cjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpFbnVtIG1lc3Nh
Z2VUeXBlVmFsdWUoTWVzc2FnZVR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAg
ICBjYXNlIExvZ01lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29u
c29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkxvZzsKLSAgICBjYXNlIENsZWFyTWVzc2FnZVR5
cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2Fn
ZTo6VHlwZTo6Q2xlYXI7Ci0gICAgY2FzZSBEaXJNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rv
cjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpEaXI7Ci0gICAg
Y2FzZSBEaXJYTUxNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpEaXJYTUw7Ci0gICAgY2FzZSBUYWJsZU1lc3Nh
Z2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1l
c3NhZ2U6OlR5cGU6OlRhYmxlOwotICAgIGNhc2UgVHJhY2VNZXNzYWdlVHlwZTogcmV0dXJuIElu
c3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpUcmFj
ZTsKLSAgICBjYXNlIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpTdGFydEdyb3VwOwotICAg
IGNhc2UgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlN0YXJ0R3JvdXBDb2xs
YXBzZWQ7Ci0gICAgY2FzZSBFbmRHcm91cE1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkVuZEdyb3VwOwotICAg
IGNhc2UgQXNzZXJ0TWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6QXNzZXJ0OwotICAgIGNhc2UgVGltaW5nTWVz
c2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xl
TWVzc2FnZTo6VHlwZTo6VGltaW5nOwotICAgIGNhc2UgUHJvZmlsZU1lc3NhZ2VUeXBlOiByZXR1
cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6
OlByb2ZpbGU7Ci0gICAgY2FzZSBQcm9maWxlRW5kTWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6UHJvZmlsZUVu
ZDsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpMb2c6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWls
ZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6TG9nOworICAgIGNhc2UgTWVzc2Fn
ZVR5cGU6OkNsZWFyOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29u
c29sZU1lc3NhZ2U6OlR5cGU6OkNsZWFyOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkRpcjogcmV0
dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBl
OjpEaXI7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6RGlyWE1MOiByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkRpclhNTDsKKyAgICBj
YXNlIE1lc3NhZ2VUeXBlOjpUYWJsZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpUYWJsZTsKKyAgICBjYXNlIE1lc3NhZ2VUeXBl
OjpUcmFjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpUeXBlOjpUcmFjZTsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpTdGFydEdyb3VwOiBy
ZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5
cGU6OlN0YXJ0R3JvdXA7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6U3RhcnRHcm91cENvbGxhcHNl
ZDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdl
OjpUeXBlOjpTdGFydEdyb3VwQ29sbGFwc2VkOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkVuZEdy
b3VwOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlR5cGU6OkVuZEdyb3VwOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkFzc2VydDogcmV0dXJu
IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpB
c3NlcnQ7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6VGltaW5nOiByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlRpbWluZzsKKyAgICBj
YXNlIE1lc3NhZ2VUeXBlOjpQcm9maWxlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlByb2ZpbGU7CisgICAgY2FzZSBNZXNzYWdl
VHlwZTo6UHJvZmlsZUVuZDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpQcm9maWxlRW5kOwogICAgIH0KICAgICByZXR1cm4gSW5z
cGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkxvZzsK
IH0KQEAgLTE4MCwxMCArMTc2LDEwIEBAIHN0YXRpYyBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6RW51bSBtZXNzYWdlVHlwZVZhCiBzdGF0aWMg
SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpF
bnVtIG1lc3NhZ2VMZXZlbFZhbHVlKE1lc3NhZ2VMZXZlbCBsZXZlbCkKIHsKICAgICBzd2l0Y2gg
KGxldmVsKSB7Ci0gICAgY2FzZSBEZWJ1Z01lc3NhZ2VMZXZlbDogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6RGVidWc7Ci0gICAg
Y2FzZSBMb2dNZXNzYWdlTGV2ZWw6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25z
b2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkxvZzsKLSAgICBjYXNlIFdhcm5pbmdNZXNzYWdl
TGV2ZWw6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVz
c2FnZTo6TGV2ZWw6Oldhcm5pbmc7Ci0gICAgY2FzZSBFcnJvck1lc3NhZ2VMZXZlbDogcmV0dXJu
IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6
RXJyb3I7CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkxvZzogcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6TG9nOworICAgIGNhc2Ug
TWVzc2FnZUxldmVsOjpXYXJuaW5nOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29u
c29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpXYXJuaW5nOworICAgIGNhc2UgTWVzc2FnZUxl
dmVsOjpFcnJvcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNv
bGVNZXNzYWdlOjpMZXZlbDo6RXJyb3I7CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkRlYnVnOiBy
ZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6Okxl
dmVsOjpEZWJ1ZzsKICAgICB9CiAgICAgcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6TG9nOwogfQpAQCAtMTk0LDE5ICsxOTAsMjIg
QEAgdm9pZCBDb25zb2xlTWVzc2FnZTo6YWRkVG9Gcm9udGVuZChJbnNwZWN0b3JDb25zb2xlRnJv
bnRlbmREaXNwYXRjaGVyKiBjb25zb2xlRnIKICAgICAgICAgLnNldFNvdXJjZShtZXNzYWdlU291
cmNlVmFsdWUobV9zb3VyY2UpKQogICAgICAgICAuc2V0TGV2ZWwobWVzc2FnZUxldmVsVmFsdWUo
bV9sZXZlbCkpCiAgICAgICAgIC5zZXRUZXh0KG1fbWVzc2FnZSk7CisKICAgICAvLyBGSVhNRTog
b25seSBzZW5kIG91dCB0eXBlIGZvciBDb25zb2xlQVBJIHNvdXJjZSBtZXNzYWdlcy4KICAgICBq
c29uT2JqLT5zZXRUeXBlKG1lc3NhZ2VUeXBlVmFsdWUobV90eXBlKSk7CiAgICAganNvbk9iai0+
c2V0TGluZShzdGF0aWNfY2FzdDxpbnQ+KG1fbGluZSkpOwogICAgIGpzb25PYmotPnNldENvbHVt
bihzdGF0aWNfY2FzdDxpbnQ+KG1fY29sdW1uKSk7CiAgICAganNvbk9iai0+c2V0VXJsKG1fdXJs
KTsKICAgICBqc29uT2JqLT5zZXRSZXBlYXRDb3VudChzdGF0aWNfY2FzdDxpbnQ+KG1fcmVwZWF0
Q291bnQpKTsKLSAgICBpZiAobV9zb3VyY2UgPT0gTmV0d29ya01lc3NhZ2VTb3VyY2UgJiYgIW1f
cmVxdWVzdElkLmlzRW1wdHkoKSkKKworICAgIGlmIChtX3NvdXJjZSA9PSBNZXNzYWdlU291cmNl
OjpOZXR3b3JrICYmICFtX3JlcXVlc3RJZC5pc0VtcHR5KCkpCiAgICAgICAgIGpzb25PYmotPnNl
dE5ldHdvcmtSZXF1ZXN0SWQobV9yZXF1ZXN0SWQpOworCiAgICAgaWYgKG1fYXJndW1lbnRzICYm
IG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCkpIHsKICAgICAgICAgSW5qZWN0ZWRTY3JpcHQg
aW5qZWN0ZWRTY3JpcHQgPSBpbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0Rm9y
KG1fYXJndW1lbnRzLT5nbG9iYWxTdGF0ZSgpKTsKICAgICAgICAgaWYgKCFpbmplY3RlZFNjcmlw
dC5oYXNOb1ZhbHVlKCkpIHsKICAgICAgICAgICAgIFJlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWls
ZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+
PiBqc29uQXJncyA9IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD46OmNyZWF0ZSgpOwotICAgICAgICAgICAg
aWYgKG1fdHlwZSA9PSBUYWJsZU1lc3NhZ2VUeXBlICYmIGdlbmVyYXRlUHJldmlldyAmJiBtX2Fy
Z3VtZW50cy0+YXJndW1lbnRDb3VudCgpKSB7CisgICAgICAgICAgICBpZiAobV90eXBlID09IE1l
c3NhZ2VUeXBlOjpUYWJsZSAmJiBnZW5lcmF0ZVByZXZpZXcgJiYgbV9hcmd1bWVudHMtPmFyZ3Vt
ZW50Q291bnQoKSkgewogICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlIHRh
YmxlID0gbV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoMCk7CiAgICAgICAgICAgICAgICAgRGVwcmVj
YXRlZDo6U2NyaXB0VmFsdWUgY29sdW1ucyA9IG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCkg
PiAxID8gbV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoMSkgOiBEZXByZWNhdGVkOjpTY3JpcHRWYWx1
ZSgpOwogICAgICAgICAgICAgICAgIFJlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpSdW50
aW1lOjpSZW1vdGVPYmplY3Q+IGluc3BlY3RvclZhbHVlID0gaW5qZWN0ZWRTY3JpcHQud3JhcFRh
YmxlKHRhYmxlLCBjb2x1bW5zKTsKQEAgLTIyOCw4ICsyMjcsMTAgQEAgdm9pZCBDb25zb2xlTWVz
c2FnZTo6YWRkVG9Gcm9udGVuZChJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKiBj
b25zb2xlRnIKICAgICAgICAgICAgIGpzb25PYmotPnNldFBhcmFtZXRlcnMoanNvbkFyZ3MpOwog
ICAgICAgICB9CiAgICAgfQorCiAgICAgaWYgKG1fY2FsbFN0YWNrKQogICAgICAgICBqc29uT2Jq
LT5zZXRTdGFja1RyYWNlKG1fY2FsbFN0YWNrLT5idWlsZEluc3BlY3RvckFycmF5KCkpOworCiAg
ICAgY29uc29sZUZyb250ZW5kRGlzcGF0Y2hlci0+bWVzc2FnZUFkZGVkKGpzb25PYmopOwogfQog
CkBAIC0yNDMsNiArMjQ0LDcgQEAgYm9vbCBDb25zb2xlTWVzc2FnZTo6aXNFcXVhbChDb25zb2xl
TWVzc2FnZSogbXNnKSBjb25zdAogICAgIGlmIChtX2FyZ3VtZW50cykgewogICAgICAgICBpZiAo
IW1fYXJndW1lbnRzLT5pc0VxdWFsKG1zZy0+bV9hcmd1bWVudHMuZ2V0KCkpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIC8vIE5ldmVyIHRyZWF0IG9iamVjdHMgYXMgZXF1
YWwgLSB0aGVpciBwcm9wZXJ0aWVzIG1pZ2h0IGNoYW5nZSBvdmVyIHRpbWUuCiAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9hcmd1bWVudHMtPmFyZ3VtZW50Q291bnQoKTsgKytpKSB7
CiAgICAgICAgICAgICBpZiAobV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoaSkuaXNPYmplY3QoKSkK
QEAgLTI2NywyNCArMjY5LDMxIEBAIGJvb2wgQ29uc29sZU1lc3NhZ2U6OmlzRXF1YWwoQ29uc29s
ZU1lc3NhZ2UqIG1zZykgY29uc3QKICAgICAgICAgJiYgbXNnLT5tX3JlcXVlc3RJZCA9PSBtX3Jl
cXVlc3RJZDsKIH0KIAotdm9pZCBDb25zb2xlTWVzc2FnZTo6d2luZG93Q2xlYXJlZChET01XaW5k
b3cqIHdpbmRvdykKK3ZvaWQgQ29uc29sZU1lc3NhZ2U6OmNsZWFyKCkKIHsKLSAgICBpZiAoIW1f
YXJndW1lbnRzKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKGRvbVdpbmRvd0Zyb21FeGVjU3Rh
dGUobV9hcmd1bWVudHMtPmdsb2JhbFN0YXRlKCkpICE9IHdpbmRvdykKLSAgICAgICAgcmV0dXJu
OwogICAgIGlmICghbV9tZXNzYWdlKQotICAgICAgICBtX21lc3NhZ2UgPSAiPG1lc3NhZ2UgY29s
bGVjdGVkPiI7Ci0gICAgbV9hcmd1bWVudHMuY2xlYXIoKTsKKyAgICAgICAgbV9tZXNzYWdlID0g
QVNDSUlMaXRlcmFsKCI8bWVzc2FnZSBjb2xsZWN0ZWQ+Iik7CisKKyAgICBpZiAobV9hcmd1bWVu
dHMpCisgICAgICAgIG1fYXJndW1lbnRzLmNsZWFyKCk7Cit9CisKK0pTQzo6RXhlY1N0YXRlKiBD
b25zb2xlTWVzc2FnZTo6c2NyaXB0U3RhdGUoKSBjb25zdAoreworICAgIGlmIChtX2FyZ3VtZW50
cykKKyAgICAgICAgcmV0dXJuIG1fYXJndW1lbnRzLT5nbG9iYWxTdGF0ZSgpOworCisgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKLXVuc2lnbmVkIENvbnNvbGVNZXNzYWdlOjphcmd1bWVudENvdW50
KCkKK3Vuc2lnbmVkIENvbnNvbGVNZXNzYWdlOjphcmd1bWVudENvdW50KCkgY29uc3QKIHsKICAg
ICBpZiAobV9hcmd1bWVudHMpCiAgICAgICAgIHJldHVybiBtX2FyZ3VtZW50cy0+YXJndW1lbnRD
b3VudCgpOworCiAgICAgcmV0dXJuIDA7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCnNpbWlsYXJpdHkg
aW5kZXggODQlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVz
c2FnZS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVN
ZXNzYWdlLmgKaW5kZXggMWExZWFhMS4uNDk4ZWIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0zMSwyNyArMzEsMjUgQEAKICNpZm5kZWYg
Q29uc29sZU1lc3NhZ2VfaAogI2RlZmluZSBDb25zb2xlTWVzc2FnZV9oCiAKLSNpbmNsdWRlICJD
b25zb2xlQVBJVHlwZXMuaCIKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAjaW5jbHVkZSAiQ29u
c29sZVR5cGVzLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVycy5o
IgotI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySlNGcm9udGVu
ZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworY2xhc3MgRXhlY1N0YXRlOworfQogCiBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKKwogY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwotY2xhc3Mg
SW5zcGVjdG9yT2JqZWN0OwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERPTVdp
bmRvdzsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKLWNsYXNzIFNjcmlwdENhbGxGcmFtZTsKIGNs
YXNzIFNjcmlwdENhbGxTdGFjazsKIAotY2xhc3MgQ29uc29sZU1lc3NhZ2UgewotICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBDb25zb2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ss
IE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogICAgIENvbnNv
bGVNZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiB1cmwsIHVuc2lnbmVkIGxpbmUsIHVuc2lnbmVkIGNvbHVtbiwgSlNDOjpFeGVjU3RhdGUqID0g
bnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwpAQCAtNTksMTgg
KzU3LDIxIEBAIHB1YmxpYzoKICAgICBDb25zb2xlTWVzc2FnZShib29sIGNhbkdlbmVyYXRlQ2Fs
bFN0YWNrLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgSlNDOjpFeGVjU3Rh
dGUqLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAgICAgfkNvbnNvbGVN
ZXNzYWdlKCk7CiAKLSAgICB2b2lkIGFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JD
b25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKiwgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqLCBib29sIGdlbmVyYXRlUHJldmlldyk7Ci0gICAgdm9pZCB1cGRhdGVSZXBlYXRDb3VudElu
Q29uc29sZShJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXIqKTsK
LSAgICB2b2lkIGluY3JlbWVudENvdW50KCkgeyArK21fcmVwZWF0Q291bnQ7IH0KLSAgICBib29s
IGlzRXF1YWwoQ29uc29sZU1lc3NhZ2UqIG1zZykgY29uc3Q7CisgICAgdm9pZCBhZGRUb0Zyb250
ZW5kKEluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXIqLCBJbmplY3RlZFNjcmlwdE1h
bmFnZXIqLCBib29sIGdlbmVyYXRlUHJldmlldyk7CisgICAgdm9pZCB1cGRhdGVSZXBlYXRDb3Vu
dEluQ29uc29sZShJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKik7CiAKICAgICBN
ZXNzYWdlU291cmNlIHNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlOyB9CiAgICAgY29u
c3QgU3RyaW5nJiBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9CiAgICAgTWVz
c2FnZVR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAgIEpTQzo6RXhlY1N0
YXRlKiBzY3JpcHRTdGF0ZSgpIGNvbnN0OwogCi0gICAgdm9pZCB3aW5kb3dDbGVhcmVkKERPTVdp
bmRvdyopOworICAgIHZvaWQgaW5jcmVtZW50Q291bnQoKSB7ICsrbV9yZXBlYXRDb3VudDsgfQog
Ci0gICAgdW5zaWduZWQgYXJndW1lbnRDb3VudCgpOworICAgIHVuc2lnbmVkIGFyZ3VtZW50Q291
bnQoKSBjb25zdDsKKworICAgIGJvb2wgaXNFcXVhbChDb25zb2xlTWVzc2FnZSogbXNnKSBjb25z
dDsKKworICAgIHZvaWQgY2xlYXIoKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIGF1dG9nZW5lcmF0
ZU1ldGFkYXRhKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhlY1N0YXRlKiA9IG51
bGxwdHIpOwpAQCAtODgsNiArODksOCBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3JlcXVlc3RJ
ZDsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3Rv
cgogCiAjZW5kaWYgLy8gQ29uc29sZU1lc3NhZ2VfaAorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BF
Q1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlw
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKc2lt
aWxhcml0eSBpbmRleCA2NCUKY29weSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25z
b2xlQVBJVHlwZXMuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29u
c29sZVR5cGVzLmgKaW5kZXggMTFmNjVlYy4uMWM5NDA5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dApAQCAtMjIsMjcgKzIzLDUyIEBACiAgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIENvbnNv
bGVBUElUeXBlc19oCi0jZGVmaW5lIENvbnNvbGVBUElUeXBlc19oCisjaWZuZGVmIENvbnNvbGVU
eXBlc19oCisjZGVmaW5lIENvbnNvbGVUeXBlc19oCiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25h
bWVzcGFjZSBJbnNwZWN0b3IgewogCi1lbnVtIE1lc3NhZ2VUeXBlIHsKLSAgICBMb2dNZXNzYWdl
VHlwZSwKLSAgICBEaXJNZXNzYWdlVHlwZSwKLSAgICBEaXJYTUxNZXNzYWdlVHlwZSwKLSAgICBU
YWJsZU1lc3NhZ2VUeXBlLAotICAgIFRyYWNlTWVzc2FnZVR5cGUsCi0gICAgU3RhcnRHcm91cE1l
c3NhZ2VUeXBlLAotICAgIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSwKLSAgICBFbmRH
cm91cE1lc3NhZ2VUeXBlLAotICAgIENsZWFyTWVzc2FnZVR5cGUsCi0gICAgQXNzZXJ0TWVzc2Fn
ZVR5cGUsCi0gICAgVGltaW5nTWVzc2FnZVR5cGUsCi0gICAgUHJvZmlsZU1lc3NhZ2VUeXBlLAot
ICAgIFByb2ZpbGVFbmRNZXNzYWdlVHlwZQorZW51bSBjbGFzcyBNZXNzYWdlU291cmNlIHsKKyAg
ICBYTUwsCisgICAgSlMsCisgICAgTmV0d29yaywKKyAgICBDb25zb2xlQVBJLAorICAgIFN0b3Jh
Z2UsCisgICAgQXBwQ2FjaGUsCisgICAgUmVuZGVyaW5nLAorICAgIENTUywKKyAgICBTZWN1cml0
eSwKKyAgICBPdGhlciwKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK2VudW0gY2xhc3Mg
TWVzc2FnZVR5cGUgeworICAgIExvZywKKyAgICBEaXIsCisgICAgRGlyWE1MLAorICAgIFRhYmxl
LAorICAgIFRyYWNlLAorICAgIFN0YXJ0R3JvdXAsCisgICAgU3RhcnRHcm91cENvbGxhcHNlZCwK
KyAgICBFbmRHcm91cCwKKyAgICBDbGVhciwKKyAgICBBc3NlcnQsCisgICAgVGltaW5nLAorICAg
IFByb2ZpbGUsCisgICAgUHJvZmlsZUVuZCwKK307CisKK2VudW0gY2xhc3MgTWVzc2FnZUxldmVs
IHsKKyAgICBMb2cgPSAxLAorICAgIFdhcm5pbmcgPSAyLAorICAgIEVycm9yID0gMywKKyAgICBE
ZWJ1ZyA9IDQsCit9OworCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKKworLy8gVGhlc2Ugd2ls
bCBsaWtlbHkgbW92ZSBvdXQgb2YgdGhlIGluc3BlY3RvciBuYW1lc3BhY2UuCit1c2luZyBJbnNw
ZWN0b3I6Ok1lc3NhZ2VTb3VyY2U7Cit1c2luZyBJbnNwZWN0b3I6Ok1lc3NhZ2VUeXBlOwordXNp
bmcgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWw7CiAKLSNlbmRpZiAvLyBDb25zb2xlQVBJVHlwZXNf
aAorI2VuZGlmIC8vIENvbnNvbGVUeXBlc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcApzaW1pbGFyaXR5IGluZGV4IDkzJQpyZW5h
bWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcApy
ZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3Rv
cnkuY3BwCmluZGV4IGRjZTJhMjguLjRmYmIzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcApAQCAtMSw0ICsxLDUgQEAKIC8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dApAQCAtMjQsMjkgKzI1LDI1IEBACiAgKi8KIAogI2luY2x1ZGUgImNv
bmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIklkZW50aWZpZXJz
RmFjdG9yeS5oIgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0J1aWxkZXIuaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CiAKIG5hbWVzcGFjZSB7CiBzdGF0aWMgbG9uZyBzX2xhc3RVc2VkSWRlbnRpZmllciA9
IDA7CiB9CiAKLS8vIHN0YXRpYwotbG9uZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnNfcHJvY2Vzc0lk
OworbG9uZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnNfcHJvY2Vzc0lkID0gMDsKIAotLy8gc3RhdGlj
CiBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCkKIHsKICAgICBy
ZXR1cm4gYWRkUHJvY2Vzc0lkUHJlZml4VG8oU3RyaW5nOjpudW1iZXIoKytzX2xhc3RVc2VkSWRl
bnRpZmllcikpOwogfQogCi0vLyBzdGF0aWMKIFN0cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJl
cXVlc3RJZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7CiAgICAgaWYgKGlkZW50aWZpZXIp
CkBAIC01NCw3ICs1MSw2IEBAIFN0cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZCh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi0vLyBz
dGF0aWMKIFN0cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OmFkZFByb2Nlc3NJZFByZWZpeFRvKGNv
bnN0IFN0cmluZyYgaWQpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwpAQCAtNjQsNiAr
NjAsNiBAQCBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjphZGRQcm9jZXNzSWRQcmVmaXhUbyhj
b25zdCBTdHJpbmcmIGlkKQogICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiB9CiAKLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JZGVudGlmaWVyc0ZhY3RvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SWRlbnRpZmllcnNGYWN0b3J5LmgKc2ltaWxhcml0eSBpbmRleCA5NSUKcmVuYW1lIGZyb20gU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCnJlbmFtZSB0byBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCmluZGV4IGIx
YTljNDguLmIyODRhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVu
dGlmaWVyc0ZhY3RvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lk
ZW50aWZpZXJzRmFjdG9yeS5oCkBAIC0yNiwyNCArMjYsMjUgQEAKICNpZm5kZWYgSWRlbnRpZmll
cnNGYWN0b3J5X2gKICNkZWZpbmUgSWRlbnRpZmllcnNGYWN0b3J5X2gKIAotI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgotCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotbmFtZXNwYWNl
IFdlYkNvcmUgeworI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi1jbGFzcyBJZGVu
dGlmaWVyc0ZhY3RvcnkgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CisKK2NsYXNzIEpTX0VYUE9S
VF9QUklWQVRFIElkZW50aWZpZXJzRmFjdG9yeSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQg
c2V0UHJvY2Vzc0lkKGxvbmcgcHJvY2Vzc0lkKSB7IHNfcHJvY2Vzc0lkID0gcHJvY2Vzc0lkOyB9
CiAgICAgc3RhdGljIFN0cmluZyBjcmVhdGVJZGVudGlmaWVyKCk7CiAgICAgc3RhdGljIFN0cmlu
ZyByZXF1ZXN0SWQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKTsKKwogcHJpdmF0ZToKICAgICBz
dGF0aWMgU3RyaW5nIGFkZFByb2Nlc3NJZFByZWZpeFRvKGNvbnN0IFN0cmluZyYgaWQpOwogCiAg
ICAgc3RhdGljIGxvbmcgc19wcm9jZXNzSWQ7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Cit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vICFkZWZpbmVkKElkZW50aWZp
ZXJzRmFjdG9yeV9oKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
aW5kZXggNDI0YTg3Zi4uNzVkYmRiNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250
cm9sbGVyLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgiCiAjaW5j
bHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdENvbnNvbGVB
Z2VudC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oIgogI2luY2x1
ZGUgIkpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmgiCiAKQEAgLTUzLDcgKzU0LDExIEBAIEpT
R2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JD
b250cm9sbGVyKEpTR2xvYmFsT2JqCiAgICAgSW5zcGVjdG9yUnVudGltZUFnZW50KiBydW50aW1l
QWdlbnQgPSBydW50aW1lQWdlbnRQdHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6
bW92ZShydW50aW1lQWdlbnRQdHIpKTsKIAotICAgIGF1dG8gZGVidWdnZXJBZ2VudFB0ciA9IHN0
ZDo6bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50PihtX2luamVjdGVkU2Ny
aXB0TWFuYWdlci5nZXQoKSwgbV9nbG9iYWxPYmplY3QpOworICAgIGF1dG8gY29uc29sZUFnZW50
UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudD4obV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpOworICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29u
c29sZUFnZW50ID0gY29uc29sZUFnZW50UHRyLmdldCgpOworICAgIG1fYWdlbnRzLmFwcGVuZChz
dGQ6Om1vdmUoY29uc29sZUFnZW50UHRyKSk7CisKKyAgICBhdXRvIGRlYnVnZ2VyQWdlbnRQdHIg
PSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudD4obV9pbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuZ2V0KCksIG1fZ2xvYmFsT2JqZWN0LCBjb25zb2xlQWdlbnQpOwogICAg
IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIGRlYnVnZ2VyQWdlbnQgPSBkZWJ1Z2dlckFnZW50UHRy
LmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUoZGVidWdnZXJBZ2VudFB0cikp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNw
cApzaW1pbGFyaXR5IGluZGV4IDkwJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvU2NyaXB0QXJndW1lbnRzLmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCmluZGV4IDllNjVmN2UuLjE1ZjE0ZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcApAQCAt
MSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQog
ICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKQEAgLTE0
LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgogICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMTcgKzMyLDE3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCiAKLSNpbmNs
dWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgorI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCiAK
LW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBQYXNzUmVmUHRy
PFNjcmlwdEFyZ3VtZW50cz4gU2NyaXB0QXJndW1lbnRzOjpjcmVhdGUoSlNDOjpFeGVjU3RhdGUq
IHNjcmlwdFN0YXRlLCBWZWN0b3I8RGVwcmVjYXRlZDo6U2NyaXB0VmFsdWU+JiBhcmd1bWVudHMp
CiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JpcHRBcmd1bWVudHMoc2NyaXB0U3RhdGUs
IGFyZ3VtZW50cykpOwogfQogCi1TY3JpcHRBcmd1bWVudHM6OlNjcmlwdEFyZ3VtZW50cyhKU0M6
OkV4ZWNTdGF0ZSogc2NyaXB0U3RhdGUsIFZlY3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4m
IGFyZ3VtZW50cykKLSAgICA6IG1fZ2xvYmFsT2JqZWN0KHNjcmlwdFN0YXRlLT52bSgpLCBzY3Jp
cHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKQorU2NyaXB0QXJndW1lbnRzOjpTY3JpcHRB
cmd1bWVudHMoSlNDOjpFeGVjU3RhdGUqIGV4ZWNTdGF0ZSwgVmVjdG9yPERlcHJlY2F0ZWQ6OlNj
cmlwdFZhbHVlPiYgYXJndW1lbnRzKQorICAgIDogbV9nbG9iYWxPYmplY3QoZXhlY1N0YXRlLT52
bSgpLCBleGVjU3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKSkKIHsKICAgICBtX2FyZ3VtZW50
cy5zd2FwKGFyZ3VtZW50cyk7CiB9CkBAIC02MCw2ICs2MSw3IEBAIEpTQzo6RXhlY1N0YXRlKiBT
Y3JpcHRBcmd1bWVudHM6Omdsb2JhbFN0YXRlKCkgY29uc3QKIHsKICAgICBpZiAobV9nbG9iYWxP
YmplY3QpCiAgICAgICAgIHJldHVybiBjb25zdF9jYXN0PEpTQzo6SlNHbG9iYWxPYmplY3QqPiht
X2dsb2JhbE9iamVjdC5nZXQoKSktPmdsb2JhbEV4ZWMoKTsKKwogICAgIHJldHVybiBudWxscHRy
OwogfQogCkBAIC05NSw3ICs5Nyw4IEBAIGJvb2wgU2NyaXB0QXJndW1lbnRzOjppc0VxdWFsKFNj
cmlwdEFyZ3VtZW50cyogb3RoZXIpIGNvbnN0CiAgICAgICAgIGlmICghbV9hcmd1bWVudHNbaV0u
aXNFcXVhbChvdGhlci0+Z2xvYmFsU3RhdGUoKSwgb3RoZXItPm1fYXJndW1lbnRzW2ldKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oCnNpbWlsYXJpdHkgaW5k
ZXggOTAlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVu
dHMuaApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1
bWVudHMuaAppbmRleCA0N2E5NjIzLi41MzM3ZTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaApAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CkBAIC00NiwxMiArNDcsMTEgQEAgY2xhc3MgRXhlY1N0YXRlOwogY2xhc3MgSlNHbG9i
YWxPYmplY3Q7CiB9CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3Ig
ewogCi1jbGFzcyBTY3JpcHRBcmd1bWVudHMgOiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRBcmd1
bWVudHM+IHsKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFNjcmlwdEFyZ3VtZW50cyA6IHB1Ymxp
YyBSZWZDb3VudGVkPFNjcmlwdEFyZ3VtZW50cz4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gY3JlYXRlKEpTQzo6RXhlY1N0YXRlKiwgVmVjdG9yPERl
cHJlY2F0ZWQ6OlNjcmlwdFZhbHVlPiYgYXJndW1lbnRzKTsKLQogICAgIH5TY3JpcHRBcmd1bWVu
dHMoKTsKIAogICAgIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBhcmd1bWVudEF0KHNp
emVfdCkgY29uc3Q7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKIAogICAgIEpTQzo6RXhlY1N0
YXRlKiBnbG9iYWxTdGF0ZSgpIGNvbnN0OwogCi0gICAgYm9vbCBnZXRGaXJzdEFyZ3VtZW50QXNT
dHJpbmcoV1RGOjpTdHJpbmcmIHJlc3VsdCwgYm9vbCBjaGVja0Zvck51bGxPclVuZGVmaW5lZCA9
IGZhbHNlKTsKKyAgICBib29sIGdldEZpcnN0QXJndW1lbnRBc1N0cmluZyhTdHJpbmcmIHJlc3Vs
dCwgYm9vbCBjaGVja0Zvck51bGxPclVuZGVmaW5lZCA9IGZhbHNlKTsKICAgICBib29sIGlzRXF1
YWwoU2NyaXB0QXJndW1lbnRzKikgY29uc3Q7CiAKIHByaXZhdGU6CkBAIC02OSw2ICs2OSw2IEBA
IHByaXZhdGU6CiAgICAgVmVjdG9yPERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlPiBtX2FyZ3VtZW50
czsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3Rv
cgogCiAjZW5kaWYgLy8gU2NyaXB0QXJndW1lbnRzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFt
ZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCnJlbmFt
ZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAK
aW5kZXggNjljMjhmOS4uYzdhODIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1NjcmlwdENhbGxGcmFtZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdo
dCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogCisgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAgKiBtZXQ6Ci0gKiAKKyAqCiAgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAogICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgogICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQpAQCAtMTQsNyArMTUsNyBAQAogICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCkBAIC0zMSwxMyArMzIsMTAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJTY3JpcHRDYWxsRnJhbWUuaCIKIAotI2luY2x1ZGUgIkluc3BlY3RvcldlYkZyb250ZW5kRGlz
cGF0Y2hlcnMuaCIKLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+Ci0jaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgorI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBTY3JpcHRDYWxsRnJh
bWU6OlNjcmlwdENhbGxGcmFtZShjb25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSwgY29uc3QgU3Ry
aW5nJiBzY3JpcHROYW1lLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW4pCiAg
ICAgOiBtX2Z1bmN0aW9uTmFtZShmdW5jdGlvbk5hbWUpCkBAIC03MSw0ICs2OSw0IEBAIFBhc3NS
ZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q2FsbEZyYW1lPiBTY3JpcHRD
YWxsRnJhbWU6OmJ1aWxkSW5zCiB9CiAjZW5kaWYKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
fSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L1NjcmlwdENhbGxGcmFtZS5oCnNpbWlsYXJpdHkgaW5kZXggOTMlCnJlbmFtZSBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaApyZW5hbWUgdG8gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaAppbmRleCBkNmRjZmEzLi4w
MDUyNGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZy
YW1lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJh
bWUuaApAQCAtMSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQogICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKQEAgLTE0LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgog
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMjAgKzMy
LDE2IEBACiAjaWZuZGVmIFNjcmlwdENhbGxGcmFtZV9oCiAjZGVmaW5lIFNjcmlwdENhbGxGcmFt
ZV9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIkluc3BlY3RvcldlYlR5cGVC
dWlsZGVycy5oIgotI2VuZGlmCi0KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyNpbmNsdWRl
ICJJbnNwZWN0b3JKU1R5cGVCdWlsZGVycy5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBJbnNwZWN0
b3IgewotY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwotfQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIFNjcmlwdENhbGxGcmFtZSAgeworY2xhc3MgSlNfRVhQT1JUX1BSSVZBVEUgU2NyaXB0
Q2FsbEZyYW1lICB7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FsbEZyYW1lKGNvbnN0IFN0cmluZyYg
ZnVuY3Rpb25OYW1lLCBjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIHVuc2lnbmVkIGNvbHVtbik7CiAgICAgflNjcmlwdENhbGxGcmFtZSgpOwpAQCAtNjcsNiAr
NjQsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY29sdW1uOwogfTsKIAotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBTY3Jp
cHRDYWxsRnJhbWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5jcHAKc2ltaWxhcml0eSBpbmRleCA5MiUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcAppbmRleCBjNGFmMWI0Li4yZGQy
ODVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5jcHAKQEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDA4LCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogCisgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCiAgKiBtZXQ6Ci0gKiAKKyAqCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQpAQCAtMTQsNyArMTUsNyBAQAogICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KICAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKiAKKyAq
CiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCkBAIC0zMSwxMiAr
MzIsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5o
IgogCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViVHlwZUJ1aWxkZXJzLmgiCi0jaW5jbHVkZSA8aW5z
cGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgog
Ci11c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1l
c3BhY2UgSW5zcGVjdG9yIHsKIAogUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IFNjcmlwdENh
bGxTdGFjazo6Y3JlYXRlKFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBmcmFtZXMpCiB7CkBAIC01
Miw3ICs1MCw3IEBAIFNjcmlwdENhbGxTdGFjazo6flNjcmlwdENhbGxTdGFjaygpCiB7CiB9CiAK
LWNvbnN0IFNjcmlwdENhbGxGcmFtZSAmU2NyaXB0Q2FsbFN0YWNrOjphdChzaXplX3QgaW5kZXgp
IGNvbnN0Citjb25zdCBTY3JpcHRDYWxsRnJhbWUmIFNjcmlwdENhbGxTdGFjazo6YXQoc2l6ZV90
IGluZGV4KSBjb25zdAogewogICAgIEFTU0VSVChtX2ZyYW1lcy5zaXplKCkgPiBpbmRleCk7CiAg
ICAgcmV0dXJuIG1fZnJhbWVzW2luZGV4XTsKQEAgLTkwLDQgKzg4LDQgQEAgUGFzc1JlZlB0cjxJ
bnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25z
b2xlOjpDYWxsRnIKIH0KICNlbmRpZgogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5h
bWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0
Q2FsbFN0YWNrLmgKc2ltaWxhcml0eSBpbmRleCA4OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCmluZGV4IDE5NzVkYTVjLi5kZGFhMmJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaApA
QCAtMSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDgsIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQogICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKQEAgLTE0LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgog
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMTggKzMy
LDE4IEBACiAjaWZuZGVmIFNjcmlwdENhbGxTdGFja19oCiAjZGVmaW5lIFNjcmlwdENhbGxTdGFj
a19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIkluc3BlY3RvcldlYlR5cGVC
dWlsZGVycy5oIgotI2VuZGlmCi0KICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYgRU5BQkxFKElOU1BF
Q1RPUikKKyNpbmNsdWRlICJJbnNwZWN0b3JKU1R5cGVCdWlsZGVycy5oIgorI2VuZGlmCiAKLWNs
YXNzIFNjcmlwdENhbGxTdGFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFNjcmlwdENhbGxTdGFjaz4g
eworbmFtZXNwYWNlIEluc3BlY3RvciB7CisKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFNjcmlw
dENhbGxTdGFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFNjcmlwdENhbGxTdGFjaz4gewogcHVibGlj
OgogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIw
MDsKICAgICAKQEAgLTUwLDcgKzUxLDcgQEAgcHVibGljOgogCiAgICAgflNjcmlwdENhbGxTdGFj
aygpOwogCi0gICAgY29uc3QgU2NyaXB0Q2FsbEZyYW1lICZhdChzaXplX3QpIGNvbnN0OworICAg
IGNvbnN0IFNjcmlwdENhbGxGcmFtZSYgYXQoc2l6ZV90KSBjb25zdDsKICAgICBzaXplX3Qgc2l6
ZSgpIGNvbnN0OwogCiAgICAgYm9vbCBpc0VxdWFsKFNjcmlwdENhbGxTdGFjayopIGNvbnN0OwpA
QCAtNjUsNiArNjYsNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+IG1f
ZnJhbWVzOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5z
cGVjdG9yCiAKICNlbmRpZiAvLyBTY3JpcHRDYWxsU3RhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCnNpbWls
YXJpdHkgaW5kZXggNjklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCmluZGV4IDdkNjk1YTQuLjNiMTNk
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5jcHAKQEAgLTEsMTEgKzEsMTIgQEAKIC8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChj
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICAqIG1ldDoKLSAqIAorICoK
ICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xNSw3ICsxNiw3IEBACiAgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKQEAgLTMyLDc4ICszMywzMCBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKIAotI2luY2x1ZGUgIkluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgotI2luY2x1
ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgorI2luY2x1ZGUgIkFyZ0xpc3QuaCIKKyNpbmNs
dWRlICJDYWxsRnJhbWUuaCIKKyNpbmNsdWRlICJDYWxsRnJhbWVJbmxpbmVzLmgiCisjaW5jbHVk
ZSAiSlNDSlNWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJTY3Jp
cHRBcmd1bWVudHMuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJT
Y3JpcHRDYWxsU3RhY2suaCIKLSNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgotI2lu
Y2x1ZGUgPGludGVycHJldGVyL0NhbGxGcmFtZS5oPgotI2luY2x1ZGUgPGludGVycHJldGVyL0Nh
bGxGcmFtZUlubGluZXMuaD4KLSNpbmNsdWRlIDxpbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuaD4K
LSNpbmNsdWRlIDxydW50aW1lL0FyZ0xpc3QuaD4KLSNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFs
dWUuaD4KLSNpbmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24uaD4KLSNpbmNsdWRlIDxydW50aW1l
L1ZNLmg+CisjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJTdGFja1Zpc2l0b3Iu
aCIKKyNpbmNsdWRlICJWTS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkQXJyYXkuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAKIGNsYXNzIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3Ig
ewogcHVibGljOgotICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IoVmVjdG9yPFNjcmlw
dENhbGxGcmFtZT4mIGZyYW1lcywgIHNpemVfdCByZW1haW5pbmdDYXBhY2l0eSkKLSAgICAgICAg
OiBtX2ZyYW1lcyhmcmFtZXMpCi0gICAgICAgICwgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1l
Q2FwdHVyZShyZW1haW5pbmdDYXBhY2l0eSkKLSAgICB7Ci0gICAgfQotCi0gICAgU3RhY2tWaXNp
dG9yOjpTdGF0dXMgb3BlcmF0b3IoKShTdGFja1Zpc2l0b3ImIHZpc2l0b3IpCi0gICAgewotICAg
ICAgICBpZiAobV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZSkgewotICAgICAgICAg
ICAgdW5zaWduZWQgbGluZTsKLSAgICAgICAgICAgIHVuc2lnbmVkIGNvbHVtbjsKLSAgICAgICAg
ICAgIHZpc2l0b3ItPmNvbXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUsIGNvbHVtbik7Ci0gICAgICAg
ICAgICBtX2ZyYW1lcy5hcHBlbmQoU2NyaXB0Q2FsbEZyYW1lKHZpc2l0b3ItPmZ1bmN0aW9uTmFt
ZSgpLCB2aXNpdG9yLT5zb3VyY2VVUkwoKSwgbGluZSwgY29sdW1uKSk7Ci0KLSAgICAgICAgICAg
IG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUtLTsKLSAgICAgICAgICAgIHJldHVy
biBTdGFja1Zpc2l0b3I6OkNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBTdGFj
a1Zpc2l0b3I6OkRvbmU7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFZlY3RvcjxTY3JpcHRDYWxs
RnJhbWU+JiBtX2ZyYW1lczsKLSAgICBzaXplX3QgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1l
Q2FwdHVyZTsKLX07Ci0KLVBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRD
YWxsU3RhY2soc2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0eUlzQWxsb3dlZCkKLXsKLSAg
ICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBmcmFtZXM7Ci0gICAgaWYgKEpTQzo6RXhlY1N0YXRl
KiBleGVjID0gSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSkgewotICAgICAg
ICBDYWxsRnJhbWUqIGZyYW1lID0gZXhlYy0+dm0oKS50b3BDYWxsRnJhbWU7Ci0gICAgICAgIENy
ZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IgZnVuY3RvcihmcmFtZXMsIG1heFN0YWNrU2l6ZSk7
Ci0gICAgICAgIGZyYW1lLT5pdGVyYXRlKGZ1bmN0b3IpOwotICAgIH0KLSAgICBpZiAoZnJhbWVz
LmlzRW1wdHkoKSAmJiAhZW1wdHlJc0FsbG93ZWQpIHsKLSAgICAgICAgLy8gTm8gZnJhbWVzIGZv
dW5kLiBJdCBtYXkgaGFwcGVuIGluIHRoZSBjYXNlIHdoZXJlCi0gICAgICAgIC8vIGEgYm91bmQg
ZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gbmF0aXZlIGNvZGUgZm9yIGV4YW1wbGUuCi0gICAgICAg
IC8vIEZhbGxiYWNrIHRvIHNldHRpbmcgbGluZU51bWJlciB0byAwLCBhbmQgc291cmNlIGFuZCBm
dW5jdGlvbiBuYW1lIHRvICJ1bmRlZmluZWQiLgotICAgICAgICBmcmFtZXMuYXBwZW5kKFNjcmlw
dENhbGxGcmFtZSgidW5kZWZpbmVkIiwgInVuZGVmaW5lZCIsIDAsIDApKTsKLSAgICB9Ci0gICAg
cmV0dXJuIFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGZyYW1lcyk7Ci19Ci0KLWNsYXNzIENyZWF0
ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGVGdW5jdG9yIHsKLXB1YmxpYzoKLSAgICBDcmVhdGVT
Y3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlRnVuY3Rvcihib29sIG5lZWRUb1NraXBBRnJhbWUsICBz
aXplX3QgcmVtYWluaW5nQ2FwYWNpdHksIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBmcmFtZXMp
CisgICAgQ3JlYXRlU2NyaXB0Q2FsbFN0YWNrRnVuY3Rvcihib29sIG5lZWRUb1NraXBBRnJhbWUs
IFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBmcmFtZXMsIHNpemVfdCByZW1haW5pbmdDYXBhY2l0
eSkKICAgICAgICAgOiBtX25lZWRUb1NraXBBRnJhbWUobmVlZFRvU2tpcEFGcmFtZSkKLSAgICAg
ICAgLCBtX3JlbWFpbmluZ0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlKHJlbWFpbmluZ0NhcGFjaXR5
KQogICAgICAgICAsIG1fZnJhbWVzKGZyYW1lcykKKyAgICAgICAgLCBtX3JlbWFpbmluZ0NhcGFj
aXR5Rm9yRnJhbWVDYXB0dXJlKHJlbWFpbmluZ0NhcGFjaXR5KQogICAgIHsKICAgICB9CiAKQEAg
LTExNSwxMiArNjgsNiBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobV9yZW1h
aW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZSkgewotICAgICAgICAgICAgLy8gVGhpcyBlYXJs
eSBleGl0IGlzIG5lY2Vzc2FyeSB0byBtYWludGFpbiBvdXIgb2xkIGJlaGF2aW91cgotICAgICAg
ICAgICAgLy8gYnV0IHRoZSBzdGFjayB0cmFjZSB3ZSBwcm9kdWNlIG5vdyBpcyBjb21wbGV0ZSBh
bmQgaGFuZGxlcyBhbGwKLSAgICAgICAgICAgIC8vIHdheXMgaW4gd2hpY2ggY29kZSBtYXkgYmUg
cnVubmluZwotICAgICAgICAgICAgaWYgKCF2aXNpdG9yLT5jYWxsZWUoKSAmJiBtX2ZyYW1lcy5z
aXplKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFN0YWNrVmlzaXRvcjo6RG9uZTsKLQogICAg
ICAgICAgICAgdW5zaWduZWQgbGluZTsKICAgICAgICAgICAgIHVuc2lnbmVkIGNvbHVtbjsKICAg
ICAgICAgICAgIHZpc2l0b3ItPmNvbXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUsIGNvbHVtbik7CkBA
IC0xMjksMjkgKzc2LDU4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fcmVtYWluaW5nQ2FwYWNp
dHlGb3JGcmFtZUNhcHR1cmUtLTsKICAgICAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkNv
bnRpbnVlOwogICAgICAgICB9CisKICAgICAgICAgcmV0dXJuIFN0YWNrVmlzaXRvcjo6RG9uZTsK
ICAgICB9CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX25lZWRUb1NraXBBRnJhbWU7Ci0gICAgc2l6
ZV90IG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmU7CiAgICAgVmVjdG9yPFNjcmlw
dENhbGxGcmFtZT4mIG1fZnJhbWVzOworICAgIHNpemVfdCBtX3JlbWFpbmluZ0NhcGFjaXR5Rm9y
RnJhbWVDYXB0dXJlOwogfTsKIAorUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNj
cmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90IG1heFN0YWNrU2l6ZSwg
Ym9vbCBlbXB0eUlzQWxsb3dlZCkKK3sKKyAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBmcmFt
ZXM7CisKKyAgICBpZiAoZXhlYykgeworICAgICAgICBDYWxsRnJhbWUqIGZyYW1lID0gZXhlYy0+
dm0oKS50b3BDYWxsRnJhbWU7CisgICAgICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3Ig
ZnVuY3RvcihmYWxzZSwgZnJhbWVzLCBtYXhTdGFja1NpemUpOworICAgICAgICBmcmFtZS0+aXRl
cmF0ZShmdW5jdG9yKTsKKyAgICB9CisKKyAgICBpZiAoZnJhbWVzLmlzRW1wdHkoKSAmJiAhZW1w
dHlJc0FsbG93ZWQpIHsKKyAgICAgICAgLy8gTm8gZnJhbWVzIGZvdW5kLiBJdCBtYXkgaGFwcGVu
IGluIHRoZSBjYXNlIHdoZXJlCisgICAgICAgIC8vIGEgYm91bmQgZnVuY3Rpb24gaXMgY2FsbGVk
IGZyb20gbmF0aXZlIGNvZGUgZm9yIGV4YW1wbGUuCisgICAgICAgIC8vIEZhbGxiYWNrIHRvIHNl
dHRpbmcgbGluZU51bWJlciB0byAwLCBhbmQgc291cmNlIGFuZCBmdW5jdGlvbiBuYW1lIHRvICJ1
bmRlZmluZWQiLgorICAgICAgICBmcmFtZXMuYXBwZW5kKFNjcmlwdENhbGxGcmFtZShBU0NJSUxp
dGVyYWwoInVuZGVmaW5lZCIpLCBBU0NJSUxpdGVyYWwoInVuZGVmaW5lZCIpLCAwLCAwKSk7Cisg
ICAgfQorCisgICAgcmV0dXJuIFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGZyYW1lcyk7Cit9CisK
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soSlNDOjpF
eGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBtYXhTdGFja1NpemUpCiB7CiAgICAgVmVjdG9yPFNjcmlw
dENhbGxGcmFtZT4gZnJhbWVzOwotICAgIEFTU0VSVChleGVjKTsKKwogICAgIENhbGxGcmFtZSog
ZnJhbWUgPSBleGVjLT52bSgpLnRvcENhbGxGcmFtZTsKLSAgICBDcmVhdGVTY3JpcHRDYWxsU3Rh
Y2tGb3JDb25zb2xlRnVuY3RvciBmdW5jdG9yKHRydWUsIG1heFN0YWNrU2l6ZSwgZnJhbWVzKTsK
KyAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IodHJ1ZSwgZnJhbWVzLCBt
YXhTdGFja1NpemUpOwogICAgIGZyYW1lLT5pdGVyYXRlKGZ1bmN0b3IpOworCiAgICAgaWYgKGZy
YW1lcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgQ3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29s
ZUZ1bmN0b3IgZnVuY3RvcihmYWxzZSwgbWF4U3RhY2tTaXplLCBmcmFtZXMpOworICAgICAgICBD
cmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IoZmFsc2UsIGZyYW1lcywgbWF4U3Rh
Y2tTaXplKTsKICAgICAgICAgZnJhbWUtPml0ZXJhdGUoZnVuY3Rvcik7CiAgICAgfQorCiAgICAg
cmV0dXJuIFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGZyYW1lcyk7CiB9CiAKK1Bhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlKEpTQzo6RXhl
Y1N0YXRlKiBleGVjKQoreworICAgIC8vIEZJWE1FOiBDYWxsZXIgc2hvdWxkIHVzZSBjcmVhdGVT
Y3JpcHRDYWxsU3RhY2sgYWx0ZXJuYXRpdmUgd2l0aCB0aGUgZXhlYyBhbmQgYXBwcm9wcmlhdGUg
bWF4LgorICAgIHJldHVybiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soZXhlYywgU2NyaXB0Q2FsbFN0
YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlKTsKK30KKwogUGFzc1JlZlB0cjxTY3JpcHRD
YWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24oSlNDOjpFeGVjU3Rh
dGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSYgZXhjZXB0aW9uLCBzaXplX3QgbWF4U3RhY2tTaXplKQog
ewogICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+IGZyYW1lczsKQEAgLTE2MCwxMCArMTM2LDEw
IEBAIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGcm9t
RXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiBlCiAgICAgICAgIGlmICghc3RhY2tUcmFjZVtpXS5j
YWxsZWUgJiYgZnJhbWVzLnNpemUoKSkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIFN0
cmluZyBmdW5jdGlvbk5hbWUgPSBzdGFja1RyYWNlW2ldLmZyaWVuZGx5RnVuY3Rpb25OYW1lKGV4
ZWMpOwogICAgICAgICB1bnNpZ25lZCBsaW5lOwogICAgICAgICB1bnNpZ25lZCBjb2x1bW47CiAg
ICAgICAgIHN0YWNrVHJhY2VbaV0uY29tcHV0ZUxpbmVBbmRDb2x1bW4obGluZSwgY29sdW1uKTsK
KyAgICAgICAgU3RyaW5nIGZ1bmN0aW9uTmFtZSA9IHN0YWNrVHJhY2VbaV0uZnJpZW5kbHlGdW5j
dGlvbk5hbWUoZXhlYyk7CiAgICAgICAgIGZyYW1lcy5hcHBlbmQoU2NyaXB0Q2FsbEZyYW1lKGZ1
bmN0aW9uTmFtZSwgc3RhY2tUcmFjZVtpXS5zb3VyY2VVUkwsIGxpbmUsIGNvbHVtbikpOwogICAg
IH0KIApAQCAtMTg2LDE3ICsxNjIsNiBAQCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrRnJvbUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSogZQogICAgIHJl
dHVybiBTY3JpcHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOwogfQogCi1QYXNzUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNT
dGF0ZSogZXhlYykKLXsKLSAgICBzaXplX3QgbWF4U3RhY2tTaXplID0gMTsKLSAgICBpZiAoSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSkgewotICAgICAgICBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0ID0ganNDYXN0PEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOwotICAgICAgICBpZiAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xl
QWdlbnRFbmFibGVkKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKQotICAgICAgICAgICAgbWF4U3Rh
Y2tTaXplID0gU2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlOwotICAg
IH0KLSAgICByZXR1cm4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKGV4ZWMsIG1heFN0YWNrU2l6ZSk7
Ci19Ci0KIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3JpcHRBcmd1bWVudHMo
SlNDOjpFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHNraXBBcmd1bWVudENvdW50KQogewogICAg
IFZlY3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4gYXJndW1lbnRzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKc2lt
aWxhcml0eSBpbmRleCA2OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaAppbmRleCAyOThiYmJkLi43Y2U5Yzkw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2tGYWN0b3J5LmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKICAqIG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCkBAIC0xNCw3ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSAqIAorICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAg
LTMyLDI1ICszMywyNCBAQAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5X2gKIAogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRBcnJheS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIEpTVmFsdWU7Ci1zdHJ1
Y3QgU3RhY2tGcmFtZTsKIH0KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CiAKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsK
IAotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzaXpl
X3QgbWF4U3RhY2tTaXplLCBib29sIGVtcHR5U3RhY2tJc0FsbG93ZWQpOwotUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSosIHNp
emVfdCBtYXhTdGFja1NpemUpOwotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNj
cmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUm
IGV4Y2VwdGlvbiwgc2l6ZV90IG1heFN0YWNrU2l6ZSk7Ci1QYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSopOwot
UGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhKU0M6OkV4
ZWNTdGF0ZSosIHVuc2lnbmVkIHNraXBBcmd1bWVudENvdW50KTsKKy8vIEZJWE1FOiBUaGUgc3Vi
dGxlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlc2Ugc2hvdWxkIGJlIGVsaW1pbmF0ZWQuCitKU19F
WFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2Fs
bFN0YWNrKEpTQzo6RXhlY1N0YXRlKiwgc2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0eUlz
QWxsb3dlZCk7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4g
Y3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTQzo6RXhlY1N0YXRlKiwgc2l6ZV90IG1heFN0YWNrU2l6
ZSk7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRl
U2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSopOworSlNfRVhQT1JUX1BS
SVZBVEUgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zy
b21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUmIGV4Y2VwdGlvbiwgc2l6
ZV90IG1heFN0YWNrU2l6ZSk7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdEFy
Z3VtZW50cz4gY3JlYXRlU2NyaXB0QXJndW1lbnRzKEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQg
c2tpcEFyZ3VtZW50Q291bnQpOwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIFNjcmlwdENhbGxTdGFja0ZhY3RvcnlfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25z
b2xlQWdlbnQuY3BwCnNpbWlsYXJpdHkgaW5kZXggNjIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCnJlbmFtZSB0byBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3Bw
CmluZGV4IDhhNDZkNjkuLmRiNmY5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTEsNCArMSw1
IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMjIsNjcgKzIzLDY2IEBACiAgKiBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwog
Ci0KICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIKIAotI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJ
SG9zdC5oIgotI2luY2x1ZGUgIkNvbnNvbGUuaCIKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAj
aW5jbHVkZSAiQ29uc29sZU1lc3NhZ2UuaCIKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKLSNpbmNs
dWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCi0jaW5jbHVkZSAiSW5zdHJ1
bWVudGluZ0FnZW50cy5oIgotI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIK
LSNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5o
IgorI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgogI2luY2x1ZGUgIlNjcmlwdEFy
Z3VtZW50cy5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlNjcmlw
dENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKLSNpbmNs
dWRlICJTY3JpcHRQcm9maWxlci5oIgotI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdE9iamVjdC5o
PgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAotdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKLQotbmFtZXNwYWNlIFdl
YkNvcmUgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBt
YXhpbXVtQ29uc29sZU1lc3NhZ2VzID0gMTAwMDsKIHN0YXRpYyBjb25zdCBpbnQgZXhwaXJlQ29u
c29sZU1lc3NhZ2VzU3RlcCA9IDEwMDsKIAotSW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0
b3JDb25zb2xlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywg
UGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQotICAgIDog
SW5zcGVjdG9yQWdlbnRCYXNlKEFTQ0lJTGl0ZXJhbCgiQ29uc29sZSIpLCBpbnN0cnVtZW50aW5n
QWdlbnRzKQorSW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0
b3JBZ2VudEJhc2UoQVNDSUlMaXRlcmFsKCJDb25zb2xlIikpCiAgICAgLCBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlcihpbmplY3RlZFNjcmlwdE1hbmFnZXIpCiAgICAgLCBtX3ByZXZpb3VzTWVzc2Fn
ZShudWxscHRyKQogICAgICwgbV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCgwKQogICAgICwg
bV9lbmFibGVkKGZhbHNlKQotICAgICwgbV9tb25pdG9yaW5nWEhSRW5hYmxlZChmYWxzZSkKIHsK
LSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNvbnNvbGVBZ2VudCh0aGlz
KTsKIH0KIAogSW5zcGVjdG9yQ29uc29sZUFnZW50Ojp+SW5zcGVjdG9yQ29uc29sZUFnZW50KCkK
IHsKLSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNvbnNvbGVBZ2VudChu
dWxscHRyKTsKLSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMgPSBudWxscHRyOwotICAgIG1faW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyID0gbnVsbHB0cjsKK30KKwordm9pZCBJbnNwZWN0b3JDb25zb2xl
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZy
b250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
ciogYmFja2VuZERpc3BhdGNoZXIpCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6
Om1ha2VfdW5pcXVlPEluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5k
Q2hhbm5lbCk7CisgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3RvckNvbnNvbGVCYWNr
ZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKK30KKwordm9p
ZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKElu
c3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBu
dWxscHRyOworICAgIG1fYmFja2VuZERpc3BhdGNoZXIuY2xlYXIoKTsKKworICAgIFN0cmluZyBl
cnJvclN0cmluZzsKKyAgICBkaXNhYmxlKCZlcnJvclN0cmluZyk7CiB9CiAKIHZvaWQgSW5zcGVj
dG9yQ29uc29sZUFnZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQogewogICAgIGlmIChtX2VuYWJs
ZWQpCiAgICAgICAgIHJldHVybjsKKwogICAgIG1fZW5hYmxlZCA9IHRydWU7CiAKICAgICBpZiAo
bV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCkgewotICAgICAgICBDb25zb2xlTWVzc2FnZSBl
eHBpcmVkTWVzc2FnZSghaXNXb3JrZXJBZ2VudCgpLCBPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBTdHJpbmc6OmZvcm1hdCgiJWQgY29uc29s
ZSBtZXNzYWdlcyBhcmUgbm90IHNob3duLiIsIG1fZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQp
KTsKKyAgICAgICAgQ29uc29sZU1lc3NhZ2UgZXhwaXJlZE1lc3NhZ2UoIWlzV29ya2VyQWdlbnQo
KSwgTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6
V2FybmluZywgU3RyaW5nOjpmb3JtYXQoIiVkIGNvbnNvbGUgbWVzc2FnZXMgYXJlIG5vdCBzaG93
bi4iLCBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50KSk7CiAgICAgICAgIGV4cGlyZWRNZXNz
YWdlLmFkZFRvRnJvbnRlbmQobV9mcm9udGVuZERpc3BhdGNoZXIuZ2V0KCksIG1faW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLCBmYWxzZSk7CiAgICAgfQogCkBAIC05NSw2ICs5NSw3IEBAIHZvaWQgSW5z
cGVjdG9yQ29uc29sZUFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKIHsKICAgICBpZiAoIW1f
ZW5hYmxlZCkKICAgICAgICAgcmV0dXJuOworCiAgICAgbV9lbmFibGVkID0gZmFsc2U7CiB9CiAK
QEAgLTEwMyw3ICsxMDQsOSBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJNZXNz
YWdlcyhFcnJvclN0cmluZyopCiAgICAgbV9jb25zb2xlTWVzc2FnZXMuY2xlYXIoKTsKICAgICBt
X2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50ID0gMDsKICAgICBtX3ByZXZpb3VzTWVzc2FnZSA9
IG51bGxwdHI7Ci0gICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVhc2VPYmplY3RHcm91
cCgiY29uc29sZSIpOworCisgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVhc2VPYmpl
Y3RHcm91cChBU0NJSUxpdGVyYWwoImNvbnNvbGUiKSk7CisKICAgICBpZiAobV9mcm9udGVuZERp
c3BhdGNoZXIgJiYgbV9lbmFibGVkKQogICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+bWVz
c2FnZXNDbGVhcmVkKCk7CiB9CkBAIC0xMTIsMzEgKzExNSwxNyBAQCB2b2lkIEluc3BlY3RvckNv
bnNvbGVBZ2VudDo6cmVzZXQoKQogewogICAgIEVycm9yU3RyaW5nIGVycm9yOwogICAgIGNsZWFy
TWVzc2FnZXMoJmVycm9yKTsKKwogICAgIG1fdGltZXMuY2xlYXIoKTsKICAgICBtX2NvdW50cy5j
bGVhcigpOwogfQogCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBmcm9udGVu
ZENoYW5uZWwsIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikK
LXsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9y
Q29uc29sZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKLSAgICBtX2JhY2tl
bmREaXNwYXRjaGVyID0gSW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUo
YmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwotfQotCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dDo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yRGlzY29ubmVjdFJlYXNv
bikKLXsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IG51bGxwdHI7Ci0gICAgbV9iYWNrZW5k
RGlzcGF0Y2hlci5jbGVhcigpOwotCi0gICAgU3RyaW5nIGVycm9yU3RyaW5nOwotICAgIGRpc2Fi
bGUoJmVycm9yU3RyaW5nKTsKLX0KLQogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1l
c3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlw
dENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQog
ewotICAgIGlmICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgp
LmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKKyAgICBpZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHR5cGUgPT0gQ2xlYXJNZXNzYWdlVHlwZSkgeworICAg
IGlmICh0eXBlID09IE1lc3NhZ2VUeXBlOjpDbGVhcikgewogICAgICAgICBFcnJvclN0cmluZyBl
cnJvcjsKICAgICAgICAgY2xlYXJNZXNzYWdlcygmZXJyb3IpOwogICAgIH0KQEAgLTE0NiwxMCAr
MTM1LDEwIEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xl
KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwCiAKIHZvaWQgSW5zcGVjdG9yQ29uc29s
ZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
VHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlND
OjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAgIGlmICghbV9pbnN0cnVt
ZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJs
ZWQoKSkKKyAgICBpZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JFbnZpcm9u
bWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
aWYgKHR5cGUgPT0gQ2xlYXJNZXNzYWdlVHlwZSkgeworICAgIGlmICh0eXBlID09IE1lc3NhZ2VU
eXBlOjpDbGVhcikgewogICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAgICAgICAgY2xlYXJN
ZXNzYWdlcygmZXJyb3IpOwogICAgIH0KQEAgLTE1OSwxMCArMTQ4LDEwIEBAIHZvaWQgSW5zcGVj
dG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBNZXNzYWdlVHlwCiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9D
b25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2
ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3JpcHRJRCwg
dW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4ZWNTdGF0
ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgaWYgKCFt
X2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZCgpKQorICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3Rv
ckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBpZiAodHlwZSA9PSBDbGVhck1lc3NhZ2VUeXBlKSB7CisgICAgaWYgKHR5cGUgPT0g
TWVzc2FnZVR5cGU6OkNsZWFyKSB7CiAgICAgICAgIEVycm9yU3RyaW5nIGVycm9yOwogICAgICAg
ICBjbGVhck1lc3NhZ2VzKCZlcnJvcik7CiAgICAgfQpAQCAtMTcxLDcgKzE2MCw3IEBAIHZvaWQg
SW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlVHlwCiAgICAgYWRkQ29uc29sZU1lc3NhZ2UoYWRvcHRQdHIobmV3IENv
bnNvbGVNZXNzYWdlKGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBt
ZXNzYWdlLCBzY3JpcHRJRCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVz
dElkZW50aWZpZXIpKSk7CiB9CiAKLVZlY3Rvcjx1bnNpZ25lZD4gSW5zcGVjdG9yQ29uc29sZUFn
ZW50Ojpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkKK1ZlY3Rvcjx1bnNpZ25lZD4gSW5z
cGVjdG9yQ29uc29sZUFnZW50Ojpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkgY29uc3QK
IHsKICAgICBWZWN0b3I8dW5zaWduZWQ+IHJlc3VsdChtX2NvbnNvbGVNZXNzYWdlcy5zaXplKCkp
OwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jb25zb2xlTWVzc2FnZXMuc2l6ZSgpOyBp
KyspCkBAIC0yMDUsNyArMTk0LDcgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnN0b3BU
aW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWwKIAogICAgIGRv
dWJsZSBlbGFwc2VkID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzdGFydFRpbWU7
CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSB0aXRsZSArIFN0cmluZzo6Zm9ybWF0KCI6ICUuM2ZtcyIs
IGVsYXBzZWQgKiAxMDAwKTsKLSAgICBhZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNz
YWdlU291cmNlLCBUaW1pbmdNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2Us
IGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25z
b2xlQVBJLCBNZXNzYWdlVHlwZTo6VGltaW5nLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdl
LCBjYWxsU3RhY2spOwogfQogCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y291bnQoSlND
OjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
KQpAQCAtMjMwLDY4ICsyMTksMTkgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmNvdW50
KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWUKICAgICBtX2Nv
dW50cy5hZGQoaWRlbnRpZmllciwgY291bnQpOwogCiAgICAgU3RyaW5nIG1lc3NhZ2UgPSB0aXRs
ZSArICI6ICIgKyBTdHJpbmc6Om51bWJlcihjb3VudCk7Ci0gICAgYWRkTWVzc2FnZVRvQ29uc29s
ZShDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxl
dmVsLCBtZXNzYWdlLCBjYWxsU3RhY2spOwotfQotCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dDo6ZnJhbWVXaW5kb3dEaXNjYXJkZWQoRE9NV2luZG93KiB3aW5kb3cpCi17Ci0gICAgc2l6ZV90
IG1lc3NhZ2VDb3VudCA9IG1fY29uc29sZU1lc3NhZ2VzLnNpemUoKTsKLSAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG1lc3NhZ2VDb3VudDsgKytpKQotICAgICAgICBtX2NvbnNvbGVNZXNzYWdl
c1tpXS0+d2luZG93Q2xlYXJlZCh3aW5kb3cpOwotICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LT5kaXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKHdpbmRvdyk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9y
Q29uc29sZUFnZW50OjpkaWRGaW5pc2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2ln
bmVkIHNlbmRMaW5lTnVtYmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKQotewotICAgIGlm
ICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChtX2Zyb250ZW5kRGlz
cGF0Y2hlciAmJiBtX21vbml0b3JpbmdYSFJFbmFibGVkKSB7Ci0gICAgICAgIFN0cmluZyBtZXNz
YWdlID0gIlhIUiBmaW5pc2hlZCBsb2FkaW5nOiBcIiIgKyB1cmwgKyAiXCIuIjsKLSAgICAgICAg
YWRkTWVzc2FnZVRvQ29uc29sZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IERlYnVnTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBzZW5kVVJMLCBzZW5kTGluZU51bWJlciwgc2Vu
ZENvbHVtbk51bWJlciwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOwotICAgIH0KLX0KLQot
dm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
LXsKLSAgICBpZiAoIW1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRW52aXJvbm1lbnQo
KS5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChy
ZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID49IDQwMCkgewotICAgICAgICBTdHJpbmcgbWVzc2Fn
ZSA9ICJGYWlsZWQgdG8gbG9hZCByZXNvdXJjZTogdGhlIHNlcnZlciByZXNwb25kZWQgd2l0aCBh
IHN0YXR1cyBvZiAiICsgU3RyaW5nOjpudW1iZXIocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSkg
KyAiICgiICsgcmVzcG9uc2UuaHR0cFN0YXR1c1RleHQoKSArICcpJzsKLSAgICAgICAgYWRkTWVz
c2FnZVRvQ29uc29sZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlLCByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgMCwgMCwgbnVs
bHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOwotICAgIH0KLX0KLQotdm9pZCBJbnNwZWN0b3JDb25z
b2xlQWdlbnQ6OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIs
IGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQotewotICAgIGlmICghbV9pbnN0cnVtZW50aW5n
QWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkK
LSAgICAgICAgcmV0dXJuOwotICAgIGlmIChlcnJvci5pc0NhbmNlbGxhdGlvbigpKSAvLyBSZXBv
cnQgZmFpbHVyZXMgb25seS4KLSAgICAgICAgcmV0dXJuOwotICAgIFN0cmluZ0J1aWxkZXIgbWVz
c2FnZTsKLSAgICBtZXNzYWdlLmFwcGVuZExpdGVyYWwoIkZhaWxlZCB0byBsb2FkIHJlc291cmNl
Iik7Ci0gICAgaWYgKCFlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLmlzRW1wdHkoKSkgewot
ICAgICAgICBtZXNzYWdlLmFwcGVuZExpdGVyYWwoIjogIik7Ci0gICAgICAgIG1lc3NhZ2UuYXBw
ZW5kKGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkpOwotICAgIH0KLSAgICBhZGRNZXNzYWdl
VG9Db25zb2xlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIG1lc3NhZ2UudG9TdHJpbmcoKSwgZXJyb3IuZmFpbGluZ1VSTCgpLCAwLCAwLCBu
dWxscHRyLCByZXF1ZXN0SWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29uc29sZUFn
ZW50OjpzZXRNb25pdG9yaW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkK
LXsKLSAgICBtX21vbml0b3JpbmdYSFJFbmFibGVkID0gZW5hYmxlZDsKKyAgICBhZGRNZXNzYWdl
VG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpMb2csIE1l
c3NhZ2VMZXZlbDo6RGVidWcsIG1lc3NhZ2UsIGNhbGxTdGFjayk7CiB9CiAKIHN0YXRpYyBib29s
IGlzR3JvdXBNZXNzYWdlKE1lc3NhZ2VUeXBlIHR5cGUpCiB7Ci0gICAgcmV0dXJuIHR5cGUgPT0g
U3RhcnRHcm91cE1lc3NhZ2VUeXBlCi0gICAgICAgIHx8IHR5cGUgPT0gIFN0YXJ0R3JvdXBDb2xs
YXBzZWRNZXNzYWdlVHlwZQotICAgICAgICB8fCB0eXBlID09IEVuZEdyb3VwTWVzc2FnZVR5cGU7
CisgICAgcmV0dXJuIHR5cGUgPT0gTWVzc2FnZVR5cGU6OlN0YXJ0R3JvdXAKKyAgICAgICAgfHwg
dHlwZSA9PSBNZXNzYWdlVHlwZTo6U3RhcnRHcm91cENvbGxhcHNlZAorICAgICAgICB8fCB0eXBl
ID09IE1lc3NhZ2VUeXBlOjpFbmRHcm91cDsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdl
bnQ6OmFkZENvbnNvbGVNZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3NhZ2U+IGNvbnNvbGVN
ZXNzYWdlKQogewotICAgIEFTU0VSVChtX2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckVu
dmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQobV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZCgpKTsKICAgICBBU1NFUlRfQVJHKGNvbnNvbGVNZXNzYWdlLCBjb25zb2xlTWVzc2Fn
ZSk7CiAKICAgICBpZiAobV9wcmV2aW91c01lc3NhZ2UgJiYgIWlzR3JvdXBNZXNzYWdlKG1fcHJl
dmlvdXNNZXNzYWdlLT50eXBlKCkpICYmIG1fcHJldmlvdXNNZXNzYWdlLT5pc0VxdWFsKGNvbnNv
bGVNZXNzYWdlLmdldCgpKSkgewpAQCAtMzExLDIzICsyNTEsNiBAQCB2b2lkIEluc3BlY3RvckNv
bnNvbGVBZ2VudDo6YWRkQ29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxDb25zb2xlTWVzc2FnZT4g
Y29uc29sZQogICAgIH0KIH0KIAotY2xhc3MgSW5zcGVjdGFibGVIZWFwT2JqZWN0IGZpbmFsIDog
cHVibGljIENvbW1hbmRMaW5lQVBJSG9zdDo6SW5zcGVjdGFibGVPYmplY3QgewotcHVibGljOgot
ICAgIGV4cGxpY2l0IEluc3BlY3RhYmxlSGVhcE9iamVjdChpbnQgaGVhcE9iamVjdElkKSA6IG1f
aGVhcE9iamVjdElkKGhlYXBPYmplY3RJZCkgeyB9Ci0gICAgdmlydHVhbCBEZXByZWNhdGVkOjpT
Y3JpcHRWYWx1ZSBnZXQoSlNDOjpFeGVjU3RhdGUqKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAg
cmV0dXJuIFNjcmlwdFByb2ZpbGVyOjpvYmplY3RCeUhlYXBPYmplY3RJZChtX2hlYXBPYmplY3RJ
ZCk7Ci0gICAgfQotcHJpdmF0ZToKLSAgICBpbnQgbV9oZWFwT2JqZWN0SWQ7Ci19OwotCi12b2lk
IEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmlu
ZyosIGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpCi17Ci0gICAgaWYgKENvbW1hbmRMaW5lQVBJ
SG9zdCogY29tbWFuZExpbmVBUElIb3N0ID0gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmNvbW1h
bmRMaW5lQVBJSG9zdCgpKQotICAgICAgICBjb21tYW5kTGluZUFQSUhvc3QtPmFkZEluc3BlY3Rl
ZE9iamVjdChhZG9wdFB0cihuZXcgSW5zcGVjdGFibGVIZWFwT2JqZWN0KGluc3BlY3RlZEhlYXBP
YmplY3RJZCkpKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2Ug
SW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25z
b2xlQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWE3OWU2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yQ29uc29sZUFnZW50LmgKQEAgLTAsMCArMSwxMDMgQEAKKy8qCisqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycgQU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCisqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2lmbmRlZiBJbnNwZWN0b3JDb25zb2xl
QWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAorCisjaWYgRU5BQkxFKElO
U1BFQ1RPUikKKworI2luY2x1ZGUgIkluc3BlY3RvckpTQmFja2VuZERpc3BhdGNoZXJzLmgiCisj
aW5jbHVkZSAiSW5zcGVjdG9ySlNGcm9udGVuZERpc3BhdGNoZXJzLmgiCisjaW5jbHVkZSAiaW5z
cGVjdG9yL0NvbnNvbGVUeXBlcy5oIgorI2luY2x1ZGUgImluc3BlY3Rvci9JbnNwZWN0b3JBZ2Vu
dEJhc2UuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIEpTQyB7Citj
bGFzcyBFeGVjU3RhdGU7Cit9CisKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCitjbGFzcyBDb25z
b2xlTWVzc2FnZTsKK2NsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNzIFNjcmlwdEFy
Z3VtZW50czsKK2NsYXNzIFNjcmlwdENhbGxTdGFjazsKK3R5cGVkZWYgU3RyaW5nIEVycm9yU3Ry
aW5nOworCitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBJbnNwZWN0b3JDb25zb2xlQWdlbnQgOiBw
dWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yQ29uc29sZUJhY2tlbmRE
aXNwYXRjaGVySGFuZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQ29u
c29sZUFnZW50KTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAgdmlydHVh
bCB+SW5zcGVjdG9yQ29uc29sZUFnZW50KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRl
RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95
RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwor
CisgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGNsZWFyTWVzc2FnZXMoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZv
aWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyosIGludCBu
b2RlSWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJv
clN0cmluZyosIGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpID0gMDsKKworICAgIHZpcnR1YWwg
Ym9vbCBpc1dvcmtlckFnZW50KCkgY29uc3QgPSAwOworCisgICAgYm9vbCBlbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9lbmFibGVkOyB9CisgICAgdm9pZCByZXNldCgpOworCisgICAgdm9pZCBh
ZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNj
cmlwdEFyZ3VtZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAg
ICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlwdElE
LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhlY1N0
YXRlKiA9IG51bGxwdHIsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAg
ICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKworICAgIFZlY3Rv
cjx1bnNpZ25lZD4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpIGNvbnN0OworCisgICAg
dm9pZCBzdGFydFRpbWluZyhjb25zdCBTdHJpbmcmIHRpdGxlKTsKKyAgICB2b2lkIHN0b3BUaW1p
bmcoY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAg
ICB2b2lkIGNvdW50KEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
KTsKKworcHJvdGVjdGVkOgorICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxD
b25zb2xlTWVzc2FnZT4pOworCisgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVk
U2NyaXB0TWFuYWdlcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQ29uc29sZUZyb250
ZW5kRGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7CisgICAgUmVmUHRyPEluc3BlY3Rv
ckNvbnNvbGVCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKKyAgICBDb25z
b2xlTWVzc2FnZSogbV9wcmV2aW91c01lc3NhZ2U7CisgICAgVmVjdG9yPE93blB0cjxDb25zb2xl
TWVzc2FnZT4+IG1fY29uc29sZU1lc3NhZ2VzOworICAgIGludCBtX2V4cGlyZWRDb25zb2xlTWVz
c2FnZUNvdW50OworICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV9jb3VudHM7CisgICAg
SGFzaE1hcDxTdHJpbmcsIGRvdWJsZT4gbV90aW1lczsKKyAgICBib29sIG1fZW5hYmxlZDsKK307
CisKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckNvbnNvbGVBZ2VudF9oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29u
c29sZUFnZW50LmNwcApzaW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaApjb3B5IHRvIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNw
cAppbmRleCA2NTgyMTg4Li4xZmUyZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMjUgKzIzLDMz
IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgUGFnZUluamVjdGVkU2NyaXB0SG9z
dF9oCi0jZGVmaW5lIFBhZ2VJbmplY3RlZFNjcmlwdEhvc3RfaAorI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgiCiAKICNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oPgor
bmFtZXNwYWNlIEluc3BlY3RvciB7CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK0pTR2xvYmFsT2Jq
ZWN0Q29uc29sZUFnZW50OjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudChJbmplY3RlZFNjcmlw
dE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckNvbnNvbGVB
Z2VudChpbmplY3RlZFNjcmlwdE1hbmFnZXIpCit7Cit9CiAKLWNsYXNzIFBhZ2VJbmplY3RlZFNj
cmlwdEhvc3QgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdEhvc3Qgewot
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Q+IGNy
ZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0KTsgfQor
dm9pZCBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQo
RXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBib29sKQoreworICAgICplcnJvclN0cmluZyA9IEFT
Q0lJTGl0ZXJhbCgiTm90IHN1cHBvcnRlZCBmb3IgSmF2YVNjcmlwdCBjb250ZXh0Iik7Cit9CiAK
LSAgICB2aXJ0dWFsIEpTQzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1Zh
bHVlKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29sbGVjdGlvbihKU0M6
OkpTVmFsdWUpIG92ZXJyaWRlOwotfTsKK3ZvaWQgSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6
OmFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQpCit7CisgICAg
KmVycm9yU3RyaW5nID0gQVNDSUlMaXRlcmFsKCJOb3Qgc3VwcG9ydGVkIGZvciBKYXZhU2NyaXB0
IGNvbnRleHQiKTsKK30KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQordm9pZCBKU0dsb2JhbE9i
amVjdENvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyogZXJy
b3JTdHJpbmcsIGludCkKK3sKKyAgICAqZXJyb3JTdHJpbmcgPSBBU0NJSUxpdGVyYWwoIk5vdCBz
dXBwb3J0ZWQgZm9yIEphdmFTY3JpcHQgY29udGV4dCIpOworfQorCit9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KLSNlbmRpZiAvLyAhZGVm
aW5lZChQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaApzaW1pbGFy
aXR5IGluZGV4IDU4JQpjb3B5IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmpl
Y3RlZFNjcmlwdEhvc3QuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgKaW5kZXggNjU4MjE4OC4uZTU4NWVi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlw
dEhvc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0ds
b2JhbE9iamVjdENvbnNvbGVBZ2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yMywyNSArMjMsMzMgQEAKICAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAotI2lmbmRlZiBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0X2gKLSNkZWZpbmUgUGFnZUluamVjdGVk
U2NyaXB0SG9zdF9oCisjaWZuZGVmIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50X2gKKyNkZWZp
bmUgSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnRfaAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikK
IAotI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaD4KKyNpbmNsdWRlICJJ
bnNwZWN0b3JDb25zb2xlQWdlbnQuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdFNjcmlwdERl
YnVnU2VydmVyLmgiCiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3Ig
ewogCi1jbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0IGZpbmFsIDogcHVibGljIEluc3BlY3Rv
cjo6SW5qZWN0ZWRTY3JpcHRIb3N0IHsKK2NsYXNzIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50
IGZpbmFsIDogcHVibGljIEluc3BlY3RvckNvbnNvbGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQpOworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNj
cmlwdEhvc3Q+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3Jp
cHRIb3N0KTsgfQorICAgIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KEluamVjdGVkU2NyaXB0
TWFuYWdlciopOworICAgIHZpcnR1YWwgfkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KCkgeyB9
CiAKLSAgICB2aXJ0dWFsIEpTQzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U1ZhbHVlKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29sbGVjdGlvbihK
U0M6OkpTVmFsdWUpIG92ZXJyaWRlOworICAgIC8vIEZJWE1FOiBYSFJzIGFuZCBOb2RlcyBvbmx5
IG1ha2VzIHNlbnNlIGRlYnVnZ2luZyBhIFdlYiBjb250ZXh0LiBDYW4gdGhpcyBiZSBtb3ZlZCB0
byBhIGRpZmZlcmVudCBhZ2VudD8KKyAgICB2aXJ0dWFsIHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVu
YWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpIG92ZXJyaWRlOworICAgIHZpcnR1YWwg
dm9pZCBhZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCkgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJyb3JTdHJpbmcqLCBp
bnQgaW5zcGVjdGVkSGVhcE9iamVjdElkKSBvdmVycmlkZTsKKworICAgIHZpcnR1YWwgYm9vbCBp
c1dvcmtlckFnZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIH07CiAKLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKIAotI2VuZGlmIC8vICFkZWZpbmVkKFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Rf
aCkKKyNlbmRpZiAvLyAhZGVmaW5lZChKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudF9oKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxP
YmplY3REZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKaW5kZXggZDRjMzJkNy4uMmUx
NzUwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwCkBAIC0y
OSwxNSArMjksMjAgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAj
aW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIK
KyNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKKyNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewogCi1KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OkpTR2xvYmFsT2JqZWN0RGVidWdnZXJB
Z2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwgSlNDOjpK
U0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQorSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50
OjpKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmpl
Y3RlZFNjcmlwdE1hbmFnZXIsIEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSW5z
cGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQpCiAgICAgOiBJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50KGluamVjdGVkU2NyaXB0TWFuYWdlcikKICAgICAsIG1fc2NyaXB0RGVidWdTZXJ2ZXIo
Z2xvYmFsT2JqZWN0KQorICAgICwgbV9jb25zb2xlQWdlbnQoY29uc29sZUFnZW50KQogewogfQog
CkBAIC02Miw2ICs2NywxMSBAQCBJbmplY3RlZFNjcmlwdCBKU0dsb2JhbE9iamVjdERlYnVnZ2Vy
QWdlbnQ6OmluamVjdGVkU2NyaXB0Rm9yRXZhbChFcnJvclN0cmluZyogZQogICAgIHJldHVybiBp
bmplY3RlZFNjcmlwdE1hbmFnZXIoKS0+aW5qZWN0ZWRTY3JpcHRGb3IoZXhlYyk7CiB9CiAKK3Zv
aWQgSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7CisgICAgbV9jb25zb2xl
QWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VUeXBl
OjpMb2csIE1lc3NhZ2VMZXZlbDo6TG9nLCBtZXNzYWdlLCBjcmVhdGVTY3JpcHRDYWxsU3RhY2so
ZXhlYywgU2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0cnVlKSwg
MCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmgKaW5kZXggYTlm
ZDY3OS4uMTcwYWQ1MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmgK
QEAgLTMzLDExICszMywxMyBAQAogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAorY2xhc3MgSW5z
cGVjdG9yQ29uc29sZUFnZW50OworCiBjbGFzcyBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQg
ZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50KTsKICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQoSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyKiwgSlNDOjpKU0dsb2JhbE9iamVjdCYpOworICAgIEpTR2xvYmFs
T2JqZWN0RGVidWdnZXJBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBKU0M6OkpTR2xvYmFs
T2JqZWN0JiwgSW5zcGVjdG9yQ29uc29sZUFnZW50Kik7CiAgICAgdmlydHVhbCB+SlNHbG9iYWxP
YmplY3REZWJ1Z2dlckFnZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIEpTR2xvYmFsT2JqZWN0U2Ny
aXB0RGVidWdTZXJ2ZXImIHNjcmlwdERlYnVnU2VydmVyKCkgb3ZlcnJpZGUgeyByZXR1cm4gbV9z
Y3JpcHREZWJ1Z1NlcnZlcjsgfQpAQCAtNDYsOCArNDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHN0b3BMaXN0ZW5pbmdTY3JpcHREZWJ1Z1NlcnZlcihib29sIGlzQmVpbmdEZXN0cm95
ZWQpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgSW5qZWN0ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHRG
b3JFdmFsKEVycm9yU3RyaW5nKiwgY29uc3QgaW50KiBleGVjdXRpb25Db250ZXh0SWQpIG92ZXJy
aWRlOwogCi0gICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgYSBDb25zb2xlQWdlbnQgdG8gc2VuZCBh
IGxvZyB0by4KLSAgICB2aXJ0dWFsIHZvaWQgYnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6OkV4ZWNT
dGF0ZSosIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlIGZpbmFsIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJikgb3Zl
cnJpZGU7CiAKICAgICAvLyBGSVhNRTogSmF2YVNjcmlwdCBpbnNwZWN0b3IgZG9lcyBub3QgeWV0
IGhhdmUgYSBjb25zb2xlIG9iamVjdCB0byBtdXRlLgogICAgIHZpcnR1YWwgdm9pZCBtdXRlQ29u
c29sZSgpIG92ZXJyaWRlIHsgfQpAQCAtNTUsNiArNTYsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAgICAgSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlciBtX3NjcmlwdERlYnVnU2VydmVy
OworICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9Db25zb2xlLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3Byb3RvY29sL0NvbnNvbGUuanNvbgpzaW1pbGFyaXR5IGluZGV4IDg2JQpyZW5hbWUgZnJvbSBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCnJlbmFtZSB0byBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbgppbmRl
eCAzNWJkMTFhLi5mYzNjOTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
cHJvdG9jb2wvQ29uc29sZS5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCkBAIC0zLDYgKzMsMTYgQEAKICAgICAiZGVzY3JpcHRp
b24iOiAiQ29uc29sZSBkb21haW4gZGVmaW5lcyBtZXRob2RzIGFuZCBldmVudHMgZm9yIGludGVy
YWN0aW9uIHdpdGggdGhlIEphdmFTY3JpcHQgY29uc29sZS4gQ29uc29sZSBjb2xsZWN0cyBtZXNz
YWdlcyBjcmVhdGVkIGJ5IG1lYW5zIG9mIHRoZSA8YSBocmVmPSdodHRwOi8vZ2V0ZmlyZWJ1Zy5j
b20vd2lraS9pbmRleC5waHAvQ29uc29sZV9BUEknPkphdmFTY3JpcHQgQ29uc29sZSBBUEk8L2E+
LiBPbmUgbmVlZHMgdG8gZW5hYmxlIHRoaXMgZG9tYWluIHVzaW5nIDxjb2RlPmVuYWJsZTwvY29k
ZT4gY29tbWFuZCBpbiBvcmRlciB0byBzdGFydCByZWNlaXZpbmcgdGhlIGNvbnNvbGUgbWVzc2Fn
ZXMuIEJyb3dzZXIgY29sbGVjdHMgbWVzc2FnZXMgaXNzdWVkIHdoaWxlIGNvbnNvbGUgZG9tYWlu
IGlzIG5vdCBlbmFibGVkIGFzIHdlbGwgYW5kIHJlcG9ydHMgdGhlbSB1c2luZyA8Y29kZT5tZXNz
YWdlQWRkZWQ8L2NvZGU+IG5vdGlmaWNhdGlvbiB1cG9uIGVuYWJsaW5nLiIsCiAgICAgInR5cGVz
IjogWwogICAgICAgICB7CisgICAgICAgICAgICAiaWQiOiAiQ29uc29sZU5ldHdvcmtSZXF1ZXN0
SWQiLAorICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKKyAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJVbmlxdWUgcmVxdWVzdCBpZGVudGlmaWVyLiBGSVhNRTogRHVwbGljYXRlIG9mIE5l
dHdvcmsuUmVxdWVzdElkIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMjU2NjQ+IFdlYiBJbnNwZWN0
b3I6IEZJWCBUeXBlIERlcGVuZGVuY3kgSXNzdWVzIgorICAgICAgICB9LAorICAgICAgICB7Cisg
ICAgICAgICAgICAiaWQiOiAiQ29uc29sZURPTU5vZGVJZCIsCisgICAgICAgICAgICAidHlwZSI6
ICJpbnRlZ2VyIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUgRE9NIG5vZGUg
aWRlbnRpZmllci4gRklYTUU6IER1cGxpY2F0ZSBvZiBET00uTm9kZUlkIDxodHRwczovL3dlYmtp
dC5vcmcvYi8xMjU2NjQ+IFdlYiBJbnNwZWN0b3I6IEZJWCBUeXBlIERlcGVuZGVuY3kgSXNzdWVz
IgorICAgICAgICB9LAorICAgICAgICB7CiAgICAgICAgICAgICAiaWQiOiAiQ29uc29sZU1lc3Nh
Z2UiLAogICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJDb25zb2xlIG1lc3NhZ2UuIiwKQEAgLTE3LDcgKzI3LDcgQEAKICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInJlcGVhdENvdW50IiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25h
bCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJSZXBlYXQgY291bnQgZm9yIHJlcGVhdGVkIG1lc3Nh
Z2VzLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhcmFtZXRlcnMiLCAidHlwZSI6
ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiUnVudGltZS5SZW1vdGVPYmplY3QiIH0sICJv
cHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJNZXNzYWdlIHBhcmFtZXRlcnMgaW4gY2Fz
ZSBvZiB0aGUgZm9ybWF0dGVkIG1lc3NhZ2UuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAic3RhY2tUcmFjZSIsICIkcmVmIjogIlN0YWNrVHJhY2UiLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiSmF2YVNjcmlwdCBzdGFjayB0cmFjZSBmb3IgYXNzZXJ0aW9ucyBhbmQg
ZXJyb3IgbWVzc2FnZXMuIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmV0d29ya1Jl
cXVlc3RJZCIsICIkcmVmIjogIk5ldHdvcmsuUmVxdWVzdElkIiwgIm9wdGlvbmFsIjogdHJ1ZSwg
ImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIgb2YgdGhlIG5ldHdvcmsgcmVxdWVzdCBhc3NvY2lh
dGVkIHdpdGggdGhpcyBtZXNzYWdlLiIgfQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmV0
d29ya1JlcXVlc3RJZCIsICIkcmVmIjogIkNvbnNvbGVOZXR3b3JrUmVxdWVzdElkIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIgb2YgdGhlIG5ldHdvcmsgcmVx
dWVzdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZXNzYWdlLiIgfQogICAgICAgICAgICAgXQogICAg
ICAgICB9LAogICAgICAgICB7CkBAIC02MSw3ICs3MSw3IEBACiAgICAgICAgIHsKICAgICAgICAg
ICAgICJuYW1lIjogImFkZEluc3BlY3RlZE5vZGUiLAogICAgICAgICAgICAgInBhcmFtZXRlcnMi
OiBbCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJET00uTm9k
ZUlkIiwgImRlc2NyaXB0aW9uIjogIkRPTSBub2RlIGlkIHRvIGJlIGFjY2Vzc2libGUgYnkgbWVh
bnMgb2YgJHggY29tbWFuZCBsaW5lIEFQSS4iIH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjog
Im5vZGVJZCIsICIkcmVmIjogIkNvbnNvbGVET01Ob2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiRE9N
IG5vZGUgaWQgdG8gYmUgYWNjZXNzaWJsZSBieSBtZWFucyBvZiAkeCBjb21tYW5kIGxpbmUgQVBJ
LiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGVz
IGNvbnNvbGUgdG8gcmVmZXIgdG8gdGhlIG5vZGUgd2l0aCBnaXZlbiBpZCB2aWEgJHggKHNlZSBD
b21tYW5kIExpbmUgQVBJIGZvciBtb3JlIGRldGFpbHMgJHggZnVuY3Rpb25zKS4iCiAgICAgICAg
IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
Z2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkK
aW5kZXggZGIxNjNiZi4uNTM2NjAzMSAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5Cisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1jb21i
aW5lZC1pbnNwZWN0b3ItanNvbi5weQpAQCAtNjYsMyArNjYsNCBAQCBmb3IgZmlsZSBpbiBmaWxl
czoKIAogICAgIHByaW50KHN0cmluZy5yc3RyaXAoKSkKIHByaW50KCJdfSIpCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggODA0Yzg0NS4uMDFkNmJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTc2MCw3ICs3NjAsNiBAQCBzZXQoV2ViQ29yZV9JTlNQRUNUT1JfRE9NQUlOUwogICAgIGluc3Bl
Y3Rvci9wcm90b2NvbC9BcHBsaWNhdGlvbkNhY2hlLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9j
b2wvQ1NTLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9jb2wvQ2FudmFzLmpzb24KLSAgICBpbnNw
ZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5q
c29uCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0RPTURlYnVnZ2VyLmpzb24KICAgICBpbnNwZWN0
b3IvcHJvdG9jb2wvRE9NU3RvcmFnZS5qc29uCkBAIC0xNTY2LDE2ICsxNTY1LDEzIEBAIHNldChX
ZWJDb3JlX1NPVVJDRVMKIAogICAgIGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCiAg
ICAgaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcAotICAgIGluc3BlY3Rvci9Db25z
b2xlTWVzc2FnZS5jcHAKICAgICBpbnNwZWN0b3IvRE9NRWRpdG9yLmNwcAogICAgIGluc3BlY3Rv
ci9ET01QYXRjaFN1cHBvcnQuY3BwCi0gICAgaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5j
cHAKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuY3BwCiAgICAgaW5z
cGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ1NTQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhc0FnZW50
LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuY3BwCi0gICAgaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuY3BwCiAgICAgaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTYwOSwxMCArMTYwNSw4IEBAIHNldChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5jcHAKICAgICBp
bnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKICAgICBpbnNwZWN0b3IvUGFn
ZVJ1bnRpbWVBZ2VudC5jcHAKLSAgICBpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcAotICAg
IGluc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCi0gICAgaW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFjay5jcHAKICAgICBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAorICAgIGlu
c3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL1dlYkRlYnVnZ2VyQWdl
bnQuY3BwCiAgICAgaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0
b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZWRmNGM3Li4xMzBmYzg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjc0IEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIENv
bnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgICAtIE1vdmUgSW5zcGVjdG9yQ29uc29sZUFn
ZW50IGFuZCBkZXBlbmRlbmNpZXMgdG8gSmF2YVNjcmlwdENvcmUKKyAgICAgICAgICAgIGFuZCBp
bnRvIHRoZSBJbnNwZWN0b3IgbmFtZXNwYWNlLgorICAgICAgICAgIC0gVXBkYXRlIENvbnNvbGUg
TWVzc2FnZSBlbnVtIHR5cGVzIHRvIGVudW0gY2xhc3NlcyBhbmQgdXBkYXRlCisgICAgICAgICAg
ICBhbGwgdXNlcnMgdG8gdGhlIG5ldywgc2ltcGxlciBuYW1lcy4KKyAgICAgICAgICAtIFNpbmNl
IHdlIGFyZSB1cGRhdGluZyBhZGRDb25zb2xlTWVzc2FnZSBjYWxsc2l0ZXMgYW55d2F5cywgYWRk
CisgICAgICAgICAgICBBU0NJSUxpdGVyYWwgd2hlcmUgYXBwcm9wcmlhdGUuCisgICAgICAgICAg
LSBBZGQgV2ViQ29uc29sZUFnZW50IGJhc2Ugb2YgUGFnZS9Xb3JrZXIgQ29uc29sZUFnZW50IHRv
IGltcGxlbWVudAorICAgICAgICAgICAgd2hhdCBjb3VsZCBub3QgYmUgcHVzaGVkIGludG8gSmF2
YVNjcmlwdENvcmUuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNw
ZWN0b3IvQ29uc29sZVR5cGVzLmg6IEFkZGVkLgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJz
L2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaDogQWRkZWQuCisgICAgICAgICogRm9yd2Fy
ZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oOiBBZGRlZC4KKyAgICAgICAg
KiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmg6IEFkZGVkLgor
ICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaDog
QWRkZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFja0ZhY3RvcnkuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaDogQWRkZWQuCisgICAgICAgICogR05V
bWFrZWZpbGUuYW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgQWRk
IC8gcmVtb3ZlIGZpbGVzIGZyb20gYnVpbGRzLgorCisgICAgICAgICogaW5zcGVjdG9yL1dlYkNv
bnNvbGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2VudDo6V2ViQ29uc29sZUFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVu
YWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50OjpmcmFtZVdpbmRvd0Rp
c2NhcmRlZCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6OmRpZEZpbmlzaFhI
UkxvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50OjpkaWRSZWNlaXZl
UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50OjpkaWRGYWlsTG9h
ZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZEhl
YXBPYmplY3QpOgorICAgICAgICBJbXBsZW1lbnQgd2hhdCBjb3VsZCBub3QgYmUgcHVzaGVkIGRv
d24gaW50byBKYXZhU2NyaXB0Q29yZS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50
aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjp3ZWJD
b25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0
V2ViQ29uc29sZUFnZW50KToKKyAgICAgICAgSG9sZCBhIFdlYkNvbnNvbGVBZ2VudCBpbnN0ZWFk
IG9mIEluc3BlY3RvckNvbnNvbGVBZ2VudC4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQkN1cnNvci5jcHA6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2Uu
Y3BwOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAg
ICAgICAgKiBNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVdpbmRvd1F1b3RhOjp3ZWJraXRTdG9yYWdlSW5mbyk6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
QnVmZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9k
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYW5uZXJOb2RlOjpzZXRQYW5uaW5nTW9kZWwpOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRhdGFiYXNlQmFzZTo6bG9nRXJyb3JNZXNzYWdlKToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
YXRhYmFzZU1hbmFnZXI6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmNvbm5l
Y3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5kKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYlNvY2tldDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZXRC
aW5hcnlUeXBlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpmYWlsKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0pOgorICAg
ICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAg
ICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJz
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU0F1ZGlvQ29udGV4dENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKU0F1ZGlvQ29udGV4dCk6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SlNDdXN0b21YUGF0aE5TUmVzb2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVSSSk6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1N1
YnRsZUNyeXB0bzo6ZW5jcnlwdCk6CisgICAgICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6
ZGVjcnlwdCk6CisgICAgICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6c2lnbik6CisgICAg
ICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6dmVyaWZ5KToKKyAgICAgICAgKFdlYkNvcmU6
OkpTU3VidGxlQ3J5cHRvOjp3cmFwS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkpTU3VidGxlQ3J5
cHRvOjp1bndyYXBLZXkpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlw
dHMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAg
ICAgICAoR2VuZXJhdGVDYWxsV2l0aCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OmxvZ0Vycm9yKToKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29u
c29sZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnByb2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZE1l
c3NhZ2UpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OmV4ZWN1dGVTY3Jp
cHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6bm90aWZ5RmluaXNoZWQpOgor
ICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKiBkb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2aWV3cG9ydEVycm9yTWVzc2FnZUxldmVsKToKKyAg
ICAgICAgKFdlYkNvcmU6OnJlcG9ydFZpZXdwb3J0V2FybmluZyk6CisgICAgICAgICogZmlsZWFw
aS9CbG9iLmNwcDoKKyAgICAgICAgKiBmaWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6c2hvdWxkQXV0b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVs
eSk6CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6Z2V0SW1hZ2VEYXRhKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpwcmlu
dFdhcm5pbmdUb0NvbnNvbGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6aW5pdCk6CisgICAgICAgICogaHRtbC9w
YXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0
b3JEZWxlZ2F0ZTo6ZGlkQmxvY2tTY3JpcHQpOgorICAgICAgICAqIGluc3BlY3Rvci9Db21tYW5k
TGluZUFQSUhvc3QuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3Qu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbW1hbmRMaW5lQVBJSG9zdDo6aW5pdCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZVRpbWVTdGFt
cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZFByb2Zp
bGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpmcmFtZVdpbmRvd0Rpc2NhcmRlZEltcGwpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZUlt
cGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWls
TG9hZGluZ0ltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRGaW5pc2hYSFJMb2FkaW5nSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Omlz
Q29uc29sZUFzc2VydE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudEltcGwpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdGFydENvbnNvbGVUaW1pbmdJbXBsKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcENvbnNvbGVU
aW1pbmdJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
Y29uc29sZUFnZW50RW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2Vu
dC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6YWRkUHJvZmlsZUZpbmlzaGVkTWVzc2FnZVRv
Q29uc29sZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjphZGRT
dGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JQcm9maWxlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291
cmNlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6
YnVpbGRJbml0aWF0b3JPYmplY3QpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpJbnN0cnVtZW50aW5n
QWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlQ29uc29sZUFnZW50OjpQYWdlQ29uc29sZUFnZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2VDb25zb2xlQWdlbnQ6OmNsZWFyTWVzc2FnZXMpOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZUNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZSk6CisgICAgICAgICogaW5zcGVjdG9y
L1BhZ2VDb25zb2xlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZURlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRB
Y3Rpb25Mb2cpOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0Lmg6
CisgICAgICAgICogaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZCk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6On5XZWJDb25zb2xlQWdlbnQpOgorICAgICAgICAq
IGluc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyQ29uc29sZUFnZW50OjpXb3JrZXJDb25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyQ29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvV29ya2VyQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckRlYnVn
Z2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyRGVidWdnZXJBZ2VudDo6YnJl
YWtwb2ludEFjdGlvbkxvZyk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxl
cjo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJl
Y2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6aGFuZGxlQmVmb3JlVW5sb2FkRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKToKKyAgICAgICAgKFdl
YkNvcmU6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAg
ICogbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWl4
ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmNvcnNQb2xp
Y3lQcmV2ZW50ZWRMb2FkKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNl
aXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpk
aWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91
cDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRp
ZFJlY2VpdmVNYW5pZmVzdFJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKToKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVuaWVkTWVzc2FnZSk6CisgICAg
ICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aW50ZXJuYWxBZGRNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnNvbGU6OmRlYnVnKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmVycm9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmxvZyk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xl
Ojp3YXJuKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmRpcik6CisgICAgICAgIChXZWJD
b3JlOjpDb25zb2xlOjpkaXJ4bWwpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6dGFibGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6
Q29uc29sZTo6dHJhY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6YXNzZXJ0Q29uZGl0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Omdyb3VwKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnNvbGU6Omdyb3VwQ29sbGFwc2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6
Omdyb3VwRW5kKToKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaDoKKyAgICAgICAgKiBwYWdlL0Nv
bnNvbGVUeXBlcy5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9s
aWN5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0
VmlvbGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6bG9n
VG9Db25zb2xlKToKKyAgICAgICAgKiBwYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnBv
c3RNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdl
RXZlbnRXaXRoT3JpZ2luQ2hlY2spOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjbG9z
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnByaW50RXJyb3JNZXNzYWdlKToKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkRmFpbEFjY2Vzc0NvbnRyb2xDaGVjayk6
CisgICAgICAgICogcGFnZS9QYWdlQ29uc29sZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Q29uc29sZTo6cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgpOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbnNv
bGUuaDoKKyAgICAgICAgKiBwYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQb2ludGVyTG9ja0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayk6Cisg
ICAgICAgICogcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvc2hhcGVzL1NoYXBlSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjaGVja1NoYXBlSW1h
Z2VPcmlnaW4pOgorICAgICAgICAqIHN2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6cmVwb3J0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1
bWVudEV4dGVuc2lvbnM6OnJlcG9ydFdhcm5pbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9j
dW1lbnRFeHRlbnNpb25zOjpyZXBvcnRFcnJvcik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpjb25zb2xlTWVzc2FnZUFyZ3Vt
ZW50Q291bnRzKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0
b3J5LmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpsb2dFeGNlcHRpb25U
b0NvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlckdsb2JhbFNjb3BlOjphZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKToKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQ
cm94eS5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpsb2dDb25zb2xlRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6
OnNlbmQpOgorICAgICAgICAqIHhtbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpYU0xUUHJvY2Vzc29yOjpwYXJzZUVycm9yRnVuYyk6CisKIDIwMTQtMDItMDYg
IFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0NTUyBTaGFw
ZXNdIFNpbXBsaWZ5IEJhc2ljU2hhcGVJbnNldCBjcmVhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggMGY2ZGJjNC4uYzI4ZGQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0xMDkyLDcgKzEwOTIsNiBAQCBJTlNQRUNUT1JfRE9NQUlOUyA9IFwKICAgICAk
KFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9BcHBsaWNhdGlvbkNhY2hlLmpzb24gXAogICAg
ICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uIFwKICAgICAkKFdlYkNvcmUp
L2luc3BlY3Rvci9wcm90b2NvbC9DYW52YXMuanNvbiBcCi0gICAgJChXZWJDb3JlKS9pbnNwZWN0
b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90
b2NvbC9ET00uanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NRGVi
dWdnZXIuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NU3RvcmFn
ZS5qc29uIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2lu
c3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uY2Q1N2QxNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Zvcndh
cmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0wLDAgKzEsNCBAQAor
I2lmbmRlZiBXZWJDb3JlX0ZXRF9Db25zb2xlTWVzc2FnZV9oCisjZGVmaW5lIFdlYkNvcmVfRldE
X0NvbnNvbGVNZXNzYWdlX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlTWVzc2Fn
ZS5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVy
cy9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVh
ZGVycy9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uN2I3MjlkNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Zvcndh
cmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlVHlwZXMuaApAQCAtMCwwICsxLDQgQEAKKyNp
Zm5kZWYgV2ViQ29yZV9GV0RfQ29uc29sZVR5cGVzX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfQ29u
c29sZVR5cGVzX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4KKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVj
dG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjhhMTM1YjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9G
b3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmgKQEAgLTAsMCAr
MSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0lkZW50aWZpZXJzRmFjdG9yeV9oCisjZGVmaW5l
IFdlYkNvcmVfRldEX0lkZW50aWZpZXJzRmFjdG9yeV9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWE2Zjk4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEFy
Z3VtZW50cy5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9TY3JpcHRBcmd1
bWVudHNfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHRBcmd1bWVudHNfaAorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL1NjcmlwdEFyZ3VtZW50cy5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2Fs
bEZyYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc2Nzg1OAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rv
ci9TY3JpcHRDYWxsRnJhbWUuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0Rf
U2NyaXB0Q2FsbEZyYW1lX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0Q2FsbEZyYW1lX2gK
KyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsRnJhbWUuaD4KKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdk
OTdmN2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVy
cy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdl
YkNvcmVfRldEX1NjcmlwdENhbGxTdGFja19oCisjZGVmaW5lIFdlYkNvcmVfRldEX1NjcmlwdENh
bGxTdGFja19oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrLmg+Cisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5n
SGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MWU3YzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9TY3JpcHRDYWxsU3RhY2tG
YWN0b3J5X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeV9oCisj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmVjZWFhCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JDb25zb2xlQWdlbnQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSW5z
cGVjdG9yQ29uc29sZUFnZW50X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfSW5zcGVjdG9yQ29uc29s
ZUFnZW50X2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
aD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA2ZTQ4OTU0Li4yZTJhY2NiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMzM3LDcgKzMzNyw2IEBAIFdlYkNvcmVfSU5TUEVDVE9SX0RP
TUFJTlMgOj0gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0FwcGxpY2F0aW9u
Q2FjaGUuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1NTLmpzb24g
XAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZhcy5qc29uIFwKLSAgICAk
KFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24gXAogICAgICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rv
ci9wcm90b2NvbC9ET01EZWJ1Z2dlci5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9w
cm90b2NvbC9ET01TdG9yYWdlLmpzb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5k
ZXggNWRiZWE4Mi4uMTkzYzQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0y
NDM2LDggKzI0MzYsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBcCi0JU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENvbnRyb2xsZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0SGVhcFNu
YXBzaG90LmggXApAQCAtMzc0NCwxNSArMzc0MiwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmggXAotCVNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVN
ZXNzYWdlLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0b3IuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
RE9NUGF0Y2hTdXBwb3J0LmggXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVy
c0ZhY3RvcnkuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0
b3J5LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZhc01v
ZHVsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZh
c01vZHVsZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50LmNwcCBcCkBAIC0zNzY0LDggKzM3NTcsNiBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIFwKLQlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBcCi0JU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuaCBcCkBAIC0zODM4LDE0ICszODI5LDEwIEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNj
cmlwdE1hbmFnZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdl
bnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oIFwK
LQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcCBcCi0JU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIFwKLQlTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1NjcmlwdENhbGxGcmFtZS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oIFwKKwlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcCBcCisJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV2ViRGVidWdnZXJBZ2VudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
ZWJEZWJ1Z2dlckFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25z
b2xlQWdlbnQuY3BwIFwKQEAgLTQwNTQsNyArNDA0MSw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUv
cGFnZS9Db25zb2xlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmggXAotCVNv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50
U2VjdXJpdHlQb2xpY3kuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVu
dC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1
cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3Bw
CmluZGV4IGY2ZWEzMGUuLjkxYTc3ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQ3Vyc29yLmNwcApAQCAtMzcsOCArMzcsOCBAQAogI2luY2x1ZGUgIklEQlJl
cXVlc3QuaCIKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2lu
Y2x1ZGUgPGxpbWl0cz4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCmluZGV4IDQwMTExOWEuLjgzZTQ3
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFi
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFz
ZS5jcHAKQEAgLTQ0LDkgKzQ0LDkgQEAKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbi5oIgogI2lu
Y2x1ZGUgIklEQlZlcnNpb25DaGFuZ2VFdmVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSA8YXRvbWljPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24u
Y3BwCmluZGV4IDhkNmQ1M2EuLmZmMjUwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKQEAgLTM5LDcgKzM5LDYgQEAKICNp
bmNsdWRlICJJREJPcGVuREJSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSURCUGVuZGluZ1RyYW5zYWN0
aW9uTW9uaXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxs
U3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvRE9N
V2luZG93UXVvdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dR
dW90YS5jcHAKaW5kZXggZWEzZDY1OS4uMjI3MGEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgU3RvcmFn
ZUluZm8qIERPTVdpbmRvd1F1b3RhOjp3ZWJraXRTdG9yYWdlSW5mbyhET01XaW5kb3cqIHdpbmRv
dykKIFN0b3JhZ2VJbmZvKiBET01XaW5kb3dRdW90YTo6d2Via2l0U3RvcmFnZUluZm8oKSBjb25z
dAogewogICAgIGlmICghbV9zdG9yYWdlSW5mbyAmJiBmcmFtZSgpKSB7Ci0gICAgICAgIGZyYW1l
KCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2Fybmlu
Z01lc3NhZ2VMZXZlbCwgIndpbmRvdy53ZWJraXRTdG9yYWdlSW5mbyBpcyBkZXByZWNhdGVkLiBV
c2UgbmF2aWdhdG9yLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2Ugb3IgbmF2aWdhdG9yLndlYmtpdFBl
cnNpc3RlbnRTdG9yYWdlIGluc3RlYWQuIik7CisgICAgICAgIGZyYW1lKCktPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6Oldhcm5p
bmcsIEFTQ0lJTGl0ZXJhbCgid2luZG93LndlYmtpdFN0b3JhZ2VJbmZvIGlzIGRlcHJlY2F0ZWQu
IFVzZSBuYXZpZ2F0b3Iud2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBvciBuYXZpZ2F0b3Iud2Via2l0
UGVyc2lzdGVudFN0b3JhZ2UgaW5zdGVhZC4iKSk7CiAgICAgICAgIG1fc3RvcmFnZUluZm8gPSBT
dG9yYWdlSW5mbzo6Y3JlYXRlKCk7CiAgICAgfQogICAgIHJldHVybiBtX3N0b3JhZ2VJbmZvLmdl
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1
ZmZlclNvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0J1ZmZlclNvdXJjZU5vZGUuY3BwCmluZGV4IDhlZTZkNjEuLjYyMDBmYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNl
Tm9kZS5jcHAKQEAgLTMyLDEwICszMiwxMCBAQAogI2luY2x1ZGUgIkF1ZGlvTm9kZU91dHB1dC5o
IgogI2luY2x1ZGUgIkF1ZGlvVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9u
LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJv
bGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDxh
bGdvcml0aG0+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1
ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNs
dWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC00NjAsNyArNDYwLDcgQEAgYm9vbCBBdWRpb0J1
ZmZlclNvdXJjZU5vZGU6Omxvb3BpbmcoKQogewogICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9
IHRydWU7CiAgICAgaWYgKGZpcnN0VGltZSAmJiBjb250ZXh0KCkgJiYgY29udGV4dCgpLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01l
c3NhZ2VMZXZlbCwgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlz
IGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7CisgICAgICAgIGNvbnRleHQoKS0+
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBBU0NJSUxpdGVyYWwoIkF1ZGlvQnVmZmVyU291
cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGlu
c3RlYWQuIikpOwogICAgICAgICBmaXJzdFRpbWUgPSBmYWxzZTsKICAgICB9CiAKQEAgLTQ3MSw3
ICs0NzEsNyBAQCB2b2lkIEF1ZGlvQnVmZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyhib29sIGxv
b3BpbmcpCiB7CiAgICAgc3RhdGljIGJvb2wgZmlyc3RUaW1lID0gdHJ1ZTsKICAgICBpZiAoZmly
c3RUaW1lICYmIGNvbnRleHQoKSAmJiBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSkgewotICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiQXVkaW9C
dWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAn
bG9vcCcgaW5zdGVhZC4iKTsKKyAgICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6
Oldhcm5pbmcsIEFTQ0lJTGl0ZXJhbCgiQXVkaW9CdWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBh
dHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4iKSk7CiAgICAgICAg
IGZpcnN0VGltZSA9IGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IDQ4NTRmZjAuLmFjMjI1MDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAg
LTU1LDcgKzU1LDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFubmVyTm9kZS5o
IgogI2luY2x1ZGUgIlBlcmlvZGljV2F2ZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5o
IgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlICJTY3Jp
cHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvY2Vzc29yTm9kZS5oIgogI2luY2x1
ZGUgIldhdmVTaGFwZXJOb2RlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9QYW5uZXJOb2RlLmNwcAppbmRleCAxN2JmMTMwLi44MjI1ODlmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHAKQEAgLTIwNSw3ICsyMDUsNyBA
QCBib29sIFBhbm5lck5vZGU6OnNldFBhbm5pbmdNb2RlbCh1bnNpZ25lZCBtb2RlbCkKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBTT1VOREZJRUxEOgogICAgICAgICAvLyBGSVhNRTogSW1wbGVt
ZW50IHNvdW5kIGZpZWxkIG1vZGVsLiBTZWUgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc3MzY3LgotICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2Fn
ZUxldmVsLCAiJ3NvdW5kZmllbGQnIHBhbm5pbmcgbW9kZWwgbm90IGltcGxlbWVudGVkLiIpOwor
ICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgQVNDSUlMaXRl
cmFsKCInc291bmRmaWVsZCcgcGFubmluZyBtb2RlbCBub3QgaW1wbGVtZW50ZWQuIikpOwogICAg
ICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAKaW5k
ZXggYWYyMzc3YS4uNWYxMGJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9EYXRhYmFzZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcApAQCAtNDYsNyArNDYsNyBAQCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBEYXRhYmFzZUJhc2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25z
dAogCiB2b2lkIERhdGFiYXNlQmFzZTo6bG9nRXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKIHsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdl
KFN0b3JhZ2VNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpTdG9yYWdlLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IDBiNjBjOTYuLjFmMDI1YWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdl
ci5jcHAKQEAgLTQ2Nyw3ICs0NjcsNyBAQCB2b2lkIERhdGFiYXNlTWFuYWdlcjo6aW50ZXJydXB0
QWxsRGF0YWJhc2VzRm9yQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogCiB2b2lk
IERhdGFiYXNlTWFuYWdlcjo6bG9nRXJyb3JNZXNzYWdlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBjb250ZXh0LT5hZGRDb25z
b2xlTWVzc2FnZShTdG9yYWdlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UpOworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlN0b3Jh
Z2UsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQu
Y3BwCmluZGV4IDcyYjE5MmEuLmQzMTYwZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC00OCwxMiArNDgsMTIgQEAKICNpbmNsdWRl
ICJGcmFtZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQu
aCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9s
bGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCIK
ICNpbmNsdWRlICJXZWJTb2NrZXRDaGFubmVsLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRl
IDxydW50aW1lL0FycmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBA
IC0yMTQsMjYgKzIxNCwyNiBAQCB2b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29scywgRXhjZQogICAgIG1fdXJsID0g
VVJMKFVSTCgpLCB1cmwpOwogCiAgICAgaWYgKCFtX3VybC5pc1ZhbGlkKCkpIHsKLSAgICAgICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91
cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOworICAgICAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNz
YWdlTGV2ZWw6OkVycm9yLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3Ry
aW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VE
OwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBpZiAoIW1fdXJsLnByb3RvY29sSXMoIndzIikgJiYgIW1fdXJsLnByb3RvY29sSXMoIndzcyIp
KSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVybCBzY2hlbWUgZm9y
IFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOwor
ICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiV3JvbmcgdXJsIHNjaGVtZSBmb3Ig
V2ViU29ja2V0ICIgKyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAg
ICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAobV91cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkp
IHsKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiVVJMIGhhcyBmcmFnbWVudCBjb21w
b25lbnQgIiArIG1fdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpKTsKKyAgICAg
ICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIlVSTCBoYXMgZnJhZ21lbnQgY29tcG9uZW50
ICIgKyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAgICAgICAgIG1f
c3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBpZiAoIXBvcnRBbGxvd2VkKG1fdXJsKSkgewotICAgICAgICBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcG9ydCAiICsgU3RyaW5nOjpudW1iZXIobV91cmwu
cG9ydCgpKSArICIgYmxvY2tlZCIpOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9y
LCAiV2ViU29ja2V0IHBvcnQgIiArIFN0cmluZzo6bnVtYmVyKG1fdXJsLnBvcnQoKSkgKyAiIGJs
b2NrZWQiKTsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgZWMgPSBTRUNVUklU
WV9FUlI7CiAgICAgICAgIHJldHVybjsKQEAgLTI2NCw3ICsyNjQsNyBAQCB2b2lkIFdlYlNvY2tl
dDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3Rv
Y29scywgRXhjZQogICAgIC8vIGNvbXBseSB3aXRoIFdlYlNvY2tldCBBUEkgc3BlY2lmaWNhdGlv
biwgYnV0IGl0IHNlZW1zIHRvIGJlIHRoZSBvbmx5IHJlYXNvbmFibGUgd2F5IHRvIGhhbmRsZSB0
aGlzIGNvbmZsaWN0LgogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvdG9jb2xzLnNpemUo
KTsgKytpKSB7CiAgICAgICAgIGlmICghaXNWYWxpZFByb3RvY29sU3RyaW5nKHByb3RvY29sc1tp
XSkpIHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3RvY29s
IGZvciBXZWJTb2NrZXQgJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsg
IiciKTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJXcm9uZyBwcm90
b2NvbCBmb3IgV2ViU29ja2V0ICciICsgZW5jb2RlUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ld
KSArICInIik7CiAgICAgICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICAgICAgZWMg
PSBTWU5UQVhfRVJSOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjczLDcgKzI3Myw3IEBAIHZv
aWQgV2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgSGFzaFNldDxTdHJpbmc+IHZpc2l0ZWQ7CiAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm90b2NvbHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAg
aWYgKCF2aXNpdGVkLmFkZChwcm90b2NvbHNbaV0pLmlzTmV3RW50cnkpIHsKLSAgICAgICAgICAg
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBwcm90b2NvbHMgY29udGFpbiBkdXBs
aWNhdGVzOiAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkgKyAiJyIpOwor
ICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldlYlNvY2tldCBwcm90b2Nv
bHMgY29udGFpbiBkdXBsaWNhdGVzOiAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29s
c1tpXSkgKyAiJyIpOwogICAgICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgICAg
IGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTMwNSw3ICszMDUsNyBA
QCB2b2lkIFdlYlNvY2tldDo6c2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogICAgIEFTU0VSVChtX2NoYW5uZWwpOwogICAgIFRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsOjpTZW5kUmVzdWx0IHJlc3VsdCA9IG1fY2hhbm5lbC0+c2VuZChtZXNzYWdlKTsKICAg
ICBpZiAocmVzdWx0ID09IFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpJbnZhbGlkTWVzc2Fn
ZSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJzb2NrZXQgbWVzc2FnZSBj
b250YWlucyBpbnZhbGlkIGNoYXJhY3RlcihzKS4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxl
dmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJXZWJzb2NrZXQgbWVzc2FnZSBjb250YWlucyBpbnZh
bGlkIGNoYXJhY3RlcihzKS4iKSk7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KQEAgLTM3OCw3ICszNzgsNyBAQCB2b2lkIFdlYlNvY2tldDo6Y2xvc2Uo
aW50IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVhc29uLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAg
ICAgfQogICAgICAgICBDU3RyaW5nIHV0ZjggPSByZWFzb24udXRmOChTdHJpY3RDb252ZXJzaW9u
UmVwbGFjaW5nVW5wYWlyZWRTdXJyb2dhdGVzV2l0aEZGRkQpOwogICAgICAgICBpZiAodXRmOC5s
ZW5ndGgoKSA+IG1heFJlYXNvblNpemVJbkJ5dGVzKSB7Ci0gICAgICAgICAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgY2xvc2UgbWVzc2FnZSBpcyB0b28gbG9uZy4iKTsKKyAg
ICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiV2ViU29j
a2V0IGNsb3NlIG1lc3NhZ2UgaXMgdG9vIGxvbmcuIikpOwogICAgICAgICAgICAgZWMgPSBTWU5U
QVhfRVJSOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC00NDMsNyArNDQzLDcg
QEAgdm9pZCBXZWJTb2NrZXQ6OnNldEJpbmFyeVR5cGUoY29uc3QgU3RyaW5nJiBiaW5hcnlUeXBl
KQogICAgICAgICBtX2JpbmFyeVR5cGUgPSBCaW5hcnlUeXBlQXJyYXlCdWZmZXI7CiAgICAgICAg
IHJldHVybjsKICAgICB9Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xl
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiJyIgKyBiaW5hcnlU
eXBlICsgIicgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGJpbmFyeVR5cGU7IGJpbmFyeVR5cGUg
cmVtYWlucyB1bmNoYW5nZWQuIik7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRD
b25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIici
ICsgYmluYXJ5VHlwZSArICInIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBiaW5hcnlUeXBlOyBi
aW5hcnlUeXBlIHJlbWFpbnMgdW5jaGFuZ2VkLiIpOwogfQogCiBFdmVudFRhcmdldEludGVyZmFj
ZSBXZWJTb2NrZXQ6OmV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRl
eCA3MTY0ZWRjLi44MWM2Zjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC00OCwxNCArNDgsMTIgQEAKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VSZXF1ZXN0LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5j
bHVkZSAiU29ja2V0U3RyZWFtRXJyb3IuaCIKICNpbmNsdWRlICJTb2NrZXRTdHJlYW1IYW5kbGUu
aCIKICNpbmNsdWRlICJXZWJTb2NrZXRDaGFubmVsQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViU29j
a2V0SGFuZHNoYWtlLmgiCi0KICNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CiAjaW5j
bHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KQEAgLTE5OCw3
ICsxOTYsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFz
b24pCiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7CiAgICAgaWYgKG1fZG9jdW1lbnQpIHsKICAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVF
cnJvcihtX2RvY3VtZW50LCBtX2lkZW50aWZpZXIsIHJlYXNvbik7Ci0gICAgICAgIG1fZG9jdW1l
bnQtPmFkZENvbnNvbGVNZXNzYWdlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIldlYlNvY2tldCBjb25uZWN0aW9uIHRvICciICsgbV9oYW5kc2hha2UtPnVybCgpLnN0
cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgZmFpbGVkOiAiICsgcmVhc29uKTsK
KyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6TmV0
d29yaywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldlYlNvY2tldCBjb25uZWN0aW9uIHRvICciICsg
bV9oYW5kc2hha2UtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicg
ZmFpbGVkOiAiICsgcmVhc29uKTsKICAgICB9CiAKICAgICAvLyBIeWJpLTEwIHNwZWNpZmljYXRp
b24gZXhwbGljaXRseSBzdGF0ZXMgd2UgbXVzdCBub3QgY29udGludWUgdG8gaGFuZGxlIGluY29t
aW5nIGRhdGEKQEAgLTMzNSw3ICszMzMsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZEZh
aWxTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFNvYwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICBtZXNzYWdlID0gIldlYlNvY2tldCBuZXR3b3JrIGVycm9y
OiAiICsgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKTsKICAgICAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihtX2RvY3VtZW50LCBt
X2lkZW50aWZpZXIsIG1lc3NhZ2UpOwotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVz
c2FnZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwor
ICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpOZXR3
b3JrLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKICAgICB9CiAgICAgbV9zaG91bGRE
aXNjYXJkUmVjZWl2ZWREYXRhID0gdHJ1ZTsKICAgICBoYW5kbGUtPmRpc2Nvbm5lY3QoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5k
c2hha2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhh
bmRzaGFrZS5jcHAKaW5kZXggZTY3ODJjZi4uNjg2ZjRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKQEAg
LTQ0LDcgKzQ0LDYgQEAKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgi
CiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
T3JpZ2luLmgiCiAjaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9Vc2VKU0MuY21ha2UKaW5kZXggMzcyZTVkOS4uMjhkY2FlNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvVXNlSlNDLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQpA
QCAtMTU5LDcgKzE1OSw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRp
bmdzL2pzL1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKICAgICBiaW5kaW5ncy9qcy9TY2hlZHVs
ZWRBY3Rpb24uY3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcAot
ICAgIGJpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCiAgICAgYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmpl
Y3QuY3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZS5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KaW5kZXggOGFlMjcwOS4uYTUxNzRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI3OTEs
NyArMjc5MSw2IEBAIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjI2c2V0SW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRFTlN0M19fMTEwdW5pcXVlX3B0CiBfX1pON1dlYkNvcmUxOUluc3Bl
Y3RvckNvbnRyb2xsZXIzOXNldFJlc291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0Vp
aQogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyNHNob3dFdgogX19aTjdXZWJDb3Jl
MTlJbnNwZWN0b3JDb250cm9sbGVyNWNsb3NlRXYKLV9fWk43V2ViQ29yZTIxSW5zcGVjdG9yQ29u
c29sZUFnZW50Mjhjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzRXYKIF9fWk43V2ViQ29yZTIy
aW5zdHJ1bWVudGF0aW9uRm9yUGFnZUVQTlNfNFBhZ2VFCiBfX1pON1dlYkNvcmUyNEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjE3c19mcm9udGVuZENvdW50ZXJFCiBfX1pON1dlYkNvcmUyNEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjI2aW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2VFUE5TXzRQYWdl
RQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggZTRkYjNjNy4uMzAyNWY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xNzE4OCwyMCArMTcxODgsNiBAQAogICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGls
ZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJp
bmRpbmdzXGpzXFNjcmlwdENvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE3NDc4LDE0ICsxNzQ2NCw2IEBACiAgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21w
aWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdl
LmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgot
ICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcRE9NRWRpdG9yLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgpAQCAtMTc1MDIsMTQgKzE3NDgwLDYgQEAKICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0g
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmNw
cCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xNzU1MCwxNCArMTc1MjAsNiBAQAogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8
L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0
b3JDb25zb2xlQWdlbnQuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTc4MzAsMzAgKzE3Nzky
LDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcU2NyaXB0QXJndW1lbnRzLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbEZyYW1lLmNwcCI+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENv
bXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0
YWNrLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTc4NjIsNiArMTc4MDAsMTQgQEAKICAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAg
PC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViQ29u
c29sZUFnZW50LmNwcCI+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE4NDY3LDYgKzE4NDEzLDkgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcU2xvdFZpc2l0
b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhl
YXBcU3Ryb25nSW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNcaGVhcFxXZWFrLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxG
b3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcQ29uc29sZU1lc3NhZ2UuaCIgLz4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxDb25zb2xlVHlw
ZXMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGlu
c3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluamVj
dGVkU2NyaXB0QmFzZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGlu
Z0hlYWRlcnNcaW5zcGVjdG9yXEluamVjdGVkU2NyaXB0SG9zdC5oIiAvPgpAQCAtMTg0ODIsNyAr
MTg0MzEsMTQgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvclxJbnNwZWN0b3JKU1R5cGVCdWlsZGVycy5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluc3BlY3RvclR5cGVCdWls
ZGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xp
bnNwZWN0b3JcSW5zcGVjdG9yVmFsdWVzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmgiIC8+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0
QnJlYWtwb2ludC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxGcmFtZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxTdGFjay5oIiAv
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9y
XFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuaCIgLz4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rvclxh
Z2VudHNcSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xtYXNtXFg4NkFzc2VtYmxlci5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccGFyc2VyXFNv
dXJjZUNvZGUuaCIgLz4KQEAgLTE4NzM2LDcgKzE4NjkyLDYgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHBhZ2VcQ2hyb21lQ2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwYWdlXGFuaW1hdGlvblxDb21wb3NpdGVBbmltYXRpb24uaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29uc29sZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccGFnZVxDb25zb2xlVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBhZ2VcQ29udGVudFNlY3VyaXR5UG9saWN5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwYWdlXENvbnRleHRNZW51Q2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwYWdlXENvbnRleHRNZW51Q29udHJvbGxlci5oIiAvPgpAQCAtMjA1MTEsNyArMjA0NjYs
NiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcUGFnZVNjcmlwdERl
YnVnU2VydmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xT
Y2hlZHVsZWRBY3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdz
XGpzXFNjcmlwdENhY2hlZEZyYW1lRGF0YS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q29udHJvbGxlci5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0SGVhcFNuYXBzaG90LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRHbG9iYWxPYmpl
Y3QuaCIgLz4KQEAgLTIwODE1LDE5ICsyMDc2OSwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cYnJpZGdlXHJ1bnRpbWVfbWV0aG9kLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxicmlkZ2VccnVudGltZV9vYmplY3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGJyaWRnZVxydW50aW1lX3Jvb3QuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxDb25zb2xlQVBJVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxDb21tYW5kTGluZUFQSUhvc3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxDb21tYW5kTGluZUFQSU1vZHVsZS5oIiAvPgotICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NRWRpdG9yLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NUGF0Y2hTdXBwb3J0LmgiIC8+Ci0gICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRDYW52YXNN
b2R1bGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxJbnNwZWN0b3JDYW52YXNBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNhbnZhc0luc3RydW1lbnRhdGlvbi5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNsaWVudC5oIiAv
PgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVB
Z2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
ckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxJbnNwZWN0b3JDb250cm9sbGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yQ291bnRlcnMuaCIgLz4KQEAgLTIwODY4LDEwICsy
MDgxOCw4IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcUGFnZUluamVj
dGVkU2NyaXB0SG9zdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxQYWdlUnVudGltZUFnZW50LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbEZyYW1lLmgiIC8+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgiIC8+Cisg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViQ29uc29sZUFnZW50LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdvcmtlckNvbnNvbGVB
Z2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdvcmtlckRl
YnVnZ2VyQWdlbnQuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBjMGEwNjExLi5kMzA4NGJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCkBAIC00NDkxLDkgKzQ0OTEsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcCI+CiAgICAgICA8RmlsdGVy
PmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCI+Ci0gICAg
ICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDb250cm9sbGVyLmNwcCI+CiAg
ICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC00
NzIyLDE4ICs0NzE5LDEyIEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
Q29tbWFuZExpbmVBUElNb2R1bGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0
ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcQ29uc29sZU1lc3NhZ2UuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+
Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
RE9NRWRpdG9yLmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwv
Q2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXERPTVBhdGNo
U3VwcG9ydC5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVy
c0ZhY3RvcnkuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9D
bENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRT
Y3JpcHRDYW52YXNNb2R1bGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+
CiAgICAgPC9DbENvbXBpbGU+CkBAIC00NzQ5LDkgKzQ3NDAsNiBAQAogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNsaWVudC5jcHAiPgogICAgICAgPEZpbHRl
cj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIj4KLSAgICAgIDxG
aWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yQ29udHJvbGxlci5jcHAiPgogICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ4NTEsMTgg
KzQ4MzksMTIgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQYWdlUnVu
dGltZUFnZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwv
Q2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdEFy
Z3VtZW50cy5jcHAiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0Ns
Q29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxs
RnJhbWUuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENv
bXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0
YWNrLmNwcCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xDb21w
aWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFRpbWVsaW5lUmVjb3Jk
RmFjdG9yeS5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25zb2xl
QWdlbnQuY3BwIj4KKyAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbENv
bXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJB
Z2VudC5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29t
cGlsZT4KQEAgLTc0ODcsOSArNzQ2OSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
YWdlXENvbnNvbGUuaCI+CiAgICAgICA8RmlsdGVyPnBhZ2U8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29uc29sZVR5cGVzLmgiPgot
ICAgICAgPEZpbHRlcj5wYWdlPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnRlbnRTZWN1cml0eVBvbGljeS5oIj4KICAgICAgIDxG
aWx0ZXI+cGFnZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTEzNDUsOSArMTEzMjQs
NiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oIj4KLSAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4K
LSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpz
XFNjcmlwdENvbnRyb2xsZXIuaCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMjA4Myw2ICsxMjA1OSwxNSBAQAogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxTdHJvbmcuaCI+CiAgICAgICA8
RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGhlYXA8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxD
b25zb2xlTWVzc2FnZS5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVj
dG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcQ29uc29sZVR5cGVzLmgiPgorICAgICAgPEZp
bHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVk
ZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
clxJZGVudGlmaWVyc0ZhY3RvcnkuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluamVjdGVkU2NyaXB0LmgiPgog
ICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8
L0NsSW5jbHVkZT4KQEAgLTEyMTI4LDkgKzEyMTEzLDMwIEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcSW5zcGVjdG9yVmFsdWVzLmgiPgog
ICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8
L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvclxTY3JpcHRBcmd1bWVudHMuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdI
ZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdEJyZWFrcG9p
bnQuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVy
PgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGlu
Z0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxGcmFtZS5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9y
d2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0
Q2FsbFN0YWNrLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8
L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZv
cndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiPgorICAg
ICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0Ns
SW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGlu
c3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRp
bmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGlu
c3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0Zp
bHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndh
cmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiPgog
ICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8
L0NsSW5jbHVkZT4KQEAgLTEyMjQ4LDIxICsxMjI1NCwxMiBAQAogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXENvbW1hbmRMaW5lQVBJTW9kdWxlLmgiPgogICAgICAgPEZpbHRl
cj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxDb25zb2xlQVBJVHlwZXMuaCI+Ci0gICAgICA8RmlsdGVyPmlu
c3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0
b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxET01FZGl0b3IuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVy
PgogICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XERPTVBhdGNoU3VwcG9ydC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRl
bnRpZmllcnNGYWN0b3J5LmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAg
ICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmpl
Y3RlZFNjcmlwdENhbnZhc01vZHVsZS5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0
ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMjI3OCw5ICsxMjI3NSw2IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yQ2xpZW50LmgiPgogICAgICAgPEZp
bHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCI+Ci0gICAgICA8
RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24u
aCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpA
QCAtMTI0MDEsMTggKzEyMzk1LDEyIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcUGFnZVJ1bnRpbWVBZ2VudC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0
ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcU2NyaXB0QXJndW1lbnRzLmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4K
LSAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxT
Y3JpcHRDYWxsRnJhbWUuaCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAg
IDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlw
dENhbGxTdGFjay5oIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9D
bEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmgiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8
L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25z
b2xlQWdlbnQuaCI+CisgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJ
bmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdlYkRlYnVnZ2Vy
QWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDY1M2UyMmMuLmI4NGQzNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNTksNyArMTA1OSw2IEBACiAJCTJE
OUYwRTEzMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3
IC8qIGxpbmVhclNSR0IuaWNjICovOyB9OwogCQkyREJBREUwQjE4OEU1OTE1MDA0RDc5ODEgLyog
V2ViQ29yZUNBTGF5ZXJFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEQkFERTA5MTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4
dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTJEQkFERTBDMTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQkFERTBBMTg4RTU5
MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbSAqLzsgfTsKLQkJMkRGMkU5RDUx
NjZFMzk3NTAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRGMkU5RDQxNjZFMzk3NDAwMzVCRUYyIC8qIENv
bnNvbGVBUElUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTJFMDg4OEQ0MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQyMTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLzsgfTsKIAkJMkUwODg4RDUxMTQ4
ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZv
cm1EYXRhLmggKi87IH07CiAJCTJFMDg4OEU2MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1E
YXRhQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJFMDg4OEU1MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCAq
LzsgfTsKQEAgLTEzNDEsMTAgKzEzNDAsNiBAQAogCQk0MTY3RUJGNTEwMjk2MkJBMDAzRDI1MkEg
LyogRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2N0VCRjMxMDI5NjJCQTAwM0QyNTJBIC8qIERl
ZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCAqLzsgfTsKIAkJNDE2N0VCRjYxMDI5NjJC
QTAwM0QyNTJBIC8qIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTY3RUJGNDEwMjk2MkJBMDAzRDI1
MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCAqLzsgfTsKIAkJNDE2RTI5QTYx
MDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUg
LyogV29ya2VyUmVwb3J0aW5nUHJveHkuaCAqLzsgfTsKLQkJNDE2RTc1QkUwRURGOEZENzAwMzYw
RTFEIC8qIFNjcmlwdENhbGxTdGFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDE2RTc1QkMwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFj
ay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQx
NkU3NUJGMEVERjhGRDcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsU3RhY2suY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1QkQwRURGOEZENzAwMzYw
RTFEIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi87IH07Ci0JCTQxNkU3NUNCMEVERjkwQzcwMDM2
MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxNkU3NUM5MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJh
bWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0
MTZFNzVDQzBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkU3NUNBMEVERjkwQzcwMDM2
MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAz
NjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlh
Q29udHJvbEVsZW1lbnRzLmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8q
IE1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxl
bWVudHMuaCAqLzsgfTsKIAkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRD
RjEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTEzODQsOCArMTM3
OSw2IEBACiAJCTQxRTFCMUQxMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0IwRkY1
OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmggKi87IH07CiAJCTQxRTFCMUQzMEZGNTk4
NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0QwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdv
cmtlci5jcHAgKi87IH07CiAJCTQxRTFCMUQ0MEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3Jr
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTFC
MUNFMEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuaCAqLzsgfTsKLQkJNDFGMDYxOEUw
RjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29u
c29sZU1lc3NhZ2UuaCAqLzsgfTsKLQkJNDFGMDYxOEYwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNv
bGVNZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxRjA2MThEMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi87IH07
CiAJCTQxRjA2MjE0MEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjIx
MjBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oICovOyB9Owog
CQk0MUYwNjIxNTBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjIx
MzBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgKi87IH07
CiAJCTQxRjA2NkU0MEY2NEJDRjYwMEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2NkUyMEY2NEJD
RjYwMEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTk4Niw4ICsxOTc5LDYgQEAKIAkJNTkwNUFE
QzAxMzAyRjNDRTAwRjExNkRGIC8qIFhNTFRyZWVWaWV3ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MDVBREJFMTMwMkYzQ0UwMEYxMTZERiAvKiBY
TUxUcmVlVmlld2VyLmggKi87IH07CiAJCTU5MEUxQjQ5MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZp
Y2VPcmllbnRhdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU5MEUxQjQ4MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbkRh
dGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
OTBFMUI0QjExRTRFRjcwMDA2OUY3ODQgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MEUx
QjRBMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3Bw
ICovOyB9OwotCQk1OTEzQTI0MTEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MTNB
MjNGMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovOyB9OwotCQk1
OTEzQTI0MjEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTEzQTI0MDEzRDQ5RUJBMDBG
NUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggKi87IH07CiAJCTU5MzA5QTExMTFGNEFFNTgw
MDI1MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkzMDlBMTAxMUY0QUU1ODAwMjUwNjAz
IC8qIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAgKi87IH07CiAJCTU5MzA5QTEzMTFG
NEFFNkEwMDI1MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MzA5QTEyMTFGNEFFNkEwMDI1
MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1OTgzNjVERDEzNTVGNTU3MDAxQjE4NUQg
LyogSlNQb3NpdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1OTgzNjVEQzEzNTVGNTNDMDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxi
YWNrLmggKi87IH07CkBAIC0zNjMyLDYgKzM2MjMsOCBAQAogCQlBNTQxNkZFNjE4ODEwRUY4MDAw
OUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU0MTZGRTQxODgxMEVGODAwMDlGQzVGIC8qIFlv
dVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuaCAqLzsgfTsKIAkJQTU0QTgyRUMxNTIyOEQyRjAwQzcy
QkE2IC8qIERPTU5vZGVQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNTRBODJFQTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUu
aCAqLzsgfTsKIAkJQTU0QTgyRjExNTIyOERGNjAwQzcyQkE2IC8qIERPTU5vZGVQcml2YXRlLmgg
aW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNTRBODJFQTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCAqLzsgfTsK
KwkJQTU2QzVCOUExODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTZDNUI5ODE4OUYzNDU3
MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmNwcCAqLzsgfTsKKwkJQTU2QzVCOUIxODlGMzQ1
NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTU2QzVCOTkxODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNv
bGVBZ2VudC5oICovOyB9OwogCQlBNTczMkIwQTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBv
bmVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTU3MzJCMDgxMzZBMTYxRDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmNwcCAqLzsgfTsKIAkJ
QTU3MzJCMEIxMzZBMTYxRDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTczMkIwOTEzNkExNjFEMDA1QzhE
N0MgLyogRGF0ZUNvbXBvbmVudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlBNTg0MEUxQzE4N0I3NEQ1MDA4NDNCMTAgLyogSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1ODQwRTFBMTg3Qjc0RDUwMDg0M0IxMCAvKiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUuY3BwICovOyB9OwpAQCAtNTIzOSw3ICs1MjMyLDYgQEAKIAkJQkNFNDQx
MzMxMkY3NDhFMjAwOUI4NEI4IC8qIFJlbmRlckNvbWJpbmVUZXh0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTQ0MTMxMTJGNzQ4RTIwMDlCODRC
OCAvKiBSZW5kZXJDb21iaW5lVGV4dC5jcHAgKi87IH07CiAJCUJDRTQ0MTM0MTJGNzQ4RTIwMDlC
ODRCOCAvKiBSZW5kZXJDb21iaW5lVGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNFNDQxMzIxMkY3NDhFMjAwOUI4NEI4IC8qIFJlbmRlckNvbWJp
bmVUZXh0LmggKi87IH07CiAJCUJDRTQ0MTM2MTJGNzQ5MEIwMDlCODRCOCAvKiBGb250V2lkdGhW
YXJpYW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0U0NDEzNTEyRjc0OTBCMDA5Qjg0QjggLyogRm9udFdpZHRoVmFyaWFudC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJDRTU2NDRFMTM3QTM0RDYw
MDdEMjkzNCAvKiBDb25zb2xlVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDRTU2NDREMTM3QTM0RDYwMDdEMjkzNCAvKiBDb25zb2xlVHlwZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0U2
NThGRjBFQTkyNDhBMDA3RTQ1MzMgLyogVGhlbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTY1OEZFMEVBOTI0OEEwMDdFNDUzMyAvKiBUaGVtZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRTY1
OUE5MEVBOTI3QjkwMDdFNDUzMyAvKiBUaGVtZVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U2NTlBODBFQTkyN0I5MDA3RTQ1MzMgLyogVGhl
bWVUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUJDRTY1OUU2MEVBOTJGQjIwMDdFNDUzMyAvKiBUaGVtZU1hYy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFNjU5RTUwRUE5MkZCMjAwN0U0NTMz
IC8qIFRoZW1lTWFjLmggKi87IH07CkBAIC02MDI3LDggKzYwMTksNiBAQAogCQlGMjkzQjI3RTU2
QzExMkYzNzNGRkYyN0UgLyogRE5TUmVzb2x2ZVF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNjAxMjgwNjAwNzhCQjcwRTM2N0E5NSAvKiBE
TlNSZXNvbHZlUXVldWUuY3BwICovOyB9OwogCQlGMzI1QTQwQTE0RUUzNkZBMDA3MzI0RTIgLyog
SW5zcGVjdG9yQ291bnRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjMyNUE0MDgxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50ZXJz
LmNwcCAqLzsgfTsKIAkJRjMyNUE0MEIxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50
ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzI1
QTQwOTE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlGMzMzNUJGODEyRTA3REMzMDBE
MzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzMzM1QkY2MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuY3BwICovOyB9OwotCQlGMzMzNUJGOTEyRTA3REMzMDBEMzMwMTEg
LyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGMzMzNUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29u
c29sZUFnZW50LmggKi87IH07CiAJCUYzM0YwMjgyMTIwOTQ3RjIwMEU1NzQzQSAvKiBTY3JpcHRQ
cm9maWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEYzM0YwMjgxMTIwOTQ3RjIwMEU1NzQzQSAvKiBTY3JpcHRQcm9maWxlLmNwcCAqLzsgfTsKIAkJ
RjM0NEM3MTQxMTI1QjgyQzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzQ0QzcxMjExMjVC
ODJDMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGMzQ0Qzc1MzExMjk0RDlEMDBGMjZF
RUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM0NEM3NTIxMTI5NEQ5RDAwRjI2RUVFIC8qIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNjA1NSwxMCArNjA0NSw2IEBACiAJCUYzODIwODk3MTQ3
RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzODIwODhGMTQ3RDM1RjkwMDEwQkMwNiAvKiBX
b3JrZXJDb25zb2xlQWdlbnQuaCAqLzsgfTsKIAkJRjM4MjA4OTgxNDdEMzVGOTAwMTBCQzA2IC8q
IFdvcmtlclJ1bnRpbWVBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGMzgyMDg5MDE0N0QzNUY5MDAxMEJDMDYgLyogV29ya2VyUnVudGltZUFn
ZW50LmNwcCAqLzsgfTsKIAkJRjM4MjA4OTkxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRp
bWVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjM4MjA4OTExNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oICovOyB9Owot
CQlGMzkyMjQ5QzEyNkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QTEy
NkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgKi87IH07Ci0JCUYz
OTIyNDlEMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QjEyNkYxMUFF
MDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovOyB9OwotCQlGMzlCRTk1QjEy
NjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzOUJFOTU5MTI2NzNCRjQwMEUwQTY3NCAvKiBT
Y3JpcHRBcmd1bWVudHMuY3BwICovOyB9OwotCQlGMzlCRTk1QzEyNjczQkY0MDBFMEE2NzQgLyog
U2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGMzlCRTk1QTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggKi87
IH07CiAJCUYzQUJGRTBDMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0FCRkUwQjEz
MEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovOyB9OwogCQlGM0Q0NjE0
ODExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjNENDYxNDYxMTYxRDUzMjAwQ0EwRDA5IC8q
IEpTRXJyb3JIYW5kbGVyLmNwcCAqLzsgfTsKIAkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8q
IEpTRXJyb3JIYW5kbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGM0Q0NjE0NzExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLzsg
fTsKQEAgLTc4NjYsNyArNzg1Miw2IEBACiAJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBs
aW5lYXJTUkdCLmljYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IGZpbGU7IHBhdGggPSBsaW5lYXJTUkdCLmljYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMkRCQURFMDkxODhFNTkxNTAwNEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0cmFz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVDQUxheWVyRXh0cmFz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEQkFERTBBMTg4RTU5MTUwMDRENzk4
MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYkNvcmVDQUxheWVyRXh0cmFzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkyREYyRTlENDE2NkUzOTc0MDAzNUJFRjIgLyogQ29uc29sZUFQSVR5cGVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVBUElUeXBlcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9N
Rm9ybURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRhLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpT
RE9NRm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNE
T01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRE9NRm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTgxNzMsMTAgKzgxNTgsNiBAQAogCQk0MTY3RUJGMzEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOyBwYXRoID0gd29ya2Vy
cy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxNjdFQkY0MTAyOTYyQkEwMDNEMjUyQSAvKiBEZWZhdWx0U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEZWZhdWx0U2hh
cmVkV29ya2VyUmVwb3NpdG9yeS5oOyBwYXRoID0gd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZFMjlBNTEwMkZB
OTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5nUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gV29ya2VyUmVwb3J0aW5nUHJveHkuaDsgcGF0aCA9IHdvcmtlcnMvV29y
a2VyUmVwb3J0aW5nUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE2RTc1
QkMwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFjay5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNDE2RTc1QkQwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFjay5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2suY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTZFNzVDOTBFREY5MEM3MDAzNjBFMUQg
LyogU2NyaXB0Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNj
cmlwdENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTZFNzVDQTBF
REY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdENhbGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxNzI1M0E4MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUNvbnRy
b2xFbGVtZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzI1M0E5MTM1
NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNZWRpYUNvbnRyb2xFbGVtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTdEQTRDRTEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybmFscy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtODIyMiw4ICs4MjAzLDYgQEAKIAkJNDFFMUIxQ0QwRkY1OTg2OTAw
NTc2QjNCIC8qIFNoYXJlZFdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBTaGFyZWRXb3JrZXIuY3BwOyBwYXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUUxQjFDRTBGRjU5ODY5MDA1NzZCM0Ig
LyogU2hhcmVkV29ya2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNoYXJl
ZFdvcmtlci5oOyBwYXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDFFMUIxQ0YwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gU2hhcmVkV29ya2VyLmlkbDsgcGF0aCA9IHdvcmtl
cnMvU2hhcmVkV29ya2VyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFGMDYx
OEMwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvbnNvbGVNZXNzYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTQxRjA2MThEMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb25zb2xlTWVzc2FnZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRjA2MjEyMEY1RjE5MjYwMEEwN0VBQyAvKiBJ
bnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDFGMDYyMTMwRjVGMTkyNjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFiYXNlUmVzb3Vy
Y2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yRGF0
YWJhc2VSZXNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRjA2NkUy
MEY2NEJDRjYwMEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0R2xvYmFsT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC04ODk2LDggKzg4NzUsNiBAQAogCQk1OTA1QURCRTEzMDJGM0NFMDBGMTE2
REYgLyogWE1MVHJlZVZpZXdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBY
TUxUcmVlVmlld2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MEUxQjQ4MTFF
NEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTU5MEUxQjRBMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVu
dGF0aW9uRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNTkxM0EyM0YxM0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZpZXJzRmFjdG9y
eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJZGVudGlmaWVyc0Zh
Y3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1OTEzQTI0MDEzRDQ5RUJB
MDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IElkZW50aWZpZXJzRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1OTMwOUExMDExRjRBRTU4MDAyNTA2MDMgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MzA5
QTEyMTFGNEFFNkEwMDI1MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2Nr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5NThGMUNCMTM0MzkxN0MwMDgwQjMx
RiAvKiBYTUxWaWV3ZXIuY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBhdGggPSBYTUxWaWV3ZXIu
Y3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA1OTgsNiArMTA1NzUsOCBAQAog
CQlBNTQxNkZFMzE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBZb3VUdWJlRW1iZWRTaGFk
b3dFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU0MTZGRTQxODgx
MEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBNTRBODJFQTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9k
ZVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTm9kZVByaXZh
dGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU2QzVCOTgxODlGMzQ1NzAwODJE
MTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJDb25zb2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNTZDNUI5OTE4OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBNTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVu
dHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZUNvbXBvbmVu
dHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTczMkIwOTEzNkExNjFEMDA1
QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRGF0ZUNvbXBvbmVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU4NDBF
MUExODdCNzRENTAwODQzQjEwIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI0NDMsNyAr
MTI0MjIsNiBAQAogCQlCQ0U0NDEzMTEyRjc0OEUyMDA5Qjg0QjggLyogUmVuZGVyQ29tYmluZVRl
eHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyQ29tYmlu
ZVRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U0NDEzMjEyRjc0OEUy
MDA5Qjg0QjggLyogUmVuZGVyQ29tYmluZVRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVuZGVyQ29tYmluZVRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkNFNDQxMzUxMkY3NDkwQjAwOUI4NEI4IC8qIEZvbnRXaWR0aFZhcmlhbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFdpZHRoVmFyaWFudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQlCQ0U1NjQ0RDEzN0EzNEQ2MDA3RDI5MzQgLyogQ29uc29sZVR5
cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVUeXBlcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U2NThGRTBFQTkyNDhBMDA3RTQ1MzMgLyog
VGhlbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFNjU5QTgwRUE5MjdCOTAwN0U0NTMzIC8qIFRoZW1l
VHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWVUeXBlcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U2NTlFNTBFQTkyRkIyMDA3RTQ1MzMgLyog
VGhlbWVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWVNYWMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzQ1LDggKzEzMzIzLDYgQEAKIAkJRjEy
MTcxRjQxNkE4QkM2MzAwMDA1M0NBIC8qIFdlYlZUVEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViVlRURWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGMzI1QTQwODE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQ291bnRlcnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzI1QTQwOTE0RUUzNkZBMDA3MzI0
RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5zcGVjdG9yQ291bnRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjMz
MzVCRjYxMkUwN0RDMzAwRDMzMDExIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzMzNUJGNzEyRTA3REMzMDBEMzMwMTEg
LyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3BlY3RvckNvbnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGMzNGMDI4MTEyMDk0N0YyMDBFNTc0M0EgLyogU2NyaXB0UHJvZmlsZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRQcm9maWxlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM0NEM3MTIxMTI1QjgyQzAwRjI2RUVFIC8qIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzNDRD
NzUyMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzczLDEwICsxMzM0OSw2IEBA
CiAJCUYzODIwODhGMTQ3RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJDb25zb2xlQWdlbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya2VyQ29uc29sZUFnZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzODIwODkwMTQ3RDM1RjkwMDEwQkMwNiAvKiBXb3Jr
ZXJSdW50aW1lQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V29ya2VyUnVudGltZUFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM4
MjA4OTExNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJSdW50aW1lQWdlbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJRjM5MjI0OUExMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUYz
OTIyNDlCMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNj
cmlwdEFyZ3VtZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
Y3JpcHRBcmd1bWVudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzlCRTk1
QTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNjcmlwdEFyZ3VtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGM0FCRkUwQjEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnN0cnVtZW50aW5nQWdlbnRzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRDQ2MTQ2MTE2MUQ1MzIwMENBMEQwOSAv
KiBKU0Vycm9ySGFuZGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0Vycm9ySGFuZGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRDQ2
MTQ3MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0Vycm9ySGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTQ3OTEsMTUgKzE0NzYzLDEwIEBACiAJCQkJQTU4NEZFMjkxODYzODcwRjAwODQz
QjEwIC8qIENvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcCAqLywKIAkJCQlBNTg0RkUyQTE4NjM4NzBG
MDA4NDNCMTAgLyogQ29tbWFuZExpbmVBUElNb2R1bGUuaCAqLywKIAkJCQlBNTg0RkUyNzE4NjM3
RENBMDA4NDNCMTAgLyogQ29tbWFuZExpbmVBUElNb2R1bGVTb3VyY2UuanMgKi8sCi0JCQkJMkRG
MkU5RDQxNjZFMzk3NDAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oICovLAotCQkJCTQxRjA2
MThEMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi8sCi0JCQkJNDFGMDYx
OEMwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggKi8sCiAJCQkJN0FBQkEyNTcx
NEJDNjEzMzAwQUE5QTExIC8qIERPTUVkaXRvci5jcHAgKi8sCiAJCQkJN0FBQkEyNTgxNEJDNjEz
MzAwQUE5QTExIC8qIERPTUVkaXRvci5oICovLAogCQkJCTdBNTQ4ODE2MTRFNDMyQTEwMDZBRTA1
QSAvKiBET01QYXRjaFN1cHBvcnQuY3BwICovLAogCQkJCTdBNTQ4ODE1MTRFNDMyQTEwMDZBRTA1
QSAvKiBET01QYXRjaFN1cHBvcnQuaCAqLywKLQkJCQk1OTEzQTIzRjEzRDQ5RUJBMDBGNUIwNUMg
LyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCAqLywKLQkJCQk1OTEzQTI0MDEzRDQ5RUJBMDBGNUIw
NUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggKi8sCiAJCQkJQUE3MzE4M0MxNTkyNTVCOTAwQTkz
RTZFIC8qIEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlLmNwcCAqLywKIAkJCQlBQTczMTgzRDE1
OTI1NUI5MDBBOTNFNkUgLyogSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuaCAqLywKIAkJCQlB
QTkwMzBGRTE1N0UxNkEwMDAyNzYyNDcgLyogSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3Vy
Y2UuanMgKi8sCkBAIC0xNDgxMCw4ICsxNDc3Nyw2IEBACiAJCQkJQUFENzY2RUExNTdFNTAyRjAw
RTg1NDIzIC8qIEluc3BlY3RvckNhbnZhc0luc3RydW1lbnRhdGlvbi5oICovLAogCQkJCTdBMUYy
QjUxMTI2QzYxQjIwMDA2QTdFNiAvKiBJbnNwZWN0b3JDbGllbnQuY3BwICovLAogCQkJCTFDODFC
OTU4MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDbGllbnQuaCAqLywKLQkJCQlGMzMzNUJG
NjEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCAqLywKLQkJCQlG
MzMzNUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8sCiAJ
CQkJRjNGNUNGMTAxMkVEODFBODAwODRDNTY5IC8qIEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50
YXRpb24uaCAqLywKIAkJCQkxQzgxQjk1NzBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAgKi8sCiAJCQkJMUM4MUI5NTYwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3Rv
ckNvbnRyb2xsZXIuaCAqLywKQEAgLTE0ODkwLDE2ICsxNDg1NSwxMiBAQAogCQkJCUE1ODRGRTJF
MTg2NENCODQwMDg0M0IxMCAvKiBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggKi8sCiAJCQkJ
RjM4MjA4OEMxNDdEMzVGOTAwMTBCQzA2IC8qIFBhZ2VSdW50aW1lQWdlbnQuY3BwICovLAogCQkJ
CUYzODIwODhEMTQ3RDM1RjkwMDEwQkMwNiAvKiBQYWdlUnVudGltZUFnZW50LmggKi8sCi0JCQkJ
RjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8sCi0JCQkJ
RjM5QkU5NUExMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5oICovLAotCQkJCTQx
NkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovLAotCQkJCTQx
NkU3NUM5MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLywKLQkJCQk0MTZF
NzVCRDBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLywKLQkJCQk0MTZF
NzVCQzBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmggKi8sCiAJCQkJOUZBMzdF
RUYxMTcyRkQ0MTAwQzRDRDU1IC8qIFNjcmlwdFByb2ZpbGUuaWRsICovLAogCQkJCTlGQTM3RUYw
MTE3MkZENDEwMEM0Q0Q1NSAvKiBTY3JpcHRQcm9maWxlTm9kZS5pZGwgKi8sCiAJCQkJNzU1M0NG
RTcxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgKi8sCiAJCQkJ
NzU1M0NGRTYxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oICovLAor
CQkJCUE1NkM1Qjk4MTg5RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuY3BwICovLAor
CQkJCUE1NkM1Qjk5MTg5RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuaCAqLywKIAkJ
CQlBNUU2MTY3MTE4OTQ1ODFGMDA5QURGNTAgLyogV2ViRGVidWdnZXJBZ2VudC5jcHAgKi8sCiAJ
CQkJQTVFNjE2NzIxODk0NTgxRjAwOUFERjUwIC8qIFdlYkRlYnVnZ2VyQWdlbnQuaCAqLywKIAkJ
CQlGMzgyMDg4RTE0N0QzNUY5MDAxMEJDMDYgLyogV29ya2VyQ29uc29sZUFnZW50LmNwcCAqLywK
QEAgLTE2MDUxLDcgKzE2MDEyLDYgQEAKIAkJCQlCQzBCMzZBMTBDRDNDNjdDMDBBQzdFQjUgLyog
Q29uc29sZS5jcHAgKi8sCiAJCQkJQkMwQjM2QTIwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUu
aCAqLywKIAkJCQlCQzBCMzZBMzBDRDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5pZGwgKi8sCi0J
CQkJQkNFNTY0NEQxMzdBMzRENjAwN0QyOTM0IC8qIENvbnNvbGVUeXBlcy5oICovLAogCQkJCTk3
QzQ3MUQ5MTJGOTI1QkMwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuY3BwICovLAog
CQkJCTk3QzQ3MURBMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCAq
LywKIAkJCQkwNjVBRDRGMjBCMEMyRURBMDA1QTJCMUQgLyogQ29udGV4dE1lbnVDbGllbnQuaCAq
LywKQEAgLTIwMTgzLDggKzIwMTQzLDYgQEAKIAkJCQlCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYg
LyogU2NoZWR1bGVkQWN0aW9uLmggKi8sCiAJCQkJNDFGMUQyMUUwRUYzNUMyQTAwREE4NzUzIC8q
IFNjcmlwdENhY2hlZEZyYW1lRGF0YS5jcHAgKi8sCiAJCQkJNDFGMUQyMUQwRUYzNUMyQTAwREE4
NzUzIC8qIFNjcmlwdENhY2hlZEZyYW1lRGF0YS5oICovLAotCQkJCUYzOTIyNDlBMTI2RjExQUUw
MEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCAqLywKLQkJCQlGMzkyMjQ5QjEy
NkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovLAogCQkJCTkzQjcw
RDUzMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCAqLywKIAkJCQk5M0I3
MEQ1NDA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5oICovLAogCQkJCUE4M0Ux
QzcyMEU0OTA0MkIwMDE0MEI5QyAvKiBTY3JpcHRDb250cm9sbGVyTWFjLm1tICovLApAQCAtMjI4
ODMsMTAgKzIyODQxLDcgQEAKIAkJCQlGRDMxNjA4RjEyQjAyNkY3MDBDMUEzNTkgLyogQ29uZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNjVDOTdBRjMwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwQjM2QTUwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUu
aCBpbiBIZWFkZXJzICovLAotCQkJCTJERjJFOUQ1MTY2RTM5NzUwMDM1QkVGMiAvKiBDb25zb2xl
QVBJVHlwZXMuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxRjA2MThFMEY1RjA2OTgwMEEwN0VBQyAv
KiBDb25zb2xlTWVzc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDczQUI0QjMxN0Y4QkFDQTAw
NkUwRDZGIC8qIEFsbFZpZGVvQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0U1
NjQ0RTEzN0EzNEQ2MDA3RDI5MzQgLyogQ29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODE4NzIxQzA5NzdEM0MwMDA1ODI2RDkgLyogQ29udGFpbmVyTm9kZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTFBMTQ3MDgxMTEwMkIxNTAwRUVDMEYzIC8qIENvbnRhaW5lck5vZGVBbGdvcml0
aG1zLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDkxRDE3RDE0RDFDMDA0MjBBQTEgLyogTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKQEAgLTIzNzk5
LDYgKzIzNzU0LDcgQEAKIAkJCQk5MzMwOURFNjA5OUU2NDkyMDA1NkU1ODEgLyogSFRNTEludGVy
Y2hhbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODEzNjlFNDA5NzM3NEY2MDBENzQ0NjMgLyog
SFRNTEtleWdlbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2OUUyMDk3Mzc0RjYw
MEQ3NDQ2MyAvKiBIVE1MTGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTZDNUI5
QjE4OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODEzNjlFMDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4RUE3OUY2MEExOTE2REYwMEE4RUY1RiAvKiBIVE1MTElFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBODcxREMyMDBBMTUyMDU3MDBCMTJBNjggLyogSFRNTExpbmtF
bGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTIzODgzLDcgKzIzODM5LDYgQEAKIAkJCQkwNzhF
MDkyMTE3RDE0RDFDMDA0MjBBQTEgLyogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMDcyNzdFNTExN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1FdmVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE3MUQ1N0MwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50
aWZpZXJSZXAuaCBpbiBIZWFkZXJzICovLAotCQkJCTU5MTNBMjQyMTNENDlFQkEwMEY1QjA1QyAv
KiBJZGVudGlmaWVyc0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUM1MEVGODZE
NDcwMDlEMENBRiAvKiBJZGVudGl0eVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTEyNUY4NTYxODJDMEY4MzAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCUE1ODRGRTI2MTg2MzdEQUIwMDg0M0IxMCAvKiBDb21tYW5k
TGluZUFQSU1vZHVsZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzkzNiw3ICsyMzg5MSw2
IEBACiAJCQkJQUFENzY2RUMxNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3RvckNhbnZhc0FnZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBQUQ3NjZFRDE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVj
dG9yQ2FudmFzSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzgxQjk1QzBF
OTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlG
MzMzNUJGOTEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGM0Y1Q0YxMTEyRUQ4MUE4MDA4NEM1NjkgLyogSW5zcGVjdG9yQ29uc29s
ZUluc3RydW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUM4MUI5NUEwRTk3MzMwODAw
MjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzMjVB
NDBCMTRFRTM2RkEwMDczMjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNTEyMywxMSArMjUwNzcsNyBAQAogCQkJCTlCRDBCRjkzMTJBNDJCRjUwMDcyRkQ0MyAv
KiBTY29wZWRFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VDMDFCRTBDMjc0REFD
MDA5RjRFQzkgLyogU2NyZWVuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODREODJDMTExRDM0NzQ4
MDA5NzI5OTAgLyogU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKLQkJ
CQlGMzlCRTk1QzEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MUYxRDIxRjBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNzVDQjBFREY5MEM3MDAzNjBFMUQgLyogU2Ny
aXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNzVCRTBFREY4RkQ3MDAzNjBF
MUQgLyogU2NyaXB0Q2FsbFN0YWNrLmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzkyMjQ5RDEyNkYx
MUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTNCNzBENzAwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQ5OThBRUQyMTNGQjIyNEQwMDkwQjFBQSAvKiBTY3JpcHRlZEFuaW1hdGlv
bkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4QTQ4NDc4MEU1MjcyQzUwMEMzRkU3
NiAvKiBTY3JpcHRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2NDkxLDcgKzI2NDQxLDYg
QEAKIAkJCQlGRDMxNjA4RTEyQjAyNkY3MDBDMUEzNTkgLyogQ29uZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkzMTQ2RkU2RjE4NDQyMEFBMDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMEIzNkE0MENEM0M2N0MwMEFDN0VCNSAvKiBDb25z
b2xlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxRjA2MThGMEY1RjA2OTgwMEEwN0VBQyAvKiBD
b25zb2xlTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODE4NzIxRjA5NzdEM0MwMDA1
ODI2RDkgLyogQ29udGFpbmVyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0E3OENENTE1
MzJCQTYyMDA2QzIxRTQgLyogQ29udGFpbmVyTm9kZUFsZ29yaXRobXMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM1RUI5ODAwRTgyMDcyNTAwQjI1OTY1IC8qIENvbnRlbnREYXRhLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtMjcyMjgsNyArMjcxNzcsNiBAQAogCQkJCUM1ODVBNjYyMTFENEZBQzUw
MDRDM0U0QiAvKiBJREJCaW5kaW5nVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
NzFENTdCMEYzMzgxOTAwMEY5Q0U0RSAvKiBJZGVudGlmaWVyUmVwLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTA3MDU4NTMxMTdGREU2RDkwMDVGMkJDQiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTU5MTNBMjQxMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVu
dGlmaWVyc0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3QTQxNUIwMDYzRjAw
Mjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3
QTYxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCMjc1MzU2RjBCMDUzODE0MDAyQ0U2NEYgLyogSW1hZ2UuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0yNzI3Miw3ICsyNzIyMCw2IEBACiAJCQkJRTFGODBCOEExODMxNzJBMjAw
Nzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpckN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
QUQ3NjZFQjE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0ExRjJCNTIxMjZDNjFCMjAwMDZBN0U2IC8qIEluc3BlY3RvckNsaWVu
dC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGMzMzNUJGODEyRTA3REMzMDBEMzMwMTEgLyogSW5z
cGVjdG9yQ29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFDODFCOTVCMEU5NzMz
MDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUYzMjVBNDBBMTRFRTM2RkEwMDczMjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk4MkFCMTc0MzEyNEI5OUVDMDBDNTA2OUQgLyogSW5zcGVjdG9yQ1NTQWdl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODQzNiwxMSArMjgzODMsNyBAQAogCQkJCTlCRDBC
Rjk0MTJBNDJCRjUwMDcyRkQ0MyAvKiBTY29wZWRFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDRUMwMUJEMEMyNzREQUMwMDlGNEVDOSAvKiBTY3JlZW4uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTg0RDgyQzIxMUQzNDc0ODAwOTcyOTkwIC8qIFNjcmlwdGFibGVEb2N1bWVudFBh
cnNlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGMzlCRTk1QjEyNjczQkY0MDBFMEE2NzQgLyog
U2NyaXB0QXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRjFEMjIwMEVGMzVDMkEw
MERBODc1MyAvKiBTY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
NDE2RTc1Q0MwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQk0MTZFNzVCRjBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCUYzOTIyNDlDMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzQjcwRDZGMDlFQjBDN0Mw
MDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4M0Ux
Qzc0MEU0OTA0MkMwMDE0MEI5QyAvKiBTY3JpcHRDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDk5OEFFRDExM0ZCMjI0RDAwOTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29u
dHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4NjEzLDYgKzI4NTU2LDcgQEAKIAkJCQkz
MUE3OTVDODE4ODhCQ0I1MDAzODJGOTAgLyogQU5HTEVJbnN0YW5jZWRBcnJheXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTU4NDBFMjQxODdCOEFDMjAwODQzQjEwIC8qIFBhZ2VJbmplY3RlZFNj
cmlwdEhvc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThDNEE3RkUwOUQ1NjMyNzAwMDNBQzhE
IC8qIFN0eWxlZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTU2QzVCOUExODlGMzQ1
NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVF
QjhCODBFODIwMUJEMDBCMjU5NjUgLyogU3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUFBNEMzQTc2MEIyQjE2NzkwMDIzMzRBMiAvKiBJbmxpbmVT
dHlsZVNoZWV0T3duZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE5QUUwNjMxNDJENkIyNDAw
NjU2M0ExIC8qIFN0eWxlRmlsdGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcAppbmRleCBl
MTk1ZGRmLi4wMTk2OGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0F1ZGlvQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNBdWRpb0NvbnRleHRDdXN0b20uY3BwCkBAIC03Myw4ICs3Myw3IEBAIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgSlNBdWRpb0NvbnRleHRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNBdWRp
b0NvbnRleHQoCiAjaWYgRU5BQkxFKExFR0FDWV9XRUJfQVVESU8pCiAgICAgICAgIC8vIENvbnN0
cnVjdG9yIGZvciBvZmZsaW5lIChyZW5kZXItdGFyZ2V0KSBBdWRpb0NvbnRleHQgd2hpY2ggcmVu
ZGVycyBpbnRvIGFuIEF1ZGlvQnVmZmVyLgogICAgICAgICAvLyBuZXcgQXVkaW9Db250ZXh0KGlu
IHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZDaGFubmVscywgaW4gdW5zaWduZWQgbG9uZyBudW1iZXJP
ZkZyYW1lcywgaW4gZmxvYXQgc2FtcGxlUmF0ZSk7Ci0gICAgICAgIGRvY3VtZW50LmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwKLSAgICAgICAg
ICAgICJEZXByZWNhdGVkIEF1ZGlvQ29udGV4dCBjb25zdHJ1Y3RvcjogdXNlIE9mZmxpbmVBdWRp
b0NvbnRleHQgaW5zdGVhZCIpOworICAgICAgICBkb2N1bWVudC5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBBU0NJSUxpdGVyYWwoIkRl
cHJlY2F0ZWQgQXVkaW9Db250ZXh0IGNvbnN0cnVjdG9yOiB1c2UgT2ZmbGluZUF1ZGlvQ29udGV4
dCBpbnN0ZWFkIikpOwogCiAgICAgICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAzKQog
ICAgICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihleGVjKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNC
aW5kaW5nc0FsbEluT25lLmNwcAppbmRleCAwNDI4ZTgzLi43MmVjOWNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKQEAgLTE0Myw3
ICsxNDMsNiBAQAogI2luY2x1ZGUgIlBhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAiCiAjaW5jbHVk
ZSAiU2NoZWR1bGVkQWN0aW9uLmNwcCIKICNpbmNsdWRlICJTY3JpcHRDYWNoZWRGcmFtZURhdGEu
Y3BwIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIgogI2luY2x1ZGUgIlNj
cmlwdENvbnRyb2xsZXIuY3BwIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGVyLmNwcCIKICNpbmNs
dWRlICJTY3JpcHRTdGF0ZS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKaW5kZXggZjFiNjNmOC4uNGMxMGUwOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVz
b2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhO
U1Jlc29sdmVyLmNwcApAQCAtODEsNyArODEsNyBAQCBTdHJpbmcgSlNDdXN0b21YUGF0aE5TUmVz
b2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVSSShjb25zdCBTdHJpbmcmIHByZWZpeCkKICAgICAgICAg
aWYgKGNhbGxUeXBlID09IENhbGxUeXBlTm9uZSkgewogICAgICAgICAgICAgLy8gRklYTUU6IDxo
dHRwOi8vd2Via2l0Lm9yZy9iLzExNDMxMj4gSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXI6Omxvb2t1
cE5hbWVzcGFjZVVSSSBDb25zb2xlIE1lc3NhZ2Ugc2hvdWxkIGluY2x1ZGUgTGluZSwgQ29sdW1u
LCBhbmQgU291cmNlVVJMCiAgICAgICAgICAgICBpZiAoUGFnZUNvbnNvbGUqIGNvbnNvbGUgPSBt
X2dsb2JhbE9iamVjdC0+aW1wbCgpLnBhZ2VDb25zb2xlKCkpCi0gICAgICAgICAgICAgICAgY29u
c29sZS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiWFBh
dGhOU1Jlc29sdmVyIGRvZXMgbm90IGhhdmUgYSBsb29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIp
OworICAgICAgICAgICAgICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMs
IE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiWFBhdGhOU1Jlc29sdmVyIGRvZXMg
bm90IGhhdmUgYSBsb29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIpKTsKICAgICAgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKICAgICAgICAgfQogICAgICAgICBmdW5jdGlvbiA9IG1fY3VzdG9tUmVz
b2x2ZXIuZ2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNw
cAppbmRleCAyNjIxYzY3Li41ODA5MmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZy5jcHAKQEAgLTM0LDggKzM0LDggQEAKICNpbmNsdWRlICJKU0RPTVdpbmRv
d0N1c3RvbS5oIgogI2luY2x1ZGUgIkpTRXhjZXB0aW9uQmFzZS5oIgogI2luY2x1ZGUgIlNlY3Vy
aXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5jbHVkZSAiU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3Rh
Y2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgogI2lu
Y2x1ZGUgPGludGVycHJldGVyL0ludGVycHJldGVyLmg+CiAjaW5jbHVkZSA8cnVudGltZS9EYXRl
SW5zdGFuY2UuaD4KICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CkBAIC00NSw2ICs0NSw3IEBA
CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKK3Vz
aW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCmlu
ZGV4IDE5YTc4MDAuLmMxNWJjY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKQEAgLTE1MCw3ICsxNTAsNyBAQCBKU1ZhbHVl
IEpTU3VidGxlQ3J5cHRvOjplbmNyeXB0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJu
IHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlV
c2FnZUVuY3J5cHQpKSB7Ci0gICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8g
bm90IGluY2x1ZGUgJ2VuY3J5cHQnIik7CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAnZW5jcnlwdCciKSk7CiAgICAg
ICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBOT1RfU1VQUE9SVEVEX0VSUik7CiAgICAgICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0KQEAgLTIwMiw3ICsyMDIsNyBAQCBKU1ZhbHVlIEpT
U3VidGxlQ3J5cHRvOjpkZWNyeXB0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRo
cm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2Fn
ZURlY3J5cHQpKSB7Ci0gICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90
IGluY2x1ZGUgJ2RlY3J5cHQnIik7CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAnZGVjcnlwdCciKSk7CiAgICAgICAg
IHNldERPTUV4Y2VwdGlvbihleGVjLCBOT1RfU1VQUE9SVEVEX0VSUik7CiAgICAgICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpOwogICAgIH0KQEAgLTI1Myw3ICsyNTMsNyBAQCBKU1ZhbHVlIEpTU3Vi
dGxlQ3J5cHRvOjpzaWduKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlw
ZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZVNpZ24p
KSB7Ci0gICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUg
J3NpZ24nIik7CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5
IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAnc2lnbiciKSk7CiAgICAgICAgIHNldERPTUV4Y2VwdGlv
bihleGVjLCBOT1RfU1VQUE9SVEVEX0VSUik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgp
OwogICAgIH0KQEAgLTMwNCw3ICszMDQsNyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjp2ZXJp
ZnkoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYyk7
CiAKICAgICBpZiAoIWtleS0+YWxsb3dzKENyeXB0b0tleVVzYWdlVmVyaWZ5KSkgewotICAgICAg
ICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd2ZXJpZnknIik7
CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBk
byBub3QgaW5jbHVkZSAndmVyaWZ5JyIpKTsKICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMs
IE5PVF9TVVBQT1JURURfRVJSKTsKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAg
fQpAQCAtNjM5LDcgKzYzOSw3IEBAIEpTVmFsdWUgSlNTdWJ0bGVDcnlwdG86OndyYXBLZXkoRXhl
Y1N0YXRlKiBleGVjKQogICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYyk7CiAKICAg
ICBpZiAoIXdyYXBwaW5nS2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VXcmFwS2V5KSkgewotICAg
ICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd3cmFwS2V5
JyIpOworICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktleSB1c2Fn
ZXMgZG8gbm90IGluY2x1ZGUgJ3dyYXBLZXknIikpOwogICAgICAgICBzZXRET01FeGNlcHRpb24o
ZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsK
ICAgICB9CkBAIC03MTgsNyArNzE4LDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6dW53cmFw
S2V5KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMp
OwogCiAgICAgaWYgKCF1bndyYXBwaW5nS2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VVbndyYXBL
ZXkpKSB7Ci0gICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1
ZGUgJ3Vud3JhcEtleSciKTsKKyAgICAgICAgbV9pbXBsLT5kb2N1bWVudCgpLT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRl
cmFsKCJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd1bndyYXBLZXknIikpOwogICAgICAgICBz
ZXRET01FeGNlcHRpb24oZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4g
anNVbmRlZmluZWQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGJkNThiODIuLmRhZGViM2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zOCw3ICszOCw2
IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUg
IlBsdWdpblZpZXcuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJT
Y3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgi
CiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTUwLDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxiaW5k
aW5ncy9TY3JpcHRWYWx1ZS5oPgogI2luY2x1ZGUgPGRlYnVnZ2VyL0RlYnVnZ2VyLmg+CiAjaW5j
bHVkZSA8aGVhcC9TdHJvbmdJbmxpbmVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgogI2lu
Y2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAt
NDgyLDcgKzQ4Miw3IEBAIGJvb2wgU2NyaXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMo
UmVhc29uRm9yQ2FsbGluZ0NhbkV4ZWN1dGVTY3JpcHRzIHJlYXNvCiAgICAgaWYgKG1fZnJhbWUu
ZG9jdW1lbnQoKSAmJiBtX2ZyYW1lLmRvY3VtZW50KCktPmlzU2FuZGJveGVkKFNhbmRib3hTY3Jp
cHRzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBv
ZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgogICAgICAgICBpZiAocmVhc29uID09IEFi
b3V0VG9FeGVjdXRlU2NyaXB0KQotICAgICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRD
b25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAi
QmxvY2tlZCBzY3JpcHQgZXhlY3V0aW9uIGluICciICsgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwo
KS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgdGhlIGRvY3Vt
ZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Np
b24gaXMgbm90IHNldC4iKTsKKyAgICAgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3Is
ICJCbG9ja2VkIHNjcmlwdCBleGVjdXRpb24gaW4gJyIgKyBtX2ZyYW1lLmRvY3VtZW50KCktPnVy
bCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSB0aGUgZG9j
dW1lbnQncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlz
c2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmlu
ZGV4IDVjYTAyNzIuLjMxYjliZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0yOTA0LDkgKzI5MDQsOSBAQCBzdWIgR2Vu
ZXJhdGVDYWxsV2l0aAogICAgICAgICBwdXNoKEBjYWxsV2l0aEFyZ3MsICJzY3JpcHRDb250ZXh0
Iik7CiAgICAgfQogICAgIGlmICgkZnVuY3Rpb24gYW5kICRjb2RlR2VuZXJhdG9yLT5FeHRlbmRl
ZEF0dHJpYnV0ZUNvbnRhaW5zKCRjYWxsV2l0aCwgIlNjcmlwdEFyZ3VtZW50cyIpKSB7Ci0gICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBzY3Jp
cHRBcmd1bWVudHMoY3JlYXRlU2NyaXB0QXJndW1lbnRzKGV4ZWMsICIgLiBAeyRmdW5jdGlvbi0+
cGFyYW1ldGVyc30gLiAiKSk7XG4iKTsKLSAgICAgICAgJGltcGxJbmNsdWRlc3siU2NyaXB0QXJn
dW1lbnRzLmgifSA9IDE7Ci0gICAgICAgICRpbXBsSW5jbHVkZXN7IlNjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuaCJ9ID0gMTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFJlZlB0cjxJ
bnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4gc2NyaXB0QXJndW1lbnRzKEluc3BlY3Rvcjo6Y3Jl
YXRlU2NyaXB0QXJndW1lbnRzKGV4ZWMsICIgLiBAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc30gLiAi
KSk7XG4iKTsKKyAgICAgICAgJGltcGxJbmNsdWRlc3siPGluc3BlY3Rvci9TY3JpcHRBcmd1bWVu
dHMuaD4ifSA9IDE7CisgICAgICAgICRpbXBsSW5jbHVkZXN7IjxpbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oPiJ9ID0gMTsKICAgICAgICAgcHVzaChAY2FsbFdpdGhBcmdzLCAic2Ny
aXB0QXJndW1lbnRzLnJlbGVhc2UoKSIpOwogICAgIH0KICAgICByZXR1cm4gQGNhbGxXaXRoQXJn
czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKaW5kZXggODcyNTYwNy4uMzVlOWIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTQ0LDE0
ICs0NCwxNCBAQAogI2luY2x1ZGUgIlNWR0RvY3VtZW50LmgiCiAjaW5jbHVkZSAiU1ZHUG9pbnQu
aCIKICNpbmNsdWRlICJTVkdTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCIKLSNpbmNsdWRlICJTY3Jp
cHRBcmd1bWVudHMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5j
bHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
IgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiVGVzdE9iai5oIgogI2luY2x1ZGUg
IlVSTC5oIgogI2luY2x1ZGUgImJvb2wuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0QXJn
dW1lbnRzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4K
ICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0FycmF5Lmg+
CiAjaW5jbHVkZSA8cnVudGltZS9KU1N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApp
bmRleCAzOWFhMDMzLi42NGMyOTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMTE0
NzYsNyArMTE0NzYsNyBAQCB2b2lkIENTU1BhcnNlcjo6bG9nRXJyb3IoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBpbnQgbGluZU51bWJlcikKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQu
b3JnL2IvMTE0MzEzPiBDU1MgcGFyc2VyIGNvbnNvbGUgbWVzc2FnZSBlcnJvcnMgc2hvdWxkIGlu
Y2x1ZGUgY29sdW1uIG51bWJlcnMuCiAgICAgUGFnZUNvbnNvbGUmIGNvbnNvbGUgPSBtX3N0eWxl
U2hlZXQtPnNpbmdsZU93bmVyRG9jdW1lbnQoKS0+cGFnZSgpLT5jb25zb2xlKCk7Ci0gICAgY29u
c29sZS5hZGRNZXNzYWdlKENTU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UsIG1fc3R5bGVTaGVldC0+YmFzZVVSTCgpLnN0cmluZygpLCBsaW5lTnVtYmVyICsgMSwg
MCk7CisgICAgY29uc29sZS5hZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkNTUywgTWVzc2FnZUxl
dmVsOjpXYXJuaW5nLCBtZXNzYWdlLCBtX3N0eWxlU2hlZXQtPmJhc2VVUkwoKS5zdHJpbmcoKSwg
bGluZU51bWJlciArIDEsIDApOwogfQogCiBQYXNzUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4g
Q1NTUGFyc2VyOjpjcmVhdGVLZXlmcmFtZXNSdWxlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093
blB0cjxWZWN0b3I8UmVmUHRyPFN0eWxlS2V5ZnJhbWU+Pj4gcG9wS2V5ZnJhbWVzKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFMaXN0LmNwcAppbmRleCAyMzIwZmY2Li5mMDAwMTRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFMaXN0LmNwcApAQCAtMzEwLDcgKzMxMCw3IEBAIHN0YXRpYyB2b2lkIGFkZFJlc29sdXRpb25X
YXJuaW5nTWVzc2FnZVRvQ29uc29sZShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluCiAK
ICAgICBtZXNzYWdlLmFwcGVuZChzZXJpYWxpemVkRXhwcmVzc2lvbik7CiAKLSAgICBkb2N1bWVu
dC0+YWRkQ29uc29sZU1lc3NhZ2UoQ1NTTWVzc2FnZVNvdXJjZSwgRGVidWdNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpDU1MsIE1lc3NhZ2VMZXZlbDo6RGVidWcsIG1lc3NhZ2UpOwogfQogCiB2b2lkIHJlcG9ydE1l
ZGlhUXVlcnlXYXJuaW5nSWZOZWVkZWQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBNZWRpYVF1
ZXJ5U2V0KiBtZWRpYVF1ZXJ5U2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNWMyNGMy
ZC4uOGRiMzAwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC02MCw5ICs2MCw2IEBACiAj
aW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgog
I2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1ZGUgIkhhc2hDaGFuZ2VFdmVudC5oIgotI2lu
Y2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKLSNpbmNsdWRlICJIaXN0b3J5LmgiCiAjaW5jbHVk
ZSAiSFRNTEFsbENvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxCYXNlRWxlbWVudC5oIgpAQCAtODYsNiArODMsOSBAQAogI2luY2x1ZGUg
IkhUTUxTdHlsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGl0bGVFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSFRUUFBhcnNlcnMuaCIKKyNpbmNsdWRlICJIYXNoQ2hhbmdlRXZlbnQuaCIKKyNpbmNs
dWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCisjaW5jbHVkZSAiSGlzdG9yeS5oIgogI2luY2x1ZGUg
IkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJJY29uQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IkltYWdlTG9hZGVyLmgiCkBAIC0xMjYsNyArMTI2LDYgQEAKICNpbmNsdWRlICJTVkdTVkdFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKICNpbmNsdWRlICJTY29wZWRFdmVu
dFF1ZXVlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdFJ1bm5lci5oIgogI2luY2x1ZGUgIlNjcmlw
dFNvdXJjZUNvZGUuaCIKQEAgLTE1Myw2ICsxNTIsNyBAQAogI2luY2x1ZGUgIlhQYXRoTlNSZXNv
bHZlci5oIgogI2luY2x1ZGUgIlhQYXRoUmVzdWx0LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcu
aCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3Rm
L0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oPgpAQCAtMjU2MCw5ICsyNTYwLDkgQEAgRXZlbnRU
YXJnZXQqIERvY3VtZW50OjplcnJvckV2ZW50VGFyZ2V0KCkKICAgICByZXR1cm4gbV9kb21XaW5k
b3cuZ2V0KCk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrKQordm9pZCBEb2N1bWVudDo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmlu
ZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIs
IGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+
IGNhbGxTdGFjaykKIHsKLSAgICBhZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1i
ZXIsIGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVt
bk51bWJlciwgY2FsbFN0YWNrKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0VVJMKGNvbnN0IFVS
TCYgdXJsKQpAQCAtMjgyMSw3ICsyODIxLDcgQEAgdm9pZCBEb2N1bWVudDo6cHJvY2Vzc0h0dHBF
cXVpdihjb25zdCBTdHJpbmcmIGVxdWl2LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiAgICAgICAg
ICAgICAgICAgLy8gaW50ZW50LCB3ZSBtdXN0IG5hdmlnYXRlIGF3YXkgZnJvbSB0aGUgcG9zc2li
bHkgcGFydGlhbGx5LXJlbmRlcmVkIGRvY3VtZW50IHRvIGEgbG9jYXRpb24gdGhhdAogICAgICAg
ICAgICAgICAgIC8vIGRvZXNuJ3QgaW5oZXJpdCB0aGUgcGFyZW50J3MgU2VjdXJpdHlPcmlnaW4u
CiAgICAgICAgICAgICAgICAgZnJhbWUtPm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZUxv
Y2F0aW9uQ2hhbmdlKHNlY3VyaXR5T3JpZ2luKCksIFNlY3VyaXR5T3JpZ2luOjp1cmxXaXRoVW5p
cXVlU2VjdXJpdHlPcmlnaW4oKSwgU3RyaW5nKCkpOwotICAgICAgICAgICAgICAgIGFkZENvbnNv
bGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgICAgICAgICBhZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSwg
cmVxdWVzdElkZW50aWZpZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNl
IGlmIChlcXVhbElnbm9yaW5nQ2FzZShlcXVpdiwgImNvbnRlbnQtc2VjdXJpdHktcG9saWN5Iikp
CkBAIC00NzgxLDcgKzQ3ODEsNyBAQCB2b2lkIERvY3VtZW50OjphZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdAogICAgICAgICBw
YWdlLT5jb25zb2xlKCkuYWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCByZXF1ZXN0
SWRlbnRpZmllciwgdGhpcyk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQg
Y29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBKU0M6
OkV4ZWNTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lk
IERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwg
bGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNw
ZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUs
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAgICAgaWYgKCFpc0NvbnRleHRU
aHJlYWQoKSkgewogICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0
ZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDQ4NjQz
NTEuLjkwNTk3YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTQwLDcgKzExNDAsNyBAQCBw
dWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJn
ZXQoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNv
bnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxp
bmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBT
dHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVt
YmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0
YWNrPikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGluaXRETlNQcmVmZXRjaCgpOwogCkBAIC0xMjYy
LDcgKzEyNjIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCByZWZTY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkZXJlZlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBvdmVycmlkZSB7IGRlcmVmKCk7IH0KIAotICAgIHZpcnR1
YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJl
ciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIEpT
Qzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBv
dmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJ
bnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgZG91
YmxlIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCA0NTJiNzFkLi5mY2U0ZjUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0yNCw5ICsyNCw5IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiU2NyaXB0RWxlbWVudC5oIgogCi0jaW5jbHVkZSAiQ2FjaGVkU2NyaXB0
LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJDYWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJD
b250ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRy
b2wuaCIKICNpbmNsdWRlICJDdXJyZW50U2NyaXB0SW5jcmVtZW50ZXIuaCIKQEAgLTQwLDcgKzQw
LDYgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRl
ICJTVkdTY3JpcHRFbGVtZW50LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5j
bHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdFJ1bm5lci5oIgogI2lu
Y2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKQEAgLTQ5LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRleHROb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSA8Ymlu
ZGluZ3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
Lmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CkBAIC0yOTEs
NyArMjkxLDcgQEAgdm9pZCBTY3JpcHRFbGVtZW50OjpleGVjdXRlU2NyaXB0KGNvbnN0IFNjcmlw
dFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCiAKICNpZiBFTkFCTEUoTk9TTklGRikKICAgICBpZiAo
bV9pc0V4dGVybmFsU2NyaXB0ICYmIG1fY2FjaGVkU2NyaXB0ICYmICFtX2NhY2hlZFNjcmlwdC0+
bWltZVR5cGVBbGxvd2VkQnlOb3NuaWZmKCkpIHsKLSAgICAgICAgbV9lbGVtZW50LT5kb2N1bWVu
dCgpLmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJSZWZ1c2VkIHRvIGV4ZWN1dGUgc2NyaXB0IGZyb20gJyIgKyBtX2NhY2hlZFNjcmlw
dC0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIGl0
cyBNSU1FIHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBlKCkgKyAiJykgaXMgbm90
IGV4ZWN1dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNoZWNraW5nIGlzIGVuYWJsZWQuIik7
CisgICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIlJlZnVzZWQgdG8gZXhlY3V0
ZSBzY3JpcHQgZnJvbSAnIiArIG1fY2FjaGVkU2NyaXB0LT51cmwoKS5zdHJpbmdDZW50ZXJFbGxp
cHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSAoJyIgKyBtX2NhY2hl
ZFNjcmlwdC0+bWltZVR5cGUoKSArICInKSBpcyBub3QgZXhlY3V0YWJsZSwgYW5kIHN0cmljdCBN
SU1FIHR5cGUgY2hlY2tpbmcgaXMgZW5hYmxlZC4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICNlbmRpZgpAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQgU2NyaXB0RWxlbWVudDo6bm90aWZ5Rmlu
aXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogCiAgICAgICAgIGRpc3BhdGNoRXJyb3JF
dmVudCgpOwogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3Nh
Z2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jv
c3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7Ci0gICAgICAgIG1fZWxlbWVu
dC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQo
KS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJv
ciwgY29uc29sZU1lc3NhZ2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggY2E2MDQxZi4uMzY2
NTIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNw
cApAQCAtMzMsMTAgKzMzLDEwIEBACiAjaW5jbHVkZSAiRXJyb3JFdmVudC5oIgogI2luY2x1ZGUg
Ik1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAiUHVibGljVVJMTWFuYWdlci5oIgotI2luY2x1ZGUg
IlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiV29y
a2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlIDxp
bnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKQEAgLTUxLDYgKzUxLDggQEAKICNpbmNsdWRlICJEYXRh
YmFzZUNvbnRleHQuaCIKICNlbmRpZgogCit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOworCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFByb2Nlc3NNZXNzYWdlc1Nvb25UYXNrIDogcHVi
bGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggMWM3ZjBkYS4uYjViZjgwYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0yOSwxMCArMjksMTAg
QEAKICNkZWZpbmUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dF9oCiAKICNpbmNsdWRlICJBY3RpdmVE
T01PYmplY3QuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJVUkwuaCIK
ICNpbmNsdWRlICJTZWN1cml0eUNvbnRleHQuaCIKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5o
IgorI2luY2x1ZGUgIlVSTC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDYgKzQw
LDEwIEBAIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIFZNOwogfQogCituYW1lc3BhY2UgSW5zcGVj
dG9yIHsKK2NsYXNzIFNjcmlwdENhbGxTdGFjazsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDYWNoZWRTY3JpcHQ7CkBAIC00OSw3ICs1Myw2IEBAIGNsYXNzIEV2ZW50TGlzdGVu
ZXI7CiBjbGFzcyBFdmVudFF1ZXVlOwogY2xhc3MgRXZlbnRUYXJnZXQ7CiBjbGFzcyBNZXNzYWdl
UG9ydDsKLWNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAogI2lmIEVOQUJMRShCTE9CKQogY2xhc3Mg
UHVibGljVVJMTWFuYWdlcjsKQEAgLTc1LDcgKzc4LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBz
YW5pdGl6ZVNjcmlwdEVycm9yKFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQmIGxpbmVOdW1iZXIs
IGludCYgY29sdW1uTnVtYmVyLCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0KiA9IDAp
OwogICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQzMTU+IFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQgbG9nIGV4Y2VwdGlvbiBzaG91bGQgaW5jbHVkZSBhIGNvbHVtbiBudW1iZXIK
LSAgICB2b2lkIHJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50
IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIENhY2hlZFNjcmlwdCogPSAwKTsKKyAgICB2b2lk
IHJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1i
ZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgQ2FjaGVkU2NyaXB0KiA9IDApOwogCiAgICAg
dm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3RhdGUqID0gMCwgdW5zaWdu
ZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogICAgIHZpcnR1YWwgdm9pZCBhZGRDb25z
b2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApID0gMDsKQEAgLTE3Nyw5
ICsxODAsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNw
ZW5zaW9uIHJlYXNvbkZvclN1c3BlbmRpbmdBY3RpdmVET01PYmplY3RzKCkgY29uc3QgeyByZXR1
cm4gbV9yZWFzb25Gb3JTdXNwZW5kaW5nQWN0aXZlRE9NT2JqZWN0czsgfQogCiBwcml2YXRlOgot
ICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQg
bGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgPSAwOwogICAgIHZpcnR1YWwgRXZlbnRU
YXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2Vw
dGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25z
b2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
aW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpT
Y3JpcHRDYWxsU3RhY2s+KSA9IDA7CiAgICAgYm9vbCBkaXNwYXRjaEVycm9yRXZlbnQoY29uc3Qg
U3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0Kik7CiAKICAgICB2b2lkIGNsb3Nl
TWVzc2FnZVBvcnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApp
bmRleCAyYzk1MzlkLi4wZjZjMDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5jcHAKQEAgLTQ0OCwxNSArNDQ4LDE1IEBAIHN0YXRpYyBNZXNzYWdlTGV2ZWwgdmlld3Bv
cnRFcnJvck1lc3NhZ2VMZXZlbChWaWV3cG9ydEVycm9yQ29kZSBlcnJvckNvZGUpCiB7CiAgICAg
c3dpdGNoIChlcnJvckNvZGUpIHsKICAgICBjYXNlIFRydW5jYXRlZFZpZXdwb3J0QXJndW1lbnRW
YWx1ZUVycm9yOgotICAgICAgICByZXR1cm4gV2FybmluZ01lc3NhZ2VMZXZlbDsKKyAgICAgICAg
cmV0dXJuIE1lc3NhZ2VMZXZlbDo6V2FybmluZzsKICAgICBjYXNlIFVucmVjb2duaXplZFZpZXdw
b3J0QXJndW1lbnRLZXlFcnJvcjoKICAgICBjYXNlIFVucmVjb2duaXplZFZpZXdwb3J0QXJndW1l
bnRWYWx1ZUVycm9yOgogICAgIGNhc2UgTWF4aW11bVNjYWxlVG9vTGFyZ2VFcnJvcjoKLSAgICAg
ICAgcmV0dXJuIEVycm9yTWVzc2FnZUxldmVsOworICAgICAgICByZXR1cm4gTWVzc2FnZUxldmVs
OjpFcnJvcjsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4g
RXJyb3JNZXNzYWdlTGV2ZWw7CisgICAgcmV0dXJuIE1lc3NhZ2VMZXZlbDo6RXJyb3I7CiB9CiAK
IHZvaWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1bWVudCwgVmlld3BvcnRF
cnJvckNvZGUgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VtZW50MSwgY29uc3QgU3Ry
aW5nJiByZXBsYWNlbWVudDIpCkBAIC00NzUsNyArNDc1LDcgQEAgdm9pZCByZXBvcnRWaWV3cG9y
dFdhcm5pbmcoRG9jdW1lbnQqIGRvY3VtZW50LCBWaWV3cG9ydEVycm9yQ29kZSBlcnJvckNvZGUs
IGNvbnMKICAgICAgICAgbWVzc2FnZS5hcHBlbmQoIiBOb3RlIHRoYXQgJzsnIGlzIG5vdCBhIHNl
cGFyYXRvciBpbiB2aWV3cG9ydCB2YWx1ZXMuIFRoZSBsaXN0IHNob3VsZCBiZSBjb21tYS1zZXBh
cmF0ZWQuIik7CiAKICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBv
ZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgIGRvY3VtZW50LT5hZGRDb25zb2xl
TWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCB2aWV3cG9ydEVycm9yTWVzc2FnZUxldmVs
KGVycm9yQ29kZSksIG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpSZW5kZXJpbmcsIHZpZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwoZXJyb3JD
b2RlKSwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0Jsb2IuY3BwCmluZGV4IDY3MjZiZjQuLjYzNDFkMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2ZpbGVhcGkvQmxvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNw
cApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkJsb2JVUkwuaCIKICNpbmNsdWRlICJGaWxl
LmgiCiAjaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxT
dGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJU
aHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcAppbmRleCBjNDdl
YjFmLi44YTQ1ODA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJs
b2JCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWls
ZGVyLmNwcApAQCAtMjksNyArMjksNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQog
I2luY2x1ZGUgIldlYktpdEJsb2JCdWlsZGVyLmgiCiAKICNpbmNsdWRlICJCbG9iLmgiCkBAIC0z
OCw3ICszNyw2IEBACiAjaW5jbHVkZSAiRmlsZS5oIgogI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBv
cnQuaCIKICNpbmNsdWRlICJMaW5lRW5kaW5nLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNr
LmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCiAjaW5jbHVkZSA8cnVudGltZS9BcnJheUJ1
ZmZlci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXJWaWV3Lmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCBlNjEwMjI5Li42
Mzg4MTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5jcHAKQEAgLTE4MCw3ICsxODAsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRBdXRvZm9jdXMoSFRN
TEZvcm1Db250cm9sRWxlbWVudCogZWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IGlmIChlbGVtZW50LT5kb2N1bWVudCgpLmlzU2FuZGJveGVkKFNhbmRib3hBdXRvbWF0aWNGZWF0
dXJlcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQg
b2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgZWxlbWVudC0+ZG9jdW1l
bnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgYmVjYXVzZSB0
aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJt
aXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3Is
IEFTQ0lJTGl0ZXJhbCgiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgYmVj
YXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRz
JyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIikpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQogICAgIGlmIChlbGVtZW50LT5oYXNBdXRvZm9jdXNlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDEzMmVkOTEuLjYwYTEzODcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTI1Myw3ICsyNTMsNyBAQCBib29sIEhUTUxG
b3JtRWxlbWVudDo6dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KEV2ZW50KiBldmVudCkKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlKCJBbiBpbnZhbGlk
IGZvcm0gY29udHJvbCB3aXRoIG5hbWU9JyVuYW1lJyBpcyBub3QgZm9jdXNhYmxlLiIpOwogICAg
ICAgICAgICAgbWVzc2FnZS5yZXBsYWNlKCIlbmFtZSIsIGNvbnRyb2wubmFtZSgpKTsKLSAgICAg
ICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICAgICAgZG9jdW1lbnQoKS5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpSZW5kZXJpbmcsIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsIG1lc3NhZ2UpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElGcmFtZUVsZW1lbnQuY3BwCmluZGV4IGE4N2UwMzkuLmQzZWJhNDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCkBAIC04MCw3ICs4MCw3IEBAIHZvaWQg
SFRNTElGcmFtZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5h
bWUsIGNvbnN0IEF0b21pY1N0CiAgICAgICAgIFN0cmluZyBpbnZhbGlkVG9rZW5zOwogICAgICAg
ICBzZXRTYW5kYm94RmxhZ3ModmFsdWUuaXNOdWxsKCkgPyBTYW5kYm94Tm9uZSA6IFNlY3VyaXR5
Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KHZhbHVlLCBpbnZhbGlkVG9rZW5zKSk7CiAgICAg
ICAgIGlmICghaW52YWxpZFRva2Vucy5pc051bGwoKSkKLSAgICAgICAgICAgIGRvY3VtZW50KCku
YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IkVycm9yIHdoaWxlIHBhcnNpbmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1dGU6ICIgKyBpbnZhbGlk
VG9rZW5zKTsKKyAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJFcnJvciB3aGlsZSBwYXJzaW5n
IHRoZSAnc2FuZGJveCcgYXR0cmlidXRlOiAiICsgaW52YWxpZFRva2Vucyk7CiAgICAgfSBlbHNl
CiAgICAgICAgIEhUTUxGcmFtZUVsZW1lbnRCYXNlOjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1
ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBiZGUy
YmE1Li41MjdjZDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
QEAgLTI3NDcsNyArMjc0Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0R2VuZXJh
dGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBQYXNzUmVmCiAjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQV9WMikKICAgICBzdGF0aWMgYm9vbCBmaXJzdFRpbWUgPSB0cnVlOwog
ICAgIGlmIChmaXJzdFRpbWUgJiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7Ci0gICAgICAg
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiJ0hUTUxNZWRpYUVsZW1lbnQud2Via2l0R2VuZXJh
dGVLZXlSZXF1ZXN0KCknIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ01lZGlhS2V5cy5jcmVhdGVTZXNz
aW9uKCknIGluc3RlYWQuIik7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywg
QVNDSUlMaXRlcmFsKCInSFRNTE1lZGlhRWxlbWVudC53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3Qo
KScgaXMgZGVwcmVjYXRlZC4gIFVzZSAnTWVkaWFLZXlzLmNyZWF0ZVNlc3Npb24oKScgaW5zdGVh
ZC4iKSk7CiAgICAgICAgIGZpcnN0VGltZSA9IGZhbHNlOwogICAgIH0KICNlbmRpZgpAQCAtMjc4
Myw3ICsyNzgzLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRBZGRLZXkoY29uc3Qg
U3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnIKICNpZiBFTkFCTEUoRU5DUllQ
VEVEX01FRElBX1YyKQogICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9IHRydWU7CiAgICAgaWYg
KGZpcnN0VGltZSAmJiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdh
cm5pbmdNZXNzYWdlTGV2ZWwsICInSFRNTE1lZGlhRWxlbWVudC53ZWJraXRBZGRLZXkoKScgaXMg
ZGVwcmVjYXRlZC4gIFVzZSAnTWVkaWFLZXlTZXNzaW9uLnVwZGF0ZSgpJyBpbnN0ZWFkLiIpOwor
ICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIEFTQ0lJTGl0ZXJhbCgiJ0hUTUxN
ZWRpYUVsZW1lbnQud2Via2l0QWRkS2V5KCknIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ01lZGlhS2V5
U2Vzc2lvbi51cGRhdGUoKScgaW5zdGVhZC4iKSk7CiAgICAgICAgIGZpcnN0VGltZSA9IGZhbHNl
OwogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5kZXggMGQ3YjY5ZS4uMTY1NWE3YiAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwCkBAIC0xODU5LDcgKzE4NTksNyBAQCBQYXNzUmVmUHRyPEltYWdlRGF0YT4g
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpnZXRJbWFnZURhdGEoSW1hZ2VCdWZmZXI6OkNvb3Jk
aQogewogICAgIGlmICghY2FudmFzKCktPm9yaWdpbkNsZWFuKCkpIHsKICAgICAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJVbmFi
bGUgdG8gZ2V0IGltYWdlIGRhdGEgZnJvbSBjYW52YXMgYmVjYXVzZSB0aGUgY2FudmFzIGhhcyBi
ZWVuIHRhaW50ZWQgYnkgY3Jvc3Mtb3JpZ2luIGRhdGEuIikpKTsKLSAgICAgICAgY2FudmFzKCkt
PmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBjYW52YXMoKS0+ZG9jdW1l
bnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxl
dmVsOjpFcnJvciwgY29uc29sZU1lc3NhZ2UpOwogICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggMzgxMDM5OS4uYTdmZWZiOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHQuY3BwCkBAIC01NTI4LDcgKzU1MjgsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dDo6cHJpbnRXYXJuaW5nVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBp
ZiAoIWNhbnZhcygpKQogICAgICAgICByZXR1cm47Ci0gICAgY2FudmFzKCktPmRvY3VtZW50KCku
YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VM
ZXZlbCwgbWVzc2FnZSk7CisgICAgY2FudmFzKCktPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6UmVuZGVyaW5nLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIG1lc3Nh
Z2UpOwogfQogCiBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVGcmFtZWJ1ZmZl
ckZ1bmNQYXJhbWV0ZXJzKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGVudW0gdGFyZ2V0
LCBHQzNEZW51bSBhdHRhY2htZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvWFNTQXVkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRp
dG9yLmNwcAppbmRleCAwODRmYTc4Li5iMzYzNWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9YU1NBdWRpdG9yLmNwcApAQCAtMjgwLDcgKzI4MCw3IEBAIHZvaWQgWFNTQXVkaXRvcjo6
aW5pdChEb2N1bWVudCogZG9jdW1lbnQsIFhTU0F1ZGl0b3JEZWxlZ2F0ZSogYXVkaXRvckRlbGVn
YXRlKQogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICh4c3NQcm90ZWN0aW9u
SGVhZGVyID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVmbGVjdGVkWFNTSW52YWxpZCkKLSAg
ICAgICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3IgcGFyc2luZyBoZWFkZXIgWC1YU1MtUHJvdGVj
dGlvbjogIiArIGhlYWRlclZhbHVlICsgIjogIiAgKyBlcnJvckRldGFpbHMgKyAiIGF0IGNoYXJh
Y3RlciBwb3NpdGlvbiAiICsgU3RyaW5nOjpmb3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlvbikgKyAi
LiBUaGUgZGVmYXVsdCBwcm90ZWN0aW9ucyB3aWxsIGJlIGFwcGxpZWQuIik7CisgICAgICAgICAg
ICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1l
c3NhZ2VMZXZlbDo6RXJyb3IsICJFcnJvciBwYXJzaW5nIGhlYWRlciBYLVhTUy1Qcm90ZWN0aW9u
OiAiICsgaGVhZGVyVmFsdWUgKyAiOiAiICArIGVycm9yRGV0YWlscyArICIgYXQgY2hhcmFjdGVy
IHBvc2l0aW9uICIgKyBTdHJpbmc6OmZvcm1hdCgiJXUiLCBlcnJvclBvc2l0aW9uKSArICIuIFRo
ZSBkZWZhdWx0IHByb3RlY3Rpb25zIHdpbGwgYmUgYXBwbGllZC4iKTsKIAogICAgICAgICBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OlJlZmxlY3RlZFhTU0Rpc3Bvc2l0aW9uIGNzcEhlYWRlciA9IGRv
Y3VtZW50LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVmbGVjdGVkWFNTRGlzcG9zaXRpb24o
KTsKICAgICAgICAgbV9kaWRTZW5kVmFsaWRDU1BIZWFkZXIgPSBjc3BIZWFkZXIgIT0gQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpSZWZsZWN0ZWRYU1NVbnNldCAmJiBjc3BIZWFkZXIgIT0gQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpSZWZsZWN0ZWRYU1NJbnZhbGlkOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKaW5kZXggZDA2MDY5Yi4uOWNi
YTA2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRl
bGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVs
ZWdhdGUuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgWFNTQXVkaXRvckRlbGVnYXRlOjpkaWRC
bG9ja1NjcmlwdChjb25zdCBYU1NJbmZvJiB4c3NJbmZvKQogewogICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAKLSAgICBtX2RvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGJ1aWxkQ29uc29sZUVycm9yKHhzc0luZm8sIG1fZG9j
dW1lbnQudXJsKCkuc3RyaW5nKCkpKTsKKyAgICBtX2RvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBidWlsZENvbnNvbGVFcnJv
cih4c3NJbmZvLCBtX2RvY3VtZW50LnVybCgpLnN0cmluZygpKSk7CiAKICAgICBGcmFtZUxvYWRl
ciYgZnJhbWVMb2FkZXIgPSBtX2RvY3VtZW50LmZyYW1lKCktPmxvYWRlcigpOwogICAgIGlmICh4
c3NJbmZvLm1fZGlkQmxvY2tFbnRpcmVQYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29tbWFuZExpbmVBUElIb3N0LmNwcAppbmRleCA5MmYxZDI3Li5mNDA0YTUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmNwcApAQCAtMzgs
NyArMzgsNiBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1l
T3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCi0jaW5jbHVkZSAi
SW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JEYXRhYmFzZUFnZW50LmgiCkBAIC00OSw2ICs0OCw3IEBACiAjaW5jbHVkZSA8YmluZGluZ3Mv
U2NyaXB0VmFsdWUuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAj
aW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oPgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCmluZGV4IDZmOTAyNWYuLjA4ZjBjMTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmgKQEAg
LTMwLDggKzMwLDggQEAKICNpZm5kZWYgQ29tbWFuZExpbmVBUElIb3N0X2gKICNkZWZpbmUgQ29t
bWFuZExpbmVBUElIb3N0X2gKIAotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUg
IlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBTY3JpcHRW
YWx1ZTsKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiBjbGFzcyBJbnNwZWN0b3JBZ2VudDsKK2Ns
YXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNz
IEluc3BlY3RvclZhbHVlOwogfQpAQCAtNDksNyArNTAsNiBAQCBjbGFzcyBJbnNwZWN0b3JWYWx1
ZTsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRGF0YWJhc2U7Ci1jbGFzcyBJbnNwZWN0
b3JDb25zb2xlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JET01BZ2VudDsKIGNsYXNzIEluc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRhdGFiYXNlQWdlbnQ7CkBAIC02NCwx
MSArNjQsMTEgQEAgcHVibGljOgogICAgIH5Db21tYW5kTGluZUFQSUhvc3QoKTsKIAogICAgIHZv
aWQgaW5pdChJbnNwZWN0b3I6Okluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JBZ2VudAotICAgICAg
ICAgICAgLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudAotICAgICAgICAgICAg
LCBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQKLSAgICAgICAgICAgICwgSW5zcGVjdG9yRE9N
U3RvcmFnZUFnZW50KiBkb21TdG9yYWdlQWdlbnQKKyAgICAgICAgLCBJbnNwZWN0b3I6Okluc3Bl
Y3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50CisgICAgICAgICwgSW5zcGVjdG9yRE9NQWdl
bnQqIGRvbUFnZW50CisgICAgICAgICwgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBkb21TdG9y
YWdlQWdlbnQKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQotICAgICAgICAgICAgLCBJbnNwZWN0
b3JEYXRhYmFzZUFnZW50KiBkYXRhYmFzZUFnZW50CisgICAgICAgICwgSW5zcGVjdG9yRGF0YWJh
c2VBZ2VudCogZGF0YWJhc2VBZ2VudAogI2VuZGlmCiAgICAgICAgICkKICAgICB7CkBAIC0xMDgs
NyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICBDb21tYW5kTGluZUFQSUhvc3QoKTsKIAogICAgIElu
c3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7Ci0gICAgSW5zcGVjdG9y
Q29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKKyAgICBJbnNwZWN0b3I6Okluc3BlY3RvckNv
bnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1fZG9t
QWdlbnQ7CiAgICAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBtX2RvbVN0b3JhZ2VBZ2VudDsK
ICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBbGxJbk9uZS5jcHAKaW5kZXggZjcyNTIyMy4uYmZjNDJkNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCkBAIC0yNywxNiArMjcs
MTMgQEAKIAogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5jcHAiCiAjaW5jbHVkZSAiQ29t
bWFuZExpbmVBUElNb2R1bGUuY3BwIgotI2luY2x1ZGUgIkNvbnNvbGVNZXNzYWdlLmNwcCIKICNp
bmNsdWRlICJET01FZGl0b3IuY3BwIgogI2luY2x1ZGUgIkRPTVBhdGNoU3VwcG9ydC5jcHAiCi0j
aW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmNwcCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlw
dENhbnZhc01vZHVsZS5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JDU1NBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yQ2FudmFzQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5jcHAiCi0j
aW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JD
b250cm9sbGVyLmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb3VudGVycy5jcHAiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yRE9NQWdlbnQuY3BwIgpAQCAtNzAsMTAgKzY3LDggQEAKICNpbmNsdWRlICJQ
YWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCIKICNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmNwcCIKICNpbmNsdWRlICJQYWdlUnVudGltZUFnZW50LmNwcCIKLSNpbmNsdWRlICJT
Y3JpcHRBcmd1bWVudHMuY3BwIgotI2luY2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5jcHAiCi0jaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmNwcCIKICNpbmNsdWRlICJUaW1lbGluZVJlY29yZEZhY3Rv
cnkuY3BwIgorI2luY2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5jcHAiCiAjaW5jbHVkZSAiV2ViRGVi
dWdnZXJBZ2VudC5jcHAiCiAjaW5jbHVkZSAiV29ya2VyQ29uc29sZUFnZW50LmNwcCIKICNpbmNs
dWRlICJXb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzQ5YmFkOC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29uc29sZUFnZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMTUgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2lmbmRlZiBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAotI2RlZmluZSBJbnNwZWN0
b3JDb25zb2xlQWdlbnRfaAotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQotI2luY2x1ZGUgIkNv
bnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgotI2luY2x1ZGUgIklu
c3BlY3RvcldlYkFnZW50QmFzZS5oIgotI2luY2x1ZGUgIkluc3BlY3RvcldlYkJhY2tlbmREaXNw
YXRjaGVycy5oIgotI2luY2x1ZGUgIkluc3BlY3RvcldlYkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIK
LSNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KLSNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENvbnNvbGVNZXNzYWdlOwotY2xhc3MgRE9NV2lu
ZG93OwotY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKLWNsYXNzIFBhZ2VJbmplY3RlZFNjcmlw
dE1hbmFnZXI7Ci1jbGFzcyBSZXNvdXJjZUVycm9yOwotY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsK
LWNsYXNzIFNjcmlwdEFyZ3VtZW50czsKLWNsYXNzIFNjcmlwdENhbGxTdGFjazsKLWNsYXNzIFNj
cmlwdFByb2ZpbGU7Ci0KLXR5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwotCi1jbGFzcyBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5z
cGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyIHsKLSAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb25zb2xlQWdlbnQpOwotcHVibGljOgotICAg
IEluc3BlY3RvckNvbnNvbGVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUGFnZUluamVjdGVk
U2NyaXB0TWFuYWdlciopOwotICAgIHZpcnR1YWwgfkluc3BlY3RvckNvbnNvbGVBZ2VudCgpOwot
Ci0gICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopIG92ZXJyaWRlOwotICAgIHZp
cnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2
b2lkIGNsZWFyTWVzc2FnZXMoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKLSAgICBib29sIGVuYWJs
ZWQoKSBjb25zdCB7IHJldHVybiBtX2VuYWJsZWQ7IH0KLSAgICB2b2lkIHJlc2V0KCk7Ci0KLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlciopIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwot
Ci0gICAgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBl
LCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKTsKLSAgICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNjcmlwdElELCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIs
IEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKTsKLQotICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSB3ZSBubyBsb25nZXIgZ2VuZXJh
dGUgc3RhY2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgotICAgIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllciA9IDApOwotCi0gICAgVmVjdG9yPHVuc2lnbmVkPiBjb25zb2xlTWVz
c2FnZUFyZ3VtZW50Q291bnRzKCk7Ci0KLSAgICB2b2lkIHN0YXJ0VGltaW5nKGNvbnN0IFN0cmlu
ZyYgdGl0bGUpOwotICAgIHZvaWQgc3RvcFRpbWluZyhjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwotICAgIHZvaWQgY291bnQoSlNDOjpFeGVjU3RhdGUq
LCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotCi0gICAgdm9pZCBmcmFtZVdpbmRvd0Rp
c2NhcmRlZChET01XaW5kb3cqKTsKLQotICAgIHZvaWQgZGlkRmluaXNoWEhSTG9hZGluZyh1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3Ry
aW5nJiBzZW5kVVJMLCB1bnNpZ25lZCBzZW5kTGluZU51bWJlciwgdW5zaWduZWQgc2VuZENvbHVt
bk51bWJlcik7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyByZXF1
ZXN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwotICAgIHZvaWQgZGlkRmFp
bExvYWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VF
cnJvciYpOwotICAgIHZvaWQgYWRkUHJvZmlsZUZpbmlzaGVkTWVzc2FnZVRvQ29uc29sZShQYXNz
UmVmUHRyPFNjcmlwdFByb2ZpbGU+LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1
bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAgICB2b2lkIGFkZFN0YXJ0UHJv
ZmlsaW5nTWVzc2FnZVRvQ29uc29sZShjb25zdCBTdHJpbmcmIHRpdGxlLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsK
LSAgICB2aXJ0dWFsIHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBi
b29sIGVuYWJsZWQpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0ZWROb2Rl
KEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNw
ZWN0ZWRIZWFwT2JqZWN0KEVycm9yU3RyaW5nKiwgaW50IGluc3BlY3RlZEhlYXBPYmplY3RJZCkg
b3ZlcnJpZGU7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpID0gMDsKLQotcHJv
dGVjdGVkOgotICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxDb25zb2xlTWVz
c2FnZT4pOwotCi0gICAgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlw
dE1hbmFnZXI7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29s
ZUZyb250ZW5kRGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7Ci0gICAgUmVmUHRyPElu
c3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRjaGVyPiBtX2JhY2tlbmREaXNw
YXRjaGVyOwotICAgIENvbnNvbGVNZXNzYWdlKiBtX3ByZXZpb3VzTWVzc2FnZTsKLSAgICBWZWN0
b3I8T3duUHRyPENvbnNvbGVNZXNzYWdlPj4gbV9jb25zb2xlTWVzc2FnZXM7Ci0gICAgaW50IG1f
ZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQ7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIHVuc2lnbmVk
PiBtX2NvdW50czsKLSAgICBIYXNoTWFwPFN0cmluZywgZG91YmxlPiBtX3RpbWVzOwotICAgIGJv
b2wgbV9lbmFibGVkOwotICAgIGJvb2wgbV9tb25pdG9yaW5nWEhSRW5hYmxlZDsKLX07Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KLSNl
bmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JDb25zb2xlQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlv
bi5oCmluZGV4IGVlZTc4N2MuLjE0NjBhZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaApAQCAtMzIs
MTQgKzMyLDE0IEBACiAjZGVmaW5lIEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb25faAog
CiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiU2NyaXB0
QXJndW1lbnRzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0UHJvZmlsZS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaD4KKyNp
bmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNv
dXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1
bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewogI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKQEAgLTU1LDcgKzU1LDcgQEAg
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xl
KFBhZ2UqIHBhZ2UsIE1lc3NhZ2VTb3UKICNlbmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIp
CitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNv
bGUoUGFnZSogcGFnZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1l
c3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSog
c3RhdGUsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cywg
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCkBAIC05MSw3ICs5MSw3IEBAIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBw
YWdlLCBNZXNzYWdlU291CiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiB3b3JrZXJH
bG9iYWxTY29wZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3Nh
Z2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQoraW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFdv
cmtlckdsb2JhbFNjb3BlKiB3b3JrZXJHbG9iYWxTY29wZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikK
ICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JXb3JrZXJHbG9iYWxTY29wZSh3b3JrZXJHbG9iYWxTY29wZSkpCkBA
IC0xMjYsNyArMTI2LDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjph
ZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiB3b3IKICNlbmRpZgogfQogCi1p
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudChQYWdlKiBw
YWdlLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVD
b3VudChQYWdlKiBwYWdlLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCkBAIC0xNDksNyArMTQ5LDcgQEAgaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdGFydENvbnNvbGVUaW1pbmcoRnJhbWUq
IGZyYW1lLCBjb25zdCBTdHIKICNlbmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrKQoraW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdG9wQ29uc29sZVRpbWluZyhGcmFtZSogZnJhbWUs
IGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3Rh
Y2s+IHN0YWNrKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJh
bWUoZnJhbWUpKQpAQCAtMTYxLDcgKzE2MSw3IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6c3RvcENvbnNvbGVUaW1pbmcoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpCiAj
ZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xl
VGltZVN0YW1wKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3Vt
ZW50cykKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZVRpbWVT
dGFtcChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+
IGFyZ3VtZW50cykKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyh2b2lkKCkpOwpAQCAtMTg3LDcgKzE4Nyw3IEBAIGlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkU3RhcnRQcm9maWxpbmdNZXNzYWdlVG9Db25zb2xl
KFBhZ2UqIHBhCiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRQcm9maWxlKFBhZ2UqIHBhZ2UsIFJlZlB0cjxTY3JpcHRQcm9maWxlPiBwcm9maWxl
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQoraW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRQcm9maWxlKFBhZ2UqIHBhZ2UsIFJlZlB0cjxTY3Jp
cHRQcm9maWxlPiBwcm9maWxlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNr
PiBjYWxsU3RhY2spCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQ
YWdlKHBhZ2UpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCmluZGV4IDIzM2IwMzguLjNkYWMwMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQu
aCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJJZGVudGlmaWVyc0Zh
Y3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JDU1NBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNhbnZhc0Fn
ZW50LmgiCkBAIC03Miw2ICs3MSw3IEBACiAjaW5jbHVkZSAiUGFnZUluamVjdGVkU2NyaXB0TWFu
YWdlci5oIgogI2luY2x1ZGUgIlBhZ2VSdW50aW1lQWdlbnQuaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaD4KICNpbmNsdWRl
IDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDxpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2su
aD4KQEAgLTE0MSw4ICsxNDEsOSBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250
cm9sbGVyKFBhZ2UmIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogICAgIG1fcmVz
b3VyY2VBZ2VudCA9IHJlc291cmNlQWdlbnRQdHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5k
KHN0ZDo6bW92ZShyZXNvdXJjZUFnZW50UHRyKSk7CiAKLSAgICBhdXRvIGNvbnNvbGVBZ2VudFB0
ciA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZUNvbnNvbGVBZ2VudD4obV9pbnN0cnVtZW50aW5nQWdl
bnRzLmdldCgpLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSwgbV9kb21BZ2VudCk7Ci0g
ICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBjb25zb2xlQWdlbnRQdHIu
Z2V0KCk7CisgICAgYXV0byBjb25zb2xlQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VD
b25zb2xlQWdlbnQ+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpLCBtX2RvbUFnZW50KTsK
KyAgICBXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGNvbnNvbGVBZ2VudFB0ci5nZXQo
KTsKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldFdlYkNvbnNvbGVBZ2VudChjb25zb2xl
QWdlbnRQdHIuZ2V0KCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUoY29uc29sZUFn
ZW50UHRyKSk7CiAKICAgICBhdXRvIGRlYnVnZ2VyQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVl
PFBhZ2VEZWJ1Z2dlckFnZW50PihtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSwgbV9pbnN0
cnVtZW50aW5nQWdlbnRzLmdldCgpLCBwYWdlQWdlbnQsIG1fb3ZlcmxheS5nZXQoKSk7CkBAIC0y
NzEsNyArMjcyLDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRl
bmQoSW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbiByZWFzb24pCiAgICAgbV9pbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlci5jbGVhcigpOwogICAgIG1faW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsID0g
bnVsbHB0cjsKIAotICAgIC8vIHJlbGVzZSBvdmVybGF5IHBhZ2UgcmVzb3VyY2VzCisgICAgLy8g
UmVsZWFzZSBvdmVybGF5IHBhZ2UgcmVzb3VyY2VzLgogICAgIG1fb3ZlcmxheS0+ZnJlZVBhZ2Uo
KTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyb250ZW5kRGVsZXRlZCgpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6dW5yZWdpc3Rlckluc3RydW1lbnRpbmdBZ2VudHMo
bV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDczMTMxNjQuLjc0YTUyNmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNjMsNyAr
NjMsNiBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxUZW1wbGF0ZUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCi0jaW5jbHVkZSAiSWRlbnRpZmll
cnNGYWN0b3J5LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySGlzdG9yeS5oIgogI2luY2x1ZGUgIklu
c3BlY3Rvck5vZGVGaW5kZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmgiCkBAIC05
MSw2ICs5MCw3IEBACiAjaW5jbHVkZSAiWFBhdGhSZXN1bHQuaCIKICNpbmNsdWRlICJodG1sZWRp
dGluZy5oIgogI2luY2x1ZGUgIm1hcmt1cC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlm
aWVyc0ZhY3RvcnkuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaD4KICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuaAppbmRleCA5ZGM2N2IwLi5hYjBlN2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCkBAIC0yOSw3ICsyOSw2IEBACiAj
aWZuZGVmIEluc3BlY3RvckZyb250ZW5kSG9zdF9oCiAjZGVmaW5lIEluc3BlY3RvckZyb250ZW5k
SG9zdF9oCiAKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJDb250ZXh0TWVu
dS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51UHJvdmlkZXIuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCAyMzVlY2NlLi5mMTU4OTIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApA
QCAtMzUsOCArMzUsNiBAQAogCiAjaW5jbHVkZSAiQ1NTUnVsZS5oIgogI2luY2x1ZGUgIkNTU1N0
eWxlUnVsZS5oIgotI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNv
bGVUeXBlcy5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRPTVdyYXBwZXJX
b3JsZC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCkBAIC00Niw3ICs0NCw2IEBACiAjaW5jbHVk
ZSAiSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
Q1NTQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDYW52YXNBZ2VudC5oIgotI2luY2x1ZGUg
Ikluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudC5oIgpAQCAtNjQsMTYgKzYxLDE4IEBACiAjaW5jbHVkZSAiUGFn
ZVJ1bnRpbWVBZ2VudC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlJl
bmRlclZpZXcuaCIKLSNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKLSNpbmNsdWRlICJTY3Jp
cHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
U2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJT
dHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKICNpbmNsdWRlICJXb3Jr
ZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlclJ1bnRpbWVBZ2VudC5oIgogI2luY2x1
ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0LmgiCisjaW5jbHVk
ZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRB
cmd1bWVudHMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5j
bHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAg
LTE4Myw3ICsxODIsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxp
ZGF0ZVN0eWxlQXR0ckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaQogCiB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVXaW5kb3dEaXNjYXJkZWRJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIERPTVdpbmRvdyogd2luZG93KQogewotICAgIGlm
IChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNv
bnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAg
ICAgICBjb25zb2xlQWdlbnQtPmZyYW1lV2luZG93RGlzY2FyZGVkKHdpbmRvdyk7CiB9CiAKQEAg
LTYwMCw3ICs1OTksNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2
ZVJlc291cmNlUmVzcG9uc2VJbXBsKGNvbnN0IEluc3BlY3RvcklucwogICAgIEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBjb29raWUuaW5zdHJ1bWVudGluZ0FnZW50
cygpOwogICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQogICAgICAgICByZXNv
dXJjZUFnZW50LT5kaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgbG9hZGVyLCByZXNwb25z
ZSwgcmVzb3VyY2VMb2FkZXIpOwotICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQor
ICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPmRpZFJlY2VpdmVS
ZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25zZSk7IC8vIFRoaXMgc2hvdWxkIGNvbWUgQUZURVIg
cmVzb3VyY2Ugbm90aWZpY2F0aW9uLCBmcm9udC1lbmQgcmVsaWVzIG9uIHRoaXMuCiB9CiAKQEAg
LTY0NSw3ICs2NDQsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmFpbExv
YWRpbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbgogICAgICAgICB0aW1lbGlu
ZUFnZW50LT5kaWRGaW5pc2hMb2FkaW5nUmVzb3VyY2UoaWRlbnRpZmllciwgdHJ1ZSwgMCwgbG9h
ZGVyLT5mcmFtZSgpKTsKICAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VB
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKICAg
ICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkRmFpbExvYWRpbmcoaWRlbnRpZmllciwgbG9hZGVyLCBl
cnJvcik7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgaWYgKFdlYkNv
bnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29s
ZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlkRmFpbExvYWRpbmcoaWRlbnRpZmll
ciwgZXJyb3IpOyAvLyBUaGlzIHNob3VsZCBjb21lIEFGVEVSIHJlc291cmNlIG5vdGlmaWNhdGlv
biwgZnJvbnQtZW5kIHJlbGllcyBvbiB0aGlzLgogfQogCkBAIC02NjksNyArNjY4LDcgQEAgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxYSFJMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnUKIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZEZpbmlzaFhIUkxvYWRpbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgdW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZywgY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IFN0cmluZyYgc2VuZFVSTCwgdW5zaWduZWQgc2VuZExpbmVOdW1iZXIsIHVuc2lnbmVkIHNl
bmRDb2x1bW5OdW1iZXIpCiB7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29s
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisg
ICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlkRmluaXNoWEhS
TG9hZGluZyhpZGVudGlmaWVyLCB1cmwsIHNlbmRVUkwsIHNlbmRMaW5lTnVtYmVyLCBzZW5kQ29s
dW1uTnVtYmVyKTsKICAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2Vu
dCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKICAgICAg
ICAgcmVzb3VyY2VBZ2VudC0+ZGlkRmluaXNoWEhSTG9hZGluZyhjbGllbnQsIGlkZW50aWZpZXIs
IHNvdXJjZVN0cmluZyk7CkBAIC03NTIsNyArNzUxLDcgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnQKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGxvYWRlci0+ZnJhbWUoKS0+aXNNYWluRnJh
bWUoKSkgewotICAgICAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQg
PSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICAgICAg
aWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+
d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgICAgICBjb25zb2xlQWdlbnQtPnJlc2V0KCk7CiAK
ICAgICAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCkBAIC04NjIsMTMgKzg2
MSwxMyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkV3JpdGVIVE1MSW1wbChj
b25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25DbwogLy8gSmF2YVNjcmlwdENvcmUgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudCBzaG91bGQga25vdyBDb25zb2xlIE1lc3NhZ2VUeXBlcy4KIHN0YXRp
YyBib29sIGlzQ29uc29sZUFzc2VydE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2VUeXBlIHR5cGUpCiB7Ci0gICAgcmV0dXJuIHNvdXJjZSA9PSBDb25zb2xlQVBJTWVzc2FnZVNv
dXJjZSAmJiB0eXBlID09IEFzc2VydE1lc3NhZ2VUeXBlOworICAgIHJldHVybiBzb3VyY2UgPT0g
TWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSAmJiB0eXBlID09IE1lc3NhZ2VUeXBlOjpBc3NlcnQ7
CiB9CiAKIC8vIEZJWE1FOiBEcm9wIHRoaXMgb25jZSB3ZSBubyBsb25nZXIgZ2VuZXJhdGUgc3Rh
Y2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdl
TGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKLSAg
ICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5n
QWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50
KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkK
ICAgICAgICAgY29uc29sZUFnZW50LT5hZGRNZXNzYWdlVG9Db25zb2xlKHNvdXJjZSwgdHlwZSwg
bGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIC8vIEZJ
WE1FOiBUaGlzIHNob3VsZCBqdXN0IHBhc3MgdGhlIG1lc3NhZ2Ugb24gdG8gdGhlIGRlYnVnZ2Vy
IGFnZW50LiBKYXZhU2NyaXB0Q29yZSBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHNob3VsZCBrbm93
IENvbnNvbGUgTWVzc2FnZVR5cGVzLgogICAgIGlmIChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBk
ZWJ1Z2dlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dCgpKSB7CkBAIC04NzksNyArODc4LDcgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3QKIAogdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIE1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4g
YXJndW1lbnRzLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAgIGlmIChJ
bnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMt
Pmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAg
ICBjb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCB0eXBlLCBsZXZlbCwg
bWVzc2FnZSwgc3RhdGUsIGFyZ3VtZW50cywgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIC8vIEZJ
WE1FOiBUaGlzIHNob3VsZCBqdXN0IHBhc3MgdGhlIG1lc3NhZ2Ugb24gdG8gdGhlIGRlYnVnZ2Vy
IGFnZW50LiBKYXZhU2NyaXB0Q29yZSBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHNob3VsZCBrbm93
IENvbnNvbGUgTWVzc2FnZVR5cGVzLgogICAgIGlmIChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBk
ZWJ1Z2dlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dCgpKSB7CkBAIC04OTAsMTMgKzg4OSwxMyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdAogCiB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlwdElELCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllcikKIHsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25z
b2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkK
KyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdl
bnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5hZGRNZXNzYWdl
VG9Db25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNjcmlwdElELCBsaW5lTnVt
YmVyLCBjb2x1bW5OdW1iZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAKIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQ291bnRJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1Jl
ZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpZiAoSW5zcGVjdG9yQ29u
c29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JD
b25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBp
bnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFn
ZW50LT5jb3VudChzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIApAQCAtOTA0LDEzICs5MDMsMTMgQEAg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0YXJ0Q29uc29sZVRpbWluZ0ltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHIKIHsKICAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclRpbWVsaW5l
QWdlbnQoKSkKICAgICAgICAgdGltZWxpbmVBZ2VudC0+dGltZShmcmFtZSwgdGl0bGUpOwotICAg
IGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQq
IGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQog
ICAgICAgICBjb25zb2xlQWdlbnQtPnN0YXJ0VGltaW5nKHRpdGxlKTsKIH0KIAogdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYg
dGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFjaykKIHsKLSAgICBpZiAoSW5z
cGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5p
bnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xl
QWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAg
Y29uc29sZUFnZW50LT5zdG9wVGltaW5nKHRpdGxlLCBzdGFjayk7CiAgICAgaWYgKEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNw
ZWN0b3JUaW1lbGluZUFnZW50KCkpCiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPnRpbWVFbmQoZnJh
bWUsIHRpdGxlKTsKQEAgLTEwNzIsNyArMTA3MSw3IEBAIGJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpjYW52YXNBZ2VudEVuYWJsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0
CiBib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZUFnZW50RW5hYmxlZChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQogewogICAgIEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yQ29udGV4dChzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICBJbnNwZWN0b3JDb25zb2xl
QWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMgPyBpbnN0cnVtZW50aW5n
QWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSA6IG51bGxwdHI7CisgICAgSW5zcGVjdG9y
Q29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzID8gaW5zdHJ1
bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkgOiBudWxscHRyOwogICAgIHJldHVybiBj
b25zb2xlQWdlbnQgJiYgY29uc29sZUFnZW50LT5lbmFibGVkKCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBl
NWYxYjQwLi5jMTY4NTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0zMiw4ICszMiw2IEBACiAjZGVmaW5lIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbl9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgotI2luY2x1
ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1
ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJGb3JtRGF0YS5oIgogI2luY2x1ZGUgIkZyYW1lLmgi
CkBAIC00NCwxMiArNDIsMTggQEAKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUg
IlN0b3JhZ2VBcmVhLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0RnJhbWUuaCIKKyNpbmNsdWRlIDxp
bnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1l
c3BhY2UgRGVwcmVjYXRlZCB7CiBjbGFzcyBTY3JpcHRPYmplY3Q7CiB9CiAKK25hbWVzcGFjZSBJ
bnNwZWN0b3IgeworY2xhc3MgU2NyaXB0QXJndW1lbnRzOworY2xhc3MgU2NyaXB0Q2FsbFN0YWNr
OworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENTU1J1bGU7CkBAIC03Nyw4ICs4
MSw2IEBAIGNsYXNzIFJlbmRlckxheWVyQmFja2luZzsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNs
YXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci1jbGFzcyBTY3Jp
cHRBcmd1bWVudHM7Ci1jbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwpA
QCAtMjAzLDE4ICsyMDUsMTggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFdyaXRlSFRN
TChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCB1bnNpZ25lZCBlbmRMaW5l
KTsKIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSB3ZSBubyBsb25nZXIgZ2VuZXJhdGUgc3Rh
Y2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgotICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0Nv
bnNvbGUoUGFnZSosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25l
ZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgc3RhdGljIHZvaWQgYWRkTWVzc2Fn
ZVRvQ29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAg
IHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSosIE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0
cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50
aWZpZXIgPSAwKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBN
ZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3Vt
ZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKICAgICBzdGF0aWMg
dm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlw
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2Ny
aXB0SUQsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpF
eGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAp
OwogCiAgICAgLy8gRklYTUU6IENvbnZlcnQgdG8gU2NyaXB0QXJndW1lbnRzIHRvIG1hdGNoIG5v
bi13b3JrZXIgY29udGV4dC4KLSAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdv
cmtlckdsb2JhbFNjb3BlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRN
ZXNzYWdlVG9Db25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPElu
c3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApOwogICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2VyR2xvYmFs
U2NvcGUqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2NyaXB0SUQsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogCi0gICAgc3RhdGljIHZvaWQgY29u
c29sZUNvdW50KFBhZ2UqLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1l
bnRzPik7CisgICAgc3RhdGljIHZvaWQgY29uc29sZUNvdW50KFBhZ2UqLCBKU0M6OkV4ZWNTdGF0
ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKICAgICBzdGF0aWMg
dm9pZCBzdGFydENvbnNvbGVUaW1pbmcoRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSAg
ICBzdGF0aWMgdm9pZCBzdG9wQ29uc29sZVRpbWluZyhGcmFtZSosIGNvbnN0IFN0cmluZyYgdGl0
bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7Ci0gICAgc3RhdGljIHZvaWQgY29uc29s
ZVRpbWVTdGFtcChGcmFtZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7CisgICAgc3Rh
dGljIHZvaWQgc3RvcENvbnNvbGVUaW1pbmcoRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQ
YXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGljIHZvaWQg
Y29uc29sZVRpbWVTdGFtcChGcmFtZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1
bWVudHM+KTsKIAogICAgIHN0YXRpYyB2b2lkIGRpZFJlcXVlc3RBbmltYXRpb25GcmFtZShEb2N1
bWVudCosIGludCBjYWxsYmFja0lkKTsKICAgICBzdGF0aWMgdm9pZCBkaWRDYW5jZWxBbmltYXRp
b25GcmFtZShEb2N1bWVudCosIGludCBjYWxsYmFja0lkKTsKQEAgLTIyMiw3ICsyMjQsNyBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkRmlyZUFuaW1hdGlvbkZyYW1lKGNvbnN0IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogCiAgICAgc3RhdGljIHZvaWQgYWRkU3RhcnRQ
cm9maWxpbmdNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCB1bnNp
Z25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMKTsKLSAgICBzdGF0aWMgdm9pZCBhZGRQcm9maWxlKFBhZ2UqLCBSZWZQdHI8U2NyaXB0
UHJvZmlsZT4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGljIHZvaWQg
YWRkUHJvZmlsZShQYWdlKiwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+LCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CiAgICAgc3RhdGljIFN0cmluZyBnZXRDdXJyZW50VXNl
ckluaXRpYXRlZFByb2ZpbGVOYW1lKFBhZ2UqLCBib29sIGluY3JlbWVudFByb2ZpbGVOdW1iZXIp
OwogICAgIHN0YXRpYyBib29sIHByb2ZpbGVyRW5hYmxlZChQYWdlKik7CiAKQEAgLTM4NSwxNiAr
Mzg3LDE2IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSB3aWxsV3JpdGVIVE1MSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgdW5zaWduZWQgc3Rh
cnRMaW5lLCBGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFdyaXRlSFRNTEltcGwoY29uc3Qg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwgdW5zaWduZWQgZW5kTGluZSk7CiAKLSAg
ICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwg
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgc3RhdGljIHZvaWQgYWRkTWVz
c2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVj
U3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiwgdW5zaWduZWQg
bG9uZyByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBl
LCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3Jp
cHRJRCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4
ZWNTdGF0ZSosIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpOwogCiAgICAgLy8gRklY
TUU6IFJlbW92ZSBvbmNlIHdlIG5vIGxvbmdlciBnZW5lcmF0ZSBzdGFja3Mgb3V0c2lkZSBvZiBJ
bnNwZWN0b3IuCi0gICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdl
VG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPElu
c3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
cik7CiAKLSAgICBzdGF0aWMgdm9pZCBjb25zb2xlQ291bnRJbXBsKEluc3RydW1lbnRpbmdBZ2Vu
dHMqLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7CisgICAg
c3RhdGljIHZvaWQgY29uc29sZUNvdW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSlNDOjpF
eGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAgICAg
c3RhdGljIHZvaWQgc3RhcnRDb25zb2xlVGltaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
RnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSAgICBzdGF0aWMgdm9pZCBzdG9wQ29uc29s
ZVRpbWluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgY29uc3QgU3RyaW5nJiB0
aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKLSAgICBzdGF0aWMgdm9pZCBjb25z
b2xlVGltZVN0YW1wSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBQYXNzUmVmUHRy
PFNjcmlwdEFyZ3VtZW50cz4pOworICAgIHN0YXRpYyB2b2lkIHN0b3BDb25zb2xlVGltaW5nSW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGljIHZvaWQgY29u
c29sZVRpbWVTdGFtcEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgUGFzc1JlZlB0
cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwogCiAgICAgc3RhdGljIHZvaWQgZGlkUmVx
dWVzdEFuaW1hdGlvbkZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgaW50IGNhbGxiYWNr
SWQsIEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkQ2FuY2VsQW5pbWF0aW9uRnJhbWVJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBpbnQgY2FsbGJhY2tJZCwgRnJhbWUqKTsKQEAgLTQwMiw3
ICs0MDQsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRpZEZpcmVBbmltYXRpb25GcmFt
ZUltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAKICAgICBzdGF0
aWMgdm9pZCBhZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAgICBzdGF0aWMg
dm9pZCBhZGRQcm9maWxlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUmVmUHRyPFNjcmlwdFBy
b2ZpbGU+LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgIHN0YXRpYyB2b2lkIGFk
ZFByb2ZpbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBSZWZQdHI8U2NyaXB0UHJvZmlsZT4s
IFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKICAgICBzdGF0aWMgU3Ry
aW5nIGdldEN1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWVJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqLCBib29sIGluY3JlbWVudFByb2ZpbGVOdW1iZXIpOwogICAgIHN0YXRpYyBib29sIHBy
b2ZpbGVyRW5hYmxlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAppbmRleCA0
YzFmMDA2Li4zM2FmZjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUg
Ikluc3BlY3RvckxheWVyVHJlZUFnZW50LmgiCiAKLSNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3Rv
cnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
cldlYkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRz
LmgiCkBAIC00NCw2ICs0Myw3IEBACiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJCYWNraW5nLmgiCiAj
aW5jbHVkZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5o
IgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaD4KIAogdXNpbmcgbmFt
ZXNwYWNlIEluc3BlY3RvcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUGFnZUFnZW50LmNwcAppbmRleCBmMjc5MzBjLi5jZmVlNWQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtMjksMTEgKzI5LDEw
IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
LQogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgogCisjaWYgRU5BQkxFKElOU1BFQ1RP
UikKKwogI2luY2x1ZGUgIkNhY2hlZENTU1N0eWxlU2hlZXQuaCIKICNpbmNsdWRlICJDYWNoZWRG
b250LmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKQEAgLTUzLDcgKzUyLDYgQEAKICNpbmNs
dWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKICNp
bmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCkBAIC03Myw2ICs3MSw3IEBACiAjaW5jbHVkZSAi
VXNlckdlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5o
PgogI2luY2x1ZGUgPGluc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmg+CisjaW5jbHVk
ZSA8aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRl
IDx3dGYvTGlzdEhhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQcm9maWxlckFnZW50LmNwcAppbmRleCBlODQwN2VlLi5jNTJjNjZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3Bw
CkBAIC0yOCwyOSArMjgsMjcgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIgog
CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5o
IgogI2luY2x1ZGUgIkNvbnNvbGUuaCIKLSNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKLSNp
bmNsdWRlICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVk
ZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAi
UGFnZVNjcmlwdERlYnVnU2VydmVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0SGVhcFNuYXBzaG90Lmgi
CiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGVyLmgi
CisjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuaCIK
ICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRPYmplY3QuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
Q29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg+CiAj
aW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRU
aW1lLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0NvbmNhdGVuYXRlLmg+CkBAIC0xNTYsMTQgKzE1NCwxNCBAQCB2b2lkIEluc3BlY3RvclByb2Zp
bGVyQWdlbnQ6OmFkZFByb2ZpbGVGaW5pc2hlZE1lc3NhZ2VUb0NvbnNvbGUoUGFzc1JlZlB0cjxT
Y3JpcAogICAgICAgICByZXR1cm47CiAgICAgUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHByb2ZpbGUg
PSBwcnBQcm9maWxlOwogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZyhwcm9maWxlLT50
aXRsZSgpLCAnIycsIFN0cmluZzo6bnVtYmVyKHByb2ZpbGUtPnVpZCgpKSk7Ci0gICAgbV9jb25z
b2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIFBy
b2ZpbGVFbmRNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVS
TCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICBtX2NvbnNvbGVBZ2VudC0+YWRkTWVz
c2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6UHJv
ZmlsZUVuZCwgTWVzc2FnZUxldmVsOjpEZWJ1ZywgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVt
YmVyLCBjb2x1bW5OdW1iZXIpOwogfQogCiB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmFk
ZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZShjb25zdCBTdHJpbmcmIHRpdGxlLCB1bnNp
Z25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMKQogewogICAgIGlmICghbV9mcm9udGVuZERpc3BhdGNoZXIpCiAgICAgICAgIHJldHVy
bjsKLSAgICBtX2NvbnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShDb25zb2xlQVBJTWVz
c2FnZVNvdXJjZSwgUHJvZmlsZU1lc3NhZ2VUeXBlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgdGl0bGUs
IHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICBtX2NvbnNvbGVBZ2Vu
dC0+YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdl
VHlwZTo6UHJvZmlsZSwgTWVzc2FnZUxldmVsOjpEZWJ1ZywgdGl0bGUsIHNvdXJjZVVSTCwgbGlu
ZU51bWJlciwgY29sdW1uTnVtYmVyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50
Ojpjb2xsZWN0R2FyYmFnZShXZWJDb3JlOjpFcnJvclN0cmluZyopCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBiOWI2MDMxLi43
ZGZlMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmgKQEAgLTQzLDEyICs0MywxMiBAQAogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsK
IGNsYXNzIEluc3BlY3RvckFycmF5OworY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwogY2xh
c3MgSW5zcGVjdG9yT2JqZWN0OwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIElu
c3BlY3RvckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CiBjbGFzcyBQ
YWdlOwogY2xhc3MgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlcjsKQEAgLTYxLDggKzYxLDggQEAg
dHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiBjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50
IDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6SW5zcGVjdG9y
UHJvZmlsZXJCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+
IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yQ29uc29sZUFnZW50KiwgUGFn
ZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiwg
SW5zcGVjdG9yQ29uc29sZUFnZW50KiwgV29ya2VyR2xvYmFsU2NvcGUqLCBQYWdlSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKik7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3JQcm9m
aWxlckFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3Rvcjo6SW5zcGVj
dG9yQ29uc29sZUFnZW50KiwgUGFnZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKKyAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJ
bnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBX
b3JrZXJHbG9iYWxTY29wZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKIAogICAgIHZp
cnR1YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKIApAQCAtMTAxLDcgKzEwMSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2V0SGVhcE9iamVjdElkKEVycm9yU3RyaW5nKiwgY29u
c3QgU3RyaW5nJiBvYmplY3RJZCwgU3RyaW5nKiBoZWFwU25hcHNob3RPYmplY3RJZCkgb3ZlcnJp
ZGU7CiAKIHByb3RlY3RlZDoKLSAgICBJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3RydW1lbnRp
bmdBZ2VudHMqLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKik7CisgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
SW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKik7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0UHJvZmlsaW5nKGNvbnN0IFN0cmluZyYgdGl0
bGUpID0gMDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcFByb2Zp
bGluZyhjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7CiAKQEAgLTExNSw3ICsxMTUsNyBAQCBwcml2
YXRlOgogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UHJvZmlsZXI6OlBy
b2ZpbGVIZWFkZXI+IGNyZWF0ZVByb2ZpbGVIZWFkZXIoY29uc3QgU2NyaXB0UHJvZmlsZSYpOwog
ICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UHJvZmlsZXI6OlByb2ZpbGVI
ZWFkZXI+IGNyZWF0ZVNuYXBzaG90SGVhZGVyKGNvbnN0IFNjcmlwdEhlYXBTbmFwc2hvdCYpOwog
Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKKyAgICBJbnNwZWN0
b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7CiAgICAgUGFnZUluamVj
dGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yUHJvZmlsZXJGcm9udGVuZERpc3BhdGNoZXI+IG1f
ZnJvbnRlbmREaXNwYXRjaGVyOwogICAgIFJlZlB0cjxJbnNwZWN0b3I6Okluc3BlY3RvclByb2Zp
bGVyQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXggNjVm
OGRiMS4uNDgwYmRlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtMjksMTEgKzI5LDEwIEBACiAgKi8KIAogI2luY2x1
ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3Bl
Y3RvclJlc291cmNlQWdlbnQuaCIKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKICNpbmNsdWRl
ICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCiAjaW5j
bHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTQ0LDExICs0MywxMSBAQAogI2luY2x1
ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgogI2luY2x1ZGUg
Ikljb25Db250cm9sbGVyLmgiCi0jaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVycy5oIgogI2luY2x1ZGUg
Ikluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUu
aCIKICNpbmNsdWRlICJNZW1vcnlDYWNoZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZXNE
YXRhLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtNTgsMTUgKzU3LDE2IEBACiAjaW5jbHVkZSAi
UmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1
bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3VicmVzb3Vy
Y2VMb2FkZXIuaCIKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRGcmFtZS5o
IgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0LmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL0lkZW50
aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4K
KyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5jbHVkZSA8aW5zcGVj
dG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KICNpbmNsdWRlIDx3dGYvSGV4TnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0
Lmg+CkBAIC00MzksNyArNDM5LDcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRT
Y2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbihEb2N1bWVudCogZG9jdW1lbnQpCiAKIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9yPiBJbnNwZWN0b3JS
ZXNvdXJjZUFnZW50OjpidWlsZEluaXRpYXRvck9iamVjdChEb2N1bWVudCogZG9jdW1lbnQpCiB7
Ci0gICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENh
bGxTdGFjayhTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUp
OworICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrVHJhY2UgPSBjcmVhdGVTY3JpcHRD
YWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSwgU2NyaXB0Q2Fs
bFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0cnVlKTsKICAgICBpZiAoc3RhY2tU
cmFjZSAmJiBzdGFja1RyYWNlLT5zaXplKCkgPiAwKSB7CiAgICAgICAgIFJlZlB0cjxJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpOZXR3b3JrOjpJbml0aWF0b3I+IGluaXRpYXRvck9iamVjdCA9IElu
c3BlY3Rvcjo6VHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcjo6Y3JlYXRlKCkKICAgICAg
ICAgICAgIC5zZXRUeXBlKEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRv
cjo6VHlwZTo6U2NyaXB0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCA4YWVjNjhlLi40YTBjZWZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBA
IC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJz
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCkBAIC01Myw2ICs1Miw3
IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2Zp
bGVyLmgiCiAjaW5jbHVkZSAiVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgiCisjaW5jbHVkZSA8aW5z
cGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgogCiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCmluZGV4IDk4ZTZiZGQuLmIyMmM3YjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAK
QEAgLTQ5LDcgKzQ5LDcgQEAgSW5zdHJ1bWVudGluZ0FnZW50czo6SW5zdHJ1bWVudGluZ0FnZW50
cyhJbnNwZWN0b3JFbnZpcm9ubWVudCYgZW52aXJvbm1lbnQpCiAgICAgLCBtX2luc3BlY3RvclBh
Z2VBZ2VudChudWxscHRyKQogICAgICwgbV9pbnNwZWN0b3JDU1NBZ2VudChudWxscHRyKQogICAg
ICwgbV9pbnNwZWN0b3JMYXllclRyZWVBZ2VudChudWxscHRyKQotICAgICwgbV9pbnNwZWN0b3JD
b25zb2xlQWdlbnQobnVsbHB0cikKKyAgICAsIG1fd2ViQ29uc29sZUFnZW50KG51bGxwdHIpCiAg
ICAgLCBtX2luc3BlY3RvckRPTUFnZW50KG51bGxwdHIpCiAgICAgLCBtX2luc3BlY3RvclJlc291
cmNlQWdlbnQobnVsbHB0cikKICAgICAsIG1fcGFnZVJ1bnRpbWVBZ2VudChudWxscHRyKQpAQCAt
NzUsNyArNzUsNyBAQCB2b2lkIEluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KCkKICAgICBtX2lu
c3BlY3RvclBhZ2VBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9pbnNwZWN0b3JDU1NBZ2VudCA9IG51
bGxwdHI7CiAgICAgbV9pbnNwZWN0b3JMYXllclRyZWVBZ2VudCA9IG51bGxwdHI7Ci0gICAgbV9p
bnNwZWN0b3JDb25zb2xlQWdlbnQgPSBudWxscHRyOworICAgIG1fd2ViQ29uc29sZUFnZW50ID0g
bnVsbHB0cjsKICAgICBtX2luc3BlY3RvckRPTUFnZW50ID0gbnVsbHB0cjsKICAgICBtX2luc3Bl
Y3RvclJlc291cmNlQWdlbnQgPSBudWxscHRyOwogICAgIG1fcGFnZVJ1bnRpbWVBZ2VudCA9IG51
bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGlu
Z0FnZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMu
aAppbmRleCBjOTlkMjY5Li4zN2ZhYjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTQ3LDcgKzQ3LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OwogY2xhc3MgSW5zcGVj
dG9yQ1NTQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JDYW52YXNBZ2VudDsKLWNsYXNzIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9y
RE9NRGVidWdnZXJBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDsKQEAgLTYy
LDYgKzYxLDcgQEAgY2xhc3MgSW5zcGVjdG9yV29ya2VyQWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xh
c3MgUGFnZURlYnVnZ2VyQWdlbnQ7CiBjbGFzcyBQYWdlUnVudGltZUFnZW50OworY2xhc3MgV2Vi
Q29uc29sZUFnZW50OwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiBjbGFzcyBXb3JrZXJSdW50
aW1lQWdlbnQ7CiAKQEAgLTg3LDggKzg3LDggQEAgcHVibGljOgogICAgIEluc3BlY3RvckNTU0Fn
ZW50KiBpbnNwZWN0b3JDU1NBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yQ1NTQWdl
bnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvckNTU0FnZW50KEluc3BlY3RvckNTU0FnZW50KiBh
Z2VudCkgeyBtX2luc3BlY3RvckNTU0FnZW50ID0gYWdlbnQ7IH0KIAotICAgIEluc3BlY3RvckNv
bnNvbGVBZ2VudCogaW5zcGVjdG9yQ29uc29sZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNw
ZWN0b3JDb25zb2xlQWdlbnQ7IH0KLSAgICB2b2lkIHNldEluc3BlY3RvckNvbnNvbGVBZ2VudChJ
bnNwZWN0b3JDb25zb2xlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yQ29uc29sZUFnZW50ID0g
YWdlbnQ7IH0KKyAgICBXZWJDb25zb2xlQWdlbnQqIHdlYkNvbnNvbGVBZ2VudCgpIGNvbnN0IHsg
cmV0dXJuIG1fd2ViQ29uc29sZUFnZW50OyB9CisgICAgdm9pZCBzZXRXZWJDb25zb2xlQWdlbnQo
V2ViQ29uc29sZUFnZW50KiBhZ2VudCkgeyBtX3dlYkNvbnNvbGVBZ2VudCA9IGFnZW50OyB9CiAK
ICAgICBJbnNwZWN0b3JET01BZ2VudCogaW5zcGVjdG9yRE9NQWdlbnQoKSBjb25zdCB7IHJldHVy
biBtX2luc3BlY3RvckRPTUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JET01BZ2VudChJ
bnNwZWN0b3JET01BZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JET01BZ2VudCA9IGFnZW50OyB9
CkBAIC0xNDksNyArMTQ5LDcgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1f
aW5zcGVjdG9yUGFnZUFnZW50OwogICAgIEluc3BlY3RvckNTU0FnZW50KiBtX2luc3BlY3RvckNT
U0FnZW50OwogICAgIEluc3BlY3RvckxheWVyVHJlZUFnZW50KiBtX2luc3BlY3RvckxheWVyVHJl
ZUFnZW50OwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9pbnNwZWN0b3JDb25zb2xlQWdl
bnQ7CisgICAgV2ViQ29uc29sZUFnZW50KiBtX3dlYkNvbnNvbGVBZ2VudDsKICAgICBJbnNwZWN0
b3JET01BZ2VudCogbV9pbnNwZWN0b3JET01BZ2VudDsKICAgICBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50KiBtX2luc3BlY3RvclJlc291cmNlQWdlbnQ7CiAgICAgUGFnZVJ1bnRpbWVBZ2VudCogbV9w
YWdlUnVudGltZUFnZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xl
QWdlbnQuY3BwCmluZGV4IDFhZGI0NDkuLjcxNTljZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCi0jaW5jbHVk
ZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRl
ICJOb2RlLmgiCiAjaW5jbHVkZSAiUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5oIgpAQCAtNDMs
MjEgKzQyLDE3IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotUGFnZUNvbnNvbGVBZ2VudDo6UGFnZUNvbnNvbGVBZ2VudChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBp
bmplY3RlZFNjcmlwdE1hbmFnZXIsIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkKLSAgICA6
IEluc3BlY3RvckNvbnNvbGVBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBpbmplY3RlZFNjcmlw
dE1hbmFnZXIpCitQYWdlQ29uc29sZUFnZW50OjpQYWdlQ29uc29sZUFnZW50KFBhZ2VJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwgSW5zcGVjdG9yRE9NQWdlbnQq
IGRvbUFnZW50KQorICAgIDogV2ViQ29uc29sZUFnZW50KGluamVjdGVkU2NyaXB0TWFuYWdlcikK
ICAgICAsIG1faW5zcGVjdG9yRE9NQWdlbnQoZG9tQWdlbnQpCiB7CiB9CiAKLVBhZ2VDb25zb2xl
QWdlbnQ6On5QYWdlQ29uc29sZUFnZW50KCkKLXsKLSAgICBtX2luc3BlY3RvckRPTUFnZW50ID0g
bnVsbHB0cjsKLX0KLQogdm9pZCBQYWdlQ29uc29sZUFnZW50OjpjbGVhck1lc3NhZ2VzKEVycm9y
U3RyaW5nKiBlcnJvclN0cmluZykKIHsKICAgICBtX2luc3BlY3RvckRPTUFnZW50LT5yZWxlYXNl
RGFuZ2xpbmdOb2RlcygpOwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJNZXNzYWdl
cyhlcnJvclN0cmluZyk7CisKKyAgICBXZWJDb25zb2xlQWdlbnQ6OmNsZWFyTWVzc2FnZXMoZXJy
b3JTdHJpbmcpOwogfQogCiBjbGFzcyBJbnNwZWN0YWJsZU5vZGUgZmluYWwgOiBwdWJsaWMgQ29t
bWFuZExpbmVBUElIb3N0OjpJbnNwZWN0YWJsZU9iamVjdCB7CkBAIC03OSw3ICs3NCw3IEBAIHZv
aWQgUGFnZUNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyogZXJyb3JT
dHJpbmcsIGludCBub2RlSWQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoQ29t
bWFuZExpbmVBUElIb3N0KiBjb21tYW5kTGluZUFQSUhvc3QgPSBtX2luamVjdGVkU2NyaXB0TWFu
YWdlci0+Y29tbWFuZExpbmVBUElIb3N0KCkpCisgICAgaWYgKENvbW1hbmRMaW5lQVBJSG9zdCog
Y29tbWFuZExpbmVBUElIb3N0ID0gc3RhdGljX2Nhc3Q8UGFnZUluamVjdGVkU2NyaXB0TWFuYWdl
cio+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKS0+Y29tbWFuZExpbmVBUElIb3N0KCkpCiAgICAg
ICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+YWRkSW5zcGVjdGVkT2JqZWN0KGFkb3B0UHRyKG5ldyBJ
bnNwZWN0YWJsZU5vZGUobm9kZSkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Q
YWdlQ29uc29sZUFnZW50LmgKaW5kZXggZDU1N2YxYS4uZDBiNTU2NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oCkBAIC0zMSw4ICszMSw3IEBACiAjaWZu
ZGVmIFBhZ2VDb25zb2xlQWdlbnRfaAogI2RlZmluZSBQYWdlQ29uc29sZUFnZW50X2gKIAotI2lu
Y2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CisjaW5jbHVkZSAiV2ViQ29uc29sZUFnZW50LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogCkBAIC00MCwxMyArMzksMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbnNw
ZWN0b3JET01BZ2VudDsKIAotY2xhc3MgUGFnZUNvbnNvbGVBZ2VudCA6IHB1YmxpYyBJbnNwZWN0
b3JDb25zb2xlQWdlbnQgeworY2xhc3MgUGFnZUNvbnNvbGVBZ2VudCBmaW5hbCA6IHB1YmxpYyBX
ZWJDb25zb2xlQWdlbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25zb2xlQWdl
bnQpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFBhZ2VDb25z
b2xlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIq
LCBJbnNwZWN0b3JET01BZ2VudCopOwotICAgIHZpcnR1YWwgflBhZ2VDb25zb2xlQWdlbnQoKTsK
KyAgICBQYWdlQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBJbnNwZWN0
b3JET01BZ2VudCopOworICAgIHZpcnR1YWwgflBhZ2VDb25zb2xlQWdlbnQoKSB7IH0KIAotICAg
IHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IGZhbHNlOyB9CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyTWVzc2FnZXMoRXJy
b3JTdHJpbmcqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9QYWdlRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURl
YnVnZ2VyQWdlbnQuY3BwCmluZGV4IDY3ZjQ5NTEuLmU0NjcwY2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcApAQCAtNDMsNiArNDMsOCBAQAog
I2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oPgorI2lu
Y2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgogCiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwog
CkBAIC0xMTMsOSArMTE1LDkgQEAgdm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6dW5tdXRlQ29uc29s
ZSgpCiAgICAgUGFnZUNvbnNvbGU6OnVubXV0ZSgpOwogfQogCi12b2lkIFBhZ2VEZWJ1Z2dlckFn
ZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKQordm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6
OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIG1fcGFnZUFn
ZW50LT5wYWdlKCktPmNvbnNvbGUoKS5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBtX3BhZ2VBZ2VudC0+cGFnZSgpLT5jb25zb2xlKCku
YWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpMb2csIG1lc3NhZ2Us
IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhleGVjLCBTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFj
a1NpemVUb0NhcHR1cmUsIHRydWUpKTsKIH0KIAogSW5qZWN0ZWRTY3JpcHQgUGFnZURlYnVnZ2Vy
QWdlbnQ6OmluamVjdGVkU2NyaXB0Rm9yRXZhbChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNv
bnN0IGludCogZXhlY3V0aW9uQ29udGV4dElkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmgKaW5kZXggNjU4MjE4OC4uYWZiYzZkOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5o
CkBAIC0zMiw2ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gRklYTUU6IFJl
bmFtZSB0byBXZWJJbmplY3RlZFNjcmlwdEhvc3QuCiBjbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRI
b3N0IGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRIb3N0IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0PiBjcmVhdGUo
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGFnZUluamVjdGVkU2NyaXB0SG9zdCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5o
CmluZGV4IDFmODcwN2UuLmUyNzRlNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaApAQCAtMzQsNiArMzQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERPTVdpbmRvdzsKIAorLy8gRklYTUU6IFJlbmFtZSB0
byBXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuCiBjbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyIGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyIHsKIHB1
YmxpYzoKICAgICBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKEluc3BlY3Rvcjo6SW5zcGVjdG9y
RW52aXJvbm1lbnQmLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRIb3N0Pik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0
b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3Rvcnku
Y3BwCmluZGV4IDE3NTkzYjguLmQ5ZGE3NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwCkBAIC0zNywxMyArMzcsMTQgQEAKICNp
bmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkludFJl
Y3QuaCIKKyNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJMYXlv
dXRSZWN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXNwb25zZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2luY2x1ZGUgIlNj
cmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5j
bHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFj
dG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiB1c2luZyBuYW1lc3BhY2Ug
SW5zcGVjdG9yOwpAQCAtNTYsNyArNTcsNyBAQCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKGRvdWJsZSBzdAogICAg
IHJlY29yZC0+c2V0TnVtYmVyKCJzdGFydFRpbWUiLCBzdGFydFRpbWUpOwogCiAgICAgaWYgKG1h
eENhbGxTdGFja0RlcHRoKSB7Ci0gICAgICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNr
VHJhY2UgPSBjcmVhdGVTY3JpcHRDYWxsU3RhY2sobWF4Q2FsbFN0YWNrRGVwdGgsIHRydWUpOwor
ICAgICAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFja1RyYWNlID0gY3JlYXRlU2NyaXB0
Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCksIG1heENhbGxT
dGFja0RlcHRoLCB0cnVlKTsKICAgICAgICAgaWYgKHN0YWNrVHJhY2UgJiYgc3RhY2tUcmFjZS0+
c2l6ZSgpKQogICAgICAgICAgICAgcmVjb3JkLT5zZXRWYWx1ZSgic3RhY2tUcmFjZSIsIHN0YWNr
VHJhY2UtPmJ1aWxkSW5zcGVjdG9yQXJyYXkoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5iMDcwZDRmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAKQEAgLTAsMCArMSwxMzcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICog
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKKworI2lm
IEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKKyNp
bmNsdWRlICJDb25zb2xlLmgiCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiUGFn
ZUluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKKyNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIK
KyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlTWVz
c2FnZS5oPgorCit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOworCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK1dlYkNvbnNvbGVBZ2VudDo6V2ViQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNjcmlw
dE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckNvbnNvbGVB
Z2VudChpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgLCBtX21vbml0b3JpbmdYSFJFbmFibGVk
KGZhbHNlKQoreworfQorCit2b2lkIFdlYkNvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVu
YWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpCit7CisgICAgbV9tb25pdG9yaW5nWEhS
RW5hYmxlZCA9IGVuYWJsZWQ7Cit9CisKK3ZvaWQgV2ViQ29uc29sZUFnZW50OjpmcmFtZVdpbmRv
d0Rpc2NhcmRlZChET01XaW5kb3cqIHdpbmRvdykKK3sKKyAgICBzaXplX3QgbWVzc2FnZUNvdW50
ID0gbV9jb25zb2xlTWVzc2FnZXMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bWVzc2FnZUNvdW50OyArK2kpIHsKKyAgICAgICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBtX2Nv
bnNvbGVNZXNzYWdlc1tpXS0+c2NyaXB0U3RhdGUoKTsKKyAgICAgICAgaWYgKCFleGVjKQorICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIGlmIChkb21XaW5kb3dGcm9tRXhlY1N0YXRlKGV4
ZWMpICE9IHdpbmRvdykKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBtX2NvbnNvbGVN
ZXNzYWdlc1tpXS0+Y2xlYXIoKTsKKyAgICB9CisKKyAgICBzdGF0aWNfY2FzdDxQYWdlSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyKj4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIpLT5kaXNjYXJkSW5qZWN0
ZWRTY3JpcHRzRm9yKHdpbmRvdyk7Cit9CisKK3ZvaWQgV2ViQ29uc29sZUFnZW50OjpkaWRGaW5p
c2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2lnbmVkIHNlbmRMaW5lTnVtYmVyLCB1
bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKQoreworICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1h
bmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9mcm9udGVuZERpc3BhdGNoZXIgJiYgbV9tb25p
dG9yaW5nWEhSRW5hYmxlZCkgeworICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJYSFIgZmluaXNo
ZWQgbG9hZGluZzogXCIiICsgdXJsICsgIlwiLiI7CisgICAgICAgIGFkZE1lc3NhZ2VUb0NvbnNv
bGUoTWVzc2FnZVNvdXJjZTo6TmV0d29yaywgTWVzc2FnZVR5cGU6OkxvZywgTWVzc2FnZUxldmVs
OjpEZWJ1ZywgbWVzc2FnZSwgc2VuZFVSTCwgc2VuZExpbmVOdW1iZXIsIHNlbmRDb2x1bW5OdW1i
ZXIsIG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICB9Cit9CisKK3ZvaWQgV2ViQ29u
c29sZUFnZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit7CisgICAgaWYgKCFtX2lu
amVjdGVkU2NyaXB0TWFuYWdlci0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRy
YXNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChyZXNwb25zZS5odHRwU3Rh
dHVzQ29kZSgpID49IDQwMCkgeworICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJGYWlsZWQgdG8g
bG9hZCByZXNvdXJjZTogdGhlIHNlcnZlciByZXNwb25kZWQgd2l0aCBhIHN0YXR1cyBvZiAiICsg
U3RyaW5nOjpudW1iZXIocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSkgKyAiICgiICsgcmVzcG9u
c2UuaHR0cFN0YXR1c1RleHQoKSArICcpJzsKKyAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShN
ZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlVHlwZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCBtZXNzYWdlLCByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgMCwgMCwgbnVsbHB0ciwgcmVx
dWVzdElkZW50aWZpZXIpOworICAgIH0KK30KKwordm9pZCBXZWJDb25zb2xlQWdlbnQ6OmRpZEZh
aWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNl
RXJyb3ImIGVycm9yKQoreworICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluc3Bl
Y3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQorICAgICAgICByZXR1
cm47CisKKyAgICAvLyBSZXBvcnQgZmFpbHVyZXMgb25seS4KKyAgICBpZiAoZXJyb3IuaXNDYW5j
ZWxsYXRpb24oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgU3RyaW5nQnVpbGRlciBtZXNzYWdl
OworICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiRmFpbGVkIHRvIGxvYWQgcmVzb3VyY2UiKTsK
KyAgICBpZiAoIWVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkuaXNFbXB0eSgpKSB7CisgICAg
ICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiOiAiKTsKKyAgICAgICAgbWVzc2FnZS5hcHBlbmQo
ZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSk7CisgICAgfQorCisgICAgYWRkTWVzc2FnZVRv
Q29uc29sZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlVHlwZTo6TG9nLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCBtZXNzYWdlLnRvU3RyaW5nKCksIGVycm9yLmZhaWxpbmdVUkwoKSwgMCwg
MCwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOworfQorCitjbGFzcyBJbnNwZWN0YWJsZUhl
YXBPYmplY3QgZmluYWwgOiBwdWJsaWMgQ29tbWFuZExpbmVBUElIb3N0OjpJbnNwZWN0YWJsZU9i
amVjdCB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgSW5zcGVjdGFibGVIZWFwT2JqZWN0KGludCBo
ZWFwT2JqZWN0SWQpCisgICAgICAgIDogbV9oZWFwT2JqZWN0SWQoaGVhcE9iamVjdElkKQorICAg
IHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlIGdldChKU0M6
OkV4ZWNTdGF0ZSopIG92ZXJyaWRlCisgICAgeworICAgICAgICByZXR1cm4gU2NyaXB0UHJvZmls
ZXI6Om9iamVjdEJ5SGVhcE9iamVjdElkKG1faGVhcE9iamVjdElkKTsKKyAgICB9CisKK3ByaXZh
dGU6CisgICAgaW50IG1faGVhcE9iamVjdElkOworfTsKKwordm9pZCBXZWJDb25zb2xlQWdlbnQ6
OmFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJyb3JTdHJpbmcqLCBpbnQgaW5zcGVjdGVkSGVhcE9i
amVjdElkKQoreworICAgIGlmIChDb21tYW5kTGluZUFQSUhvc3QqIGNvbW1hbmRMaW5lQVBJSG9z
dCA9IHN0YXRpY19jYXN0PFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqPihtX2luamVjdGVkU2Ny
aXB0TWFuYWdlciktPmNvbW1hbmRMaW5lQVBJSG9zdCgpKQorICAgICAgICBjb21tYW5kTGluZUFQ
SUhvc3QtPmFkZEluc3BlY3RlZE9iamVjdChhZG9wdFB0cihuZXcgSW5zcGVjdGFibGVIZWFwT2Jq
ZWN0KGluc3BlY3RlZEhlYXBPYmplY3RJZCkpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9XZWJDb25zb2xlQWdlbnQuaApzaW1pbGFyaXR5IGluZGV4IDUxJQpyZW5hbWUgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmgKcmVuYW1lIHRvIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuaAppbmRleCAxMWY2NWVjLi40ZGViZmVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oCkBAIC0xLDUg
KzEsNiBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMiwyNyArMjMsNDMg
QEAKICAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgQ29uc29sZUFQSVR5cGVzX2gKLSNkZWZpbmUgQ29u
c29sZUFQSVR5cGVzX2gKKyNpZm5kZWYgV2ViQ29uc29sZUFnZW50X2gKKyNkZWZpbmUgV2ViQ29u
c29sZUFnZW50X2gKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNsdWRlIDxpbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWVudW0gTWVzc2FnZVR5cGUgewotICAgIExvZ01lc3NhZ2VUeXBlLAotICAgIERpck1lc3Nh
Z2VUeXBlLAotICAgIERpclhNTE1lc3NhZ2VUeXBlLAotICAgIFRhYmxlTWVzc2FnZVR5cGUsCi0g
ICAgVHJhY2VNZXNzYWdlVHlwZSwKLSAgICBTdGFydEdyb3VwTWVzc2FnZVR5cGUsCi0gICAgU3Rh
cnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlLAotICAgIEVuZEdyb3VwTWVzc2FnZVR5cGUsCi0g
ICAgQ2xlYXJNZXNzYWdlVHlwZSwKLSAgICBBc3NlcnRNZXNzYWdlVHlwZSwKLSAgICBUaW1pbmdN
ZXNzYWdlVHlwZSwKLSAgICBQcm9maWxlTWVzc2FnZVR5cGUsCi0gICAgUHJvZmlsZUVuZE1lc3Nh
Z2VUeXBlCitjbGFzcyBET01XaW5kb3c7CitjbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
OworY2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7Cit0eXBlZGVm
IFN0cmluZyBFcnJvclN0cmluZzsKKworY2xhc3MgV2ViQ29uc29sZUFnZW50IDogcHVibGljIElu
c3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJDb25zb2xlQWdlbnQpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGlj
OgorICAgIFdlYkNvbnNvbGVBZ2VudChQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAg
dmlydHVhbCB+V2ViQ29uc29sZUFnZW50KCkgeyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TW9u
aXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpIG92ZXJyaWRlIGZp
bmFsOworICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0ZWRIZWFwT2JqZWN0KEVycm9yU3RyaW5n
KiwgaW50IGluc3BlY3RlZEhlYXBPYmplY3RJZCkgb3ZlcnJpZGUgZmluYWw7CisKKyAgICB2b2lk
IGZyYW1lV2luZG93RGlzY2FyZGVkKERPTVdpbmRvdyopOworCisgICAgdm9pZCBkaWRGaW5pc2hY
SFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2lnbmVkIHNlbmRMaW5lTnVtYmVyLCB1bnNp
Z25lZCBzZW5kQ29sdW1uTnVtYmVyKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7Cisg
ICAgdm9pZCBkaWRGYWlsTG9hZGluZyh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBj
b25zdCBSZXNvdXJjZUVycm9yJik7CisKK3Byb3RlY3RlZDoKKyAgICBib29sIG1fbW9uaXRvcmlu
Z1hIUkVuYWJsZWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBD
b25zb2xlQVBJVHlwZXNfaAorI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCisKKyNlbmRpZiAv
LyAhZGVmaW5lZChXZWJDb25zb2xlQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggOWYxMDU2ZC4uMjU4YThkYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKQEAgLTM4
LDE4ICszOCwxNCBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVdvcmtlckNvbnNvbGVBZ2VudDo6V29ya2VyQ29uc29sZUFnZW50KEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKLSAgICA6IEluc3BlY3RvckNvbnNvbGVBZ2VudChp
bnN0cnVtZW50aW5nQWdlbnRzLCBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCi17Ci19Ci0KLVdvcmtl
ckNvbnNvbGVBZ2VudDo6fldvcmtlckNvbnNvbGVBZ2VudCgpCitXb3JrZXJDb25zb2xlQWdlbnQ6
OldvcmtlckNvbnNvbGVBZ2VudChQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNj
cmlwdE1hbmFnZXIpCisgICAgOiBXZWJDb25zb2xlQWdlbnQoaW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KQogewogfQogCiB2b2lkIFdvcmtlckNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZShFcnJv
clN0cmluZyogZXJyb3IsIGludCkKIHsKLSAgICAqZXJyb3IgPSAiYWRkSW5zcGVjdGVkTm9kZSBp
cyBub3Qgc3VwcG9ydGVkIGZvciB3b3JrZXJzIjsKKyAgICAqZXJyb3IgPSBBU0NJSUxpdGVyYWwo
ImFkZEluc3BlY3RlZE5vZGUgaXMgbm90IHN1cHBvcnRlZCBmb3Igd29ya2VycyIpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvV29ya2VyQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2Vy
Q29uc29sZUFnZW50LmgKaW5kZXggOTlhZDU2Mi4uODc2YTZjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuaApAQCAtMzEsMjAgKzMxLDIwIEBACiAj
aWZuZGVmIFdvcmtlckNvbnNvbGVBZ2VudF9oCiAjZGVmaW5lIFdvcmtlckNvbnNvbGVBZ2VudF9o
CiAKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIKLSNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgorI2luY2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5oIgogCiAjaWYgRU5BQkxFKElO
U1BFQ1RPUikKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXb3JrZXJDb25zb2xlQWdl
bnQgOiBwdWJsaWMgSW5zcGVjdG9yQ29uc29sZUFnZW50IHsKK2NsYXNzIFdvcmtlckNvbnNvbGVB
Z2VudCBmaW5hbCA6IHB1YmxpYyBXZWJDb25zb2xlQWdlbnQgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdvcmtlckNvbnNvbGVBZ2VudCk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6Ci0gICAgV29ya2VyQ29uc29sZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBQ
YWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7Ci0gICAgdmlydHVhbCB+V29ya2VyQ29uc29sZUFn
ZW50KCk7CisgICAgV29ya2VyQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIq
KTsKKyAgICB2aXJ0dWFsIH5Xb3JrZXJDb25zb2xlQWdlbnQoKSB7IH0KIAotICAgIHZpcnR1YWwg
Ym9vbCBpc1dvcmtlckFnZW50KCkgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1
YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQog
CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5n
KiwgaW50IG5vZGVJZCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VyRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggNTA1M2E0Yy4uYTcxZWZlNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcApAQCAtMTI5
LDcgKzEyOSw3IEBAIHZvaWQgV29ya2VyRGVidWdnZXJBZ2VudDo6c3RvcExpc3RlbmluZ1Njcmlw
dERlYnVnU2VydmVyKGJvb2wgaXNCZWluZ0Rlc3Ryb3llZCkKIAogdm9pZCBXb3JrZXJEZWJ1Z2dl
ckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQogewotICAgIG1faW5zcGVjdGVkV29ya2VyR2xvYmFsU2NvcGUtPmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAg
ICBtX2luc3BlY3RlZFdvcmtlckdsb2JhbFNjb3BlLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpMb2csIG1lc3NhZ2UpOwogfQogCiBXb3JrZXJTY3Jp
cHREZWJ1Z1NlcnZlciYgV29ya2VyRGVidWdnZXJBZ2VudDo6c2NyaXB0RGVidWdTZXJ2ZXIoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuY3BwCmluZGV4IGQwYTlmNWEuLjdjMDE1YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTM2LDcg
KzM2LDYgQEAKIAogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckNsaWVudC5oIgotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckZvcndhcmRpbmcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JIZWFwUHJv
ZmlsZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgpAQCAt
OTAsNyArODksOSBAQCBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpXb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyKFdvcmtlckdsb2JhbFNjb3BlJiB3b3JrZXJHbAogICAgIG1faW5zdHJ1bWVudGlu
Z0FnZW50cy0+c2V0V29ya2VyUnVudGltZUFnZW50KG1fcnVudGltZUFnZW50KTsKICAgICBtX2Fn
ZW50cy5hcHBlbmQoc3RkOjptb3ZlKHJ1bnRpbWVBZ2VudCkpOwogCi0gICAgYXV0byBjb25zb2xl
QWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckNvbnNvbGVBZ2VudD4obV9pbnN0cnVtZW50
aW5nQWdlbnRzLmdldCgpLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSk7CisgICAgYXV0
byBjb25zb2xlQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckNvbnNvbGVBZ2VudD4obV9p
bmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpOworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+
c2V0V2ViQ29uc29sZUFnZW50KGNvbnNvbGVBZ2VudC5nZXQoKSk7CisKICAgICBhdXRvIGRlYnVn
Z2VyQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckRlYnVnZ2VyQWdlbnQ+KG1faW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLmdldCgpLCBtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksICZ3b3Jr
ZXJHbG9iYWxTY29wZSk7CiAgICAgbV9ydW50aW1lQWdlbnQtPnNldFNjcmlwdERlYnVnU2VydmVy
KCZkZWJ1Z2dlckFnZW50LT5zY3JpcHREZWJ1Z1NlcnZlcigpKTsKICAgICBtX2FnZW50cy5hcHBl
bmQoc3RkOjptb3ZlKGRlYnVnZ2VyQWdlbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwCmluZGV4IGZmNTU2YzUuLmIwNGE0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtNjE0LDcgKzYxNCw3IEBAIHZvaWQgRG9jdW1lbnRM
b2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBjb25zdCBS
ZXNvdXJjZVJlCiAgICAgICAgIGlmIChmcmFtZUxvYWRlcigpLT5zaG91bGRJbnRlcnJ1cHRMb2Fk
Rm9yWEZyYW1lT3B0aW9ucyhjb250ZW50LCByZXNwb25zZS51cmwoKSwgaWRlbnRpZmllcikpIHsK
ICAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVBZnRlclhGcmFt
ZU9wdGlvbnNEZW5pZWQobV9mcmFtZSwgdGhpcywgaWRlbnRpZmllciwgcmVzcG9uc2UpOwogICAg
ICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiUmVmdXNlZCB0byBkaXNwbGF5ICciICsgcmVzcG9u
c2UudXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBpbiBhIGZyYW1l
IGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlvbnMnIHRvICciICsgY29udGVudCArICInLiI7
Ci0gICAgICAgICAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1
cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBpZGVudGlmaWVy
KTsKKyAgICAgICAgICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLCBpZGVu
dGlmaWVyKTsKICAgICAgICAgICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmVuZm9yY2VTYW5kYm94
RmxhZ3MoU2FuZGJveE9yaWdpbik7CiAgICAgICAgICAgICBpZiAoSFRNTEZyYW1lT3duZXJFbGVt
ZW50KiBvd25lckVsZW1lbnQgPSBmcmFtZSgpLT5vd25lckVsZW1lbnQoKSkKICAgICAgICAgICAg
ICAgICBvd25lckVsZW1lbnQtPmRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkubG9hZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCmluZGV4IGIxYTdlMDkuLjBmZGVlNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcApAQCAtMTAyLDcgKzEwMiw2IEBACiAjaW5jbHVkZSAiU1ZHVmlld0VsZW1lbnQu
aCIKICNpbmNsdWRlICJTVkdWaWV3U3BlYy5oIgogI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5Lmgi
Ci0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTY3JvbGxBbmlt
YXRvci5oIgpAQCAtMzcwLDcgKzM2OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0o
UGFzc1JlZlB0cjxGb3JtU3VibWlzc2lvbj4gc3VibWlzc2lvbikKIAogICAgIGlmIChpc0RvY3Vt
ZW50U2FuZGJveGVkKCZtX2ZyYW1lLCBTYW5kYm94Rm9ybXMpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29s
dXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBl
eGlzdHMuCi0gICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2Vj
dXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgZm9ybSBzdWJt
aXNzaW9uIHRvICciICsgc3VibWlzc2lvbi0+YWN0aW9uKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXpl
ZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFu
ZCB0aGUgJ2FsbG93LWZvcm1zJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIG1f
ZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJp
dHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJCbG9ja2VkIGZvcm0gc3VibWlzc2lvbiB0byAnIiAr
IHN1Ym1pc3Npb24tPmFjdGlvbigpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsg
IicgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1m
b3JtcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CkBAIC0xNDc5LDcgKzE0NzgsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRG
YWlsZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHVybCkKICAgICBpZiAoIWZyYW1lKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk5vdCBhbGxvd2Vk
IHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1cmwpOworICAgIGZyYW1lLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVs
OjpFcnJvciwgIk5vdCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1cmwpOwog
fQogCiBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIEZyYW1lTG9hZGVyOjppbml0aWFsUmVxdWVzdCgp
IGNvbnN0CkBAIC0yODQyLDcgKzI4NDEsNyBAQCBib29sIEZyYW1lTG9hZGVyOjpoYW5kbGVCZWZv
cmVVbmxvYWRFdmVudChDaHJvbWUmIGNocm9tZSwgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZAogICAg
IC8vIElmIHRoZSBuYXZpZ2F0aW5nIEZyYW1lTG9hZGVyIGhhcyBhbHJlYWR5IHNob3duIGEgYmVm
b3JldW5sb2FkIGNvbmZpcm1hdGlvbiBwYW5lbCBmb3IgdGhlIGN1cnJlbnQgbmF2aWdhdGlvbiBh
dHRlbXB0LAogICAgIC8vIHRoaXMgZnJhbWUgaXMgbm90IGFsbG93ZWQgdG8gY2F1c2UgYW5vdGhl
ciBvbmUgdG8gYmUgc2hvd24uCiAgICAgaWYgKGZyYW1lTG9hZGVyQmVpbmdOYXZpZ2F0ZWQtPm1f
Y3VycmVudE5hdmlnYXRpb25IYXNTaG93bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCkgewotICAg
ICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXR0ZW1wdCB0byBzaG93IG11bHRpcGxlIGJlZm9yZXVubG9h
ZCBjb25maXJtYXRpb24gZGlhbG9ncyBmb3IgdGhlIHNhbWUgbmF2aWdhdGlvbi4iKTsKKyAgICAg
ICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgYXR0ZW1wdCB0byBzaG93IG11bHRp
cGxlIGJlZm9yZXVubG9hZCBjb25maXJtYXRpb24gZGlhbG9ncyBmb3IgdGhlIHNhbWUgbmF2aWdh
dGlvbi4iKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtMjg1NSw3ICsyODU0
LDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6aGFuZGxlQmVmb3JlVW5sb2FkRXZlbnQoQ2hyb21lJiBj
aHJvbWUsIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWQKICAgICAgICAgICAgIGlmICghcGFyZW50RG9j
dW1lbnQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICBpZiAoIW1f
ZnJhbWUuZG9jdW1lbnQoKSB8fCAhbV9mcmFtZS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigp
LT5jYW5BY2Nlc3MocGFyZW50RG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkpKSB7Ci0gICAgICAg
ICAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIGF0dGVtcHQgdG8gc2hvdyBiZWZvcmV1bmxvYWQgY29u
ZmlybWF0aW9uIGRpYWxvZyBvbiBiZWhhbGYgb2YgYSBmcmFtZSB3aXRoIGRpZmZlcmVudCBzZWN1
cml0eSBvcmlnaW4uIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guIik7
CisgICAgICAgICAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgYXR0ZW1w
dCB0byBzaG93IGJlZm9yZXVubG9hZCBjb25maXJtYXRpb24gZGlhbG9nIG9uIGJlaGFsZiBvZiBh
IGZyYW1lIHdpdGggZGlmZmVyZW50IHNlY3VyaXR5IG9yaWdpbi4gUHJvdG9jb2xzLCBkb21haW5z
LCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4iKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTMwNjUsMTAgKzMwNjQsMTAgQEAgYm9v
bCBGcmFtZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0TG9hZEZvclhGcmFtZU9wdGlvbnMoY29uc3Qg
U3RyaW5nJiBjb250ZW50LCBjb24KICAgICBjYXNlIFhGcmFtZU9wdGlvbnNBbGxvd0FsbDoKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2UgWEZyYW1lT3B0aW9uc0NvbmZsaWN0OgotICAg
ICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJNdWx0aXBsZSAnWC1GcmFtZS1PcHRpb25zJyBoZWFkZXJz
IHdpdGggY29uZmxpY3RpbmcgdmFsdWVzICgnIiArIGNvbnRlbnQgKyAiJykgZW5jb3VudGVyZWQg
d2hlbiBsb2FkaW5nICciICsgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsg
IicuIEZhbGxpbmcgYmFjayB0byAnREVOWScuIiwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAg
ICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpT
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiTXVsdGlwbGUgJ1gtRnJhbWUtT3B0aW9ucycgaGVhZGVy
cyB3aXRoIGNvbmZsaWN0aW5nIHZhbHVlcyAoJyIgKyBjb250ZW50ICsgIicpIGVuY291bnRlcmVk
IHdoZW4gbG9hZGluZyAnIiArIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSAr
ICInLiBGYWxsaW5nIGJhY2sgdG8gJ0RFTlknLiIsIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgY2FzZSBYRnJhbWVPcHRpb25zSW52YWxpZDoKLSAgICAgICAg
bV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCAnWC1GcmFtZS1PcHRpb25zJyBoZWFkZXIgZW5jb3Vu
dGVyZWQgd2hlbiBsb2FkaW5nICciICsgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0
aCgpICsgIic6ICciICsgY29udGVudCArICInIGlzIG5vdCBhIHJlY29nbml6ZWQgZGlyZWN0aXZl
LiBUaGUgaGVhZGVyIHdpbGwgYmUgaWdub3JlZC4iLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAg
ICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6
SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJJbnZhbGlkICdYLUZyYW1lLU9wdGlvbnMnIGhlYWRl
ciBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcgJyIgKyB1cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXpl
ZFRvTGVuZ3RoKCkgKyAiJzogJyIgKyBjb250ZW50ICsgIicgaXMgbm90IGEgcmVjb2duaXplZCBk
aXJlY3RpdmUuIFRoZSBoZWFkZXIgd2lsbCBiZSBpZ25vcmVkLiIsIHJlcXVlc3RJZGVudGlmaWVy
KTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpAQCAtMzQ0MSw3ICszNDQwLDcgQEAgUGFzc1JlZlB0cjxGcmFtZT4gY3Jl
YXRlV2luZG93KEZyYW1lKiBvcGVuZXJGcmFtZSwgRnJhbWUqIGxvb2t1cEZyYW1lLCBjb25zdCBG
cmEKICAgICAvLyBTYW5kYm94ZWQgZnJhbWVzIGNhbm5vdCBvcGVuIG5ldyBhdXhpbGlhcnkgYnJv
d3NpbmcgY29udGV4dHMuCiAgICAgaWYgKGlzRG9jdW1lbnRTYW5kYm94ZWQob3BlbmVyRnJhbWUs
IFNhbmRib3hQb3B1cHMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG1lc3NhZ2Ugc2hvdWxk
IGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24gdG8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMuCi0gICAgICAgIG9wZW5l
ckZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBvcGVuaW5nICciICsgcmVxdWVzdC5yZXNv
dXJjZVJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICIn
IGluIGEgbmV3IHdpbmRvdyBiZWNhdXNlIHRoZSByZXF1ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJv
eGVkIGZyYW1lIHdob3NlICdhbGxvdy1wb3B1cHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsK
KyAgICAgICAgb3BlbmVyRnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQmxvY2tlZCBvcGVuaW5n
ICciICsgcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNp
emVkVG9MZW5ndGgoKSArICInIGluIGEgbmV3IHdpbmRvdyBiZWNhdXNlIHRoZSByZXF1ZXN0IHdh
cyBtYWRlIGluIGEgc2FuZGJveGVkIGZyYW1lIHdob3NlICdhbGxvdy1wb3B1cHMnIHBlcm1pc3Np
b24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCA2MGFjNDY0Li45YTk0NzExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJI
VE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJS
ZW5kZXJTVkdJbWFnZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUg
IlNlY3VyaXR5T3JpZ2luLmgiCiAKICNpZiBFTkFCTEUoVklERU8pCkBAIC0yOTMsNyArMjkyLDEx
IEBAIHZvaWQgSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNv
dXJjZSkKICAgICAgICAgZXJyb3JFdmVudFNlbmRlcigpLmRpc3BhdGNoRXZlbnRTb29uKHRoaXMp
OwogCiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwg
KEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIGltYWdlIGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9y
aWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iKSkpOworPDw8PDw8PCBIRUFECiAgICAgICAg
IGVsZW1lbnQoKS5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKz09PT09PT0KKyAgICAg
ICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6
OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBjb25zb2xlTWVzc2FnZSk7Cis+Pj4+Pj4+
IFBST0dSRVNTOiBDb25zb2xlQWdlbnQKIAogICAgICAgICBBU1NFUlQoIW1faGFzUGVuZGluZ0xv
YWRFdmVudCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRl
bnRDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2Vy
LmNwcAppbmRleCBlNTA3YWE2Li4xN2YzNGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L01peGVkQ29udGVudENoZWNrZXIuY3BwCkBAIC05NCw3ICs5NCw3IEBAIGJvb2wgTWl4ZWRDb250
ZW50Q2hlY2tlcjo6Y2FuUnVuSW5zZWN1cmVDb250ZW50KFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0
eU9yaWdpbiwKIHZvaWQgTWl4ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyhib29sIGFsbG93
ZWQsIGNvbnN0IFN0cmluZyYgYWN0aW9uLCBjb25zdCBVUkwmIHRhcmdldCkgY29uc3QKIHsKICAg
ICBTdHJpbmcgbWVzc2FnZSA9IG1ha2VTdHJpbmcoKGFsbG93ZWQgPyAiIiA6ICJbYmxvY2tlZF0g
IiksICJUaGUgcGFnZSBhdCAiLCBtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgpLnN0cmluZ0NlbnRl
ckVsbGlwc2l6ZWRUb0xlbmd0aCgpLCAiICIsIGFjdGlvbiwgIiBpbnNlY3VyZSBjb250ZW50IGZy
b20gIiwgdGFyZ2V0LnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpLCAiLlxuIik7Ci0g
ICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VT
b3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIG1fZnJhbWUuZG9jdW1l
bnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VM
ZXZlbDo6V2FybmluZywgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKaW5kZXggMzVkNzg4Yy4uNWYw
YmEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKQEAgLTM2
LDcgKzM2LDYgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUJ1ZmZlci5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGV4dFRyYWNrQ3VlLmgi
CiAjaW5jbHVkZSAiV2ViVlRUUGFyc2VyLmgiCkBAIC0xMTgsNyArMTE3LDcgQEAgdm9pZCBUZXh0
VHJhY2tMb2FkZXI6OmNvcnNQb2xpY3lQcmV2ZW50ZWRMb2FkKCkKIHsKICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9y
aWdpbiB0ZXh0IHRyYWNrIGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFy
aW5nIHBvbGljeS4iKSkpOwogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHRvRG9jdW1lbnQobV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2Uo
U2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2Up
OworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0
eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgY29uc29sZU1lc3NhZ2UpOwogICAgIG1fc3RhdGUgPSBG
YWlsZWQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggMTc2M2YwNi4uZTg3NzE4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVHcm91cC5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgpAQCAtNDcxLDcgKzQ3MSw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNo
ZUdyb3VwOjphYm9ydChGcmFtZSogZnJhbWUpCiAgICAgaWYgKG1fY29tcGxldGlvblR5cGUgIT0g
Tm9uZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNv
bGVNZXNzYWdlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgIkFwcGxp
Y2F0aW9uIENhY2hlIGRvd25sb2FkIHByb2Nlc3Mgd2FzIGFib3J0ZWQuIik7CisgICAgZnJhbWUt
PmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcmssIE1l
c3NhZ2VMZXZlbDo6RGVidWcsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUgZG93bmxv
YWQgcHJvY2VzcyB3YXMgYWJvcnRlZC4iKSk7CiAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKIH0K
IApAQCAtNTQ3LDcgKzU0Nyw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNl
aXZlUmVzcG9uc2UoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzCiAKICAgICBpZiAo
cmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyIHx8IHJlc3BvbnNlLnVybCgpICE9
IG1fY3VycmVudEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkpIHsKICAgICAgICAgaWYgKCh0
eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpFeHBsaWNpdCkgfHwgKHR5cGUgJiBBcHBs
aWNhdGlvbkNhY2hlUmVzb3VyY2U6OkZhbGxiYWNrKSkgewotICAgICAgICAgICAgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoQXBwQ2FjaGVNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ug
IiArIG1fY3VycmVudEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkuc3RyaW5nQ2VudGVyRWxs
aXBzaXplZFRvTGVuZ3RoKCkgKworICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGUsIE1lc3NhZ2VMZXZlbDo6RXJy
b3IsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyBtX2N1cnJl
bnRIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xl
bmd0aCgpICsKICAgICAgICAgICAgICAgICAoKHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgLyAx
MDAgIT0gMikgPyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIgOiAiIHdhcyByZWRpcmVjdGVkLiIp
KTsKICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBjYWNoZVVwZGF0ZUZhaWxlZCgpIGNhbiBjYXVz
ZSB0aGUgY2FjaGUgZ3JvdXAgdG8gYmUgZGVsZXRlZC4KICAgICAgICAgICAgIGNhY2hlVXBkYXRl
RmFpbGVkKCk7CkBAIC02MjYsNyArNjI2LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgZG91YmxlIGZpbmkKICAg
ICAvLyBGSVhNRTogU2hvdWxkIHdlIGJyZWFrIGVhcmxpZXIgYW5kIHByZXZlbnQgcmVkb3dubG9h
ZGluZyBvbiBsYXRlciBwYWdlIGxvYWRzPwogICAgIGlmIChtX29yaWdpblF1b3RhRXhjZWVkZWRQ
cmV2aW91c2x5ICYmIG1fYXZhaWxhYmxlU3BhY2VJblF1b3RhIDwgbV9jYWNoZUJlaW5nVXBkYXRl
ZC0+ZXN0aW1hdGVkU2l6ZUluU3RvcmFnZSgpKSB7CiAgICAgICAgIG1fY3VycmVudFJlc291cmNl
ID0gMDsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoQXBw
Q2FjaGVNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hl
IHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIik7CisgICAg
ICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6
OkFwcENhY2hlLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9u
IENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIikp
OwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpA
QCAtNjYxLDcgKzY2MSw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGYWlsKFJl
c291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlRXJyb3ImCiAgICAgbV9wZW5kaW5n
RW50cmllcy5yZW1vdmUodXJsKTsKIAogICAgIGlmICgodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVS
ZXNvdXJjZTo6RXhwbGljaXQpIHx8ICh0eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpG
YWxsYmFjaykpIHsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoQXBwQ2FjaGVNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9u
IENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2UgIiArIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNp
emVkVG9MZW5ndGgoKSArICIgY291bGQgbm90IGJlIGZldGNoZWQuIik7CisgICAgICAgIG1fZnJh
bWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hl
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwg
YmVjYXVzZSAiICsgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIiBjb3Vs
ZCBub3QgYmUgZmV0Y2hlZC4iKTsKICAgICAgICAgLy8gTm90ZSB0aGF0IGNhY2hlVXBkYXRlRmFp
bGVkKCkgY2FuIGNhdXNlIHRoZSBjYWNoZSBncm91cCB0byBiZSBkZWxldGVkLgogICAgICAgICBj
YWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgIH0gZWxzZSB7CkBAIC02OTAsMTMgKzY5MCwxMyBAQCB2
b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZU1hbmlmZXN0UmVzcG9uc2UoY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAocmVzcG9u
c2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyKSB7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZC4i
KTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGlj
YXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuIikpOwogICAgICAgICBj
YWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKHJl
c3BvbnNlLnVybCgpICE9IG1fbWFuaWZlc3RIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpKSB7
Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVz
dCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVzZSBhIHJlZGlyZWN0aW9uIHdhcyBhdHRlbXB0
ZWQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFw
cGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLCBiZWNhdXNlIGEg
cmVkaXJlY3Rpb24gd2FzIGF0dGVtcHRlZC4iKSk7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVk
KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MTYsNyArNzE2LDcgQEAgdm9pZCBBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OmRpZEZpbmlzaExvYWRpbmdNYW5pZmVzdCgpCiAKICAgICBpZiAo
IWlzVXBncmFkZUF0dGVtcHQgJiYgIW1fbWFuaWZlc3RSZXNvdXJjZSkgewogICAgICAgICAvLyBU
aGUgc2VydmVyIHJldHVybmVkIDMwNCBOb3QgTW9kaWZpZWQgZXZlbiB0aG91Z2ggd2UgZGlkbid0
IHNlbmQgYSBjb25kaXRpb25hbCByZXF1ZXN0LgotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQgYmVjYXVz
ZSBvZiBhbiB1bmV4cGVjdGVkIDMwNCBOb3QgTW9kaWZpZWQgc2VydmVyIHJlc3BvbnNlLiIpOwor
ICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlv
biBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCBiZWNhdXNlIG9mIGFuIHVuZXhw
ZWN0ZWQgMzA0IE5vdCBNb2RpZmllZCBzZXJ2ZXIgcmVzcG9uc2UuIikpOwogICAgICAgICBjYWNo
ZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNzQyLDcgKzc0Miw3
IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nTWFuaWZlc3Qo
KQogICAgIE1hbmlmZXN0IG1hbmlmZXN0OwogICAgIGlmICghcGFyc2VNYW5pZmVzdChtX21hbmlm
ZXN0VVJMLCBtX21hbmlmZXN0UmVzb3VyY2UtPmRhdGEoKS0+ZGF0YSgpLCBtX21hbmlmZXN0UmVz
b3VyY2UtPmRhdGEoKS0+c2l6ZSgpLCBtYW5pZmVzdCkpIHsKICAgICAgICAgLy8gQXQgdGhlIHRp
bWUgb2YgdGhpcyB3cml0aW5nLCBsYWNrIG9mICJDQUNIRSBNQU5JRkVTVCIgc2lnbmF0dXJlIGlz
IHRoZSBvbmx5IHJlYXNvbiBmb3IgcGFyc2VNYW5pZmVzdCB0byBmYWlsLgotICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJl
IHBhcnNlZC4gRG9lcyBpdCBzdGFydCB3aXRoIENBQ0hFIE1BTklGRVNUPyIpOworICAgICAgICBt
X2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpPdGhl
ciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlvbiBDYWNoZSBt
YW5pZmVzdCBjb3VsZCBub3QgYmUgcGFyc2VkLiBEb2VzIGl0IHN0YXJ0IHdpdGggQ0FDSEUgTUFO
SUZFU1Q/IikpOwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47
CiAgICAgfQpAQCAtOTI5LDcgKzkyOSw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpj
aGVja0lmTG9hZElzQ29tcGxldGUoKQogICAgICAgICAgICAgICAgIC8vIFdlIHJhbiBvdXQgb2Yg
c3BhY2UgZm9yIHRoaXMgb3JpZ2luLiBGYWxsIGRvd24gdG8gdGhlIG5vcm1hbCBlcnJvciBoYW5k
bGluZwogICAgICAgICAgICAgICAgIC8vIGFmdGVyIHJlY29yZGluZyB0aGlzIHN0YXRlLgogICAg
ICAgICAgICAgICAgIG1fb3JpZ2luUXVvdGFFeGNlZWRlZFByZXZpb3VzbHkgPSB0cnVlOwotICAg
ICAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVy
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRh
dGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIpOworICAgICAgICAg
ICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9u
IENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIikp
OwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoZmFpbHVyZVJlYXNvbiA9PSBBcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZTo6VG90YWxRdW90YVJlYWNoZWQgJiYgIW1fY2FsbGVkUmVhY2hl
ZE1heEFwcENhY2hlU2l6ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggY2M3MGI1My4uNjFlNjAxOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC02MzIsNyArNjMyLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJpbnRB
Y2Nlc3NEZW5pZWRNZXNzYWdlKGNvbnN0IFVSTCYgdXJsKSBjb25zdAogICAgIGVsc2UKICAgICAg
ICAgbWVzc2FnZSA9ICJVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCAiICsgdXJsLnN0cmluZ0Nl
bnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIiBmcm9tIGZyYW1lIHdpdGggVVJMICIgKyBtX2Rv
Y3VtZW50LT51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICIuIERvbWFp
bnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC5cbiI7CiAKLSAgICBmcmFtZSgpLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25z
b2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwg
bWVzc2FnZSk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNldEF1dG9Mb2FkSW1h
Z2VzKGJvb2wgZW5hYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggMjE4Y2Rk
NS4uZWUxNDJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yMyw4ICsyMyw2
IEBACiAjZGVmaW5lIENocm9tZUNsaWVudF9oCiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgi
Ci0jaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgi
CiAjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKICNpbmNs
dWRlICJGcmFtZUxvYWRlci5oIgpAQCAtMzcsNiArMzUsNyBAQAogI2luY2x1ZGUgIlNjcm9sbGlu
Z0Nvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiU2VhcmNoUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUtleWJvYXJkVUlNb2RlLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBl
cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnNvbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAppbmRleCBl
MjFiODYyLi5lNzNhNmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKQEAgLTMxLDggKzMxLDYg
QEAKIAogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgotI2lu
Y2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlci5oIgpAQCAtNDIsMTggKzQwLDIxIEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
IlBhZ2VDb25zb2xlLmgiCiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCi0jaW5jbHVkZSAiU2NyaXB0
QXJndW1lbnRzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5jbHVkZSAiU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNs
dWRlICJTY3JpcHRQcm9maWxlci5oIgogI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1bWVudFBhcnNl
ci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFs
dWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CisjaW5jbHVkZSA8aW5z
cGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgog
I2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIENvbnNvbGU6OkNvbnNvbGUoRnJhbWUqIGZyYW1lKQpA
QCAtODEsMTMgKzgyLDEzIEBAIHN0YXRpYyB2b2lkIGludGVybmFsQWRkTWVzc2FnZShQYWdlKiBw
YWdlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsCiAKICAgICBTdHJpbmcg
bWVzc2FnZTsKICAgICBib29sIGdvdE1lc3NhZ2UgPSBhcmd1bWVudHMtPmdldEZpcnN0QXJndW1l
bnRBc1N0cmluZyhtZXNzYWdlKTsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1l
c3NhZ2VUb0NvbnNvbGUocGFnZSwgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIHR5cGUsIGxldmVs
LCBtZXNzYWdlLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSwg
dHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHN0YXRlLCBhcmd1bWVudHMpOwogCiAgICAgaWYgKHBhZ2Ut
PnNldHRpbmdzKCkucHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBpZiAoZ290TWVzc2FnZSkKLSAgICAgICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkuYWRk
TWVzc2FnZVRvQ29uc29sZShDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1l
c3NhZ2UsIGxhc3RDYWxsZXIubGluZU51bWJlcigpLCBsYXN0Q2FsbGVyLmNvbHVtbk51bWJlcigp
LCBsYXN0Q2FsbGVyLnNvdXJjZVVSTCgpKTsKKyAgICAgICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50
KCkuYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSwgbGFzdENhbGxlci5saW5lTnVtYmVyKCksIGxhc3RDYWxsZXIuY29sdW1u
TnVtYmVyKCksIGxhc3RDYWxsZXIuc291cmNlVVJMKCkpOwogCiAgICAgaWYgKCFwYWdlLT5zZXR0
aW5ncygpLmxvZ3NQYWdlTWVzc2FnZXNUb1N5c3RlbUNvbnNvbGVFbmFibGVkKCkgJiYgIVBhZ2VD
b25zb2xlOjpzaG91bGRQcmludEV4Y2VwdGlvbnMoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtOTYs
NyArOTcsNyBAQCBzdGF0aWMgdm9pZCBpbnRlcm5hbEFkZE1lc3NhZ2UoUGFnZSogcGFnZSwgTWVz
c2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLAogCiAgICAgcHJpbnRmKCI6ICIpOwog
Ci0gICAgUGFnZUNvbnNvbGU6OnByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KENvbnNv
bGVBUElNZXNzYWdlU291cmNlLCBsZXZlbCwgcHJpbnRUcmFjZSk7CisgICAgUGFnZUNvbnNvbGU6
OnByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVB
UEksIGxldmVsLCBwcmludFRyYWNlKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJn
dW1lbnRzLT5hcmd1bWVudENvdW50KCk7ICsraSkgewogICAgICAgICBTdHJpbmcgYXJnQXNTdHJp
bmcgPSBhcmd1bWVudHMtPmFyZ3VtZW50QXQoaSkudG9TdHJpbmcoYXJndW1lbnRzLT5nbG9iYWxT
dGF0ZSgpKTsKQEAgLTEyNSwxMiArMTI2LDEyIEBAIHN0YXRpYyB2b2lkIGludGVybmFsQWRkTWVz
c2FnZShQYWdlKiBwYWdlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsCiAK
IHZvaWQgQ29uc29sZTo6ZGVidWcoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNj
cmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdl
KCksIExvZ01lc3NhZ2VUeXBlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7
CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkxvZywgTWVzc2Fn
ZUxldmVsOjpEZWJ1Zywgc3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6ZXJy
b3IoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJn
dW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIExvZ01lc3NhZ2VUeXBl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRN
ZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkxvZywgTWVzc2FnZUxldmVsOjpFcnJvciwgc3Rh
dGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6aW5mbyhKU0M6OkV4ZWNTdGF0ZSog
c3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCkBAIC0xNDAsMzcg
KzE0MSwzNyBAQCB2b2lkIENvbnNvbGU6OmluZm8oSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogCiB2b2lkIENvbnNvbGU6OmxvZyhK
U0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVu
dHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVzc2FnZVR5cGUsIExv
Z01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdl
KHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkxvZywgTWVzc2FnZUxldmVsOjpMb2csIHN0YXRlLCBhcmd1
bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6Ondhcm4oSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRk
TWVzc2FnZShwYWdlKCksIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBzdGF0
ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlw
ZTo6TG9nLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2
b2lkIENvbnNvbGU6OmRpcihKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwg
RGlyTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAg
aW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkRpciwgTWVzc2FnZUxldmVs
OjpMb2csIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6OmRpcnhtbChKU0M6
OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMp
CiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgRGlyWE1MTWVzc2FnZVR5cGUsIExv
Z01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdl
KHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkRpclhNTCwgTWVzc2FnZUxldmVsOjpMb2csIHN0YXRlLCBh
cmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6OnRhYmxlKEpTQzo6RXhlY1N0YXRlKiBzdGF0
ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5h
bEFkZE1lc3NhZ2UocGFnZSgpLCBUYWJsZU1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0
YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VU
eXBlOjpUYWJsZSwgTWVzc2FnZUxldmVsOjpMb2csIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2
b2lkIENvbnNvbGU6OmNsZWFyKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgp
LCBDbGVhck1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHRy
dWUpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpDbGVhciwg
TWVzc2FnZUxldmVsOjpMb2csIHN0YXRlLCBhcmd1bWVudHMsIHRydWUpOwogfQogCiB2b2lkIENv
bnNvbGU6OnRyYWNlKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBUcmFj
ZU1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHRydWUsIHRy
dWUpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpUcmFjZSwg
TWVzc2FnZUxldmVsOjpMb2csIHN0YXRlLCBhcmd1bWVudHMsIHRydWUsIHRydWUpOwogfQogCiB2
b2lkIENvbnNvbGU6OmFzc2VydENvbmRpdGlvbihKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NS
ZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIGJvb2wgY29uZGl0aW9uKQpAQCAtMTc4
LDcgKzE3OSw3IEBAIHZvaWQgQ29uc29sZTo6YXNzZXJ0Q29uZGl0aW9uKEpTQzo6RXhlY1N0YXRl
KiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+CiAgICAgaWYgKGNvbmRpdGlvbikK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgQXNzZXJ0
TWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlKTsK
KyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6QXNzZXJ0LCBNZXNz
YWdlTGV2ZWw6OkVycm9yLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlKTsKIH0KIAogdm9pZCBDb25z
b2xlOjpjb3VudChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1l
bnRzPiBhcmd1bWVudHMpCkBAIC0yNDMsMTcgKzI0NCwxNyBAQCB2b2lkIENvbnNvbGU6OnRpbWVT
dGFtcChQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogCiB2b2lkIENvbnNv
bGU6Omdyb3VwKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVu
dHM+IGFyZ3VtZW50cykKIHsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUocGFnZSgpLCBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgU3RhcnRHcm91cE1l
c3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIFN0cmluZygpLCBzdGF0ZSwgYXJndW1lbnRzKTsK
KyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSgp
LCBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6U3RhcnRHcm91cCwgTWVz
c2FnZUxldmVsOjpMb2csIFN0cmluZygpLCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBD
b25zb2xlOjpncm91cENvbGxhcHNlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8
U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UoKSwgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2Us
IFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBTdHJpbmco
KSwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRN
ZXNzYWdlVG9Db25zb2xlKHBhZ2UoKSwgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSwgTWVzc2Fn
ZVR5cGU6OlN0YXJ0R3JvdXBDb2xsYXBzZWQsIE1lc3NhZ2VMZXZlbDo6TG9nLCBTdHJpbmcoKSwg
c3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgQ29uc29sZTo6Z3JvdXBFbmQoKQogewotICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlKCksIENv
bnNvbGVBUElNZXNzYWdlU291cmNlLCBFbmRHcm91cE1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2
ZWwsIFN0cmluZygpLCBTdHJpbmcoKSwgMCwgMCk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UoKSwgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQ
SSwgTWVzc2FnZVR5cGU6OkVuZEdyb3VwLCBNZXNzYWdlTGV2ZWw6OkxvZywgU3RyaW5nKCksIFN0
cmluZygpLCAwLCAwKTsKIH0KIAogUGFnZSogQ29uc29sZTo6cGFnZSgpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29uc29sZS5oCmluZGV4IDY0ZWFjMWEuLjk4ZTRiNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29uc29sZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5oCkBA
IC0zNywxMSArMzcsMTQgQEAKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworY2xhc3MgU2NyaXB0
QXJndW1lbnRzOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZyYW1lOwogY2xh
c3MgUGFnZTsKLWNsYXNzIFNjcmlwdEFyZ3VtZW50czsKIAogdHlwZWRlZiBWZWN0b3I8UmVmUHRy
PFNjcmlwdFByb2ZpbGU+PiBQcm9maWxlc0FycmF5OwogCkBAIC01MCwyNiArNTMsMjYgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENvbnNvbGU+IGNyZWF0ZShGcmFtZSogZnJhbWUp
IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDb25zb2xlKGZyYW1lKSk7IH0KICAgICB2aXJ0dWFsIH5D
b25zb2xlKCk7CiAKLSAgICB2b2lkIGRlYnVnKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGVycm9yKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1Jl
ZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGluZm8oSlNDOjpFeGVjU3RhdGUqLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgbG9nKEpTQzo6RXhlY1N0YXRl
KiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGNsZWFyKEpTQzo6RXhl
Y1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIHdhcm4oSlND
OjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgZGly
KEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lk
IGRpcnhtbChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0g
ICAgdm9pZCB0YWJsZShKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRz
Pik7Ci0gICAgdm9pZCB0cmFjZShKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPik7Ci0gICAgdm9pZCBhc3NlcnRDb25kaXRpb24oSlNDOjpFeGVjU3RhdGUqLCBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIGJvb2wgY29uZGl0aW9uKTsKLSAgICB2b2lkIGNvdW50
KEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lk
IGRlYnVnKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3Vt
ZW50cz4pOworICAgIHZvaWQgZXJyb3IoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBpbmZvKEpTQzo6RXhlY1N0YXRlKiwg
UGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgbG9nKEpT
Qzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwor
ICAgIHZvaWQgY2xlYXIoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2Ny
aXB0QXJndW1lbnRzPik7CisgICAgdm9pZCB3YXJuKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0
cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgZGlyKEpTQzo6RXhlY1N0
YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQg
ZGlyeG1sKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3Vt
ZW50cz4pOworICAgIHZvaWQgdGFibGUoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCB0cmFjZShKU0M6OkV4ZWNTdGF0ZSos
IFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGFzc2Vy
dENvbmRpdGlvbihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRB
cmd1bWVudHM+LCBib29sIGNvbmRpdGlvbik7CisgICAgdm9pZCBjb3VudChKU0M6OkV4ZWNTdGF0
ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKICAgICBjb25zdCBQ
cm9maWxlc0FycmF5JiBwcm9maWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvZmlsZXM7IH0KICAg
ICB2b2lkIHByb2ZpbGUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmID0gU3RyaW5nKCkp
OwogICAgIHZvaWQgcHJvZmlsZUVuZChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgPSBT
dHJpbmcoKSk7CiAgICAgdm9pZCB0aW1lKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgdGltZUVu
ZChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgdGltZVN0YW1wKFBh
c3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBncm91cChKU0M6OkV4ZWNTdGF0
ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBncm91cENvbGxhcHNl
ZChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9p
ZCB0aW1lU3RhbXAoUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAg
IHZvaWQgZ3JvdXAoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0
QXJndW1lbnRzPik7CisgICAgdm9pZCBncm91cENvbGxhcHNlZChKU0M6OkV4ZWNTdGF0ZSosIFBh
c3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKICAgICB2b2lkIGdyb3VwRW5k
KCk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVU
eXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggODA0YTE2Ny4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnNvbGVUeXBlcy5oCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpZm5kZWYgQ29uc29sZVR5cGVzX2gKLSNkZWZpbmUgQ29uc29sZVR5cGVzX2gKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1lbnVtIE1lc3NhZ2VTb3VyY2UgewotICAgIFhNTE1lc3Nh
Z2VTb3VyY2UsCi0gICAgSlNNZXNzYWdlU291cmNlLAotICAgIE5ldHdvcmtNZXNzYWdlU291cmNl
LAotICAgIENvbnNvbGVBUElNZXNzYWdlU291cmNlLAotICAgIFN0b3JhZ2VNZXNzYWdlU291cmNl
LAotICAgIEFwcENhY2hlTWVzc2FnZVNvdXJjZSwKLSAgICBSZW5kZXJpbmdNZXNzYWdlU291cmNl
LAotICAgIENTU01lc3NhZ2VTb3VyY2UsCi0gICAgU2VjdXJpdHlNZXNzYWdlU291cmNlLAotICAg
IE90aGVyTWVzc2FnZVNvdXJjZSwKLX07Ci0KLWVudW0gTWVzc2FnZUxldmVsIHsKLSAgICBEZWJ1
Z01lc3NhZ2VMZXZlbCA9IDQsCi0gICAgTG9nTWVzc2FnZUxldmVsID0gMSwKLSAgICBXYXJuaW5n
TWVzc2FnZUxldmVsID0gMiwKLSAgICBFcnJvck1lc3NhZ2VMZXZlbCA9IDMKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIENvbnNvbGVUeXBlc19oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggMGFlYTlhYS4uOTI3
YzA4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xp
Y3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNw
cApAQCAtMzUsMTcgKzM1LDE4IEBACiAjaW5jbHVkZSAiRm9ybURhdGFMaXN0LmgiCiAjaW5jbHVk
ZSAiRnJhbWUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKLSNpbmNs
dWRlICJVUkwuaCIKKyNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbmNsdWRl
ICJQaW5nTG9hZGVyLmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2lu
Y2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0j
aW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRl
LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1cml0eVBvbGlj
eVZpb2xhdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCisjaW5jbHVkZSAi
VVJMLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUg
PGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CkBAIC0xNzI2LDcgKzE3MjcsNyBAQCBzdGF0aWMgdm9pZCBnYXRoZXJTZWN1cml0eVBvbGljeVZp
b2xhdGlvbkV2ZW50RGF0YShTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SQogICAgIGluaXQu
c291cmNlRmlsZSA9IFN0cmluZygpOwogICAgIGluaXQubGluZU51bWJlciA9IDA7CiAKLSAgICBS
ZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjaygyLCBm
YWxzZSk7CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2sgPSBjcmVhdGVTY3JpcHRD
YWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSwgMiwgZmFsc2Up
OwogICAgIGlmICghc3RhY2spCiAgICAgICAgIHJldHVybjsKIApAQCAtMTc4OCw3ICsxNzg5LDcg
QEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydFZpb2xhdGlvbihjb25zdCBTdHJp
bmcmIGRpcmVjdGl2ZVRleHQsIGNvbnN0IFMKICAgICBjc3BSZXBvcnQtPnNldFN0cmluZygib3Jp
Z2luYWwtcG9saWN5IiwgaGVhZGVyKTsKICAgICBjc3BSZXBvcnQtPnNldFN0cmluZygiYmxvY2tl
ZC11cmkiLCBzdHJpcFVSTEZvclVzZUluUmVwb3J0KGRvY3VtZW50LCBibG9ja2VkVVJMKSk7CiAK
LSAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFj
aygyLCBmYWxzZSk7CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2sgPSBjcmVhdGVT
Y3JpcHRDYWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSwgMiwg
ZmFsc2UpOwogICAgIGlmIChzdGFjaykgewogICAgICAgICBjb25zdCBTY3JpcHRDYWxsRnJhbWUm
IGNhbGxGcmFtZSA9IGdldEZpcnN0Tm9uTmF0aXZlRnJhbWUoc3RhY2spOwogCkBAIC0xODk5LDcg
KzE5MDAsNyBAQCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0TWlzc2luZ1JlcG9y
dFVSSShjb25zdCBTdHJpbmcmIHBvbGljeSkgY29uc3QKIHZvaWQgQ29udGVudFNlY3VyaXR5UG9s
aWN5Ojpsb2dUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNv
bnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIEpTQzo6RXhl
Y1N0YXRlKiBzdGF0ZSkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3Jn
L2IvMTE0MzE3PiBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmxvZ1RvQ29uc29sZSBzaG91bGQgaW5j
bHVkZSBhIGNvbHVtbiBudW1iZXIKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENv
bnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLm9uZUJhc2VkSW50KCksIDAsIHN0YXRlKTsK
KyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLCBjb250ZXh0VVJM
LCBjb250ZXh0TGluZS5vbmVCYXNlZEludCgpLCAwLCBzdGF0ZSk7CiB9CiAKIHZvaWQgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpyZXBvcnRCbG9ja2VkU2NyaXB0RXhlY3V0aW9uVG9JbnNwZWN0b3Io
Y29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVNlY3VyaXR5UG9saWN5LmNwcAppbmRleCA3YTI2NGVlLi45OTRjOTZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1
ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlz
dC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAj
aW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1Rl
eHRQb3NpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCmluZGV4IDc1MzNiMDAuLjNkZjJjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgpAQCAtNjksNyArNjksNyBAQAogI2luY2x1ZGUgIkhUTUxGcmFtZU93
bmVyRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpc3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJVUkwuaCIKKyNpbmNsdWRlICJKU01haW5UaHJl
YWRFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1haW5GcmFt
ZS5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0LmgiCkBAIC04NSw4ICs4NSw2IEBACiAjaW5j
bHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNjaGVkdWxlZEFjdGlv
bi5oIgogI2luY2x1ZGUgIlNjcmVlbi5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgot
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRDb250
cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1cml0
eVBvbGljeS5oIgpAQCAtOTgsMTAgKzk2LDEzIEBACiAjaW5jbHVkZSAiU3R5bGVNZWRpYS5oIgog
I2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJTdWRkZW5UZXJtaW5hdGlvbi5o
IgorI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIldlYktpdFBvaW50LmgiCiAjaW5jbHVkZSAi
V2luZG93RmVhdHVyZXMuaCIKICNpbmNsdWRlICJXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3Iu
aCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CiAj
aW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
ICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpAQCAtMTI0LDYgKzEyNSw4IEBACiAjaW5jbHVk
ZSAiV0tDb250ZW50T2JzZXJ2YXRpb24uaCIKICNlbmRpZgogCit1c2luZyBuYW1lc3BhY2UgSW5z
cGVjdG9yOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBvc3RNZXNzYWdlVGltZXIg
OiBwdWJsaWMgVGltZXJCYXNlIHsKQEAgLTg0Myw3ICs4NDYsNyBAQCB2b2lkIERPTVdpbmRvdzo6
cG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2UsIGNv
bnN0IE1lcwogICAgIC8vIENhcHR1cmUgc3RhY2sgdHJhY2Ugb25seSB3aGVuIGluc3BlY3RvciBm
cm9udC1lbmQgaXMgbG9hZGVkIGFzIGl0IG1heSBiZSB0aW1lIGNvbnN1bWluZy4KICAgICBSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFja1RyYWNlOwogICAgIGlmIChJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmNvbnNvbGVBZ2VudEVuYWJsZWQoc291cmNlRG9jdW1lbnQpKQotICAgICAgICBz
dGFja1RyYWNlID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKFNjcmlwdENhbGxTdGFjazo6bWF4Q2Fs
bFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7CisgICAgICAgIHN0YWNrVHJhY2UgPSBjcmVhdGVT
Y3JpcHRDYWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSwgU2Ny
aXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0cnVlKTsKIAogICAgIC8v
IFNjaGVkdWxlIHRoZSBtZXNzYWdlLgogICAgIFBvc3RNZXNzYWdlVGltZXIqIHRpbWVyID0gbmV3
IFBvc3RNZXNzYWdlVGltZXIodGhpcywgbWVzc2FnZSwgc291cmNlT3JpZ2luLCAmc291cmNlLCBj
aGFubmVscy5yZWxlYXNlKCksIHRhcmdldC5nZXQoKSwgc3RhY2tUcmFjZS5yZWxlYXNlKCkpOwpA
QCAtODY3LDcgKzg3MCw3IEBAIHZvaWQgRE9NV2luZG93OjpkaXNwYXRjaE1lc3NhZ2VFdmVudFdp
dGhPcmlnaW5DaGVjayhTZWN1cml0eU9yaWdpbiogaW50ZW5kZWRUYXJnCiAgICAgICAgIGlmICgh
aW50ZW5kZWRUYXJnZXRPcmlnaW4tPmlzU2FtZVNjaGVtZUhvc3RQb3J0KGRvY3VtZW50KCktPnNl
Y3VyaXR5T3JpZ2luKCkpKSB7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJVbmFibGUg
dG8gcG9zdCBtZXNzYWdlIHRvICIgKyBpbnRlbmRlZFRhcmdldE9yaWdpbi0+dG9TdHJpbmcoKSAr
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIuIFJlY2lwaWVudCBoYXMgb3JpZ2luICIg
KyBkb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpICsgIi5cbiI7Ci0gICAg
ICAgICAgICBwYWdlQ29uc29sZSgpLT5hZGRNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHN0YWNrVHJhY2UpOworICAgICAgICAgICAgcGFn
ZUNvbnNvbGUoKS0+YWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxl
dmVsOjpFcnJvciwgbWVzc2FnZSwgc3RhY2tUcmFjZSk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICB9CkBAIC05NjYsNyArOTY5LDcgQEAgdm9pZCBET01XaW5kb3c6OmNsb3Nl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAgYm9vbCBhbGxvd1NjcmlwdHNU
b0Nsb3NlV2luZG93cyA9IG1fZnJhbWUtPnNldHRpbmdzKCkuYWxsb3dTY3JpcHRzVG9DbG9zZVdp
bmRvd3MoKTsKIAogICAgIGlmICghKHBhZ2UtPm9wZW5lZEJ5RE9NKCkgfHwgcGFnZS0+YmFja0Zv
cndhcmQoKS5jb3VudCgpIDw9IDEgfHwgYWxsb3dTY3JpcHRzVG9DbG9zZVdpbmRvd3MpKSB7Ci0g
ICAgICAgIHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5n
TWVzc2FnZUxldmVsLCBBU0NJSUxpdGVyYWwoIkNhbid0IGNsb3NlIHRoZSB3aW5kb3cgc2luY2Ug
aXQgd2FzIG5vdCBvcGVuZWQgYnkgSmF2YVNjcmlwdCIpKTsKKyAgICAgICAgcGFnZUNvbnNvbGUo
KS0+YWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBB
U0NJSUxpdGVyYWwoIkNhbid0IGNsb3NlIHRoZSB3aW5kb3cgc2luY2UgaXQgd2FzIG5vdCBvcGVu
ZWQgYnkgSmF2YVNjcmlwdCIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTkzNiw3
ICsxOTM5LDcgQEAgdm9pZCBET01XaW5kb3c6OnByaW50RXJyb3JNZXNzYWdlKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSkKICAgICBpZiAobWVzc2FnZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgcGFnZUNvbnNvbGUoKS0+YWRkTWVzc2FnZShNZXNz
YWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSk7CiB9CiAKIFN0cmlu
ZyBET01XaW5kb3c6OmNyb3NzRG9tYWluQWNjZXNzRXJyb3JNZXNzYWdlKGNvbnN0IERPTVdpbmRv
dyYgYWN0aXZlV2luZG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggOTI5NzgxYS4uZWZh
MTBlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0zNCw2ICszNCwxMCBAQAogI2luY2x1
ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KIAorbmFtZXNwYWNl
IEluc3BlY3RvciB7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2s7Cit9CisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEJhclByb3A7CkBAIC02NSw3ICs2OSw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBQb3N0TWVzc2FnZVRpbWVyOwogICAgIGNsYXNzIFNjaGVkdWxl
ZEFjdGlvbjsKICAgICBjbGFzcyBTY3JlZW47Ci0gICAgY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwog
ICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTsKICAgICBjbGFzcyBTdG9yYWdlOwpAQCAtMjM5LDcgKzI0Miw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgLy8gTmVlZGVkIGZvciBPYmplY3RpdmUtQyBiaW5kaW5ncyAoc2VlIGJ1
ZyAyODc3NCkuCiAgICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IG1lc3NhZ2UsIE1lc3NhZ2VQb3J0KiwgY29uc3QgU3RyaW5nJiB0YXJnZXRP
cmlnaW4sIERPTVdpbmRvdyYgc291cmNlLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgIHZvaWQg
cG9zdE1lc3NhZ2VUaW1lckZpcmVkKFBhc3NPd25QdHI8UG9zdE1lc3NhZ2VUaW1lcj4pOwotICAg
ICAgICB2b2lkIGRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKFNlY3VyaXR5T3Jp
Z2luKiBpbnRlbmRlZFRhcmdldE9yaWdpbiwgUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgICAgIHZvaWQgZGlzcGF0Y2hNZXNzYWdlRXZlbnRXaXRo
T3JpZ2luQ2hlY2soU2VjdXJpdHlPcmlnaW4qIGludGVuZGVkVGFyZ2V0T3JpZ2luLCBQYXNzUmVm
UHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4pOwogCiAg
ICAgICAgIHZvaWQgc2Nyb2xsQnkoaW50IHgsIGludCB5KSBjb25zdDsKICAgICAgICAgdm9pZCBz
Y3JvbGxUbyhpbnQgeCwgaW50IHkpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNw
cAppbmRleCA0Y2NmYmUzLi5lMWQ5NTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNw
cApAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCi0jaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgpAQCAtMjI4LDcgKzIyNyw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVS
ZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwCiAgICAg
ICAgICAgICBtZXNzYWdlLmFwcGVuZChjaGFyc2V0KTsKICAgICAgICAgICAgIG1lc3NhZ2UuYXBw
ZW5kTGl0ZXJhbCgiXCIpIHRoYXQgaXMgbm90IFVURi04LiBBYm9ydGluZyB0aGUgY29ubmVjdGlv
bi4iKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlzc2luZyB0aGUgc291cmNlIGxp
bmUuCi0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UudG9TdHJpbmco
KSk7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLnRvU3Ry
aW5nKCkpOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gVG8ga2VlcCB0aGUg
c2lnbmFsLXRvLW5vaXNlIHJhdGlvIGxvdywgd2Ugb25seSBsb2cgMjAwLXJlc3BvbnNlIHdpdGgg
YW4gaW52YWxpZCBNSU1FIHR5cGUuCkBAIC0yMzgsNyArMjM3LDcgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3AKICAgICAgICAgICAgIG1lc3NhZ2UuYXBwZW5kKHJlc3BvbnNlLm1pbWVUeXBlKCkp
OwogICAgICAgICAgICAgbWVzc2FnZS5hcHBlbmRMaXRlcmFsKCJcIikgdGhhdCBpcyBub3QgXCJ0
ZXh0L2V2ZW50LXN0cmVhbVwiLiBBYm9ydGluZyB0aGUgY29ubmVjdGlvbi4iKTsKICAgICAgICAg
ICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlzc2luZyB0aGUgc291cmNlIGxpbmUuCi0gICAgICAgICAg
ICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UudG9TdHJpbmcoKSk7CisgICAgICAgICAg
ICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLnRvU3RyaW5nKCkpOwogICAgICAg
ICB9CiAgICAgfQogCkBAIC0yOTAsNyArMjg5LDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlkRmFp
bChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIHZvaWQgRXZlbnRTb3VyY2U6OmRpZEZhaWxB
Y2Nlc3NDb250cm9sQ2hlY2soY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7CiAgICAgU3Ry
aW5nIG1lc3NhZ2UgPSBtYWtlU3RyaW5nKCJFdmVudFNvdXJjZSBjYW5ub3QgbG9hZCAiLCBlcnJv
ci5mYWlsaW5nVVJMKCksICIuICIsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkpOwotICAg
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVs
OjpFcnJvciwgbWVzc2FnZSk7CiAKICAgICBhYm9ydENvbm5lY3Rpb25BdHRlbXB0KCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCmluZGV4IDI5MTRjYmIuLjQ0MGY3OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCkBAIC0zMSwyNCArMzEsMjUgQEAKIAogI2luY2x1
ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgotI2luY2x1ZGUgIkNvbnNv
bGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlSW5z
dHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRl
ICJTY3JpcHRBcmd1bWVudHMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKLSNpbmNs
dWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3Vt
ZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9T
Y3JpcHRWYWx1ZS5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KKyNpbmNs
dWRlIDxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1Nj
cmlwdENhbGxTdGFjay5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0
b3J5Lmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBJbnNw
ZWN0b3I7CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIHsKQEAgLTgwLDM0ICs4
MSwzNCBAQCB2b2lkIFBhZ2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZp
eChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZQogewogICAgIGNvbnN0IGNoYXIqIHNvdXJj
ZVN0cmluZzsKICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJj
ZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlhNTDoKICAgICAgICAgc291cmNlU3RyaW5nID0g
IlhNTCI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSlNNZXNzYWdlU291cmNlOgorICAgIGNh
c2UgTWVzc2FnZVNvdXJjZTo6SlM6CiAgICAgICAgIHNvdXJjZVN0cmluZyA9ICJKUyI7CiAgICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTmV0d29ya01lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNz
YWdlU291cmNlOjpOZXR3b3JrOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAiTkVUV09SSyI7CiAg
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2U6CisgICAgY2Fz
ZSBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAiQ09O
U09MRSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3RvcmFnZU1lc3NhZ2VTb3VyY2U6Cisg
ICAgY2FzZSBNZXNzYWdlU291cmNlOjpTdG9yYWdlOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAi
U1RPUkFHRSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQXBwQ2FjaGVNZXNzYWdlU291cmNl
OgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGU6CiAgICAgICAgIHNvdXJjZVN0cmlu
ZyA9ICJBUFBDQUNIRSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUmVuZGVyaW5nTWVzc2Fn
ZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlJlbmRlcmluZzoKICAgICAgICAgc291
cmNlU3RyaW5nID0gIlJFTkRFUklORyI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ1NTTWVz
c2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkNTUzoKICAgICAgICAgc291cmNl
U3RyaW5nID0gIkNTUyI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgU2VjdXJpdHlNZXNzYWdl
U291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHk6CiAgICAgICAgIHNvdXJj
ZVN0cmluZyA9ICJTRUNVUklUWSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgT3RoZXJNZXNz
YWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6T3RoZXI6CiAgICAgICAgIHNvdXJj
ZVN0cmluZyA9ICJPVEhFUiI7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC0xMTgs
MTYgKzExOSwxNiBAQCB2b2lkIFBhZ2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZl
bFByZWZpeChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZQogCiAgICAgY29uc3QgY2hhciog
bGV2ZWxTdHJpbmc7CiAgICAgc3dpdGNoIChsZXZlbCkgewotICAgIGNhc2UgRGVidWdNZXNzYWdl
TGV2ZWw6CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkRlYnVnOgogICAgICAgICBsZXZlbFN0cmlu
ZyA9ICJERUJVRyI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgTG9nTWVzc2FnZUxldmVsOgor
ICAgIGNhc2UgTWVzc2FnZUxldmVsOjpMb2c6CiAgICAgICAgIGxldmVsU3RyaW5nID0gIkxPRyI7
CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgV2FybmluZ01lc3NhZ2VMZXZlbDoKKyAgICBjYXNl
IE1lc3NhZ2VMZXZlbDo6V2FybmluZzoKICAgICAgICAgbGV2ZWxTdHJpbmcgPSAiV0FSTiI7CiAg
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgRXJyb3JNZXNzYWdlTGV2ZWw6CisgICAgY2FzZSBNZXNz
YWdlTGV2ZWw6OkVycm9yOgogICAgICAgICBsZXZlbFN0cmluZyA9ICJFUlJPUiI7CiAgICAgICAg
IGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC0xNDcsNiArMTQ4LDcgQEAgdm9pZCBQYWdlQ29uc29s
ZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBj
b25zdCBTdHIKICAgICBTdHJpbmcgdXJsOwogICAgIGlmIChkb2N1bWVudCkKICAgICAgICAgdXJs
ID0gZG9jdW1lbnQtPnVybCgpLnN0cmluZygpOworCiAgICAgLy8gRklYTUU6IFRoZSBiZWxvdyBj
b2RlIGF0dGVtcHRzIHRvIGRldGVybWluZSBsaW5lIG51bWJlcnMgZm9yIHBhcnNlciBnZW5lcmF0
ZWQgZXJyb3JzLCBidXQgdGhpcyBpcyBub3QgdGhlIG9ubHkgcmVhc29uIHdoeSB3ZSBjYW4gZ2V0
IGhlcmUuCiAgICAgLy8gRm9yIGV4YW1wbGUsIGlmIHdlIGFyZSBzdGlsbCBwYXJzaW5nIGFuZCBn
ZXQgYSBXZWJTb2NrZXQgbmV0d29yayBlcnJvciwgaXQgd2lsbCBiZSBlcnJvbmVvdXNseSBhdHRy
aWJ1dGVkIHRvIGEgbGluZSB3aGVyZSBwYXJzaW5nIHdhcyBwYXVzZWQuCiAgICAgLy8gQWxzbywg
d2Ugc2hvdWxkIGRldGVybWluZSBsaW5lIG51bWJlcnMgZm9yIHNjcmlwdCBnZW5lcmF0ZWQgbWVz
c2FnZXMgKGUuZy4gY2FsbGluZyBnZXRJbWFnZURhdGEgb24gYSBjYW52YXMpLgpAQCAtMTYyLDcg
KzE2NCw3IEBAIHZvaWQgUGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyCiAgICAgICAgICAgICBjb2x1bW4gPSBw
b3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpOwogICAgICAgICB9CiAgICAgfQotICAgIGFk
ZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgdXJsLCBsaW5lLCBjb2x1bW4sIDAsIDAs
IHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3Nh
Z2UsIHVybCwgbGluZSwgY29sdW1uLCAwLCBKU01haW5UaHJlYWRFeGVjU3RhdGU6OmN1cnJlbnRT
dGF0ZSgpLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAKIHZvaWQgUGFnZUNvbnNvbGU6OmFkZE1l
c3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQpAQCAt
MTcyLDE1ICsxNzQsMTUgQEAgdm9pZCBQYWdlQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291
cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHIKIAogdm9pZCBQYWdlQ29u
c29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgdXJsLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiBjYWxsU3RhY2ssIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0
SWRlbnRpZmllcikKIHsKLSAgICBpZiAobXV0ZUNvdW50ICYmIHNvdXJjZSAhPSBDb25zb2xlQVBJ
TWVzc2FnZVNvdXJjZSkKKyAgICBpZiAobXV0ZUNvdW50ICYmIHNvdXJjZSAhPSBNZXNzYWdlU291
cmNlOjpDb25zb2xlQVBJKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoY2FsbFN0YWNrKQot
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoJm1f
cGFnZSwgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywg
cmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoJm1fcGFnZSwgc291cmNlLCBNZXNzYWdlVHlwZTo6TG9nLCBsZXZl
bCwgbWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgZWxzZQotICAg
ICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoJm1fcGFn
ZSwgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZU51bWJl
ciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoJm1fcGFnZSwgc291cmNl
LCBNZXNzYWdlVHlwZTo6TG9nLCBsZXZlbCwgbWVzc2FnZSwgdXJsLCBsaW5lTnVtYmVyLCBjb2x1
bW5OdW1iZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CiAKLSAgICBpZiAoc291cmNlID09
IENTU01lc3NhZ2VTb3VyY2UpCisgICAgaWYgKHNvdXJjZSA9PSBNZXNzYWdlU291cmNlOjpDU1Mp
CiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChtX3BhZ2Uuc2V0dGluZ3MoKS5wcml2YXRlQnJv
d3NpbmdFbmFibGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25z
b2xlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmgKaW5kZXggOWE3MGU1NC4u
NWFiNzEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuaApAQCAtMjksOCArMjksOCBAQAog
I2lmbmRlZiBQYWdlQ29uc29sZV9oCiAjZGVmaW5lIFBhZ2VDb25zb2xlX2gKIAotI2luY2x1ZGUg
IkNvbnNvbGVUeXBlcy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgorI2luY2x1ZGUg
PGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogCkBAIC01MSw4ICs1MSw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBwcmlu
dFNvdXJjZVVSTEFuZFBvc2l0aW9uKGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIgPSAwKTsKICAgICBzdGF0aWMgdm9pZCBw
cmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2
ZWwsIGJvb2wgc2hvd0FzVHJhY2UgPSBmYWxzZSk7CiAKLSAgICB2b2lkIGFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1i
ZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIEpTQzo6RXhlY1N0YXRlKiA9IDAs
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKLSAgICB2b2lkIGFkZE1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VT
b3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQ
YXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIEpTQzo6RXhlY1N0YXRl
KiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFk
ZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKICAgICB2b2lkIGFk
ZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwLCBEb2N1bWVudCogPSAwKTsK
IAogICAgIHN0YXRpYyB2b2lkIG11dGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRl
ckxvY2tDb250cm9sbGVyLmNwcAppbmRleCA1ZDZmNWE1Li4yNTk2ZmZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCkBAIC01Niw3ICs1Niw3IEBA
IHZvaWQgUG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2soRWxlbWVudCog
dGFyZ2V0KQogCiAgICAgaWYgKHRhcmdldC0+ZG9jdW1lbnQoKS5pc1NhbmRib3hlZChTYW5kYm94
UG9pbnRlckxvY2spKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJl
IG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24gdG8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMuCi0gICAgICAgIHRhcmdldC0+
ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiQmxvY2tlZCBwb2ludGVyIGxvY2sgb24gYW4gZWxlbWVudCBiZWNhdXNl
IHRoZSBlbGVtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXBvaW50ZXIt
bG9jaycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAgICAgICB0YXJnZXQtPmRvY3VtZW50
KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZl
bDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQmxvY2tlZCBwb2ludGVyIGxvY2sgb24gYW4gZWxlbWVu
dCBiZWNhdXNlIHRoZSBlbGVtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93
LXBvaW50ZXItbG9jaycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpKTsKICAgICAgICAgZW5xdWV1
ZUV2ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRwb2ludGVybG9ja2Vycm9yRXZlbnQsIHRhcmdldCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Jvc3NU
aHJlYWRDb3BpZXIuaAppbmRleCAzZjgxY2EwLi5jYWYyNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmgKQEAgLTY2LDggKzY2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgdHlwZWRlZiBUIFR5cGU7CiAgICAgICAgIH07CiAKLSAg
ICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElzQ29udmVydGlibGVUb0ludGVnZXIg
ewotICAgICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBzdGQ6OmlzX2ludGVncmFs
PFQ+Ojp2YWx1ZSB8fCBzdGQ6OmlzX2NvbnZlcnRpYmxlPFQsIGxvbmcgZG91YmxlPjo6dmFsdWU7
CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc0VudW1PckNvbnZlcnRpYmxl
VG9JbnRlZ2VyIHsKKyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gc3RkOjpp
c19pbnRlZ3JhbDxUPjo6dmFsdWUgfHwgc3RkOjppc19lbnVtPFQ+Ojp2YWx1ZSB8fCBzdGQ6Omlz
X2NvbnZlcnRpYmxlPFQsIGxvbmcgZG91YmxlPjo6dmFsdWU7CiAgICAgICAgIH07CiAKICAgICAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElzVGhyZWFkU2FmZVJlZkNvdW50ZWRQb2lu
dGVyIHsKQEAgLTgzLDcgKzgzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB9CiAg
ICAgfTsKIAotICAgIHRlbXBsYXRlPGJvb2wgaXNDb252ZXJ0aWJsZVRvSW50ZWdlciwgYm9vbCBp
c1RocmVhZFNhZmVSZWZDb3VudGVkLCB0eXBlbmFtZSBUPiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3Bp
ZXJCYXNlOworICAgIHRlbXBsYXRlPGJvb2wgaXNFbnVtT3JDb252ZXJ0aWJsZVRvSW50ZWdlciwg
Ym9vbCBpc1RocmVhZFNhZmVSZWZDb3VudGVkLCB0eXBlbmFtZSBUPiBzdHJ1Y3QgQ3Jvc3NUaHJl
YWRDb3BpZXJCYXNlOwogCiAgICAgLy8gSW50ZWdlcnMgZ2V0IHBhc3NlZCB0aHJvdWdoIHdpdGhv
dXQgYW55IGNoYW5nZXMuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IENyb3NzVGhy
ZWFkQ29waWVyQmFzZTx0cnVlLCBmYWxzZSwgVD4gOiBwdWJsaWMgQ3Jvc3NUaHJlYWRDb3BpZXJQ
YXNzVGhyb3VnaDxUPiB7CkBAIC0xOTksNyArMTk5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
I2VuZGlmCiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIHN0cnVjdCBDcm9zc1RocmVh
ZENvcGllciA6IHB1YmxpYyBDcm9zc1RocmVhZENvcGllckJhc2U8Q3Jvc3NUaHJlYWRDb3BpZXJC
YXNlSGVscGVyOjpJc0NvbnZlcnRpYmxlVG9JbnRlZ2VyPFQ+Ojp2YWx1ZSwgQ3Jvc3NUaHJlYWRD
b3BpZXJCYXNlSGVscGVyOjpJc1RocmVhZFNhZmVSZWZDb3VudGVkUG9pbnRlcjxUPjo6dmFsdWUs
IFQ+IHsKKyAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3BpZXIgOiBwdWJsaWMgQ3Jvc3NUaHJlYWRD
b3BpZXJCYXNlPENyb3NzVGhyZWFkQ29waWVyQmFzZUhlbHBlcjo6SXNFbnVtT3JDb252ZXJ0aWJs
ZVRvSW50ZWdlcjxUPjo6dmFsdWUsIENyb3NzVGhyZWFkQ29waWVyQmFzZUhlbHBlcjo6SXNUaHJl
YWRTYWZlUmVmQ291bnRlZFBvaW50ZXI8VD46OnZhbHVlLCBUPiB7CiAgICAgfTsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzV3JhcHBlciB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlSW5mby5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlSW5mby5jcHAKaW5kZXgg
NzhkZmY5OS4uZGZkZTI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3No
YXBlcy9TaGFwZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMv
U2hhcGVJbmZvLmNwcApAQCAtNTAsNyArNTAsNyBAQCBib29sIGNoZWNrU2hhcGVJbWFnZU9yaWdp
bihEb2N1bWVudCYgZG9jdW1lbnQsIENhY2hlZEltYWdlJiBjYWNoZWRJbWFnZSkKIAogICAgIGNv
bnN0IFVSTCYgdXJsID0gY2FjaGVkSW1hZ2UudXJsKCk7CiAgICAgU3RyaW5nIHVybFN0cmluZyA9
IHVybC5pc051bGwoKSA/ICInJyIgOiB1cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3Ro
KCk7Ci0gICAgZG9jdW1lbnQuYWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMICIgKyB1cmxT
dHJpbmcgKyAiLiIpOworICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiVW5zYWZlIGF0dGVtcHQgdG8gbG9h
ZCBVUkwgIiArIHVybFN0cmluZyArICIuIik7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCmluZGV4IGQ4ZmJkOTku
LmMxYmI4M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVu
c2lvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMu
Y3BwCkBAIC0xMzEsMTcgKzEzMSwxNyBAQCB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6ZGlz
cGF0Y2hTVkdMb2FkRXZlbnRUb091dGVybW9zdFNWR0VsZW1lbnRzKCkKIHN0YXRpYyB2b2lkIHJl
cG9ydE1lc3NhZ2UoRG9jdW1lbnQqIGRvY3VtZW50LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBpZiAoZG9jdW1lbnQtPmZyYW1lKCkpCi0gICAgICAg
IGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBsZXZl
bCwgbWVzc2FnZSk7CisgICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpSZW5kZXJpbmcsIGxldmVsLCBtZXNzYWdlKTsKIH0KIAogdm9pZCBTVkdEb2N1bWVu
dEV4dGVuc2lvbnM6OnJlcG9ydFdhcm5pbmcoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAg
IHJlcG9ydE1lc3NhZ2UobV9kb2N1bWVudCwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIldhcm5pbmc6
ICIgKyBtZXNzYWdlKTsKKyAgICByZXBvcnRNZXNzYWdlKG1fZG9jdW1lbnQsIE1lc3NhZ2VMZXZl
bDo6V2FybmluZywgIldhcm5pbmc6ICIgKyBtZXNzYWdlKTsKIH0KIAogdm9pZCBTVkdEb2N1bWVu
dEV4dGVuc2lvbnM6OnJlcG9ydEVycm9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBy
ZXBvcnRNZXNzYWdlKG1fZG9jdW1lbnQsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3I6ICIgKyBt
ZXNzYWdlKTsKKyAgICByZXBvcnRNZXNzYWdlKG1fZG9jdW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJy
b3IsICJFcnJvcjogIiArIG1lc3NhZ2UpOwogfQogCiB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9u
czo6YWRkUGVuZGluZ1Jlc291cmNlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIEVsZW1lbnQqIGVs
ZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggYjFjYjUxNy4uYWM2
YzE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTcsNyArNTcsNiBA
QAogI2luY2x1ZGUgIkhpc3RvcnlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSGlzdG9yeUl0ZW0u
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25z
b2xlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yQ291bnRlcnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGb3J3YXJkaW5nLmgiCkBA
IC02NSw4ICs2NCw4IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2Vu
dHMuaCIKLSNpbmNsdWRlICJJbnRlcm5hbFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5o
IgorI2luY2x1ZGUgIkludGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJMYW5ndWFnZS5oIgog
I2luY2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIk1hbGxvY1N0YXRpc3RpY3MuaCIKQEAg
LTk1LDYgKzk0LDcgQEAKICNpbmNsdWRlICJUcmVlU2NvcGUuaCIKICNpbmNsdWRlICJUeXBlQ29u
dmVyc2lvbnMuaCIKICNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgorI2luY2x1ZGUgIldl
YkNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPGJ5
dGVjb2RlL0NvZGVCbG9jay5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJh
c2UuaD4KQEAgLTE0MjcsOSArMTQyNywxMSBAQCBWZWN0b3I8U3RyaW5nPiBJbnRlcm5hbHM6OmNv
bnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMoKSBjb25zdAogICAgIEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKGRvY3VtZW50
LT5wYWdlKCkpOwogICAgIGlmICghaW5zdHJ1bWVudGluZ0FnZW50cykKICAgICAgICAgcmV0dXJu
IFZlY3RvcjxTdHJpbmc+KCk7Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdl
bnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKTsKKworICAg
IEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+d2ViQ29uc29sZUFnZW50KCk7CiAgICAgaWYgKCFjb25zb2xlQWdlbnQpCiAgICAgICAgIHJl
dHVybiBWZWN0b3I8U3RyaW5nPigpOworCiAgICAgVmVjdG9yPHVuc2lnbmVkPiBjb3VudHMgPSBj
b25zb2xlQWdlbnQtPmNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMoKTsKICAgICBWZWN0b3I8
U3RyaW5nPiByZXN1bHQoY291bnRzLnNpemUoKSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBjb3VudHMuc2l6ZSgpOyBpKyspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCmluZGV4IGE2NGE0YzkuLmQzYTM2
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuY3BwCkBAIC00NCw3ICs0NCw2IEBACiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmF0ZWdpZXMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luSGFzaC5oIgogI2luY2x1ZGUg
IlNoYXJlZFdvcmtlci5oIgpAQCAtNTYsNiArNTUsNyBAQAogI2luY2x1ZGUgIldvcmtlclJlcG9y
dGluZ1Byb3h5LmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSAi
V29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5oPgogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCAxMzhiZmFjLi4yM2YyZmE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNw
cApAQCAtMzgsOSArMzgsOSBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJN
ZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgIlNj
cmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAi
U2hhcmVkV29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTgwLDEwICs4MCwxMCBAQCBTaGFyZWRX
b3JrZXJUaHJlYWQqIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjp0aHJlYWQoKQogICAgIHJldHVy
biBzdGF0aWNfY2FzdDxTaGFyZWRXb3JrZXJUaHJlYWQqPihCYXNlOjp0aHJlYWQoKSk7CiB9CiAK
LXZvaWQgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrKQordm9pZCBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6bG9nRXhjZXB0aW9uVG9Db25z
b2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
aW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpT
Y3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKICAgICBXb3JrZXJHbG9iYWxTY29wZTo6bG9n
RXhjZXB0aW9uVG9Db25zb2xlKGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBj
b2x1bW5OdW1iZXIsIGNhbGxTdGFjayk7Ci0gICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVS
TCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBjYWxsU3RhY2spOworICAgIGFkZE1lc3NhZ2VU
b1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGVy
cm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNhbGxTdGFj
ayk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCBjZTY4NzAyLi5jMTQ3MTdiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5o
CkBAIC02MCw3ICs2MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHByaXZhdGU6CiAg
ICAgICAgIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
VVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRp
bmdzPiwgU2hhcmVkV29ya2VyVGhyZWFkKik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNl
cHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYg
c291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+KSBvdmVycmlkZTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2Vw
dGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPElu
c3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPikgb3ZlcnJpZGU7CiAKICAgICAgICAgU3RyaW5nIG1f
bmFtZTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmNwcAppbmRleCAyODg5MjM2Li5hYjE5OThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtMjEsMTIgKzIxLDExIEBACiAgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogICoKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KICNpbmNsdWRlICJXb3JrZXJHbG9i
YWxTY29wZS5oIgogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCkBAIC0zOSwxMyArMzgs
MTIgQEAKICNpbmNsdWRlICJFdmVudEV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5j
bHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgogI2luY2x1ZGUgIlNjaGVkdWxlZEFjdGlvbi5oIgotI2luY2x1ZGUgIlNjcmlw
dENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIldvcmtlckluc3Bl
Y3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXb3JrZXJMb2NhdGlvbi5oIgogI2luY2x1ZGUg
Ildvcmtlck5hdmlnYXRvci5oIgpAQCAtNTUsMTIgKzUzLDE1IEBACiAjaW5jbHVkZSAiV29ya2Vy
VGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgi
CiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiAjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRl
ICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNlbmRpZgogCit1c2luZyBuYW1lc3BhY2UgSW5zcGVj
dG9yOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENsb3NlV29ya2VyR2xvYmFsU2Nv
cGVUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewpAQCAtMjc1LDkg
KzI3Niw5IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNv
bGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMCiB7CiAgICAgQVNTRVJUKGlzQ29udGV4
dFRocmVhZCgpKTsKICAgICBpZiAoY2FsbFN0YWNrKQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291
cmNlLCBNZXNzYWdlVHlwZTo6TG9nLCBsZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0
SWRlbnRpZmllcik7CiAgICAgZWxzZQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVx
dWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1l
c3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNlLCBNZXNzYWdlVHlwZTo6TG9nLCBsZXZlbCwgbWVz
c2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHN0YXRlLCByZXF1ZXN0
SWRlbnRpZmllcik7CiB9CiAKIGJvb2wgV29ya2VyR2xvYmFsU2NvcGU6OmlzQ29udGV4dFRocmVh
ZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5k
ZXggNTgxOTk2NS4uZTRlMWI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuaApAQCAtMTM5LDggKzEzOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdzPiwgV29ya2VyVGhyZWFkKiwgUGFzc1JlZlB0
cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKTsKICAgICAgICAgdm9pZCBhcHBseUNvbnRlbnRT
ZWN1cml0eVBvbGljeUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSk7CiAKLSAgICAgICAgdmlydHVh
bCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVy
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pIG92ZXJyaWRlOwotICAgICAgICB2b2lkIGFk
ZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiwgSlNDOjpFeGVjU3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDApOworICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1i
ZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3Rh
Y2s+KSBvdmVycmlkZTsKKyAgICAgICAgdm9pZCBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBT
dHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVt
YmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgSlNDOjpFeGVjU3Rh
dGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogCiAgICAgcHJp
dmF0ZToKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBv
dmVycmlkZSB7IHJlZigpOyB9CkBAIC0xNDksNyArMTQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7
IHJlZigpOyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJp
ZGUgZmluYWwgeyBkZXJlZigpOyB9CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5O
dW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgSlNDOjpFeGVjU3RhdGUqID0gMCwg
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApIG92ZXJyaWRlOworICAgICAgICB2
aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlw
dENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIgPSAwKSBvdmVycmlkZTsKIAogICAgICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBl
cnJvckV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggMzI0Y2Q4OS4uNTc1ZmYyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTI2
LDE0ICsyNiwxMyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQogI2luY2x1ZGUgIldv
cmtlck1lc3NhZ2luZ1Byb3h5LmgiCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3ku
aCIKICNpbmNsdWRlICJDcm9zc1RocmVhZFRhc2suaCIKKyNpbmNsdWRlICJET01XaW5kb3cuaCIK
ICNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkRlZGlj
YXRlZFdvcmtlclRocmVhZC5oIgotI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRXJyb3JFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCkBA
IC00MywxMiArNDIsMTMgQEAKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgotI2luY2x1ZGUgIlNjcmlw
dENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNs
dWRlICJXb3JrZXIuaCIKICNpbmNsdWRlICJXb3JrZXJEZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVk
ZSAiV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25z
b2xlVHlwZXMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmg+Cisj
aW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9NYWlu
VGhyZWFkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaAppbmRleCA2MWE2NjExLi4wMDNkMGUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oCkBAIC0zMSw3ICsz
MSw3IEBACiAjaWZuZGVmIFdvcmtlclJlcG9ydGluZ1Byb3h5X2gKICNkZWZpbmUgV29ya2VyUmVw
b3J0aW5nUHJveHlfaAogCi0jaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCisjaW5jbHVkZSA8aW5z
cGVjdG9yL0NvbnNvbGVUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDEx
ZWQ2MWQuLjA0NDg0OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAt
NDMsNyArNDMsNiBAQAogI2luY2x1ZGUgIlBhcnNlZENvbnRlbnRUeXBlLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgotI2luY2x1ZGUg
IlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTE2MCw3ICsx
NTksNyBAQCBzdGF0aWMgdm9pZCBsb2dDb25zb2xlRXJyb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBtZXNzYQogICAgICAgICByZXR1cm47CiAgICAgLy8g
RklYTUU6IEl0J3Mgbm90IGdvb2QgdG8gcmVwb3J0IHRoZSBiYWQgdXNhZ2Ugd2l0aG91dCBpbmRp
Y2F0aW5nIHdoYXQgc291cmNlIGxpbmUgaXQgY2FtZSBmcm9tLgogICAgIC8vIFdlIHNob3VsZCBw
YXNzIGFkZGl0aW9uYWwgcGFyYW1ldGVycyBzbyB3ZSBjYW4gdGVsbCB0aGUgY29uc29sZSB3aGVy
ZSB0aGUgbWlzdGFrZSBvY2N1cnJlZC4KLSAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBjb250ZXh0
LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJv
ciwgbWVzc2FnZSk7CiB9CiAKIFBhc3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IFhNTEh0dHBSZXF1
ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKQEAgLTcwOSw3ICs3
MDgsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKERPTUZvcm1EYXRhKiBib2R5LCBFeGNl
cHRpb25Db2RlJiBlYykKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNlbmQoQXJyYXlCdWZmZXIqIGJv
ZHksIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFN0cmluZyBjb25zb2xlTWVzc2FnZSgiQXJy
YXlCdWZmZXIgaXMgZGVwcmVjYXRlZCBpbiBYTUxIdHRwUmVxdWVzdC5zZW5kKCkuIFVzZSBBcnJh
eUJ1ZmZlclZpZXcgaW5zdGVhZC4iKTsKLSAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgY29u
c29sZU1lc3NhZ2UpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgY29uc29sZU1l
c3NhZ2UpOwogCiAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldl
YkNvcmUuWEhSLnNlbmQuQXJyYXlCdWZmZXJPclZpZXciLCBYTUxIdHRwUmVxdWVzdFNlbmRBcnJh
eUJ1ZmZlciwgWE1MSHR0cFJlcXVlc3RTZW5kQXJyYXlCdWZmZXJPclZpZXdNYXgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwIGIvU291
cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcAppbmRleCA4MDkzMTE4Li4x
YzBkN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhz
bHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAK
QEAgLTg2LDIwICs4NiwyMCBAQCB2b2lkIFhTTFRQcm9jZXNzb3I6OnBhcnNlRXJyb3JGdW5jKHZv
aWQqIHVzZXJEYXRhLCB4bWxFcnJvciogZXJyb3IpCiAgICAgTWVzc2FnZUxldmVsIGxldmVsOwog
ICAgIHN3aXRjaCAoZXJyb3ItPmxldmVsKSB7CiAgICAgY2FzZSBYTUxfRVJSX05PTkU6Ci0gICAg
ICAgIGxldmVsID0gRGVidWdNZXNzYWdlTGV2ZWw7CisgICAgICAgIGxldmVsID0gTWVzc2FnZUxl
dmVsOjpEZWJ1ZzsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBYTUxfRVJSX1dBUk5JTkc6Ci0g
ICAgICAgIGxldmVsID0gV2FybmluZ01lc3NhZ2VMZXZlbDsKKyAgICAgICAgbGV2ZWwgPSBNZXNz
YWdlTGV2ZWw6Oldhcm5pbmc7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgWE1MX0VSUl9FUlJP
UjoKICAgICBjYXNlIFhNTF9FUlJfRkFUQUw6CiAgICAgZGVmYXVsdDoKLSAgICAgICAgbGV2ZWwg
PSBFcnJvck1lc3NhZ2VMZXZlbDsKKyAgICAgICAgbGV2ZWwgPSBNZXNzYWdlTGV2ZWw6OkVycm9y
OwogICAgICAgICBicmVhazsKICAgICB9CiAKICAgICAvLyB4bWxFcnJvci0+aW50MiBpcyB0aGUg
Y29sdW1uIG51bWJlciBvZiB0aGUgZXJyb3Igb3IgMCBpZiBOL0EuCi0gICAgY29uc29sZS0+YWRk
TWVzc2FnZShYTUxNZXNzYWdlU291cmNlLCBsZXZlbCwgZXJyb3ItPm1lc3NhZ2UsIGVycm9yLT5m
aWxlLCBlcnJvci0+bGluZSwgZXJyb3ItPmludDIpOworICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6WE1MLCBsZXZlbCwgZXJyb3ItPm1lc3NhZ2UsIGVycm9yLT5maWxlLCBl
cnJvci0+bGluZSwgZXJyb3ItPmludDIpOwogfQogCiAvLyBGSVhNRTogVGhlcmUgc2VlbXMgdG8g
YmUgbm8gd2F5IHRvIGNvbnRyb2wgdGhlIGN0eHQgcG9pbnRlciBmb3IgbG9hZGluZyBoZXJlLCB0
aHVzIHdlIGhhdmUgZ2xvYmFscy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGIyYjMzMzMu
LjJmNzU1OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0
LTAyLTAzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL0luc3BlY3RvckpTQmFja2VuZENvbW1hbmRzLmpzOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzOgorICAgICAgICBDb25zb2xl
QWdlbnQgbW92ZWQgdG8gSmF2YVNjcmlwdCBzZWN0aW9uLgorCiAyMDE0LTAyLTA1ICBCcmlhbiBC
dXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBwcm9i
ZSBtYW5hZ2VyIGFuZCBtb2RlbCBvYmplY3RzIHRvIHRoZSBmcm9udGVuZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9ySlNCYWNrZW5kQ29t
bWFuZHMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JK
U0JhY2tlbmRDb21tYW5kcy5qcwppbmRleCA5NDdlODFlLi5jYmYyNDdiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JKU0JhY2tlbmRDb21t
YW5kcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0
b3JKU0JhY2tlbmRDb21tYW5kcy5qcwpAQCAtNiw2ICs2LDIxIEBACiAvLyBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgogCiAKKy8vIENvbnNvbGUuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
Q29uc29sZURpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0
Y2hlci5iaW5kKEluc3BlY3RvckJhY2tlbmQsICJDb25zb2xlIik7CitJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyRW51bSgiQ29uc29sZS5Db25zb2xlTWVzc2FnZVNvdXJjZSIsIHtYTUw6ICJ4bWwi
LCBKYXZhc2NyaXB0OiAiamF2YXNjcmlwdCIsIE5ldHdvcms6ICJuZXR3b3JrIiwgQ29uc29sZUFQ
STogImNvbnNvbGUtYXBpIiwgU3RvcmFnZTogInN0b3JhZ2UiLCBBcHBjYWNoZTogImFwcGNhY2hl
IiwgUmVuZGVyaW5nOiAicmVuZGVyaW5nIiwgQ1NTOiAiY3NzIiwgU2VjdXJpdHk6ICJzZWN1cml0
eSIsIE90aGVyOiAib3RoZXIifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiQ29u
c29sZS5Db25zb2xlTWVzc2FnZUxldmVsIiwge0xvZzogImxvZyIsIFdhcm5pbmc6ICJ3YXJuaW5n
IiwgRXJyb3I6ICJlcnJvciIsIERlYnVnOiAiZGVidWcifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyRW51bSgiQ29uc29sZS5Db25zb2xlTWVzc2FnZVR5cGUiLCB7TG9nOiAibG9nIiwgRGly
OiAiZGlyIiwgRGlyWE1MOiAiZGlyeG1sIiwgVGFibGU6ICJ0YWJsZSIsIFRyYWNlOiAidHJhY2Ui
LCBDbGVhcjogImNsZWFyIiwgU3RhcnRHcm91cDogInN0YXJ0R3JvdXAiLCBTdGFydEdyb3VwQ29s
bGFwc2VkOiAic3RhcnRHcm91cENvbGxhcHNlZCIsIEVuZEdyb3VwOiAiZW5kR3JvdXAiLCBBc3Nl
cnQ6ICJhc3NlcnQiLCBUaW1pbmc6ICJ0aW1pbmciLCBQcm9maWxlOiAicHJvZmlsZSIsIFByb2Zp
bGVFbmQ6ICJwcm9maWxlRW5kIn0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJD
b25zb2xlLm1lc3NhZ2VBZGRlZCIsIFsibWVzc2FnZSJdKTsKK0luc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJFdmVudCgiQ29uc29sZS5tZXNzYWdlUmVwZWF0Q291bnRVcGRhdGVkIiwgWyJjb3VudCJd
KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiQ29uc29sZS5tZXNzYWdlc0NsZWFy
ZWQiLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5lbmFi
bGUiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUu
ZGlzYWJsZSIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29u
c29sZS5jbGVhck1lc3NhZ2VzIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJD
b21tYW5kKCJDb25zb2xlLnNldE1vbml0b3JpbmdYSFJFbmFibGVkIiwgW3sibmFtZSI6ICJlbmFi
bGVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKK0luc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmFkZEluc3BlY3RlZE5vZGUiLCBb
eyJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfV0s
IFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmFkZEluc3Bl
Y3RlZEhlYXBPYmplY3QiLCBbeyJuYW1lIjogImhlYXBPYmplY3RJZCIsICJ0eXBlIjogIm51bWJl
ciIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKKwogLy8gRGVidWdnZXIuCiBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiRGVidWdnZXIiKTsK
IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJEZWJ1Z2dlci5CcmVha3BvaW50QWN0aW9u
VHlwZSIsIHtMb2c6ICJsb2ciLCBFdmFsdWF0ZTogImV2YWx1YXRlIiwgU291bmQ6ICJzb3VuZCIs
IFByb2JlOiAicHJvYmUifSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMKaW5k
ZXggMWIzYTMxNS4uODY0MTY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5q
cwpAQCAtNjMsMjEgKzYzLDYgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNh
bnZhcy5yZXBsYXlUcmFjZUxvZyIsIFt7Im5hbWUiOiAidHJhY2VMb2dJZCIKIEluc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDYW52YXMuZ2V0UmVzb3VyY2VJbmZvIiwgW3sibmFtZSI6
ICJyZXNvdXJjZUlkIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgWyJy
ZXNvdXJjZUluZm8iXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ2FudmFz
LmdldFJlc291cmNlU3RhdGUiLCBbeyJuYW1lIjogInRyYWNlTG9nSWQiLCAidHlwZSI6ICJzdHJp
bmciLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJyZXNvdXJjZUlkIiwgInR5cGUiOiAi
c3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgWyJyZXNvdXJjZVN0YXRlIl0pOwogCi0vLyBD
b25zb2xlLgotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbnNvbGVEaXNwYXRjaGVyID0gSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNr
ZW5kLCAiQ29uc29sZSIpOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNvbnNvbGUu
Q29uc29sZU1lc3NhZ2VTb3VyY2UiLCB7WE1MOiAieG1sIiwgSmF2YXNjcmlwdDogImphdmFzY3Jp
cHQiLCBOZXR3b3JrOiAibmV0d29yayIsIENvbnNvbGVBUEk6ICJjb25zb2xlLWFwaSIsIFN0b3Jh
Z2U6ICJzdG9yYWdlIiwgQXBwY2FjaGU6ICJhcHBjYWNoZSIsIFJlbmRlcmluZzogInJlbmRlcmlu
ZyIsIENTUzogImNzcyIsIFNlY3VyaXR5OiAic2VjdXJpdHkiLCBPdGhlcjogIm90aGVyIn0pOwot
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29sZU1lc3NhZ2VMZXZl
bCIsIHtMb2c6ICJsb2ciLCBXYXJuaW5nOiAid2FybmluZyIsIEVycm9yOiAiZXJyb3IiLCBEZWJ1
ZzogImRlYnVnIn0pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29u
c29sZU1lc3NhZ2VUeXBlIiwge0xvZzogImxvZyIsIERpcjogImRpciIsIERpclhNTDogImRpcnht
bCIsIFRhYmxlOiAidGFibGUiLCBUcmFjZTogInRyYWNlIiwgQ2xlYXI6ICJjbGVhciIsIFN0YXJ0
R3JvdXA6ICJzdGFydEdyb3VwIiwgU3RhcnRHcm91cENvbGxhcHNlZDogInN0YXJ0R3JvdXBDb2xs
YXBzZWQiLCBFbmRHcm91cDogImVuZEdyb3VwIiwgQXNzZXJ0OiAiYXNzZXJ0IiwgVGltaW5nOiAi
dGltaW5nIiwgUHJvZmlsZTogInByb2ZpbGUiLCBQcm9maWxlRW5kOiAicHJvZmlsZUVuZCJ9KTsK
LUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiQ29uc29sZS5tZXNzYWdlQWRkZWQiLCBb
Im1lc3NhZ2UiXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNvbnNvbGUubWVz
c2FnZVJlcGVhdENvdW50VXBkYXRlZCIsIFsiY291bnQiXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZXNDbGVhcmVkIiwgW10pOwotSW5zcGVjdG9yQmFj
a2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuZW5hYmxlIiwgW10sIFtdKTsKLUluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmRpc2FibGUiLCBbXSwgW10pOwotSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuY2xlYXJNZXNzYWdlcyIsIFtd
LCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5zZXRNb25p
dG9yaW5nWEhSRW5hYmxlZCIsIFt7Im5hbWUiOiAiZW5hYmxlZCIsICJ0eXBlIjogImJvb2xlYW4i
LCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29t
bWFuZCgiQ29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIiwgW3sibmFtZSI6ICJub2RlSWQiLCAidHlw
ZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5hZGRJbnNwZWN0ZWRIZWFwT2JqZWN0IiwgW3sibmFt
ZSI6ICJoZWFwT2JqZWN0SWQiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1d
LCBbXSk7Ci0KIC8vIERPTS4KIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJET01EaXNwYXRjaGVy
ID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0
b3JCYWNrZW5kLCAiRE9NIik7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkRPTS5k
b2N1bWVudFVwZGF0ZWQiLCBbXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggODhkMTBmMy4uNjcxYzA0
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE0LTAyLTAzICBKb3NlcGgg
UGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
QWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUpOgorCiAyMDE0LTAyLTA1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRShTVkcpIGd1YXJkcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBi
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKaW5k
ZXggZjYxZjlkYS4uYWVlMWI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC0zNjIsNyArMzYyLDcgQEAgYm9vbCBD
aHJvbWVDbGllbnQ6OnJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmlu
ZyYgbWVzc2FnZSwgV2ViQ28KICAgICByZXR1cm4gcnVuSmF2YVNjcmlwdENvbmZpcm0oZnJhbWUs
IG1lc3NhZ2UpOwogfQogCi12b2lkIENocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShX
ZWJDb3JlOjpNZXNzYWdlU291cmNlIHNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGxldmVs
LCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWdu
ZWQgY29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSWQpCit2b2lkIENocm9t
ZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShJbnNwZWN0b3I6Ok1lc3NhZ2VTb3VyY2Ugc291
cmNlLCBJbnNwZWN0b3I6Ok1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1l
c3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3Qg
V1RGOjpTdHJpbmcmIHNvdXJjZUlkKQogewogICAgIGdib29sZWFuIHJldHZhbDsKICAgICBnX3Np
Z25hbF9lbWl0X2J5X25hbWUobV93ZWJWaWV3LCAiY29uc29sZS1tZXNzYWdlIiwgbWVzc2FnZS51
dGY4KCkuZGF0YSgpLCBsaW5lTnVtYmVyLCBzb3VyY2VJZC51dGY4KCkuZGF0YSgpLCAmcmV0dmFs
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCBmNTU2NjY1Li5jMWJmNGYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJv
QGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0
IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKHN0cmlu
Z0Zvck1lc3NhZ2VTb3VyY2UpOgorICAgICAgICAoc3RyaW5nRm9yTWVzc2FnZUxldmVsKToKKyAg
ICAgICAgKFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisKIDIwMTQtMDIt
MDUgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAg
IENoYW5nZSBQYWdlLCBGb2N1c0NvbnRyb2xsZXIgdG8gdXNlIFZpZXdTdGF0ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAz
M2E3NDA0Li4yODZlZjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNywxMyArNywxMyBAQAogICogYXJlIG1ldDoKICAq
CiAgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAogICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgogICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJB
cHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAK
KyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
QEAgLTM1LDkgKzM1LDYgQEAKICNpbXBvcnQgPHd0Zi9QbGF0Zm9ybS5oPgogI2ltcG9ydCA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nocm9tZS5oPgotCi11c2luZyBX
ZWJDb3JlOjpNZXNzYWdlTGV2ZWw7Ci11c2luZyBXZWJDb3JlOjpNZXNzYWdlU291cmNlOwogI2Vu
ZGlmCiAKIEBjbGFzcyBXZWJWaWV3OwpAQCAtODIsNyArNzksNyBAQCBwdWJsaWM6CiAgICAgCiAg
ICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKSBvdmVycmlkZTsKICAgICAKLSAgICB2
aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBX
ZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25l
ZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBz
b3VyY2VVUkwpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xl
KEluc3BlY3Rvcjo6TWVzc2FnZVNvdXJjZSwgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWwsIGNvbnN0
IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1
bW5OdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VVUkwpIG92ZXJyaWRlOwogCiAgICAg
dmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpIG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpT
dHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggNzg3
MzkxNy4uNGYyMzE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtNywxMyArNywxMyBAQAogICogYXJlIG1ldDoKICAq
CiAgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAogICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgogICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJB
cHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAK
KyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
QEAgLTM3MCwyNSArMzcwLDI1IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRSZXNpemFibGUo
Ym9vbCBiKQogaW5saW5lIHN0YXRpYyBOU1N0cmluZyAqc3RyaW5nRm9yTWVzc2FnZVNvdXJjZShN
ZXNzYWdlU291cmNlIHNvdXJjZSkKIHsKICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgIGNhc2Ug
WE1MTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlhNTDoKICAgICAgICAg
cmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlWE1MTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIEpTTWVz
c2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkpTOgogICAgICAgICByZXR1cm4g
V2ViQ29uc29sZU1lc3NhZ2VKU01lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBOZXR3b3JrTWVzc2Fn
ZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcms6CiAgICAgICAgIHJldHVy
biBXZWJDb25zb2xlTWVzc2FnZU5ldHdvcmtNZXNzYWdlU291cmNlOwotICAgIGNhc2UgQ29uc29s
ZUFQSU1lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJOgog
ICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VDb25zb2xlQVBJTWVzc2FnZVNvdXJjZTsK
LSAgICBjYXNlIFN0b3JhZ2VNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6
U3RvcmFnZToKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlU3RvcmFnZU1lc3NhZ2VT
b3VyY2U7Ci0gICAgY2FzZSBBcHBDYWNoZU1lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdl
U291cmNlOjpBcHBDYWNoZToKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQXBwQ2Fj
aGVNZXNzYWdlU291cmNlOwotICAgIGNhc2UgUmVuZGVyaW5nTWVzc2FnZVNvdXJjZToKKyAgICBj
YXNlIE1lc3NhZ2VTb3VyY2U6OlJlbmRlcmluZzoKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVN
ZXNzYWdlUmVuZGVyaW5nTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIENTU01lc3NhZ2VTb3VyY2U6
CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDU1M6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xl
TWVzc2FnZUNTU01lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBTZWN1cml0eU1lc3NhZ2VTb3VyY2U6
CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpTZWN1cml0eToKICAgICAgICAgcmV0dXJuIFdlYkNv
bnNvbGVNZXNzYWdlU2VjdXJpdHlNZXNzYWdlU291cmNlOwotICAgIGNhc2UgT3RoZXJNZXNzYWdl
U291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6T3RoZXI6CiAgICAgICAgIHJldHVybiBX
ZWJDb25zb2xlTWVzc2FnZU90aGVyTWVzc2FnZVNvdXJjZTsKICAgICB9CiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CkBAIC0zOTgsMjAgKzM5OCwyMCBAQCBpbmxpbmUgc3RhdGljIE5TU3RyaW5n
ICpzdHJpbmdGb3JNZXNzYWdlU291cmNlKE1lc3NhZ2VTb3VyY2Ugc291cmNlKQogaW5saW5lIHN0
YXRpYyBOU1N0cmluZyAqc3RyaW5nRm9yTWVzc2FnZUxldmVsKE1lc3NhZ2VMZXZlbCBsZXZlbCkK
IHsKICAgICBzd2l0Y2ggKGxldmVsKSB7Ci0gICAgY2FzZSBEZWJ1Z01lc3NhZ2VMZXZlbDoKKyAg
ICBjYXNlIE1lc3NhZ2VMZXZlbDo6RGVidWc6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVz
c2FnZURlYnVnTWVzc2FnZUxldmVsOwotICAgIGNhc2UgTG9nTWVzc2FnZUxldmVsOgorICAgIGNh
c2UgTWVzc2FnZUxldmVsOjpMb2c6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUxv
Z01lc3NhZ2VMZXZlbDsKLSAgICBjYXNlIFdhcm5pbmdNZXNzYWdlTGV2ZWw6CisgICAgY2FzZSBN
ZXNzYWdlTGV2ZWw6Oldhcm5pbmc6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVdh
cm5pbmdNZXNzYWdlTGV2ZWw7Ci0gICAgY2FzZSBFcnJvck1lc3NhZ2VMZXZlbDoKKyAgICBjYXNl
IE1lc3NhZ2VMZXZlbDo6RXJyb3I6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUVy
cm9yTWVzc2FnZUxldmVsOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBy
ZXR1cm4gQCIiOwogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29s
ZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIs
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5O
dW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewogI2lmICFQTEFURk9STShJT1MpCiAg
ICAgaWQgZGVsZWdhdGUgPSBbbV93ZWJWaWV3IFVJRGVsZWdhdGVdOwpAQCAtNDMyLDcgKzQzMiw3
IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2CiAgICAgICAgIHJlc3BvbmRzVG9OZXdTZWxlY3Rv
ciA9IFlFUzsKICAgICBlbHNlIHsKICAgICAgICAgLy8gVGhlIG9sZCBzZWxlY3RvciBvbmx5IHRh
a2VzIEpTTWVzc2FnZVNvdXJjZSBtZXNzYWdlcy4KLSAgICAgICAgaWYgKHNvdXJjZSAhPSBKU01l
c3NhZ2VTb3VyY2UpCisgICAgICAgIGlmIChzb3VyY2UgIT0gTWVzc2FnZVNvdXJjZTo6SlMpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHNlbGVjdG9yID0gQHNlbGVjdG9yKHdlYlZpZXc6
YWRkTWVzc2FnZVRvQ29uc29sZTopOwogICAgICAgICBpZiAoIVtkZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6c2VsZWN0b3JdKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGZmOWM0NTUuLjgyNGRmODUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNC0wMi0wMyAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFk
ZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk0MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lmg6CisKIDIwMTQtMDItMDQgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbW92ZSA8aWZyYW1lIHNlYW1sZXNzPiBzdXBwb3J0LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRl
eCA4YWRiOTExLi5lNjVjZDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNzcsNyArNzcsNyBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwogCi0gICAgdmlydHVhbCB2b2lkIGFk
ZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2Fn
ZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwg
dW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgdXJsKTsKKyAgICB2aXJ0
dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShJbnNwZWN0b3I6Ok1lc3NhZ2VTb3VyY2UsIElu
c3BlY3Rvcjo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYg
dXJsKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwo
KTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdU
Rjo6U3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpGcmFtZSogZnJhbWUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5n
ZUxvZwppbmRleCA4N2Q2NDRhLi44OGNjOTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dp
bmNlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0Nv
bnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oOgorCiAyMDE0LTAx
LTMwICBBbmRyZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIFJlbW92ZSB0
aGUgQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktp
dC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCmluZGV4IDFhYzkwNjIu
Ljc1OThkYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50V2luQ0UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKQEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwg
dm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6
Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlE
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShJbnNwZWN0
b3I6Ok1lc3NhZ2VTb3VyY2UsIEluc3BlY3Rvcjo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0
cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVy
LCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSUQpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBi
b29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcmIG1l
c3NhZ2UsIFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTZlZGQ1Yy4u
NzM2NzBjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE0LTAyLTAzICBKb3NlcGgg
UGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
QWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDE0LTAyLTA2ICBBbmRlcnMgQ2FybHNzb24g
IDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhlIHNvdXJjZSBmcmFtZSByZXF1ZXN0
IGlzIG5vdCB0aGUgc2FtZSB0aGluZyBhcyB0aGUgb3JpZ2luYWwgcmVxdWVzdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKaW5kZXggMjA1NmFlZS4uMWE2ZTM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBA
IC05MCw3ICs5MCw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6
YWJsZShib29sKSBvdmVycmlkZTsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRv
Q29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1u
TnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZv
aWQgYWRkTWVzc2FnZVRvQ29uc29sZShJbnNwZWN0b3I6Ok1lc3NhZ2VTb3VyY2UsIEluc3BlY3Rv
cjo6TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkgb3ZlcnJp
ZGU7CiAgICAgCiAgICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5l
bCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223374</attachid>
            <date>2014-02-06 13:24:59 -0800</date>
            <delta_ts>2014-02-06 13:24:59 -0800</delta_ts>
            <desc>[PATCH] For Bots 6</desc>
            <filename>for-bots-6.patch</filename>
            <type>text/plain</type>
            <size>386856</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0OTEzNTNiLi4yMjA1MzI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDIt
MDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rv
ci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFtZU9wdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAg
IFVwZGF0ZSB3aXRoIGJldHRlciBsaW5lL2NvbHVtbiBudW1iZXJzIG5vdy4KKwogMjAxNC0wMi0w
NiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYSBj
b3B5L3Bhc3RlIG1pc3Rha2UgaW4gVGVzdEV4cGVjdGF0aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2xvYWRpbmctaWZyYW1lLWRvY3Vt
ZW50LW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L2xvYWRpbmctaWZyYW1lLWRvY3VtZW50LW5vZGUuaHRtbAppbmRleCBlNTg3MTgxLi44MWIxNmE0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9s
b2FkaW5nLWlmcmFtZS1kb2N1bWVudC1ub2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbG9hZGluZy1pZnJhbWUtZG9jdW1lbnQtbm9kZS5odG1s
CkBAIC03MCw3ICs3MCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgImluY2x1ZGVD
b21tYW5kTGluZUFQSSI6IGZhbHNlLAogICAgICAgICAgICAgImNvbnRleHRJZCI6IGV2ZW50LnBh
cmFtcy5jb250ZXh0LmlkLAogICAgICAgICAgICAgImRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRN
dXRlQ29uc29sZSI6IGZhbHNlLAotICAgICAgICAgICAgInJldHVybkJ5VmFsdWUiOiBmYWxzZSwg
CisgICAgICAgICAgICAicmV0dXJuQnlWYWx1ZSI6IGZhbHNlLAogICAgICAgICAgICAgImdlbmVy
YXRlUHJldmlldyI6IGZhbHNlCiAgICAgICAgIH0sIGNhbGxiYWNrKTsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwppbmRleCBiYjcz
NTk4Li4zMGJhYzQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcwpAQCAtMTMsMTcgKzEzLDE3IEBAIGNvbnNvbGUuZXJyb3IgPSBj
b25zb2xlT3V0cHV0SG9vay5iaW5kKEluc3BlY3RvclRlc3QsICJlcnJvciIpOwogY29uc29sZS5p
bmZvID0gY29uc29sZU91dHB1dEhvb2suYmluZChJbnNwZWN0b3JUZXN0LCAiaW5mbyIpOwogCiBJ
bnNwZWN0b3JUZXN0Lk91dHB1dCA9IHsgICAvLyBvdmVycmlkZSBpbiB3aW5kb3cuaW5pdGlhbGl6
ZV95b3VyTmFtZQotICAgIHRlc3RDb21wbGV0ZTogZnVuY3Rpb24oKSAKKyAgICB0ZXN0Q29tcGxl
dGU6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZGlk
RXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCgiICsgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3RD
YWxsSWQgKyAiLCBcIlwiKSIsICJ0ZXN0Iik7CiAgICAgfSwKIAotICAgIGFkZFJlc3VsdDogZnVu
Y3Rpb24odGV4dCkgCisgICAgYWRkUmVzdWx0OiBmdW5jdGlvbih0ZXh0KQogICAgIHsKICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgib3V0cHV0KHVuZXNjYXBlKCciICsgZXNj
YXBlKHRleHQpICsgIicpKSIpOwogICAgIH0sCiAgICAgCi0gICAgY2xlYXJSZXN1bHRzOiBmdW5j
dGlvbigpIAorICAgIGNsZWFyUmVzdWx0czogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY2xlYXJPdXRwdXQoKSIpOwogICAgIH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFtZU9w
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcGFnZS9k
ZW55LVgtRnJhbWVPcHRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDgzNTIyMjMuLmMxZjYxNjggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFt
ZU9wdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L3BhZ2UvZGVueS1YLUZyYW1lT3B0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIENP
TlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBkaXNwbGF5ICdkZW55LVgtRnJhbWVPcHRpb24uaHRt
bCcgaW4gYSBmcmFtZSBiZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0byAnZGVueScu
CiAKLWRlbnktWC1GcmFtZU9wdGlvbi5odG1sOjA6MAorZGVueS1YLUZyYW1lT3B0aW9uLmh0bWw6
MzA6MTcKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGFkZTlhNTkuLjA4
Yjk5ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIyNyw3ICsyMjcs
OSBAQCBzZXQoSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGhlYXAvV3JpdGVCYXJyaWVyQnVm
ZmVyLmNwcAogICAgIGhlYXAvV3JpdGVCYXJyaWVyU3VwcG9ydC5jcHAKIAorICAgIGluc3BlY3Rv
ci9Db25zb2xlTWVzc2FnZS5jcHAKICAgICBpbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGll
cy5jcHAKKyAgICBpbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcAogICAgIGluc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdC5jcHAKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNlLmNw
cAogICAgIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCkBAIC0yNDEsOCArMjQzLDEz
IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL0pTSmF2YVNjcmlw
dENhbGxGcmFtZS5jcHAKICAgICBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90
eXBlLmNwcAogICAgIGluc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAorICAgIGluc3Bl
Y3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCisgICAgaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5j
cHAKKyAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcAorICAgIGluc3BlY3Rvci9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmNwcAogICAgIGluc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5j
cHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcAorICAgIGluc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
clJ1bnRpbWVBZ2VudC5jcHAKIApAQCAtNzk2LDYgKzgwMyw3IEBAIEFERF9TT1VSQ0VfREVQRU5E
RU5DSUVTKCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9wYXJzZXIvTGV4ZXIuY3BwICR7REVS
SVZFRF9TCiBzZXQoSmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX1NDUklQVFNfRElSICIke0pBVkFT
Q1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL3NjcmlwdHMiKQogCiBzZXQoSmF2YVNjcmlwdENvcmVf
SU5TUEVDVE9SX0RPTUFJTlMKKyAgICBpbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCiAg
ICAgaW5zcGVjdG9yL3Byb3RvY29sL0RlYnVnZ2VyLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9j
b2wvR2VuZXJpY1R5cGVzLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9jb2wvSW5zcGVjdG9yRG9t
YWluLmpzb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDU1MjRmMTAuLmMwMmUyMjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE0LTAyLTAzICBKb3Nl
cGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogQWRkIENvbnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFt
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogSmF2YVNjcmlwdENv
cmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAgICAqIEphdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIEFkZCBuZXcgZmlsZXMuCisK
KyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHA6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50
LmNwcC4KKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5o
OiBBZGRlZC4KKyAgICAgICAgTmV3IGFnZW50IG1vdmVkIGZyb20gV2ViQ29yZS4gUmVuYW1lIGEg
bWV0aG9kIHRvIHdvcmsgaW4gSlMgb25seSBjb250ZXh0LgorCisgICAgICAgICogaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChJbnNwZWN0
b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgSW5zdGFudGlhdGUgQ29uc29sZUFnZW50LgorCisg
ICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9z
dC5oLgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdl
bnQuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVk
U2NyaXB0SG9zdC5oLgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdENvbnNvbGVB
Z2VudDo6SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQpOgorICAgICAgICAoSW5zcGVjdG9yOjpK
U0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQpOgorICAg
ICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVk
Tm9kZSk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Ojph
ZGRJbnNwZWN0ZWRIZWFwT2JqZWN0KToKKyAgICAgICAgSlNHbG9iYWxPYmplY3QgaW1wbGVtZW50
YXRpb24uCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdn
ZXJBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1
Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3REZWJ1Z2dl
ckFnZW50OjpKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQpOgorICAgICAgICAoSW5zcGVjdG9y
OjpKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2cpOgorICAg
ICAgICBVc2UgQ29uc29sZUFnZW50IHRvIHJlcG9ydCBsb2dzLgorCisgICAgICAgICogaW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Db25zb2xlTWVzc2FnZS5jcHAuCisgICAgICAgICogaW5zcGVjdG9yL0NvbnNvbGVNZXNz
YWdlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3Nh
Z2UuaC4KKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaC4KKyAgICAgICAgKiBpbnNw
ZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwLgorICAgICAgICAqIGluc3BlY3Rvci9J
ZGVudGlmaWVyc0ZhY3RvcnkuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JZGVudGlmaWVyc0ZhY3RvcnkuaC4KKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0QXJndW1l
bnRzLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1
bWVudHMuY3BwLgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwLgorICAgICAgICAqIGluc3BlY3Rv
ci9TY3JpcHRDYWxsRnJhbWUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9TY3JpcHRDYWxsRnJhbWUuaC4KKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3Rh
Y2suY3BwLgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaC4KKyAgICAgICAg
KiBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHA6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oLgorICAgICAg
ICAqIGluc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb246IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uLgorICAgICAgICAqIGluc3Bl
Y3Rvci9zY3JpcHRzL2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5OgorCiAyMDE0
LTAyLTA2ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSAz
MmJpdCBwYXNzIHRoZSBjb3JyZWN0IHRoaXMgdmFsdWUgdG8gY3VzdG9tIGdldHRlcnMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTE1NmU5Ny4uNjAyNzQ2
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTgzLDYg
KzgzLDcgQEAgdWRpczg2X2l0YWIuaDogJChKYXZhU2NyaXB0Q29yZSkvZGlzYXNzZW1ibGVyL3Vk
aXM4Ni9pdGFiLnB5ICQoSmF2YVNjcmlwdENvcmUpL2QKICMgSW5zcGVjdG9yIGludGVyZmFjZXMK
IAogSU5TUEVDVE9SX0RPTUFJTlMgPSBcCisgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9y
L3Byb3RvY29sL0NvbnNvbGUuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9y
L3Byb3RvY29sL0RlYnVnZ2VyLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rv
ci9wcm90b2NvbC9HZW5lcmljVHlwZXMuanNvbiBcCiAgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5z
cGVjdG9yL3Byb3RvY29sL0luc3BlY3RvckRvbWFpbi5qc29uIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9H
TlVtYWtlZmlsZS5hbQppbmRleCBmZTU0NDhkLi5jYzNiYzE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0dOVW1ha2VmaWxlLmFtCkBAIC0yMDIsNiArMjAyLDcgQEAgRVhUUkFfRElTVCArPSBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2ljdS9MSUNFTlNFIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aWN1L1JFQURNRSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdFNvdXJjZS5qcyBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2Nv
bC9Db25zb2xlLmpzb24gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9j
b2wvRGVidWdnZXIuanNvbiBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90
b2NvbC9HZW5lcmljVHlwZXMuanNvbiBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbiBcCkBAIC0yNDMsNiArMjQ0LDcgQEAgZW5k
aWYKICMgSW5zcGVjdG9yIEludGVyZmFjZXMKIAogSmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX0RP
TUFJTlMgOj0gXAorICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9Db25z
b2xlLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9EZWJ1
Z2dlci5qc29uIFwKICAgICAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvR2Vu
ZXJpY1R5cGVzLmpzb24gXAogICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9wcm90b2Nv
bC9JbnNwZWN0b3JEb21haW4uanNvbiBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IGY1MWMwZmMuLjdkMDAzYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC02MzMsOCArNjMzLDEzIEBAIGphdmFzY3JpcHRjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dGZfb2xk
LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91dHlwZXMuaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3V2ZXJzaW9uLmggXAorCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5oIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAgXAorCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmggXAogCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwIFwKIAlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNlLmNwcCBcCkBAIC02NjUsMTYgKzY3MCwy
NiBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaCBcCisJU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwIFwKKwlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEJyZWFrcG9pbnQuaCBcCisJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oIFwKKwlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgXAorCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5jcHAgXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaCBcCi0JU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwIFwKLQlT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckFnZW50LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckNvbnNvbGVBZ2VudC5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCBcCi0JU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmggXAor
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yUnVudGltZUFnZW50LmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9BYnN0cmFjdFBDLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0Fic3RyYWN0UEMuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0NhY2hlZENhbGwuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRl
eCBjMDUwNDgzLi5jMjhjMWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2oKQEAgLTQ3Niw3ICs0NzYsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caGVhcFxX
ZWFrU2V0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGhlYXBcV3JpdGVCYXJy
aWVyQnVmZmVyLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGhlYXBcV3JpdGVC
YXJyaWVyU3VwcG9ydC5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcQ29uc29sZU1lc3NhZ2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXElkZW50aWZpZXJzRmFjdG9yeS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHQuY3BwIiAvPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0QmFzZS5jcHAiIC8+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRIb3N0
LmNwcCIgLz4KQEAgLTQ5MCw4ICs0OTIsMTMgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSmF2YVNjcmlwdENhbGxG
cmFtZS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0
QXJndW1lbnRzLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxT
Y3JpcHRDYWxsRnJhbWUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXFNjcmlwdENhbGxTdGFjay5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JBZ2VudC5jcHAiIC8+
CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckNv
bnNvbGVBZ2VudC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
YWdlbnRzXEluc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW50ZXJwcmV0ZXJcQWJzdHJhY3RQQy5jcHAiIC8+
CkBAIC0xMDU0LDcgKzEwNjEsMTAgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGhlYXBc
V2Vha1NldElubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGhlYXBcV3Jp
dGVCYXJyaWVyQnVmZmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxoZWFwXFdy
aXRlQmFycmllclN1cHBvcnQuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxDb25zb2xlTWVzc2FnZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXENvbnNvbGVUeXBlcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0QmFzZS5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluamVjdGVkU2NyaXB0SG9zdC5oIiAvPgpA
QCAtMTA3MiwxMCArMTA4MiwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caW5zcGVjdG9yXEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEphdmFTY3JpcHRDYWxsRnJhbWUuaCIgLz4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRBcmd1bWVudHMuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRCcmVha3BvaW50
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbEZy
YW1lLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2Fs
bFN0YWNrLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXFNjcmlwdERlYnVnTGlzdGVuZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxTY3JpcHREZWJ1Z1NlcnZlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JBZ2VudC5oIiAvPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9y
RGVidWdnZXJBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XGFnZW50c1xJbnNwZWN0b3JSdW50aW1lQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGludGVycHJldGVyXEFic3RyYWN0UEMuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggOWFlMTMyOC4uNDg2M2M1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTEwMTMsNiArMTAxMywyMyBAQAogCQlBNUNFRUUxNDE4N0YzQkFEMDBFNTVDOTkgLyog
SW5zcGVjdG9yQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVDRUVFMTIxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmNwcCAq
LzsgfTsKIAkJQTVDRUVFMTUxODdGM0JBRDAwRTU1Qzk5IC8qIEluc3BlY3RvckFnZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUNFRUUxMzE4N0Yz
QkFEMDBFNTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNUQwQTFCQjE4NjIzMDFCMDBDN0I0OTYgLyogSW5z
cGVjdG9yRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1RDBBMUJBMTg2MjMwMUIwMEM3QjQ5NiAvKiBJbnNwZWN0b3JFbnZpcm9ubWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1
RkQwMDY3MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNjUxODlBRkU5QzAwNjMz
MjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi87IH07CisJCUE1RkQwMDY4MTg5QUZFOUMwMDYz
MzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1RkQwMDY2MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVu
dHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlB
NUZEMDA2RDE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDY5MTg5QjAwQTkwMDYz
MzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OworCQlBNUZEMDA2RTE4OUIwMEFBMDA2
MzMyMzEgLyogU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2QTE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2FsbEZy
YW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QTVGRDAwNkYxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA2QjE4OUIwMEE5MDA2
MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLzsgfTsKKwkJQTVGRDAwNzAxODlCMDBBQTAw
NjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNkMxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxT
dGFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUE1RkQwMDc0MTg5QjAzOEMwMDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDcxMTg5QjAzOEMwMDYzMzIz
MSAvKiBDb25zb2xlVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlBNUZEMDA3NTE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0
b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
RkQwMDcyMTg5QjAzOEMwMDYzMzIzMSAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovOyB9Owor
CQlBNUZEMDA3NjE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA3MzE4OUIwMzhD
MDA2MzMyMzEgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwNzkxODlCMDUxMDAwNjMzMjMxIC8qIENv
bnNvbGVNZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1RkQwMDc3MTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi87
IH07CisJCUE1RkQwMDdBMTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVGRDAwNzgxODlCMDUx
MDAwNjMzMjMxIC8qIENvbnNvbGVNZXNzYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwN0QxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVGRDAwN0IxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuY3BwICovOyB9OworCQlBNUZEMDA3RTE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTVGRDAwN0MxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFja0ZhY3Rvcnku
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBNUZE
MDA4MTE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RkQwMDdGMTg5QjE5MUEw
MDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwICovOyB9OworCQlBNUZEMDA4MjE4
OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUZEMDA4MDE4OUIxOTFBMDA2MzMyMzEg
LyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVGRDAwODUxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFs
T2JqZWN0Q29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1RkQwMDgzMTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9iamVjdENv
bnNvbGVBZ2VudC5jcHAgKi87IH07CisJCUE1RkQwMDg2MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0ds
b2JhbE9iamVjdENvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTVGRDAwODQxODlCMUI3RTAwNjMzMjMxIC8qIEpTR2xvYmFsT2JqZWN0
Q29uc29sZUFnZW50LmggKi87IH07CiAJCUE3MDA4NzM5MTdDQkU4NTMwMEMzRTY0MyAvKiBNYXBD
b25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNzAwODczNzE3Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuY3BwICovOyB9
OwogCQlBNzAwODczQTE3Q0JFODUzMDBDM0U2NDMgLyogTWFwQ29uc3RydWN0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MDA4NzM4MTdDQkU4NTMw
MEMzRTY0MyAvKiBNYXBDb25zdHJ1Y3Rvci5oICovOyB9OwogCQlBNzAwODczRDE3Q0JFOEQzMDBD
M0U2NDMgLyogTWFwUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3MDA4NzNCMTdDQkU4RDMwMEMzRTY0MyAvKiBNYXBQcm90b3R5cGUu
Y3BwICovOyB9OwpAQCAtMjQ1OCw2ICsyNDc1LDIzIEBACiAJCUE1Q0VFRTEyMTg3RjNCQUQwMEU1
NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbnNwZWN0b3JBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE1Q0VFRTEzMTg3RjNCQUQwMEU1NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNUQwQTFCQTE4NjIzMDFCMDBDN0I0OTYgLyogSW5zcGVjdG9yRW52aXJv
bm1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRW52aXJv
bm1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNjUxODlBRkU5QzAw
NjMzMjMxIC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTY3JpcHRBcmd1bWVudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNUZEMDA2NjE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEFyZ3VtZW50cy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA2OTE4OUIwMEE5MDA2MzMyMzEgLyogU2NyaXB0Q2Fs
bEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdENh
bGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RkQwMDZBMTg5QjAw
QTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2NyaXB0Q2FsbEZyYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE1RkQwMDZCMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2suY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbFN0YWNrLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNkMxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlw
dENhbGxTdGFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRDYWxs
U3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzExODlCMDM4QzAw
NjMzMjMxIC8qIENvbnNvbGVUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDb25zb2xlVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwNzIx
ODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3MzE4OUIwMzhDMDA2MzMyMzEgLyogSWRlbnRpZmll
cnNGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElkZW50aWZpZXJz
RmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA3NzE4OUIwNTEw
MDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ29uc29sZU1lc3NhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNUZEMDA3ODE4OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29uc29sZU1lc3NhZ2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwN0IxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
RkQwMDdDMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVGRDAwN0YxODlCMTkxQTAwNjMzMjMxIC8qIElu
c3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNUZEMDA4MDE4OUIxOTFBMDA2MzMyMzEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckNvbnNvbGVBZ2VudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA4MzE4OUIxQjdFMDA2MzMyMzEg
LyogSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNUZEMDA4NDE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxP
YmplY3RDb25zb2xlQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNH
bG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTcwMDg3MzcxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0cnVjdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hcENvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcwMDg3MzgxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0
cnVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hcENvbnN0cnVjdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MDA4NzNCMTdDQkU4RDMwMEMzRTY0
MyAvKiBNYXBQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTWFwUHJvdG90eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0ODYs
MTAgKzQ1MjAsMTQgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUE1Q0VFRTEyMTg3RjNCQUQwMEU1
NUM5OSAvKiBJbnNwZWN0b3JBZ2VudC5jcHAgKi8sCiAJCQkJQTVDRUVFMTMxODdGM0JBRDAwRTU1
Qzk5IC8qIEluc3BlY3RvckFnZW50LmggKi8sCisJCQkJQTVGRDAwN0YxODlCMTkxQTAwNjMzMjMx
IC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8sCisJCQkJQTVGRDAwODAxODlCMTkxQTAw
NjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oICovLAogCQkJCUE1N0QyM0UzMTg5MENF
QkYwMDMxQzdGQSAvKiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCAqLywKIAkJCQlBNTdEMjNF
NDE4OTBDRUJGMDAzMUM3RkEgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oICovLAogCQkJCUE1
MEU0QjVEMTg4MDlERDUwMDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwICovLAog
CQkJCUE1MEU0QjVFMTg4MDlERDUwMDY4QTQ2RCAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuaCAq
LywKKwkJCQlBNUZEMDA4MzE4OUIxQjdFMDA2MzMyMzEgLyogSlNHbG9iYWxPYmplY3RDb25zb2xl
QWdlbnQuY3BwICovLAorCQkJCUE1RkQwMDg0MTg5QjFCN0UwMDYzMzIzMSAvKiBKU0dsb2JhbE9i
amVjdENvbnNvbGVBZ2VudC5oICovLAogCQkJCUE1N0QyM0U3MTg5MUIwNzcwMDMxQzdGQSAvKiBK
U0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwICovLAogCQkJCUE1N0QyM0U4MTg5MUIwNzcw
MDMxQzdGQSAvKiBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaCAqLywKIAkJCQlBNTBFNEI1
RjE4ODA5REQ1MDA2OEE0NkQgLyogSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwICovLApA
QCAtNDUzMiwxMCArNDU3MCwxNSBAQAogCQkJCUE1MTNFNUNDMTg1RkI5OTIwMDdFOTVBRCAvKiBh
Z2VudHMgKi8sCiAJCQkJQTVCQTE1RTAxODIzNDA5RDAwQTgyRTY5IC8qIHJlbW90ZSAqLywKIAkJ
CQlBNTMyNDM4RTE4NTY5NkNFMDAyRUQ2OTIgLyogc2NyaXB0cyAqLywKKwkJCQlBNUZEMDA3NzE4
OUIwNTEwMDA2MzMyMzEgLyogQ29uc29sZU1lc3NhZ2UuY3BwICovLAorCQkJCUE1RkQwMDc4MTg5
QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xlTWVzc2FnZS5oICovLAorCQkJCUE1RkQwMDcxMTg5QjAz
OEMwMDYzMzIzMSAvKiBDb25zb2xlVHlwZXMuaCAqLywKIAkJCQlBNTdEMjNFRjE4OTFCNUI0MDAz
MUM3RkEgLyogQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAgKi8sCiAJCQkJQTU3RDIzRjAxODkx
QjVCNDAwMzFDN0ZBIC8qIENvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaCAqLywKIAkJCQlBNTQ5ODIw
MTE4OTFEMEIwMDA4MUU1QjggLyogRXZlbnRMb29wLmNwcCAqLywKIAkJCQlBNTQ5ODIwMjE4OTFE
MEIwMDA4MUU1QjggLyogRXZlbnRMb29wLmggKi8sCisJCQkJQTVGRDAwNzIxODlCMDM4QzAwNjMz
MjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5jcHAgKi8sCisJCQkJQTVGRDAwNzMxODlCMDM4QzAw
NjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5oICovLAogCQkJCUE1MTNFNUI1MTg1QjhCRDMw
MDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5jcHAgKi8sCiAJCQkJQTUxM0U1QjYxODVCOEJEMzAw
N0U5NUFEIC8qIEluamVjdGVkU2NyaXB0LmggKi8sCiAJCQkJQTUxNEIyQzAxODVBNjg0NDAwRjND
N0NCIC8qIEluamVjdGVkU2NyaXB0QmFzZS5jcHAgKi8sCkBAIC00NTcxLDcgKzQ2MTQsMTUgQEAK
IAkJCQlBNTAzRkExODE4OEUwRkIwMDAxMTBGMTQgLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJv
dG90eXBlLmggKi8sCiAJCQkJQTUwM0ZBMTMxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3JpcHRD
YWxsRnJhbWUuY3BwICovLAogCQkJCUE1MDNGQTE0MTg4RTBGQUYwMDExMEYxNCAvKiBKYXZhU2Ny
aXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJQTVGRDAwNjUxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlw
dEFyZ3VtZW50cy5jcHAgKi8sCisJCQkJQTVGRDAwNjYxODlBRkU5QzAwNjMzMjMxIC8qIFNjcmlw
dEFyZ3VtZW50cy5oICovLAogCQkJCUE1MDNGQTFGMTg4RUZGNjgwMDExMEYxNCAvKiBTY3JpcHRC
cmVha3BvaW50LmggKi8sCisJCQkJQTVGRDAwNjkxODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENh
bGxGcmFtZS5jcHAgKi8sCisJCQkJQTVGRDAwNkExODlCMDBBOTAwNjMzMjMxIC8qIFNjcmlwdENh
bGxGcmFtZS5oICovLAorCQkJCUE1RkQwMDZCMTg5QjAwQTkwMDYzMzIzMSAvKiBTY3JpcHRDYWxs
U3RhY2suY3BwICovLAorCQkJCUE1RkQwMDZDMTg5QjAwQUEwMDYzMzIzMSAvKiBTY3JpcHRDYWxs
U3RhY2suaCAqLywKKwkJCQlBNUZEMDA3QjE4OUIwQjRDMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0
YWNrRmFjdG9yeS5jcHAgKi8sCisJCQkJQTVGRDAwN0MxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuaCAqLywKIAkJCQlBNTAzRkEyMDE4OEVGRjY4MDAxMTBGMTQgLyog
U2NyaXB0RGVidWdMaXN0ZW5lci5oICovLAogCQkJCUE1MDNGQTIzMTg4RUZGRkQwMDExMEYxNCAv
KiBTY3JpcHREZWJ1Z1NlcnZlci5jcHAgKi8sCiAJCQkJQTUwM0ZBMjQxODhFRkZGRDAwMTEwRjE0
IC8qIFNjcmlwdERlYnVnU2VydmVyLmggKi8sCkBAIC00NzMwLDYgKzQ3ODEsNyBAQAogCQkJCTBG
NkIxQ0M2MTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExVbndpbmRJbmZvLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDMjIzOUQxODE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUMyMjM5RDE5MTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGluZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDdBMTg5QjA1MTAwMDYzMzIzMSAvKiBDb25zb2xl
TWVzc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzIxOEQxNDAxNjU1Q0ZENTAwNjJCQjgxIC8q
IENvcHlXb3JrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNURFNkU1QjMwRTE3MjhFQzAwMTgw
NDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0MjZBNEIxNDYw
Q0Q2RTAwMTMxRjhGIC8qIERhdGFGb3JtYXQuaCBpbiBIZWFkZXJzICovLApAQCAtNDc2Niw2ICs0
ODE4LDcgQEAKIAkJCQkwRkZCOTIxQTE2RDAyRUM1MDA1NUE1REIgLyogREZHQmFzaWNCbG9ja0lu
bGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3MEIwODMzMTdBMEI3OUIwMERBRjE0QiAvKiBE
RkdCaW5hcnlTd2l0Y2guaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDg5Q0Y0MTdBMEI4Q0MwMDc3
M0FEOCAvKiBERkdCbG9ja0luc2VydGlvblNldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVGRDAw
NkUxODlCMDBBQTAwNjMzMjMxIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY4MzY0QjcxNjRCMEMxMTAwNTMzMjlBIC8qIERGR0JyYW5jaERpcmVjdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTFBMDA5QzAxODMxQTIyRDAwQ0Y4NzExIC8qIE1hY3JvQXNzZW1ibGVy
QVJNNjQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2RUM5REM1MTMyOERGODIwMDJCMkFENyAvKiBE
RkdCeXRlQ29kZVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCkBAIC00NzgzLDYgKzQ4MzYsNyBAQAog
CQkJCUE1MDNGQTFFMTg4RTBGQjAwMDExMEYxNCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90
b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMzhCMDFBMTdDRkU3NTUwMEIxNDREMyAvKiBE
RkdDb21waWxhdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGM0IzQTFCMTUzRTY4RjQw
MDNFRDBGRiAvKiBERkdDb25zdGFudEZvbGRpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTVGRDAwODIxODlCMTkxQTAwNjMzMjMxIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZCRTBGNzMxNkMxREIwNTAwODJDNUU4IC8qIERGR0NQU1JldGhyZWFk
aW5nUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDg5Q0Y2MTdBMEI4Q0MwMDc3M0FEOCAv
KiBERkdDcml0aWNhbEVkZ2VCcmVha2luZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkZG
Qzk1QTE0RUY5MEE5MDBDNzI1MzIgLyogREZHQ1NFUGhhc2UuaCBpbiBIZWFkZXJzICovLApAQCAt
NDgzMCw2ICs0ODg0LDcgQEAKIAkJCQkwRjJCREM0NTE1MjI4MDFCMDBDRDg5MTAgLyogREZHTWlu
aWZpZWRHcmFwaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyRTg5MkQxNkQwMkJBRjAwOUU0RkQy
IC8qIERGR01pbmlmaWVkSUQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkJEQzQ2MTUyMjgwMjAw
MENEODkxMCAvKiBERkdNaW5pZmllZE5vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDY4
MTg5QUZFOUMwMDYzMzIzMSAvKiBTY3JpcHRBcmd1bWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE3Mzc4MTBFMTc5OUVBMkUwMDgxNzUzMyAvKiBERkdOYXR1cmFsTG9vcHMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTg2RUNBM0VBMTMyREVGMUMwMDJCMkFENyAvKiBERkdOb2RlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkZCOTIxQjE2RDAyRjAxMDA1NUE1REIgLyogREZHTm9kZUFsbG9jYXRvci5o
IGluIEhlYWRlcnMgKi8sCkBAIC00ODc4LDYgKzQ5MzMsNyBAQAogCQkJCTBGMkJEQzQ4MTUyMjgw
MjkwMENEODkxMCAvKiBERkdWYWx1ZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY2MjAx
NzQxNDNGQ0QzMzAwNjhCNzdDIC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0YS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEZEREJGQjYxNjY2RUVEQTAwQzU1RkVGIC8qIERGR1ZhcmlhYmxlQWNjZXNzRGF0
YUR1bXAuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDc0MTg5QjAzOEMwMDYzMzIzMSAvKiBD
b25zb2xlVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkJEQzQ5MTUyMjgwOTYwMENEODkx
MCAvKiBERkdWYXJpYWJsZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCREM0QjE1MjI4
MDlEMDBDRDg5MTAgLyogREZHVmFyaWFibGVFdmVudFN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTUxNEIyQzMxODVBNjg0NDAwRjNDN0NCIC8qIEluamVjdGVkU2NyaXB0QmFzZS5oIGluIEhl
YWRlcnMgKi8sCkBAIC00OTI3LDYgKzQ5ODMsNyBAQAogCQkJCTBGRUEwQTI0MTcwOTYwNjkwMEJC
NzIyQyAvKiBGVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVB
MEEwRTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMSklUQ29kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTc4QTk3ODExNzk3MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTVGRDAwNzYxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJzRmFjdG9yeS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1QTYyODQxODhDOThENDAwNzJDOURGIC8qIEZUTFZhbHVl
UmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYyQjk2MTcyRTA0QTMwMDdEQkRBNSAvKiBG
VExMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNFRkFFMDE4MDczOEMwMDA0NzJDRTQgLyog
RlRMTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtNTAyNSw2ICs1MDgyLDcgQEAKIAkJCQlB
N0E0QUUxMDE3OTczQjREMDA1NjEyQjEgLyogSklUU3R1YnNYODZDb21tb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNUVGOTFGMTY4NzhGN0QwMDNFNUMyNSAvKiBKSVRUaHVua3MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGQzcxMkUzMTdDRDg3OTMwMDhDQzkzQyAvKiBKSVRUb0RGR0RlZmVycmVk
Q29tcGlsYXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVGRDAwNzAxODlCMDBB
QTAwNjMzMjMxIC8qIFNjcmlwdENhbGxTdGFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc2RjU0
QTMxM0IyOEFBQjAwRUYyQkNFIC8qIEpJVFdyaXRlQmFycmllci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkMxOEM0MTYwRTE2RjVDRDAwQjM0NDYwIC8qIEpTQWN0aXZhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEY2QjFDQjkxODYxMjQ0QzAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tNb2RlLmggaW4g
SGVhZGVycyAqLywKQEAgLTUyMDEsNiArNTI1OSw3IEBACiAJCQkJQkMwMkU5MTEwRTE4MzlEQjAw
MEY5Mjk3IC8qIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
MDJFOTEzMEUxODM5REIwMDBGOTI5NyAvKiBOYXRpdmVFcnJvclByb3RvdHlwZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEZGQjkyMjAxNkQwMzNCNzAwNTVBNURCIC8qIE5vZGVDb25zdHJ1Y3RvcnMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDdFMTg5QjBCNEMwMDYzMzIzMSAvKiBTY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk3RUZGMDA2NDBFQzA1QTlBMDBB
QTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDNGMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKQEAgLTUzNTEsNiAr
NTQxMCw3IEBACiAJCQkJQTdBOEFGNDExN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQxNkFycmF5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4NjY3MzlEMzEzQkZERTcxMDAyM0Q4N0MgLyogVWludDE2V2l0
aEZyYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0E4QUY0MjE3QURCNUYzMDA1QUIxNzQg
LyogVWludDMyQXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1RkQwMDg2MTg5QjFCN0UwMDYz
MzIzMSAvKiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTdBOEFGM0YxN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQ4QXJyYXkuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE3QThBRjQwMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50OENsYW1wZWRBcnJheS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEY1RjA4Q0YxNDZDNzYzMzAwMDQ3MkE5IC8qIFVuY29uZGl0aW9uYWxG
aW5hbGl6ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNTgyNCw2ICs1ODg0LDcgQEAKIAkJCQlBNzkw
REQ2RjE4MkY0OTk3MDA1ODg4MDcgLyogSlNTZXRJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjYzOTQ1NDE1RDA3MDU1MDA2QTU5N0MgLyogQXJyYXlQcm9maWxlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTE0N0YzOUMwMTA3RUMzNzYwMDQyN0E0OCAvKiBBcnJheVByb3RvdHlwZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA2RDE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0
Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjRFNTQwMTdFQTlGNTkwMEFCQjIx
NyAvKiBBc3NlbWJseUhlbHBlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ4MTZFMUIxNTRD
QzU2QzAwQjgwNTRDIC8qIEJsb2NrQWxsb2NhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0
MjgwODYzMTA3RUMxMUEwMDEzRTdCMiAvKiBCb29sZWFuQ29uc3RydWN0b3IuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC01OTc3LDYgKzYwMzgsNyBAQAogCQkJCTE0N0YzOUM4MTA3RUMzNzYwMDQyN0E0
OCAvKiBFcnJvckNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUM5MTA3
RUMzNzYwMDQyN0E0OCAvKiBFcnJvckluc3RhbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0
N0YzOUNBMTA3RUMzNzYwMDQyN0E0OCAvKiBFcnJvclByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBNUZEMDA2NzE4OUFGRTlDMDA2MzMyMzEgLyogU2NyaXB0QXJndW1lbnRzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTE0MjlEODc4MEVEMjFBQ0QwMEI4OTYxOSAvKiBFeGNlcHRpb25I
ZWxwZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2Q0EwMzJFMTAzOEU4NDQwMDI4QTYwOSAv
KiBFeGVjdXRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3QjQ4RjQ5MEVFODkzNkYwMERD
QkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjAwNSw2
ICs2MDY3LDcgQEAKIAkJCQlBNzhBOTc4MDE3OTczOEQ1MDA5REY3NDQgLyogRlRMSklURmluYWxp
emVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOEYyQjk1MTcyRTA0QTAwMDdEQkRBNSAvKiBG
VExMaW5rLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3NERFRjk1MTgyRDk5MTQwMDUyMkMyMiAv
KiBKU01hcEl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQwMDgxMTg5QjE5MUEw
MDYzMzIzMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEZDRUZBREYxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGRUEwQTBGMTcwNTEzREIwMEJCNzIyQyAvKiBGVExMb3dlckRGR1RvTExWTS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50
cnkuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC02MDk1LDcgKzYxNTgsOSBAQAogCQkJCTg2RTNDNjE2
MTY3QkFCRUUwMDZENzYwQSAvKiBKU0NvbnRleHQubW0gaW4gU291cmNlcyAqLywKIAkJCQkxNEJE
NUEzMDBBM0U5MUY2MDBCQUY1OUMgLyogSlNDb250ZXh0UmVmLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE3MjAyOEI2MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwNzUxODlCMDM4QzAwNjMzMjMxIC8qIElkZW50aWZpZXJz
RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNTlGODkzOTE4OTFGMjlGMDBENUNDREMg
LyogVW5saW5rZWRJbnN0cnVjdGlvblN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZE
MDA2RjE4OUIwMEFBMDA2MzMyMzEgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGMkI2NkVCMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGMkI2NkVEMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJvdG90
eXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3ODgwMTQwMTQ3MUFEOTIwMDQxQjAxNiAvKiBK
U0RhdGVNYXRoLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjIwNCw2ICs2MjY5LDcgQEAKIAkJCQkx
NDhGMjFCQzEwN0VDNTREMDA0MkVDMkMgLyogUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjlGQzhDMzE0RTFCNUZFMDBENTJBRTAgLyogUG9seW1vcnBoaWNQdXRCeUlkTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUZEMDA4NTE4OUIxQjdFMDA2MzMyMzEgLyogSlNH
bG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5ODIwNjAx
NkJGRTM4MTAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFyZ2V0cy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5NTc0MkY2NTBERDExRjVBMDAwOTE3RkIgLyogUHJvZmlsZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRkM5N0YzNTE4MjAyMEQ3MDAyQzlCMjYgLyogUHJvZmlsZWRDb2RlQmxvY2tKZXR0
aXNvbmluZ1dhdGNocG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC02MjUxLDYgKzYzMTcsNyBA
QAogCQkJCUMyMjU0OTQzMTVGN0RCQUEwMDY1RTg5OCAvKiBTbG90VmlzaXRvci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5MzMwNDAyQzBFNkE3NjQwMDA3ODZFNkEgLyogU21hbGxTdHJpbmdzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGOEYyQjlFMTczMDZDOEQwMDdEQkRBNSAvKiBTb3VyY2VD
b2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1RkQwMDc5MTg5QjA1MTAwMDYzMzIzMSAvKiBD
b25zb2xlTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ5M0FGQTE2RDBDQUQzMDA4
NDUwOEIgLyogU291cmNlUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ5REMxNkIx
MkVGMjkzRTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEY2QjFDQzkxODY0MURGODAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1
bmtzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjI3Myw2ICs2MzQwLDcgQEAKIAkJCQlDMkRGNDQy
RjE3MDdBQzAxMDBBNUNBOTYgLyogU3VwZXJSZWdpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEY5MTlEMjgxNTg1Njc3MzAwNEE0RTdEIC8qIFN5bWJvbFRhYmxlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGQzMxNDEzMTgxNDU1OTEwMDAzMzIzMiAvKiBUZW1wUmVnaXN0ZXJTZXQuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTVGRDAwN0QxODlCMEI0QzAwNjMzMjMxIC8qIFNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZBMkMxN0IxN0Q3Q0Y4NDAwOUQw
MTVGIC8qIFRlc3RSdW5uZXJVdGlscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzM4NjU1NTEx
ODY5N0I0MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3JzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGMkI2NzA3MTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5Q29udHJvbGxlci5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xl
TWVzc2FnZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNz
YWdlLmNwcApzaW1pbGFyaXR5IGluZGV4IDY5JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAppbmRleCBkM2I5M2FjLi5iM2E3NTJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IE1h
dHQgTGlsZWsgPHdlYmtpdEBtYXR0bGlsZWsuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDA5LCAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMzMsMjEgKzMzLDE3
IEBACiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCi0jaW5jbHVkZSAiQ29uc29sZS5oIgogI2lu
Y2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgorI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0Lmgi
CisjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9y
VmFsdWVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiU2NyaXB0
Q2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgotI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+
Ci0jaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg+Ci0jaW5jbHVkZSA8aW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oPgotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0
b3JWYWx1ZXMuaD4KLSNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgIlNjcmlw
dFZhbHVlLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBDb25zb2xlTWVzc2FnZTo6Q29uc29sZU1l
c3NhZ2UoYm9vbCBjYW5HZW5lcmF0ZUNhbGxTdGFjaywgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogICAgIDogbV9zb3VyY2Uoc291cmNl
KQpAQCAtMTE2LDE1ICsxMTIsMTYgQEAgQ29uc29sZU1lc3NhZ2U6On5Db25zb2xlTWVzc2FnZSgp
CiB7CiB9CiAKLXZvaWQgQ29uc29sZU1lc3NhZ2U6OmF1dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wg
Y2FuR2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSkKKy8vIEZJWE1FOiBS
ZW1vdmUgdGhlIGdlbmVyYXRlIHdpdGhvdXQgRXhlY1N0YXRlIHBhdGguIFRoZSBjYWxsZXIgc2hv
dWxkIGFsd2F5cyBwcm92aWRlIGFuIEV4ZWNTdGF0ZS4KK3ZvaWQgQ29uc29sZU1lc3NhZ2U6OmF1
dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wgLypjYW5HZW5lcmF0ZUNhbGxTdGFjayovLCBKU0M6OkV4
ZWNTdGF0ZSogc3RhdGUpCiB7Ci0gICAgaWYgKG1fdHlwZSA9PSBFbmRHcm91cE1lc3NhZ2VUeXBl
KQorICAgIGlmIChtX3R5cGUgPT0gTWVzc2FnZVR5cGU6OkVuZEdyb3VwKQogICAgICAgICByZXR1
cm47CiAKICAgICBpZiAoc3RhdGUpCiAgICAgICAgIG1fY2FsbFN0YWNrID0gY3JlYXRlU2NyaXB0
Q2FsbFN0YWNrRm9yQ29uc29sZShzdGF0ZSk7Ci0gICAgZWxzZSBpZiAoY2FuR2VuZXJhdGVDYWxs
U3RhY2spCi0gICAgICAgIG1fY2FsbFN0YWNrID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKFNjcmlw
dENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7CisgICAgLy8gZWxz
ZSBpZiAoY2FuR2VuZXJhdGVDYWxsU3RhY2spCisgICAgLy8gICAgIG1fY2FsbFN0YWNrID0gY3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrKFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2Fw
dHVyZSwgdHJ1ZSk7CiAgICAgZWxzZQogICAgICAgICByZXR1cm47CiAKQEAgLTEzOSwyMCArMTM2
LDE5IEBAIHZvaWQgQ29uc29sZU1lc3NhZ2U6OmF1dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wgY2Fu
R2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhlY1N0CiAgICAgbV9jYWxsU3RhY2suY2xlYXIoKTsK
IH0KIAotLy8gS2VlcCBpbiBzeW5jIHdpdGggaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qcwogc3RhdGljIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpTb3VyY2U6OkVudW0gbWVzc2FnZVNvdXJjZVZhbHVlKE1lc3NhZ2VTb3VyY2Ugc291cmNl
KQogewogICAgIHN3aXRjaCAoc291cmNlKSB7Ci0gICAgY2FzZSBYTUxNZXNzYWdlU291cmNlOiBy
ZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNv
dXJjZTo6WE1MOwotICAgIGNhc2UgSlNNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6SmF2YXNjcmlwdDsK
LSAgICBjYXNlIE5ldHdvcmtNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVp
bGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6TmV0d29yazsKLSAgICBjYXNl
IENvbnNvbGVBUElNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6Q29uc29sZUFQSTsKLSAgICBjYXNlIFN0
b3JhZ2VNZXNzYWdlU291cmNlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29s
ZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U3RvcmFnZTsKLSAgICBjYXNlIEFwcENhY2hlTWVz
c2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNv
bGVNZXNzYWdlOjpTb3VyY2U6OkFwcGNhY2hlOwotICAgIGNhc2UgUmVuZGVyaW5nTWVzc2FnZVNv
dXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpTb3VyY2U6OlJlbmRlcmluZzsKLSAgICBjYXNlIENTU01lc3NhZ2VTb3VyY2U6IHJldHVy
biBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNl
OjpDU1M7Ci0gICAgY2FzZSBTZWN1cml0eU1lc3NhZ2VTb3VyY2U6IHJldHVybiBJbnNwZWN0b3I6
OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpTZWN1cml0eTsK
LSAgICBjYXNlIE90aGVyTWVzc2FnZVNvdXJjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxk
ZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok90aGVyOworICAgIGNhc2UgTWVz
c2FnZVNvdXJjZTo6WE1MOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6WE1MOworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6SlM6
IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6
U291cmNlOjpKYXZhc2NyaXB0OworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6TmV0d29yazogcmV0
dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3Vy
Y2U6Ok5ldHdvcms7CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJOiByZXR1cm4g
SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6
Q29uc29sZUFQSTsKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlN0b3JhZ2U6IHJldHVybiBJbnNw
ZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpTdG9y
YWdlOworICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6QXBwQ2FjaGU6IHJldHVybiBJbnNwZWN0b3I6
OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpBcHBjYWNoZTsK
KyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlJlbmRlcmluZzogcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlJlbmRlcmluZzsKKyAg
ICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkNTUzogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkNTUzsKKyAgICBjYXNlIE1lc3NhZ2VT
b3VyY2U6OlNlY3VyaXR5OiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U2VjdXJpdHk7CisgICAgY2FzZSBNZXNzYWdlU291cmNl
OjpPdGhlcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpTb3VyY2U6Ok90aGVyOwogICAgIH0KICAgICByZXR1cm4gSW5zcGVjdG9yOjpUeXBl
QnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6T3RoZXI7CiB9CkBAIC0x
NjAsMTkgKzE1NiwxOSBAQCBzdGF0aWMgSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6RW51bSBtZXNzYWdlU291cgogc3RhdGljIEluc3BlY3Rv
cjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpFbnVtIG1lc3Nh
Z2VUeXBlVmFsdWUoTWVzc2FnZVR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAg
ICBjYXNlIExvZ01lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29u
c29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkxvZzsKLSAgICBjYXNlIENsZWFyTWVzc2FnZVR5
cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2Fn
ZTo6VHlwZTo6Q2xlYXI7Ci0gICAgY2FzZSBEaXJNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rv
cjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpEaXI7Ci0gICAg
Y2FzZSBEaXJYTUxNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpEaXJYTUw7Ci0gICAgY2FzZSBUYWJsZU1lc3Nh
Z2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1l
c3NhZ2U6OlR5cGU6OlRhYmxlOwotICAgIGNhc2UgVHJhY2VNZXNzYWdlVHlwZTogcmV0dXJuIElu
c3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpUcmFj
ZTsKLSAgICBjYXNlIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpTdGFydEdyb3VwOwotICAg
IGNhc2UgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlN0YXJ0R3JvdXBDb2xs
YXBzZWQ7Ci0gICAgY2FzZSBFbmRHcm91cE1lc3NhZ2VUeXBlOiByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkVuZEdyb3VwOwotICAg
IGNhc2UgQXNzZXJ0TWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6QXNzZXJ0OwotICAgIGNhc2UgVGltaW5nTWVz
c2FnZVR5cGU6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xl
TWVzc2FnZTo6VHlwZTo6VGltaW5nOwotICAgIGNhc2UgUHJvZmlsZU1lc3NhZ2VUeXBlOiByZXR1
cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6
OlByb2ZpbGU7Ci0gICAgY2FzZSBQcm9maWxlRW5kTWVzc2FnZVR5cGU6IHJldHVybiBJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6UHJvZmlsZUVu
ZDsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpMb2c6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWls
ZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6TG9nOworICAgIGNhc2UgTWVzc2Fn
ZVR5cGU6OkNsZWFyOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29u
c29sZU1lc3NhZ2U6OlR5cGU6OkNsZWFyOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkRpcjogcmV0
dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBl
OjpEaXI7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6RGlyWE1MOiByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkRpclhNTDsKKyAgICBj
YXNlIE1lc3NhZ2VUeXBlOjpUYWJsZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpUYWJsZTsKKyAgICBjYXNlIE1lc3NhZ2VUeXBl
OjpUcmFjZTogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpUeXBlOjpUcmFjZTsKKyAgICBjYXNlIE1lc3NhZ2VUeXBlOjpTdGFydEdyb3VwOiBy
ZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5
cGU6OlN0YXJ0R3JvdXA7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6U3RhcnRHcm91cENvbGxhcHNl
ZDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdl
OjpUeXBlOjpTdGFydEdyb3VwQ29sbGFwc2VkOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkVuZEdy
b3VwOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlR5cGU6OkVuZEdyb3VwOworICAgIGNhc2UgTWVzc2FnZVR5cGU6OkFzc2VydDogcmV0dXJu
IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpB
c3NlcnQ7CisgICAgY2FzZSBNZXNzYWdlVHlwZTo6VGltaW5nOiByZXR1cm4gSW5zcGVjdG9yOjpU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlRpbWluZzsKKyAgICBj
YXNlIE1lc3NhZ2VUeXBlOjpQcm9maWxlOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OlByb2ZpbGU7CisgICAgY2FzZSBNZXNzYWdl
VHlwZTo6UHJvZmlsZUVuZDogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6
OkNvbnNvbGVNZXNzYWdlOjpUeXBlOjpQcm9maWxlRW5kOwogICAgIH0KICAgICByZXR1cm4gSW5z
cGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlR5cGU6OkxvZzsK
IH0KQEAgLTE4MCwxMCArMTc2LDEwIEBAIHN0YXRpYyBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
b25zb2xlOjpDb25zb2xlTWVzc2FnZTo6VHlwZTo6RW51bSBtZXNzYWdlVHlwZVZhCiBzdGF0aWMg
SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpF
bnVtIG1lc3NhZ2VMZXZlbFZhbHVlKE1lc3NhZ2VMZXZlbCBsZXZlbCkKIHsKICAgICBzd2l0Y2gg
KGxldmVsKSB7Ci0gICAgY2FzZSBEZWJ1Z01lc3NhZ2VMZXZlbDogcmV0dXJuIEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6RGVidWc7Ci0gICAg
Y2FzZSBMb2dNZXNzYWdlTGV2ZWw6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25z
b2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkxvZzsKLSAgICBjYXNlIFdhcm5pbmdNZXNzYWdl
TGV2ZWw6IHJldHVybiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVz
c2FnZTo6TGV2ZWw6Oldhcm5pbmc7Ci0gICAgY2FzZSBFcnJvck1lc3NhZ2VMZXZlbDogcmV0dXJu
IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6
RXJyb3I7CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkxvZzogcmV0dXJuIEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6TG9nOworICAgIGNhc2Ug
TWVzc2FnZUxldmVsOjpXYXJuaW5nOiByZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29u
c29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpXYXJuaW5nOworICAgIGNhc2UgTWVzc2FnZUxl
dmVsOjpFcnJvcjogcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNv
bGVNZXNzYWdlOjpMZXZlbDo6RXJyb3I7CisgICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkRlYnVnOiBy
ZXR1cm4gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6Okxl
dmVsOjpEZWJ1ZzsKICAgICB9CiAgICAgcmV0dXJuIEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6TG9nOwogfQpAQCAtMTk0LDE5ICsxOTAsMjIg
QEAgdm9pZCBDb25zb2xlTWVzc2FnZTo6YWRkVG9Gcm9udGVuZChJbnNwZWN0b3JDb25zb2xlRnJv
bnRlbmREaXNwYXRjaGVyKiBjb25zb2xlRnIKICAgICAgICAgLnNldFNvdXJjZShtZXNzYWdlU291
cmNlVmFsdWUobV9zb3VyY2UpKQogICAgICAgICAuc2V0TGV2ZWwobWVzc2FnZUxldmVsVmFsdWUo
bV9sZXZlbCkpCiAgICAgICAgIC5zZXRUZXh0KG1fbWVzc2FnZSk7CisKICAgICAvLyBGSVhNRTog
b25seSBzZW5kIG91dCB0eXBlIGZvciBDb25zb2xlQVBJIHNvdXJjZSBtZXNzYWdlcy4KICAgICBq
c29uT2JqLT5zZXRUeXBlKG1lc3NhZ2VUeXBlVmFsdWUobV90eXBlKSk7CiAgICAganNvbk9iai0+
c2V0TGluZShzdGF0aWNfY2FzdDxpbnQ+KG1fbGluZSkpOwogICAgIGpzb25PYmotPnNldENvbHVt
bihzdGF0aWNfY2FzdDxpbnQ+KG1fY29sdW1uKSk7CiAgICAganNvbk9iai0+c2V0VXJsKG1fdXJs
KTsKICAgICBqc29uT2JqLT5zZXRSZXBlYXRDb3VudChzdGF0aWNfY2FzdDxpbnQ+KG1fcmVwZWF0
Q291bnQpKTsKLSAgICBpZiAobV9zb3VyY2UgPT0gTmV0d29ya01lc3NhZ2VTb3VyY2UgJiYgIW1f
cmVxdWVzdElkLmlzRW1wdHkoKSkKKworICAgIGlmIChtX3NvdXJjZSA9PSBNZXNzYWdlU291cmNl
OjpOZXR3b3JrICYmICFtX3JlcXVlc3RJZC5pc0VtcHR5KCkpCiAgICAgICAgIGpzb25PYmotPnNl
dE5ldHdvcmtSZXF1ZXN0SWQobV9yZXF1ZXN0SWQpOworCiAgICAgaWYgKG1fYXJndW1lbnRzICYm
IG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCkpIHsKICAgICAgICAgSW5qZWN0ZWRTY3JpcHQg
aW5qZWN0ZWRTY3JpcHQgPSBpbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0Rm9y
KG1fYXJndW1lbnRzLT5nbG9iYWxTdGF0ZSgpKTsKICAgICAgICAgaWYgKCFpbmplY3RlZFNjcmlw
dC5oYXNOb1ZhbHVlKCkpIHsKICAgICAgICAgICAgIFJlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWls
ZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+
PiBqc29uQXJncyA9IEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rvcjo6VHlw
ZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD46OmNyZWF0ZSgpOwotICAgICAgICAgICAg
aWYgKG1fdHlwZSA9PSBUYWJsZU1lc3NhZ2VUeXBlICYmIGdlbmVyYXRlUHJldmlldyAmJiBtX2Fy
Z3VtZW50cy0+YXJndW1lbnRDb3VudCgpKSB7CisgICAgICAgICAgICBpZiAobV90eXBlID09IE1l
c3NhZ2VUeXBlOjpUYWJsZSAmJiBnZW5lcmF0ZVByZXZpZXcgJiYgbV9hcmd1bWVudHMtPmFyZ3Vt
ZW50Q291bnQoKSkgewogICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlIHRh
YmxlID0gbV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoMCk7CiAgICAgICAgICAgICAgICAgRGVwcmVj
YXRlZDo6U2NyaXB0VmFsdWUgY29sdW1ucyA9IG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCkg
PiAxID8gbV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoMSkgOiBEZXByZWNhdGVkOjpTY3JpcHRWYWx1
ZSgpOwogICAgICAgICAgICAgICAgIFJlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpSdW50
aW1lOjpSZW1vdGVPYmplY3Q+IGluc3BlY3RvclZhbHVlID0gaW5qZWN0ZWRTY3JpcHQud3JhcFRh
YmxlKHRhYmxlLCBjb2x1bW5zKTsKQEAgLTIyOCw4ICsyMjcsMTAgQEAgdm9pZCBDb25zb2xlTWVz
c2FnZTo6YWRkVG9Gcm9udGVuZChJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKiBj
b25zb2xlRnIKICAgICAgICAgICAgIGpzb25PYmotPnNldFBhcmFtZXRlcnMoanNvbkFyZ3MpOwog
ICAgICAgICB9CiAgICAgfQorCiAgICAgaWYgKG1fY2FsbFN0YWNrKQogICAgICAgICBqc29uT2Jq
LT5zZXRTdGFja1RyYWNlKG1fY2FsbFN0YWNrLT5idWlsZEluc3BlY3RvckFycmF5KCkpOworCiAg
ICAgY29uc29sZUZyb250ZW5kRGlzcGF0Y2hlci0+bWVzc2FnZUFkZGVkKGpzb25PYmopOwogfQog
CkBAIC0yNDMsNiArMjQ0LDcgQEAgYm9vbCBDb25zb2xlTWVzc2FnZTo6aXNFcXVhbChDb25zb2xl
TWVzc2FnZSogbXNnKSBjb25zdAogICAgIGlmIChtX2FyZ3VtZW50cykgewogICAgICAgICBpZiAo
IW1fYXJndW1lbnRzLT5pc0VxdWFsKG1zZy0+bV9hcmd1bWVudHMuZ2V0KCkpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIC8vIE5ldmVyIHRyZWF0IG9iamVjdHMgYXMgZXF1
YWwgLSB0aGVpciBwcm9wZXJ0aWVzIG1pZ2h0IGNoYW5nZSBvdmVyIHRpbWUuCiAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9hcmd1bWVudHMtPmFyZ3VtZW50Q291bnQoKTsgKytpKSB7
CiAgICAgICAgICAgICBpZiAobV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoaSkuaXNPYmplY3QoKSkK
QEAgLTI2NywyNCArMjY5LDMxIEBAIGJvb2wgQ29uc29sZU1lc3NhZ2U6OmlzRXF1YWwoQ29uc29s
ZU1lc3NhZ2UqIG1zZykgY29uc3QKICAgICAgICAgJiYgbXNnLT5tX3JlcXVlc3RJZCA9PSBtX3Jl
cXVlc3RJZDsKIH0KIAotdm9pZCBDb25zb2xlTWVzc2FnZTo6d2luZG93Q2xlYXJlZChET01XaW5k
b3cqIHdpbmRvdykKK3ZvaWQgQ29uc29sZU1lc3NhZ2U6OmNsZWFyKCkKIHsKLSAgICBpZiAoIW1f
YXJndW1lbnRzKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKGRvbVdpbmRvd0Zyb21FeGVjU3Rh
dGUobV9hcmd1bWVudHMtPmdsb2JhbFN0YXRlKCkpICE9IHdpbmRvdykKLSAgICAgICAgcmV0dXJu
OwogICAgIGlmICghbV9tZXNzYWdlKQotICAgICAgICBtX21lc3NhZ2UgPSAiPG1lc3NhZ2UgY29s
bGVjdGVkPiI7Ci0gICAgbV9hcmd1bWVudHMuY2xlYXIoKTsKKyAgICAgICAgbV9tZXNzYWdlID0g
QVNDSUlMaXRlcmFsKCI8bWVzc2FnZSBjb2xsZWN0ZWQ+Iik7CisKKyAgICBpZiAobV9hcmd1bWVu
dHMpCisgICAgICAgIG1fYXJndW1lbnRzLmNsZWFyKCk7Cit9CisKK0pTQzo6RXhlY1N0YXRlKiBD
b25zb2xlTWVzc2FnZTo6c2NyaXB0U3RhdGUoKSBjb25zdAoreworICAgIGlmIChtX2FyZ3VtZW50
cykKKyAgICAgICAgcmV0dXJuIG1fYXJndW1lbnRzLT5nbG9iYWxTdGF0ZSgpOworCisgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKLXVuc2lnbmVkIENvbnNvbGVNZXNzYWdlOjphcmd1bWVudENvdW50
KCkKK3Vuc2lnbmVkIENvbnNvbGVNZXNzYWdlOjphcmd1bWVudENvdW50KCkgY29uc3QKIHsKICAg
ICBpZiAobV9hcmd1bWVudHMpCiAgICAgICAgIHJldHVybiBtX2FyZ3VtZW50cy0+YXJndW1lbnRD
b3VudCgpOworCiAgICAgcmV0dXJuIDA7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCnNpbWlsYXJpdHkg
aW5kZXggODQlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVz
c2FnZS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVN
ZXNzYWdlLmgKaW5kZXggMWExZWFhMS4uNDk4ZWIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0zMSwyNyArMzEsMjUgQEAKICNpZm5kZWYg
Q29uc29sZU1lc3NhZ2VfaAogI2RlZmluZSBDb25zb2xlTWVzc2FnZV9oCiAKLSNpbmNsdWRlICJD
b25zb2xlQVBJVHlwZXMuaCIKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAjaW5jbHVkZSAiQ29u
c29sZVR5cGVzLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVycy5o
IgotI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySlNGcm9udGVu
ZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworY2xhc3MgRXhlY1N0YXRlOworfQogCiBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKKwogY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwotY2xhc3Mg
SW5zcGVjdG9yT2JqZWN0OwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERPTVdp
bmRvdzsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKLWNsYXNzIFNjcmlwdENhbGxGcmFtZTsKIGNs
YXNzIFNjcmlwdENhbGxTdGFjazsKIAotY2xhc3MgQ29uc29sZU1lc3NhZ2UgewotICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBDb25zb2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ss
IE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogICAgIENvbnNv
bGVNZXNzYWdlKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiB1cmwsIHVuc2lnbmVkIGxpbmUsIHVuc2lnbmVkIGNvbHVtbiwgSlNDOjpFeGVjU3RhdGUqID0g
bnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwpAQCAtNTksMTgg
KzU3LDIxIEBAIHB1YmxpYzoKICAgICBDb25zb2xlTWVzc2FnZShib29sIGNhbkdlbmVyYXRlQ2Fs
bFN0YWNrLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgSlNDOjpFeGVjU3Rh
dGUqLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAgICAgfkNvbnNvbGVN
ZXNzYWdlKCk7CiAKLSAgICB2b2lkIGFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JD
b25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKiwgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqLCBib29sIGdlbmVyYXRlUHJldmlldyk7Ci0gICAgdm9pZCB1cGRhdGVSZXBlYXRDb3VudElu
Q29uc29sZShJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXIqKTsK
LSAgICB2b2lkIGluY3JlbWVudENvdW50KCkgeyArK21fcmVwZWF0Q291bnQ7IH0KLSAgICBib29s
IGlzRXF1YWwoQ29uc29sZU1lc3NhZ2UqIG1zZykgY29uc3Q7CisgICAgdm9pZCBhZGRUb0Zyb250
ZW5kKEluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXIqLCBJbmplY3RlZFNjcmlwdE1h
bmFnZXIqLCBib29sIGdlbmVyYXRlUHJldmlldyk7CisgICAgdm9pZCB1cGRhdGVSZXBlYXRDb3Vu
dEluQ29uc29sZShJbnNwZWN0b3JDb25zb2xlRnJvbnRlbmREaXNwYXRjaGVyKik7CiAKICAgICBN
ZXNzYWdlU291cmNlIHNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlOyB9CiAgICAgY29u
c3QgU3RyaW5nJiBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9CiAgICAgTWVz
c2FnZVR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAgIEpTQzo6RXhlY1N0
YXRlKiBzY3JpcHRTdGF0ZSgpIGNvbnN0OwogCi0gICAgdm9pZCB3aW5kb3dDbGVhcmVkKERPTVdp
bmRvdyopOworICAgIHZvaWQgaW5jcmVtZW50Q291bnQoKSB7ICsrbV9yZXBlYXRDb3VudDsgfQog
Ci0gICAgdW5zaWduZWQgYXJndW1lbnRDb3VudCgpOworICAgIHVuc2lnbmVkIGFyZ3VtZW50Q291
bnQoKSBjb25zdDsKKworICAgIGJvb2wgaXNFcXVhbChDb25zb2xlTWVzc2FnZSogbXNnKSBjb25z
dDsKKworICAgIHZvaWQgY2xlYXIoKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIGF1dG9nZW5lcmF0
ZU1ldGFkYXRhKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3RhY2ssIEpTQzo6RXhlY1N0YXRlKiA9IG51
bGxwdHIpOwpAQCAtODgsNiArODksOCBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3JlcXVlc3RJ
ZDsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3Rv
cgogCiAjZW5kaWYgLy8gQ29uc29sZU1lc3NhZ2VfaAorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BF
Q1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlw
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKc2lt
aWxhcml0eSBpbmRleCA2NCUKY29weSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25z
b2xlQVBJVHlwZXMuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29u
c29sZVR5cGVzLmgKaW5kZXggMTFmNjVlYy4uMWM5NDA5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dApAQCAtMjIsMjcgKzIzLDUyIEBACiAgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIENvbnNv
bGVBUElUeXBlc19oCi0jZGVmaW5lIENvbnNvbGVBUElUeXBlc19oCisjaWZuZGVmIENvbnNvbGVU
eXBlc19oCisjZGVmaW5lIENvbnNvbGVUeXBlc19oCiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25h
bWVzcGFjZSBJbnNwZWN0b3IgewogCi1lbnVtIE1lc3NhZ2VUeXBlIHsKLSAgICBMb2dNZXNzYWdl
VHlwZSwKLSAgICBEaXJNZXNzYWdlVHlwZSwKLSAgICBEaXJYTUxNZXNzYWdlVHlwZSwKLSAgICBU
YWJsZU1lc3NhZ2VUeXBlLAotICAgIFRyYWNlTWVzc2FnZVR5cGUsCi0gICAgU3RhcnRHcm91cE1l
c3NhZ2VUeXBlLAotICAgIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSwKLSAgICBFbmRH
cm91cE1lc3NhZ2VUeXBlLAotICAgIENsZWFyTWVzc2FnZVR5cGUsCi0gICAgQXNzZXJ0TWVzc2Fn
ZVR5cGUsCi0gICAgVGltaW5nTWVzc2FnZVR5cGUsCi0gICAgUHJvZmlsZU1lc3NhZ2VUeXBlLAot
ICAgIFByb2ZpbGVFbmRNZXNzYWdlVHlwZQorZW51bSBjbGFzcyBNZXNzYWdlU291cmNlIHsKKyAg
ICBYTUwsCisgICAgSlMsCisgICAgTmV0d29yaywKKyAgICBDb25zb2xlQVBJLAorICAgIFN0b3Jh
Z2UsCisgICAgQXBwQ2FjaGUsCisgICAgUmVuZGVyaW5nLAorICAgIENTUywKKyAgICBTZWN1cml0
eSwKKyAgICBPdGhlciwKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK2VudW0gY2xhc3Mg
TWVzc2FnZVR5cGUgeworICAgIExvZywKKyAgICBEaXIsCisgICAgRGlyWE1MLAorICAgIFRhYmxl
LAorICAgIFRyYWNlLAorICAgIFN0YXJ0R3JvdXAsCisgICAgU3RhcnRHcm91cENvbGxhcHNlZCwK
KyAgICBFbmRHcm91cCwKKyAgICBDbGVhciwKKyAgICBBc3NlcnQsCisgICAgVGltaW5nLAorICAg
IFByb2ZpbGUsCisgICAgUHJvZmlsZUVuZCwKK307CisKK2VudW0gY2xhc3MgTWVzc2FnZUxldmVs
IHsKKyAgICBMb2cgPSAxLAorICAgIFdhcm5pbmcgPSAyLAorICAgIEVycm9yID0gMywKKyAgICBE
ZWJ1ZyA9IDQsCit9OworCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKKworLy8gVGhlc2Ugd2ls
bCBsaWtlbHkgbW92ZSBvdXQgb2YgdGhlIGluc3BlY3RvciBuYW1lc3BhY2UuCit1c2luZyBJbnNw
ZWN0b3I6Ok1lc3NhZ2VTb3VyY2U7Cit1c2luZyBJbnNwZWN0b3I6Ok1lc3NhZ2VUeXBlOwordXNp
bmcgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWw7CiAKLSNlbmRpZiAvLyBDb25zb2xlQVBJVHlwZXNf
aAorI2VuZGlmIC8vIENvbnNvbGVUeXBlc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcApzaW1pbGFyaXR5IGluZGV4IDkzJQpyZW5h
bWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcApy
ZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3Rv
cnkuY3BwCmluZGV4IGRjZTJhMjguLjRmYmIzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcApAQCAtMSw0ICsxLDUgQEAKIC8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dApAQCAtMjQsMjkgKzI1LDI1IEBACiAgKi8KIAogI2luY2x1ZGUgImNv
bmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIklkZW50aWZpZXJz
RmFjdG9yeS5oIgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0J1aWxkZXIuaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CiAKIG5hbWVzcGFjZSB7CiBzdGF0aWMgbG9uZyBzX2xhc3RVc2VkSWRlbnRpZmllciA9
IDA7CiB9CiAKLS8vIHN0YXRpYwotbG9uZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnNfcHJvY2Vzc0lk
OworbG9uZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnNfcHJvY2Vzc0lkID0gMDsKIAotLy8gc3RhdGlj
CiBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCkKIHsKICAgICBy
ZXR1cm4gYWRkUHJvY2Vzc0lkUHJlZml4VG8oU3RyaW5nOjpudW1iZXIoKytzX2xhc3RVc2VkSWRl
bnRpZmllcikpOwogfQogCi0vLyBzdGF0aWMKIFN0cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJl
cXVlc3RJZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7CiAgICAgaWYgKGlkZW50aWZpZXIp
CkBAIC01NCw3ICs1MSw2IEBAIFN0cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZCh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi0vLyBz
dGF0aWMKIFN0cmluZyBJZGVudGlmaWVyc0ZhY3Rvcnk6OmFkZFByb2Nlc3NJZFByZWZpeFRvKGNv
bnN0IFN0cmluZyYgaWQpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwpAQCAtNjQsNiAr
NjAsNiBAQCBTdHJpbmcgSWRlbnRpZmllcnNGYWN0b3J5OjphZGRQcm9jZXNzSWRQcmVmaXhUbyhj
b25zdCBTdHJpbmcmIGlkKQogICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiB9CiAKLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JZGVudGlmaWVyc0ZhY3RvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SWRlbnRpZmllcnNGYWN0b3J5LmgKc2ltaWxhcml0eSBpbmRleCA5NSUKcmVuYW1lIGZyb20gU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCnJlbmFtZSB0byBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCmluZGV4IGIx
YTljNDguLmIyODRhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVu
dGlmaWVyc0ZhY3RvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lk
ZW50aWZpZXJzRmFjdG9yeS5oCkBAIC0yNiwyNCArMjYsMjUgQEAKICNpZm5kZWYgSWRlbnRpZmll
cnNGYWN0b3J5X2gKICNkZWZpbmUgSWRlbnRpZmllcnNGYWN0b3J5X2gKIAotI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgotCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotbmFtZXNwYWNl
IFdlYkNvcmUgeworI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi1jbGFzcyBJZGVu
dGlmaWVyc0ZhY3RvcnkgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CisKK2NsYXNzIEpTX0VYUE9S
VF9QUklWQVRFIElkZW50aWZpZXJzRmFjdG9yeSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQg
c2V0UHJvY2Vzc0lkKGxvbmcgcHJvY2Vzc0lkKSB7IHNfcHJvY2Vzc0lkID0gcHJvY2Vzc0lkOyB9
CiAgICAgc3RhdGljIFN0cmluZyBjcmVhdGVJZGVudGlmaWVyKCk7CiAgICAgc3RhdGljIFN0cmlu
ZyByZXF1ZXN0SWQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKTsKKwogcHJpdmF0ZToKICAgICBz
dGF0aWMgU3RyaW5nIGFkZFByb2Nlc3NJZFByZWZpeFRvKGNvbnN0IFN0cmluZyYgaWQpOwogCiAg
ICAgc3RhdGljIGxvbmcgc19wcm9jZXNzSWQ7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Cit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vICFkZWZpbmVkKElkZW50aWZp
ZXJzRmFjdG9yeV9oKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
aW5kZXggNDI0YTg3Zi4uNzVkYmRiNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250
cm9sbGVyLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgiCiAjaW5j
bHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdENvbnNvbGVB
Z2VudC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oIgogI2luY2x1
ZGUgIkpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmgiCiAKQEAgLTUzLDcgKzU0LDExIEBAIEpT
R2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JD
b250cm9sbGVyKEpTR2xvYmFsT2JqCiAgICAgSW5zcGVjdG9yUnVudGltZUFnZW50KiBydW50aW1l
QWdlbnQgPSBydW50aW1lQWdlbnRQdHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6
bW92ZShydW50aW1lQWdlbnRQdHIpKTsKIAotICAgIGF1dG8gZGVidWdnZXJBZ2VudFB0ciA9IHN0
ZDo6bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50PihtX2luamVjdGVkU2Ny
aXB0TWFuYWdlci5nZXQoKSwgbV9nbG9iYWxPYmplY3QpOworICAgIGF1dG8gY29uc29sZUFnZW50
UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudD4obV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpOworICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29u
c29sZUFnZW50ID0gY29uc29sZUFnZW50UHRyLmdldCgpOworICAgIG1fYWdlbnRzLmFwcGVuZChz
dGQ6Om1vdmUoY29uc29sZUFnZW50UHRyKSk7CisKKyAgICBhdXRvIGRlYnVnZ2VyQWdlbnRQdHIg
PSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudD4obV9pbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuZ2V0KCksIG1fZ2xvYmFsT2JqZWN0LCBjb25zb2xlQWdlbnQpOwogICAg
IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIGRlYnVnZ2VyQWdlbnQgPSBkZWJ1Z2dlckFnZW50UHRy
LmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUoZGVidWdnZXJBZ2VudFB0cikp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNw
cApzaW1pbGFyaXR5IGluZGV4IDkwJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvU2NyaXB0QXJndW1lbnRzLmNwcApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCmluZGV4IDllNjVmN2UuLjE1ZjE0ZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcApAQCAt
MSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQog
ICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKQEAgLTE0
LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgogICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMTcgKzMyLDE3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCiAKLSNpbmNs
dWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgorI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCiAK
LW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBQYXNzUmVmUHRy
PFNjcmlwdEFyZ3VtZW50cz4gU2NyaXB0QXJndW1lbnRzOjpjcmVhdGUoSlNDOjpFeGVjU3RhdGUq
IHNjcmlwdFN0YXRlLCBWZWN0b3I8RGVwcmVjYXRlZDo6U2NyaXB0VmFsdWU+JiBhcmd1bWVudHMp
CiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JpcHRBcmd1bWVudHMoc2NyaXB0U3RhdGUs
IGFyZ3VtZW50cykpOwogfQogCi1TY3JpcHRBcmd1bWVudHM6OlNjcmlwdEFyZ3VtZW50cyhKU0M6
OkV4ZWNTdGF0ZSogc2NyaXB0U3RhdGUsIFZlY3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4m
IGFyZ3VtZW50cykKLSAgICA6IG1fZ2xvYmFsT2JqZWN0KHNjcmlwdFN0YXRlLT52bSgpLCBzY3Jp
cHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKQorU2NyaXB0QXJndW1lbnRzOjpTY3JpcHRB
cmd1bWVudHMoSlNDOjpFeGVjU3RhdGUqIGV4ZWNTdGF0ZSwgVmVjdG9yPERlcHJlY2F0ZWQ6OlNj
cmlwdFZhbHVlPiYgYXJndW1lbnRzKQorICAgIDogbV9nbG9iYWxPYmplY3QoZXhlY1N0YXRlLT52
bSgpLCBleGVjU3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKSkKIHsKICAgICBtX2FyZ3VtZW50
cy5zd2FwKGFyZ3VtZW50cyk7CiB9CkBAIC02MCw2ICs2MSw3IEBAIEpTQzo6RXhlY1N0YXRlKiBT
Y3JpcHRBcmd1bWVudHM6Omdsb2JhbFN0YXRlKCkgY29uc3QKIHsKICAgICBpZiAobV9nbG9iYWxP
YmplY3QpCiAgICAgICAgIHJldHVybiBjb25zdF9jYXN0PEpTQzo6SlNHbG9iYWxPYmplY3QqPiht
X2dsb2JhbE9iamVjdC5nZXQoKSktPmdsb2JhbEV4ZWMoKTsKKwogICAgIHJldHVybiBudWxscHRy
OwogfQogCkBAIC05NSw3ICs5Nyw4IEBAIGJvb2wgU2NyaXB0QXJndW1lbnRzOjppc0VxdWFsKFNj
cmlwdEFyZ3VtZW50cyogb3RoZXIpIGNvbnN0CiAgICAgICAgIGlmICghbV9hcmd1bWVudHNbaV0u
aXNFcXVhbChvdGhlci0+Z2xvYmFsU3RhdGUoKSwgb3RoZXItPm1fYXJndW1lbnRzW2ldKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oCnNpbWlsYXJpdHkgaW5k
ZXggOTAlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVu
dHMuaApyZW5hbWUgdG8gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRBcmd1
bWVudHMuaAppbmRleCA0N2E5NjIzLi41MzM3ZTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaApAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CkBAIC00NiwxMiArNDcsMTEgQEAgY2xhc3MgRXhlY1N0YXRlOwogY2xhc3MgSlNHbG9i
YWxPYmplY3Q7CiB9CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3Ig
ewogCi1jbGFzcyBTY3JpcHRBcmd1bWVudHMgOiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRBcmd1
bWVudHM+IHsKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFNjcmlwdEFyZ3VtZW50cyA6IHB1Ymxp
YyBSZWZDb3VudGVkPFNjcmlwdEFyZ3VtZW50cz4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gY3JlYXRlKEpTQzo6RXhlY1N0YXRlKiwgVmVjdG9yPERl
cHJlY2F0ZWQ6OlNjcmlwdFZhbHVlPiYgYXJndW1lbnRzKTsKLQogICAgIH5TY3JpcHRBcmd1bWVu
dHMoKTsKIAogICAgIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBhcmd1bWVudEF0KHNp
emVfdCkgY29uc3Q7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKIAogICAgIEpTQzo6RXhlY1N0
YXRlKiBnbG9iYWxTdGF0ZSgpIGNvbnN0OwogCi0gICAgYm9vbCBnZXRGaXJzdEFyZ3VtZW50QXNT
dHJpbmcoV1RGOjpTdHJpbmcmIHJlc3VsdCwgYm9vbCBjaGVja0Zvck51bGxPclVuZGVmaW5lZCA9
IGZhbHNlKTsKKyAgICBib29sIGdldEZpcnN0QXJndW1lbnRBc1N0cmluZyhTdHJpbmcmIHJlc3Vs
dCwgYm9vbCBjaGVja0Zvck51bGxPclVuZGVmaW5lZCA9IGZhbHNlKTsKICAgICBib29sIGlzRXF1
YWwoU2NyaXB0QXJndW1lbnRzKikgY29uc3Q7CiAKIHByaXZhdGU6CkBAIC02OSw2ICs2OSw2IEBA
IHByaXZhdGU6CiAgICAgVmVjdG9yPERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlPiBtX2FyZ3VtZW50
czsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3Rv
cgogCiAjZW5kaWYgLy8gU2NyaXB0QXJndW1lbnRzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTIlCnJlbmFt
ZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCnJlbmFt
ZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAK
aW5kZXggNjljMjhmOS4uYzdhODIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1NjcmlwdENhbGxGcmFtZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdo
dCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogCisgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAgKiBtZXQ6Ci0gKiAKKyAqCiAgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAogICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgogICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQpAQCAtMTQsNyArMTUsNyBAQAogICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCkBAIC0zMSwxMyArMzIsMTAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJTY3JpcHRDYWxsRnJhbWUuaCIKIAotI2luY2x1ZGUgIkluc3BlY3RvcldlYkZyb250ZW5kRGlz
cGF0Y2hlcnMuaCIKLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+Ci0jaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgorI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBTY3JpcHRDYWxsRnJh
bWU6OlNjcmlwdENhbGxGcmFtZShjb25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSwgY29uc3QgU3Ry
aW5nJiBzY3JpcHROYW1lLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW4pCiAg
ICAgOiBtX2Z1bmN0aW9uTmFtZShmdW5jdGlvbk5hbWUpCkBAIC03MSw0ICs2OSw0IEBAIFBhc3NS
ZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q2FsbEZyYW1lPiBTY3JpcHRD
YWxsRnJhbWU6OmJ1aWxkSW5zCiB9CiAjZW5kaWYKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
fSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L1NjcmlwdENhbGxGcmFtZS5oCnNpbWlsYXJpdHkgaW5kZXggOTMlCnJlbmFtZSBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaApyZW5hbWUgdG8gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaAppbmRleCBkNmRjZmEzLi4w
MDUyNGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZy
YW1lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJh
bWUuaApAQCAtMSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQogICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKQEAgLTE0LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgog
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMjAgKzMy
LDE2IEBACiAjaWZuZGVmIFNjcmlwdENhbGxGcmFtZV9oCiAjZGVmaW5lIFNjcmlwdENhbGxGcmFt
ZV9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIkluc3BlY3RvcldlYlR5cGVC
dWlsZGVycy5oIgotI2VuZGlmCi0KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyNpbmNsdWRl
ICJJbnNwZWN0b3JKU1R5cGVCdWlsZGVycy5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBJbnNwZWN0
b3IgewotY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwotfQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIFNjcmlwdENhbGxGcmFtZSAgeworY2xhc3MgSlNfRVhQT1JUX1BSSVZBVEUgU2NyaXB0
Q2FsbEZyYW1lICB7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FsbEZyYW1lKGNvbnN0IFN0cmluZyYg
ZnVuY3Rpb25OYW1lLCBjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIHVuc2lnbmVkIGNvbHVtbik7CiAgICAgflNjcmlwdENhbGxGcmFtZSgpOwpAQCAtNjcsNiAr
NjQsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY29sdW1uOwogfTsKIAotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBTY3Jp
cHRDYWxsRnJhbWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5jcHAKc2ltaWxhcml0eSBpbmRleCA5MiUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKcmVuYW1lIHRvIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcAppbmRleCBjNGFmMWI0Li4yZGQy
ODVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5jcHAKQEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDA4LCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogCisgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCiAgKiBtZXQ6Ci0gKiAKKyAqCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQpAQCAtMTQsNyArMTUsNyBAQAogICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KICAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKiAKKyAq
CiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCkBAIC0zMSwxMiAr
MzIsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5o
IgogCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViVHlwZUJ1aWxkZXJzLmgiCi0jaW5jbHVkZSA8aW5z
cGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgog
Ci11c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7CituYW1l
c3BhY2UgSW5zcGVjdG9yIHsKIAogUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IFNjcmlwdENh
bGxTdGFjazo6Y3JlYXRlKFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBmcmFtZXMpCiB7CkBAIC01
Miw3ICs1MCw3IEBAIFNjcmlwdENhbGxTdGFjazo6flNjcmlwdENhbGxTdGFjaygpCiB7CiB9CiAK
LWNvbnN0IFNjcmlwdENhbGxGcmFtZSAmU2NyaXB0Q2FsbFN0YWNrOjphdChzaXplX3QgaW5kZXgp
IGNvbnN0Citjb25zdCBTY3JpcHRDYWxsRnJhbWUmIFNjcmlwdENhbGxTdGFjazo6YXQoc2l6ZV90
IGluZGV4KSBjb25zdAogewogICAgIEFTU0VSVChtX2ZyYW1lcy5zaXplKCkgPiBpbmRleCk7CiAg
ICAgcmV0dXJuIG1fZnJhbWVzW2luZGV4XTsKQEAgLTkwLDQgKzg4LDQgQEAgUGFzc1JlZlB0cjxJ
bnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpDb25z
b2xlOjpDYWxsRnIKIH0KICNlbmRpZgogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5h
bWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0
Q2FsbFN0YWNrLmgKc2ltaWxhcml0eSBpbmRleCA4OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCmluZGV4IDE5NzVkYTVjLi5kZGFhMmJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaApA
QCAtMSwxMCArMSwxMSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDgsIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQogICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKQEAgLTE0LDcgKzE1LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgog
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtMzEsMTggKzMy
LDE4IEBACiAjaWZuZGVmIFNjcmlwdENhbGxTdGFja19oCiAjZGVmaW5lIFNjcmlwdENhbGxTdGFj
a19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIkluc3BlY3RvcldlYlR5cGVC
dWlsZGVycy5oIgotI2VuZGlmCi0KICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYgRU5BQkxFKElOU1BF
Q1RPUikKKyNpbmNsdWRlICJJbnNwZWN0b3JKU1R5cGVCdWlsZGVycy5oIgorI2VuZGlmCiAKLWNs
YXNzIFNjcmlwdENhbGxTdGFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFNjcmlwdENhbGxTdGFjaz4g
eworbmFtZXNwYWNlIEluc3BlY3RvciB7CisKK2NsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFNjcmlw
dENhbGxTdGFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFNjcmlwdENhbGxTdGFjaz4gewogcHVibGlj
OgogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIw
MDsKICAgICAKQEAgLTUwLDcgKzUxLDcgQEAgcHVibGljOgogCiAgICAgflNjcmlwdENhbGxTdGFj
aygpOwogCi0gICAgY29uc3QgU2NyaXB0Q2FsbEZyYW1lICZhdChzaXplX3QpIGNvbnN0OworICAg
IGNvbnN0IFNjcmlwdENhbGxGcmFtZSYgYXQoc2l6ZV90KSBjb25zdDsKICAgICBzaXplX3Qgc2l6
ZSgpIGNvbnN0OwogCiAgICAgYm9vbCBpc0VxdWFsKFNjcmlwdENhbGxTdGFjayopIGNvbnN0OwpA
QCAtNjUsNiArNjYsNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+IG1f
ZnJhbWVzOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgSW5z
cGVjdG9yCiAKICNlbmRpZiAvLyBTY3JpcHRDYWxsU3RhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCnNpbWls
YXJpdHkgaW5kZXggNjklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCmluZGV4IDdkNjk1YTQuLjNiMTNk
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5jcHAKQEAgLTEsMTEgKzEsMTIgQEAKIC8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChj
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiAKKyAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICAqIG1ldDoKLSAqIAorICoK
ICAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CiAgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xNSw3ICsxNiw3IEBACiAgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CiAgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQogICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAorICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKQEAgLTMyLDc4ICszMywzMCBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKIAotI2luY2x1ZGUgIkluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgotI2luY2x1
ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgorI2luY2x1ZGUgIkFyZ0xpc3QuaCIKKyNpbmNs
dWRlICJDYWxsRnJhbWUuaCIKKyNpbmNsdWRlICJDYWxsRnJhbWVJbmxpbmVzLmgiCisjaW5jbHVk
ZSAiSlNDSlNWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJTY3Jp
cHRBcmd1bWVudHMuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJT
Y3JpcHRDYWxsU3RhY2suaCIKLSNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgotI2lu
Y2x1ZGUgPGludGVycHJldGVyL0NhbGxGcmFtZS5oPgotI2luY2x1ZGUgPGludGVycHJldGVyL0Nh
bGxGcmFtZUlubGluZXMuaD4KLSNpbmNsdWRlIDxpbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuaD4K
LSNpbmNsdWRlIDxydW50aW1lL0FyZ0xpc3QuaD4KLSNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFs
dWUuaD4KLSNpbmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24uaD4KLSNpbmNsdWRlIDxydW50aW1l
L1ZNLmg+CisjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJTdGFja1Zpc2l0b3Iu
aCIKKyNpbmNsdWRlICJWTS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkQXJyYXkuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAKIGNsYXNzIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3Ig
ewogcHVibGljOgotICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IoVmVjdG9yPFNjcmlw
dENhbGxGcmFtZT4mIGZyYW1lcywgIHNpemVfdCByZW1haW5pbmdDYXBhY2l0eSkKLSAgICAgICAg
OiBtX2ZyYW1lcyhmcmFtZXMpCi0gICAgICAgICwgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1l
Q2FwdHVyZShyZW1haW5pbmdDYXBhY2l0eSkKLSAgICB7Ci0gICAgfQotCi0gICAgU3RhY2tWaXNp
dG9yOjpTdGF0dXMgb3BlcmF0b3IoKShTdGFja1Zpc2l0b3ImIHZpc2l0b3IpCi0gICAgewotICAg
ICAgICBpZiAobV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZSkgewotICAgICAgICAg
ICAgdW5zaWduZWQgbGluZTsKLSAgICAgICAgICAgIHVuc2lnbmVkIGNvbHVtbjsKLSAgICAgICAg
ICAgIHZpc2l0b3ItPmNvbXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUsIGNvbHVtbik7Ci0gICAgICAg
ICAgICBtX2ZyYW1lcy5hcHBlbmQoU2NyaXB0Q2FsbEZyYW1lKHZpc2l0b3ItPmZ1bmN0aW9uTmFt
ZSgpLCB2aXNpdG9yLT5zb3VyY2VVUkwoKSwgbGluZSwgY29sdW1uKSk7Ci0KLSAgICAgICAgICAg
IG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUtLTsKLSAgICAgICAgICAgIHJldHVy
biBTdGFja1Zpc2l0b3I6OkNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBTdGFj
a1Zpc2l0b3I6OkRvbmU7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFZlY3RvcjxTY3JpcHRDYWxs
RnJhbWU+JiBtX2ZyYW1lczsKLSAgICBzaXplX3QgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZyYW1l
Q2FwdHVyZTsKLX07Ci0KLVBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRD
YWxsU3RhY2soc2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0eUlzQWxsb3dlZCkKLXsKLSAg
ICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBmcmFtZXM7Ci0gICAgaWYgKEpTQzo6RXhlY1N0YXRl
KiBleGVjID0gSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSkgewotICAgICAg
ICBDYWxsRnJhbWUqIGZyYW1lID0gZXhlYy0+dm0oKS50b3BDYWxsRnJhbWU7Ci0gICAgICAgIENy
ZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3IgZnVuY3RvcihmcmFtZXMsIG1heFN0YWNrU2l6ZSk7
Ci0gICAgICAgIGZyYW1lLT5pdGVyYXRlKGZ1bmN0b3IpOwotICAgIH0KLSAgICBpZiAoZnJhbWVz
LmlzRW1wdHkoKSAmJiAhZW1wdHlJc0FsbG93ZWQpIHsKLSAgICAgICAgLy8gTm8gZnJhbWVzIGZv
dW5kLiBJdCBtYXkgaGFwcGVuIGluIHRoZSBjYXNlIHdoZXJlCi0gICAgICAgIC8vIGEgYm91bmQg
ZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gbmF0aXZlIGNvZGUgZm9yIGV4YW1wbGUuCi0gICAgICAg
IC8vIEZhbGxiYWNrIHRvIHNldHRpbmcgbGluZU51bWJlciB0byAwLCBhbmQgc291cmNlIGFuZCBm
dW5jdGlvbiBuYW1lIHRvICJ1bmRlZmluZWQiLgotICAgICAgICBmcmFtZXMuYXBwZW5kKFNjcmlw
dENhbGxGcmFtZSgidW5kZWZpbmVkIiwgInVuZGVmaW5lZCIsIDAsIDApKTsKLSAgICB9Ci0gICAg
cmV0dXJuIFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGZyYW1lcyk7Ci19Ci0KLWNsYXNzIENyZWF0
ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGVGdW5jdG9yIHsKLXB1YmxpYzoKLSAgICBDcmVhdGVT
Y3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlRnVuY3Rvcihib29sIG5lZWRUb1NraXBBRnJhbWUsICBz
aXplX3QgcmVtYWluaW5nQ2FwYWNpdHksIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBmcmFtZXMp
CisgICAgQ3JlYXRlU2NyaXB0Q2FsbFN0YWNrRnVuY3Rvcihib29sIG5lZWRUb1NraXBBRnJhbWUs
IFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBmcmFtZXMsIHNpemVfdCByZW1haW5pbmdDYXBhY2l0
eSkKICAgICAgICAgOiBtX25lZWRUb1NraXBBRnJhbWUobmVlZFRvU2tpcEFGcmFtZSkKLSAgICAg
ICAgLCBtX3JlbWFpbmluZ0NhcGFjaXR5Rm9yRnJhbWVDYXB0dXJlKHJlbWFpbmluZ0NhcGFjaXR5
KQogICAgICAgICAsIG1fZnJhbWVzKGZyYW1lcykKKyAgICAgICAgLCBtX3JlbWFpbmluZ0NhcGFj
aXR5Rm9yRnJhbWVDYXB0dXJlKHJlbWFpbmluZ0NhcGFjaXR5KQogICAgIHsKICAgICB9CiAKQEAg
LTExNSwxMiArNjgsNiBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobV9yZW1h
aW5pbmdDYXBhY2l0eUZvckZyYW1lQ2FwdHVyZSkgewotICAgICAgICAgICAgLy8gVGhpcyBlYXJs
eSBleGl0IGlzIG5lY2Vzc2FyeSB0byBtYWludGFpbiBvdXIgb2xkIGJlaGF2aW91cgotICAgICAg
ICAgICAgLy8gYnV0IHRoZSBzdGFjayB0cmFjZSB3ZSBwcm9kdWNlIG5vdyBpcyBjb21wbGV0ZSBh
bmQgaGFuZGxlcyBhbGwKLSAgICAgICAgICAgIC8vIHdheXMgaW4gd2hpY2ggY29kZSBtYXkgYmUg
cnVubmluZwotICAgICAgICAgICAgaWYgKCF2aXNpdG9yLT5jYWxsZWUoKSAmJiBtX2ZyYW1lcy5z
aXplKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFN0YWNrVmlzaXRvcjo6RG9uZTsKLQogICAg
ICAgICAgICAgdW5zaWduZWQgbGluZTsKICAgICAgICAgICAgIHVuc2lnbmVkIGNvbHVtbjsKICAg
ICAgICAgICAgIHZpc2l0b3ItPmNvbXB1dGVMaW5lQW5kQ29sdW1uKGxpbmUsIGNvbHVtbik7CkBA
IC0xMjksMjkgKzc2LDU4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fcmVtYWluaW5nQ2FwYWNp
dHlGb3JGcmFtZUNhcHR1cmUtLTsKICAgICAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkNv
bnRpbnVlOwogICAgICAgICB9CisKICAgICAgICAgcmV0dXJuIFN0YWNrVmlzaXRvcjo6RG9uZTsK
ICAgICB9CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX25lZWRUb1NraXBBRnJhbWU7Ci0gICAgc2l6
ZV90IG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmU7CiAgICAgVmVjdG9yPFNjcmlw
dENhbGxGcmFtZT4mIG1fZnJhbWVzOworICAgIHNpemVfdCBtX3JlbWFpbmluZ0NhcGFjaXR5Rm9y
RnJhbWVDYXB0dXJlOwogfTsKIAorUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNj
cmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90IG1heFN0YWNrU2l6ZSwg
Ym9vbCBlbXB0eUlzQWxsb3dlZCkKK3sKKyAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBmcmFt
ZXM7CisKKyAgICBpZiAoZXhlYykgeworICAgICAgICBDYWxsRnJhbWUqIGZyYW1lID0gZXhlYy0+
dm0oKS50b3BDYWxsRnJhbWU7CisgICAgICAgIENyZWF0ZVNjcmlwdENhbGxTdGFja0Z1bmN0b3Ig
ZnVuY3RvcihmYWxzZSwgZnJhbWVzLCBtYXhTdGFja1NpemUpOworICAgICAgICBmcmFtZS0+aXRl
cmF0ZShmdW5jdG9yKTsKKyAgICB9CisKKyAgICBpZiAoZnJhbWVzLmlzRW1wdHkoKSAmJiAhZW1w
dHlJc0FsbG93ZWQpIHsKKyAgICAgICAgLy8gTm8gZnJhbWVzIGZvdW5kLiBJdCBtYXkgaGFwcGVu
IGluIHRoZSBjYXNlIHdoZXJlCisgICAgICAgIC8vIGEgYm91bmQgZnVuY3Rpb24gaXMgY2FsbGVk
IGZyb20gbmF0aXZlIGNvZGUgZm9yIGV4YW1wbGUuCisgICAgICAgIC8vIEZhbGxiYWNrIHRvIHNl
dHRpbmcgbGluZU51bWJlciB0byAwLCBhbmQgc291cmNlIGFuZCBmdW5jdGlvbiBuYW1lIHRvICJ1
bmRlZmluZWQiLgorICAgICAgICBmcmFtZXMuYXBwZW5kKFNjcmlwdENhbGxGcmFtZShBU0NJSUxp
dGVyYWwoInVuZGVmaW5lZCIpLCBBU0NJSUxpdGVyYWwoInVuZGVmaW5lZCIpLCAwLCAwKSk7Cisg
ICAgfQorCisgICAgcmV0dXJuIFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGZyYW1lcyk7Cit9CisK
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soSlNDOjpF
eGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBtYXhTdGFja1NpemUpCiB7CiAgICAgVmVjdG9yPFNjcmlw
dENhbGxGcmFtZT4gZnJhbWVzOwotICAgIEFTU0VSVChleGVjKTsKKwogICAgIENhbGxGcmFtZSog
ZnJhbWUgPSBleGVjLT52bSgpLnRvcENhbGxGcmFtZTsKLSAgICBDcmVhdGVTY3JpcHRDYWxsU3Rh
Y2tGb3JDb25zb2xlRnVuY3RvciBmdW5jdG9yKHRydWUsIG1heFN0YWNrU2l6ZSwgZnJhbWVzKTsK
KyAgICBDcmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IodHJ1ZSwgZnJhbWVzLCBt
YXhTdGFja1NpemUpOwogICAgIGZyYW1lLT5pdGVyYXRlKGZ1bmN0b3IpOworCiAgICAgaWYgKGZy
YW1lcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgQ3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29s
ZUZ1bmN0b3IgZnVuY3RvcihmYWxzZSwgbWF4U3RhY2tTaXplLCBmcmFtZXMpOworICAgICAgICBD
cmVhdGVTY3JpcHRDYWxsU3RhY2tGdW5jdG9yIGZ1bmN0b3IoZmFsc2UsIGZyYW1lcywgbWF4U3Rh
Y2tTaXplKTsKICAgICAgICAgZnJhbWUtPml0ZXJhdGUoZnVuY3Rvcik7CiAgICAgfQorCiAgICAg
cmV0dXJuIFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGZyYW1lcyk7CiB9CiAKK1Bhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlKEpTQzo6RXhl
Y1N0YXRlKiBleGVjKQoreworICAgIC8vIEZJWE1FOiBDYWxsZXIgc2hvdWxkIHVzZSBjcmVhdGVT
Y3JpcHRDYWxsU3RhY2sgYWx0ZXJuYXRpdmUgd2l0aCB0aGUgZXhlYyBhbmQgYXBwcm9wcmlhdGUg
bWF4LgorICAgIHJldHVybiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soZXhlYywgU2NyaXB0Q2FsbFN0
YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlKTsKK30KKwogUGFzc1JlZlB0cjxTY3JpcHRD
YWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24oSlNDOjpFeGVjU3Rh
dGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSYgZXhjZXB0aW9uLCBzaXplX3QgbWF4U3RhY2tTaXplKQog
ewogICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+IGZyYW1lczsKQEAgLTE2MCwxMCArMTM2LDEw
IEBAIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGcm9t
RXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiBlCiAgICAgICAgIGlmICghc3RhY2tUcmFjZVtpXS5j
YWxsZWUgJiYgZnJhbWVzLnNpemUoKSkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIFN0
cmluZyBmdW5jdGlvbk5hbWUgPSBzdGFja1RyYWNlW2ldLmZyaWVuZGx5RnVuY3Rpb25OYW1lKGV4
ZWMpOwogICAgICAgICB1bnNpZ25lZCBsaW5lOwogICAgICAgICB1bnNpZ25lZCBjb2x1bW47CiAg
ICAgICAgIHN0YWNrVHJhY2VbaV0uY29tcHV0ZUxpbmVBbmRDb2x1bW4obGluZSwgY29sdW1uKTsK
KyAgICAgICAgU3RyaW5nIGZ1bmN0aW9uTmFtZSA9IHN0YWNrVHJhY2VbaV0uZnJpZW5kbHlGdW5j
dGlvbk5hbWUoZXhlYyk7CiAgICAgICAgIGZyYW1lcy5hcHBlbmQoU2NyaXB0Q2FsbEZyYW1lKGZ1
bmN0aW9uTmFtZSwgc3RhY2tUcmFjZVtpXS5zb3VyY2VVUkwsIGxpbmUsIGNvbHVtbikpOwogICAg
IH0KIApAQCAtMTg2LDE3ICsxNjIsNiBAQCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3Jl
YXRlU2NyaXB0Q2FsbFN0YWNrRnJvbUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSogZQogICAgIHJl
dHVybiBTY3JpcHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOwogfQogCi1QYXNzUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNT
dGF0ZSogZXhlYykKLXsKLSAgICBzaXplX3QgbWF4U3RhY2tTaXplID0gMTsKLSAgICBpZiAoSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSkgewotICAgICAgICBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0ID0ganNDYXN0PEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOwotICAgICAgICBpZiAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xl
QWdlbnRFbmFibGVkKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKQotICAgICAgICAgICAgbWF4U3Rh
Y2tTaXplID0gU2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlOwotICAg
IH0KLSAgICByZXR1cm4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKGV4ZWMsIG1heFN0YWNrU2l6ZSk7
Ci19Ci0KIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3JpcHRBcmd1bWVudHMo
SlNDOjpFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHNraXBBcmd1bWVudENvdW50KQogewogICAg
IFZlY3RvcjxEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZT4gYXJndW1lbnRzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKc2lt
aWxhcml0eSBpbmRleCA2OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCnJlbmFtZSB0byBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaAppbmRleCAyOThiYmJkLi43Y2U5Yzkw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2tGYWN0b3J5LmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKKyAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKICAqIG1ldDoKLSAqIAorICoKICAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCkBAIC0xNCw3ICsxNSw3IEBACiAgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiAgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSAqIAorICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKICAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKQEAg
LTMyLDI1ICszMywyNCBAQAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5X2gKIAogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRBcnJheS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIEpTVmFsdWU7Ci1zdHJ1
Y3QgU3RhY2tGcmFtZTsKIH0KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CiAKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsK
IAotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzaXpl
X3QgbWF4U3RhY2tTaXplLCBib29sIGVtcHR5U3RhY2tJc0FsbG93ZWQpOwotUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSosIHNp
emVfdCBtYXhTdGFja1NpemUpOwotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNj
cmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUm
IGV4Y2VwdGlvbiwgc2l6ZV90IG1heFN0YWNrU2l6ZSk7Ci1QYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSopOwot
UGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhKU0M6OkV4
ZWNTdGF0ZSosIHVuc2lnbmVkIHNraXBBcmd1bWVudENvdW50KTsKKy8vIEZJWE1FOiBUaGUgc3Vi
dGxlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlc2Ugc2hvdWxkIGJlIGVsaW1pbmF0ZWQuCitKU19F
WFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2Fs
bFN0YWNrKEpTQzo6RXhlY1N0YXRlKiwgc2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0eUlz
QWxsb3dlZCk7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4g
Y3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTQzo6RXhlY1N0YXRlKiwgc2l6ZV90IG1heFN0YWNrU2l6
ZSk7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRl
U2NyaXB0Q2FsbFN0YWNrRm9yQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSopOworSlNfRVhQT1JUX1BS
SVZBVEUgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zy
b21FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUmIGV4Y2VwdGlvbiwgc2l6
ZV90IG1heFN0YWNrU2l6ZSk7CitKU19FWFBPUlRfUFJJVkFURSBQYXNzUmVmUHRyPFNjcmlwdEFy
Z3VtZW50cz4gY3JlYXRlU2NyaXB0QXJndW1lbnRzKEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQg
c2tpcEFyZ3VtZW50Q291bnQpOwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIFNjcmlwdENhbGxTdGFja0ZhY3RvcnlfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25z
b2xlQWdlbnQuY3BwCnNpbWlsYXJpdHkgaW5kZXggNjIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCnJlbmFtZSB0byBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3Bw
CmluZGV4IDhhNDZkNjkuLmRiNmY5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTEsNCArMSw1
IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMjIsNjcgKzIzLDY2IEBACiAgKiBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwog
Ci0KICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIKIAotI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJ
SG9zdC5oIgotI2luY2x1ZGUgIkNvbnNvbGUuaCIKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAj
aW5jbHVkZSAiQ29uc29sZU1lc3NhZ2UuaCIKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKLSNpbmNs
dWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCi0jaW5jbHVkZSAiSW5zdHJ1
bWVudGluZ0FnZW50cy5oIgotI2luY2x1ZGUgIlBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIK
LSNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5o
IgorI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgogI2luY2x1ZGUgIlNjcmlwdEFy
Z3VtZW50cy5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlNjcmlw
dENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKLSNpbmNs
dWRlICJTY3JpcHRQcm9maWxlci5oIgotI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdE9iamVjdC5o
PgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAotdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKLQotbmFtZXNwYWNlIFdl
YkNvcmUgeworbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBt
YXhpbXVtQ29uc29sZU1lc3NhZ2VzID0gMTAwMDsKIHN0YXRpYyBjb25zdCBpbnQgZXhwaXJlQ29u
c29sZU1lc3NhZ2VzU3RlcCA9IDEwMDsKIAotSW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0
b3JDb25zb2xlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywg
UGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQotICAgIDog
SW5zcGVjdG9yQWdlbnRCYXNlKEFTQ0lJTGl0ZXJhbCgiQ29uc29sZSIpLCBpbnN0cnVtZW50aW5n
QWdlbnRzKQorSW5zcGVjdG9yQ29uc29sZUFnZW50OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0
b3JBZ2VudEJhc2UoQVNDSUlMaXRlcmFsKCJDb25zb2xlIikpCiAgICAgLCBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlcihpbmplY3RlZFNjcmlwdE1hbmFnZXIpCiAgICAgLCBtX3ByZXZpb3VzTWVzc2Fn
ZShudWxscHRyKQogICAgICwgbV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCgwKQogICAgICwg
bV9lbmFibGVkKGZhbHNlKQotICAgICwgbV9tb25pdG9yaW5nWEhSRW5hYmxlZChmYWxzZSkKIHsK
LSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNvbnNvbGVBZ2VudCh0aGlz
KTsKIH0KIAogSW5zcGVjdG9yQ29uc29sZUFnZW50Ojp+SW5zcGVjdG9yQ29uc29sZUFnZW50KCkK
IHsKLSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNvbnNvbGVBZ2VudChu
dWxscHRyKTsKLSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMgPSBudWxscHRyOwotICAgIG1faW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyID0gbnVsbHB0cjsKK30KKwordm9pZCBJbnNwZWN0b3JDb25zb2xl
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZy
b250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
ciogYmFja2VuZERpc3BhdGNoZXIpCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6
Om1ha2VfdW5pcXVlPEluc3BlY3RvckNvbnNvbGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5k
Q2hhbm5lbCk7CisgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3RvckNvbnNvbGVCYWNr
ZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKK30KKwordm9p
ZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKElu
c3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBu
dWxscHRyOworICAgIG1fYmFja2VuZERpc3BhdGNoZXIuY2xlYXIoKTsKKworICAgIFN0cmluZyBl
cnJvclN0cmluZzsKKyAgICBkaXNhYmxlKCZlcnJvclN0cmluZyk7CiB9CiAKIHZvaWQgSW5zcGVj
dG9yQ29uc29sZUFnZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQogewogICAgIGlmIChtX2VuYWJs
ZWQpCiAgICAgICAgIHJldHVybjsKKwogICAgIG1fZW5hYmxlZCA9IHRydWU7CiAKICAgICBpZiAo
bV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCkgewotICAgICAgICBDb25zb2xlTWVzc2FnZSBl
eHBpcmVkTWVzc2FnZSghaXNXb3JrZXJBZ2VudCgpLCBPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBTdHJpbmc6OmZvcm1hdCgiJWQgY29uc29s
ZSBtZXNzYWdlcyBhcmUgbm90IHNob3duLiIsIG1fZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQp
KTsKKyAgICAgICAgQ29uc29sZU1lc3NhZ2UgZXhwaXJlZE1lc3NhZ2UoIWlzV29ya2VyQWdlbnQo
KSwgTWVzc2FnZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6
V2FybmluZywgU3RyaW5nOjpmb3JtYXQoIiVkIGNvbnNvbGUgbWVzc2FnZXMgYXJlIG5vdCBzaG93
bi4iLCBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50KSk7CiAgICAgICAgIGV4cGlyZWRNZXNz
YWdlLmFkZFRvRnJvbnRlbmQobV9mcm9udGVuZERpc3BhdGNoZXIuZ2V0KCksIG1faW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLCBmYWxzZSk7CiAgICAgfQogCkBAIC05NSw2ICs5NSw3IEBAIHZvaWQgSW5z
cGVjdG9yQ29uc29sZUFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKIHsKICAgICBpZiAoIW1f
ZW5hYmxlZCkKICAgICAgICAgcmV0dXJuOworCiAgICAgbV9lbmFibGVkID0gZmFsc2U7CiB9CiAK
QEAgLTEwMyw3ICsxMDQsOSBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJNZXNz
YWdlcyhFcnJvclN0cmluZyopCiAgICAgbV9jb25zb2xlTWVzc2FnZXMuY2xlYXIoKTsKICAgICBt
X2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50ID0gMDsKICAgICBtX3ByZXZpb3VzTWVzc2FnZSA9
IG51bGxwdHI7Ci0gICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVhc2VPYmplY3RHcm91
cCgiY29uc29sZSIpOworCisgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVhc2VPYmpl
Y3RHcm91cChBU0NJSUxpdGVyYWwoImNvbnNvbGUiKSk7CisKICAgICBpZiAobV9mcm9udGVuZERp
c3BhdGNoZXIgJiYgbV9lbmFibGVkKQogICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+bWVz
c2FnZXNDbGVhcmVkKCk7CiB9CkBAIC0xMTIsMzEgKzExNSwxNyBAQCB2b2lkIEluc3BlY3RvckNv
bnNvbGVBZ2VudDo6cmVzZXQoKQogewogICAgIEVycm9yU3RyaW5nIGVycm9yOwogICAgIGNsZWFy
TWVzc2FnZXMoJmVycm9yKTsKKwogICAgIG1fdGltZXMuY2xlYXIoKTsKICAgICBtX2NvdW50cy5j
bGVhcigpOwogfQogCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBmcm9udGVu
ZENoYW5uZWwsIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikK
LXsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9y
Q29uc29sZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKLSAgICBtX2JhY2tl
bmREaXNwYXRjaGVyID0gSW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUo
YmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwotfQotCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dDo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yRGlzY29ubmVjdFJlYXNv
bikKLXsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IG51bGxwdHI7Ci0gICAgbV9iYWNrZW5k
RGlzcGF0Y2hlci5jbGVhcigpOwotCi0gICAgU3RyaW5nIGVycm9yU3RyaW5nOwotICAgIGRpc2Fi
bGUoJmVycm9yU3RyaW5nKTsKLX0KLQogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1l
c3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlw
dENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQog
ewotICAgIGlmICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgp
LmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKKyAgICBpZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHR5cGUgPT0gQ2xlYXJNZXNzYWdlVHlwZSkgeworICAg
IGlmICh0eXBlID09IE1lc3NhZ2VUeXBlOjpDbGVhcikgewogICAgICAgICBFcnJvclN0cmluZyBl
cnJvcjsKICAgICAgICAgY2xlYXJNZXNzYWdlcygmZXJyb3IpOwogICAgIH0KQEAgLTE0NiwxMCAr
MTM1LDEwIEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xl
KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwCiAKIHZvaWQgSW5zcGVjdG9yQ29uc29s
ZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
VHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlND
OjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAgIGlmICghbV9pbnN0cnVt
ZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJs
ZWQoKSkKKyAgICBpZiAoIW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbnNwZWN0b3JFbnZpcm9u
bWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
aWYgKHR5cGUgPT0gQ2xlYXJNZXNzYWdlVHlwZSkgeworICAgIGlmICh0eXBlID09IE1lc3NhZ2VU
eXBlOjpDbGVhcikgewogICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAgICAgICAgY2xlYXJN
ZXNzYWdlcygmZXJyb3IpOwogICAgIH0KQEAgLTE1OSwxMCArMTQ4LDEwIEBAIHZvaWQgSW5zcGVj
dG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBNZXNzYWdlVHlwCiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9D
b25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2
ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3JpcHRJRCwg
dW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4ZWNTdGF0
ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgaWYgKCFt
X2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZCgpKQorICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3Rv
ckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBpZiAodHlwZSA9PSBDbGVhck1lc3NhZ2VUeXBlKSB7CisgICAgaWYgKHR5cGUgPT0g
TWVzc2FnZVR5cGU6OkNsZWFyKSB7CiAgICAgICAgIEVycm9yU3RyaW5nIGVycm9yOwogICAgICAg
ICBjbGVhck1lc3NhZ2VzKCZlcnJvcik7CiAgICAgfQpAQCAtMTcxLDcgKzE2MCw3IEBAIHZvaWQg
SW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlVHlwCiAgICAgYWRkQ29uc29sZU1lc3NhZ2UoYWRvcHRQdHIobmV3IENv
bnNvbGVNZXNzYWdlKGNhbkdlbmVyYXRlQ2FsbFN0YWNrLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBt
ZXNzYWdlLCBzY3JpcHRJRCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVz
dElkZW50aWZpZXIpKSk7CiB9CiAKLVZlY3Rvcjx1bnNpZ25lZD4gSW5zcGVjdG9yQ29uc29sZUFn
ZW50Ojpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkKK1ZlY3Rvcjx1bnNpZ25lZD4gSW5z
cGVjdG9yQ29uc29sZUFnZW50Ojpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkgY29uc3QK
IHsKICAgICBWZWN0b3I8dW5zaWduZWQ+IHJlc3VsdChtX2NvbnNvbGVNZXNzYWdlcy5zaXplKCkp
OwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jb25zb2xlTWVzc2FnZXMuc2l6ZSgpOyBp
KyspCkBAIC0yMDUsNyArMTk0LDcgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnN0b3BU
aW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWwKIAogICAgIGRv
dWJsZSBlbGFwc2VkID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzdGFydFRpbWU7
CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSB0aXRsZSArIFN0cmluZzo6Zm9ybWF0KCI6ICUuM2ZtcyIs
IGVsYXBzZWQgKiAxMDAwKTsKLSAgICBhZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNz
YWdlU291cmNlLCBUaW1pbmdNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2Us
IGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25z
b2xlQVBJLCBNZXNzYWdlVHlwZTo6VGltaW5nLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdl
LCBjYWxsU3RhY2spOwogfQogCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y291bnQoSlND
OjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
KQpAQCAtMjMwLDY4ICsyMTksMTkgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmNvdW50
KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWUKICAgICBtX2Nv
dW50cy5hZGQoaWRlbnRpZmllciwgY291bnQpOwogCiAgICAgU3RyaW5nIG1lc3NhZ2UgPSB0aXRs
ZSArICI6ICIgKyBTdHJpbmc6Om51bWJlcihjb3VudCk7Ci0gICAgYWRkTWVzc2FnZVRvQ29uc29s
ZShDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIERlYnVnTWVzc2FnZUxl
dmVsLCBtZXNzYWdlLCBjYWxsU3RhY2spOwotfQotCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dDo6ZnJhbWVXaW5kb3dEaXNjYXJkZWQoRE9NV2luZG93KiB3aW5kb3cpCi17Ci0gICAgc2l6ZV90
IG1lc3NhZ2VDb3VudCA9IG1fY29uc29sZU1lc3NhZ2VzLnNpemUoKTsKLSAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG1lc3NhZ2VDb3VudDsgKytpKQotICAgICAgICBtX2NvbnNvbGVNZXNzYWdl
c1tpXS0+d2luZG93Q2xlYXJlZCh3aW5kb3cpOwotICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LT5kaXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKHdpbmRvdyk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9y
Q29uc29sZUFnZW50OjpkaWRGaW5pc2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2ln
bmVkIHNlbmRMaW5lTnVtYmVyLCB1bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKQotewotICAgIGlm
ICghbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChtX2Zyb250ZW5kRGlz
cGF0Y2hlciAmJiBtX21vbml0b3JpbmdYSFJFbmFibGVkKSB7Ci0gICAgICAgIFN0cmluZyBtZXNz
YWdlID0gIlhIUiBmaW5pc2hlZCBsb2FkaW5nOiBcIiIgKyB1cmwgKyAiXCIuIjsKLSAgICAgICAg
YWRkTWVzc2FnZVRvQ29uc29sZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IERlYnVnTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBzZW5kVVJMLCBzZW5kTGluZU51bWJlciwgc2Vu
ZENvbHVtbk51bWJlciwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOwotICAgIH0KLX0KLQot
dm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
LXsKLSAgICBpZiAoIW1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRW52aXJvbm1lbnQo
KS5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChy
ZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID49IDQwMCkgewotICAgICAgICBTdHJpbmcgbWVzc2Fn
ZSA9ICJGYWlsZWQgdG8gbG9hZCByZXNvdXJjZTogdGhlIHNlcnZlciByZXNwb25kZWQgd2l0aCBh
IHN0YXR1cyBvZiAiICsgU3RyaW5nOjpudW1iZXIocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSkg
KyAiICgiICsgcmVzcG9uc2UuaHR0cFN0YXR1c1RleHQoKSArICcpJzsKLSAgICAgICAgYWRkTWVz
c2FnZVRvQ29uc29sZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlLCByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgMCwgMCwgbnVs
bHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOwotICAgIH0KLX0KLQotdm9pZCBJbnNwZWN0b3JDb25z
b2xlQWdlbnQ6OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIs
IGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQotewotICAgIGlmICghbV9pbnN0cnVtZW50aW5n
QWdlbnRzLT5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkK
LSAgICAgICAgcmV0dXJuOwotICAgIGlmIChlcnJvci5pc0NhbmNlbGxhdGlvbigpKSAvLyBSZXBv
cnQgZmFpbHVyZXMgb25seS4KLSAgICAgICAgcmV0dXJuOwotICAgIFN0cmluZ0J1aWxkZXIgbWVz
c2FnZTsKLSAgICBtZXNzYWdlLmFwcGVuZExpdGVyYWwoIkZhaWxlZCB0byBsb2FkIHJlc291cmNl
Iik7Ci0gICAgaWYgKCFlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLmlzRW1wdHkoKSkgewot
ICAgICAgICBtZXNzYWdlLmFwcGVuZExpdGVyYWwoIjogIik7Ci0gICAgICAgIG1lc3NhZ2UuYXBw
ZW5kKGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkpOwotICAgIH0KLSAgICBhZGRNZXNzYWdl
VG9Db25zb2xlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIG1lc3NhZ2UudG9TdHJpbmcoKSwgZXJyb3IuZmFpbGluZ1VSTCgpLCAwLCAwLCBu
dWxscHRyLCByZXF1ZXN0SWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29uc29sZUFn
ZW50OjpzZXRNb25pdG9yaW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkK
LXsKLSAgICBtX21vbml0b3JpbmdYSFJFbmFibGVkID0gZW5hYmxlZDsKKyAgICBhZGRNZXNzYWdl
VG9Db25zb2xlKE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpMb2csIE1l
c3NhZ2VMZXZlbDo6RGVidWcsIG1lc3NhZ2UsIGNhbGxTdGFjayk7CiB9CiAKIHN0YXRpYyBib29s
IGlzR3JvdXBNZXNzYWdlKE1lc3NhZ2VUeXBlIHR5cGUpCiB7Ci0gICAgcmV0dXJuIHR5cGUgPT0g
U3RhcnRHcm91cE1lc3NhZ2VUeXBlCi0gICAgICAgIHx8IHR5cGUgPT0gIFN0YXJ0R3JvdXBDb2xs
YXBzZWRNZXNzYWdlVHlwZQotICAgICAgICB8fCB0eXBlID09IEVuZEdyb3VwTWVzc2FnZVR5cGU7
CisgICAgcmV0dXJuIHR5cGUgPT0gTWVzc2FnZVR5cGU6OlN0YXJ0R3JvdXAKKyAgICAgICAgfHwg
dHlwZSA9PSBNZXNzYWdlVHlwZTo6U3RhcnRHcm91cENvbGxhcHNlZAorICAgICAgICB8fCB0eXBl
ID09IE1lc3NhZ2VUeXBlOjpFbmRHcm91cDsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdl
bnQ6OmFkZENvbnNvbGVNZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3NhZ2U+IGNvbnNvbGVN
ZXNzYWdlKQogewotICAgIEFTU0VSVChtX2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckVu
dmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQobV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZCgpKTsKICAgICBBU1NFUlRfQVJHKGNvbnNvbGVNZXNzYWdlLCBjb25zb2xlTWVzc2Fn
ZSk7CiAKICAgICBpZiAobV9wcmV2aW91c01lc3NhZ2UgJiYgIWlzR3JvdXBNZXNzYWdlKG1fcHJl
dmlvdXNNZXNzYWdlLT50eXBlKCkpICYmIG1fcHJldmlvdXNNZXNzYWdlLT5pc0VxdWFsKGNvbnNv
bGVNZXNzYWdlLmdldCgpKSkgewpAQCAtMzExLDIzICsyNTEsNiBAQCB2b2lkIEluc3BlY3RvckNv
bnNvbGVBZ2VudDo6YWRkQ29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxDb25zb2xlTWVzc2FnZT4g
Y29uc29sZQogICAgIH0KIH0KIAotY2xhc3MgSW5zcGVjdGFibGVIZWFwT2JqZWN0IGZpbmFsIDog
cHVibGljIENvbW1hbmRMaW5lQVBJSG9zdDo6SW5zcGVjdGFibGVPYmplY3QgewotcHVibGljOgot
ICAgIGV4cGxpY2l0IEluc3BlY3RhYmxlSGVhcE9iamVjdChpbnQgaGVhcE9iamVjdElkKSA6IG1f
aGVhcE9iamVjdElkKGhlYXBPYmplY3RJZCkgeyB9Ci0gICAgdmlydHVhbCBEZXByZWNhdGVkOjpT
Y3JpcHRWYWx1ZSBnZXQoSlNDOjpFeGVjU3RhdGUqKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAg
cmV0dXJuIFNjcmlwdFByb2ZpbGVyOjpvYmplY3RCeUhlYXBPYmplY3RJZChtX2hlYXBPYmplY3RJ
ZCk7Ci0gICAgfQotcHJpdmF0ZToKLSAgICBpbnQgbV9oZWFwT2JqZWN0SWQ7Ci19OwotCi12b2lk
IEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmlu
ZyosIGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpCi17Ci0gICAgaWYgKENvbW1hbmRMaW5lQVBJ
SG9zdCogY29tbWFuZExpbmVBUElIb3N0ID0gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmNvbW1h
bmRMaW5lQVBJSG9zdCgpKQotICAgICAgICBjb21tYW5kTGluZUFQSUhvc3QtPmFkZEluc3BlY3Rl
ZE9iamVjdChhZG9wdFB0cihuZXcgSW5zcGVjdGFibGVIZWFwT2JqZWN0KGluc3BlY3RlZEhlYXBP
YmplY3RJZCkpKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2Ug
SW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25z
b2xlQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWE3OWU2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yQ29uc29sZUFnZW50LmgKQEAgLTAsMCArMSwxMDMgQEAKKy8qCisqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycgQU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCisqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2lmbmRlZiBJbnNwZWN0b3JDb25zb2xl
QWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAorCisjaWYgRU5BQkxFKElO
U1BFQ1RPUikKKworI2luY2x1ZGUgIkluc3BlY3RvckpTQmFja2VuZERpc3BhdGNoZXJzLmgiCisj
aW5jbHVkZSAiSW5zcGVjdG9ySlNGcm9udGVuZERpc3BhdGNoZXJzLmgiCisjaW5jbHVkZSAiaW5z
cGVjdG9yL0NvbnNvbGVUeXBlcy5oIgorI2luY2x1ZGUgImluc3BlY3Rvci9JbnNwZWN0b3JBZ2Vu
dEJhc2UuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIEpTQyB7Citj
bGFzcyBFeGVjU3RhdGU7Cit9CisKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworCitjbGFzcyBDb25z
b2xlTWVzc2FnZTsKK2NsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNzIFNjcmlwdEFy
Z3VtZW50czsKK2NsYXNzIFNjcmlwdENhbGxTdGFjazsKK3R5cGVkZWYgU3RyaW5nIEVycm9yU3Ry
aW5nOworCitjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBJbnNwZWN0b3JDb25zb2xlQWdlbnQgOiBw
dWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yQ29uc29sZUJhY2tlbmRE
aXNwYXRjaGVySGFuZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQ29u
c29sZUFnZW50KTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAgdmlydHVh
bCB+SW5zcGVjdG9yQ29uc29sZUFnZW50KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRl
RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95
RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwor
CisgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGNsZWFyTWVzc2FnZXMoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZv
aWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyosIGludCBu
b2RlSWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJv
clN0cmluZyosIGludCBpbnNwZWN0ZWRIZWFwT2JqZWN0SWQpID0gMDsKKworICAgIHZpcnR1YWwg
Ym9vbCBpc1dvcmtlckFnZW50KCkgY29uc3QgPSAwOworCisgICAgYm9vbCBlbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9lbmFibGVkOyB9CisgICAgdm9pZCByZXNldCgpOworCisgICAgdm9pZCBh
ZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNj
cmlwdEFyZ3VtZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAg
ICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlwdElE
LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhlY1N0
YXRlKiA9IG51bGxwdHIsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAg
ICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKworICAgIFZlY3Rv
cjx1bnNpZ25lZD4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpIGNvbnN0OworCisgICAg
dm9pZCBzdGFydFRpbWluZyhjb25zdCBTdHJpbmcmIHRpdGxlKTsKKyAgICB2b2lkIHN0b3BUaW1p
bmcoY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAg
ICB2b2lkIGNvdW50KEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
KTsKKworcHJvdGVjdGVkOgorICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxD
b25zb2xlTWVzc2FnZT4pOworCisgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVk
U2NyaXB0TWFuYWdlcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQ29uc29sZUZyb250
ZW5kRGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7CisgICAgUmVmUHRyPEluc3BlY3Rv
ckNvbnNvbGVCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKKyAgICBDb25z
b2xlTWVzc2FnZSogbV9wcmV2aW91c01lc3NhZ2U7CisgICAgVmVjdG9yPE93blB0cjxDb25zb2xl
TWVzc2FnZT4+IG1fY29uc29sZU1lc3NhZ2VzOworICAgIGludCBtX2V4cGlyZWRDb25zb2xlTWVz
c2FnZUNvdW50OworICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV9jb3VudHM7CisgICAg
SGFzaE1hcDxTdHJpbmcsIGRvdWJsZT4gbV90aW1lczsKKyAgICBib29sIG1fZW5hYmxlZDsKK307
CisKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckNvbnNvbGVBZ2VudF9oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29u
c29sZUFnZW50LmNwcApzaW1pbGFyaXR5IGluZGV4IDYyJQpjb3B5IGZyb20gU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaApjb3B5IHRvIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNw
cAppbmRleCA2NTgyMTg4Li4xZmUyZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMjUgKzIzLDMz
IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgUGFnZUluamVjdGVkU2NyaXB0SG9z
dF9oCi0jZGVmaW5lIFBhZ2VJbmplY3RlZFNjcmlwdEhvc3RfaAorI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgiCiAKICNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oPgor
bmFtZXNwYWNlIEluc3BlY3RvciB7CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK0pTR2xvYmFsT2Jq
ZWN0Q29uc29sZUFnZW50OjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudChJbmplY3RlZFNjcmlw
dE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckNvbnNvbGVB
Z2VudChpbmplY3RlZFNjcmlwdE1hbmFnZXIpCit7Cit9CiAKLWNsYXNzIFBhZ2VJbmplY3RlZFNj
cmlwdEhvc3QgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdEhvc3Qgewot
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Q+IGNy
ZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0KTsgfQor
dm9pZCBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQo
RXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBib29sKQoreworICAgICplcnJvclN0cmluZyA9IEFT
Q0lJTGl0ZXJhbCgiTm90IHN1cHBvcnRlZCBmb3IgSmF2YVNjcmlwdCBjb250ZXh0Iik7Cit9CiAK
LSAgICB2aXJ0dWFsIEpTQzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1Zh
bHVlKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29sbGVjdGlvbihKU0M6
OkpTVmFsdWUpIG92ZXJyaWRlOwotfTsKK3ZvaWQgSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6
OmFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQpCit7CisgICAg
KmVycm9yU3RyaW5nID0gQVNDSUlMaXRlcmFsKCJOb3Qgc3VwcG9ydGVkIGZvciBKYXZhU2NyaXB0
IGNvbnRleHQiKTsKK30KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQordm9pZCBKU0dsb2JhbE9i
amVjdENvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkSGVhcE9iamVjdChFcnJvclN0cmluZyogZXJy
b3JTdHJpbmcsIGludCkKK3sKKyAgICAqZXJyb3JTdHJpbmcgPSBBU0NJSUxpdGVyYWwoIk5vdCBz
dXBwb3J0ZWQgZm9yIEphdmFTY3JpcHQgY29udGV4dCIpOworfQorCit9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KLSNlbmRpZiAvLyAhZGVm
aW5lZChQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaApzaW1pbGFy
aXR5IGluZGV4IDU4JQpjb3B5IGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmpl
Y3RlZFNjcmlwdEhvc3QuaApjb3B5IHRvIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgKaW5kZXggNjU4MjE4OC4uZTU4NWVi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlw
dEhvc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0ds
b2JhbE9iamVjdENvbnNvbGVBZ2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yMywyNSArMjMsMzMgQEAKICAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAotI2lmbmRlZiBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0X2gKLSNkZWZpbmUgUGFnZUluamVjdGVk
U2NyaXB0SG9zdF9oCisjaWZuZGVmIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50X2gKKyNkZWZp
bmUgSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnRfaAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikK
IAotI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaD4KKyNpbmNsdWRlICJJ
bnNwZWN0b3JDb25zb2xlQWdlbnQuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdFNjcmlwdERl
YnVnU2VydmVyLmgiCiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbnNwZWN0b3Ig
ewogCi1jbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0IGZpbmFsIDogcHVibGljIEluc3BlY3Rv
cjo6SW5qZWN0ZWRTY3JpcHRIb3N0IHsKK2NsYXNzIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50
IGZpbmFsIDogcHVibGljIEluc3BlY3RvckNvbnNvbGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQpOworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VJbmplY3RlZFNj
cmlwdEhvc3Q+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlSW5qZWN0ZWRTY3Jp
cHRIb3N0KTsgfQorICAgIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KEluamVjdGVkU2NyaXB0
TWFuYWdlciopOworICAgIHZpcnR1YWwgfkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50KCkgeyB9
CiAKLSAgICB2aXJ0dWFsIEpTQzo6SlNWYWx1ZSB0eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U1ZhbHVlKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29sbGVjdGlvbihK
U0M6OkpTVmFsdWUpIG92ZXJyaWRlOworICAgIC8vIEZJWE1FOiBYSFJzIGFuZCBOb2RlcyBvbmx5
IG1ha2VzIHNlbnNlIGRlYnVnZ2luZyBhIFdlYiBjb250ZXh0LiBDYW4gdGhpcyBiZSBtb3ZlZCB0
byBhIGRpZmZlcmVudCBhZ2VudD8KKyAgICB2aXJ0dWFsIHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVu
YWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpIG92ZXJyaWRlOworICAgIHZpcnR1YWwg
dm9pZCBhZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCkgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCB2b2lkIGFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJyb3JTdHJpbmcqLCBp
bnQgaW5zcGVjdGVkSGVhcE9iamVjdElkKSBvdmVycmlkZTsKKworICAgIHZpcnR1YWwgYm9vbCBp
c1dvcmtlckFnZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIH07CiAKLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKIAotI2VuZGlmIC8vICFkZWZpbmVkKFBhZ2VJbmplY3RlZFNjcmlwdEhvc3Rf
aCkKKyNlbmRpZiAvLyAhZGVmaW5lZChKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudF9oKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxP
YmplY3REZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKaW5kZXggZDRjMzJkNy4uMmUx
NzUwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwCkBAIC0y
OSwxNSArMjksMjAgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAj
aW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIK
KyNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKKyNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tG
YWN0b3J5LmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewogCi1KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OkpTR2xvYmFsT2JqZWN0RGVidWdnZXJB
Z2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwgSlNDOjpK
U0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQorSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50
OjpKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmpl
Y3RlZFNjcmlwdE1hbmFnZXIsIEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSW5z
cGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQpCiAgICAgOiBJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50KGluamVjdGVkU2NyaXB0TWFuYWdlcikKICAgICAsIG1fc2NyaXB0RGVidWdTZXJ2ZXIo
Z2xvYmFsT2JqZWN0KQorICAgICwgbV9jb25zb2xlQWdlbnQoY29uc29sZUFnZW50KQogewogfQog
CkBAIC02Miw2ICs2NywxMSBAQCBJbmplY3RlZFNjcmlwdCBKU0dsb2JhbE9iamVjdERlYnVnZ2Vy
QWdlbnQ6OmluamVjdGVkU2NyaXB0Rm9yRXZhbChFcnJvclN0cmluZyogZQogICAgIHJldHVybiBp
bmplY3RlZFNjcmlwdE1hbmFnZXIoKS0+aW5qZWN0ZWRTY3JpcHRGb3IoZXhlYyk7CiB9CiAKK3Zv
aWQgSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7CisgICAgbV9jb25zb2xl
QWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VUeXBl
OjpMb2csIE1lc3NhZ2VMZXZlbDo6TG9nLCBtZXNzYWdlLCBjcmVhdGVTY3JpcHRDYWxsU3RhY2so
ZXhlYywgU2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0cnVlKSwg
MCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmgKaW5kZXggYTlm
ZDY3OS4uMTcwYWQ1MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmgK
QEAgLTMzLDExICszMywxMyBAQAogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAorY2xhc3MgSW5z
cGVjdG9yQ29uc29sZUFnZW50OworCiBjbGFzcyBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQg
ZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50KTsKICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQoSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyKiwgSlNDOjpKU0dsb2JhbE9iamVjdCYpOworICAgIEpTR2xvYmFs
T2JqZWN0RGVidWdnZXJBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBKU0M6OkpTR2xvYmFs
T2JqZWN0JiwgSW5zcGVjdG9yQ29uc29sZUFnZW50Kik7CiAgICAgdmlydHVhbCB+SlNHbG9iYWxP
YmplY3REZWJ1Z2dlckFnZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIEpTR2xvYmFsT2JqZWN0U2Ny
aXB0RGVidWdTZXJ2ZXImIHNjcmlwdERlYnVnU2VydmVyKCkgb3ZlcnJpZGUgeyByZXR1cm4gbV9z
Y3JpcHREZWJ1Z1NlcnZlcjsgfQpAQCAtNDYsOCArNDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHN0b3BMaXN0ZW5pbmdTY3JpcHREZWJ1Z1NlcnZlcihib29sIGlzQmVpbmdEZXN0cm95
ZWQpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgSW5qZWN0ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHRG
b3JFdmFsKEVycm9yU3RyaW5nKiwgY29uc3QgaW50KiBleGVjdXRpb25Db250ZXh0SWQpIG92ZXJy
aWRlOwogCi0gICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgYSBDb25zb2xlQWdlbnQgdG8gc2VuZCBh
IGxvZyB0by4KLSAgICB2aXJ0dWFsIHZvaWQgYnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6OkV4ZWNT
dGF0ZSosIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlIGZpbmFsIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJikgb3Zl
cnJpZGU7CiAKICAgICAvLyBGSVhNRTogSmF2YVNjcmlwdCBpbnNwZWN0b3IgZG9lcyBub3QgeWV0
IGhhdmUgYSBjb25zb2xlIG9iamVjdCB0byBtdXRlLgogICAgIHZpcnR1YWwgdm9pZCBtdXRlQ29u
c29sZSgpIG92ZXJyaWRlIHsgfQpAQCAtNTUsNiArNTYsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAgICAgSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlciBtX3NjcmlwdERlYnVnU2VydmVy
OworICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9Db25zb2xlLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3Byb3RvY29sL0NvbnNvbGUuanNvbgpzaW1pbGFyaXR5IGluZGV4IDg2JQpyZW5hbWUgZnJvbSBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCnJlbmFtZSB0byBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbgppbmRl
eCAzNWJkMTFhLi5mYzNjOTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
cHJvdG9jb2wvQ29uc29sZS5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCkBAIC0zLDYgKzMsMTYgQEAKICAgICAiZGVzY3JpcHRp
b24iOiAiQ29uc29sZSBkb21haW4gZGVmaW5lcyBtZXRob2RzIGFuZCBldmVudHMgZm9yIGludGVy
YWN0aW9uIHdpdGggdGhlIEphdmFTY3JpcHQgY29uc29sZS4gQ29uc29sZSBjb2xsZWN0cyBtZXNz
YWdlcyBjcmVhdGVkIGJ5IG1lYW5zIG9mIHRoZSA8YSBocmVmPSdodHRwOi8vZ2V0ZmlyZWJ1Zy5j
b20vd2lraS9pbmRleC5waHAvQ29uc29sZV9BUEknPkphdmFTY3JpcHQgQ29uc29sZSBBUEk8L2E+
LiBPbmUgbmVlZHMgdG8gZW5hYmxlIHRoaXMgZG9tYWluIHVzaW5nIDxjb2RlPmVuYWJsZTwvY29k
ZT4gY29tbWFuZCBpbiBvcmRlciB0byBzdGFydCByZWNlaXZpbmcgdGhlIGNvbnNvbGUgbWVzc2Fn
ZXMuIEJyb3dzZXIgY29sbGVjdHMgbWVzc2FnZXMgaXNzdWVkIHdoaWxlIGNvbnNvbGUgZG9tYWlu
IGlzIG5vdCBlbmFibGVkIGFzIHdlbGwgYW5kIHJlcG9ydHMgdGhlbSB1c2luZyA8Y29kZT5tZXNz
YWdlQWRkZWQ8L2NvZGU+IG5vdGlmaWNhdGlvbiB1cG9uIGVuYWJsaW5nLiIsCiAgICAgInR5cGVz
IjogWwogICAgICAgICB7CisgICAgICAgICAgICAiaWQiOiAiQ29uc29sZU5ldHdvcmtSZXF1ZXN0
SWQiLAorICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKKyAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJVbmlxdWUgcmVxdWVzdCBpZGVudGlmaWVyLiBGSVhNRTogRHVwbGljYXRlIG9mIE5l
dHdvcmsuUmVxdWVzdElkIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMjU2NjQ+IFdlYiBJbnNwZWN0
b3I6IEZJWCBUeXBlIERlcGVuZGVuY3kgSXNzdWVzIgorICAgICAgICB9LAorICAgICAgICB7Cisg
ICAgICAgICAgICAiaWQiOiAiQ29uc29sZURPTU5vZGVJZCIsCisgICAgICAgICAgICAidHlwZSI6
ICJpbnRlZ2VyIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUgRE9NIG5vZGUg
aWRlbnRpZmllci4gRklYTUU6IER1cGxpY2F0ZSBvZiBET00uTm9kZUlkIDxodHRwczovL3dlYmtp
dC5vcmcvYi8xMjU2NjQ+IFdlYiBJbnNwZWN0b3I6IEZJWCBUeXBlIERlcGVuZGVuY3kgSXNzdWVz
IgorICAgICAgICB9LAorICAgICAgICB7CiAgICAgICAgICAgICAiaWQiOiAiQ29uc29sZU1lc3Nh
Z2UiLAogICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJDb25zb2xlIG1lc3NhZ2UuIiwKQEAgLTE3LDcgKzI3LDcgQEAKICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInJlcGVhdENvdW50IiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25h
bCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJSZXBlYXQgY291bnQgZm9yIHJlcGVhdGVkIG1lc3Nh
Z2VzLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhcmFtZXRlcnMiLCAidHlwZSI6
ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiUnVudGltZS5SZW1vdGVPYmplY3QiIH0sICJv
cHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJNZXNzYWdlIHBhcmFtZXRlcnMgaW4gY2Fz
ZSBvZiB0aGUgZm9ybWF0dGVkIG1lc3NhZ2UuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAic3RhY2tUcmFjZSIsICIkcmVmIjogIlN0YWNrVHJhY2UiLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiSmF2YVNjcmlwdCBzdGFjayB0cmFjZSBmb3IgYXNzZXJ0aW9ucyBhbmQg
ZXJyb3IgbWVzc2FnZXMuIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmV0d29ya1Jl
cXVlc3RJZCIsICIkcmVmIjogIk5ldHdvcmsuUmVxdWVzdElkIiwgIm9wdGlvbmFsIjogdHJ1ZSwg
ImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIgb2YgdGhlIG5ldHdvcmsgcmVxdWVzdCBhc3NvY2lh
dGVkIHdpdGggdGhpcyBtZXNzYWdlLiIgfQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmV0
d29ya1JlcXVlc3RJZCIsICIkcmVmIjogIkNvbnNvbGVOZXR3b3JrUmVxdWVzdElkIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIgb2YgdGhlIG5ldHdvcmsgcmVx
dWVzdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZXNzYWdlLiIgfQogICAgICAgICAgICAgXQogICAg
ICAgICB9LAogICAgICAgICB7CkBAIC02MSw3ICs3MSw3IEBACiAgICAgICAgIHsKICAgICAgICAg
ICAgICJuYW1lIjogImFkZEluc3BlY3RlZE5vZGUiLAogICAgICAgICAgICAgInBhcmFtZXRlcnMi
OiBbCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJET00uTm9k
ZUlkIiwgImRlc2NyaXB0aW9uIjogIkRPTSBub2RlIGlkIHRvIGJlIGFjY2Vzc2libGUgYnkgbWVh
bnMgb2YgJHggY29tbWFuZCBsaW5lIEFQSS4iIH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjog
Im5vZGVJZCIsICIkcmVmIjogIkNvbnNvbGVET01Ob2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiRE9N
IG5vZGUgaWQgdG8gYmUgYWNjZXNzaWJsZSBieSBtZWFucyBvZiAkeCBjb21tYW5kIGxpbmUgQVBJ
LiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGVz
IGNvbnNvbGUgdG8gcmVmZXIgdG8gdGhlIG5vZGUgd2l0aCBnaXZlbiBpZCB2aWEgJHggKHNlZSBD
b21tYW5kIExpbmUgQVBJIGZvciBtb3JlIGRldGFpbHMgJHggZnVuY3Rpb25zKS4iCiAgICAgICAg
IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
Z2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkK
aW5kZXggZGIxNjNiZi4uNTM2NjAzMSAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5Cisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1jb21i
aW5lZC1pbnNwZWN0b3ItanNvbi5weQpAQCAtNjYsMyArNjYsNCBAQCBmb3IgZmlsZSBpbiBmaWxl
czoKIAogICAgIHByaW50KHN0cmluZy5yc3RyaXAoKSkKIHByaW50KCJdfSIpCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggODA0Yzg0NS4uMDFkNmJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTc2MCw3ICs3NjAsNiBAQCBzZXQoV2ViQ29yZV9JTlNQRUNUT1JfRE9NQUlOUwogICAgIGluc3Bl
Y3Rvci9wcm90b2NvbC9BcHBsaWNhdGlvbkNhY2hlLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9j
b2wvQ1NTLmpzb24KICAgICBpbnNwZWN0b3IvcHJvdG9jb2wvQ2FudmFzLmpzb24KLSAgICBpbnNw
ZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5q
c29uCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0RPTURlYnVnZ2VyLmpzb24KICAgICBpbnNwZWN0
b3IvcHJvdG9jb2wvRE9NU3RvcmFnZS5qc29uCkBAIC0xNTY2LDE2ICsxNTY1LDEzIEBAIHNldChX
ZWJDb3JlX1NPVVJDRVMKIAogICAgIGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwCiAg
ICAgaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcAotICAgIGluc3BlY3Rvci9Db25z
b2xlTWVzc2FnZS5jcHAKICAgICBpbnNwZWN0b3IvRE9NRWRpdG9yLmNwcAogICAgIGluc3BlY3Rv
ci9ET01QYXRjaFN1cHBvcnQuY3BwCi0gICAgaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5j
cHAKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuY3BwCiAgICAgaW5z
cGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ1NTQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhc0FnZW50
LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuY3BwCi0gICAgaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuY3BwCiAgICAgaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTYwOSwxMCArMTYwNSw4IEBAIHNldChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5jcHAKICAgICBp
bnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKICAgICBpbnNwZWN0b3IvUGFn
ZVJ1bnRpbWVBZ2VudC5jcHAKLSAgICBpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcAotICAg
IGluc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCi0gICAgaW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFjay5jcHAKICAgICBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAorICAgIGlu
c3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL1dlYkRlYnVnZ2VyQWdl
bnQuY3BwCiAgICAgaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKICAgICBpbnNwZWN0
b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZWRmNGM3Li4xMzBmYzg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjc0IEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIENv
bnNvbGUgc3VwcG9ydCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgICAtIE1vdmUgSW5zcGVjdG9yQ29uc29sZUFn
ZW50IGFuZCBkZXBlbmRlbmNpZXMgdG8gSmF2YVNjcmlwdENvcmUKKyAgICAgICAgICAgIGFuZCBp
bnRvIHRoZSBJbnNwZWN0b3IgbmFtZXNwYWNlLgorICAgICAgICAgIC0gVXBkYXRlIENvbnNvbGUg
TWVzc2FnZSBlbnVtIHR5cGVzIHRvIGVudW0gY2xhc3NlcyBhbmQgdXBkYXRlCisgICAgICAgICAg
ICBhbGwgdXNlcnMgdG8gdGhlIG5ldywgc2ltcGxlciBuYW1lcy4KKyAgICAgICAgICAtIFNpbmNl
IHdlIGFyZSB1cGRhdGluZyBhZGRDb25zb2xlTWVzc2FnZSBjYWxsc2l0ZXMgYW55d2F5cywgYWRk
CisgICAgICAgICAgICBBU0NJSUxpdGVyYWwgd2hlcmUgYXBwcm9wcmlhdGUuCisgICAgICAgICAg
LSBBZGQgV2ViQ29uc29sZUFnZW50IGJhc2Ugb2YgUGFnZS9Xb3JrZXIgQ29uc29sZUFnZW50IHRv
IGltcGxlbWVudAorICAgICAgICAgICAgd2hhdCBjb3VsZCBub3QgYmUgcHVzaGVkIGludG8gSmF2
YVNjcmlwdENvcmUuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5oOiBBZGRlZC4KKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNw
ZWN0b3IvQ29uc29sZVR5cGVzLmg6IEFkZGVkLgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJz
L2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaDogQWRkZWQuCisgICAgICAgICogRm9yd2Fy
ZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oOiBBZGRlZC4KKyAgICAgICAg
KiBGb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmg6IEFkZGVkLgor
ICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaDog
QWRkZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdENhbGxT
dGFja0ZhY3RvcnkuaDogQWRkZWQuCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaDogQWRkZWQuCisgICAgICAgICogR05V
bWFrZWZpbGUuYW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgQWRk
IC8gcmVtb3ZlIGZpbGVzIGZyb20gYnVpbGRzLgorCisgICAgICAgICogaW5zcGVjdG9yL1dlYkNv
bnNvbGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2VudDo6V2ViQ29uc29sZUFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVu
YWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50OjpmcmFtZVdpbmRvd0Rp
c2NhcmRlZCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6OmRpZEZpbmlzaFhI
UkxvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50OjpkaWRSZWNlaXZl
UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29uc29sZUFnZW50OjpkaWRGYWlsTG9h
ZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZEhl
YXBPYmplY3QpOgorICAgICAgICBJbXBsZW1lbnQgd2hhdCBjb3VsZCBub3QgYmUgcHVzaGVkIGRv
d24gaW50byBKYXZhU2NyaXB0Q29yZS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50
aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjp3ZWJD
b25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0
V2ViQ29uc29sZUFnZW50KToKKyAgICAgICAgSG9sZCBhIFdlYkNvbnNvbGVBZ2VudCBpbnN0ZWFk
IG9mIEluc3BlY3RvckNvbnNvbGVBZ2VudC4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQkN1cnNvci5jcHA6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2Uu
Y3BwOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAg
ICAgICAgKiBNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVdpbmRvd1F1b3RhOjp3ZWJraXRTdG9yYWdlSW5mbyk6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
QnVmZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9k
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYW5uZXJOb2RlOjpzZXRQYW5uaW5nTW9kZWwpOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRhdGFiYXNlQmFzZTo6bG9nRXJyb3JNZXNzYWdlKToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
YXRhYmFzZU1hbmFnZXI6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmNvbm5l
Y3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5kKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYlNvY2tldDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZXRC
aW5hcnlUeXBlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpmYWlsKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0pOgorICAg
ICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAg
ICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJz
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU0F1ZGlvQ29udGV4dENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKU0F1ZGlvQ29udGV4dCk6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SlNDdXN0b21YUGF0aE5TUmVzb2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVSSSk6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1N1
YnRsZUNyeXB0bzo6ZW5jcnlwdCk6CisgICAgICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6
ZGVjcnlwdCk6CisgICAgICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6c2lnbik6CisgICAg
ICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6dmVyaWZ5KToKKyAgICAgICAgKFdlYkNvcmU6
OkpTU3VidGxlQ3J5cHRvOjp3cmFwS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkpTU3VidGxlQ3J5
cHRvOjp1bndyYXBLZXkpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlw
dHMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAg
ICAgICAoR2VuZXJhdGVDYWxsV2l0aCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OmxvZ0Vycm9yKToKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29u
c29sZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnByb2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZE1l
c3NhZ2UpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OmV4ZWN1dGVTY3Jp
cHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6bm90aWZ5RmluaXNoZWQpOgor
ICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKiBkb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2aWV3cG9ydEVycm9yTWVzc2FnZUxldmVsKToKKyAg
ICAgICAgKFdlYkNvcmU6OnJlcG9ydFZpZXdwb3J0V2FybmluZyk6CisgICAgICAgICogZmlsZWFw
aS9CbG9iLmNwcDoKKyAgICAgICAgKiBmaWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6c2hvdWxkQXV0b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVs
eSk6CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6Z2V0SW1hZ2VEYXRhKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpwcmlu
dFdhcm5pbmdUb0NvbnNvbGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6aW5pdCk6CisgICAgICAgICogaHRtbC9w
YXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0
b3JEZWxlZ2F0ZTo6ZGlkQmxvY2tTY3JpcHQpOgorICAgICAgICAqIGluc3BlY3Rvci9Db21tYW5k
TGluZUFQSUhvc3QuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3Qu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbW1hbmRMaW5lQVBJSG9zdDo6aW5pdCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZVRpbWVTdGFt
cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZFByb2Zp
bGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpmcmFtZVdpbmRvd0Rpc2NhcmRlZEltcGwpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZUlt
cGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWls
TG9hZGluZ0ltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRGaW5pc2hYSFJMb2FkaW5nSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Omlz
Q29uc29sZUFzc2VydE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudEltcGwpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdGFydENvbnNvbGVUaW1pbmdJbXBsKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcENvbnNvbGVU
aW1pbmdJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
Y29uc29sZUFnZW50RW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2Vu
dC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6YWRkUHJvZmlsZUZpbmlzaGVkTWVzc2FnZVRv
Q29uc29sZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjphZGRT
dGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JQcm9maWxlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291
cmNlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6
YnVpbGRJbml0aWF0b3JPYmplY3QpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpJbnN0cnVtZW50aW5n
QWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlQ29uc29sZUFnZW50OjpQYWdlQ29uc29sZUFnZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2VDb25zb2xlQWdlbnQ6OmNsZWFyTWVzc2FnZXMpOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZUNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZSk6CisgICAgICAgICogaW5zcGVjdG9y
L1BhZ2VDb25zb2xlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZURlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRB
Y3Rpb25Mb2cpOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0Lmg6
CisgICAgICAgICogaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZCk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJDb25zb2xlQWdlbnQ6On5XZWJDb25zb2xlQWdlbnQpOgorICAgICAgICAq
IGluc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyQ29uc29sZUFnZW50OjpXb3JrZXJDb25zb2xlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyQ29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvV29ya2VyQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckRlYnVn
Z2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyRGVidWdnZXJBZ2VudDo6YnJl
YWtwb2ludEFjdGlvbkxvZyk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxl
cjo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJl
Y2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6aGFuZGxlQmVmb3JlVW5sb2FkRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKToKKyAgICAgICAgKFdl
YkNvcmU6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAg
ICogbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWl4
ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmNvcnNQb2xp
Y3lQcmV2ZW50ZWRMb2FkKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNl
aXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpk
aWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91
cDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRp
ZFJlY2VpdmVNYW5pZmVzdFJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKToKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVuaWVkTWVzc2FnZSk6CisgICAg
ICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aW50ZXJuYWxBZGRNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnNvbGU6OmRlYnVnKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmVycm9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmxvZyk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xl
Ojp3YXJuKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmRpcik6CisgICAgICAgIChXZWJD
b3JlOjpDb25zb2xlOjpkaXJ4bWwpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6dGFibGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6
Q29uc29sZTo6dHJhY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6YXNzZXJ0Q29uZGl0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Omdyb3VwKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnNvbGU6Omdyb3VwQ29sbGFwc2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6
Omdyb3VwRW5kKToKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaDoKKyAgICAgICAgKiBwYWdlL0Nv
bnNvbGVUeXBlcy5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9s
aWN5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0
VmlvbGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6bG9n
VG9Db25zb2xlKToKKyAgICAgICAgKiBwYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnBv
c3RNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdl
RXZlbnRXaXRoT3JpZ2luQ2hlY2spOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjbG9z
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnByaW50RXJyb3JNZXNzYWdlKToKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkRmFpbEFjY2Vzc0NvbnRyb2xDaGVjayk6
CisgICAgICAgICogcGFnZS9QYWdlQ29uc29sZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Q29uc29sZTo6cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgpOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbnNv
bGUuaDoKKyAgICAgICAgKiBwYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQb2ludGVyTG9ja0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayk6Cisg
ICAgICAgICogcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvc2hhcGVzL1NoYXBlSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjaGVja1NoYXBlSW1h
Z2VPcmlnaW4pOgorICAgICAgICAqIHN2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6cmVwb3J0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1
bWVudEV4dGVuc2lvbnM6OnJlcG9ydFdhcm5pbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9j
dW1lbnRFeHRlbnNpb25zOjpyZXBvcnRFcnJvcik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpjb25zb2xlTWVzc2FnZUFyZ3Vt
ZW50Q291bnRzKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0
b3J5LmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpsb2dFeGNlcHRpb25U
b0NvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlckdsb2JhbFNjb3BlOjphZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKToKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQ
cm94eS5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpsb2dDb25zb2xlRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6
OnNlbmQpOgorICAgICAgICAqIHhtbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpYU0xUUHJvY2Vzc29yOjpwYXJzZUVycm9yRnVuYyk6CisKIDIwMTQtMDItMDYg
IFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0NTUyBTaGFw
ZXNdIFNpbXBsaWZ5IEJhc2ljU2hhcGVJbnNldCBjcmVhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggMGY2ZGJjNC4uYzI4ZGQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0xMDkyLDcgKzEwOTIsNiBAQCBJTlNQRUNUT1JfRE9NQUlOUyA9IFwKICAgICAk
KFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9BcHBsaWNhdGlvbkNhY2hlLmpzb24gXAogICAg
ICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uIFwKICAgICAkKFdlYkNvcmUp
L2luc3BlY3Rvci9wcm90b2NvbC9DYW52YXMuanNvbiBcCi0gICAgJChXZWJDb3JlKS9pbnNwZWN0
b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90
b2NvbC9ET00uanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NRGVi
dWdnZXIuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NU3RvcmFn
ZS5qc29uIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2lu
c3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uY2Q1N2QxNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Zvcndh
cmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0wLDAgKzEsNCBAQAor
I2lmbmRlZiBXZWJDb3JlX0ZXRF9Db25zb2xlTWVzc2FnZV9oCisjZGVmaW5lIFdlYkNvcmVfRldE
X0NvbnNvbGVNZXNzYWdlX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlTWVzc2Fn
ZS5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVy
cy9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVh
ZGVycy9pbnNwZWN0b3IvQ29uc29sZVR5cGVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uN2I3MjlkNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Zvcndh
cmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db25zb2xlVHlwZXMuaApAQCAtMCwwICsxLDQgQEAKKyNp
Zm5kZWYgV2ViQ29yZV9GV0RfQ29uc29sZVR5cGVzX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfQ29u
c29sZVR5cGVzX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4KKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVj
dG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjhhMTM1YjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9G
b3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmgKQEAgLTAsMCAr
MSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0lkZW50aWZpZXJzRmFjdG9yeV9oCisjZGVmaW5l
IFdlYkNvcmVfRldEX0lkZW50aWZpZXJzRmFjdG9yeV9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWE2Zjk4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEFy
Z3VtZW50cy5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9TY3JpcHRBcmd1
bWVudHNfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHRBcmd1bWVudHNfaAorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL1NjcmlwdEFyZ3VtZW50cy5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2Fs
bEZyYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc2Nzg1OAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rv
ci9TY3JpcHRDYWxsRnJhbWUuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0Rf
U2NyaXB0Q2FsbEZyYW1lX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0Q2FsbEZyYW1lX2gK
KyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsRnJhbWUuaD4KKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdk
OTdmN2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVy
cy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdl
YkNvcmVfRldEX1NjcmlwdENhbGxTdGFja19oCisjZGVmaW5lIFdlYkNvcmVfRldEX1NjcmlwdENh
bGxTdGFja19oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrLmg+Cisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5n
SGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MWU3YzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9TY3JpcHRDYWxsU3RhY2tG
YWN0b3J5X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeV9oCisj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmVjZWFhCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JDb25zb2xlQWdlbnQuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfSW5z
cGVjdG9yQ29uc29sZUFnZW50X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfSW5zcGVjdG9yQ29uc29s
ZUFnZW50X2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
aD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA2ZTQ4OTU0Li4yZTJhY2NiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMzM3LDcgKzMzNyw2IEBAIFdlYkNvcmVfSU5TUEVDVE9SX0RP
TUFJTlMgOj0gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0FwcGxpY2F0aW9u
Q2FjaGUuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1NTLmpzb24g
XAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZhcy5qc29uIFwKLSAgICAk
KFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24gXAogICAgICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rv
ci9wcm90b2NvbC9ET01EZWJ1Z2dlci5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9w
cm90b2NvbC9ET01TdG9yYWdlLmpzb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5k
ZXggNWRiZWE4Mi4uMTkzYzQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0y
NDM2LDggKzI0MzYsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBcCi0JU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENvbnRyb2xsZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0SGVhcFNu
YXBzaG90LmggXApAQCAtMzc0NCwxNSArMzc0MiwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmggXAotCVNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVN
ZXNzYWdlLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0b3IuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
RE9NUGF0Y2hTdXBwb3J0LmggXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVy
c0ZhY3RvcnkuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0
b3J5LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZhc01v
ZHVsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZh
c01vZHVsZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50LmNwcCBcCkBAIC0zNzY0LDggKzM3NTcsNiBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIFwKLQlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBcCi0JU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuaCBcCkBAIC0zODM4LDE0ICszODI5LDEwIEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNj
cmlwdE1hbmFnZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdl
bnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oIFwK
LQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmNwcCBcCi0JU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oIFwKLQlTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1NjcmlwdENhbGxGcmFtZS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oIFwKKwlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcCBcCisJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV2ViRGVidWdnZXJBZ2VudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
ZWJEZWJ1Z2dlckFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25z
b2xlQWdlbnQuY3BwIFwKQEAgLTQwNTQsNyArNDA0MSw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUv
cGFnZS9Db25zb2xlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmggXAotCVNv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50
U2VjdXJpdHlQb2xpY3kuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVu
dC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1
cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3Bw
CmluZGV4IGY2ZWEzMGUuLjkxYTc3ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQ3Vyc29yLmNwcApAQCAtMzcsOCArMzcsOCBAQAogI2luY2x1ZGUgIklEQlJl
cXVlc3QuaCIKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2lu
Y2x1ZGUgPGxpbWl0cz4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCmluZGV4IDQwMTExOWEuLjgzZTQ3
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFi
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFz
ZS5jcHAKQEAgLTQ0LDkgKzQ0LDkgQEAKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbi5oIgogI2lu
Y2x1ZGUgIklEQlZlcnNpb25DaGFuZ2VFdmVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSA8YXRvbWljPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24u
Y3BwCmluZGV4IDhkNmQ1M2EuLmZmMjUwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKQEAgLTM5LDcgKzM5LDYgQEAKICNp
bmNsdWRlICJJREJPcGVuREJSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSURCUGVuZGluZ1RyYW5zYWN0
aW9uTW9uaXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxs
U3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvRE9N
V2luZG93UXVvdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dR
dW90YS5jcHAKaW5kZXggZWEzZDY1OS4uMjI3MGEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgU3RvcmFn
ZUluZm8qIERPTVdpbmRvd1F1b3RhOjp3ZWJraXRTdG9yYWdlSW5mbyhET01XaW5kb3cqIHdpbmRv
dykKIFN0b3JhZ2VJbmZvKiBET01XaW5kb3dRdW90YTo6d2Via2l0U3RvcmFnZUluZm8oKSBjb25z
dAogewogICAgIGlmICghbV9zdG9yYWdlSW5mbyAmJiBmcmFtZSgpKSB7Ci0gICAgICAgIGZyYW1l
KCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2Fybmlu
Z01lc3NhZ2VMZXZlbCwgIndpbmRvdy53ZWJraXRTdG9yYWdlSW5mbyBpcyBkZXByZWNhdGVkLiBV
c2UgbmF2aWdhdG9yLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2Ugb3IgbmF2aWdhdG9yLndlYmtpdFBl
cnNpc3RlbnRTdG9yYWdlIGluc3RlYWQuIik7CisgICAgICAgIGZyYW1lKCktPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6Oldhcm5p
bmcsIEFTQ0lJTGl0ZXJhbCgid2luZG93LndlYmtpdFN0b3JhZ2VJbmZvIGlzIGRlcHJlY2F0ZWQu
IFVzZSBuYXZpZ2F0b3Iud2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBvciBuYXZpZ2F0b3Iud2Via2l0
UGVyc2lzdGVudFN0b3JhZ2UgaW5zdGVhZC4iKSk7CiAgICAgICAgIG1fc3RvcmFnZUluZm8gPSBT
dG9yYWdlSW5mbzo6Y3JlYXRlKCk7CiAgICAgfQogICAgIHJldHVybiBtX3N0b3JhZ2VJbmZvLmdl
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1
ZmZlclNvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0J1ZmZlclNvdXJjZU5vZGUuY3BwCmluZGV4IDhlZTZkNjEuLjYyMDBmYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNl
Tm9kZS5jcHAKQEAgLTMyLDEwICszMiwxMCBAQAogI2luY2x1ZGUgIkF1ZGlvTm9kZU91dHB1dC5o
IgogI2luY2x1ZGUgIkF1ZGlvVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9u
LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJv
bGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDxh
bGdvcml0aG0+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1
ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNs
dWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC00NjAsNyArNDYwLDcgQEAgYm9vbCBBdWRpb0J1
ZmZlclNvdXJjZU5vZGU6Omxvb3BpbmcoKQogewogICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9
IHRydWU7CiAgICAgaWYgKGZpcnN0VGltZSAmJiBjb250ZXh0KCkgJiYgY29udGV4dCgpLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01l
c3NhZ2VMZXZlbCwgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlz
IGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7CisgICAgICAgIGNvbnRleHQoKS0+
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBBU0NJSUxpdGVyYWwoIkF1ZGlvQnVmZmVyU291
cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGlu
c3RlYWQuIikpOwogICAgICAgICBmaXJzdFRpbWUgPSBmYWxzZTsKICAgICB9CiAKQEAgLTQ3MSw3
ICs0NzEsNyBAQCB2b2lkIEF1ZGlvQnVmZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyhib29sIGxv
b3BpbmcpCiB7CiAgICAgc3RhdGljIGJvb2wgZmlyc3RUaW1lID0gdHJ1ZTsKICAgICBpZiAoZmly
c3RUaW1lICYmIGNvbnRleHQoKSAmJiBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSkgewotICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiQXVkaW9C
dWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAn
bG9vcCcgaW5zdGVhZC4iKTsKKyAgICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6
Oldhcm5pbmcsIEFTQ0lJTGl0ZXJhbCgiQXVkaW9CdWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBh
dHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4iKSk7CiAgICAgICAg
IGZpcnN0VGltZSA9IGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IDQ4NTRmZjAuLmFjMjI1MDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAg
LTU1LDcgKzU1LDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFubmVyTm9kZS5o
IgogI2luY2x1ZGUgIlBlcmlvZGljV2F2ZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5o
IgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlICJTY3Jp
cHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvY2Vzc29yTm9kZS5oIgogI2luY2x1
ZGUgIldhdmVTaGFwZXJOb2RlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9QYW5uZXJOb2RlLmNwcAppbmRleCAxN2JmMTMwLi44MjI1ODlmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHAKQEAgLTIwNSw3ICsyMDUsNyBA
QCBib29sIFBhbm5lck5vZGU6OnNldFBhbm5pbmdNb2RlbCh1bnNpZ25lZCBtb2RlbCkKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBTT1VOREZJRUxEOgogICAgICAgICAvLyBGSVhNRTogSW1wbGVt
ZW50IHNvdW5kIGZpZWxkIG1vZGVsLiBTZWUgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc3MzY3LgotICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2Fn
ZUxldmVsLCAiJ3NvdW5kZmllbGQnIHBhbm5pbmcgbW9kZWwgbm90IGltcGxlbWVudGVkLiIpOwor
ICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgQVNDSUlMaXRl
cmFsKCInc291bmRmaWVsZCcgcGFubmluZyBtb2RlbCBub3QgaW1wbGVtZW50ZWQuIikpOwogICAg
ICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAKaW5k
ZXggYWYyMzc3YS4uNWYxMGJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9EYXRhYmFzZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcApAQCAtNDYsNyArNDYsNyBAQCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBEYXRhYmFzZUJhc2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25z
dAogCiB2b2lkIERhdGFiYXNlQmFzZTo6bG9nRXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKIHsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdl
KFN0b3JhZ2VNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpTdG9yYWdlLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IDBiNjBjOTYuLjFmMDI1YWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdl
ci5jcHAKQEAgLTQ2Nyw3ICs0NjcsNyBAQCB2b2lkIERhdGFiYXNlTWFuYWdlcjo6aW50ZXJydXB0
QWxsRGF0YWJhc2VzRm9yQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogCiB2b2lk
IERhdGFiYXNlTWFuYWdlcjo6bG9nRXJyb3JNZXNzYWdlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBjb250ZXh0LT5hZGRDb25z
b2xlTWVzc2FnZShTdG9yYWdlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UpOworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlN0b3Jh
Z2UsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQu
Y3BwCmluZGV4IDcyYjE5MmEuLmQzMTYwZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC00OCwxMiArNDgsMTIgQEAKICNpbmNsdWRl
ICJGcmFtZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQu
aCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9s
bGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCIK
ICNpbmNsdWRlICJXZWJTb2NrZXRDaGFubmVsLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRl
IDxydW50aW1lL0FycmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBA
IC0yMTQsMjYgKzIxNCwyNiBAQCB2b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29scywgRXhjZQogICAgIG1fdXJsID0g
VVJMKFVSTCgpLCB1cmwpOwogCiAgICAgaWYgKCFtX3VybC5pc1ZhbGlkKCkpIHsKLSAgICAgICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91
cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOworICAgICAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNz
YWdlTGV2ZWw6OkVycm9yLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3Ry
aW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VE
OwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBpZiAoIW1fdXJsLnByb3RvY29sSXMoIndzIikgJiYgIW1fdXJsLnByb3RvY29sSXMoIndzcyIp
KSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVybCBzY2hlbWUgZm9y
IFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkpOwor
ICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiV3JvbmcgdXJsIHNjaGVtZSBmb3Ig
V2ViU29ja2V0ICIgKyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAg
ICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAobV91cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkp
IHsKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiVVJMIGhhcyBmcmFnbWVudCBjb21w
b25lbnQgIiArIG1fdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpKTsKKyAgICAg
ICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIlVSTCBoYXMgZnJhZ21lbnQgY29tcG9uZW50
ICIgKyBtX3VybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAgICAgICAgIG1f
c3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBpZiAoIXBvcnRBbGxvd2VkKG1fdXJsKSkgewotICAgICAgICBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcG9ydCAiICsgU3RyaW5nOjpudW1iZXIobV91cmwu
cG9ydCgpKSArICIgYmxvY2tlZCIpOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9y
LCAiV2ViU29ja2V0IHBvcnQgIiArIFN0cmluZzo6bnVtYmVyKG1fdXJsLnBvcnQoKSkgKyAiIGJs
b2NrZWQiKTsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgZWMgPSBTRUNVUklU
WV9FUlI7CiAgICAgICAgIHJldHVybjsKQEAgLTI2NCw3ICsyNjQsNyBAQCB2b2lkIFdlYlNvY2tl
dDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3Rv
Y29scywgRXhjZQogICAgIC8vIGNvbXBseSB3aXRoIFdlYlNvY2tldCBBUEkgc3BlY2lmaWNhdGlv
biwgYnV0IGl0IHNlZW1zIHRvIGJlIHRoZSBvbmx5IHJlYXNvbmFibGUgd2F5IHRvIGhhbmRsZSB0
aGlzIGNvbmZsaWN0LgogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvdG9jb2xzLnNpemUo
KTsgKytpKSB7CiAgICAgICAgIGlmICghaXNWYWxpZFByb3RvY29sU3RyaW5nKHByb3RvY29sc1tp
XSkpIHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3RvY29s
IGZvciBXZWJTb2NrZXQgJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsg
IiciKTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJXcm9uZyBwcm90
b2NvbCBmb3IgV2ViU29ja2V0ICciICsgZW5jb2RlUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ld
KSArICInIik7CiAgICAgICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICAgICAgZWMg
PSBTWU5UQVhfRVJSOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjczLDcgKzI3Myw3IEBAIHZv
aWQgV2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgSGFzaFNldDxTdHJpbmc+IHZpc2l0ZWQ7CiAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm90b2NvbHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAg
aWYgKCF2aXNpdGVkLmFkZChwcm90b2NvbHNbaV0pLmlzTmV3RW50cnkpIHsKLSAgICAgICAgICAg
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBwcm90b2NvbHMgY29udGFpbiBkdXBs
aWNhdGVzOiAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkgKyAiJyIpOwor
ICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldlYlNvY2tldCBwcm90b2Nv
bHMgY29udGFpbiBkdXBsaWNhdGVzOiAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29s
c1tpXSkgKyAiJyIpOwogICAgICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgICAg
IGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTMwNSw3ICszMDUsNyBA
QCB2b2lkIFdlYlNvY2tldDo6c2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogICAgIEFTU0VSVChtX2NoYW5uZWwpOwogICAgIFRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsOjpTZW5kUmVzdWx0IHJlc3VsdCA9IG1fY2hhbm5lbC0+c2VuZChtZXNzYWdlKTsKICAg
ICBpZiAocmVzdWx0ID09IFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpJbnZhbGlkTWVzc2Fn
ZSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJzb2NrZXQgbWVzc2FnZSBj
b250YWlucyBpbnZhbGlkIGNoYXJhY3RlcihzKS4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxl
dmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJXZWJzb2NrZXQgbWVzc2FnZSBjb250YWlucyBpbnZh
bGlkIGNoYXJhY3RlcihzKS4iKSk7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KQEAgLTM3OCw3ICszNzgsNyBAQCB2b2lkIFdlYlNvY2tldDo6Y2xvc2Uo
aW50IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVhc29uLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAg
ICAgfQogICAgICAgICBDU3RyaW5nIHV0ZjggPSByZWFzb24udXRmOChTdHJpY3RDb252ZXJzaW9u
UmVwbGFjaW5nVW5wYWlyZWRTdXJyb2dhdGVzV2l0aEZGRkQpOwogICAgICAgICBpZiAodXRmOC5s
ZW5ndGgoKSA+IG1heFJlYXNvblNpemVJbkJ5dGVzKSB7Ci0gICAgICAgICAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgY2xvc2UgbWVzc2FnZSBpcyB0b28gbG9uZy4iKTsKKyAg
ICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiV2ViU29j
a2V0IGNsb3NlIG1lc3NhZ2UgaXMgdG9vIGxvbmcuIikpOwogICAgICAgICAgICAgZWMgPSBTWU5U
QVhfRVJSOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC00NDMsNyArNDQzLDcg
QEAgdm9pZCBXZWJTb2NrZXQ6OnNldEJpbmFyeVR5cGUoY29uc3QgU3RyaW5nJiBiaW5hcnlUeXBl
KQogICAgICAgICBtX2JpbmFyeVR5cGUgPSBCaW5hcnlUeXBlQXJyYXlCdWZmZXI7CiAgICAgICAg
IHJldHVybjsKICAgICB9Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xl
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiJyIgKyBiaW5hcnlU
eXBlICsgIicgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGJpbmFyeVR5cGU7IGJpbmFyeVR5cGUg
cmVtYWlucyB1bmNoYW5nZWQuIik7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRD
b25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIici
ICsgYmluYXJ5VHlwZSArICInIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBiaW5hcnlUeXBlOyBi
aW5hcnlUeXBlIHJlbWFpbnMgdW5jaGFuZ2VkLiIpOwogfQogCiBFdmVudFRhcmdldEludGVyZmFj
ZSBXZWJTb2NrZXQ6OmV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRl
eCA3MTY0ZWRjLi44MWM2Zjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC00OCwxNCArNDgsMTIgQEAKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VSZXF1ZXN0LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5j
bHVkZSAiU29ja2V0U3RyZWFtRXJyb3IuaCIKICNpbmNsdWRlICJTb2NrZXRTdHJlYW1IYW5kbGUu
aCIKICNpbmNsdWRlICJXZWJTb2NrZXRDaGFubmVsQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViU29j
a2V0SGFuZHNoYWtlLmgiCi0KICNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CiAjaW5j
bHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KQEAgLTE5OCw3
ICsxOTYsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFz
b24pCiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7CiAgICAgaWYgKG1fZG9jdW1lbnQpIHsKICAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVF
cnJvcihtX2RvY3VtZW50LCBtX2lkZW50aWZpZXIsIHJlYXNvbik7Ci0gICAgICAgIG1fZG9jdW1l
bnQtPmFkZENvbnNvbGVNZXNzYWdlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIldlYlNvY2tldCBjb25uZWN0aW9uIHRvICciICsgbV9oYW5kc2hha2UtPnVybCgpLnN0
cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgZmFpbGVkOiAiICsgcmVhc29uKTsK
KyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6TmV0
d29yaywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldlYlNvY2tldCBjb25uZWN0aW9uIHRvICciICsg
bV9oYW5kc2hha2UtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicg
ZmFpbGVkOiAiICsgcmVhc29uKTsKICAgICB9CiAKICAgICAvLyBIeWJpLTEwIHNwZWNpZmljYXRp
b24gZXhwbGljaXRseSBzdGF0ZXMgd2UgbXVzdCBub3QgY29udGludWUgdG8gaGFuZGxlIGluY29t
aW5nIGRhdGEKQEAgLTMzNSw3ICszMzMsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZEZh
aWxTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFNvYwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICBtZXNzYWdlID0gIldlYlNvY2tldCBuZXR3b3JrIGVycm9y
OiAiICsgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKTsKICAgICAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihtX2RvY3VtZW50LCBt
X2lkZW50aWZpZXIsIG1lc3NhZ2UpOwotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVz
c2FnZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwor
ICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpOZXR3
b3JrLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlKTsKICAgICB9CiAgICAgbV9zaG91bGRE
aXNjYXJkUmVjZWl2ZWREYXRhID0gdHJ1ZTsKICAgICBoYW5kbGUtPmRpc2Nvbm5lY3QoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5k
c2hha2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhh
bmRzaGFrZS5jcHAKaW5kZXggZTY3ODJjZi4uNjg2ZjRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKQEAg
LTQ0LDcgKzQ0LDYgQEAKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgi
CiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
T3JpZ2luLmgiCiAjaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9Vc2VKU0MuY21ha2UKaW5kZXggMzcyZTVkOS4uMjhkY2FlNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvVXNlSlNDLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQpA
QCAtMTU5LDcgKzE1OSw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRp
bmdzL2pzL1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKICAgICBiaW5kaW5ncy9qcy9TY2hlZHVs
ZWRBY3Rpb24uY3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcAot
ICAgIGJpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCiAgICAgYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmpl
Y3QuY3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZS5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KaW5kZXggOGFlMjcwOS4uYTUxNzRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI3OTEs
NyArMjc5MSw2IEBAIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjI2c2V0SW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRFTlN0M19fMTEwdW5pcXVlX3B0CiBfX1pON1dlYkNvcmUxOUluc3Bl
Y3RvckNvbnRyb2xsZXIzOXNldFJlc291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0Vp
aQogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyNHNob3dFdgogX19aTjdXZWJDb3Jl
MTlJbnNwZWN0b3JDb250cm9sbGVyNWNsb3NlRXYKLV9fWk43V2ViQ29yZTIxSW5zcGVjdG9yQ29u
c29sZUFnZW50Mjhjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzRXYKIF9fWk43V2ViQ29yZTIy
aW5zdHJ1bWVudGF0aW9uRm9yUGFnZUVQTlNfNFBhZ2VFCiBfX1pON1dlYkNvcmUyNEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjE3c19mcm9udGVuZENvdW50ZXJFCiBfX1pON1dlYkNvcmUyNEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjI2aW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2VFUE5TXzRQYWdl
RQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggZTRkYjNjNy4uMzAyNWY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xNzE4OCwyMCArMTcxODgsNiBAQAogICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGls
ZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJp
bmRpbmdzXGpzXFNjcmlwdENvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE3NDc4LDE0ICsxNzQ2NCw2IEBACiAgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21w
aWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdl
LmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgot
ICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcRE9NRWRpdG9yLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgpAQCAtMTc1MDIsMTQgKzE3NDgwLDYgQEAKICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0g
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmNw
cCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xNzU1MCwxNCArMTc1MjAsNiBAQAogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8
L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0
b3JDb25zb2xlQWdlbnQuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTc4MzAsMzAgKzE3Nzky
LDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcU2NyaXB0QXJndW1lbnRzLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbEZyYW1lLmNwcCI+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENv
bXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0
YWNrLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTc4NjIsNiArMTc4MDAsMTQgQEAKICAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAg
PC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViQ29u
c29sZUFnZW50LmNwcCI+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE4NDY3LDYgKzE4NDEzLDkgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhlYXBcU2xvdFZpc2l0
b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGhl
YXBcU3Ryb25nSW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2Fy
ZGluZ0hlYWRlcnNcaGVhcFxXZWFrLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxG
b3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcQ29uc29sZU1lc3NhZ2UuaCIgLz4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxDb25zb2xlVHlw
ZXMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGlu
c3BlY3RvclxJZGVudGlmaWVyc0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxJbmplY3RlZFNjcmlwdC5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluamVj
dGVkU2NyaXB0QmFzZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGlu
Z0hlYWRlcnNcaW5zcGVjdG9yXEluamVjdGVkU2NyaXB0SG9zdC5oIiAvPgpAQCAtMTg0ODIsNyAr
MTg0MzEsMTQgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvclxJbnNwZWN0b3JKU1R5cGVCdWlsZGVycy5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluc3BlY3RvclR5cGVCdWls
ZGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xp
bnNwZWN0b3JcSW5zcGVjdG9yVmFsdWVzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmgiIC8+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0
QnJlYWtwb2ludC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxGcmFtZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxTdGFjay5oIiAv
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9y
XFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuaCIgLz4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rvclxh
Z2VudHNcSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcYWdlbnRzXEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xtYXNtXFg4NkFzc2VtYmxlci5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccGFyc2VyXFNv
dXJjZUNvZGUuaCIgLz4KQEAgLTE4NzM2LDcgKzE4NjkyLDYgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHBhZ2VcQ2hyb21lQ2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwYWdlXGFuaW1hdGlvblxDb21wb3NpdGVBbmltYXRpb24uaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29uc29sZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccGFnZVxDb25zb2xlVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBhZ2VcQ29udGVudFNlY3VyaXR5UG9saWN5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwYWdlXENvbnRleHRNZW51Q2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxwYWdlXENvbnRleHRNZW51Q29udHJvbGxlci5oIiAvPgpAQCAtMjA1MTEsNyArMjA0NjYs
NiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcUGFnZVNjcmlwdERl
YnVnU2VydmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xT
Y2hlZHVsZWRBY3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdz
XGpzXFNjcmlwdENhY2hlZEZyYW1lRGF0YS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q29udHJvbGxlci5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0SGVhcFNuYXBzaG90LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRHbG9iYWxPYmpl
Y3QuaCIgLz4KQEAgLTIwODE1LDE5ICsyMDc2OSwxNSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cYnJpZGdlXHJ1bnRpbWVfbWV0aG9kLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxicmlkZ2VccnVudGltZV9vYmplY3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGJyaWRnZVxydW50aW1lX3Jvb3QuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxDb25zb2xlQVBJVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxDb21tYW5kTGluZUFQSUhvc3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxDb21tYW5kTGluZUFQSU1vZHVsZS5oIiAvPgotICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NRWRpdG9yLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcRE9NUGF0Y2hTdXBwb3J0LmgiIC8+Ci0gICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRlbnRpZmllcnNGYWN0b3J5LmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRTY3JpcHRDYW52YXNN
b2R1bGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxJbnNwZWN0b3JDYW52YXNBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNhbnZhc0luc3RydW1lbnRhdGlvbi5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNsaWVudC5oIiAv
PgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVB
Z2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
ckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxJbnNwZWN0b3JDb250cm9sbGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yQ291bnRlcnMuaCIgLz4KQEAgLTIwODY4LDEwICsy
MDgxOCw4IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcUGFnZUluamVj
dGVkU2NyaXB0SG9zdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxQYWdlUnVudGltZUFnZW50LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0QXJndW1lbnRzLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbEZyYW1lLmgiIC8+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0YWNrLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgiIC8+Cisg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViQ29uc29sZUFnZW50LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJBZ2VudC5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdvcmtlckNvbnNvbGVB
Z2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdvcmtlckRl
YnVnZ2VyQWdlbnQuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBjMGEwNjExLi5kMzA4NGJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCkBAIC00NDkxLDkgKzQ0OTEsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcCI+CiAgICAgICA8RmlsdGVy
PmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCI+Ci0gICAg
ICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRDb250cm9sbGVyLmNwcCI+CiAg
ICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC00
NzIyLDE4ICs0NzE5LDEyIEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
Q29tbWFuZExpbmVBUElNb2R1bGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0
ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcQ29uc29sZU1lc3NhZ2UuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+
Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
RE9NRWRpdG9yLmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwv
Q2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXERPTVBhdGNo
U3VwcG9ydC5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJZGVudGlmaWVy
c0ZhY3RvcnkuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9D
bENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5qZWN0ZWRT
Y3JpcHRDYW52YXNNb2R1bGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+
CiAgICAgPC9DbENvbXBpbGU+CkBAIC00NzQ5LDkgKzQ3NDAsNiBAQAogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNsaWVudC5jcHAiPgogICAgICAgPEZpbHRl
cj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIj4KLSAgICAgIDxG
aWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yQ29udHJvbGxlci5jcHAiPgogICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ4NTEsMTgg
KzQ4MzksMTIgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQYWdlUnVu
dGltZUFnZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwv
Q2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdEFy
Z3VtZW50cy5jcHAiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0Ns
Q29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxTY3JpcHRDYWxs
RnJhbWUuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENv
bXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0Q2FsbFN0
YWNrLmNwcCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xDb21w
aWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFRpbWVsaW5lUmVjb3Jk
RmFjdG9yeS5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25zb2xl
QWdlbnQuY3BwIj4KKyAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbENv
bXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcV2ViRGVidWdnZXJB
Z2VudC5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29t
cGlsZT4KQEAgLTc0ODcsOSArNzQ2OSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
YWdlXENvbnNvbGUuaCI+CiAgICAgICA8RmlsdGVyPnBhZ2U8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29uc29sZVR5cGVzLmgiPgot
ICAgICAgPEZpbHRlcj5wYWdlPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxwYWdlXENvbnRlbnRTZWN1cml0eVBvbGljeS5oIj4KICAgICAgIDxG
aWx0ZXI+cGFnZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTEzNDUsOSArMTEzMjQs
NiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oIj4KLSAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4K
LSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpz
XFNjcmlwdENvbnRyb2xsZXIuaCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMjA4Myw2ICsxMjA1OSwxNSBAQAogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaGVhcFxTdHJvbmcuaCI+CiAgICAgICA8
RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGhlYXA8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxD
b25zb2xlTWVzc2FnZS5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVj
dG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcQ29uc29sZVR5cGVzLmgiPgorICAgICAgPEZp
bHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVk
ZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3Rv
clxJZGVudGlmaWVyc0ZhY3RvcnkuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXEluamVjdGVkU2NyaXB0LmgiPgog
ICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8
L0NsSW5jbHVkZT4KQEAgLTEyMTI4LDkgKzEyMTEzLDMwIEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcSW5zcGVjdG9yVmFsdWVzLmgiPgog
ICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8
L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XGluc3BlY3RvclxTY3JpcHRBcmd1bWVudHMuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdI
ZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdEJyZWFrcG9p
bnQuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVy
PgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGlu
Z0hlYWRlcnNcaW5zcGVjdG9yXFNjcmlwdENhbGxGcmFtZS5oIj4KKyAgICAgIDxGaWx0ZXI+Rm9y
d2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3JcU2NyaXB0
Q2FsbFN0YWNrLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8
L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZv
cndhcmRpbmdIZWFkZXJzXGluc3BlY3RvclxTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiPgorICAg
ICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0Ns
SW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXGlu
c3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRp
bmdIZWFkZXJzXGluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuaCI+CisgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXGlu
c3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcaW5zcGVjdG9yXGFnZW50c1xJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0Zp
bHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndh
cmRpbmdIZWFkZXJzXGluc3BlY3RvclxhZ2VudHNcSW5zcGVjdG9yUnVudGltZUFnZW50LmgiPgog
ICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xpbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8
L0NsSW5jbHVkZT4KQEAgLTEyMjQ4LDIxICsxMjI1NCwxMiBAQAogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXENvbW1hbmRMaW5lQVBJTW9kdWxlLmgiPgogICAgICAgPEZpbHRl
cj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxDb25zb2xlQVBJVHlwZXMuaCI+Ci0gICAgICA8RmlsdGVyPmlu
c3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0
b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxET01FZGl0b3IuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVy
PgogICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XERPTVBhdGNoU3VwcG9ydC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSWRl
bnRpZmllcnNGYWN0b3J5LmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAg
ICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbmpl
Y3RlZFNjcmlwdENhbnZhc01vZHVsZS5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0
ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMjI3OCw5ICsxMjI3NSw2IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yQ2xpZW50LmgiPgogICAgICAgPEZp
bHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCI+Ci0gICAgICA8
RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24u
aCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpA
QCAtMTI0MDEsMTggKzEyMzk1LDEyIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcUGFnZVJ1bnRpbWVBZ2VudC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0
ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcU2NyaXB0QXJndW1lbnRzLmgiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4K
LSAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxT
Y3JpcHRDYWxsRnJhbWUuaCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAg
IDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlw
dENhbGxTdGFjay5oIj4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9D
bEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmgiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8
L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJDb25z
b2xlQWdlbnQuaCI+CisgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xJ
bmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFdlYkRlYnVnZ2Vy
QWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDY1M2UyMmMuLmI4NGQzNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNTksNyArMTA1OSw2IEBACiAJCTJE
OUYwRTEzMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3
IC8qIGxpbmVhclNSR0IuaWNjICovOyB9OwogCQkyREJBREUwQjE4OEU1OTE1MDA0RDc5ODEgLyog
V2ViQ29yZUNBTGF5ZXJFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEQkFERTA5MTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4
dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTJEQkFERTBDMTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQkFERTBBMTg4RTU5
MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbSAqLzsgfTsKLQkJMkRGMkU5RDUx
NjZFMzk3NTAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRGMkU5RDQxNjZFMzk3NDAwMzVCRUYyIC8qIENv
bnNvbGVBUElUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTJFMDg4OEQ0MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQyMTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLzsgfTsKIAkJMkUwODg4RDUxMTQ4
ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZv
cm1EYXRhLmggKi87IH07CiAJCTJFMDg4OEU2MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1E
YXRhQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJFMDg4OEU1MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCAq
LzsgfTsKQEAgLTEzNDEsMTAgKzEzNDAsNiBAQAogCQk0MTY3RUJGNTEwMjk2MkJBMDAzRDI1MkEg
LyogRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2N0VCRjMxMDI5NjJCQTAwM0QyNTJBIC8qIERl
ZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCAqLzsgfTsKIAkJNDE2N0VCRjYxMDI5NjJC
QTAwM0QyNTJBIC8qIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTY3RUJGNDEwMjk2MkJBMDAzRDI1
MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCAqLzsgfTsKIAkJNDE2RTI5QTYx
MDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUg
LyogV29ya2VyUmVwb3J0aW5nUHJveHkuaCAqLzsgfTsKLQkJNDE2RTc1QkUwRURGOEZENzAwMzYw
RTFEIC8qIFNjcmlwdENhbGxTdGFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDE2RTc1QkMwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFj
ay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQx
NkU3NUJGMEVERjhGRDcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsU3RhY2suY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1QkQwRURGOEZENzAwMzYw
RTFEIC8qIFNjcmlwdENhbGxTdGFjay5jcHAgKi87IH07Ci0JCTQxNkU3NUNCMEVERjkwQzcwMDM2
MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxNkU3NUM5MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJh
bWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0
MTZFNzVDQzBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkU3NUNBMEVERjkwQzcwMDM2
MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAz
NjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlh
Q29udHJvbEVsZW1lbnRzLmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8q
IE1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxl
bWVudHMuaCAqLzsgfTsKIAkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRD
RjEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTEzODQsOCArMTM3
OSw2IEBACiAJCTQxRTFCMUQxMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0IwRkY1
OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmggKi87IH07CiAJCTQxRTFCMUQzMEZGNTk4
NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0QwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdv
cmtlci5jcHAgKi87IH07CiAJCTQxRTFCMUQ0MEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3Jr
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTFC
MUNFMEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuaCAqLzsgfTsKLQkJNDFGMDYxOEUw
RjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29u
c29sZU1lc3NhZ2UuaCAqLzsgfTsKLQkJNDFGMDYxOEYwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNv
bGVNZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxRjA2MThEMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi87IH07
CiAJCTQxRjA2MjE0MEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjIx
MjBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oICovOyB9Owog
CQk0MUYwNjIxNTBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYwNjIx
MzBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgKi87IH07
CiAJCTQxRjA2NkU0MEY2NEJDRjYwMEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2NkUyMEY2NEJD
RjYwMEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTk4Niw4ICsxOTc5LDYgQEAKIAkJNTkwNUFE
QzAxMzAyRjNDRTAwRjExNkRGIC8qIFhNTFRyZWVWaWV3ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MDVBREJFMTMwMkYzQ0UwMEYxMTZERiAvKiBY
TUxUcmVlVmlld2VyLmggKi87IH07CiAJCTU5MEUxQjQ5MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZp
Y2VPcmllbnRhdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU5MEUxQjQ4MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbkRh
dGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
OTBFMUI0QjExRTRFRjcwMDA2OUY3ODQgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MEUx
QjRBMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3Bw
ICovOyB9OwotCQk1OTEzQTI0MTEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MTNB
MjNGMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuY3BwICovOyB9OwotCQk1
OTEzQTI0MjEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTEzQTI0MDEzRDQ5RUJBMDBG
NUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggKi87IH07CiAJCTU5MzA5QTExMTFGNEFFNTgw
MDI1MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkzMDlBMTAxMUY0QUU1ODAwMjUwNjAz
IC8qIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAgKi87IH07CiAJCTU5MzA5QTEzMTFG
NEFFNkEwMDI1MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MzA5QTEyMTFGNEFFNkEwMDI1
MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1OTgzNjVERDEzNTVGNTU3MDAxQjE4NUQg
LyogSlNQb3NpdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1OTgzNjVEQzEzNTVGNTNDMDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxi
YWNrLmggKi87IH07CkBAIC0zNjMyLDYgKzM2MjMsOCBAQAogCQlBNTQxNkZFNjE4ODEwRUY4MDAw
OUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU0MTZGRTQxODgxMEVGODAwMDlGQzVGIC8qIFlv
dVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuaCAqLzsgfTsKIAkJQTU0QTgyRUMxNTIyOEQyRjAwQzcy
QkE2IC8qIERPTU5vZGVQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNTRBODJFQTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUu
aCAqLzsgfTsKIAkJQTU0QTgyRjExNTIyOERGNjAwQzcyQkE2IC8qIERPTU5vZGVQcml2YXRlLmgg
aW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNTRBODJFQTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9kZVByaXZhdGUuaCAqLzsgfTsK
KwkJQTU2QzVCOUExODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTZDNUI5ODE4OUYzNDU3
MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmNwcCAqLzsgfTsKKwkJQTU2QzVCOUIxODlGMzQ1
NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTU2QzVCOTkxODlGMzQ1NzAwODJEMTNDIC8qIFdlYkNvbnNv
bGVBZ2VudC5oICovOyB9OwogCQlBNTczMkIwQTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBv
bmVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTU3MzJCMDgxMzZBMTYxRDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmNwcCAqLzsgfTsKIAkJ
QTU3MzJCMEIxMzZBMTYxRDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTczMkIwOTEzNkExNjFEMDA1QzhE
N0MgLyogRGF0ZUNvbXBvbmVudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlBNTg0MEUxQzE4N0I3NEQ1MDA4NDNCMTAgLyogSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1ODQwRTFBMTg3Qjc0RDUwMDg0M0IxMCAvKiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUuY3BwICovOyB9OwpAQCAtNTIzOSw3ICs1MjMyLDYgQEAKIAkJQkNFNDQx
MzMxMkY3NDhFMjAwOUI4NEI4IC8qIFJlbmRlckNvbWJpbmVUZXh0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTQ0MTMxMTJGNzQ4RTIwMDlCODRC
OCAvKiBSZW5kZXJDb21iaW5lVGV4dC5jcHAgKi87IH07CiAJCUJDRTQ0MTM0MTJGNzQ4RTIwMDlC
ODRCOCAvKiBSZW5kZXJDb21iaW5lVGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNFNDQxMzIxMkY3NDhFMjAwOUI4NEI4IC8qIFJlbmRlckNvbWJp
bmVUZXh0LmggKi87IH07CiAJCUJDRTQ0MTM2MTJGNzQ5MEIwMDlCODRCOCAvKiBGb250V2lkdGhW
YXJpYW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0U0NDEzNTEyRjc0OTBCMDA5Qjg0QjggLyogRm9udFdpZHRoVmFyaWFudC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJDRTU2NDRFMTM3QTM0RDYw
MDdEMjkzNCAvKiBDb25zb2xlVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDRTU2NDREMTM3QTM0RDYwMDdEMjkzNCAvKiBDb25zb2xlVHlwZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0U2
NThGRjBFQTkyNDhBMDA3RTQ1MzMgLyogVGhlbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTY1OEZFMEVBOTI0OEEwMDdFNDUzMyAvKiBUaGVtZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRTY1
OUE5MEVBOTI3QjkwMDdFNDUzMyAvKiBUaGVtZVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U2NTlBODBFQTkyN0I5MDA3RTQ1MzMgLyogVGhl
bWVUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUJDRTY1OUU2MEVBOTJGQjIwMDdFNDUzMyAvKiBUaGVtZU1hYy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFNjU5RTUwRUE5MkZCMjAwN0U0NTMz
IC8qIFRoZW1lTWFjLmggKi87IH07CkBAIC02MDI3LDggKzYwMTksNiBAQAogCQlGMjkzQjI3RTU2
QzExMkYzNzNGRkYyN0UgLyogRE5TUmVzb2x2ZVF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNjAxMjgwNjAwNzhCQjcwRTM2N0E5NSAvKiBE
TlNSZXNvbHZlUXVldWUuY3BwICovOyB9OwogCQlGMzI1QTQwQTE0RUUzNkZBMDA3MzI0RTIgLyog
SW5zcGVjdG9yQ291bnRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjMyNUE0MDgxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50ZXJz
LmNwcCAqLzsgfTsKIAkJRjMyNUE0MEIxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50
ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzI1
QTQwOTE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlGMzMzNUJGODEyRTA3REMzMDBE
MzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzMzM1QkY2MTJFMDdEQzMwMEQzMzAxMSAvKiBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuY3BwICovOyB9OwotCQlGMzMzNUJGOTEyRTA3REMzMDBEMzMwMTEg
LyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGMzMzNUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29u
c29sZUFnZW50LmggKi87IH07CiAJCUYzM0YwMjgyMTIwOTQ3RjIwMEU1NzQzQSAvKiBTY3JpcHRQ
cm9maWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEYzM0YwMjgxMTIwOTQ3RjIwMEU1NzQzQSAvKiBTY3JpcHRQcm9maWxlLmNwcCAqLzsgfTsKIAkJ
RjM0NEM3MTQxMTI1QjgyQzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzQ0QzcxMjExMjVC
ODJDMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGMzQ0Qzc1MzExMjk0RDlEMDBGMjZF
RUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM0NEM3NTIxMTI5NEQ5RDAwRjI2RUVFIC8qIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNjA1NSwxMCArNjA0NSw2IEBACiAJCUYzODIwODk3MTQ3
RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzODIwODhGMTQ3RDM1RjkwMDEwQkMwNiAvKiBX
b3JrZXJDb25zb2xlQWdlbnQuaCAqLzsgfTsKIAkJRjM4MjA4OTgxNDdEMzVGOTAwMTBCQzA2IC8q
IFdvcmtlclJ1bnRpbWVBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGMzgyMDg5MDE0N0QzNUY5MDAxMEJDMDYgLyogV29ya2VyUnVudGltZUFn
ZW50LmNwcCAqLzsgfTsKIAkJRjM4MjA4OTkxNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRp
bWVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjM4MjA4OTExNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oICovOyB9Owot
CQlGMzkyMjQ5QzEyNkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QTEy
NkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgKi87IH07Ci0JCUYz
OTIyNDlEMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QjEyNkYxMUFF
MDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovOyB9OwotCQlGMzlCRTk1QjEy
NjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzOUJFOTU5MTI2NzNCRjQwMEUwQTY3NCAvKiBT
Y3JpcHRBcmd1bWVudHMuY3BwICovOyB9OwotCQlGMzlCRTk1QzEyNjczQkY0MDBFMEE2NzQgLyog
U2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGMzlCRTk1QTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggKi87
IH07CiAJCUYzQUJGRTBDMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0FCRkUwQjEz
MEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovOyB9OwogCQlGM0Q0NjE0
ODExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjNENDYxNDYxMTYxRDUzMjAwQ0EwRDA5IC8q
IEpTRXJyb3JIYW5kbGVyLmNwcCAqLzsgfTsKIAkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8q
IEpTRXJyb3JIYW5kbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGM0Q0NjE0NzExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLzsg
fTsKQEAgLTc4NjYsNyArNzg1Miw2IEBACiAJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBs
aW5lYXJTUkdCLmljYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IGZpbGU7IHBhdGggPSBsaW5lYXJTUkdCLmljYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMkRCQURFMDkxODhFNTkxNTAwNEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0cmFz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVDQUxheWVyRXh0cmFz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEQkFERTBBMTg4RTU5MTUwMDRENzk4
MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYkNvcmVDQUxheWVyRXh0cmFzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkyREYyRTlENDE2NkUzOTc0MDAzNUJFRjIgLyogQ29uc29sZUFQSVR5cGVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVBUElUeXBlcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9N
Rm9ybURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRhLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpT
RE9NRm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNE
T01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRE9NRm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTgxNzMsMTAgKzgxNTgsNiBAQAogCQk0MTY3RUJGMzEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOyBwYXRoID0gd29ya2Vy
cy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxNjdFQkY0MTAyOTYyQkEwMDNEMjUyQSAvKiBEZWZhdWx0U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEZWZhdWx0U2hh
cmVkV29ya2VyUmVwb3NpdG9yeS5oOyBwYXRoID0gd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZFMjlBNTEwMkZB
OTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5nUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gV29ya2VyUmVwb3J0aW5nUHJveHkuaDsgcGF0aCA9IHdvcmtlcnMvV29y
a2VyUmVwb3J0aW5nUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE2RTc1
QkMwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFjay5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNDE2RTc1QkQwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFjay5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2suY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTZFNzVDOTBFREY5MEM3MDAzNjBFMUQg
LyogU2NyaXB0Q2FsbEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNj
cmlwdENhbGxGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTZFNzVDQTBF
REY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdENhbGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxNzI1M0E4MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUNvbnRy
b2xFbGVtZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzI1M0E5MTM1
NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNZWRpYUNvbnRyb2xFbGVtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTdEQTRDRTEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybmFscy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtODIyMiw4ICs4MjAzLDYgQEAKIAkJNDFFMUIxQ0QwRkY1OTg2OTAw
NTc2QjNCIC8qIFNoYXJlZFdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBTaGFyZWRXb3JrZXIuY3BwOyBwYXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUUxQjFDRTBGRjU5ODY5MDA1NzZCM0Ig
LyogU2hhcmVkV29ya2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNoYXJl
ZFdvcmtlci5oOyBwYXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDFFMUIxQ0YwRkY1OTg2OTAwNTc2QjNCIC8qIFNoYXJlZFdvcmtlci5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gU2hhcmVkV29ya2VyLmlkbDsgcGF0aCA9IHdvcmtl
cnMvU2hhcmVkV29ya2VyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFGMDYx
OEMwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvbnNvbGVNZXNzYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTQxRjA2MThEMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb25zb2xlTWVzc2FnZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRjA2MjEyMEY1RjE5MjYwMEEwN0VBQyAvKiBJ
bnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDFGMDYyMTMwRjVGMTkyNjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFiYXNlUmVzb3Vy
Y2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yRGF0
YWJhc2VSZXNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRjA2NkUy
MEY2NEJDRjYwMEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0R2xvYmFsT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC04ODk2LDggKzg4NzUsNiBAQAogCQk1OTA1QURCRTEzMDJGM0NFMDBGMTE2
REYgLyogWE1MVHJlZVZpZXdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBY
TUxUcmVlVmlld2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MEUxQjQ4MTFF
NEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTU5MEUxQjRBMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVu
dGF0aW9uRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNTkxM0EyM0YxM0Q0OUVCQTAwRjVCMDVDIC8qIElkZW50aWZpZXJzRmFjdG9y
eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJZGVudGlmaWVyc0Zh
Y3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1OTEzQTI0MDEzRDQ5RUJB
MDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IElkZW50aWZpZXJzRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1OTMwOUExMDExRjRBRTU4MDAyNTA2MDMgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MzA5
QTEyMTFGNEFFNkEwMDI1MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2Nr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5NThGMUNCMTM0MzkxN0MwMDgwQjMx
RiAvKiBYTUxWaWV3ZXIuY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBhdGggPSBYTUxWaWV3ZXIu
Y3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA1OTgsNiArMTA1NzUsOCBAQAog
CQlBNTQxNkZFMzE4ODEwRUY4MDAwOUZDNUYgLyogWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBZb3VUdWJlRW1iZWRTaGFk
b3dFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU0MTZGRTQxODgx
MEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gWW91VHViZUVtYmVkU2hhZG93RWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBNTRBODJFQTE1MjI4Q0EzMDBDNzJCQTYgLyogRE9NTm9k
ZVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTm9kZVByaXZh
dGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU2QzVCOTgxODlGMzQ1NzAwODJE
MTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJDb25zb2xlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNTZDNUI5OTE4OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBNTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVu
dHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZUNvbXBvbmVu
dHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTczMkIwOTEzNkExNjFEMDA1
QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRGF0ZUNvbXBvbmVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU4NDBF
MUExODdCNzRENTAwODQzQjEwIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI0NDMsNyAr
MTI0MjIsNiBAQAogCQlCQ0U0NDEzMTEyRjc0OEUyMDA5Qjg0QjggLyogUmVuZGVyQ29tYmluZVRl
eHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyQ29tYmlu
ZVRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U0NDEzMjEyRjc0OEUy
MDA5Qjg0QjggLyogUmVuZGVyQ29tYmluZVRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVuZGVyQ29tYmluZVRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkNFNDQxMzUxMkY3NDkwQjAwOUI4NEI4IC8qIEZvbnRXaWR0aFZhcmlhbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFdpZHRoVmFyaWFudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQlCQ0U1NjQ0RDEzN0EzNEQ2MDA3RDI5MzQgLyogQ29uc29sZVR5
cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnNvbGVUeXBlcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U2NThGRTBFQTkyNDhBMDA3RTQ1MzMgLyog
VGhlbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFNjU5QTgwRUE5MjdCOTAwN0U0NTMzIC8qIFRoZW1l
VHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWVUeXBlcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U2NTlFNTBFQTkyRkIyMDA3RTQ1MzMgLyog
VGhlbWVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhlbWVNYWMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzQ1LDggKzEzMzIzLDYgQEAKIAkJRjEy
MTcxRjQxNkE4QkM2MzAwMDA1M0NBIC8qIFdlYlZUVEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViVlRURWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGMzI1QTQwODE0RUUzNkZBMDA3MzI0RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQ291bnRlcnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzI1QTQwOTE0RUUzNkZBMDA3MzI0
RTIgLyogSW5zcGVjdG9yQ291bnRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5zcGVjdG9yQ291bnRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjMz
MzVCRjYxMkUwN0RDMzAwRDMzMDExIC8qIEluc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JDb25zb2xlQWdlbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzMzNUJGNzEyRTA3REMzMDBEMzMwMTEg
LyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3BlY3RvckNvbnNvbGVBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGMzNGMDI4MTEyMDk0N0YyMDBFNTc0M0EgLyogU2NyaXB0UHJvZmlsZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRQcm9maWxlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM0NEM3MTIxMTI1QjgyQzAwRjI2RUVFIC8qIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzNDRD
NzUyMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzczLDEwICsxMzM0OSw2IEBA
CiAJCUYzODIwODhGMTQ3RDM1RjkwMDEwQkMwNiAvKiBXb3JrZXJDb25zb2xlQWdlbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya2VyQ29uc29sZUFnZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzODIwODkwMTQ3RDM1RjkwMDEwQkMwNiAvKiBXb3Jr
ZXJSdW50aW1lQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V29ya2VyUnVudGltZUFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM4
MjA4OTExNDdEMzVGOTAwMTBCQzA2IC8qIFdvcmtlclJ1bnRpbWVBZ2VudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJSdW50aW1lQWdlbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJRjM5MjI0OUExMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxT
dGFja0ZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUYz
OTIyNDlCMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNj
cmlwdEFyZ3VtZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
Y3JpcHRBcmd1bWVudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzlCRTk1
QTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNjcmlwdEFyZ3VtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGM0FCRkUwQjEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnN0cnVtZW50aW5nQWdlbnRzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRDQ2MTQ2MTE2MUQ1MzIwMENBMEQwOSAv
KiBKU0Vycm9ySGFuZGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0Vycm9ySGFuZGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRDQ2
MTQ3MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9ySGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0Vycm9ySGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTQ3OTEsMTUgKzE0NzYzLDEwIEBACiAJCQkJQTU4NEZFMjkxODYzODcwRjAwODQz
QjEwIC8qIENvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcCAqLywKIAkJCQlBNTg0RkUyQTE4NjM4NzBG
MDA4NDNCMTAgLyogQ29tbWFuZExpbmVBUElNb2R1bGUuaCAqLywKIAkJCQlBNTg0RkUyNzE4NjM3
RENBMDA4NDNCMTAgLyogQ29tbWFuZExpbmVBUElNb2R1bGVTb3VyY2UuanMgKi8sCi0JCQkJMkRG
MkU5RDQxNjZFMzk3NDAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oICovLAotCQkJCTQxRjA2
MThEMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5jcHAgKi8sCi0JCQkJNDFGMDYx
OEMwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmggKi8sCiAJCQkJN0FBQkEyNTcx
NEJDNjEzMzAwQUE5QTExIC8qIERPTUVkaXRvci5jcHAgKi8sCiAJCQkJN0FBQkEyNTgxNEJDNjEz
MzAwQUE5QTExIC8qIERPTUVkaXRvci5oICovLAogCQkJCTdBNTQ4ODE2MTRFNDMyQTEwMDZBRTA1
QSAvKiBET01QYXRjaFN1cHBvcnQuY3BwICovLAogCQkJCTdBNTQ4ODE1MTRFNDMyQTEwMDZBRTA1
QSAvKiBET01QYXRjaFN1cHBvcnQuaCAqLywKLQkJCQk1OTEzQTIzRjEzRDQ5RUJBMDBGNUIwNUMg
LyogSWRlbnRpZmllcnNGYWN0b3J5LmNwcCAqLywKLQkJCQk1OTEzQTI0MDEzRDQ5RUJBMDBGNUIw
NUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggKi8sCiAJCQkJQUE3MzE4M0MxNTkyNTVCOTAwQTkz
RTZFIC8qIEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlLmNwcCAqLywKIAkJCQlBQTczMTgzRDE1
OTI1NUI5MDBBOTNFNkUgLyogSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuaCAqLywKIAkJCQlB
QTkwMzBGRTE1N0UxNkEwMDAyNzYyNDcgLyogSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3Vy
Y2UuanMgKi8sCkBAIC0xNDgxMCw4ICsxNDc3Nyw2IEBACiAJCQkJQUFENzY2RUExNTdFNTAyRjAw
RTg1NDIzIC8qIEluc3BlY3RvckNhbnZhc0luc3RydW1lbnRhdGlvbi5oICovLAogCQkJCTdBMUYy
QjUxMTI2QzYxQjIwMDA2QTdFNiAvKiBJbnNwZWN0b3JDbGllbnQuY3BwICovLAogCQkJCTFDODFC
OTU4MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDbGllbnQuaCAqLywKLQkJCQlGMzMzNUJG
NjEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCAqLywKLQkJCQlG
MzMzNUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8sCiAJ
CQkJRjNGNUNGMTAxMkVEODFBODAwODRDNTY5IC8qIEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50
YXRpb24uaCAqLywKIAkJCQkxQzgxQjk1NzBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAgKi8sCiAJCQkJMUM4MUI5NTYwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3Rv
ckNvbnRyb2xsZXIuaCAqLywKQEAgLTE0ODkwLDE2ICsxNDg1NSwxMiBAQAogCQkJCUE1ODRGRTJF
MTg2NENCODQwMDg0M0IxMCAvKiBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggKi8sCiAJCQkJ
RjM4MjA4OEMxNDdEMzVGOTAwMTBCQzA2IC8qIFBhZ2VSdW50aW1lQWdlbnQuY3BwICovLAogCQkJ
CUYzODIwODhEMTQ3RDM1RjkwMDEwQkMwNiAvKiBQYWdlUnVudGltZUFnZW50LmggKi8sCi0JCQkJ
RjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi8sCi0JCQkJ
RjM5QkU5NUExMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5oICovLAotCQkJCTQx
NkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovLAotCQkJCTQx
NkU3NUM5MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuaCAqLywKLQkJCQk0MTZF
NzVCRDBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLywKLQkJCQk0MTZF
NzVCQzBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmggKi8sCiAJCQkJOUZBMzdF
RUYxMTcyRkQ0MTAwQzRDRDU1IC8qIFNjcmlwdFByb2ZpbGUuaWRsICovLAogCQkJCTlGQTM3RUYw
MTE3MkZENDEwMEM0Q0Q1NSAvKiBTY3JpcHRQcm9maWxlTm9kZS5pZGwgKi8sCiAJCQkJNzU1M0NG
RTcxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgKi8sCiAJCQkJ
NzU1M0NGRTYxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oICovLAor
CQkJCUE1NkM1Qjk4MTg5RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuY3BwICovLAor
CQkJCUE1NkM1Qjk5MTg5RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuaCAqLywKIAkJ
CQlBNUU2MTY3MTE4OTQ1ODFGMDA5QURGNTAgLyogV2ViRGVidWdnZXJBZ2VudC5jcHAgKi8sCiAJ
CQkJQTVFNjE2NzIxODk0NTgxRjAwOUFERjUwIC8qIFdlYkRlYnVnZ2VyQWdlbnQuaCAqLywKIAkJ
CQlGMzgyMDg4RTE0N0QzNUY5MDAxMEJDMDYgLyogV29ya2VyQ29uc29sZUFnZW50LmNwcCAqLywK
QEAgLTE2MDUxLDcgKzE2MDEyLDYgQEAKIAkJCQlCQzBCMzZBMTBDRDNDNjdDMDBBQzdFQjUgLyog
Q29uc29sZS5jcHAgKi8sCiAJCQkJQkMwQjM2QTIwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUu
aCAqLywKIAkJCQlCQzBCMzZBMzBDRDNDNjdDMDBBQzdFQjUgLyogQ29uc29sZS5pZGwgKi8sCi0J
CQkJQkNFNTY0NEQxMzdBMzRENjAwN0QyOTM0IC8qIENvbnNvbGVUeXBlcy5oICovLAogCQkJCTk3
QzQ3MUQ5MTJGOTI1QkMwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuY3BwICovLAog
CQkJCTk3QzQ3MURBMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCAq
LywKIAkJCQkwNjVBRDRGMjBCMEMyRURBMDA1QTJCMUQgLyogQ29udGV4dE1lbnVDbGllbnQuaCAq
LywKQEAgLTIwMTgzLDggKzIwMTQzLDYgQEAKIAkJCQlCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYg
LyogU2NoZWR1bGVkQWN0aW9uLmggKi8sCiAJCQkJNDFGMUQyMUUwRUYzNUMyQTAwREE4NzUzIC8q
IFNjcmlwdENhY2hlZEZyYW1lRGF0YS5jcHAgKi8sCiAJCQkJNDFGMUQyMUQwRUYzNUMyQTAwREE4
NzUzIC8qIFNjcmlwdENhY2hlZEZyYW1lRGF0YS5oICovLAotCQkJCUYzOTIyNDlBMTI2RjExQUUw
MEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCAqLywKLQkJCQlGMzkyMjQ5QjEy
NkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovLAogCQkJCTkzQjcw
RDUzMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCAqLywKIAkJCQk5M0I3
MEQ1NDA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5oICovLAogCQkJCUE4M0Ux
QzcyMEU0OTA0MkIwMDE0MEI5QyAvKiBTY3JpcHRDb250cm9sbGVyTWFjLm1tICovLApAQCAtMjI4
ODMsMTAgKzIyODQxLDcgQEAKIAkJCQlGRDMxNjA4RjEyQjAyNkY3MDBDMUEzNTkgLyogQ29uZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNjVDOTdBRjMwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwQjM2QTUwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUu
aCBpbiBIZWFkZXJzICovLAotCQkJCTJERjJFOUQ1MTY2RTM5NzUwMDM1QkVGMiAvKiBDb25zb2xl
QVBJVHlwZXMuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxRjA2MThFMEY1RjA2OTgwMEEwN0VBQyAv
KiBDb25zb2xlTWVzc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDczQUI0QjMxN0Y4QkFDQTAw
NkUwRDZGIC8qIEFsbFZpZGVvQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0U1
NjQ0RTEzN0EzNEQ2MDA3RDI5MzQgLyogQ29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODE4NzIxQzA5NzdEM0MwMDA1ODI2RDkgLyogQ29udGFpbmVyTm9kZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTFBMTQ3MDgxMTEwMkIxNTAwRUVDMEYzIC8qIENvbnRhaW5lck5vZGVBbGdvcml0
aG1zLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDkxRDE3RDE0RDFDMDA0MjBBQTEgLyogTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKQEAgLTIzNzk5
LDYgKzIzNzU0LDcgQEAKIAkJCQk5MzMwOURFNjA5OUU2NDkyMDA1NkU1ODEgLyogSFRNTEludGVy
Y2hhbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODEzNjlFNDA5NzM3NEY2MDBENzQ0NjMgLyog
SFRNTEtleWdlbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2OUUyMDk3Mzc0RjYw
MEQ3NDQ2MyAvKiBIVE1MTGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTZDNUI5
QjE4OUYzNDU3MDA4MkQxM0MgLyogV2ViQ29uc29sZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODEzNjlFMDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTExlZ2VuZEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4RUE3OUY2MEExOTE2REYwMEE4RUY1RiAvKiBIVE1MTElFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBODcxREMyMDBBMTUyMDU3MDBCMTJBNjggLyogSFRNTExpbmtF
bGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTIzODgzLDcgKzIzODM5LDYgQEAKIAkJCQkwNzhF
MDkyMTE3RDE0RDFDMDA0MjBBQTEgLyogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMDcyNzdFNTExN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1FdmVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE3MUQ1N0MwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50
aWZpZXJSZXAuaCBpbiBIZWFkZXJzICovLAotCQkJCTU5MTNBMjQyMTNENDlFQkEwMEY1QjA1QyAv
KiBJZGVudGlmaWVyc0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUM1MEVGODZE
NDcwMDlEMENBRiAvKiBJZGVudGl0eVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTEyNUY4NTYxODJDMEY4MzAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCUE1ODRGRTI2MTg2MzdEQUIwMDg0M0IxMCAvKiBDb21tYW5k
TGluZUFQSU1vZHVsZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzkzNiw3ICsyMzg5MSw2
IEBACiAJCQkJQUFENzY2RUMxNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3RvckNhbnZhc0FnZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBQUQ3NjZFRDE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVj
dG9yQ2FudmFzSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzgxQjk1QzBF
OTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlG
MzMzNUJGOTEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGM0Y1Q0YxMTEyRUQ4MUE4MDA4NEM1NjkgLyogSW5zcGVjdG9yQ29uc29s
ZUluc3RydW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUM4MUI5NUEwRTk3MzMwODAw
MjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzMjVB
NDBCMTRFRTM2RkEwMDczMjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNTEyMywxMSArMjUwNzcsNyBAQAogCQkJCTlCRDBCRjkzMTJBNDJCRjUwMDcyRkQ0MyAv
KiBTY29wZWRFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VDMDFCRTBDMjc0REFD
MDA5RjRFQzkgLyogU2NyZWVuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODREODJDMTExRDM0NzQ4
MDA5NzI5OTAgLyogU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKLQkJ
CQlGMzlCRTk1QzEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MUYxRDIxRjBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNzVDQjBFREY5MEM3MDAzNjBFMUQgLyogU2Ny
aXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNzVCRTBFREY4RkQ3MDAzNjBF
MUQgLyogU2NyaXB0Q2FsbFN0YWNrLmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzkyMjQ5RDEyNkYx
MUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTNCNzBENzAwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQ5OThBRUQyMTNGQjIyNEQwMDkwQjFBQSAvKiBTY3JpcHRlZEFuaW1hdGlv
bkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4QTQ4NDc4MEU1MjcyQzUwMEMzRkU3
NiAvKiBTY3JpcHRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2NDkxLDcgKzI2NDQxLDYg
QEAKIAkJCQlGRDMxNjA4RTEyQjAyNkY3MDBDMUEzNTkgLyogQ29uZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkzMTQ2RkU2RjE4NDQyMEFBMDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMEIzNkE0MENEM0M2N0MwMEFDN0VCNSAvKiBDb25z
b2xlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxRjA2MThGMEY1RjA2OTgwMEEwN0VBQyAvKiBD
b25zb2xlTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODE4NzIxRjA5NzdEM0MwMDA1
ODI2RDkgLyogQ29udGFpbmVyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0E3OENENTE1
MzJCQTYyMDA2QzIxRTQgLyogQ29udGFpbmVyTm9kZUFsZ29yaXRobXMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM1RUI5ODAwRTgyMDcyNTAwQjI1OTY1IC8qIENvbnRlbnREYXRhLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtMjcyMjgsNyArMjcxNzcsNiBAQAogCQkJCUM1ODVBNjYyMTFENEZBQzUw
MDRDM0U0QiAvKiBJREJCaW5kaW5nVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
NzFENTdCMEYzMzgxOTAwMEY5Q0U0RSAvKiBJZGVudGlmaWVyUmVwLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTA3MDU4NTMxMTdGREU2RDkwMDVGMkJDQiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTU5MTNBMjQxMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVu
dGlmaWVyc0ZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3QTQxNUIwMDYzRjAw
Mjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3
QTYxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCMjc1MzU2RjBCMDUzODE0MDAyQ0U2NEYgLyogSW1hZ2UuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0yNzI3Miw3ICsyNzIyMCw2IEBACiAJCQkJRTFGODBCOEExODMxNzJBMjAw
Nzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpckN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
QUQ3NjZFQjE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0ExRjJCNTIxMjZDNjFCMjAwMDZBN0U2IC8qIEluc3BlY3RvckNsaWVu
dC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGMzMzNUJGODEyRTA3REMzMDBEMzMwMTEgLyogSW5z
cGVjdG9yQ29uc29sZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFDODFCOTVCMEU5NzMz
MDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUYzMjVBNDBBMTRFRTM2RkEwMDczMjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk4MkFCMTc0MzEyNEI5OUVDMDBDNTA2OUQgLyogSW5zcGVjdG9yQ1NTQWdl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODQzNiwxMSArMjgzODMsNyBAQAogCQkJCTlCRDBC
Rjk0MTJBNDJCRjUwMDcyRkQ0MyAvKiBTY29wZWRFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDRUMwMUJEMEMyNzREQUMwMDlGNEVDOSAvKiBTY3JlZW4uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTg0RDgyQzIxMUQzNDc0ODAwOTcyOTkwIC8qIFNjcmlwdGFibGVEb2N1bWVudFBh
cnNlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGMzlCRTk1QjEyNjczQkY0MDBFMEE2NzQgLyog
U2NyaXB0QXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRjFEMjIwMEVGMzVDMkEw
MERBODc1MyAvKiBTY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
NDE2RTc1Q0MwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQk0MTZFNzVCRjBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCUYzOTIyNDlDMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzQjcwRDZGMDlFQjBDN0Mw
MDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4M0Ux
Qzc0MEU0OTA0MkMwMDE0MEI5QyAvKiBTY3JpcHRDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDk5OEFFRDExM0ZCMjI0RDAwOTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29u
dHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4NjEzLDYgKzI4NTU2LDcgQEAKIAkJCQkz
MUE3OTVDODE4ODhCQ0I1MDAzODJGOTAgLyogQU5HTEVJbnN0YW5jZWRBcnJheXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTU4NDBFMjQxODdCOEFDMjAwODQzQjEwIC8qIFBhZ2VJbmplY3RlZFNj
cmlwdEhvc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThDNEE3RkUwOUQ1NjMyNzAwMDNBQzhE
IC8qIFN0eWxlZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTU2QzVCOUExODlGMzQ1
NzAwODJEMTNDIC8qIFdlYkNvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVF
QjhCODBFODIwMUJEMDBCMjU5NjUgLyogU3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUFBNEMzQTc2MEIyQjE2NzkwMDIzMzRBMiAvKiBJbmxpbmVT
dHlsZVNoZWV0T3duZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE5QUUwNjMxNDJENkIyNDAw
NjU2M0ExIC8qIFN0eWxlRmlsdGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcAppbmRleCBl
MTk1ZGRmLi4wMTk2OGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0F1ZGlvQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNBdWRpb0NvbnRleHRDdXN0b20uY3BwCkBAIC03Myw4ICs3Myw3IEBAIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgSlNBdWRpb0NvbnRleHRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNBdWRp
b0NvbnRleHQoCiAjaWYgRU5BQkxFKExFR0FDWV9XRUJfQVVESU8pCiAgICAgICAgIC8vIENvbnN0
cnVjdG9yIGZvciBvZmZsaW5lIChyZW5kZXItdGFyZ2V0KSBBdWRpb0NvbnRleHQgd2hpY2ggcmVu
ZGVycyBpbnRvIGFuIEF1ZGlvQnVmZmVyLgogICAgICAgICAvLyBuZXcgQXVkaW9Db250ZXh0KGlu
IHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZDaGFubmVscywgaW4gdW5zaWduZWQgbG9uZyBudW1iZXJP
ZkZyYW1lcywgaW4gZmxvYXQgc2FtcGxlUmF0ZSk7Ci0gICAgICAgIGRvY3VtZW50LmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwKLSAgICAgICAg
ICAgICJEZXByZWNhdGVkIEF1ZGlvQ29udGV4dCBjb25zdHJ1Y3RvcjogdXNlIE9mZmxpbmVBdWRp
b0NvbnRleHQgaW5zdGVhZCIpOworICAgICAgICBkb2N1bWVudC5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBBU0NJSUxpdGVyYWwoIkRl
cHJlY2F0ZWQgQXVkaW9Db250ZXh0IGNvbnN0cnVjdG9yOiB1c2UgT2ZmbGluZUF1ZGlvQ29udGV4
dCBpbnN0ZWFkIikpOwogCiAgICAgICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAzKQog
ICAgICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcihleGVjKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNC
aW5kaW5nc0FsbEluT25lLmNwcAppbmRleCAwNDI4ZTgzLi43MmVjOWNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKQEAgLTE0Myw3
ICsxNDMsNiBAQAogI2luY2x1ZGUgIlBhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAiCiAjaW5jbHVk
ZSAiU2NoZWR1bGVkQWN0aW9uLmNwcCIKICNpbmNsdWRlICJTY3JpcHRDYWNoZWRGcmFtZURhdGEu
Y3BwIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIgogI2luY2x1ZGUgIlNj
cmlwdENvbnRyb2xsZXIuY3BwIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGVyLmNwcCIKICNpbmNs
dWRlICJTY3JpcHRTdGF0ZS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKaW5kZXggZjFiNjNmOC4uNGMxMGUwOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVz
b2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhO
U1Jlc29sdmVyLmNwcApAQCAtODEsNyArODEsNyBAQCBTdHJpbmcgSlNDdXN0b21YUGF0aE5TUmVz
b2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVSSShjb25zdCBTdHJpbmcmIHByZWZpeCkKICAgICAgICAg
aWYgKGNhbGxUeXBlID09IENhbGxUeXBlTm9uZSkgewogICAgICAgICAgICAgLy8gRklYTUU6IDxo
dHRwOi8vd2Via2l0Lm9yZy9iLzExNDMxMj4gSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXI6Omxvb2t1
cE5hbWVzcGFjZVVSSSBDb25zb2xlIE1lc3NhZ2Ugc2hvdWxkIGluY2x1ZGUgTGluZSwgQ29sdW1u
LCBhbmQgU291cmNlVVJMCiAgICAgICAgICAgICBpZiAoUGFnZUNvbnNvbGUqIGNvbnNvbGUgPSBt
X2dsb2JhbE9iamVjdC0+aW1wbCgpLnBhZ2VDb25zb2xlKCkpCi0gICAgICAgICAgICAgICAgY29u
c29sZS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiWFBh
dGhOU1Jlc29sdmVyIGRvZXMgbm90IGhhdmUgYSBsb29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIp
OworICAgICAgICAgICAgICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMs
IE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiWFBhdGhOU1Jlc29sdmVyIGRvZXMg
bm90IGhhdmUgYSBsb29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIpKTsKICAgICAgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKICAgICAgICAgfQogICAgICAgICBmdW5jdGlvbiA9IG1fY3VzdG9tUmVz
b2x2ZXIuZ2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNw
cAppbmRleCAyNjIxYzY3Li41ODA5MmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZy5jcHAKQEAgLTM0LDggKzM0LDggQEAKICNpbmNsdWRlICJKU0RPTVdpbmRv
d0N1c3RvbS5oIgogI2luY2x1ZGUgIkpTRXhjZXB0aW9uQmFzZS5oIgogI2luY2x1ZGUgIlNlY3Vy
aXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5jbHVkZSAiU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3Rh
Y2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgogI2lu
Y2x1ZGUgPGludGVycHJldGVyL0ludGVycHJldGVyLmg+CiAjaW5jbHVkZSA8cnVudGltZS9EYXRl
SW5zdGFuY2UuaD4KICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CkBAIC00NSw2ICs0NSw3IEBA
CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKK3Vz
aW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCmlu
ZGV4IDE5YTc4MDAuLmMxNWJjY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKQEAgLTE1MCw3ICsxNTAsNyBAQCBKU1ZhbHVl
IEpTU3VidGxlQ3J5cHRvOjplbmNyeXB0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJu
IHRocm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlV
c2FnZUVuY3J5cHQpKSB7Ci0gICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8g
bm90IGluY2x1ZGUgJ2VuY3J5cHQnIik7CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAnZW5jcnlwdCciKSk7CiAgICAg
ICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBOT1RfU1VQUE9SVEVEX0VSUik7CiAgICAgICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0KQEAgLTIwMiw3ICsyMDIsNyBAQCBKU1ZhbHVlIEpT
U3VidGxlQ3J5cHRvOjpkZWNyeXB0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRo
cm93VHlwZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2Fn
ZURlY3J5cHQpKSB7Ci0gICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90
IGluY2x1ZGUgJ2RlY3J5cHQnIik7CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiS2V5IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAnZGVjcnlwdCciKSk7CiAgICAgICAg
IHNldERPTUV4Y2VwdGlvbihleGVjLCBOT1RfU1VQUE9SVEVEX0VSUik7CiAgICAgICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpOwogICAgIH0KQEAgLTI1Myw3ICsyNTMsNyBAQCBKU1ZhbHVlIEpTU3Vi
dGxlQ3J5cHRvOjpzaWduKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlw
ZUVycm9yKGV4ZWMpOwogCiAgICAgaWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZVNpZ24p
KSB7Ci0gICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1ZGUg
J3NpZ24nIik7CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5
IHVzYWdlcyBkbyBub3QgaW5jbHVkZSAnc2lnbiciKSk7CiAgICAgICAgIHNldERPTUV4Y2VwdGlv
bihleGVjLCBOT1RfU1VQUE9SVEVEX0VSUik7CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgp
OwogICAgIH0KQEAgLTMwNCw3ICszMDQsNyBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjp2ZXJp
ZnkoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYyk7
CiAKICAgICBpZiAoIWtleS0+YWxsb3dzKENyeXB0b0tleVVzYWdlVmVyaWZ5KSkgewotICAgICAg
ICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd2ZXJpZnknIik7
CisgICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiS2V5IHVzYWdlcyBk
byBub3QgaW5jbHVkZSAndmVyaWZ5JyIpKTsKICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMs
IE5PVF9TVVBQT1JURURfRVJSKTsKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAg
fQpAQCAtNjM5LDcgKzYzOSw3IEBAIEpTVmFsdWUgSlNTdWJ0bGVDcnlwdG86OndyYXBLZXkoRXhl
Y1N0YXRlKiBleGVjKQogICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYyk7CiAKICAg
ICBpZiAoIXdyYXBwaW5nS2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VXcmFwS2V5KSkgewotICAg
ICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd3cmFwS2V5
JyIpOworICAgICAgICBtX2ltcGwtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIktleSB1c2Fn
ZXMgZG8gbm90IGluY2x1ZGUgJ3dyYXBLZXknIikpOwogICAgICAgICBzZXRET01FeGNlcHRpb24o
ZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsK
ICAgICB9CkBAIC03MTgsNyArNzE4LDcgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6dW53cmFw
S2V5KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMp
OwogCiAgICAgaWYgKCF1bndyYXBwaW5nS2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VVbndyYXBL
ZXkpKSB7Ci0gICAgICAgIG1faW1wbC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIktleSB1c2FnZXMgZG8gbm90IGluY2x1
ZGUgJ3Vud3JhcEtleSciKTsKKyAgICAgICAgbV9pbXBsLT5kb2N1bWVudCgpLT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRl
cmFsKCJLZXkgdXNhZ2VzIGRvIG5vdCBpbmNsdWRlICd1bndyYXBLZXknIikpOwogICAgICAgICBz
ZXRET01FeGNlcHRpb24oZXhlYywgTk9UX1NVUFBPUlRFRF9FUlIpOwogICAgICAgICByZXR1cm4g
anNVbmRlZmluZWQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGJkNThiODIuLmRhZGViM2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zOCw3ICszOCw2
IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUg
IlBsdWdpblZpZXcuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJT
Y3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgi
CiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTUwLDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxiaW5k
aW5ncy9TY3JpcHRWYWx1ZS5oPgogI2luY2x1ZGUgPGRlYnVnZ2VyL0RlYnVnZ2VyLmg+CiAjaW5j
bHVkZSA8aGVhcC9TdHJvbmdJbmxpbmVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgogI2lu
Y2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAt
NDgyLDcgKzQ4Miw3IEBAIGJvb2wgU2NyaXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMo
UmVhc29uRm9yQ2FsbGluZ0NhbkV4ZWN1dGVTY3JpcHRzIHJlYXNvCiAgICAgaWYgKG1fZnJhbWUu
ZG9jdW1lbnQoKSAmJiBtX2ZyYW1lLmRvY3VtZW50KCktPmlzU2FuZGJveGVkKFNhbmRib3hTY3Jp
cHRzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBv
ZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgogICAgICAgICBpZiAocmVhc29uID09IEFi
b3V0VG9FeGVjdXRlU2NyaXB0KQotICAgICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5hZGRD
b25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAi
QmxvY2tlZCBzY3JpcHQgZXhlY3V0aW9uIGluICciICsgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwo
KS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgdGhlIGRvY3Vt
ZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Np
b24gaXMgbm90IHNldC4iKTsKKyAgICAgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3Is
ICJCbG9ja2VkIHNjcmlwdCBleGVjdXRpb24gaW4gJyIgKyBtX2ZyYW1lLmRvY3VtZW50KCktPnVy
bCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSB0aGUgZG9j
dW1lbnQncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlz
c2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmlu
ZGV4IDVjYTAyNzIuLjMxYjliZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0yOTA0LDkgKzI5MDQsOSBAQCBzdWIgR2Vu
ZXJhdGVDYWxsV2l0aAogICAgICAgICBwdXNoKEBjYWxsV2l0aEFyZ3MsICJzY3JpcHRDb250ZXh0
Iik7CiAgICAgfQogICAgIGlmICgkZnVuY3Rpb24gYW5kICRjb2RlR2VuZXJhdG9yLT5FeHRlbmRl
ZEF0dHJpYnV0ZUNvbnRhaW5zKCRjYWxsV2l0aCwgIlNjcmlwdEFyZ3VtZW50cyIpKSB7Ci0gICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBzY3Jp
cHRBcmd1bWVudHMoY3JlYXRlU2NyaXB0QXJndW1lbnRzKGV4ZWMsICIgLiBAeyRmdW5jdGlvbi0+
cGFyYW1ldGVyc30gLiAiKSk7XG4iKTsKLSAgICAgICAgJGltcGxJbmNsdWRlc3siU2NyaXB0QXJn
dW1lbnRzLmgifSA9IDE7Ci0gICAgICAgICRpbXBsSW5jbHVkZXN7IlNjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuaCJ9ID0gMTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFJlZlB0cjxJ
bnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4gc2NyaXB0QXJndW1lbnRzKEluc3BlY3Rvcjo6Y3Jl
YXRlU2NyaXB0QXJndW1lbnRzKGV4ZWMsICIgLiBAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc30gLiAi
KSk7XG4iKTsKKyAgICAgICAgJGltcGxJbmNsdWRlc3siPGluc3BlY3Rvci9TY3JpcHRBcmd1bWVu
dHMuaD4ifSA9IDE7CisgICAgICAgICRpbXBsSW5jbHVkZXN7IjxpbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oPiJ9ID0gMTsKICAgICAgICAgcHVzaChAY2FsbFdpdGhBcmdzLCAic2Ny
aXB0QXJndW1lbnRzLnJlbGVhc2UoKSIpOwogICAgIH0KICAgICByZXR1cm4gQGNhbGxXaXRoQXJn
czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKaW5kZXggODcyNTYwNy4uMzVlOWIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTQ0LDE0
ICs0NCwxNCBAQAogI2luY2x1ZGUgIlNWR0RvY3VtZW50LmgiCiAjaW5jbHVkZSAiU1ZHUG9pbnQu
aCIKICNpbmNsdWRlICJTVkdTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCIKLSNpbmNsdWRlICJTY3Jp
cHRBcmd1bWVudHMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5j
bHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
IgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiVGVzdE9iai5oIgogI2luY2x1ZGUg
IlVSTC5oIgogI2luY2x1ZGUgImJvb2wuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0QXJn
dW1lbnRzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4K
ICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0FycmF5Lmg+
CiAjaW5jbHVkZSA8cnVudGltZS9KU1N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApp
bmRleCAzOWFhMDMzLi42NGMyOTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMTE0
NzYsNyArMTE0NzYsNyBAQCB2b2lkIENTU1BhcnNlcjo6bG9nRXJyb3IoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBpbnQgbGluZU51bWJlcikKIHsKICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQu
b3JnL2IvMTE0MzEzPiBDU1MgcGFyc2VyIGNvbnNvbGUgbWVzc2FnZSBlcnJvcnMgc2hvdWxkIGlu
Y2x1ZGUgY29sdW1uIG51bWJlcnMuCiAgICAgUGFnZUNvbnNvbGUmIGNvbnNvbGUgPSBtX3N0eWxl
U2hlZXQtPnNpbmdsZU93bmVyRG9jdW1lbnQoKS0+cGFnZSgpLT5jb25zb2xlKCk7Ci0gICAgY29u
c29sZS5hZGRNZXNzYWdlKENTU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UsIG1fc3R5bGVTaGVldC0+YmFzZVVSTCgpLnN0cmluZygpLCBsaW5lTnVtYmVyICsgMSwg
MCk7CisgICAgY29uc29sZS5hZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkNTUywgTWVzc2FnZUxl
dmVsOjpXYXJuaW5nLCBtZXNzYWdlLCBtX3N0eWxlU2hlZXQtPmJhc2VVUkwoKS5zdHJpbmcoKSwg
bGluZU51bWJlciArIDEsIDApOwogfQogCiBQYXNzUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4g
Q1NTUGFyc2VyOjpjcmVhdGVLZXlmcmFtZXNSdWxlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093
blB0cjxWZWN0b3I8UmVmUHRyPFN0eWxlS2V5ZnJhbWU+Pj4gcG9wS2V5ZnJhbWVzKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFMaXN0LmNwcAppbmRleCAyMzIwZmY2Li5mMDAwMTRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFMaXN0LmNwcApAQCAtMzEwLDcgKzMxMCw3IEBAIHN0YXRpYyB2b2lkIGFkZFJlc29sdXRpb25X
YXJuaW5nTWVzc2FnZVRvQ29uc29sZShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluCiAK
ICAgICBtZXNzYWdlLmFwcGVuZChzZXJpYWxpemVkRXhwcmVzc2lvbik7CiAKLSAgICBkb2N1bWVu
dC0+YWRkQ29uc29sZU1lc3NhZ2UoQ1NTTWVzc2FnZVNvdXJjZSwgRGVidWdNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpDU1MsIE1lc3NhZ2VMZXZlbDo6RGVidWcsIG1lc3NhZ2UpOwogfQogCiB2b2lkIHJlcG9ydE1l
ZGlhUXVlcnlXYXJuaW5nSWZOZWVkZWQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBNZWRpYVF1
ZXJ5U2V0KiBtZWRpYVF1ZXJ5U2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNWMyNGMy
ZC4uOGRiMzAwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC02MCw5ICs2MCw2IEBACiAj
aW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgog
I2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1ZGUgIkhhc2hDaGFuZ2VFdmVudC5oIgotI2lu
Y2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKLSNpbmNsdWRlICJIaXN0b3J5LmgiCiAjaW5jbHVk
ZSAiSFRNTEFsbENvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxCYXNlRWxlbWVudC5oIgpAQCAtODYsNiArODMsOSBAQAogI2luY2x1ZGUg
IkhUTUxTdHlsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGl0bGVFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSFRUUFBhcnNlcnMuaCIKKyNpbmNsdWRlICJIYXNoQ2hhbmdlRXZlbnQuaCIKKyNpbmNs
dWRlICJIaXN0b2dyYW1TdXBwb3J0LmgiCisjaW5jbHVkZSAiSGlzdG9yeS5oIgogI2luY2x1ZGUg
IkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJJY29uQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IkltYWdlTG9hZGVyLmgiCkBAIC0xMjYsNyArMTI2LDYgQEAKICNpbmNsdWRlICJTVkdTVkdFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKICNpbmNsdWRlICJTY29wZWRFdmVu
dFF1ZXVlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdFJ1bm5lci5oIgogI2luY2x1ZGUgIlNjcmlw
dFNvdXJjZUNvZGUuaCIKQEAgLTE1Myw2ICsxNTIsNyBAQAogI2luY2x1ZGUgIlhQYXRoTlNSZXNv
bHZlci5oIgogI2luY2x1ZGUgIlhQYXRoUmVzdWx0LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcu
aCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3Rm
L0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oPgpAQCAtMjU2MCw5ICsyNTYwLDkgQEAgRXZlbnRU
YXJnZXQqIERvY3VtZW50OjplcnJvckV2ZW50VGFyZ2V0KCkKICAgICByZXR1cm4gbV9kb21XaW5k
b3cuZ2V0KCk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrKQordm9pZCBEb2N1bWVudDo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmlu
ZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIs
IGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+
IGNhbGxTdGFjaykKIHsKLSAgICBhZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1i
ZXIsIGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVt
bk51bWJlciwgY2FsbFN0YWNrKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0VVJMKGNvbnN0IFVS
TCYgdXJsKQpAQCAtMjgyMSw3ICsyODIxLDcgQEAgdm9pZCBEb2N1bWVudDo6cHJvY2Vzc0h0dHBF
cXVpdihjb25zdCBTdHJpbmcmIGVxdWl2LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiAgICAgICAg
ICAgICAgICAgLy8gaW50ZW50LCB3ZSBtdXN0IG5hdmlnYXRlIGF3YXkgZnJvbSB0aGUgcG9zc2li
bHkgcGFydGlhbGx5LXJlbmRlcmVkIGRvY3VtZW50IHRvIGEgbG9jYXRpb24gdGhhdAogICAgICAg
ICAgICAgICAgIC8vIGRvZXNuJ3QgaW5oZXJpdCB0aGUgcGFyZW50J3MgU2VjdXJpdHlPcmlnaW4u
CiAgICAgICAgICAgICAgICAgZnJhbWUtPm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZUxv
Y2F0aW9uQ2hhbmdlKHNlY3VyaXR5T3JpZ2luKCksIFNlY3VyaXR5T3JpZ2luOjp1cmxXaXRoVW5p
cXVlU2VjdXJpdHlPcmlnaW4oKSwgU3RyaW5nKCkpOwotICAgICAgICAgICAgICAgIGFkZENvbnNv
bGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgICAgICAgICBhZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSwg
cmVxdWVzdElkZW50aWZpZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNl
IGlmIChlcXVhbElnbm9yaW5nQ2FzZShlcXVpdiwgImNvbnRlbnQtc2VjdXJpdHktcG9saWN5Iikp
CkBAIC00NzgxLDcgKzQ3ODEsNyBAQCB2b2lkIERvY3VtZW50OjphZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdAogICAgICAgICBw
YWdlLT5jb25zb2xlKCkuYWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCByZXF1ZXN0
SWRlbnRpZmllciwgdGhpcyk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQg
Y29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBKU0M6
OkV4ZWNTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lk
IERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwg
bGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJbnNw
ZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUs
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAgICAgaWYgKCFpc0NvbnRleHRU
aHJlYWQoKSkgewogICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0
ZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDQ4NjQz
NTEuLjkwNTk3YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTQwLDcgKzExNDAsNyBAQCBw
dWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJn
ZXQoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNv
bnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxp
bmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBT
dHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVt
YmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0
YWNrPikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGluaXRETlNQcmVmZXRjaCgpOwogCkBAIC0xMjYy
LDcgKzEyNjIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCByZWZTY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkZXJlZlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBvdmVycmlkZSB7IGRlcmVmKCk7IH0KIAotICAgIHZpcnR1
YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJl
ciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIEpT
Qzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBv
dmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJ
bnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgZG91
YmxlIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCA0NTJiNzFkLi5mY2U0ZjUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0yNCw5ICsyNCw5IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiU2NyaXB0RWxlbWVudC5oIgogCi0jaW5jbHVkZSAiQ2FjaGVkU2NyaXB0
LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJDYWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJD
b250ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRy
b2wuaCIKICNpbmNsdWRlICJDdXJyZW50U2NyaXB0SW5jcmVtZW50ZXIuaCIKQEAgLTQwLDcgKzQw
LDYgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRl
ICJTVkdTY3JpcHRFbGVtZW50LmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5j
bHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNjcmlwdFJ1bm5lci5oIgogI2lu
Y2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKQEAgLTQ5LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRleHROb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSA8Ymlu
ZGluZ3MvU2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
Lmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CkBAIC0yOTEs
NyArMjkxLDcgQEAgdm9pZCBTY3JpcHRFbGVtZW50OjpleGVjdXRlU2NyaXB0KGNvbnN0IFNjcmlw
dFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCiAKICNpZiBFTkFCTEUoTk9TTklGRikKICAgICBpZiAo
bV9pc0V4dGVybmFsU2NyaXB0ICYmIG1fY2FjaGVkU2NyaXB0ICYmICFtX2NhY2hlZFNjcmlwdC0+
bWltZVR5cGVBbGxvd2VkQnlOb3NuaWZmKCkpIHsKLSAgICAgICAgbV9lbGVtZW50LT5kb2N1bWVu
dCgpLmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJSZWZ1c2VkIHRvIGV4ZWN1dGUgc2NyaXB0IGZyb20gJyIgKyBtX2NhY2hlZFNjcmlw
dC0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIGl0
cyBNSU1FIHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBlKCkgKyAiJykgaXMgbm90
IGV4ZWN1dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNoZWNraW5nIGlzIGVuYWJsZWQuIik7
CisgICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIlJlZnVzZWQgdG8gZXhlY3V0
ZSBzY3JpcHQgZnJvbSAnIiArIG1fY2FjaGVkU2NyaXB0LT51cmwoKS5zdHJpbmdDZW50ZXJFbGxp
cHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSAoJyIgKyBtX2NhY2hl
ZFNjcmlwdC0+bWltZVR5cGUoKSArICInKSBpcyBub3QgZXhlY3V0YWJsZSwgYW5kIHN0cmljdCBN
SU1FIHR5cGUgY2hlY2tpbmcgaXMgZW5hYmxlZC4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICNlbmRpZgpAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQgU2NyaXB0RWxlbWVudDo6bm90aWZ5Rmlu
aXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogCiAgICAgICAgIGRpc3BhdGNoRXJyb3JF
dmVudCgpOwogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3Nh
Z2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jv
c3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7Ci0gICAgICAgIG1fZWxlbWVu
dC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQo
KS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJv
ciwgY29uc29sZU1lc3NhZ2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggY2E2MDQxZi4uMzY2
NTIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNw
cApAQCAtMzMsMTAgKzMzLDEwIEBACiAjaW5jbHVkZSAiRXJyb3JFdmVudC5oIgogI2luY2x1ZGUg
Ik1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAiUHVibGljVVJMTWFuYWdlci5oIgotI2luY2x1ZGUg
IlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiV29y
a2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlIDxp
bnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKQEAgLTUxLDYgKzUxLDggQEAKICNpbmNsdWRlICJEYXRh
YmFzZUNvbnRleHQuaCIKICNlbmRpZgogCit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOworCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFByb2Nlc3NNZXNzYWdlc1Nvb25UYXNrIDogcHVi
bGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggMWM3ZjBkYS4uYjViZjgwYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0yOSwxMCArMjksMTAg
QEAKICNkZWZpbmUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dF9oCiAKICNpbmNsdWRlICJBY3RpdmVE
T01PYmplY3QuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJVUkwuaCIK
ICNpbmNsdWRlICJTZWN1cml0eUNvbnRleHQuaCIKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5o
IgorI2luY2x1ZGUgIlVSTC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlwZXMuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDYgKzQw
LDEwIEBAIGNsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNzIFZNOwogfQogCituYW1lc3BhY2UgSW5zcGVj
dG9yIHsKK2NsYXNzIFNjcmlwdENhbGxTdGFjazsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDYWNoZWRTY3JpcHQ7CkBAIC00OSw3ICs1Myw2IEBAIGNsYXNzIEV2ZW50TGlzdGVu
ZXI7CiBjbGFzcyBFdmVudFF1ZXVlOwogY2xhc3MgRXZlbnRUYXJnZXQ7CiBjbGFzcyBNZXNzYWdl
UG9ydDsKLWNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAogI2lmIEVOQUJMRShCTE9CKQogY2xhc3Mg
UHVibGljVVJMTWFuYWdlcjsKQEAgLTc1LDcgKzc4LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBz
YW5pdGl6ZVNjcmlwdEVycm9yKFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQmIGxpbmVOdW1iZXIs
IGludCYgY29sdW1uTnVtYmVyLCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0KiA9IDAp
OwogICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQzMTU+IFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQgbG9nIGV4Y2VwdGlvbiBzaG91bGQgaW5jbHVkZSBhIGNvbHVtbiBudW1iZXIK
LSAgICB2b2lkIHJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50
IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIENhY2hlZFNjcmlwdCogPSAwKTsKKyAgICB2b2lk
IHJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1i
ZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgQ2FjaGVkU2NyaXB0KiA9IDApOwogCiAgICAg
dm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3RhdGUqID0gMCwgdW5zaWdu
ZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogICAgIHZpcnR1YWwgdm9pZCBhZGRDb25z
b2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApID0gMDsKQEAgLTE3Nyw5
ICsxODAsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNw
ZW5zaW9uIHJlYXNvbkZvclN1c3BlbmRpbmdBY3RpdmVET01PYmplY3RzKCkgY29uc3QgeyByZXR1
cm4gbV9yZWFzb25Gb3JTdXNwZW5kaW5nQWN0aXZlRE9NT2JqZWN0czsgfQogCiBwcml2YXRlOgot
ICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQg
bGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgPSAwOwogICAgIHZpcnR1YWwgRXZlbnRU
YXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2Vw
dGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25z
b2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
aW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpT
Y3JpcHRDYWxsU3RhY2s+KSA9IDA7CiAgICAgYm9vbCBkaXNwYXRjaEVycm9yRXZlbnQoY29uc3Qg
U3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0Kik7CiAKICAgICB2b2lkIGNsb3Nl
TWVzc2FnZVBvcnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApp
bmRleCAyYzk1MzlkLi4wZjZjMDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5jcHAKQEAgLTQ0OCwxNSArNDQ4LDE1IEBAIHN0YXRpYyBNZXNzYWdlTGV2ZWwgdmlld3Bv
cnRFcnJvck1lc3NhZ2VMZXZlbChWaWV3cG9ydEVycm9yQ29kZSBlcnJvckNvZGUpCiB7CiAgICAg
c3dpdGNoIChlcnJvckNvZGUpIHsKICAgICBjYXNlIFRydW5jYXRlZFZpZXdwb3J0QXJndW1lbnRW
YWx1ZUVycm9yOgotICAgICAgICByZXR1cm4gV2FybmluZ01lc3NhZ2VMZXZlbDsKKyAgICAgICAg
cmV0dXJuIE1lc3NhZ2VMZXZlbDo6V2FybmluZzsKICAgICBjYXNlIFVucmVjb2duaXplZFZpZXdw
b3J0QXJndW1lbnRLZXlFcnJvcjoKICAgICBjYXNlIFVucmVjb2duaXplZFZpZXdwb3J0QXJndW1l
bnRWYWx1ZUVycm9yOgogICAgIGNhc2UgTWF4aW11bVNjYWxlVG9vTGFyZ2VFcnJvcjoKLSAgICAg
ICAgcmV0dXJuIEVycm9yTWVzc2FnZUxldmVsOworICAgICAgICByZXR1cm4gTWVzc2FnZUxldmVs
OjpFcnJvcjsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4g
RXJyb3JNZXNzYWdlTGV2ZWw7CisgICAgcmV0dXJuIE1lc3NhZ2VMZXZlbDo6RXJyb3I7CiB9CiAK
IHZvaWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1bWVudCwgVmlld3BvcnRF
cnJvckNvZGUgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VtZW50MSwgY29uc3QgU3Ry
aW5nJiByZXBsYWNlbWVudDIpCkBAIC00NzUsNyArNDc1LDcgQEAgdm9pZCByZXBvcnRWaWV3cG9y
dFdhcm5pbmcoRG9jdW1lbnQqIGRvY3VtZW50LCBWaWV3cG9ydEVycm9yQ29kZSBlcnJvckNvZGUs
IGNvbnMKICAgICAgICAgbWVzc2FnZS5hcHBlbmQoIiBOb3RlIHRoYXQgJzsnIGlzIG5vdCBhIHNl
cGFyYXRvciBpbiB2aWV3cG9ydCB2YWx1ZXMuIFRoZSBsaXN0IHNob3VsZCBiZSBjb21tYS1zZXBh
cmF0ZWQuIik7CiAKICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBv
ZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgIGRvY3VtZW50LT5hZGRDb25zb2xl
TWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCB2aWV3cG9ydEVycm9yTWVzc2FnZUxldmVs
KGVycm9yQ29kZSksIG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpSZW5kZXJpbmcsIHZpZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwoZXJyb3JD
b2RlKSwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0Jsb2IuY3BwCmluZGV4IDY3MjZiZjQuLjYzNDFkMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2ZpbGVhcGkvQmxvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNw
cApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkJsb2JVUkwuaCIKICNpbmNsdWRlICJGaWxl
LmgiCiAjaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxT
dGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJU
aHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcAppbmRleCBjNDdl
YjFmLi44YTQ1ODA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJs
b2JCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWls
ZGVyLmNwcApAQCAtMjksNyArMjksNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQog
I2luY2x1ZGUgIldlYktpdEJsb2JCdWlsZGVyLmgiCiAKICNpbmNsdWRlICJCbG9iLmgiCkBAIC0z
OCw3ICszNyw2IEBACiAjaW5jbHVkZSAiRmlsZS5oIgogI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBv
cnQuaCIKICNpbmNsdWRlICJMaW5lRW5kaW5nLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNr
LmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCiAjaW5jbHVkZSA8cnVudGltZS9BcnJheUJ1
ZmZlci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXJWaWV3Lmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCBlNjEwMjI5Li42
Mzg4MTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5jcHAKQEAgLTE4MCw3ICsxODAsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRBdXRvZm9jdXMoSFRN
TEZvcm1Db250cm9sRWxlbWVudCogZWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IGlmIChlbGVtZW50LT5kb2N1bWVudCgpLmlzU2FuZGJveGVkKFNhbmRib3hBdXRvbWF0aWNGZWF0
dXJlcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQg
b2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgZWxlbWVudC0+ZG9jdW1l
bnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgYmVjYXVzZSB0
aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJt
aXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3Is
IEFTQ0lJTGl0ZXJhbCgiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgYmVj
YXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRz
JyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIikpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQogICAgIGlmIChlbGVtZW50LT5oYXNBdXRvZm9jdXNlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDEzMmVkOTEuLjYwYTEzODcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTI1Myw3ICsyNTMsNyBAQCBib29sIEhUTUxG
b3JtRWxlbWVudDo6dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KEV2ZW50KiBldmVudCkKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlKCJBbiBpbnZhbGlk
IGZvcm0gY29udHJvbCB3aXRoIG5hbWU9JyVuYW1lJyBpcyBub3QgZm9jdXNhYmxlLiIpOwogICAg
ICAgICAgICAgbWVzc2FnZS5yZXBsYWNlKCIlbmFtZSIsIGNvbnRyb2wubmFtZSgpKTsKLSAgICAg
ICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICAgICAgZG9jdW1lbnQoKS5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpSZW5kZXJpbmcsIE1lc3NhZ2VMZXZlbDo6
RXJyb3IsIG1lc3NhZ2UpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElGcmFtZUVsZW1lbnQuY3BwCmluZGV4IGE4N2UwMzkuLmQzZWJhNDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCkBAIC04MCw3ICs4MCw3IEBAIHZvaWQg
SFRNTElGcmFtZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5h
bWUsIGNvbnN0IEF0b21pY1N0CiAgICAgICAgIFN0cmluZyBpbnZhbGlkVG9rZW5zOwogICAgICAg
ICBzZXRTYW5kYm94RmxhZ3ModmFsdWUuaXNOdWxsKCkgPyBTYW5kYm94Tm9uZSA6IFNlY3VyaXR5
Q29udGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KHZhbHVlLCBpbnZhbGlkVG9rZW5zKSk7CiAgICAg
ICAgIGlmICghaW52YWxpZFRva2Vucy5pc051bGwoKSkKLSAgICAgICAgICAgIGRvY3VtZW50KCku
YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IkVycm9yIHdoaWxlIHBhcnNpbmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1dGU6ICIgKyBpbnZhbGlk
VG9rZW5zKTsKKyAgICAgICAgICAgIGRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJFcnJvciB3aGlsZSBwYXJzaW5n
IHRoZSAnc2FuZGJveCcgYXR0cmlidXRlOiAiICsgaW52YWxpZFRva2Vucyk7CiAgICAgfSBlbHNl
CiAgICAgICAgIEhUTUxGcmFtZUVsZW1lbnRCYXNlOjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1
ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBiZGUy
YmE1Li41MjdjZDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
QEAgLTI3NDcsNyArMjc0Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0R2VuZXJh
dGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBQYXNzUmVmCiAjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQV9WMikKICAgICBzdGF0aWMgYm9vbCBmaXJzdFRpbWUgPSB0cnVlOwog
ICAgIGlmIChmaXJzdFRpbWUgJiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7Ci0gICAgICAg
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiJ0hUTUxNZWRpYUVsZW1lbnQud2Via2l0R2VuZXJh
dGVLZXlSZXF1ZXN0KCknIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ01lZGlhS2V5cy5jcmVhdGVTZXNz
aW9uKCknIGluc3RlYWQuIik7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywg
QVNDSUlMaXRlcmFsKCInSFRNTE1lZGlhRWxlbWVudC53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3Qo
KScgaXMgZGVwcmVjYXRlZC4gIFVzZSAnTWVkaWFLZXlzLmNyZWF0ZVNlc3Npb24oKScgaW5zdGVh
ZC4iKSk7CiAgICAgICAgIGZpcnN0VGltZSA9IGZhbHNlOwogICAgIH0KICNlbmRpZgpAQCAtMjc4
Myw3ICsyNzgzLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRBZGRLZXkoY29uc3Qg
U3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnIKICNpZiBFTkFCTEUoRU5DUllQ
VEVEX01FRElBX1YyKQogICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9IHRydWU7CiAgICAgaWYg
KGZpcnN0VGltZSAmJiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdh
cm5pbmdNZXNzYWdlTGV2ZWwsICInSFRNTE1lZGlhRWxlbWVudC53ZWJraXRBZGRLZXkoKScgaXMg
ZGVwcmVjYXRlZC4gIFVzZSAnTWVkaWFLZXlTZXNzaW9uLnVwZGF0ZSgpJyBpbnN0ZWFkLiIpOwor
ICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIEFTQ0lJTGl0ZXJhbCgiJ0hUTUxN
ZWRpYUVsZW1lbnQud2Via2l0QWRkS2V5KCknIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ01lZGlhS2V5
U2Vzc2lvbi51cGRhdGUoKScgaW5zdGVhZC4iKSk7CiAgICAgICAgIGZpcnN0VGltZSA9IGZhbHNl
OwogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5kZXggMGQ3YjY5ZS4uMTY1NWE3YiAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwCkBAIC0xODU5LDcgKzE4NTksNyBAQCBQYXNzUmVmUHRyPEltYWdlRGF0YT4g
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpnZXRJbWFnZURhdGEoSW1hZ2VCdWZmZXI6OkNvb3Jk
aQogewogICAgIGlmICghY2FudmFzKCktPm9yaWdpbkNsZWFuKCkpIHsKICAgICAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJVbmFi
bGUgdG8gZ2V0IGltYWdlIGRhdGEgZnJvbSBjYW52YXMgYmVjYXVzZSB0aGUgY2FudmFzIGhhcyBi
ZWVuIHRhaW50ZWQgYnkgY3Jvc3Mtb3JpZ2luIGRhdGEuIikpKTsKLSAgICAgICAgY2FudmFzKCkt
PmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBjYW52YXMoKS0+ZG9jdW1l
bnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxl
dmVsOjpFcnJvciwgY29uc29sZU1lc3NhZ2UpOwogICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggMzgxMDM5OS4uYTdmZWZiOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHQuY3BwCkBAIC01NTI4LDcgKzU1MjgsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dDo6cHJpbnRXYXJuaW5nVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBp
ZiAoIWNhbnZhcygpKQogICAgICAgICByZXR1cm47Ci0gICAgY2FudmFzKCktPmRvY3VtZW50KCku
YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VM
ZXZlbCwgbWVzc2FnZSk7CisgICAgY2FudmFzKCktPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6UmVuZGVyaW5nLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIG1lc3Nh
Z2UpOwogfQogCiBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVGcmFtZWJ1ZmZl
ckZ1bmNQYXJhbWV0ZXJzKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGVudW0gdGFyZ2V0
LCBHQzNEZW51bSBhdHRhY2htZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvWFNTQXVkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRp
dG9yLmNwcAppbmRleCAwODRmYTc4Li5iMzYzNWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9YU1NBdWRpdG9yLmNwcApAQCAtMjgwLDcgKzI4MCw3IEBAIHZvaWQgWFNTQXVkaXRvcjo6
aW5pdChEb2N1bWVudCogZG9jdW1lbnQsIFhTU0F1ZGl0b3JEZWxlZ2F0ZSogYXVkaXRvckRlbGVn
YXRlKQogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICh4c3NQcm90ZWN0aW9u
SGVhZGVyID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVmbGVjdGVkWFNTSW52YWxpZCkKLSAg
ICAgICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3IgcGFyc2luZyBoZWFkZXIgWC1YU1MtUHJvdGVj
dGlvbjogIiArIGhlYWRlclZhbHVlICsgIjogIiAgKyBlcnJvckRldGFpbHMgKyAiIGF0IGNoYXJh
Y3RlciBwb3NpdGlvbiAiICsgU3RyaW5nOjpmb3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlvbikgKyAi
LiBUaGUgZGVmYXVsdCBwcm90ZWN0aW9ucyB3aWxsIGJlIGFwcGxpZWQuIik7CisgICAgICAgICAg
ICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1l
c3NhZ2VMZXZlbDo6RXJyb3IsICJFcnJvciBwYXJzaW5nIGhlYWRlciBYLVhTUy1Qcm90ZWN0aW9u
OiAiICsgaGVhZGVyVmFsdWUgKyAiOiAiICArIGVycm9yRGV0YWlscyArICIgYXQgY2hhcmFjdGVy
IHBvc2l0aW9uICIgKyBTdHJpbmc6OmZvcm1hdCgiJXUiLCBlcnJvclBvc2l0aW9uKSArICIuIFRo
ZSBkZWZhdWx0IHByb3RlY3Rpb25zIHdpbGwgYmUgYXBwbGllZC4iKTsKIAogICAgICAgICBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OlJlZmxlY3RlZFhTU0Rpc3Bvc2l0aW9uIGNzcEhlYWRlciA9IGRv
Y3VtZW50LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVmbGVjdGVkWFNTRGlzcG9zaXRpb24o
KTsKICAgICAgICAgbV9kaWRTZW5kVmFsaWRDU1BIZWFkZXIgPSBjc3BIZWFkZXIgIT0gQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpSZWZsZWN0ZWRYU1NVbnNldCAmJiBjc3BIZWFkZXIgIT0gQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpSZWZsZWN0ZWRYU1NJbnZhbGlkOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKaW5kZXggZDA2MDY5Yi4uOWNi
YTA2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRl
bGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVs
ZWdhdGUuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgWFNTQXVkaXRvckRlbGVnYXRlOjpkaWRC
bG9ja1NjcmlwdChjb25zdCBYU1NJbmZvJiB4c3NJbmZvKQogewogICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAKLSAgICBtX2RvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGJ1aWxkQ29uc29sZUVycm9yKHhzc0luZm8sIG1fZG9j
dW1lbnQudXJsKCkuc3RyaW5nKCkpKTsKKyAgICBtX2RvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBidWlsZENvbnNvbGVFcnJv
cih4c3NJbmZvLCBtX2RvY3VtZW50LnVybCgpLnN0cmluZygpKSk7CiAKICAgICBGcmFtZUxvYWRl
ciYgZnJhbWVMb2FkZXIgPSBtX2RvY3VtZW50LmZyYW1lKCktPmxvYWRlcigpOwogICAgIGlmICh4
c3NJbmZvLm1fZGlkQmxvY2tFbnRpcmVQYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29tbWFuZExpbmVBUElIb3N0LmNwcAppbmRleCA5MmYxZDI3Li5mNDA0YTUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmNwcApAQCAtMzgs
NyArMzgsNiBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1l
T3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCi0jaW5jbHVkZSAi
SW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JEYXRhYmFzZUFnZW50LmgiCkBAIC00OSw2ICs0OCw3IEBACiAjaW5jbHVkZSA8YmluZGluZ3Mv
U2NyaXB0VmFsdWUuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAj
aW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oPgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5oCmluZGV4IDZmOTAyNWYuLjA4ZjBjMTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmgKQEAg
LTMwLDggKzMwLDggQEAKICNpZm5kZWYgQ29tbWFuZExpbmVBUElIb3N0X2gKICNkZWZpbmUgQ29t
bWFuZExpbmVBUElIb3N0X2gKIAotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUg
IlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBTY3JpcHRW
YWx1ZTsKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiBjbGFzcyBJbnNwZWN0b3JBZ2VudDsKK2Ns
YXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNz
IEluc3BlY3RvclZhbHVlOwogfQpAQCAtNDksNyArNTAsNiBAQCBjbGFzcyBJbnNwZWN0b3JWYWx1
ZTsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRGF0YWJhc2U7Ci1jbGFzcyBJbnNwZWN0
b3JDb25zb2xlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JET01BZ2VudDsKIGNsYXNzIEluc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRhdGFiYXNlQWdlbnQ7CkBAIC02NCwx
MSArNjQsMTEgQEAgcHVibGljOgogICAgIH5Db21tYW5kTGluZUFQSUhvc3QoKTsKIAogICAgIHZv
aWQgaW5pdChJbnNwZWN0b3I6Okluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JBZ2VudAotICAgICAg
ICAgICAgLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudAotICAgICAgICAgICAg
LCBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQKLSAgICAgICAgICAgICwgSW5zcGVjdG9yRE9N
U3RvcmFnZUFnZW50KiBkb21TdG9yYWdlQWdlbnQKKyAgICAgICAgLCBJbnNwZWN0b3I6Okluc3Bl
Y3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50CisgICAgICAgICwgSW5zcGVjdG9yRE9NQWdl
bnQqIGRvbUFnZW50CisgICAgICAgICwgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBkb21TdG9y
YWdlQWdlbnQKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQotICAgICAgICAgICAgLCBJbnNwZWN0
b3JEYXRhYmFzZUFnZW50KiBkYXRhYmFzZUFnZW50CisgICAgICAgICwgSW5zcGVjdG9yRGF0YWJh
c2VBZ2VudCogZGF0YWJhc2VBZ2VudAogI2VuZGlmCiAgICAgICAgICkKICAgICB7CkBAIC0xMDgs
NyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICBDb21tYW5kTGluZUFQSUhvc3QoKTsKIAogICAgIElu
c3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7Ci0gICAgSW5zcGVjdG9y
Q29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKKyAgICBJbnNwZWN0b3I6Okluc3BlY3RvckNv
bnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1fZG9t
QWdlbnQ7CiAgICAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBtX2RvbVN0b3JhZ2VBZ2VudDsK
ICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBbGxJbk9uZS5jcHAKaW5kZXggZjcyNTIyMy4uYmZjNDJkNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCkBAIC0yNywxNiArMjcs
MTMgQEAKIAogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5jcHAiCiAjaW5jbHVkZSAiQ29t
bWFuZExpbmVBUElNb2R1bGUuY3BwIgotI2luY2x1ZGUgIkNvbnNvbGVNZXNzYWdlLmNwcCIKICNp
bmNsdWRlICJET01FZGl0b3IuY3BwIgogI2luY2x1ZGUgIkRPTVBhdGNoU3VwcG9ydC5jcHAiCi0j
aW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmNwcCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlw
dENhbnZhc01vZHVsZS5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JDU1NBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yQ2FudmFzQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5jcHAiCi0j
aW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JD
b250cm9sbGVyLmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb3VudGVycy5jcHAiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yRE9NQWdlbnQuY3BwIgpAQCAtNzAsMTAgKzY3LDggQEAKICNpbmNsdWRlICJQ
YWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcCIKICNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmNwcCIKICNpbmNsdWRlICJQYWdlUnVudGltZUFnZW50LmNwcCIKLSNpbmNsdWRlICJT
Y3JpcHRBcmd1bWVudHMuY3BwIgotI2luY2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5jcHAiCi0jaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmNwcCIKICNpbmNsdWRlICJUaW1lbGluZVJlY29yZEZhY3Rv
cnkuY3BwIgorI2luY2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5jcHAiCiAjaW5jbHVkZSAiV2ViRGVi
dWdnZXJBZ2VudC5jcHAiCiAjaW5jbHVkZSAiV29ya2VyQ29uc29sZUFnZW50LmNwcCIKICNpbmNs
dWRlICJXb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzQ5YmFkOC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29uc29sZUFnZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMTUgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2lmbmRlZiBJbnNwZWN0b3JDb25zb2xlQWdlbnRfaAotI2RlZmluZSBJbnNwZWN0
b3JDb25zb2xlQWdlbnRfaAotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQotI2luY2x1ZGUgIkNv
bnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgotI2luY2x1ZGUgIklu
c3BlY3RvcldlYkFnZW50QmFzZS5oIgotI2luY2x1ZGUgIkluc3BlY3RvcldlYkJhY2tlbmREaXNw
YXRjaGVycy5oIgotI2luY2x1ZGUgIkluc3BlY3RvcldlYkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIK
LSNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KLSNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENvbnNvbGVNZXNzYWdlOwotY2xhc3MgRE9NV2lu
ZG93OwotY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKLWNsYXNzIFBhZ2VJbmplY3RlZFNjcmlw
dE1hbmFnZXI7Ci1jbGFzcyBSZXNvdXJjZUVycm9yOwotY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsK
LWNsYXNzIFNjcmlwdEFyZ3VtZW50czsKLWNsYXNzIFNjcmlwdENhbGxTdGFjazsKLWNsYXNzIFNj
cmlwdFByb2ZpbGU7Ci0KLXR5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwotCi1jbGFzcyBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5z
cGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyIHsKLSAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb25zb2xlQWdlbnQpOwotcHVibGljOgotICAg
IEluc3BlY3RvckNvbnNvbGVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUGFnZUluamVjdGVk
U2NyaXB0TWFuYWdlciopOwotICAgIHZpcnR1YWwgfkluc3BlY3RvckNvbnNvbGVBZ2VudCgpOwot
Ci0gICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopIG92ZXJyaWRlOwotICAgIHZp
cnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2
b2lkIGNsZWFyTWVzc2FnZXMoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKLSAgICBib29sIGVuYWJs
ZWQoKSBjb25zdCB7IHJldHVybiBtX2VuYWJsZWQ7IH0KLSAgICB2b2lkIHJlc2V0KCk7Ci0KLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlciopIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwot
Ci0gICAgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBl
LCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVjU3RhdGUqLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKTsKLSAgICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNjcmlwdElELCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIs
IEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKTsKLQotICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSB3ZSBubyBsb25nZXIgZ2VuZXJh
dGUgc3RhY2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgotICAgIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllciA9IDApOwotCi0gICAgVmVjdG9yPHVuc2lnbmVkPiBjb25zb2xlTWVz
c2FnZUFyZ3VtZW50Q291bnRzKCk7Ci0KLSAgICB2b2lkIHN0YXJ0VGltaW5nKGNvbnN0IFN0cmlu
ZyYgdGl0bGUpOwotICAgIHZvaWQgc3RvcFRpbWluZyhjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwotICAgIHZvaWQgY291bnQoSlNDOjpFeGVjU3RhdGUq
LCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotCi0gICAgdm9pZCBmcmFtZVdpbmRvd0Rp
c2NhcmRlZChET01XaW5kb3cqKTsKLQotICAgIHZvaWQgZGlkRmluaXNoWEhSTG9hZGluZyh1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3Ry
aW5nJiBzZW5kVVJMLCB1bnNpZ25lZCBzZW5kTGluZU51bWJlciwgdW5zaWduZWQgc2VuZENvbHVt
bk51bWJlcik7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyByZXF1
ZXN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwotICAgIHZvaWQgZGlkRmFp
bExvYWRpbmcodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VF
cnJvciYpOwotICAgIHZvaWQgYWRkUHJvZmlsZUZpbmlzaGVkTWVzc2FnZVRvQ29uc29sZShQYXNz
UmVmUHRyPFNjcmlwdFByb2ZpbGU+LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1
bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAgICB2b2lkIGFkZFN0YXJ0UHJv
ZmlsaW5nTWVzc2FnZVRvQ29uc29sZShjb25zdCBTdHJpbmcmIHRpdGxlLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsK
LSAgICB2aXJ0dWFsIHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBi
b29sIGVuYWJsZWQpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0ZWROb2Rl
KEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNw
ZWN0ZWRIZWFwT2JqZWN0KEVycm9yU3RyaW5nKiwgaW50IGluc3BlY3RlZEhlYXBPYmplY3RJZCkg
b3ZlcnJpZGU7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpID0gMDsKLQotcHJv
dGVjdGVkOgotICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoUGFzc093blB0cjxDb25zb2xlTWVz
c2FnZT4pOwotCi0gICAgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlw
dE1hbmFnZXI7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29s
ZUZyb250ZW5kRGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7Ci0gICAgUmVmUHRyPElu
c3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUJhY2tlbmREaXNwYXRjaGVyPiBtX2JhY2tlbmREaXNw
YXRjaGVyOwotICAgIENvbnNvbGVNZXNzYWdlKiBtX3ByZXZpb3VzTWVzc2FnZTsKLSAgICBWZWN0
b3I8T3duUHRyPENvbnNvbGVNZXNzYWdlPj4gbV9jb25zb2xlTWVzc2FnZXM7Ci0gICAgaW50IG1f
ZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQ7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIHVuc2lnbmVk
PiBtX2NvdW50czsKLSAgICBIYXNoTWFwPFN0cmluZywgZG91YmxlPiBtX3RpbWVzOwotICAgIGJv
b2wgbV9lbmFibGVkOwotICAgIGJvb2wgbV9tb25pdG9yaW5nWEhSRW5hYmxlZDsKLX07Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KLSNl
bmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JDb25zb2xlQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlv
bi5oCmluZGV4IGVlZTc4N2MuLjE0NjBhZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaApAQCAtMzIs
MTQgKzMyLDE0IEBACiAjZGVmaW5lIEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb25faAog
CiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiU2NyaXB0
QXJndW1lbnRzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0UHJvZmlsZS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaD4KKyNp
bmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNv
dXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1
bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewogI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKQEAgLTU1LDcgKzU1LDcgQEAg
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xl
KFBhZ2UqIHBhZ2UsIE1lc3NhZ2VTb3UKICNlbmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIp
CitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNv
bGUoUGFnZSogcGFnZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1l
c3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSog
c3RhdGUsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cywg
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCkBAIC05MSw3ICs5MSw3IEBAIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBw
YWdlLCBNZXNzYWdlU291CiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiB3b3JrZXJH
bG9iYWxTY29wZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3Nh
Z2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQoraW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFdv
cmtlckdsb2JhbFNjb3BlKiB3b3JrZXJHbG9iYWxTY29wZSwgTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikK
ICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JXb3JrZXJHbG9iYWxTY29wZSh3b3JrZXJHbG9iYWxTY29wZSkpCkBA
IC0xMjYsNyArMTI2LDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjph
ZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiB3b3IKICNlbmRpZgogfQogCi1p
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudChQYWdlKiBw
YWdlLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVD
b3VudChQYWdlKiBwYWdlLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCkBAIC0xNDksNyArMTQ5LDcgQEAgaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdGFydENvbnNvbGVUaW1pbmcoRnJhbWUq
IGZyYW1lLCBjb25zdCBTdHIKICNlbmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrKQoraW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdG9wQ29uc29sZVRpbWluZyhGcmFtZSogZnJhbWUs
IGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3Rh
Y2s+IHN0YWNrKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJh
bWUoZnJhbWUpKQpAQCAtMTYxLDcgKzE2MSw3IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6c3RvcENvbnNvbGVUaW1pbmcoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpCiAj
ZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xl
VGltZVN0YW1wKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3Vt
ZW50cykKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZVRpbWVT
dGFtcChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+
IGFyZ3VtZW50cykKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyh2b2lkKCkpOwpAQCAtMTg3LDcgKzE4Nyw3IEBAIGlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkU3RhcnRQcm9maWxpbmdNZXNzYWdlVG9Db25zb2xl
KFBhZ2UqIHBhCiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRQcm9maWxlKFBhZ2UqIHBhZ2UsIFJlZlB0cjxTY3JpcHRQcm9maWxlPiBwcm9maWxl
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQoraW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRQcm9maWxlKFBhZ2UqIHBhZ2UsIFJlZlB0cjxTY3Jp
cHRQcm9maWxlPiBwcm9maWxlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNr
PiBjYWxsU3RhY2spCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQ
YWdlKHBhZ2UpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCmluZGV4IDIzM2IwMzguLjNkYWMwMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQu
aCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJJZGVudGlmaWVyc0Zh
Y3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JDU1NBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNhbnZhc0Fn
ZW50LmgiCkBAIC03Miw2ICs3MSw3IEBACiAjaW5jbHVkZSAiUGFnZUluamVjdGVkU2NyaXB0TWFu
YWdlci5oIgogI2luY2x1ZGUgIlBhZ2VSdW50aW1lQWdlbnQuaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaD4KICNpbmNsdWRl
IDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDxpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2su
aD4KQEAgLTE0MSw4ICsxNDEsOSBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250
cm9sbGVyKFBhZ2UmIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogICAgIG1fcmVz
b3VyY2VBZ2VudCA9IHJlc291cmNlQWdlbnRQdHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5k
KHN0ZDo6bW92ZShyZXNvdXJjZUFnZW50UHRyKSk7CiAKLSAgICBhdXRvIGNvbnNvbGVBZ2VudFB0
ciA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZUNvbnNvbGVBZ2VudD4obV9pbnN0cnVtZW50aW5nQWdl
bnRzLmdldCgpLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSwgbV9kb21BZ2VudCk7Ci0g
ICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBjb25zb2xlQWdlbnRQdHIu
Z2V0KCk7CisgICAgYXV0byBjb25zb2xlQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VD
b25zb2xlQWdlbnQ+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpLCBtX2RvbUFnZW50KTsK
KyAgICBXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGNvbnNvbGVBZ2VudFB0ci5nZXQo
KTsKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldFdlYkNvbnNvbGVBZ2VudChjb25zb2xl
QWdlbnRQdHIuZ2V0KCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUoY29uc29sZUFn
ZW50UHRyKSk7CiAKICAgICBhdXRvIGRlYnVnZ2VyQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVl
PFBhZ2VEZWJ1Z2dlckFnZW50PihtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSwgbV9pbnN0
cnVtZW50aW5nQWdlbnRzLmdldCgpLCBwYWdlQWdlbnQsIG1fb3ZlcmxheS5nZXQoKSk7CkBAIC0y
NzEsNyArMjcyLDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRl
bmQoSW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbiByZWFzb24pCiAgICAgbV9pbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlci5jbGVhcigpOwogICAgIG1faW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsID0g
bnVsbHB0cjsKIAotICAgIC8vIHJlbGVzZSBvdmVybGF5IHBhZ2UgcmVzb3VyY2VzCisgICAgLy8g
UmVsZWFzZSBvdmVybGF5IHBhZ2UgcmVzb3VyY2VzLgogICAgIG1fb3ZlcmxheS0+ZnJlZVBhZ2Uo
KTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyb250ZW5kRGVsZXRlZCgpOwogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6dW5yZWdpc3Rlckluc3RydW1lbnRpbmdBZ2VudHMo
bV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDczMTMxNjQuLjc0YTUyNmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNjMsNyAr
NjMsNiBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxUZW1wbGF0ZUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCi0jaW5jbHVkZSAiSWRlbnRpZmll
cnNGYWN0b3J5LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySGlzdG9yeS5oIgogI2luY2x1ZGUgIklu
c3BlY3Rvck5vZGVGaW5kZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmgiCkBAIC05
MSw2ICs5MCw3IEBACiAjaW5jbHVkZSAiWFBhdGhSZXN1bHQuaCIKICNpbmNsdWRlICJodG1sZWRp
dGluZy5oIgogI2luY2x1ZGUgIm1hcmt1cC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlm
aWVyc0ZhY3RvcnkuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaD4KICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuaAppbmRleCA5ZGM2N2IwLi5hYjBlN2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCkBAIC0yOSw3ICsyOSw2IEBACiAj
aWZuZGVmIEluc3BlY3RvckZyb250ZW5kSG9zdF9oCiAjZGVmaW5lIEluc3BlY3RvckZyb250ZW5k
SG9zdF9oCiAKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJDb250ZXh0TWVu
dS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51UHJvdmlkZXIuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCAyMzVlY2NlLi5mMTU4OTIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApA
QCAtMzUsOCArMzUsNiBAQAogCiAjaW5jbHVkZSAiQ1NTUnVsZS5oIgogI2luY2x1ZGUgIkNTU1N0
eWxlUnVsZS5oIgotI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNv
bGVUeXBlcy5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRPTVdyYXBwZXJX
b3JsZC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCkBAIC00Niw3ICs0NCw2IEBACiAjaW5jbHVk
ZSAiSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
Q1NTQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDYW52YXNBZ2VudC5oIgotI2luY2x1ZGUg
Ikluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudC5oIgpAQCAtNjQsMTYgKzYxLDE4IEBACiAjaW5jbHVkZSAiUGFn
ZVJ1bnRpbWVBZ2VudC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlJl
bmRlclZpZXcuaCIKLSNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKLSNpbmNsdWRlICJTY3Jp
cHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
U2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJT
dHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKICNpbmNsdWRlICJXb3Jr
ZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlclJ1bnRpbWVBZ2VudC5oIgogI2luY2x1
ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0LmgiCisjaW5jbHVk
ZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRB
cmd1bWVudHMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5j
bHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAg
LTE4Myw3ICsxODIsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxp
ZGF0ZVN0eWxlQXR0ckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaQogCiB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZnJhbWVXaW5kb3dEaXNjYXJkZWRJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIERPTVdpbmRvdyogd2luZG93KQogewotICAgIGlm
IChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNv
bnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAg
ICAgICBjb25zb2xlQWdlbnQtPmZyYW1lV2luZG93RGlzY2FyZGVkKHdpbmRvdyk7CiB9CiAKQEAg
LTYwMCw3ICs1OTksNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2
ZVJlc291cmNlUmVzcG9uc2VJbXBsKGNvbnN0IEluc3BlY3RvcklucwogICAgIEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBjb29raWUuaW5zdHJ1bWVudGluZ0FnZW50
cygpOwogICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQogICAgICAgICByZXNv
dXJjZUFnZW50LT5kaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgbG9hZGVyLCByZXNwb25z
ZSwgcmVzb3VyY2VMb2FkZXIpOwotICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQor
ICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPmRpZFJlY2VpdmVS
ZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25zZSk7IC8vIFRoaXMgc2hvdWxkIGNvbWUgQUZURVIg
cmVzb3VyY2Ugbm90aWZpY2F0aW9uLCBmcm9udC1lbmQgcmVsaWVzIG9uIHRoaXMuCiB9CiAKQEAg
LTY0NSw3ICs2NDQsNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmFpbExv
YWRpbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbgogICAgICAgICB0aW1lbGlu
ZUFnZW50LT5kaWRGaW5pc2hMb2FkaW5nUmVzb3VyY2UoaWRlbnRpZmllciwgdHJ1ZSwgMCwgbG9h
ZGVyLT5mcmFtZSgpKTsKICAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VB
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKICAg
ICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkRmFpbExvYWRpbmcoaWRlbnRpZmllciwgbG9hZGVyLCBl
cnJvcik7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgaWYgKFdlYkNv
bnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+d2ViQ29uc29s
ZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlkRmFpbExvYWRpbmcoaWRlbnRpZmll
ciwgZXJyb3IpOyAvLyBUaGlzIHNob3VsZCBjb21lIEFGVEVSIHJlc291cmNlIG5vdGlmaWNhdGlv
biwgZnJvbnQtZW5kIHJlbGllcyBvbiB0aGlzLgogfQogCkBAIC02NjksNyArNjY4LDcgQEAgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxYSFJMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnUKIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZEZpbmlzaFhIUkxvYWRpbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgdW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZywgY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IFN0cmluZyYgc2VuZFVSTCwgdW5zaWduZWQgc2VuZExpbmVOdW1iZXIsIHVuc2lnbmVkIHNl
bmRDb2x1bW5OdW1iZXIpCiB7Ci0gICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29s
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisg
ICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlkRmluaXNoWEhS
TG9hZGluZyhpZGVudGlmaWVyLCB1cmwsIHNlbmRVUkwsIHNlbmRMaW5lTnVtYmVyLCBzZW5kQ29s
dW1uTnVtYmVyKTsKICAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2Vu
dCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKICAgICAg
ICAgcmVzb3VyY2VBZ2VudC0+ZGlkRmluaXNoWEhSTG9hZGluZyhjbGllbnQsIGlkZW50aWZpZXIs
IHNvdXJjZVN0cmluZyk7CkBAIC03NTIsNyArNzUxLDcgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnQKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGxvYWRlci0+ZnJhbWUoKS0+aXNNYWluRnJh
bWUoKSkgewotICAgICAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQg
PSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICAgICAg
aWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+
d2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgICAgICBjb25zb2xlQWdlbnQtPnJlc2V0KCk7CiAK
ICAgICAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCkBAIC04NjIsMTMgKzg2
MSwxMyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkV3JpdGVIVE1MSW1wbChj
b25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25DbwogLy8gSmF2YVNjcmlwdENvcmUgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudCBzaG91bGQga25vdyBDb25zb2xlIE1lc3NhZ2VUeXBlcy4KIHN0YXRp
YyBib29sIGlzQ29uc29sZUFzc2VydE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2VUeXBlIHR5cGUpCiB7Ci0gICAgcmV0dXJuIHNvdXJjZSA9PSBDb25zb2xlQVBJTWVzc2FnZVNv
dXJjZSAmJiB0eXBlID09IEFzc2VydE1lc3NhZ2VUeXBlOworICAgIHJldHVybiBzb3VyY2UgPT0g
TWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSAmJiB0eXBlID09IE1lc3NhZ2VUeXBlOjpBc3NlcnQ7
CiB9CiAKIC8vIEZJWE1FOiBEcm9wIHRoaXMgb25jZSB3ZSBubyBsb25nZXIgZ2VuZXJhdGUgc3Rh
Y2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdl
TGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKLSAg
ICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5n
QWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50
KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkK
ICAgICAgICAgY29uc29sZUFnZW50LT5hZGRNZXNzYWdlVG9Db25zb2xlKHNvdXJjZSwgdHlwZSwg
bGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIC8vIEZJ
WE1FOiBUaGlzIHNob3VsZCBqdXN0IHBhc3MgdGhlIG1lc3NhZ2Ugb24gdG8gdGhlIGRlYnVnZ2Vy
IGFnZW50LiBKYXZhU2NyaXB0Q29yZSBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHNob3VsZCBrbm93
IENvbnNvbGUgTWVzc2FnZVR5cGVzLgogICAgIGlmIChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBk
ZWJ1Z2dlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dCgpKSB7CkBAIC04NzksNyArODc4LDcgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3QKIAogdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIE1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4g
YXJndW1lbnRzLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewotICAgIGlmIChJ
bnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMt
Pmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAg
ICBjb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCB0eXBlLCBsZXZlbCwg
bWVzc2FnZSwgc3RhdGUsIGFyZ3VtZW50cywgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIC8vIEZJ
WE1FOiBUaGlzIHNob3VsZCBqdXN0IHBhc3MgdGhlIG1lc3NhZ2Ugb24gdG8gdGhlIGRlYnVnZ2Vy
IGFnZW50LiBKYXZhU2NyaXB0Q29yZSBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IHNob3VsZCBrbm93
IENvbnNvbGUgTWVzc2FnZVR5cGVzLgogICAgIGlmIChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBk
ZWJ1Z2dlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dCgpKSB7CkBAIC04OTAsMTMgKzg4OSwxMyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdAogCiB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNjcmlwdElELCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllcikKIHsKLSAgICBpZiAoSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25z
b2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSkK
KyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdl
bnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5hZGRNZXNzYWdl
VG9Db25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNjcmlwdElELCBsaW5lTnVt
YmVyLCBjb2x1bW5OdW1iZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAKIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQ291bnRJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1Jl
ZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpZiAoSW5zcGVjdG9yQ29u
c29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JD
b25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBp
bnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFn
ZW50LT5jb3VudChzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIApAQCAtOTA0LDEzICs5MDMsMTMgQEAg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0YXJ0Q29uc29sZVRpbWluZ0ltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHIKIHsKICAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclRpbWVsaW5l
QWdlbnQoKSkKICAgICAgICAgdGltZWxpbmVBZ2VudC0+dGltZShmcmFtZSwgdGl0bGUpOwotICAg
IGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQorICAgIGlmIChXZWJDb25zb2xlQWdlbnQq
IGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPndlYkNvbnNvbGVBZ2VudCgpKQog
ICAgICAgICBjb25zb2xlQWdlbnQtPnN0YXJ0VGltaW5nKHRpdGxlKTsKIH0KIAogdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYg
dGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFjaykKIHsKLSAgICBpZiAoSW5z
cGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5p
bnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKKyAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xl
QWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAg
Y29uc29sZUFnZW50LT5zdG9wVGltaW5nKHRpdGxlLCBzdGFjayk7CiAgICAgaWYgKEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNw
ZWN0b3JUaW1lbGluZUFnZW50KCkpCiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPnRpbWVFbmQoZnJh
bWUsIHRpdGxlKTsKQEAgLTEwNzIsNyArMTA3MSw3IEBAIGJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpjYW52YXNBZ2VudEVuYWJsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0
CiBib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZUFnZW50RW5hYmxlZChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQogewogICAgIEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yQ29udGV4dChzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICBJbnNwZWN0b3JDb25zb2xl
QWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMgPyBpbnN0cnVtZW50aW5n
QWdlbnRzLT5pbnNwZWN0b3JDb25zb2xlQWdlbnQoKSA6IG51bGxwdHI7CisgICAgSW5zcGVjdG9y
Q29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzID8gaW5zdHJ1
bWVudGluZ0FnZW50cy0+d2ViQ29uc29sZUFnZW50KCkgOiBudWxscHRyOwogICAgIHJldHVybiBj
b25zb2xlQWdlbnQgJiYgY29uc29sZUFnZW50LT5lbmFibGVkKCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBl
NWYxYjQwLi5jMTY4NTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0zMiw4ICszMiw2IEBACiAjZGVmaW5lIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbl9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgotI2luY2x1
ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1
ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJGb3JtRGF0YS5oIgogI2luY2x1ZGUgIkZyYW1lLmgi
CkBAIC00NCwxMiArNDIsMTggQEAKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUg
IlN0b3JhZ2VBcmVhLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0RnJhbWUuaCIKKyNpbmNsdWRlIDxp
bnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1l
c3BhY2UgRGVwcmVjYXRlZCB7CiBjbGFzcyBTY3JpcHRPYmplY3Q7CiB9CiAKK25hbWVzcGFjZSBJ
bnNwZWN0b3IgeworY2xhc3MgU2NyaXB0QXJndW1lbnRzOworY2xhc3MgU2NyaXB0Q2FsbFN0YWNr
OworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENTU1J1bGU7CkBAIC03Nyw4ICs4
MSw2IEBAIGNsYXNzIFJlbmRlckxheWVyQmFja2luZzsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNs
YXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci1jbGFzcyBTY3Jp
cHRBcmd1bWVudHM7Ci1jbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwpA
QCAtMjAzLDE4ICsyMDUsMTggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFdyaXRlSFRN
TChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCB1bnNpZ25lZCBlbmRMaW5l
KTsKIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSB3ZSBubyBsb25nZXIgZ2VuZXJhdGUgc3Rh
Y2tzIG91dHNpZGUgb2YgSW5zcGVjdG9yLgotICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0Nv
bnNvbGUoUGFnZSosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25l
ZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgc3RhdGljIHZvaWQgYWRkTWVzc2Fn
ZVRvQ29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAg
IHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSosIE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0
cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50
aWZpZXIgPSAwKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBN
ZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3Vt
ZW50cz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKICAgICBzdGF0aWMg
dm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlw
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2Ny
aXB0SUQsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpF
eGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAp
OwogCiAgICAgLy8gRklYTUU6IENvbnZlcnQgdG8gU2NyaXB0QXJndW1lbnRzIHRvIG1hdGNoIG5v
bi13b3JrZXIgY29udGV4dC4KLSAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdv
cmtlckdsb2JhbFNjb3BlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRN
ZXNzYWdlVG9Db25zb2xlKFdvcmtlckdsb2JhbFNjb3BlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPElu
c3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApOwogICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2VyR2xvYmFs
U2NvcGUqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2NyaXB0SUQsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgSlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogCi0gICAgc3RhdGljIHZvaWQgY29u
c29sZUNvdW50KFBhZ2UqLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1l
bnRzPik7CisgICAgc3RhdGljIHZvaWQgY29uc29sZUNvdW50KFBhZ2UqLCBKU0M6OkV4ZWNTdGF0
ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKICAgICBzdGF0aWMg
dm9pZCBzdGFydENvbnNvbGVUaW1pbmcoRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSAg
ICBzdGF0aWMgdm9pZCBzdG9wQ29uc29sZVRpbWluZyhGcmFtZSosIGNvbnN0IFN0cmluZyYgdGl0
bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7Ci0gICAgc3RhdGljIHZvaWQgY29uc29s
ZVRpbWVTdGFtcChGcmFtZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7CisgICAgc3Rh
dGljIHZvaWQgc3RvcENvbnNvbGVUaW1pbmcoRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQ
YXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGljIHZvaWQg
Y29uc29sZVRpbWVTdGFtcChGcmFtZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1
bWVudHM+KTsKIAogICAgIHN0YXRpYyB2b2lkIGRpZFJlcXVlc3RBbmltYXRpb25GcmFtZShEb2N1
bWVudCosIGludCBjYWxsYmFja0lkKTsKICAgICBzdGF0aWMgdm9pZCBkaWRDYW5jZWxBbmltYXRp
b25GcmFtZShEb2N1bWVudCosIGludCBjYWxsYmFja0lkKTsKQEAgLTIyMiw3ICsyMjQsNyBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkRmlyZUFuaW1hdGlvbkZyYW1lKGNvbnN0IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogCiAgICAgc3RhdGljIHZvaWQgYWRkU3RhcnRQ
cm9maWxpbmdNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCB1bnNp
Z25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMKTsKLSAgICBzdGF0aWMgdm9pZCBhZGRQcm9maWxlKFBhZ2UqLCBSZWZQdHI8U2NyaXB0
UHJvZmlsZT4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGljIHZvaWQg
YWRkUHJvZmlsZShQYWdlKiwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+LCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CiAgICAgc3RhdGljIFN0cmluZyBnZXRDdXJyZW50VXNl
ckluaXRpYXRlZFByb2ZpbGVOYW1lKFBhZ2UqLCBib29sIGluY3JlbWVudFByb2ZpbGVOdW1iZXIp
OwogICAgIHN0YXRpYyBib29sIHByb2ZpbGVyRW5hYmxlZChQYWdlKik7CiAKQEAgLTM4NSwxNiAr
Mzg3LDE2IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSB3aWxsV3JpdGVIVE1MSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgdW5zaWduZWQgc3Rh
cnRMaW5lLCBGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFdyaXRlSFRNTEltcGwoY29uc3Qg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwgdW5zaWduZWQgZW5kTGluZSk7CiAKLSAg
ICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwg
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgc3RhdGljIHZvaWQgYWRkTWVz
c2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNDOjpFeGVj
U3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiwgdW5zaWduZWQg
bG9uZyByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBl
LCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzY3Jp
cHRJRCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBKU0M6OkV4
ZWNTdGF0ZSosIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpOwogCiAgICAgLy8gRklY
TUU6IFJlbW92ZSBvbmNlIHdlIG5vIGxvbmdlciBnZW5lcmF0ZSBzdGFja3Mgb3V0c2lkZSBvZiBJ
bnNwZWN0b3IuCi0gICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdl
VG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPElu
c3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
cik7CiAKLSAgICBzdGF0aWMgdm9pZCBjb25zb2xlQ291bnRJbXBsKEluc3RydW1lbnRpbmdBZ2Vu
dHMqLCBKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7CisgICAg
c3RhdGljIHZvaWQgY29uc29sZUNvdW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSlNDOjpF
eGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAgICAg
c3RhdGljIHZvaWQgc3RhcnRDb25zb2xlVGltaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
RnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSAgICBzdGF0aWMgdm9pZCBzdG9wQ29uc29s
ZVRpbWluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgY29uc3QgU3RyaW5nJiB0
aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKLSAgICBzdGF0aWMgdm9pZCBjb25z
b2xlVGltZVN0YW1wSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBQYXNzUmVmUHRy
PFNjcmlwdEFyZ3VtZW50cz4pOworICAgIHN0YXRpYyB2b2lkIHN0b3BDb25zb2xlVGltaW5nSW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGljIHZvaWQgY29u
c29sZVRpbWVTdGFtcEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgUGFzc1JlZlB0
cjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOwogCiAgICAgc3RhdGljIHZvaWQgZGlkUmVx
dWVzdEFuaW1hdGlvbkZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgaW50IGNhbGxiYWNr
SWQsIEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkQ2FuY2VsQW5pbWF0aW9uRnJhbWVJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBpbnQgY2FsbGJhY2tJZCwgRnJhbWUqKTsKQEAgLTQwMiw3
ICs0MDQsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRpZEZpcmVBbmltYXRpb25GcmFt
ZUltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAKICAgICBzdGF0
aWMgdm9pZCBhZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAgICBzdGF0aWMg
dm9pZCBhZGRQcm9maWxlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUmVmUHRyPFNjcmlwdFBy
b2ZpbGU+LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgIHN0YXRpYyB2b2lkIGFk
ZFByb2ZpbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBSZWZQdHI8U2NyaXB0UHJvZmlsZT4s
IFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKICAgICBzdGF0aWMgU3Ry
aW5nIGdldEN1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWVJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqLCBib29sIGluY3JlbWVudFByb2ZpbGVOdW1iZXIpOwogICAgIHN0YXRpYyBib29sIHBy
b2ZpbGVyRW5hYmxlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAppbmRleCA0
YzFmMDA2Li4zM2FmZjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUg
Ikluc3BlY3RvckxheWVyVHJlZUFnZW50LmgiCiAKLSNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3Rv
cnkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
cldlYkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRz
LmgiCkBAIC00NCw2ICs0Myw3IEBACiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJCYWNraW5nLmgiCiAj
aW5jbHVkZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5o
IgorI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaD4KIAogdXNpbmcgbmFt
ZXNwYWNlIEluc3BlY3RvcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUGFnZUFnZW50LmNwcAppbmRleCBmMjc5MzBjLi5jZmVlNWQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtMjksMTEgKzI5LDEw
IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
LQogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgogCisjaWYgRU5BQkxFKElOU1BFQ1RP
UikKKwogI2luY2x1ZGUgIkNhY2hlZENTU1N0eWxlU2hlZXQuaCIKICNpbmNsdWRlICJDYWNoZWRG
b250LmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKQEAgLTUzLDcgKzUyLDYgQEAKICNpbmNs
dWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKICNp
bmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCkBAIC03Myw2ICs3MSw3IEBACiAjaW5jbHVkZSAi
VXNlckdlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5o
PgogI2luY2x1ZGUgPGluc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmg+CisjaW5jbHVk
ZSA8aW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRl
IDx3dGYvTGlzdEhhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQcm9maWxlckFnZW50LmNwcAppbmRleCBlODQwN2VlLi5jNTJjNjZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3Bw
CkBAIC0yOCwyOSArMjgsMjcgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIgog
CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5o
IgogI2luY2x1ZGUgIkNvbnNvbGUuaCIKLSNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKLSNp
bmNsdWRlICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVk
ZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAi
UGFnZVNjcmlwdERlYnVnU2VydmVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0SGVhcFNuYXBzaG90Lmgi
CiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGVyLmgi
CisjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuaCIK
ICNpbmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRPYmplY3QuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
Q29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg+CiAj
aW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRU
aW1lLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0NvbmNhdGVuYXRlLmg+CkBAIC0xNTYsMTQgKzE1NCwxNCBAQCB2b2lkIEluc3BlY3RvclByb2Zp
bGVyQWdlbnQ6OmFkZFByb2ZpbGVGaW5pc2hlZE1lc3NhZ2VUb0NvbnNvbGUoUGFzc1JlZlB0cjxT
Y3JpcAogICAgICAgICByZXR1cm47CiAgICAgUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHByb2ZpbGUg
PSBwcnBQcm9maWxlOwogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZyhwcm9maWxlLT50
aXRsZSgpLCAnIycsIFN0cmluZzo6bnVtYmVyKHByb2ZpbGUtPnVpZCgpKSk7Ci0gICAgbV9jb25z
b2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIFBy
b2ZpbGVFbmRNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVS
TCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICBtX2NvbnNvbGVBZ2VudC0+YWRkTWVz
c2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6UHJv
ZmlsZUVuZCwgTWVzc2FnZUxldmVsOjpEZWJ1ZywgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVt
YmVyLCBjb2x1bW5OdW1iZXIpOwogfQogCiB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmFk
ZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZShjb25zdCBTdHJpbmcmIHRpdGxlLCB1bnNp
Z25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMKQogewogICAgIGlmICghbV9mcm9udGVuZERpc3BhdGNoZXIpCiAgICAgICAgIHJldHVy
bjsKLSAgICBtX2NvbnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShDb25zb2xlQVBJTWVz
c2FnZVNvdXJjZSwgUHJvZmlsZU1lc3NhZ2VUeXBlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgdGl0bGUs
IHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICBtX2NvbnNvbGVBZ2Vu
dC0+YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdl
VHlwZTo6UHJvZmlsZSwgTWVzc2FnZUxldmVsOjpEZWJ1ZywgdGl0bGUsIHNvdXJjZVVSTCwgbGlu
ZU51bWJlciwgY29sdW1uTnVtYmVyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50
Ojpjb2xsZWN0R2FyYmFnZShXZWJDb3JlOjpFcnJvclN0cmluZyopCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBiOWI2MDMxLi43
ZGZlMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmgKQEAgLTQzLDEyICs0MywxMiBAQAogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsK
IGNsYXNzIEluc3BlY3RvckFycmF5OworY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwogY2xh
c3MgSW5zcGVjdG9yT2JqZWN0OwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIElu
c3BlY3RvckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CiBjbGFzcyBQ
YWdlOwogY2xhc3MgUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlcjsKQEAgLTYxLDggKzYxLDggQEAg
dHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiBjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50
IDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6SW5zcGVjdG9y
UHJvZmlsZXJCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+
IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yQ29uc29sZUFnZW50KiwgUGFn
ZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiwg
SW5zcGVjdG9yQ29uc29sZUFnZW50KiwgV29ya2VyR2xvYmFsU2NvcGUqLCBQYWdlSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKik7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3JQcm9m
aWxlckFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3Rvcjo6SW5zcGVj
dG9yQ29uc29sZUFnZW50KiwgUGFnZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKKyAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJ
bnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBX
b3JrZXJHbG9iYWxTY29wZSosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKIAogICAgIHZp
cnR1YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKIApAQCAtMTAxLDcgKzEwMSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2V0SGVhcE9iamVjdElkKEVycm9yU3RyaW5nKiwgY29u
c3QgU3RyaW5nJiBvYmplY3RJZCwgU3RyaW5nKiBoZWFwU25hcHNob3RPYmplY3RJZCkgb3ZlcnJp
ZGU7CiAKIHByb3RlY3RlZDoKLSAgICBJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3RydW1lbnRp
bmdBZ2VudHMqLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKik7CisgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
SW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKik7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0UHJvZmlsaW5nKGNvbnN0IFN0cmluZyYgdGl0
bGUpID0gMDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcFByb2Zp
bGluZyhjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7CiAKQEAgLTExNSw3ICsxMTUsNyBAQCBwcml2
YXRlOgogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UHJvZmlsZXI6OlBy
b2ZpbGVIZWFkZXI+IGNyZWF0ZVByb2ZpbGVIZWFkZXIoY29uc3QgU2NyaXB0UHJvZmlsZSYpOwog
ICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UHJvZmlsZXI6OlByb2ZpbGVI
ZWFkZXI+IGNyZWF0ZVNuYXBzaG90SGVhZGVyKGNvbnN0IFNjcmlwdEhlYXBTbmFwc2hvdCYpOwog
Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKKyAgICBJbnNwZWN0
b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7CiAgICAgUGFnZUluamVj
dGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yUHJvZmlsZXJGcm9udGVuZERpc3BhdGNoZXI+IG1f
ZnJvbnRlbmREaXNwYXRjaGVyOwogICAgIFJlZlB0cjxJbnNwZWN0b3I6Okluc3BlY3RvclByb2Zp
bGVyQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXggNjVm
OGRiMS4uNDgwYmRlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtMjksMTEgKzI5LDEwIEBACiAgKi8KIAogI2luY2x1
ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3Bl
Y3RvclJlc291cmNlQWdlbnQuaCIKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKICNpbmNsdWRl
ICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCiAjaW5j
bHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTQ0LDExICs0MywxMSBAQAogI2luY2x1
ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgogI2luY2x1ZGUg
Ikljb25Db250cm9sbGVyLmgiCi0jaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVycy5oIgogI2luY2x1ZGUg
Ikluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUu
aCIKICNpbmNsdWRlICJNZW1vcnlDYWNoZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZXNE
YXRhLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtNTgsMTUgKzU3LDE2IEBACiAjaW5jbHVkZSAi
UmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1
bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3VicmVzb3Vy
Y2VMb2FkZXIuaCIKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRGcmFtZS5o
IgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0LmgiCisjaW5jbHVkZSA8aW5zcGVjdG9yL0lkZW50
aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4K
KyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5jbHVkZSA8aW5zcGVj
dG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KICNpbmNsdWRlIDx3dGYvSGV4TnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0
Lmg+CkBAIC00MzksNyArNDM5LDcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRT
Y2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbihEb2N1bWVudCogZG9jdW1lbnQpCiAKIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9yPiBJbnNwZWN0b3JS
ZXNvdXJjZUFnZW50OjpidWlsZEluaXRpYXRvck9iamVjdChEb2N1bWVudCogZG9jdW1lbnQpCiB7
Ci0gICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENh
bGxTdGFjayhTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUp
OworICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrVHJhY2UgPSBjcmVhdGVTY3JpcHRD
YWxsU3RhY2soSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSwgU2NyaXB0Q2Fs
bFN0YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlLCB0cnVlKTsKICAgICBpZiAoc3RhY2tU
cmFjZSAmJiBzdGFja1RyYWNlLT5zaXplKCkgPiAwKSB7CiAgICAgICAgIFJlZlB0cjxJbnNwZWN0
b3I6OlR5cGVCdWlsZGVyOjpOZXR3b3JrOjpJbml0aWF0b3I+IGluaXRpYXRvck9iamVjdCA9IElu
c3BlY3Rvcjo6VHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcjo6Y3JlYXRlKCkKICAgICAg
ICAgICAgIC5zZXRUeXBlKEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRv
cjo6VHlwZTo6U2NyaXB0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCA4YWVjNjhlLi40YTBjZWZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBA
IC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJz
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCkBAIC01Myw2ICs1Miw3
IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2Zp
bGVyLmgiCiAjaW5jbHVkZSAiVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgiCisjaW5jbHVkZSA8aW5z
cGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgogCiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCmluZGV4IDk4ZTZiZGQuLmIyMmM3YjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAK
QEAgLTQ5LDcgKzQ5LDcgQEAgSW5zdHJ1bWVudGluZ0FnZW50czo6SW5zdHJ1bWVudGluZ0FnZW50
cyhJbnNwZWN0b3JFbnZpcm9ubWVudCYgZW52aXJvbm1lbnQpCiAgICAgLCBtX2luc3BlY3RvclBh
Z2VBZ2VudChudWxscHRyKQogICAgICwgbV9pbnNwZWN0b3JDU1NBZ2VudChudWxscHRyKQogICAg
ICwgbV9pbnNwZWN0b3JMYXllclRyZWVBZ2VudChudWxscHRyKQotICAgICwgbV9pbnNwZWN0b3JD
b25zb2xlQWdlbnQobnVsbHB0cikKKyAgICAsIG1fd2ViQ29uc29sZUFnZW50KG51bGxwdHIpCiAg
ICAgLCBtX2luc3BlY3RvckRPTUFnZW50KG51bGxwdHIpCiAgICAgLCBtX2luc3BlY3RvclJlc291
cmNlQWdlbnQobnVsbHB0cikKICAgICAsIG1fcGFnZVJ1bnRpbWVBZ2VudChudWxscHRyKQpAQCAt
NzUsNyArNzUsNyBAQCB2b2lkIEluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KCkKICAgICBtX2lu
c3BlY3RvclBhZ2VBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9pbnNwZWN0b3JDU1NBZ2VudCA9IG51
bGxwdHI7CiAgICAgbV9pbnNwZWN0b3JMYXllclRyZWVBZ2VudCA9IG51bGxwdHI7Ci0gICAgbV9p
bnNwZWN0b3JDb25zb2xlQWdlbnQgPSBudWxscHRyOworICAgIG1fd2ViQ29uc29sZUFnZW50ID0g
bnVsbHB0cjsKICAgICBtX2luc3BlY3RvckRPTUFnZW50ID0gbnVsbHB0cjsKICAgICBtX2luc3Bl
Y3RvclJlc291cmNlQWdlbnQgPSBudWxscHRyOwogICAgIG1fcGFnZVJ1bnRpbWVBZ2VudCA9IG51
bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGlu
Z0FnZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMu
aAppbmRleCBjOTlkMjY5Li4zN2ZhYjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTQ3LDcgKzQ3LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OwogY2xhc3MgSW5zcGVj
dG9yQ1NTQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JDYW52YXNBZ2VudDsKLWNsYXNzIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9y
RE9NRGVidWdnZXJBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDsKQEAgLTYy
LDYgKzYxLDcgQEAgY2xhc3MgSW5zcGVjdG9yV29ya2VyQWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xh
c3MgUGFnZURlYnVnZ2VyQWdlbnQ7CiBjbGFzcyBQYWdlUnVudGltZUFnZW50OworY2xhc3MgV2Vi
Q29uc29sZUFnZW50OwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiBjbGFzcyBXb3JrZXJSdW50
aW1lQWdlbnQ7CiAKQEAgLTg3LDggKzg3LDggQEAgcHVibGljOgogICAgIEluc3BlY3RvckNTU0Fn
ZW50KiBpbnNwZWN0b3JDU1NBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yQ1NTQWdl
bnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvckNTU0FnZW50KEluc3BlY3RvckNTU0FnZW50KiBh
Z2VudCkgeyBtX2luc3BlY3RvckNTU0FnZW50ID0gYWdlbnQ7IH0KIAotICAgIEluc3BlY3RvckNv
bnNvbGVBZ2VudCogaW5zcGVjdG9yQ29uc29sZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNw
ZWN0b3JDb25zb2xlQWdlbnQ7IH0KLSAgICB2b2lkIHNldEluc3BlY3RvckNvbnNvbGVBZ2VudChJ
bnNwZWN0b3JDb25zb2xlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yQ29uc29sZUFnZW50ID0g
YWdlbnQ7IH0KKyAgICBXZWJDb25zb2xlQWdlbnQqIHdlYkNvbnNvbGVBZ2VudCgpIGNvbnN0IHsg
cmV0dXJuIG1fd2ViQ29uc29sZUFnZW50OyB9CisgICAgdm9pZCBzZXRXZWJDb25zb2xlQWdlbnQo
V2ViQ29uc29sZUFnZW50KiBhZ2VudCkgeyBtX3dlYkNvbnNvbGVBZ2VudCA9IGFnZW50OyB9CiAK
ICAgICBJbnNwZWN0b3JET01BZ2VudCogaW5zcGVjdG9yRE9NQWdlbnQoKSBjb25zdCB7IHJldHVy
biBtX2luc3BlY3RvckRPTUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JET01BZ2VudChJ
bnNwZWN0b3JET01BZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JET01BZ2VudCA9IGFnZW50OyB9
CkBAIC0xNDksNyArMTQ5LDcgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1f
aW5zcGVjdG9yUGFnZUFnZW50OwogICAgIEluc3BlY3RvckNTU0FnZW50KiBtX2luc3BlY3RvckNT
U0FnZW50OwogICAgIEluc3BlY3RvckxheWVyVHJlZUFnZW50KiBtX2luc3BlY3RvckxheWVyVHJl
ZUFnZW50OwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9pbnNwZWN0b3JDb25zb2xlQWdl
bnQ7CisgICAgV2ViQ29uc29sZUFnZW50KiBtX3dlYkNvbnNvbGVBZ2VudDsKICAgICBJbnNwZWN0
b3JET01BZ2VudCogbV9pbnNwZWN0b3JET01BZ2VudDsKICAgICBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50KiBtX2luc3BlY3RvclJlc291cmNlQWdlbnQ7CiAgICAgUGFnZVJ1bnRpbWVBZ2VudCogbV9w
YWdlUnVudGltZUFnZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xl
QWdlbnQuY3BwCmluZGV4IDFhZGI0NDkuLjcxNTljZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCi0jaW5jbHVk
ZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRl
ICJOb2RlLmgiCiAjaW5jbHVkZSAiUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5oIgpAQCAtNDMs
MjEgKzQyLDE3IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotUGFnZUNvbnNvbGVBZ2VudDo6UGFnZUNvbnNvbGVBZ2VudChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBp
bmplY3RlZFNjcmlwdE1hbmFnZXIsIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkKLSAgICA6
IEluc3BlY3RvckNvbnNvbGVBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBpbmplY3RlZFNjcmlw
dE1hbmFnZXIpCitQYWdlQ29uc29sZUFnZW50OjpQYWdlQ29uc29sZUFnZW50KFBhZ2VJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwgSW5zcGVjdG9yRE9NQWdlbnQq
IGRvbUFnZW50KQorICAgIDogV2ViQ29uc29sZUFnZW50KGluamVjdGVkU2NyaXB0TWFuYWdlcikK
ICAgICAsIG1faW5zcGVjdG9yRE9NQWdlbnQoZG9tQWdlbnQpCiB7CiB9CiAKLVBhZ2VDb25zb2xl
QWdlbnQ6On5QYWdlQ29uc29sZUFnZW50KCkKLXsKLSAgICBtX2luc3BlY3RvckRPTUFnZW50ID0g
bnVsbHB0cjsKLX0KLQogdm9pZCBQYWdlQ29uc29sZUFnZW50OjpjbGVhck1lc3NhZ2VzKEVycm9y
U3RyaW5nKiBlcnJvclN0cmluZykKIHsKICAgICBtX2luc3BlY3RvckRPTUFnZW50LT5yZWxlYXNl
RGFuZ2xpbmdOb2RlcygpOwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJNZXNzYWdl
cyhlcnJvclN0cmluZyk7CisKKyAgICBXZWJDb25zb2xlQWdlbnQ6OmNsZWFyTWVzc2FnZXMoZXJy
b3JTdHJpbmcpOwogfQogCiBjbGFzcyBJbnNwZWN0YWJsZU5vZGUgZmluYWwgOiBwdWJsaWMgQ29t
bWFuZExpbmVBUElIb3N0OjpJbnNwZWN0YWJsZU9iamVjdCB7CkBAIC03OSw3ICs3NCw3IEBAIHZv
aWQgUGFnZUNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyogZXJyb3JT
dHJpbmcsIGludCBub2RlSWQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoQ29t
bWFuZExpbmVBUElIb3N0KiBjb21tYW5kTGluZUFQSUhvc3QgPSBtX2luamVjdGVkU2NyaXB0TWFu
YWdlci0+Y29tbWFuZExpbmVBUElIb3N0KCkpCisgICAgaWYgKENvbW1hbmRMaW5lQVBJSG9zdCog
Y29tbWFuZExpbmVBUElIb3N0ID0gc3RhdGljX2Nhc3Q8UGFnZUluamVjdGVkU2NyaXB0TWFuYWdl
cio+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKS0+Y29tbWFuZExpbmVBUElIb3N0KCkpCiAgICAg
ICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+YWRkSW5zcGVjdGVkT2JqZWN0KGFkb3B0UHRyKG5ldyBJ
bnNwZWN0YWJsZU5vZGUobm9kZSkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Q
YWdlQ29uc29sZUFnZW50LmgKaW5kZXggZDU1N2YxYS4uZDBiNTU2NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oCkBAIC0zMSw4ICszMSw3IEBACiAjaWZu
ZGVmIFBhZ2VDb25zb2xlQWdlbnRfaAogI2RlZmluZSBQYWdlQ29uc29sZUFnZW50X2gKIAotI2lu
Y2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CisjaW5jbHVkZSAiV2ViQ29uc29sZUFnZW50LmgiCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogCkBAIC00MCwxMyArMzksMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbnNw
ZWN0b3JET01BZ2VudDsKIAotY2xhc3MgUGFnZUNvbnNvbGVBZ2VudCA6IHB1YmxpYyBJbnNwZWN0
b3JDb25zb2xlQWdlbnQgeworY2xhc3MgUGFnZUNvbnNvbGVBZ2VudCBmaW5hbCA6IHB1YmxpYyBX
ZWJDb25zb2xlQWdlbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25zb2xlQWdl
bnQpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFBhZ2VDb25z
b2xlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIq
LCBJbnNwZWN0b3JET01BZ2VudCopOwotICAgIHZpcnR1YWwgflBhZ2VDb25zb2xlQWdlbnQoKTsK
KyAgICBQYWdlQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBJbnNwZWN0
b3JET01BZ2VudCopOworICAgIHZpcnR1YWwgflBhZ2VDb25zb2xlQWdlbnQoKSB7IH0KIAotICAg
IHZpcnR1YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IGZhbHNlOyB9CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyTWVzc2FnZXMoRXJy
b3JTdHJpbmcqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9QYWdlRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURl
YnVnZ2VyQWdlbnQuY3BwCmluZGV4IDY3ZjQ5NTEuLmU0NjcwY2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcApAQCAtNDMsNiArNDMsOCBAQAog
I2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oPgorI2lu
Y2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgogCiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwog
CkBAIC0xMTMsOSArMTE1LDkgQEAgdm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6dW5tdXRlQ29uc29s
ZSgpCiAgICAgUGFnZUNvbnNvbGU6OnVubXV0ZSgpOwogfQogCi12b2lkIFBhZ2VEZWJ1Z2dlckFn
ZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKQordm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6YnJlYWtwb2ludEFjdGlvbkxvZyhKU0M6
OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIG1fcGFnZUFn
ZW50LT5wYWdlKCktPmNvbnNvbGUoKS5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBtX3BhZ2VBZ2VudC0+cGFnZSgpLT5jb25zb2xlKCku
YWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpMb2csIG1lc3NhZ2Us
IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhleGVjLCBTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFj
a1NpemVUb0NhcHR1cmUsIHRydWUpKTsKIH0KIAogSW5qZWN0ZWRTY3JpcHQgUGFnZURlYnVnZ2Vy
QWdlbnQ6OmluamVjdGVkU2NyaXB0Rm9yRXZhbChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNv
bnN0IGludCogZXhlY3V0aW9uQ29udGV4dElkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRIb3N0LmgKaW5kZXggNjU4MjE4OC4uYWZiYzZkOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdEhvc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0SG9zdC5o
CkBAIC0zMiw2ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gRklYTUU6IFJl
bmFtZSB0byBXZWJJbmplY3RlZFNjcmlwdEhvc3QuCiBjbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRI
b3N0IGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRIb3N0IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxQYWdlSW5qZWN0ZWRTY3JpcHRIb3N0PiBjcmVhdGUo
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGFnZUluamVjdGVkU2NyaXB0SG9zdCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUluamVjdGVkU2NyaXB0TWFuYWdlci5o
CmluZGV4IDFmODcwN2UuLmUyNzRlNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9QYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1BhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIuaApAQCAtMzQsNiArMzQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERPTVdpbmRvdzsKIAorLy8gRklYTUU6IFJlbmFtZSB0
byBXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuCiBjbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyIGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyIHsKIHB1
YmxpYzoKICAgICBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKEluc3BlY3Rvcjo6SW5zcGVjdG9y
RW52aXJvbm1lbnQmLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRIb3N0Pik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0
b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3Rvcnku
Y3BwCmluZGV4IDE3NTkzYjguLmQ5ZGE3NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwCkBAIC0zNywxMyArMzcsMTQgQEAKICNp
bmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkludFJl
Y3QuaCIKKyNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJMYXlv
dXRSZWN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXNwb25zZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2luY2x1ZGUgIlNj
cmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5j
bHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFj
dG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiB1c2luZyBuYW1lc3BhY2Ug
SW5zcGVjdG9yOwpAQCAtNTYsNyArNTcsNyBAQCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKGRvdWJsZSBzdAogICAg
IHJlY29yZC0+c2V0TnVtYmVyKCJzdGFydFRpbWUiLCBzdGFydFRpbWUpOwogCiAgICAgaWYgKG1h
eENhbGxTdGFja0RlcHRoKSB7Ci0gICAgICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNr
VHJhY2UgPSBjcmVhdGVTY3JpcHRDYWxsU3RhY2sobWF4Q2FsbFN0YWNrRGVwdGgsIHRydWUpOwor
ICAgICAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFja1RyYWNlID0gY3JlYXRlU2NyaXB0
Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCksIG1heENhbGxT
dGFja0RlcHRoLCB0cnVlKTsKICAgICAgICAgaWYgKHN0YWNrVHJhY2UgJiYgc3RhY2tUcmFjZS0+
c2l6ZSgpKQogICAgICAgICAgICAgcmVjb3JkLT5zZXRWYWx1ZSgic3RhY2tUcmFjZSIsIHN0YWNr
VHJhY2UtPmJ1aWxkSW5zcGVjdG9yQXJyYXkoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5iMDcwZDRmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAKQEAgLTAsMCArMSwxMzcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICog
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKKworI2lm
IEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKKyNp
bmNsdWRlICJDb25zb2xlLmgiCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiUGFn
ZUluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKKyNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIK
KyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlTWVz
c2FnZS5oPgorCit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOworCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK1dlYkNvbnNvbGVBZ2VudDo6V2ViQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNjcmlw
dE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckNvbnNvbGVB
Z2VudChpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgLCBtX21vbml0b3JpbmdYSFJFbmFibGVk
KGZhbHNlKQoreworfQorCit2b2lkIFdlYkNvbnNvbGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVu
YWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpCit7CisgICAgbV9tb25pdG9yaW5nWEhS
RW5hYmxlZCA9IGVuYWJsZWQ7Cit9CisKK3ZvaWQgV2ViQ29uc29sZUFnZW50OjpmcmFtZVdpbmRv
d0Rpc2NhcmRlZChET01XaW5kb3cqIHdpbmRvdykKK3sKKyAgICBzaXplX3QgbWVzc2FnZUNvdW50
ID0gbV9jb25zb2xlTWVzc2FnZXMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bWVzc2FnZUNvdW50OyArK2kpIHsKKyAgICAgICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBtX2Nv
bnNvbGVNZXNzYWdlc1tpXS0+c2NyaXB0U3RhdGUoKTsKKyAgICAgICAgaWYgKCFleGVjKQorICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIGlmIChkb21XaW5kb3dGcm9tRXhlY1N0YXRlKGV4
ZWMpICE9IHdpbmRvdykKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBtX2NvbnNvbGVN
ZXNzYWdlc1tpXS0+Y2xlYXIoKTsKKyAgICB9CisKKyAgICBzdGF0aWNfY2FzdDxQYWdlSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyKj4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIpLT5kaXNjYXJkSW5qZWN0
ZWRTY3JpcHRzRm9yKHdpbmRvdyk7Cit9CisKK3ZvaWQgV2ViQ29uc29sZUFnZW50OjpkaWRGaW5p
c2hYSFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2lnbmVkIHNlbmRMaW5lTnVtYmVyLCB1
bnNpZ25lZCBzZW5kQ29sdW1uTnVtYmVyKQoreworICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1h
bmFnZXItPmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9mcm9udGVuZERpc3BhdGNoZXIgJiYgbV9tb25p
dG9yaW5nWEhSRW5hYmxlZCkgeworICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJYSFIgZmluaXNo
ZWQgbG9hZGluZzogXCIiICsgdXJsICsgIlwiLiI7CisgICAgICAgIGFkZE1lc3NhZ2VUb0NvbnNv
bGUoTWVzc2FnZVNvdXJjZTo6TmV0d29yaywgTWVzc2FnZVR5cGU6OkxvZywgTWVzc2FnZUxldmVs
OjpEZWJ1ZywgbWVzc2FnZSwgc2VuZFVSTCwgc2VuZExpbmVOdW1iZXIsIHNlbmRDb2x1bW5OdW1i
ZXIsIG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICB9Cit9CisKK3ZvaWQgV2ViQ29u
c29sZUFnZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit7CisgICAgaWYgKCFtX2lu
amVjdGVkU2NyaXB0TWFuYWdlci0+aW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRy
YXNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChyZXNwb25zZS5odHRwU3Rh
dHVzQ29kZSgpID49IDQwMCkgeworICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJGYWlsZWQgdG8g
bG9hZCByZXNvdXJjZTogdGhlIHNlcnZlciByZXNwb25kZWQgd2l0aCBhIHN0YXR1cyBvZiAiICsg
U3RyaW5nOjpudW1iZXIocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSkgKyAiICgiICsgcmVzcG9u
c2UuaHR0cFN0YXR1c1RleHQoKSArICcpJzsKKyAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShN
ZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlVHlwZTo6TG9nLCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCBtZXNzYWdlLCByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgMCwgMCwgbnVsbHB0ciwgcmVx
dWVzdElkZW50aWZpZXIpOworICAgIH0KK30KKwordm9pZCBXZWJDb25zb2xlQWdlbnQ6OmRpZEZh
aWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNl
RXJyb3ImIGVycm9yKQoreworICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluc3Bl
Y3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQorICAgICAgICByZXR1
cm47CisKKyAgICAvLyBSZXBvcnQgZmFpbHVyZXMgb25seS4KKyAgICBpZiAoZXJyb3IuaXNDYW5j
ZWxsYXRpb24oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgU3RyaW5nQnVpbGRlciBtZXNzYWdl
OworICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiRmFpbGVkIHRvIGxvYWQgcmVzb3VyY2UiKTsK
KyAgICBpZiAoIWVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkuaXNFbXB0eSgpKSB7CisgICAg
ICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiOiAiKTsKKyAgICAgICAgbWVzc2FnZS5hcHBlbmQo
ZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSk7CisgICAgfQorCisgICAgYWRkTWVzc2FnZVRv
Q29uc29sZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBNZXNzYWdlVHlwZTo6TG9nLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCBtZXNzYWdlLnRvU3RyaW5nKCksIGVycm9yLmZhaWxpbmdVUkwoKSwgMCwg
MCwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOworfQorCitjbGFzcyBJbnNwZWN0YWJsZUhl
YXBPYmplY3QgZmluYWwgOiBwdWJsaWMgQ29tbWFuZExpbmVBUElIb3N0OjpJbnNwZWN0YWJsZU9i
amVjdCB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgSW5zcGVjdGFibGVIZWFwT2JqZWN0KGludCBo
ZWFwT2JqZWN0SWQpCisgICAgICAgIDogbV9oZWFwT2JqZWN0SWQoaGVhcE9iamVjdElkKQorICAg
IHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlIGdldChKU0M6
OkV4ZWNTdGF0ZSopIG92ZXJyaWRlCisgICAgeworICAgICAgICByZXR1cm4gU2NyaXB0UHJvZmls
ZXI6Om9iamVjdEJ5SGVhcE9iamVjdElkKG1faGVhcE9iamVjdElkKTsKKyAgICB9CisKK3ByaXZh
dGU6CisgICAgaW50IG1faGVhcE9iamVjdElkOworfTsKKwordm9pZCBXZWJDb25zb2xlQWdlbnQ6
OmFkZEluc3BlY3RlZEhlYXBPYmplY3QoRXJyb3JTdHJpbmcqLCBpbnQgaW5zcGVjdGVkSGVhcE9i
amVjdElkKQoreworICAgIGlmIChDb21tYW5kTGluZUFQSUhvc3QqIGNvbW1hbmRMaW5lQVBJSG9z
dCA9IHN0YXRpY19jYXN0PFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIqPihtX2luamVjdGVkU2Ny
aXB0TWFuYWdlciktPmNvbW1hbmRMaW5lQVBJSG9zdCgpKQorICAgICAgICBjb21tYW5kTGluZUFQ
SUhvc3QtPmFkZEluc3BlY3RlZE9iamVjdChhZG9wdFB0cihuZXcgSW5zcGVjdGFibGVIZWFwT2Jq
ZWN0KGluc3BlY3RlZEhlYXBPYmplY3RJZCkpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9XZWJDb25zb2xlQWdlbnQuaApzaW1pbGFyaXR5IGluZGV4IDUxJQpyZW5hbWUgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmgKcmVuYW1lIHRvIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuaAppbmRleCAxMWY2NWVjLi40ZGViZmVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oCkBAIC0xLDUg
KzEsNiBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMiwyNyArMjMsNDMg
QEAKICAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgQ29uc29sZUFQSVR5cGVzX2gKLSNkZWZpbmUgQ29u
c29sZUFQSVR5cGVzX2gKKyNpZm5kZWYgV2ViQ29uc29sZUFnZW50X2gKKyNkZWZpbmUgV2ViQ29u
c29sZUFnZW50X2gKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNsdWRlIDxpbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWVudW0gTWVzc2FnZVR5cGUgewotICAgIExvZ01lc3NhZ2VUeXBlLAotICAgIERpck1lc3Nh
Z2VUeXBlLAotICAgIERpclhNTE1lc3NhZ2VUeXBlLAotICAgIFRhYmxlTWVzc2FnZVR5cGUsCi0g
ICAgVHJhY2VNZXNzYWdlVHlwZSwKLSAgICBTdGFydEdyb3VwTWVzc2FnZVR5cGUsCi0gICAgU3Rh
cnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlLAotICAgIEVuZEdyb3VwTWVzc2FnZVR5cGUsCi0g
ICAgQ2xlYXJNZXNzYWdlVHlwZSwKLSAgICBBc3NlcnRNZXNzYWdlVHlwZSwKLSAgICBUaW1pbmdN
ZXNzYWdlVHlwZSwKLSAgICBQcm9maWxlTWVzc2FnZVR5cGUsCi0gICAgUHJvZmlsZUVuZE1lc3Nh
Z2VUeXBlCitjbGFzcyBET01XaW5kb3c7CitjbGFzcyBQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
OworY2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7Cit0eXBlZGVm
IFN0cmluZyBFcnJvclN0cmluZzsKKworY2xhc3MgV2ViQ29uc29sZUFnZW50IDogcHVibGljIElu
c3BlY3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJDb25zb2xlQWdlbnQpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGlj
OgorICAgIFdlYkNvbnNvbGVBZ2VudChQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAg
dmlydHVhbCB+V2ViQ29uc29sZUFnZW50KCkgeyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TW9u
aXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sIGVuYWJsZWQpIG92ZXJyaWRlIGZp
bmFsOworICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0ZWRIZWFwT2JqZWN0KEVycm9yU3RyaW5n
KiwgaW50IGluc3BlY3RlZEhlYXBPYmplY3RJZCkgb3ZlcnJpZGUgZmluYWw7CisKKyAgICB2b2lk
IGZyYW1lV2luZG93RGlzY2FyZGVkKERPTVdpbmRvdyopOworCisgICAgdm9pZCBkaWRGaW5pc2hY
SFJMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXJsLCBjb25zdCBTdHJpbmcmIHNlbmRVUkwsIHVuc2lnbmVkIHNlbmRMaW5lTnVtYmVyLCB1bnNp
Z25lZCBzZW5kQ29sdW1uTnVtYmVyKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7Cisg
ICAgdm9pZCBkaWRGYWlsTG9hZGluZyh1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBj
b25zdCBSZXNvdXJjZUVycm9yJik7CisKK3Byb3RlY3RlZDoKKyAgICBib29sIG1fbW9uaXRvcmlu
Z1hIUkVuYWJsZWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBD
b25zb2xlQVBJVHlwZXNfaAorI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCisKKyNlbmRpZiAv
LyAhZGVmaW5lZChXZWJDb25zb2xlQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggOWYxMDU2ZC4uMjU4YThkYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKQEAgLTM4
LDE4ICszOCwxNCBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVdvcmtlckNvbnNvbGVBZ2VudDo6V29ya2VyQ29uc29sZUFnZW50KEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKLSAgICA6IEluc3BlY3RvckNvbnNvbGVBZ2VudChp
bnN0cnVtZW50aW5nQWdlbnRzLCBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCi17Ci19Ci0KLVdvcmtl
ckNvbnNvbGVBZ2VudDo6fldvcmtlckNvbnNvbGVBZ2VudCgpCitXb3JrZXJDb25zb2xlQWdlbnQ6
OldvcmtlckNvbnNvbGVBZ2VudChQYWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNj
cmlwdE1hbmFnZXIpCisgICAgOiBXZWJDb25zb2xlQWdlbnQoaW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KQogewogfQogCiB2b2lkIFdvcmtlckNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZShFcnJv
clN0cmluZyogZXJyb3IsIGludCkKIHsKLSAgICAqZXJyb3IgPSAiYWRkSW5zcGVjdGVkTm9kZSBp
cyBub3Qgc3VwcG9ydGVkIGZvciB3b3JrZXJzIjsKKyAgICAqZXJyb3IgPSBBU0NJSUxpdGVyYWwo
ImFkZEluc3BlY3RlZE5vZGUgaXMgbm90IHN1cHBvcnRlZCBmb3Igd29ya2VycyIpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvV29ya2VyQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2Vy
Q29uc29sZUFnZW50LmgKaW5kZXggOTlhZDU2Mi4uODc2YTZjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuaApAQCAtMzEsMjAgKzMxLDIwIEBACiAj
aWZuZGVmIFdvcmtlckNvbnNvbGVBZ2VudF9oCiAjZGVmaW5lIFdvcmtlckNvbnNvbGVBZ2VudF9o
CiAKLSNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIKLSNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgorI2luY2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5oIgogCiAjaWYgRU5BQkxFKElO
U1BFQ1RPUikKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXb3JrZXJDb25zb2xlQWdl
bnQgOiBwdWJsaWMgSW5zcGVjdG9yQ29uc29sZUFnZW50IHsKK2NsYXNzIFdvcmtlckNvbnNvbGVB
Z2VudCBmaW5hbCA6IHB1YmxpYyBXZWJDb25zb2xlQWdlbnQgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdvcmtlckNvbnNvbGVBZ2VudCk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6Ci0gICAgV29ya2VyQ29uc29sZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBQ
YWdlSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7Ci0gICAgdmlydHVhbCB+V29ya2VyQ29uc29sZUFn
ZW50KCk7CisgICAgV29ya2VyQ29uc29sZUFnZW50KFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFnZXIq
KTsKKyAgICB2aXJ0dWFsIH5Xb3JrZXJDb25zb2xlQWdlbnQoKSB7IH0KIAotICAgIHZpcnR1YWwg
Ym9vbCBpc1dvcmtlckFnZW50KCkgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1
YWwgYm9vbCBpc1dvcmtlckFnZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQog
CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBhZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5n
KiwgaW50IG5vZGVJZCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VyRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggNTA1M2E0Yy4uYTcxZWZlNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcApAQCAtMTI5
LDcgKzEyOSw3IEBAIHZvaWQgV29ya2VyRGVidWdnZXJBZ2VudDo6c3RvcExpc3RlbmluZ1Njcmlw
dERlYnVnU2VydmVyKGJvb2wgaXNCZWluZ0Rlc3Ryb3llZCkKIAogdm9pZCBXb3JrZXJEZWJ1Z2dl
ckFnZW50OjpicmVha3BvaW50QWN0aW9uTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQogewotICAgIG1faW5zcGVjdGVkV29ya2VyR2xvYmFsU2NvcGUtPmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAg
ICBtX2luc3BlY3RlZFdvcmtlckdsb2JhbFNjb3BlLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpMb2csIG1lc3NhZ2UpOwogfQogCiBXb3JrZXJTY3Jp
cHREZWJ1Z1NlcnZlciYgV29ya2VyRGVidWdnZXJBZ2VudDo6c2NyaXB0RGVidWdTZXJ2ZXIoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuY3BwCmluZGV4IGQwYTlmNWEuLjdjMDE1YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTM2LDcg
KzM2LDYgQEAKIAogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckNsaWVudC5oIgotI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckZvcndhcmRpbmcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JIZWFwUHJv
ZmlsZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgpAQCAt
OTAsNyArODksOSBAQCBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpXb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyKFdvcmtlckdsb2JhbFNjb3BlJiB3b3JrZXJHbAogICAgIG1faW5zdHJ1bWVudGlu
Z0FnZW50cy0+c2V0V29ya2VyUnVudGltZUFnZW50KG1fcnVudGltZUFnZW50KTsKICAgICBtX2Fn
ZW50cy5hcHBlbmQoc3RkOjptb3ZlKHJ1bnRpbWVBZ2VudCkpOwogCi0gICAgYXV0byBjb25zb2xl
QWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckNvbnNvbGVBZ2VudD4obV9pbnN0cnVtZW50
aW5nQWdlbnRzLmdldCgpLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSk7CisgICAgYXV0
byBjb25zb2xlQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckNvbnNvbGVBZ2VudD4obV9p
bmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpOworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+
c2V0V2ViQ29uc29sZUFnZW50KGNvbnNvbGVBZ2VudC5nZXQoKSk7CisKICAgICBhdXRvIGRlYnVn
Z2VyQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckRlYnVnZ2VyQWdlbnQ+KG1faW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLmdldCgpLCBtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksICZ3b3Jr
ZXJHbG9iYWxTY29wZSk7CiAgICAgbV9ydW50aW1lQWdlbnQtPnNldFNjcmlwdERlYnVnU2VydmVy
KCZkZWJ1Z2dlckFnZW50LT5zY3JpcHREZWJ1Z1NlcnZlcigpKTsKICAgICBtX2FnZW50cy5hcHBl
bmQoc3RkOjptb3ZlKGRlYnVnZ2VyQWdlbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwCmluZGV4IGZmNTU2YzUuLmIwNGE0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtNjE0LDcgKzYxNCw3IEBAIHZvaWQgRG9jdW1lbnRM
b2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBjb25zdCBS
ZXNvdXJjZVJlCiAgICAgICAgIGlmIChmcmFtZUxvYWRlcigpLT5zaG91bGRJbnRlcnJ1cHRMb2Fk
Rm9yWEZyYW1lT3B0aW9ucyhjb250ZW50LCByZXNwb25zZS51cmwoKSwgaWRlbnRpZmllcikpIHsK
ICAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVBZnRlclhGcmFt
ZU9wdGlvbnNEZW5pZWQobV9mcmFtZSwgdGhpcywgaWRlbnRpZmllciwgcmVzcG9uc2UpOwogICAg
ICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiUmVmdXNlZCB0byBkaXNwbGF5ICciICsgcmVzcG9u
c2UudXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBpbiBhIGZyYW1l
IGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlvbnMnIHRvICciICsgY29udGVudCArICInLiI7
Ci0gICAgICAgICAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1
cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBpZGVudGlmaWVy
KTsKKyAgICAgICAgICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtZXNzYWdlLCBpZGVu
dGlmaWVyKTsKICAgICAgICAgICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmVuZm9yY2VTYW5kYm94
RmxhZ3MoU2FuZGJveE9yaWdpbik7CiAgICAgICAgICAgICBpZiAoSFRNTEZyYW1lT3duZXJFbGVt
ZW50KiBvd25lckVsZW1lbnQgPSBmcmFtZSgpLT5vd25lckVsZW1lbnQoKSkKICAgICAgICAgICAg
ICAgICBvd25lckVsZW1lbnQtPmRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkubG9hZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCmluZGV4IGIxYTdlMDkuLjBmZGVlNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcApAQCAtMTAyLDcgKzEwMiw2IEBACiAjaW5jbHVkZSAiU1ZHVmlld0VsZW1lbnQu
aCIKICNpbmNsdWRlICJTVkdWaWV3U3BlYy5oIgogI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5Lmgi
Ci0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTY3JvbGxBbmlt
YXRvci5oIgpAQCAtMzcwLDcgKzM2OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0o
UGFzc1JlZlB0cjxGb3JtU3VibWlzc2lvbj4gc3VibWlzc2lvbikKIAogICAgIGlmIChpc0RvY3Vt
ZW50U2FuZGJveGVkKCZtX2ZyYW1lLCBTYW5kYm94Rm9ybXMpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29s
dXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBl
eGlzdHMuCi0gICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2Vj
dXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgZm9ybSBzdWJt
aXNzaW9uIHRvICciICsgc3VibWlzc2lvbi0+YWN0aW9uKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXpl
ZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFu
ZCB0aGUgJ2FsbG93LWZvcm1zJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIG1f
ZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJp
dHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJCbG9ja2VkIGZvcm0gc3VibWlzc2lvbiB0byAnIiAr
IHN1Ym1pc3Npb24tPmFjdGlvbigpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsg
IicgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1m
b3JtcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CkBAIC0xNDc5LDcgKzE0NzgsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRG
YWlsZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHVybCkKICAgICBpZiAoIWZyYW1lKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk5vdCBhbGxvd2Vk
IHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1cmwpOworICAgIGZyYW1lLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVs
OjpFcnJvciwgIk5vdCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1cmwpOwog
fQogCiBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIEZyYW1lTG9hZGVyOjppbml0aWFsUmVxdWVzdCgp
IGNvbnN0CkBAIC0yODQyLDcgKzI4NDEsNyBAQCBib29sIEZyYW1lTG9hZGVyOjpoYW5kbGVCZWZv
cmVVbmxvYWRFdmVudChDaHJvbWUmIGNocm9tZSwgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZAogICAg
IC8vIElmIHRoZSBuYXZpZ2F0aW5nIEZyYW1lTG9hZGVyIGhhcyBhbHJlYWR5IHNob3duIGEgYmVm
b3JldW5sb2FkIGNvbmZpcm1hdGlvbiBwYW5lbCBmb3IgdGhlIGN1cnJlbnQgbmF2aWdhdGlvbiBh
dHRlbXB0LAogICAgIC8vIHRoaXMgZnJhbWUgaXMgbm90IGFsbG93ZWQgdG8gY2F1c2UgYW5vdGhl
ciBvbmUgdG8gYmUgc2hvd24uCiAgICAgaWYgKGZyYW1lTG9hZGVyQmVpbmdOYXZpZ2F0ZWQtPm1f
Y3VycmVudE5hdmlnYXRpb25IYXNTaG93bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCkgewotICAg
ICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXR0ZW1wdCB0byBzaG93IG11bHRpcGxlIGJlZm9yZXVubG9h
ZCBjb25maXJtYXRpb24gZGlhbG9ncyBmb3IgdGhlIHNhbWUgbmF2aWdhdGlvbi4iKTsKKyAgICAg
ICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdl
TGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgYXR0ZW1wdCB0byBzaG93IG11bHRp
cGxlIGJlZm9yZXVubG9hZCBjb25maXJtYXRpb24gZGlhbG9ncyBmb3IgdGhlIHNhbWUgbmF2aWdh
dGlvbi4iKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtMjg1NSw3ICsyODU0
LDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6aGFuZGxlQmVmb3JlVW5sb2FkRXZlbnQoQ2hyb21lJiBj
aHJvbWUsIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWQKICAgICAgICAgICAgIGlmICghcGFyZW50RG9j
dW1lbnQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICBpZiAoIW1f
ZnJhbWUuZG9jdW1lbnQoKSB8fCAhbV9mcmFtZS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigp
LT5jYW5BY2Nlc3MocGFyZW50RG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkpKSB7Ci0gICAgICAg
ICAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIGF0dGVtcHQgdG8gc2hvdyBiZWZvcmV1bmxvYWQgY29u
ZmlybWF0aW9uIGRpYWxvZyBvbiBiZWhhbGYgb2YgYSBmcmFtZSB3aXRoIGRpZmZlcmVudCBzZWN1
cml0eSBvcmlnaW4uIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guIik7
CisgICAgICAgICAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgYXR0ZW1w
dCB0byBzaG93IGJlZm9yZXVubG9hZCBjb25maXJtYXRpb24gZGlhbG9nIG9uIGJlaGFsZiBvZiBh
IGZyYW1lIHdpdGggZGlmZmVyZW50IHNlY3VyaXR5IG9yaWdpbi4gUHJvdG9jb2xzLCBkb21haW5z
LCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4iKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTMwNjUsMTAgKzMwNjQsMTAgQEAgYm9v
bCBGcmFtZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0TG9hZEZvclhGcmFtZU9wdGlvbnMoY29uc3Qg
U3RyaW5nJiBjb250ZW50LCBjb24KICAgICBjYXNlIFhGcmFtZU9wdGlvbnNBbGxvd0FsbDoKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2UgWEZyYW1lT3B0aW9uc0NvbmZsaWN0OgotICAg
ICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJNdWx0aXBsZSAnWC1GcmFtZS1PcHRpb25zJyBoZWFkZXJz
IHdpdGggY29uZmxpY3RpbmcgdmFsdWVzICgnIiArIGNvbnRlbnQgKyAiJykgZW5jb3VudGVyZWQg
d2hlbiBsb2FkaW5nICciICsgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsg
IicuIEZhbGxpbmcgYmFjayB0byAnREVOWScuIiwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAg
ICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpT
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiTXVsdGlwbGUgJ1gtRnJhbWUtT3B0aW9ucycgaGVhZGVy
cyB3aXRoIGNvbmZsaWN0aW5nIHZhbHVlcyAoJyIgKyBjb250ZW50ICsgIicpIGVuY291bnRlcmVk
IHdoZW4gbG9hZGluZyAnIiArIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSAr
ICInLiBGYWxsaW5nIGJhY2sgdG8gJ0RFTlknLiIsIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgY2FzZSBYRnJhbWVPcHRpb25zSW52YWxpZDoKLSAgICAgICAg
bV9mcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCAnWC1GcmFtZS1PcHRpb25zJyBoZWFkZXIgZW5jb3Vu
dGVyZWQgd2hlbiBsb2FkaW5nICciICsgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0
aCgpICsgIic6ICciICsgY29udGVudCArICInIGlzIG5vdCBhIHJlY29nbml6ZWQgZGlyZWN0aXZl
LiBUaGUgaGVhZGVyIHdpbGwgYmUgaWdub3JlZC4iLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAg
ICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6
SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJJbnZhbGlkICdYLUZyYW1lLU9wdGlvbnMnIGhlYWRl
ciBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcgJyIgKyB1cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXpl
ZFRvTGVuZ3RoKCkgKyAiJzogJyIgKyBjb250ZW50ICsgIicgaXMgbm90IGEgcmVjb2duaXplZCBk
aXJlY3RpdmUuIFRoZSBoZWFkZXIgd2lsbCBiZSBpZ25vcmVkLiIsIHJlcXVlc3RJZGVudGlmaWVy
KTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpAQCAtMzQ0MSw3ICszNDQwLDcgQEAgUGFzc1JlZlB0cjxGcmFtZT4gY3Jl
YXRlV2luZG93KEZyYW1lKiBvcGVuZXJGcmFtZSwgRnJhbWUqIGxvb2t1cEZyYW1lLCBjb25zdCBG
cmEKICAgICAvLyBTYW5kYm94ZWQgZnJhbWVzIGNhbm5vdCBvcGVuIG5ldyBhdXhpbGlhcnkgYnJv
d3NpbmcgY29udGV4dHMuCiAgICAgaWYgKGlzRG9jdW1lbnRTYW5kYm94ZWQob3BlbmVyRnJhbWUs
IFNhbmRib3hQb3B1cHMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG1lc3NhZ2Ugc2hvdWxk
IGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24gdG8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMuCi0gICAgICAgIG9wZW5l
ckZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBvcGVuaW5nICciICsgcmVxdWVzdC5yZXNv
dXJjZVJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICIn
IGluIGEgbmV3IHdpbmRvdyBiZWNhdXNlIHRoZSByZXF1ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJv
eGVkIGZyYW1lIHdob3NlICdhbGxvdy1wb3B1cHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsK
KyAgICAgICAgb3BlbmVyRnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQmxvY2tlZCBvcGVuaW5n
ICciICsgcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNp
emVkVG9MZW5ndGgoKSArICInIGluIGEgbmV3IHdpbmRvdyBiZWNhdXNlIHRoZSByZXF1ZXN0IHdh
cyBtYWRlIGluIGEgc2FuZGJveGVkIGZyYW1lIHdob3NlICdhbGxvdy1wb3B1cHMnIHBlcm1pc3Np
b24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCA2MGFjNDY0Li4zMDZhMWI3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAi
SFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyU1ZHSW1hZ2UuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRl
ICJTZWN1cml0eU9yaWdpbi5oIgogCiAjaWYgRU5BQkxFKFZJREVPKQpAQCAtMjkzLDcgKzI5Miw3
IEBAIHZvaWQgSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNv
dXJjZSkKICAgICAgICAgZXJyb3JFdmVudFNlbmRlcigpLmRpc3BhdGNoRXZlbnRTb29uKHRoaXMp
OwogCiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwg
KEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIGltYWdlIGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9y
aWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iKSkpOwotICAgICAgICBlbGVtZW50KCkuZG9j
dW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIGVsZW1lbnQoKS5kb2N1bWVudCgp
LmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6
OkVycm9yLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICAgICAgQVNTRVJUKCFtX2hhc1BlbmRpbmdM
b2FkRXZlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250
ZW50Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tl
ci5jcHAKaW5kZXggZTUwN2FhNi4uMTdmMzRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcApAQCAtOTQsNyArOTQsNyBAQCBib29sIE1peGVkQ29u
dGVudENoZWNrZXI6OmNhblJ1bkluc2VjdXJlQ29udGVudChTZWN1cml0eU9yaWdpbiogc2VjdXJp
dHlPcmlnaW4sCiB2b2lkIE1peGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmcoYm9vbCBhbGxv
d2VkLCBjb25zdCBTdHJpbmcmIGFjdGlvbiwgY29uc3QgVVJMJiB0YXJnZXQpIGNvbnN0CiB7CiAg
ICAgU3RyaW5nIG1lc3NhZ2UgPSBtYWtlU3RyaW5nKChhbGxvd2VkID8gIiIgOiAiW2Jsb2NrZWRd
ICIpLCAiVGhlIHBhZ2UgYXQgIiwgbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmdDZW50
ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSwgIiAiLCBhY3Rpb24sICIgaW5zZWN1cmUgY29udGVudCBm
cm9tICIsIHRhcmdldC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSwgIi5cbiIpOwot
ICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdl
U291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBtX2ZyYW1lLmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdl
TGV2ZWw6Oldhcm5pbmcsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCmluZGV4IDM1ZDc4OGMuLjVm
MGJhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCkBAIC0z
Niw3ICszNiw2IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VCdWZmZXIuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2su
aCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlRleHRUcmFja0N1ZS5o
IgogI2luY2x1ZGUgIldlYlZUVFBhcnNlci5oIgpAQCAtMTE4LDcgKzExNyw3IEBAIHZvaWQgVGV4
dFRyYWNrTG9hZGVyOjpjb3JzUG9saWN5UHJldmVudGVkTG9hZCgpCiB7CiAgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJDcm9zcy1v
cmlnaW4gdGV4dCB0cmFjayBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hh
cmluZyBwb2xpY3kuIikpKTsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSB0b0RvY3VtZW50KG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7Ci0gICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdl
KFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdl
KTsKKyAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJp
dHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIGNvbnNvbGVNZXNzYWdlKTsKICAgICBtX3N0YXRlID0g
RmFpbGVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDE3NjNmMDYuLmU4NzcxODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3Jv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKQEAgLTQ3MSw3ICs0NzEsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cDo6YWJvcnQoRnJhbWUqIGZyYW1lKQogICAgIGlmIChtX2NvbXBsZXRpb25UeXBlICE9
IE5vbmUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25z
b2xlTWVzc2FnZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgRGVidWdNZXNzYWdlTGV2ZWwsICJBcHBs
aWNhdGlvbiBDYWNoZSBkb3dubG9hZCBwcm9jZXNzIHdhcyBhYm9ydGVkLiIpOworICAgIGZyYW1l
LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpOZXR3b3JrLCBN
ZXNzYWdlTGV2ZWw6OkRlYnVnLCBBU0NJSUxpdGVyYWwoIkFwcGxpY2F0aW9uIENhY2hlIGRvd25s
b2FkIHByb2Nlc3Mgd2FzIGFib3J0ZWQuIikpOwogICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiB9
CiAKQEAgLTU0Nyw3ICs1NDcsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlcwogCiAgICAgaWYg
KHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgLyAxMDAgIT0gMiB8fCByZXNwb25zZS51cmwoKSAh
PSBtX2N1cnJlbnRIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpKSB7CiAgICAgICAgIGlmICgo
dHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6RXhwbGljaXQpIHx8ICh0eXBlICYgQXBw
bGljYXRpb25DYWNoZVJlc291cmNlOjpGYWxsYmFjaykpIHsKLSAgICAgICAgICAgIG1fZnJhbWUt
PmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEFwcENhY2hlTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNl
ICIgKyBtX2N1cnJlbnRIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpLnN0cmluZ0NlbnRlckVs
bGlwc2l6ZWRUb0xlbmd0aCgpICsKKyAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlLCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgbV9jdXJy
ZW50SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9M
ZW5ndGgoKSArCiAgICAgICAgICAgICAgICAgKChyZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpIC8g
MTAwICE9IDIpID8gIiBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iIDogIiB3YXMgcmVkaXJlY3RlZC4i
KSk7CiAgICAgICAgICAgICAvLyBOb3RlIHRoYXQgY2FjaGVVcGRhdGVGYWlsZWQoKSBjYW4gY2F1
c2UgdGhlIGNhY2hlIGdyb3VwIHRvIGJlIGRlbGV0ZWQuCiAgICAgICAgICAgICBjYWNoZVVwZGF0
ZUZhaWxlZCgpOwpAQCAtNjI2LDcgKzYyNiw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3Vw
OjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGRvdWJsZSBmaW5pCiAg
ICAgLy8gRklYTUU6IFNob3VsZCB3ZSBicmVhayBlYXJsaWVyIGFuZCBwcmV2ZW50IHJlZG93bmxv
YWRpbmcgb24gbGF0ZXIgcGFnZSBsb2Fkcz8KICAgICBpZiAobV9vcmlnaW5RdW90YUV4Y2VlZGVk
UHJldmlvdXNseSAmJiBtX2F2YWlsYWJsZVNwYWNlSW5RdW90YSA8IG1fY2FjaGVCZWluZ1VwZGF0
ZWQtPmVzdGltYXRlZFNpemVJblN0b3JhZ2UoKSkgewogICAgICAgICBtX2N1cnJlbnRSZXNvdXJj
ZSA9IDA7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEFw
cENhY2hlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNo
ZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIpOworICAg
ICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpBcHBDYWNoZSwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlv
biBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIp
KTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
QEAgLTY2MSw3ICs2NjEsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmFpbChS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZUVycm9yJgogICAgIG1fcGVuZGlu
Z0VudHJpZXMucmVtb3ZlKHVybCk7CiAKICAgICBpZiAoKHR5cGUgJiBBcHBsaWNhdGlvbkNhY2hl
UmVzb3VyY2U6OkV4cGxpY2l0KSB8fCAodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6
RmFsbGJhY2spKSB7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKEFwcENhY2hlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlv
biBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyB1cmwuc3RyaW5nQ2VudGVyRWxsaXBz
aXplZFRvTGVuZ3RoKCkgKyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpOworICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpBcHBDYWNo
ZSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQs
IGJlY2F1c2UgIiArIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICIgY291
bGQgbm90IGJlIGZldGNoZWQuIik7CiAgICAgICAgIC8vIE5vdGUgdGhhdCBjYWNoZVVwZGF0ZUZh
aWxlZCgpIGNhbiBjYXVzZSB0aGUgY2FjaGUgZ3JvdXAgdG8gYmUgZGVsZXRlZC4KICAgICAgICAg
Y2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICB9IGVsc2UgewpAQCAtNjkwLDEzICs2OTAsMTMgQEAg
dm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVNYW5pZmVzdFJlc3BvbnNlKGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHIKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHJlc3Bv
bnNlLmh0dHBTdGF0dXNDb2RlKCkgLyAxMDAgIT0gMikgewotICAgICAgICBtX2ZyYW1lLT5kb2N1
bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQu
Iik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6Ok90aGVyLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkFwcGxp
Y2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpKTsKICAgICAgICAg
Y2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChy
ZXNwb25zZS51cmwoKSAhPSBtX21hbmlmZXN0SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKSkg
ewotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZl
c3QgY291bGQgbm90IGJlIGZldGNoZWQsIGJlY2F1c2UgYSByZWRpcmVjdGlvbiB3YXMgYXR0ZW1w
dGVkLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJB
cHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVzZSBh
IHJlZGlyZWN0aW9uIHdhcyBhdHRlbXB0ZWQuIikpOwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxl
ZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNzE2LDcgKzcxNiw3IEBAIHZvaWQgQXBw
bGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nTWFuaWZlc3QoKQogCiAgICAgaWYg
KCFpc1VwZ3JhZGVBdHRlbXB0ICYmICFtX21hbmlmZXN0UmVzb3VyY2UpIHsKICAgICAgICAgLy8g
VGhlIHNlcnZlciByZXR1cm5lZCAzMDQgTm90IE1vZGlmaWVkIGV2ZW4gdGhvdWdoIHdlIGRpZG4n
dCBzZW5kIGEgY29uZGl0aW9uYWwgcmVxdWVzdC4KLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkIGJlY2F1
c2Ugb2YgYW4gdW5leHBlY3RlZCAzMDQgTm90IE1vZGlmaWVkIHNlcnZlciByZXNwb25zZS4iKTsK
KyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6T3RoZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRp
b24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQgYmVjYXVzZSBvZiBhbiB1bmV4
cGVjdGVkIDMwNCBOb3QgTW9kaWZpZWQgc2VydmVyIHJlc3BvbnNlLiIpKTsKICAgICAgICAgY2Fj
aGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTc0Miw3ICs3NDIs
NyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0
KCkKICAgICBNYW5pZmVzdCBtYW5pZmVzdDsKICAgICBpZiAoIXBhcnNlTWFuaWZlc3QobV9tYW5p
ZmVzdFVSTCwgbV9tYW5pZmVzdFJlc291cmNlLT5kYXRhKCktPmRhdGEoKSwgbV9tYW5pZmVzdFJl
c291cmNlLT5kYXRhKCktPnNpemUoKSwgbWFuaWZlc3QpKSB7CiAgICAgICAgIC8vIEF0IHRoZSB0
aW1lIG9mIHRoaXMgd3JpdGluZywgbGFjayBvZiAiQ0FDSEUgTUFOSUZFU1QiIHNpZ25hdHVyZSBp
cyB0aGUgb25seSByZWFzb24gZm9yIHBhcnNlTWFuaWZlc3QgdG8gZmFpbC4KLSAgICAgICAgbV9m
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBi
ZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBDQUNIRSBNQU5JRkVTVD8iKTsKKyAgICAgICAg
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6T3Ro
ZXIsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXBwbGljYXRpb24gQ2FjaGUg
bWFuaWZlc3QgY291bGQgbm90IGJlIHBhcnNlZC4gRG9lcyBpdCBzdGFydCB3aXRoIENBQ0hFIE1B
TklGRVNUPyIpKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KQEAgLTkyOSw3ICs5MjksNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKCkKICAgICAgICAgICAgICAgICAvLyBXZSByYW4gb3V0IG9m
IHNwYWNlIGZvciB0aGlzIG9yaWdpbi4gRmFsbCBkb3duIHRvIHRoZSBub3JtYWwgZXJyb3IgaGFu
ZGxpbmcKICAgICAgICAgICAgICAgICAvLyBhZnRlciByZWNvcmRpbmcgdGhpcyBzdGF0ZS4KICAg
ICAgICAgICAgICAgICBtX29yaWdpblF1b3RhRXhjZWVkZWRQcmV2aW91c2x5ID0gdHJ1ZTsKLSAg
ICAgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhl
ck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBk
YXRlIGZhaWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNlZWRlZC4iKTsKKyAgICAgICAg
ICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpPdGhlciwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJBcHBsaWNhdGlv
biBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIp
KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgaWYgKGZhaWx1cmVSZWFzb24gPT0gQXBw
bGljYXRpb25DYWNoZVN0b3JhZ2U6OlRvdGFsUXVvdGFSZWFjaGVkICYmICFtX2NhbGxlZFJlYWNo
ZWRNYXhBcHBDYWNoZVNpemUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGNjNzBiNTMuLjYxZTYwMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmNwcApAQCAtNjMyLDcgKzYzMiw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50
QWNjZXNzRGVuaWVkTWVzc2FnZShjb25zdCBVUkwmIHVybCkgY29uc3QKICAgICBlbHNlCiAgICAg
ICAgIG1lc3NhZ2UgPSAiVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgIiArIHVybC5zdHJpbmdD
ZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICIgZnJvbSBmcmFtZSB3aXRoIFVSTCAiICsgbV9k
b2N1bWVudC0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiLiBEb21h
aW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guXG4iOwogCi0gICAgZnJhbWUoKS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3Is
IG1lc3NhZ2UpOwogfQogCiB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpzZXRBdXRvTG9hZElt
YWdlcyhib29sIGVuYWJsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDIxOGNk
ZDUuLmVlMTQyYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMjMsOCArMjMs
NiBAQAogI2RlZmluZSBDaHJvbWVDbGllbnRfaAogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5o
IgotI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5o
IgogI2luY2x1ZGUgIkN1cnNvci5oIgogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCiAjaW5j
bHVkZSAiRnJhbWVMb2FkZXIuaCIKQEAgLTM3LDYgKzM1LDcgQEAKICNpbmNsdWRlICJTY3JvbGxp
bmdDb29yZGluYXRvci5oIgogI2luY2x1ZGUgIlNlYXJjaFBvcHVwTWVudS5oIgogI2luY2x1ZGUg
IldlYkNvcmVLZXlib2FyZFVJTW9kZS5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9Db25zb2xlVHlw
ZXMuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Db25zb2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKaW5kZXgg
ZTIxYjg2Mi4uZTczYTZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCkBAIC0zMSw4ICszMSw2
IEBACiAKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKLSNp
bmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVM
b2FkZXIuaCIKQEAgLTQyLDE4ICs0MCwyMSBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRl
ICJQYWdlQ29uc29sZS5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgotI2luY2x1ZGUgIlNjcmlw
dEFyZ3VtZW50cy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2luY2x1ZGUgIlNj
cmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5j
bHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRhYmxlRG9jdW1lbnRQYXJz
ZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZh
bHVlLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVUeXBlcy5oPgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4K
ICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAordXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsK
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDb25zb2xlOjpDb25zb2xlKEZyYW1lKiBmcmFtZSkK
QEAgLTgxLDEzICs4MiwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlcm5hbEFkZE1lc3NhZ2UoUGFnZSog
cGFnZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLAogCiAgICAgU3RyaW5n
IG1lc3NhZ2U7CiAgICAgYm9vbCBnb3RNZXNzYWdlID0gYXJndW1lbnRzLT5nZXRGaXJzdEFyZ3Vt
ZW50QXNTdHJpbmcobWVzc2FnZSk7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRN
ZXNzYWdlVG9Db25zb2xlKHBhZ2UsIENvbnNvbGVBUElNZXNzYWdlU291cmNlLCB0eXBlLCBsZXZl
bCwgbWVzc2FnZSwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEks
IHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzdGF0ZSwgYXJndW1lbnRzKTsKIAogICAgIGlmIChwYWdl
LT5zZXR0aW5ncygpLnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKGdvdE1lc3NhZ2UpCi0gICAgICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIHR5cGUsIGxldmVsLCBt
ZXNzYWdlLCBsYXN0Q2FsbGVyLmxpbmVOdW1iZXIoKSwgbGFzdENhbGxlci5jb2x1bW5OdW1iZXIo
KSwgbGFzdENhbGxlci5zb3VyY2VVUkwoKSk7CisgICAgICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVu
dCgpLmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSwgdHlwZSwg
bGV2ZWwsIG1lc3NhZ2UsIGxhc3RDYWxsZXIubGluZU51bWJlcigpLCBsYXN0Q2FsbGVyLmNvbHVt
bk51bWJlcigpLCBsYXN0Q2FsbGVyLnNvdXJjZVVSTCgpKTsKIAogICAgIGlmICghcGFnZS0+c2V0
dGluZ3MoKS5sb2dzUGFnZU1lc3NhZ2VzVG9TeXN0ZW1Db25zb2xlRW5hYmxlZCgpICYmICFQYWdl
Q29uc29sZTo6c2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTk2
LDcgKzk3LDcgQEAgc3RhdGljIHZvaWQgaW50ZXJuYWxBZGRNZXNzYWdlKFBhZ2UqIHBhZ2UsIE1l
c3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwKIAogICAgIHByaW50ZigiOiAiKTsK
IAotICAgIFBhZ2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChDb25z
b2xlQVBJTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIHByaW50VHJhY2UpOworICAgIFBhZ2VDb25zb2xl
OjpwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNlOjpDb25zb2xl
QVBJLCBsZXZlbCwgcHJpbnRUcmFjZSk7CiAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFy
Z3VtZW50cy0+YXJndW1lbnRDb3VudCgpOyArK2kpIHsKICAgICAgICAgU3RyaW5nIGFyZ0FzU3Ry
aW5nID0gYXJndW1lbnRzLT5hcmd1bWVudEF0KGkpLnRvU3RyaW5nKGFyZ3VtZW50cy0+Z2xvYmFs
U3RhdGUoKSk7CkBAIC0xMjUsMTIgKzEyNiwxMiBAQCBzdGF0aWMgdm9pZCBpbnRlcm5hbEFkZE1l
c3NhZ2UoUGFnZSogcGFnZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLAog
CiB2b2lkIENvbnNvbGU6OmRlYnVnKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFn
ZSgpLCBMb2dNZXNzYWdlVHlwZSwgRGVidWdNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMp
OworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3Nh
Z2VMZXZlbDo6RGVidWcsIHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6OmVy
cm9yKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFy
Z3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBMb2dNZXNzYWdlVHlw
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRk
TWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIHN0
YXRlLCBhcmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6OmluZm8oSlNDOjpFeGVjU3RhdGUq
IHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpAQCAtMTQwLDM3
ICsxNDEsMzcgQEAgdm9pZCBDb25zb2xlOjppbmZvKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAogdm9pZCBDb25zb2xlOjpsb2co
SlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1l
bnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIExvZ01lc3NhZ2VUeXBlLCBM
b2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2Fn
ZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwgYXJn
dW1lbnRzKTsKIH0KIAogdm9pZCBDb25zb2xlOjp3YXJuKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwg
UGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBpbnRlcm5hbEFk
ZE1lc3NhZ2UocGFnZSgpLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgc3Rh
dGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5
cGU6OkxvZywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAog
dm9pZCBDb25zb2xlOjpkaXIoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlw
dEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCks
IERpck1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAg
IGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpEaXIsIE1lc3NhZ2VMZXZl
bDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25zb2xlOjpkaXJ4bWwoSlND
OjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
KQogewotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIERpclhNTE1lc3NhZ2VUeXBlLCBM
b2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2Fn
ZShwYWdlKCksIE1lc3NhZ2VUeXBlOjpEaXJYTUwsIE1lc3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwg
YXJndW1lbnRzKTsKIH0KIAogdm9pZCBDb25zb2xlOjp0YWJsZShKU0M6OkV4ZWNTdGF0ZSogc3Rh
dGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJu
YWxBZGRNZXNzYWdlKHBhZ2UoKSwgVGFibGVNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBz
dGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdl
VHlwZTo6VGFibGUsIE1lc3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRzKTsKIH0KIAog
dm9pZCBDb25zb2xlOjpjbGVhcihKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2Uo
KSwgQ2xlYXJNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCB0
cnVlKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6Q2xlYXIs
IE1lc3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlKTsKIH0KIAogdm9pZCBD
b25zb2xlOjp0cmFjZShKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgVHJh
Y2VNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlLCB0
cnVlKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBNZXNzYWdlVHlwZTo6VHJhY2Us
IE1lc3NhZ2VMZXZlbDo6TG9nLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlLCB0cnVlKTsKIH0KIAog
dm9pZCBDb25zb2xlOjphc3NlcnRDb25kaXRpb24oSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzLCBib29sIGNvbmRpdGlvbikKQEAgLTE3
OCw3ICsxNzksNyBAQCB2b2lkIENvbnNvbGU6OmFzc2VydENvbmRpdGlvbihKU0M6OkV4ZWNTdGF0
ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPgogICAgIGlmIChjb25kaXRpb24p
CiAgICAgICAgIHJldHVybjsKIAotICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIEFzc2Vy
dE1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSk7
CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTWVzc2FnZVR5cGU6OkFzc2VydCwgTWVz
c2FnZUxldmVsOjpFcnJvciwgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSk7CiB9CiAKIHZvaWQgQ29u
c29sZTo6Y291bnQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3Vt
ZW50cz4gYXJndW1lbnRzKQpAQCAtMjQzLDE3ICsyNDQsMTcgQEAgdm9pZCBDb25zb2xlOjp0aW1l
U3RhbXAoUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAogdm9pZCBDb25z
b2xlOjpncm91cChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1l
bnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNz
YWdlVG9Db25zb2xlKHBhZ2UoKSwgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIFN0YXJ0R3JvdXBN
ZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBTdHJpbmcoKSwgc3RhdGUsIGFyZ3VtZW50cyk7
CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2Uo
KSwgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSSwgTWVzc2FnZVR5cGU6OlN0YXJ0R3JvdXAsIE1l
c3NhZ2VMZXZlbDo6TG9nLCBTdHJpbmcoKSwgc3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKIHZvaWQg
Q29uc29sZTo6Z3JvdXBDb2xsYXBzZWQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRy
PFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlKCksIENvbnNvbGVBUElNZXNzYWdlU291cmNl
LCBTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgU3RyaW5n
KCksIHN0YXRlLCBhcmd1bWVudHMpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRk
TWVzc2FnZVRvQ29uc29sZShwYWdlKCksIE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3Nh
Z2VUeXBlOjpTdGFydEdyb3VwQ29sbGFwc2VkLCBNZXNzYWdlTGV2ZWw6OkxvZywgU3RyaW5nKCks
IHN0YXRlLCBhcmd1bWVudHMpOwogfQogCiB2b2lkIENvbnNvbGU6Omdyb3VwRW5kKCkKIHsKLSAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSgpLCBD
b25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgRW5kR3JvdXBNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxl
dmVsLCBTdHJpbmcoKSwgU3RyaW5nKCksIDAsIDApOworICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlKCksIE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVB
UEksIE1lc3NhZ2VUeXBlOjpFbmRHcm91cCwgTWVzc2FnZUxldmVsOjpMb2csIFN0cmluZygpLCBT
dHJpbmcoKSwgMCwgMCk7CiB9CiAKIFBhZ2UqIENvbnNvbGU6OnBhZ2UoKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnNvbGUuaAppbmRleCA2NGVhYzFhLi45OGU0YjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnNvbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaApA
QCAtMzcsMTEgKzM3LDE0IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogCituYW1lc3BhY2UgSW5zcGVjdG9yIHsKK2NsYXNzIFNjcmlw
dEFyZ3VtZW50czsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNs
YXNzIFBhZ2U7Ci1jbGFzcyBTY3JpcHRBcmd1bWVudHM7CiAKIHR5cGVkZWYgVmVjdG9yPFJlZlB0
cjxTY3JpcHRQcm9maWxlPj4gUHJvZmlsZXNBcnJheTsKIApAQCAtNTAsMjYgKzUzLDI2IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDb25zb2xlPiBjcmVhdGUoRnJhbWUqIGZyYW1l
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ29uc29sZShmcmFtZSkpOyB9CiAgICAgdmlydHVhbCB+
Q29uc29sZSgpOwogCi0gICAgdm9pZCBkZWJ1ZyhKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8
U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBlcnJvcihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NS
ZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBpbmZvKEpTQzo6RXhlY1N0YXRlKiwg
UGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGxvZyhKU0M6OkV4ZWNTdGF0
ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCBjbGVhcihKU0M6OkV4
ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9pZCB3YXJuKEpT
Qzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKLSAgICB2b2lkIGRp
cihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7Ci0gICAgdm9p
ZCBkaXJ4bWwoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwot
ICAgIHZvaWQgdGFibGUoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4pOwotICAgIHZvaWQgdHJhY2UoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFy
Z3VtZW50cz4pOwotICAgIHZvaWQgYXNzZXJ0Q29uZGl0aW9uKEpTQzo6RXhlY1N0YXRlKiwgUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+LCBib29sIGNvbmRpdGlvbik7Ci0gICAgdm9pZCBjb3Vu
dChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9p
ZCBkZWJ1ZyhKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1
bWVudHM+KTsKKyAgICB2b2lkIGVycm9yKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNw
ZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgaW5mbyhKU0M6OkV4ZWNTdGF0ZSos
IFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGxvZyhK
U0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsK
KyAgICB2b2lkIGNsZWFyKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNj
cmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgd2FybihKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lkIGRpcihKU0M6OkV4ZWNT
dGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAgICB2b2lk
IGRpcnhtbChKU0M6OkV4ZWNTdGF0ZSosIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1
bWVudHM+KTsKKyAgICB2b2lkIHRhYmxlKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNw
ZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZvaWQgdHJhY2UoSlNDOjpFeGVjU3RhdGUq
LCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CisgICAgdm9pZCBhc3Nl
cnRDb25kaXRpb24oSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0
QXJndW1lbnRzPiwgYm9vbCBjb25kaXRpb24pOworICAgIHZvaWQgY291bnQoSlNDOjpFeGVjU3Rh
dGUqLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAgICAgY29uc3Qg
UHJvZmlsZXNBcnJheSYgcHJvZmlsZXMoKSBjb25zdCB7IHJldHVybiBtX3Byb2ZpbGVzOyB9CiAg
ICAgdm9pZCBwcm9maWxlKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiA9IFN0cmluZygp
KTsKICAgICB2b2lkIHByb2ZpbGVFbmQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmID0g
U3RyaW5nKCkpOwogICAgIHZvaWQgdGltZShjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHRpbWVF
bmQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIHRpbWVTdGFtcChQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgZ3JvdXAoSlNDOjpFeGVjU3Rh
dGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwotICAgIHZvaWQgZ3JvdXBDb2xsYXBz
ZWQoSlNDOjpFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOworICAgIHZv
aWQgdGltZVN0YW1wKFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+KTsKKyAg
ICB2b2lkIGdyb3VwKEpTQzo6RXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlw
dEFyZ3VtZW50cz4pOworICAgIHZvaWQgZ3JvdXBDb2xsYXBzZWQoSlNDOjpFeGVjU3RhdGUqLCBQ
YXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPik7CiAgICAgdm9pZCBncm91cEVu
ZCgpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xl
VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDgwNGExNjcuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Db25zb2xlVHlwZXMuaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaWZuZGVmIENvbnNvbGVUeXBlc19oCi0jZGVmaW5lIENvbnNvbGVUeXBlc19oCi0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotZW51bSBNZXNzYWdlU291cmNlIHsKLSAgICBYTUxNZXNz
YWdlU291cmNlLAotICAgIEpTTWVzc2FnZVNvdXJjZSwKLSAgICBOZXR3b3JrTWVzc2FnZVNvdXJj
ZSwKLSAgICBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwKLSAgICBTdG9yYWdlTWVzc2FnZVNvdXJj
ZSwKLSAgICBBcHBDYWNoZU1lc3NhZ2VTb3VyY2UsCi0gICAgUmVuZGVyaW5nTWVzc2FnZVNvdXJj
ZSwKLSAgICBDU1NNZXNzYWdlU291cmNlLAotICAgIFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwKLSAg
ICBPdGhlck1lc3NhZ2VTb3VyY2UsCi19OwotCi1lbnVtIE1lc3NhZ2VMZXZlbCB7Ci0gICAgRGVi
dWdNZXNzYWdlTGV2ZWwgPSA0LAotICAgIExvZ01lc3NhZ2VMZXZlbCA9IDEsCi0gICAgV2Fybmlu
Z01lc3NhZ2VMZXZlbCA9IDIsCi0gICAgRXJyb3JNZXNzYWdlTGV2ZWwgPSAzCi19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBDb25zb2xlVHlwZXNfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4IDBhZWE5YWEuLjky
N2MwODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9s
aWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5j
cHAKQEAgLTM1LDE3ICszNSwxOCBAQAogI2luY2x1ZGUgIkZvcm1EYXRhTGlzdC5oIgogI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5j
bHVkZSAiVVJMLmgiCisjaW5jbHVkZSAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCiAjaW5jbHVk
ZSAiUGluZ0xvYWRlci5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNp
bmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgot
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0
ZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlQb2xp
Y3lWaW9sYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgorI2luY2x1ZGUg
IlVSTC5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KKyNpbmNsdWRl
IDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFja0ZhY3RvcnkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgpAQCAtMTcyNiw3ICsxNzI3LDcgQEAgc3RhdGljIHZvaWQgZ2F0aGVyU2VjdXJpdHlQb2xpY3lW
aW9sYXRpb25FdmVudERhdGEoU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudEkKICAgICBpbml0
LnNvdXJjZUZpbGUgPSBTdHJpbmcoKTsKICAgICBpbml0LmxpbmVOdW1iZXIgPSAwOwogCi0gICAg
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2sgPSBjcmVhdGVTY3JpcHRDYWxsU3RhY2soMiwg
ZmFsc2UpOworICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrID0gY3JlYXRlU2NyaXB0
Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCksIDIsIGZhbHNl
KTsKICAgICBpZiAoIXN0YWNrKQogICAgICAgICByZXR1cm47CiAKQEAgLTE3ODgsNyArMTc4OSw3
IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRWaW9sYXRpb24oY29uc3QgU3Ry
aW5nJiBkaXJlY3RpdmVUZXh0LCBjb25zdCBTCiAgICAgY3NwUmVwb3J0LT5zZXRTdHJpbmcoIm9y
aWdpbmFsLXBvbGljeSIsIGhlYWRlcik7CiAgICAgY3NwUmVwb3J0LT5zZXRTdHJpbmcoImJsb2Nr
ZWQtdXJpIiwgc3RyaXBVUkxGb3JVc2VJblJlcG9ydChkb2N1bWVudCwgYmxvY2tlZFVSTCkpOwog
Ci0gICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2sgPSBjcmVhdGVTY3JpcHRDYWxsU3Rh
Y2soMiwgZmFsc2UpOworICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrID0gY3JlYXRl
U2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCksIDIs
IGZhbHNlKTsKICAgICBpZiAoc3RhY2spIHsKICAgICAgICAgY29uc3QgU2NyaXB0Q2FsbEZyYW1l
JiBjYWxsRnJhbWUgPSBnZXRGaXJzdE5vbk5hdGl2ZUZyYW1lKHN0YWNrKTsKIApAQCAtMTg5OSw3
ICsxOTAwLDcgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydE1pc3NpbmdSZXBv
cnRVUkkoY29uc3QgU3RyaW5nJiBwb2xpY3kpIGNvbnN0CiB2b2lkIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6bG9nVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBj
b250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBKU0M6OkV4
ZWNTdGF0ZSogc3RhdGUpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9y
Zy9iLzExNDMxNz4gQ29udGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0NvbnNvbGUgc2hvdWxkIGlu
Y2x1ZGUgYSBjb2x1bW4gbnVtYmVyCi0gICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRD
b25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBt
ZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZS5vbmVCYXNlZEludCgpLCAwLCBzdGF0ZSk7
CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZSwgY29udGV4dFVS
TCwgY29udGV4dExpbmUub25lQmFzZWRJbnQoKSwgMCwgc3RhdGUpOwogfQogCiB2b2lkIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6cmVwb3J0QmxvY2tlZFNjcmlwdEV4ZWN1dGlvblRvSW5zcGVjdG9y
KGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01TZWN1cml0eVBvbGljeS5jcHAKaW5kZXggN2EyNjRlZS4uOTk0Yzk2YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkRPTVN0cmluZ0xp
c3QuaCIKICNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9U
ZXh0UG9zaXRpb24uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmNwcAppbmRleCA3NTMzYjAwLi4zZGYyY2M0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwCkBAIC0yMSw3ICsyMSw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKQEAgLTY5LDcgKzY5LDcgQEAKICNpbmNsdWRlICJIVE1MRnJhbWVP
d25lckVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXN0b3J5LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiVVJMLmgiCisjaW5jbHVkZSAiSlNNYWluVGhy
ZWFkRXhlY1N0YXRlLmgiCiAjaW5jbHVkZSAiTG9jYXRpb24uaCIKICNpbmNsdWRlICJNYWluRnJh
bWUuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TGlzdC5oIgpAQCAtODUsOCArODUsNiBAQAogI2lu
Y2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTY2hlZHVsZWRBY3Rp
b24uaCIKICNpbmNsdWRlICJTY3JlZW4uaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIK
LSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VjdXJp
dHlQb2xpY3kuaCIKQEAgLTk4LDEwICs5NiwxMyBAQAogI2luY2x1ZGUgIlN0eWxlTWVkaWEuaCIK
ICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAjaW5jbHVkZSAiU3VkZGVuVGVybWluYXRpb24u
aCIKKyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJXZWJLaXRQb2ludC5oIgogI2luY2x1ZGUg
IldpbmRvd0ZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9y
LmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgog
I2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTEyNCw2ICsxMjUsOCBAQAogI2luY2x1
ZGUgIldLQ29udGVudE9ic2VydmF0aW9uLmgiCiAjZW5kaWYKIAordXNpbmcgbmFtZXNwYWNlIElu
c3BlY3RvcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQb3N0TWVzc2FnZVRpbWVy
IDogcHVibGljIFRpbWVyQmFzZSB7CkBAIC04NDMsNyArODQ2LDcgQEAgdm9pZCBET01XaW5kb3c6
OnBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBj
b25zdCBNZXMKICAgICAvLyBDYXB0dXJlIHN0YWNrIHRyYWNlIG9ubHkgd2hlbiBpbnNwZWN0b3Ig
ZnJvbnQtZW5kIGlzIGxvYWRlZCBhcyBpdCBtYXkgYmUgdGltZSBjb25zdW1pbmcuCiAgICAgUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZTsKICAgICBpZiAoSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpjb25zb2xlQWdlbnRFbmFibGVkKHNvdXJjZURvY3VtZW50KSkKLSAgICAgICAg
c3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhTY3JpcHRDYWxsU3RhY2s6Om1heENh
bGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpOworICAgICAgICBzdGFja1RyYWNlID0gY3JlYXRl
U2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCksIFNj
cmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSwgdHJ1ZSk7CiAKICAgICAv
LyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBQb3N0TWVzc2FnZVRpbWVyKiB0aW1lciA9IG5l
dyBQb3N0TWVzc2FnZVRpbWVyKHRoaXMsIG1lc3NhZ2UsIHNvdXJjZU9yaWdpbiwgJnNvdXJjZSwg
Y2hhbm5lbHMucmVsZWFzZSgpLCB0YXJnZXQuZ2V0KCksIHN0YWNrVHJhY2UucmVsZWFzZSgpKTsK
QEAgLTg2Nyw3ICs4NzAsNyBAQCB2b2lkIERPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdlRXZlbnRX
aXRoT3JpZ2luQ2hlY2soU2VjdXJpdHlPcmlnaW4qIGludGVuZGVkVGFyZwogICAgICAgICBpZiAo
IWludGVuZGVkVGFyZ2V0T3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChkb2N1bWVudCgpLT5z
ZWN1cml0eU9yaWdpbigpKSkgewogICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiVW5hYmxl
IHRvIHBvc3QgbWVzc2FnZSB0byAiICsgaW50ZW5kZWRUYXJnZXRPcmlnaW4tPnRvU3RyaW5nKCkg
KwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLiBSZWNpcGllbnQgaGFzIG9yaWdpbiAi
ICsgZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSArICIuXG4iOwotICAg
ICAgICAgICAgcGFnZUNvbnNvbGUoKS0+YWRkTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2Us
IEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBzdGFja1RyYWNlKTsKKyAgICAgICAgICAgIHBh
Z2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VM
ZXZlbDo6RXJyb3IsIG1lc3NhZ2UsIHN0YWNrVHJhY2UpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAgICAgfQpAQCAtOTY2LDcgKzk2OSw3IEBAIHZvaWQgRE9NV2luZG93OjpjbG9z
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogICAgIGJvb2wgYWxsb3dTY3JpcHRz
VG9DbG9zZVdpbmRvd3MgPSBtX2ZyYW1lLT5zZXR0aW5ncygpLmFsbG93U2NyaXB0c1RvQ2xvc2VX
aW5kb3dzKCk7CiAKICAgICBpZiAoIShwYWdlLT5vcGVuZWRCeURPTSgpIHx8IHBhZ2UtPmJhY2tG
b3J3YXJkKCkuY291bnQoKSA8PSAxIHx8IGFsbG93U2NyaXB0c1RvQ2xvc2VXaW5kb3dzKSkgewot
ICAgICAgICBwYWdlQ29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2Fybmlu
Z01lc3NhZ2VMZXZlbCwgQVNDSUlMaXRlcmFsKCJDYW4ndCBjbG9zZSB0aGUgd2luZG93IHNpbmNl
IGl0IHdhcyBub3Qgb3BlbmVkIGJ5IEphdmFTY3JpcHQiKSk7CisgICAgICAgIHBhZ2VDb25zb2xl
KCktPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywg
QVNDSUlMaXRlcmFsKCJDYW4ndCBjbG9zZSB0aGUgd2luZG93IHNpbmNlIGl0IHdhcyBub3Qgb3Bl
bmVkIGJ5IEphdmFTY3JpcHQiKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE5MzYs
NyArMTkzOSw3IEBAIHZvaWQgRE9NV2luZG93OjpwcmludEVycm9yTWVzc2FnZShjb25zdCBTdHJp
bmcmIG1lc3NhZ2UpCiAgICAgaWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBwYWdlQ29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIHBhZ2VDb25zb2xlKCktPmFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1lc3NhZ2UpOwogfQogCiBTdHJp
bmcgRE9NV2luZG93Ojpjcm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVzc2FnZShjb25zdCBET01XaW5k
b3cmIGFjdGl2ZVdpbmRvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDkyOTc4MWEuLmVm
YTEwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzQsNiArMzQsMTAgQEAKICNpbmNs
dWRlICJTdXBwbGVtZW50YWJsZS5oIgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAKK25hbWVzcGFj
ZSBJbnNwZWN0b3IgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOworfQorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBCYXJQcm9wOwpAQCAtNjUsNyArNjksNiBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgUG9zdE1lc3NhZ2VUaW1lcjsKICAgICBjbGFzcyBTY2hlZHVs
ZWRBY3Rpb247CiAgICAgY2xhc3MgU2NyZWVuOwotICAgIGNsYXNzIFNjcmlwdENhbGxTdGFjazsK
ICAgICBjbGFzcyBTZWN1cml0eU9yaWdpbjsKICAgICBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFs
dWU7CiAgICAgY2xhc3MgU3RvcmFnZTsKQEAgLTIzOSw3ICsyNDIsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIC8vIE5lZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmluZGluZ3MgKHNlZSBi
dWcgMjg3NzQpLgogICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBNZXNzYWdlUG9ydCosIGNvbnN0IFN0cmluZyYgdGFyZ2V0
T3JpZ2luLCBET01XaW5kb3cmIHNvdXJjZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2b2lk
IHBvc3RNZXNzYWdlVGltZXJGaXJlZChQYXNzT3duUHRyPFBvc3RNZXNzYWdlVGltZXI+KTsKLSAg
ICAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VFdmVudFdpdGhPcmlnaW5DaGVjayhTZWN1cml0eU9y
aWdpbiogaW50ZW5kZWRUYXJnZXRPcmlnaW4sIFBhc3NSZWZQdHI8RXZlbnQ+LCBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4pOworICAgICAgICB2b2lkIGRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0
aE9yaWdpbkNoZWNrKFNlY3VyaXR5T3JpZ2luKiBpbnRlbmRlZFRhcmdldE9yaWdpbiwgUGFzc1Jl
ZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+KTsKIAog
ICAgICAgICB2b2lkIHNjcm9sbEJ5KGludCB4LCBpbnQgeSkgY29uc3Q7CiAgICAgICAgIHZvaWQg
c2Nyb2xsVG8oaW50IHgsIGludCB5KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5j
cHAKaW5kZXggNGNjZmJlMy4uZTFkOTUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5j
cHAKQEAgLTQ2LDcgKzQ2LDYgQEAKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgotI2lu
Y2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlP
cmlnaW4uaCIKQEAgLTIyOCw3ICsyMjcsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpkaWRSZWNlaXZl
UmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcAogICAg
ICAgICAgICAgbWVzc2FnZS5hcHBlbmQoY2hhcnNldCk7CiAgICAgICAgICAgICBtZXNzYWdlLmFw
cGVuZExpdGVyYWwoIlwiKSB0aGF0IGlzIG5vdCBVVEYtOC4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rp
b24uIik7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJjZSBs
aW5lLgotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5n
KCkpOworICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVz
c2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZS50b1N0
cmluZygpKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIFRvIGtlZXAgdGhl
IHNpZ25hbC10by1ub2lzZSByYXRpbyBsb3csIHdlIG9ubHkgbG9nIDIwMC1yZXNwb25zZSB3aXRo
IGFuIGludmFsaWQgTUlNRSB0eXBlLgpAQCAtMjM4LDcgKzIzNyw3IEBAIHZvaWQgRXZlbnRTb3Vy
Y2U6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwCiAgICAgICAgICAgICBtZXNzYWdlLmFwcGVuZChyZXNwb25zZS5taW1lVHlwZSgp
KTsKICAgICAgICAgICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiXCIpIHRoYXQgaXMgbm90IFwi
dGV4dC9ldmVudC1zdHJlYW1cIi4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rpb24uIik7CiAgICAgICAg
ICAgICAvLyBGSVhNRTogV2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJjZSBsaW5lLgotICAgICAgICAg
ICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOworICAgICAgICAg
ICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgbWVzc2FnZS50b1N0cmluZygpKTsKICAgICAg
ICAgfQogICAgIH0KIApAQCAtMjkwLDcgKzI4OSw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZEZh
aWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB2b2lkIEV2ZW50U291cmNlOjpkaWRGYWls
QWNjZXNzQ29udHJvbENoZWNrKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogewogICAgIFN0
cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZygiRXZlbnRTb3VyY2UgY2Fubm90IGxvYWQgIiwgZXJy
b3IuZmFpbGluZ1VSTCgpLCAiLiAiLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKTsKLSAg
ICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZl
bDo6RXJyb3IsIG1lc3NhZ2UpOwogCiAgICAgYWJvcnRDb25uZWN0aW9uQXR0ZW1wdCgpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcAppbmRleCAyOTE0Y2JiLi40NDBmNzhiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcApAQCAtMzEsMjQgKzMxLDI1IEBACiAKICNpbmNs
dWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKLSNpbmNsdWRlICJDb25z
b2xlQVBJVHlwZXMuaCIKLSNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJEb2N1
bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUlu
c3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVk
ZSAiU2NyaXB0QXJndW1lbnRzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1
bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8YmluZGluZ3Mv
U2NyaXB0VmFsdWUuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CisjaW5j
bHVkZSA8aW5zcGVjdG9yL1NjcmlwdEFyZ3VtZW50cy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9T
Y3JpcHRDYWxsU3RhY2suaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFj
dG9yeS5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCit1c2luZyBuYW1lc3BhY2UgSW5z
cGVjdG9yOworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSB7CkBAIC04MCwzNCAr
ODEsMzQgQEAgdm9pZCBQYWdlQ29uc29sZTo6cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVm
aXgoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2UKIHsKICAgICBjb25zdCBjaGFyKiBzb3Vy
Y2VTdHJpbmc7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIFhNTE1lc3NhZ2VTb3Vy
Y2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpYTUw6CiAgICAgICAgIHNvdXJjZVN0cmluZyA9
ICJYTUwiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEpTTWVzc2FnZVNvdXJjZToKKyAgICBj
YXNlIE1lc3NhZ2VTb3VyY2U6OkpTOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAiSlMiOwogICAg
ICAgICBicmVhazsKLSAgICBjYXNlIE5ldHdvcmtNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVz
c2FnZVNvdXJjZTo6TmV0d29yazoKICAgICAgICAgc291cmNlU3RyaW5nID0gIk5FVFdPUksiOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbnNvbGVBUElNZXNzYWdlU291cmNlOgorICAgIGNh
c2UgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSToKICAgICAgICAgc291cmNlU3RyaW5nID0gIkNP
TlNPTEUiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFN0b3JhZ2VNZXNzYWdlU291cmNlOgor
ICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6U3RvcmFnZToKICAgICAgICAgc291cmNlU3RyaW5nID0g
IlNUT1JBR0UiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEFwcENhY2hlTWVzc2FnZVNvdXJj
ZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OkFwcENhY2hlOgogICAgICAgICBzb3VyY2VTdHJp
bmcgPSAiQVBQQ0FDSEUiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFJlbmRlcmluZ01lc3Nh
Z2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpSZW5kZXJpbmc6CiAgICAgICAgIHNv
dXJjZVN0cmluZyA9ICJSRU5ERVJJTkciOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENTU01l
c3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpDU1M6CiAgICAgICAgIHNvdXJj
ZVN0cmluZyA9ICJDU1MiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFNlY3VyaXR5TWVzc2Fn
ZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5OgogICAgICAgICBzb3Vy
Y2VTdHJpbmcgPSAiU0VDVVJJVFkiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIE90aGVyTWVz
c2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6Ok90aGVyOgogICAgICAgICBzb3Vy
Y2VTdHJpbmcgPSAiT1RIRVIiOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAtMTE4
LDE2ICsxMTksMTYgQEAgdm9pZCBQYWdlQ29uc29sZTo6cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2
ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2UKIAogICAgIGNvbnN0IGNoYXIq
IGxldmVsU3RyaW5nOwogICAgIHN3aXRjaCAobGV2ZWwpIHsKLSAgICBjYXNlIERlYnVnTWVzc2Fn
ZUxldmVsOgorICAgIGNhc2UgTWVzc2FnZUxldmVsOjpEZWJ1ZzoKICAgICAgICAgbGV2ZWxTdHJp
bmcgPSAiREVCVUciOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIExvZ01lc3NhZ2VMZXZlbDoK
KyAgICBjYXNlIE1lc3NhZ2VMZXZlbDo6TG9nOgogICAgICAgICBsZXZlbFN0cmluZyA9ICJMT0ci
OwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFdhcm5pbmdNZXNzYWdlTGV2ZWw6CisgICAgY2Fz
ZSBNZXNzYWdlTGV2ZWw6Oldhcm5pbmc6CiAgICAgICAgIGxldmVsU3RyaW5nID0gIldBUk4iOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIEVycm9yTWVzc2FnZUxldmVsOgorICAgIGNhc2UgTWVz
c2FnZUxldmVsOjpFcnJvcjoKICAgICAgICAgbGV2ZWxTdHJpbmcgPSAiRVJST1IiOwogICAgICAg
ICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAtMTQ3LDYgKzE0OCw3IEBAIHZvaWQgUGFnZUNvbnNv
bGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwg
Y29uc3QgU3RyCiAgICAgU3RyaW5nIHVybDsKICAgICBpZiAoZG9jdW1lbnQpCiAgICAgICAgIHVy
bCA9IGRvY3VtZW50LT51cmwoKS5zdHJpbmcoKTsKKwogICAgIC8vIEZJWE1FOiBUaGUgYmVsb3cg
Y29kZSBhdHRlbXB0cyB0byBkZXRlcm1pbmUgbGluZSBudW1iZXJzIGZvciBwYXJzZXIgZ2VuZXJh
dGVkIGVycm9ycywgYnV0IHRoaXMgaXMgbm90IHRoZSBvbmx5IHJlYXNvbiB3aHkgd2UgY2FuIGdl
dCBoZXJlLgogICAgIC8vIEZvciBleGFtcGxlLCBpZiB3ZSBhcmUgc3RpbGwgcGFyc2luZyBhbmQg
Z2V0IGEgV2ViU29ja2V0IG5ldHdvcmsgZXJyb3IsIGl0IHdpbGwgYmUgZXJyb25lb3VzbHkgYXR0
cmlidXRlZCB0byBhIGxpbmUgd2hlcmUgcGFyc2luZyB3YXMgcGF1c2VkLgogICAgIC8vIEFsc28s
IHdlIHNob3VsZCBkZXRlcm1pbmUgbGluZSBudW1iZXJzIGZvciBzY3JpcHQgZ2VuZXJhdGVkIG1l
c3NhZ2VzIChlLmcuIGNhbGxpbmcgZ2V0SW1hZ2VEYXRhIG9uIGEgY2FudmFzKS4KQEAgLTE2Miw3
ICsxNjQsNyBAQCB2b2lkIFBhZ2VDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291
cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cgogICAgICAgICAgICAgY29sdW1uID0g
cG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQoKTsKICAgICAgICAgfQogICAgIH0KLSAgICBh
ZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZSwgY29sdW1uLCAwLCAw
LCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgYWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNz
YWdlLCB1cmwsIGxpbmUsIGNvbHVtbiwgMCwgSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjdXJyZW50
U3RhdGUoKSwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCiB2b2lkIFBhZ2VDb25zb2xlOjphZGRN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKQEAg
LTE3MiwxNSArMTc0LDE1IEBAIHZvaWQgUGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNv
dXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyCiAKIHZvaWQgUGFnZUNv
bnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHVybCwgdW5zaWduZWQgbGlu
ZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4gY2FsbFN0YWNrLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIpCiB7Ci0gICAgaWYgKG11dGVDb3VudCAmJiBzb3VyY2UgIT0gQ29uc29sZUFQ
SU1lc3NhZ2VTb3VyY2UpCisgICAgaWYgKG11dGVDb3VudCAmJiBzb3VyY2UgIT0gTWVzc2FnZVNv
dXJjZTo6Q29uc29sZUFQSSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNhbGxTdGFjaykK
LSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKCZt
X3BhZ2UsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ss
IHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjph
ZGRNZXNzYWdlVG9Db25zb2xlKCZtX3BhZ2UsIHNvdXJjZSwgTWVzc2FnZVR5cGU6OkxvZywgbGV2
ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIGVsc2UKLSAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKCZtX3Bh
Z2UsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlLCB1cmwsIGxpbmVOdW1i
ZXIsIGNvbHVtbk51bWJlciwgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKCZtX3BhZ2UsIHNvdXJj
ZSwgTWVzc2FnZVR5cGU6OkxvZywgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZU51bWJlciwgY29s
dW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOwogCi0gICAgaWYgKHNvdXJjZSA9
PSBDU1NNZXNzYWdlU291cmNlKQorICAgIGlmIChzb3VyY2UgPT0gTWVzc2FnZVNvdXJjZTo6Q1NT
KQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9wYWdlLnNldHRpbmdzKCkucHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29u
c29sZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5oCmluZGV4IDlhNzBlNTQu
LjVhYjcxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmgKQEAgLTI5LDggKzI5LDggQEAK
ICNpZm5kZWYgUGFnZUNvbnNvbGVfaAogI2RlZmluZSBQYWdlQ29uc29sZV9oCiAKLSNpbmNsdWRl
ICJDb25zb2xlVHlwZXMuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKKyNpbmNsdWRl
IDxpbnNwZWN0b3IvQ29uc29sZVR5cGVzLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KIApAQCAtNTEsOCArNTEsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcHJp
bnRTb3VyY2VVUkxBbmRQb3NpdGlvbihjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQg
bGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyID0gMCk7CiAgICAgc3RhdGljIHZvaWQg
cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxl
dmVsLCBib29sIHNob3dBc1RyYWNlID0gZmFsc2UpOwogCi0gICAgdm9pZCBhZGRNZXNzYWdlKE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBT
dHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVt
YmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gPSAwLCBKU0M6OkV4ZWNTdGF0ZSogPSAw
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgdm9pZCBhZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwg
UGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4gPSAwLCBKU0M6OkV4ZWNTdGF0
ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAgdm9pZCBh
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CiAgICAgdm9pZCBh
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCwgRG9jdW1lbnQqID0gMCk7
CiAKICAgICBzdGF0aWMgdm9pZCBtdXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50
ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXggNWQ2ZjVhNS4uMjU5NmZmYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcApAQCAtNTYsNyArNTYsNyBA
QCB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKEVsZW1lbnQq
IHRhcmdldCkKIAogICAgIGlmICh0YXJnZXQtPmRvY3VtZW50KCkuaXNTYW5kYm94ZWQoU2FuZGJv
eFBvaW50ZXJMb2NrKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBi
ZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICB0YXJnZXQt
PmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgcG9pbnRlciBsb2NrIG9uIGFuIGVsZW1lbnQgYmVjYXVz
ZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1wb2ludGVy
LWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAgICAgdGFyZ2V0LT5kb2N1bWVu
dCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2
ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgcG9pbnRlciBsb2NrIG9uIGFuIGVsZW1l
bnQgYmVjYXVzZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxv
dy1wb2ludGVyLWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKSk7CiAgICAgICAgIGVucXVl
dWVFdmVudChldmVudE5hbWVzKCkud2Via2l0cG9pbnRlcmxvY2tlcnJvckV2ZW50LCB0YXJnZXQp
OwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nyb3Nz
VGhyZWFkQ29waWVyLmgKaW5kZXggM2Y4MWNhMC4uY2FmMjc5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oCkBAIC02Niw4ICs2Niw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHR5cGVkZWYgVCBUeXBlOwogICAgICAgICB9OwogCi0g
ICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc0NvbnZlcnRpYmxlVG9JbnRlZ2Vy
IHsKLSAgICAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gc3RkOjppc19pbnRlZ3Jh
bDxUPjo6dmFsdWUgfHwgc3RkOjppc19jb252ZXJ0aWJsZTxULCBsb25nIGRvdWJsZT46OnZhbHVl
OworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSXNFbnVtT3JDb252ZXJ0aWJs
ZVRvSW50ZWdlciB7CisgICAgICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IHN0ZDo6
aXNfaW50ZWdyYWw8VD46OnZhbHVlIHx8IHN0ZDo6aXNfZW51bTxUPjo6dmFsdWUgfHwgc3RkOjpp
c19jb252ZXJ0aWJsZTxULCBsb25nIGRvdWJsZT46OnZhbHVlOwogICAgICAgICB9OwogCiAgICAg
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJc1RocmVhZFNhZmVSZWZDb3VudGVkUG9p
bnRlciB7CkBAIC04Myw3ICs4Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgfQog
ICAgIH07CiAKLSAgICB0ZW1wbGF0ZTxib29sIGlzQ29udmVydGlibGVUb0ludGVnZXIsIGJvb2wg
aXNUaHJlYWRTYWZlUmVmQ291bnRlZCwgdHlwZW5hbWUgVD4gc3RydWN0IENyb3NzVGhyZWFkQ29w
aWVyQmFzZTsKKyAgICB0ZW1wbGF0ZTxib29sIGlzRW51bU9yQ29udmVydGlibGVUb0ludGVnZXIs
IGJvb2wgaXNUaHJlYWRTYWZlUmVmQ291bnRlZCwgdHlwZW5hbWUgVD4gc3RydWN0IENyb3NzVGhy
ZWFkQ29waWVyQmFzZTsKIAogICAgIC8vIEludGVnZXJzIGdldCBwYXNzZWQgdGhyb3VnaCB3aXRo
b3V0IGFueSBjaGFuZ2VzLgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBDcm9zc1Ro
cmVhZENvcGllckJhc2U8dHJ1ZSwgZmFsc2UsIFQ+IDogcHVibGljIENyb3NzVGhyZWFkQ29waWVy
UGFzc1Rocm91Z2g8VD4gewpAQCAtMTk5LDcgKzE5OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNlbmRpZgogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBzdHJ1Y3QgQ3Jvc3NUaHJl
YWRDb3BpZXIgOiBwdWJsaWMgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPENyb3NzVGhyZWFkQ29waWVy
QmFzZUhlbHBlcjo6SXNDb252ZXJ0aWJsZVRvSW50ZWdlcjxUPjo6dmFsdWUsIENyb3NzVGhyZWFk
Q29waWVyQmFzZUhlbHBlcjo6SXNUaHJlYWRTYWZlUmVmQ291bnRlZFBvaW50ZXI8VD46OnZhbHVl
LCBUPiB7CisgICAgc3RydWN0IENyb3NzVGhyZWFkQ29waWVyIDogcHVibGljIENyb3NzVGhyZWFk
Q29waWVyQmFzZTxDcm9zc1RocmVhZENvcGllckJhc2VIZWxwZXI6OklzRW51bU9yQ29udmVydGli
bGVUb0ludGVnZXI8VD46OnZhbHVlLCBDcm9zc1RocmVhZENvcGllckJhc2VIZWxwZXI6OklzVGhy
ZWFkU2FmZVJlZkNvdW50ZWRQb2ludGVyPFQ+Ojp2YWx1ZSwgVD4gewogICAgIH07CiAKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQWxsb3dDcm9zc1RocmVhZEFjY2Vzc1dyYXBwZXIg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZUluZm8u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZUluZm8uY3BwCmluZGV4
IDc4ZGZmOTkuLmRmZGUyNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
aGFwZXMvU2hhcGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVz
L1NoYXBlSW5mby5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgYm9vbCBjaGVja1NoYXBlSW1hZ2VPcmln
aW4oRG9jdW1lbnQmIGRvY3VtZW50LCBDYWNoZWRJbWFnZSYgY2FjaGVkSW1hZ2UpCiAKICAgICBj
b25zdCBVUkwmIHVybCA9IGNhY2hlZEltYWdlLnVybCgpOwogICAgIFN0cmluZyB1cmxTdHJpbmcg
PSB1cmwuaXNOdWxsKCkgPyAiJyciIDogdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0
aCgpOwotICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCAiICsgdXJs
U3RyaW5nICsgIi4iKTsKKyAgICBkb2N1bWVudC5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIlVuc2FmZSBhdHRlbXB0IHRvIGxv
YWQgVVJMICIgKyB1cmxTdHJpbmcgKyAiLiIpOwogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAppbmRleCBkOGZiZDk5
Li5jMWJiODNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRl
bnNpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmNwcApAQCAtMTMxLDE3ICsxMzEsMTcgQEAgdm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmRp
c3BhdGNoU1ZHTG9hZEV2ZW50VG9PdXRlcm1vc3RTVkdFbGVtZW50cygpCiBzdGF0aWMgdm9pZCBy
ZXBvcnRNZXNzYWdlKERvY3VtZW50KiBkb2N1bWVudCwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKGRvY3VtZW50LT5mcmFtZSgpKQotICAgICAg
ICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwgbGV2
ZWwsIG1lc3NhZ2UpOworICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6UmVuZGVyaW5nLCBsZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zOjpyZXBvcnRXYXJuaW5nKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAg
ICByZXBvcnRNZXNzYWdlKG1fZG9jdW1lbnQsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsICJXYXJuaW5n
OiAiICsgbWVzc2FnZSk7CisgICAgcmVwb3J0TWVzc2FnZShtX2RvY3VtZW50LCBNZXNzYWdlTGV2
ZWw6Oldhcm5pbmcsICJXYXJuaW5nOiAiICsgbWVzc2FnZSk7CiB9CiAKIHZvaWQgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zOjpyZXBvcnRFcnJvcihjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAg
cmVwb3J0TWVzc2FnZShtX2RvY3VtZW50LCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yOiAiICsg
bWVzc2FnZSk7CisgICAgcmVwb3J0TWVzc2FnZShtX2RvY3VtZW50LCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCAiRXJyb3I6ICIgKyBtZXNzYWdlKTsKIH0KIAogdm9pZCBTVkdEb2N1bWVudEV4dGVuc2lv
bnM6OmFkZFBlbmRpbmdSZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBFbGVtZW50KiBl
bGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGIxY2I1MTcuLmFj
NmMxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTU3LDcgKzU3LDYg
QEAKICNpbmNsdWRlICJIaXN0b3J5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVt
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yQ29u
c29sZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckNvdW50ZXJzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRm9yd2FyZGluZy5oIgpA
QCAtNjUsOCArNjQsOCBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgog
I2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdl
bnRzLmgiCi0jaW5jbHVkZSAiSW50ZXJuYWxTZXR0aW5ncy5oIgogI2luY2x1ZGUgIkludFJlY3Qu
aCIKKyNpbmNsdWRlICJJbnRlcm5hbFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiTGFuZ3VhZ2UuaCIK
ICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJNYWxsb2NTdGF0aXN0aWNzLmgiCkBA
IC05NSw2ICs5NCw3IEBACiAjaW5jbHVkZSAiVHJlZVNjb3BlLmgiCiAjaW5jbHVkZSAiVHlwZUNv
bnZlcnNpb25zLmgiCiAjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKKyNpbmNsdWRlICJX
ZWJDb25zb2xlQWdlbnQuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlIDxi
eXRlY29kZS9Db2RlQmxvY2suaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRC
YXNlLmg+CkBAIC0xNDI3LDkgKzE0MjcsMTEgQEAgVmVjdG9yPFN0cmluZz4gSW50ZXJuYWxzOjpj
b25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkgY29uc3QKICAgICBJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGF0aW9uRm9yUGFnZShkb2N1bWVu
dC0+cGFnZSgpKTsKICAgICBpZiAoIWluc3RydW1lbnRpbmdBZ2VudHMpCiAgICAgICAgIHJldHVy
biBWZWN0b3I8U3RyaW5nPigpOwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFn
ZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCk7CisKKyAg
ICBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMtPndlYkNvbnNvbGVBZ2VudCgpOwogICAgIGlmICghY29uc29sZUFnZW50KQogICAgICAgICBy
ZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKKwogICAgIFZlY3Rvcjx1bnNpZ25lZD4gY291bnRzID0g
Y29uc29sZUFnZW50LT5jb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCk7CiAgICAgVmVjdG9y
PFN0cmluZz4gcmVzdWx0KGNvdW50cy5zaXplKCkpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgY291bnRzLnNpemUoKTsgaSsrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAppbmRleCBhNjRhNGM5Li5kM2Ez
NjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LmNwcApAQCAtNDQsNyArNDQsNiBAQAogI2luY2x1ZGUgIk5vdElt
cGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1T
dHJhdGVnaWVzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkhhc2guaCIKICNpbmNsdWRl
ICJTaGFyZWRXb3JrZXIuaCIKQEAgLTU2LDYgKzU1LDcgQEAKICNpbmNsdWRlICJXb3JrZXJSZXBv
cnRpbmdQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5oIgogI2luY2x1ZGUg
IldvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRD
YWxsU3RhY2suaD4KICNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggMTM4YmZhYy4uMjNmMmZhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5j
cHAKQEAgLTM4LDkgKzM4LDkgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAi
TWVzc2FnZUV2ZW50LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlICJT
Y3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUg
IlNoYXJlZFdvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3Rh
Y2suaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC04MCwxMCArODAsMTAgQEAgU2hhcmVk
V29ya2VyVGhyZWFkKiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6dGhyZWFkKCkKICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8U2hhcmVkV29ya2VyVGhyZWFkKj4oQmFzZTo6dGhyZWFkKCkpOwogfQog
Ci12b2lkIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29u
c3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGlu
ZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNh
bGxTdGFjaykKK3ZvaWQgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmxvZ0V4Y2VwdGlvblRvQ29u
c29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6
U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCiB7CiAgICAgV29ya2VyR2xvYmFsU2NvcGU6Omxv
Z0V4Y2VwdGlvblRvQ29uc29sZShlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwg
Y29sdW1uTnVtYmVyLCBjYWxsU3RhY2spOwotICAgIGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNzYWdlLCBzb3VyY2VV
UkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2FsbFN0YWNrKTsKKyAgICBhZGRNZXNzYWdl
VG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBl
cnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBjYWxsU3Rh
Y2spOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggY2U2ODcwMi4uYzE0NzE3YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUu
aApAQCAtNjAsNyArNjAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBwcml2YXRlOgog
ICAgICAgICBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0
aW5ncz4sIFNoYXJlZFdvcmtlclRocmVhZCopOwotICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhj
ZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPikgb3ZlcnJpZGU7CisgICAgICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNl
cHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYg
c291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxJ
bnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4pIG92ZXJyaWRlOwogCiAgICAgICAgIFN0cmluZyBt
X25hbWU7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHAKaW5kZXggMjg4OTIzNi4uYWIxOTk4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTIxLDEyICsyMSwxMSBAQAogICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCiAjaW5jbHVkZSAiV29ya2VyR2xv
YmFsU2NvcGUuaCIKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgpAQCAtMzksMTMgKzM4
LDEyIEBACiAjaW5jbHVkZSAiRXZlbnRFeGNlcHRpb24uaCIKICNpbmNsdWRlICJFeGNlcHRpb25D
b2RlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIgotI2lu
Y2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKICNpbmNsdWRlICJTY2hlZHVsZWRBY3Rpb24uaCIKLSNpbmNsdWRlICJTY3Jp
cHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJXb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyTG9jYXRpb24uaCIKICNpbmNsdWRl
ICJXb3JrZXJOYXZpZ2F0b3IuaCIKQEAgLTU1LDEyICs1MywxNSBAQAogI2luY2x1ZGUgIldvcmtl
clRocmVhZGFibGVMb2FkZXIuaCIKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5o
IgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5jbHVk
ZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgiCiAjZW5kaWYKIAordXNpbmcgbmFtZXNwYWNlIEluc3Bl
Y3RvcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDbG9zZVdvcmtlckdsb2JhbFNj
b3BlVGFzayA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsKQEAgLTI3NSw5
ICsyNzYsOSBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjphZGRNZXNzYWdlVG9Xb3JrZXJDb25z
b2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTAogewogICAgIEFTU0VSVChpc0NvbnRl
eHRUaHJlYWQoKSk7CiAgICAgaWYgKGNhbGxTdGFjaykKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9nTWVzc2FnZVR5
cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNv
dXJjZSwgTWVzc2FnZVR5cGU6OkxvZywgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVz
dElkZW50aWZpZXIpOwogICAgIGVsc2UKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVs
LCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc3RhdGUsIHJl
cXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRN
ZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTWVzc2FnZVR5cGU6OkxvZywgbGV2ZWwsIG1l
c3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzdGF0ZSwgcmVxdWVz
dElkZW50aWZpZXIpOwogfQogCiBib29sIFdvcmtlckdsb2JhbFNjb3BlOjppc0NvbnRleHRUaHJl
YWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmlu
ZGV4IDU4MTk5NjUuLmU0ZTFiODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlLmgKQEAgLTEzOSw4ICsxMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4sIFdvcmtlclRocmVhZCosIFBhc3NSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbik7CiAgICAgICAgIHZvaWQgYXBwbHlDb250ZW50
U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9s
aWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUpOwogCi0gICAgICAgIHZpcnR1
YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2Us
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJl
ciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSBvdmVycmlkZTsKLSAgICAgICAgdm9pZCBh
ZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGlu
ZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4sIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIg
PSAwKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBT
dHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVt
YmVyLCBpbnQgY29sdW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0
YWNrPikgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51
bWJlciwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0
YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKIAogICAgIHBy
aXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkg
b3ZlcnJpZGUgeyByZWYoKTsgfQpAQCAtMTQ5LDcgKzE0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGUgZmluYWwg
eyByZWYoKTsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIG92ZXJy
aWRlIGZpbmFsIHsgZGVyZWYoKTsgfQogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdl
KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1u
TnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIEpTQzo6RXhlY1N0YXRlKiA9IDAs
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBvdmVycmlkZTsKKyAgICAgICAg
dmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3Jp
cHRDYWxsU3RhY2s+LCBKU0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJ
ZGVudGlmaWVyID0gMCkgb3ZlcnJpZGU7CiAKICAgICAgICAgdmlydHVhbCBFdmVudFRhcmdldCog
ZXJyb3JFdmVudFRhcmdldCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IDMyNGNkODkuLjU3NWZmMmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC0y
NiwxNCArMjYsMTMgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KICNpbmNsdWRlICJX
b3JrZXJNZXNzYWdpbmdQcm94eS5oIgogCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5
LmgiCiAjaW5jbHVkZSAiQ3Jvc3NUaHJlYWRUYXNrLmgiCisjaW5jbHVkZSAiRE9NV2luZG93Lmgi
CiAjaW5jbHVkZSAiRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJEZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQuaCIKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkVycm9yRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpA
QCAtNDMsMTIgKzQyLDEzIEBACiAjaW5jbHVkZSAiTWVzc2FnZUV2ZW50LmgiCiAjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKLSNpbmNsdWRlICJTY3Jp
cHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5j
bHVkZSAiV29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2VyRGVidWdnZXJBZ2VudC5oIgogI2luY2x1
ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDxpbnNwZWN0b3IvQ29u
c29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oPgor
I2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgKaW5kZXggNjFhNjYxMS4uMDAzZDBlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaApAQCAtMzEsNyAr
MzEsNyBAQAogI2lmbmRlZiBXb3JrZXJSZXBvcnRpbmdQcm94eV9oCiAjZGVmaW5lIFdvcmtlclJl
cG9ydGluZ1Byb3h5X2gKIAotI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgorI2luY2x1ZGUgPGlu
c3BlY3Rvci9Db25zb2xlVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCAx
MWVkNjFkLi4wNDQ4NDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAg
LTQzLDcgKzQzLDYgQEAKICNpbmNsdWRlICJQYXJzZWRDb250ZW50VHlwZS5oIgogI2luY2x1ZGUg
IlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKLSNpbmNsdWRl
ICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCkBAIC0xNjAsNyAr
MTU5LDcgQEAgc3RhdGljIHZvaWQgbG9nQ29uc29sZUVycm9yKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbWVzc2EKICAgICAgICAgcmV0dXJuOwogICAgIC8v
IEZJWE1FOiBJdCdzIG5vdCBnb29kIHRvIHJlcG9ydCB0aGUgYmFkIHVzYWdlIHdpdGhvdXQgaW5k
aWNhdGluZyB3aGF0IHNvdXJjZSBsaW5lIGl0IGNhbWUgZnJvbS4KICAgICAvLyBXZSBzaG91bGQg
cGFzcyBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgc28gd2UgY2FuIHRlbGwgdGhlIGNvbnNvbGUgd2hl
cmUgdGhlIG1pc3Rha2Ugb2NjdXJyZWQuCi0gICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgY29udGV4
dC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6RXJy
b3IsIG1lc3NhZ2UpOwogfQogCiBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBYTUxIdHRwUmVx
dWVzdDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCkBAIC03MDksNyAr
NzA4LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2VuZChET01Gb3JtRGF0YSogYm9keSwgRXhj
ZXB0aW9uQ29kZSYgZWMpCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEFycmF5QnVmZmVyKiBi
b2R5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBTdHJpbmcgY29uc29sZU1lc3NhZ2UoIkFy
cmF5QnVmZmVyIGlzIGRlcHJlY2F0ZWQgaW4gWE1MSHR0cFJlcXVlc3Quc2VuZCgpLiBVc2UgQXJy
YXlCdWZmZXJWaWV3IGluc3RlYWQuIik7Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIGNv
bnNvbGVNZXNzYWdlKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIGNvbnNvbGVN
ZXNzYWdlKTsKIAogICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJX
ZWJDb3JlLlhIUi5zZW5kLkFycmF5QnVmZmVyT3JWaWV3IiwgWE1MSHR0cFJlcXVlc3RTZW5kQXJy
YXlCdWZmZXIsIFhNTEh0dHBSZXF1ZXN0U2VuZEFycmF5QnVmZmVyT3JWaWV3TWF4KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAKaW5kZXggODA5MzExOC4u
MWMwZDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4
c2x0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3Bw
CkBAIC04NiwyMCArODYsMjAgQEAgdm9pZCBYU0xUUHJvY2Vzc29yOjpwYXJzZUVycm9yRnVuYyh2
b2lkKiB1c2VyRGF0YSwgeG1sRXJyb3IqIGVycm9yKQogICAgIE1lc3NhZ2VMZXZlbCBsZXZlbDsK
ICAgICBzd2l0Y2ggKGVycm9yLT5sZXZlbCkgewogICAgIGNhc2UgWE1MX0VSUl9OT05FOgotICAg
ICAgICBsZXZlbCA9IERlYnVnTWVzc2FnZUxldmVsOworICAgICAgICBsZXZlbCA9IE1lc3NhZ2VM
ZXZlbDo6RGVidWc7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgWE1MX0VSUl9XQVJOSU5HOgot
ICAgICAgICBsZXZlbCA9IFdhcm5pbmdNZXNzYWdlTGV2ZWw7CisgICAgICAgIGxldmVsID0gTWVz
c2FnZUxldmVsOjpXYXJuaW5nOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFhNTF9FUlJfRVJS
T1I6CiAgICAgY2FzZSBYTUxfRVJSX0ZBVEFMOgogICAgIGRlZmF1bHQ6Ci0gICAgICAgIGxldmVs
ID0gRXJyb3JNZXNzYWdlTGV2ZWw7CisgICAgICAgIGxldmVsID0gTWVzc2FnZUxldmVsOjpFcnJv
cjsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgLy8geG1sRXJyb3ItPmludDIgaXMgdGhl
IGNvbHVtbiBudW1iZXIgb2YgdGhlIGVycm9yIG9yIDAgaWYgTi9BLgotICAgIGNvbnNvbGUtPmFk
ZE1lc3NhZ2UoWE1MTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIGVycm9yLT5tZXNzYWdlLCBlcnJvci0+
ZmlsZSwgZXJyb3ItPmxpbmUsIGVycm9yLT5pbnQyKTsKKyAgICBjb25zb2xlLT5hZGRNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OlhNTCwgbGV2ZWwsIGVycm9yLT5tZXNzYWdlLCBlcnJvci0+ZmlsZSwg
ZXJyb3ItPmxpbmUsIGVycm9yLT5pbnQyKTsKIH0KIAogLy8gRklYTUU6IFRoZXJlIHNlZW1zIHRv
IGJlIG5vIHdheSB0byBjb250cm9sIHRoZSBjdHh0IHBvaW50ZXIgZm9yIGxvYWRpbmcgaGVyZSwg
dGh1cyB3ZSBoYXZlIGdsb2JhbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBiMmIzMzMz
Li4yZjc1NTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAx
NC0wMi0wMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNl
ckludGVyZmFjZS9JbnNwZWN0b3JKU0JhY2tlbmRDb21tYW5kcy5qczoKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qczoKKyAgICAgICAgQ29uc29s
ZUFnZW50IG1vdmVkIHRvIEphdmFTY3JpcHQgc2VjdGlvbi4KKwogMjAxNC0wMi0wNSAgQnJpYW4g
QnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgcHJv
YmUgbWFuYWdlciBhbmQgbW9kZWwgb2JqZWN0cyB0byB0aGUgZnJvbnRlbmQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvckpTQmFja2VuZENv
bW1hbmRzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9y
SlNCYWNrZW5kQ29tbWFuZHMuanMKaW5kZXggOTQ3ZTgxZS4uY2JmMjQ3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9ySlNCYWNrZW5kQ29t
bWFuZHMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVj
dG9ySlNCYWNrZW5kQ29tbWFuZHMuanMKQEAgLTYsNiArNiwyMSBAQAogLy8gZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KIAogCisvLyBDb25zb2xlLgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckNvbnNvbGVEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3Bh
dGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiQ29uc29sZSIpOworSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29sZU1lc3NhZ2VTb3VyY2UiLCB7WE1MOiAieG1s
IiwgSmF2YXNjcmlwdDogImphdmFzY3JpcHQiLCBOZXR3b3JrOiAibmV0d29yayIsIENvbnNvbGVB
UEk6ICJjb25zb2xlLWFwaSIsIFN0b3JhZ2U6ICJzdG9yYWdlIiwgQXBwY2FjaGU6ICJhcHBjYWNo
ZSIsIFJlbmRlcmluZzogInJlbmRlcmluZyIsIENTUzogImNzcyIsIFNlY3VyaXR5OiAic2VjdXJp
dHkiLCBPdGhlcjogIm90aGVyIn0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNv
bnNvbGUuQ29uc29sZU1lc3NhZ2VMZXZlbCIsIHtMb2c6ICJsb2ciLCBXYXJuaW5nOiAid2Fybmlu
ZyIsIEVycm9yOiAiZXJyb3IiLCBEZWJ1ZzogImRlYnVnIn0pOworSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckVudW0oIkNvbnNvbGUuQ29uc29sZU1lc3NhZ2VUeXBlIiwge0xvZzogImxvZyIsIERp
cjogImRpciIsIERpclhNTDogImRpcnhtbCIsIFRhYmxlOiAidGFibGUiLCBUcmFjZTogInRyYWNl
IiwgQ2xlYXI6ICJjbGVhciIsIFN0YXJ0R3JvdXA6ICJzdGFydEdyb3VwIiwgU3RhcnRHcm91cENv
bGxhcHNlZDogInN0YXJ0R3JvdXBDb2xsYXBzZWQiLCBFbmRHcm91cDogImVuZEdyb3VwIiwgQXNz
ZXJ0OiAiYXNzZXJ0IiwgVGltaW5nOiAidGltaW5nIiwgUHJvZmlsZTogInByb2ZpbGUiLCBQcm9m
aWxlRW5kOiAicHJvZmlsZUVuZCJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgi
Q29uc29sZS5tZXNzYWdlQWRkZWQiLCBbIm1lc3NhZ2UiXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZVJlcGVhdENvdW50VXBkYXRlZCIsIFsiY291bnQi
XSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZXNDbGVh
cmVkIiwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuZW5h
YmxlIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xl
LmRpc2FibGUiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNv
bnNvbGUuY2xlYXJNZXNzYWdlcyIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
Q29tbWFuZCgiQ29uc29sZS5zZXRNb25pdG9yaW5nWEhSRW5hYmxlZCIsIFt7Im5hbWUiOiAiZW5h
YmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CitJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIiwg
W3sibmFtZSI6ICJub2RlSWQiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1d
LCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5hZGRJbnNw
ZWN0ZWRIZWFwT2JqZWN0IiwgW3sibmFtZSI6ICJoZWFwT2JqZWN0SWQiLCAidHlwZSI6ICJudW1i
ZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CisKIC8vIERlYnVnZ2VyLgogSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckRlYnVnZ2VyRGlzcGF0Y2hlciA9IEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVjdG9yQmFja2VuZCwgIkRlYnVnZ2VyIik7
CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiRGVidWdnZXIuQnJlYWtwb2ludEFjdGlv
blR5cGUiLCB7TG9nOiAibG9nIiwgRXZhbHVhdGU6ICJldmFsdWF0ZSIsIFNvdW5kOiAic291bmQi
LCBQcm9iZTogInByb2JlIn0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCmlu
ZGV4IDFiM2EzMTUuLjg2NDE2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMu
anMKQEAgLTYzLDIxICs2Myw2IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJD
YW52YXMucmVwbGF5VHJhY2VMb2ciLCBbeyJuYW1lIjogInRyYWNlTG9nSWQiCiBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ2FudmFzLmdldFJlc291cmNlSW5mbyIsIFt7Im5hbWUi
OiAicmVzb3VyY2VJZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsi
cmVzb3VyY2VJbmZvIl0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNhbnZh
cy5nZXRSZXNvdXJjZVN0YXRlIiwgW3sibmFtZSI6ICJ0cmFjZUxvZ0lkIiwgInR5cGUiOiAic3Ry
aW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAicmVzb3VyY2VJZCIsICJ0eXBlIjog
InN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsicmVzb3VyY2VTdGF0ZSJdKTsKIAotLy8g
Q29uc29sZS4KLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb25zb2xlRGlzcGF0Y2hlciA9IElu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVjdG9yQmFj
a2VuZCwgIkNvbnNvbGUiKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDb25zb2xl
LkNvbnNvbGVNZXNzYWdlU291cmNlIiwge1hNTDogInhtbCIsIEphdmFzY3JpcHQ6ICJqYXZhc2Ny
aXB0IiwgTmV0d29yazogIm5ldHdvcmsiLCBDb25zb2xlQVBJOiAiY29uc29sZS1hcGkiLCBTdG9y
YWdlOiAic3RvcmFnZSIsIEFwcGNhY2hlOiAiYXBwY2FjaGUiLCBSZW5kZXJpbmc6ICJyZW5kZXJp
bmciLCBDU1M6ICJjc3MiLCBTZWN1cml0eTogInNlY3VyaXR5IiwgT3RoZXI6ICJvdGhlciJ9KTsK
LUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDb25zb2xlLkNvbnNvbGVNZXNzYWdlTGV2
ZWwiLCB7TG9nOiAibG9nIiwgV2FybmluZzogIndhcm5pbmciLCBFcnJvcjogImVycm9yIiwgRGVi
dWc6ICJkZWJ1ZyJ9KTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDb25zb2xlLkNv
bnNvbGVNZXNzYWdlVHlwZSIsIHtMb2c6ICJsb2ciLCBEaXI6ICJkaXIiLCBEaXJYTUw6ICJkaXJ4
bWwiLCBUYWJsZTogInRhYmxlIiwgVHJhY2U6ICJ0cmFjZSIsIENsZWFyOiAiY2xlYXIiLCBTdGFy
dEdyb3VwOiAic3RhcnRHcm91cCIsIFN0YXJ0R3JvdXBDb2xsYXBzZWQ6ICJzdGFydEdyb3VwQ29s
bGFwc2VkIiwgRW5kR3JvdXA6ICJlbmRHcm91cCIsIEFzc2VydDogImFzc2VydCIsIFRpbWluZzog
InRpbWluZyIsIFByb2ZpbGU6ICJwcm9maWxlIiwgUHJvZmlsZUVuZDogInByb2ZpbGVFbmQifSk7
Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNvbnNvbGUubWVzc2FnZUFkZGVkIiwg
WyJtZXNzYWdlIl0pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJDb25zb2xlLm1l
c3NhZ2VSZXBlYXRDb3VudFVwZGF0ZWQiLCBbImNvdW50Il0pOwotSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckV2ZW50KCJDb25zb2xlLm1lc3NhZ2VzQ2xlYXJlZCIsIFtdKTsKLUluc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmVuYWJsZSIsIFtdLCBbXSk7Ci1JbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29uc29sZS5kaXNhYmxlIiwgW10sIFtdKTsKLUlu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJDb25zb2xlLmNsZWFyTWVzc2FnZXMiLCBb
XSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuc2V0TW9u
aXRvcmluZ1hIUkVuYWJsZWQiLCBbeyJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFu
IiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIkNvbnNvbGUuYWRkSW5zcGVjdGVkTm9kZSIsIFt7Im5hbWUiOiAibm9kZUlkIiwgInR5
cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwotSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNvbW1hbmQoIkNvbnNvbGUuYWRkSW5zcGVjdGVkSGVhcE9iamVjdCIsIFt7Im5h
bWUiOiAiaGVhcE9iamVjdElkIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9
XSwgW10pOwotCiAvLyBET00uCiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hl
ciA9IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVj
dG9yQmFja2VuZCwgIkRPTSIpOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJET00u
ZG9jdW1lbnRVcGRhdGVkIiwgW10pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDg4ZDEwZjMuLjY3MWMw
NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNC0wMi0wMyAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk0MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50OjphZGRNZXNz
YWdlVG9Db25zb2xlKToKKwogMjAxNC0wMi0wNSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBFTkFCTEUoU1ZHKSBndWFyZHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCmlu
ZGV4IGY2MWY5ZGEuLmFlZTFiOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcApAQCAtMzYyLDcgKzM2Miw3IEBAIGJvb2wg
Q2hyb21lQ2xpZW50OjpydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJp
bmcmIG1lc3NhZ2UsIFdlYkNvCiAgICAgcmV0dXJuIHJ1bkphdmFTY3JpcHRDb25maXJtKGZyYW1l
LCBtZXNzYWdlKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUo
V2ViQ29yZTo6TWVzc2FnZVNvdXJjZSBzb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBsZXZl
bCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2ln
bmVkIGNvbHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlkKQordm9pZCBDaHJv
bWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoSW5zcGVjdG9yOjpNZXNzYWdlU291cmNlIHNv
dXJjZSwgSW5zcGVjdG9yOjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBt
ZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0
IFdURjo6U3RyaW5nJiBzb3VyY2VJZCkKIHsKICAgICBnYm9vbGVhbiByZXR2YWw7CiAgICAgZ19z
aWduYWxfZW1pdF9ieV9uYW1lKG1fd2ViVmlldywgImNvbnNvbGUtbWVzc2FnZSIsIG1lc3NhZ2Uu
dXRmOCgpLmRhdGEoKSwgbGluZU51bWJlciwgc291cmNlSWQudXRmOCgpLmRhdGEoKSwgJnJldHZh
bCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZjU1NjY2NS4uYzFiZjRmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDE0LTAyLTAzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFy
b0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIENvbnNvbGUgc3VwcG9y
dCB0byBKU0NvbnRleHQgSW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChzdHJp
bmdGb3JNZXNzYWdlU291cmNlKToKKyAgICAgICAgKHN0cmluZ0Zvck1lc3NhZ2VMZXZlbCk6Cisg
ICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorCiAyMDE0LTAy
LTA1ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDaGFuZ2UgUGFnZSwgRm9jdXNDb250cm9sbGVyIHRvIHVzZSBWaWV3U3RhdGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXgg
MzNhNzQwNC4uMjg2ZWY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTcsMTMgKzcsMTMgQEAKICAqIGFyZSBtZXQ6CiAg
KgogICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKICAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4g
CisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CkBAIC0zNSw5ICszNSw2IEBACiAjaW1wb3J0IDx3dGYvUGxhdGZvcm0uaD4KICNpbXBvcnQgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogI2ltcG9ydCA8V2ViQ29yZS9DaHJvbWUuaD4KLQotdXNpbmcg
V2ViQ29yZTo6TWVzc2FnZUxldmVsOwotdXNpbmcgV2ViQ29yZTo6TWVzc2FnZVNvdXJjZTsKICNl
bmRpZgogCiBAY2xhc3MgV2ViVmlldzsKQEAgLTgyLDcgKzc5LDcgQEAgcHVibGljOgogICAgIAog
ICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgb3ZlcnJpZGU7CiAgICAgCi0gICAg
dmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwg
V2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYg
c291cmNlVVJMKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29s
ZShJbnNwZWN0b3I6Ok1lc3NhZ2VTb3VyY2UsIEluc3BlY3Rvcjo6TWVzc2FnZUxldmVsLCBjb25z
dCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29s
dW1uTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlVVJMKSBvdmVycmlkZTsKIAogICAg
IHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKSBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdURjo6
U3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IDc4
NzM5MTcuLjRmMjMxNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTcsMTMgKzcsMTMgQEAKICAqIGFyZSBtZXQ6CiAg
KgogICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKICAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4g
CisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CkBAIC0zNzAsMjUgKzM3MCwyNSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0UmVzaXphYmxl
KGJvb2wgYikKIGlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VTb3VyY2Uo
TWVzc2FnZVNvdXJjZSBzb3VyY2UpCiB7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICBjYXNl
IFhNTE1lc3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpYTUw6CiAgICAgICAg
IHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVhNTE1lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBKU01l
c3NhZ2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpKUzoKICAgICAgICAgcmV0dXJu
IFdlYkNvbnNvbGVNZXNzYWdlSlNNZXNzYWdlU291cmNlOwotICAgIGNhc2UgTmV0d29ya01lc3Nh
Z2VTb3VyY2U6CisgICAgY2FzZSBNZXNzYWdlU291cmNlOjpOZXR3b3JrOgogICAgICAgICByZXR1
cm4gV2ViQ29uc29sZU1lc3NhZ2VOZXR3b3JrTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIENvbnNv
bGVBUElNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6Q29uc29sZUFQSToK
ICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2U7
Ci0gICAgY2FzZSBTdG9yYWdlTWVzc2FnZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6
OlN0b3JhZ2U6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVN0b3JhZ2VNZXNzYWdl
U291cmNlOwotICAgIGNhc2UgQXBwQ2FjaGVNZXNzYWdlU291cmNlOgorICAgIGNhc2UgTWVzc2Fn
ZVNvdXJjZTo6QXBwQ2FjaGU6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUFwcENh
Y2hlTWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIFJlbmRlcmluZ01lc3NhZ2VTb3VyY2U6CisgICAg
Y2FzZSBNZXNzYWdlU291cmNlOjpSZW5kZXJpbmc6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xl
TWVzc2FnZVJlbmRlcmluZ01lc3NhZ2VTb3VyY2U7Ci0gICAgY2FzZSBDU1NNZXNzYWdlU291cmNl
OgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6Q1NTOgogICAgICAgICByZXR1cm4gV2ViQ29uc29s
ZU1lc3NhZ2VDU1NNZXNzYWdlU291cmNlOwotICAgIGNhc2UgU2VjdXJpdHlNZXNzYWdlU291cmNl
OgorICAgIGNhc2UgTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHk6CiAgICAgICAgIHJldHVybiBXZWJD
b25zb2xlTWVzc2FnZVNlY3VyaXR5TWVzc2FnZVNvdXJjZTsKLSAgICBjYXNlIE90aGVyTWVzc2Fn
ZVNvdXJjZToKKyAgICBjYXNlIE1lc3NhZ2VTb3VyY2U6Ok90aGVyOgogICAgICAgICByZXR1cm4g
V2ViQ29uc29sZU1lc3NhZ2VPdGhlck1lc3NhZ2VTb3VyY2U7CiAgICAgfQogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpAQCAtMzk4LDIwICszOTgsMjAgQEAgaW5saW5lIHN0YXRpYyBOU1N0cmlu
ZyAqc3RyaW5nRm9yTWVzc2FnZVNvdXJjZShNZXNzYWdlU291cmNlIHNvdXJjZSkKIGlubGluZSBz
dGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VMZXZlbChNZXNzYWdlTGV2ZWwgbGV2ZWwp
CiB7CiAgICAgc3dpdGNoIChsZXZlbCkgewotICAgIGNhc2UgRGVidWdNZXNzYWdlTGV2ZWw6Cisg
ICAgY2FzZSBNZXNzYWdlTGV2ZWw6OkRlYnVnOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1l
c3NhZ2VEZWJ1Z01lc3NhZ2VMZXZlbDsKLSAgICBjYXNlIExvZ01lc3NhZ2VMZXZlbDoKKyAgICBj
YXNlIE1lc3NhZ2VMZXZlbDo6TG9nOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VM
b2dNZXNzYWdlTGV2ZWw7Ci0gICAgY2FzZSBXYXJuaW5nTWVzc2FnZUxldmVsOgorICAgIGNhc2Ug
TWVzc2FnZUxldmVsOjpXYXJuaW5nOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VX
YXJuaW5nTWVzc2FnZUxldmVsOwotICAgIGNhc2UgRXJyb3JNZXNzYWdlTGV2ZWw6CisgICAgY2Fz
ZSBNZXNzYWdlTGV2ZWw6OkVycm9yOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VF
cnJvck1lc3NhZ2VMZXZlbDsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
cmV0dXJuIEAiIjsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNv
bGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1u
TnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKICNpZiAhUExBVEZPUk0oSU9TKQog
ICAgIGlkIGRlbGVnYXRlID0gW21fd2ViVmlldyBVSURlbGVnYXRlXTsKQEAgLTQzMiw3ICs0MzIs
NyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291
cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldgogICAgICAgICByZXNwb25kc1RvTmV3U2VsZWN0
b3IgPSBZRVM7CiAgICAgZWxzZSB7CiAgICAgICAgIC8vIFRoZSBvbGQgc2VsZWN0b3Igb25seSB0
YWtlcyBKU01lc3NhZ2VTb3VyY2UgbWVzc2FnZXMuCi0gICAgICAgIGlmIChzb3VyY2UgIT0gSlNN
ZXNzYWdlU291cmNlKQorICAgICAgICBpZiAoc291cmNlICE9IE1lc3NhZ2VTb3VyY2U6OkpTKQog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBzZWxlY3RvciA9IEBzZWxlY3Rvcih3ZWJWaWV3
OmFkZE1lc3NhZ2VUb0NvbnNvbGU6KTsKICAgICAgICAgaWYgKCFbZGVsZWdhdGUgcmVzcG9uZHNU
b1NlbGVjdG9yOnNlbGVjdG9yXSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBmZjljNDU1Li44MjRkZjg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTQtMDItMDMgIEpvc2VwaCBQ
ZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
ZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc5NDEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorCiAyMDE0LTAyLTA0ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW1vdmUgPGlmcmFtZSBzZWFtbGVzcz4gc3VwcG9ydC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
IGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5k
ZXggOGFkYjkxMS4uZTY1Y2Q5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBh
ZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3Nh
Z2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHVybCk7CisgICAgdmly
dHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoSW5zcGVjdG9yOjpNZXNzYWdlU291cmNlLCBJ
bnNwZWN0b3I6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcm
IHVybCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVs
KCk7CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBX
VEY6OlN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqIGZyYW1lKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cKaW5kZXggODdkNjQ0YS4uODhjYzk1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW5jZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNC0wMi0wMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlND
b250ZXh0IEluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNzk0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaDoKKwogMjAxNC0w
MS0zMCAgQW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KIAogICAgICAgICBSZW1vdmUg
dGhlIEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HIGZsYWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaCBiL1NvdXJjZS9XZWJL
aXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAppbmRleCAxYWM5MDYy
Li43NTk4ZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudFdpbkNFLmgKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFs
IHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3Jl
OjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJ
RCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoSW5zcGVj
dG9yOjpNZXNzYWdlU291cmNlLCBJbnNwZWN0b3I6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpT
dHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJl
ciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlEKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwg
Ym9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdURjo6U3RyaW5nJiBt
ZXNzYWdlLCBXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGU2ZWRkNWMu
LjczNjcwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNC0wMi0wMyAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk0MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxNC0wMi0wNiAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFRoZSBzb3VyY2UgZnJhbWUgcmVxdWVz
dCBpcyBub3QgdGhlIHNhbWUgdGhpbmcgYXMgdGhlIG9yaWdpbmFsIHJlcXVlc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCmluZGV4IDIwNTZhZWUuLjFhNmUzOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApA
QCAtOTAsNyArOTAsNyBAQCBwcml2YXRlOgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNp
emFibGUoYm9vbCkgb3ZlcnJpZGU7CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VU
b0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVt
bk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoSW5zcGVjdG9yOjpNZXNzYWdlU291cmNlLCBJbnNwZWN0
b3I6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVt
YmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpIG92ZXJy
aWRlOwogICAgIAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBh
bmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqKSBvdmVycmlkZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>